ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaii_5.4.0.1/rzaiimstsmprpg.htm

428 lines
17 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Examples: Create exit programs with RPG" />
<meta name="DC.Relation" scheme="URI" content="rzaiimst34.htm" />
<meta name="DC.Relation" scheme="URI" content="codedisclaimer.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzaiimstsmprpg" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Examples: Create exit programs with RPG</title>
</head>
<body id="rzaiimstsmprpg"><a name="rzaiimstsmprpg"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Examples: Create exit programs with RPG</h1>
<div><p id="rzaiimstsmprpg__IDX238"><a name="rzaiimstsmprpg__IDX238"><!-- --></a>The following example illustrates how to set up a user exit
program with RPG*.</p>
<div class="note"><span class="notetitle">Note:</span> Read the Code example disclaimer for important legal information.</div>
<pre> **
** i5/OS SERVERS - SAMPLE USER EXIT PROGRAM
**
** THE FOLLOWING RPG PROGRAM UNCONDITIONALLY
** ACCEPTS ALL REQUESTS. IT CAN BE USED AS A SHELL
** FOR SPECIFIC APPLICATIONS. NOTE: REMOVE THE
** SUBROUTINES AND CASE STATEMENT ENTRIES FOR THE SERVERS
** THAT DO NOT REQUIRE
** SPECIFIC EXIT PROGRAM HANDLING FOR BETTER PERFORMANCE.
**
E*
E* NECESSARY ARRAY DEFINITIONS FOR TRANSFER FUNCTION
E* AND REMOTE SQL
E*
E TFREQ 4096 1
E RSREQ 4107 1
I*
I*
IPCSDTA DS
I 1 10 USERID
I 11 20 APPLID
I*
I* SPECIFIC PARAMETERS FOR VIRTUAL PRINTER
I*
I 21 30 VPFUNC
I 31 40 VPOBJ
I 41 50 VPLIB
I 71 750VPIFN
I 76 85 VPOUTQ
I 86 95 VPQLIB
I*</pre>
<pre> I* SPECIFIC PARAMETERS FOR MESSAGING FUNCTION
I 21 30 MFFUNC
I*
I* SPECIFIC PARAMETERS FOR TRANSFER FUNCTION
I*
I 21 30 TFFUNC
I 31 40 TFOBJ
I 41 50 TFLIB
I 51 60 TFMBR
I 61 70 TFFMT
I 71 750TFLEN
I 764171 TFREQ
I*
I* SPECIFIC PARAMETERS FOR FILE SERVER
I*
I* NOTE: FSNAME MAY BE UP TO l6MB.
I* FSNLEN WILL CONTAIN THE ACTUAL SIZE OF FSNAME.
I*
I B 21 240FSFID
I 25 32 FSFMT
I 33 33 FSREAD
I 34 34 FSWRIT
I 35 35 FSRDWR
I 36 36 FSDLT
I B 37 400FSNLEN
I 41 296 FSNAME
I*
I* SPECIFIC PARAMETERS FOR DATA QUEUES
I*
I 21 30 DQFUNC
I 31 40 DQQ
I 41 50 DQLIB
I 70 750DQLEN
I 76 77 DQROP
I 78 820DQKLEN
I 83 338 DQKEY
I*
I* SPECIFIC PARAMETERS FOR REMOTE SQL
I*
I 21 30 RSFUNC
I 31 40 RSOBJ
I 41 50 RSLIB
I 51 51 RSCMT
I 52 52 RSMODE
I 53 53 RSCID
I 54 71 RSSTN
I 72 75 RSRSV
I 764182 RSREQ
I*
I* SPECIFIC PARAMETERS FOR NETWORK PRINT SERVER
I*
I 21 28 NPFT
I B 29 320NPFID</pre>
<pre> I* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT SPLF0l00
I 33 42 NPJOBN
I 43 52 NPUSRN
I 53 58 NPJOB#
I 59 68 NPFILE
I B 69 720NPFIL#
I B 73 760NPLEN
I 77 332 NPDATA
I*
I* Data queue server:
I*
I* QIBM_QZHQ_DATA_QUEUE format ZHQ00100
I*
I 21 28 DQOFMT
I B 29 320DQOFID
I 33 42 DQOOBJ
I 43 52 DQOLIB
I 53 54 DQOROP
I B 55 580DQOLEN
I 59 314 DQOKEY
I*
I* Specific PARAMETERS FOR CENTRAL SERVER
I*
I 21 28 CSFMT
I B 29 320CSFID
I* Central server:
I*
I* QIBM_QZSC_LM format ZSCL0l00 for license management calls
I*
I*
I 33 287 CSLCNM
I 288 295 CSLUSR
I 296 302 CSLPID
I 303 306 CSLFID
I 307 312 CSLRID
I B 313 3140CSLTYP
I*
I* Central server:
I*
I* QIBM_QZSC_LM format ZSCS0l00 for system management calls
I*
I*
I 33 287 CSSCNM
I 288 542 CSSCMY
I 543 543 CSSNDE
I 544 798 CSSNNM
I*</pre>
<pre> I* Central server:
I*
I* QIBM_QZSC_LM format ZSCN0l00 for retrive conversion map calls
I*
I*
I 21 30 CSNXFM
I 29 320CSNFNC
I B 33 360CSNFRM
I B 37 400CSNTO
I B 41 420CSNCNT
I*
I* SPEClFIC PARAMETERS FOR DATABASE SERVER
I*
I 21 28 DBFMT
I B 29 320DBFID
I*
I* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT ZDAD0l00
I 33 160 DBDFIL
I 161 170 DBDLIB
I 171 180 DBDMBR
I 181 190 DBDAUT
I 191 318 DBDBFL
I 319 328 DBDBLB
I 329 338 DBDOFL
I 339 348 DBDOLB
I 349 358 DBDOMB
I*
I* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT ZDAD0200
I B 33 360DBNUM
I 37 46 DBLIB2
I*
I* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT ZDAQ0l00
I 33 50 DBSTMT
I 51 68 DBCRSR
I 69 70 DBOPI
I 71 72 DBATTR
I 73 82 DBPKG
I 83 92 DBPLIB
I B 93 940DBDRDA
I 95 95 DBCMT
I 96 351 DBTEXT
I* THE FOLLOWING PARAMETERS REPLACE DBTEXT FOR FORMAT ZDAQ0200
I 96 105 DBSQCL
I B 133 1360DBSQLN
I 137 392 DBSQTX
I* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT ZDAR0l00
I 33 52 DBLIBR
I 53 88 DBRDBN
I 89 108 DBPKGR
I 109 364 DBFILR
I 365 384 DBMBRR
I 385 404 DBFFT</pre>
<pre> I* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT ZDAR0200
I 33 42 DBRPLB
I 43 170 DBRPTB
I 171 180 DBRFLB
I 181 308 DBRFTB
I*
I* Remote command and distributed program call server:
I*
I* QIBM_QZRC_RMT format CZRC0100
I* RCPGM AND RCLIB ARE NOT USED FOR REMOTE COMMAND CALLS
I*
I 21 28 RCFMT
I B 29 320RCFID
I 33 42 RCPGM
I 43 52 RCLIB
I B 53 560RCNUM
I 57 312 RCDATA
I*
I* signon server:
I*
I* QIBM_QZSO_SIGNONSRV format ZSOY0l00 for TCP/IP signon server
I*
I 21 28 SOXFMT
I B 29 320SOFID
I*
I***************************************************************
I*
I '*VPRT ' C #VPRT
I '*TFRFCL ' C #TRFCL
I '*FILESRV ' C #FILE
I '*MSGFCL ' C #MSGF
I '*DQSRV ' C #DQSRV
I '*RQSRV ' C #RQSRV
I '*SQL ' C #SQL
I '*NDB ' C #NDBSV
I '*SQLSRV ' C #SQLSV
I '*RTVOBJINF' C #RTVOB
I '*DATAQSRV ' C #DATAQ
I 'QNPSERVR ' C #QNPSV
I '*CNTRLSRV ' C #CNTRL
I '*RMTSRV ' C #RMTSV
I '*SIGNON ' C #SIGN
I*
C*
C* EXIT PROGRAM CALL PARAMETERS
C*
C *ENTRY PLIST
C PARM RTNCD 1
C PARM PCSDTA
C*</pre>
<pre> C* INITIALIZE RETURN VALUE TO ACCEPT REQUEST
C*
C MOVE '1' RTNCD
C*
C* COMMON PROCESSING
C*
C* COMMON LOGIC GOES HERE
C*
C* PROCESS BASED ON SERVER ID
C*
C APPLID CASEQ#VPRT VPRT
C APPLID CASEQ#TRFCL TFR
C APPLID CASEQ#FILE FILE
C APPLID CASEQ#MSGF MSG
C APPLID CASEQ#DQSRV DATAQ
C APPLID CASEQ#RQSRV RSQL
C APPLID CASEQ#SQL SQLINT
C APPLID CASEQ#NDBSV NDB
C APPLID CASEQ#SQLSV SQLSRV
C APPLID CASEQ#RTVOB RTVOBJ
C APPLID CASEQ#DATAQ ODATAQ
C APPLID CASEQ#QNPSV NETPRT
C APPLID CASEQ#CNTRL CENTRL
C APPLID CASEQ#RMTSV RMTCMD
C APPLID CASEQ#SIGN SIGNON
C END
C SETON LR
C RETRN
C*
C* SUBROUTINES
C*
C*
C* VIRTUAL PRINT
C*
C VPRT BEGSR
C* SPECIFIC LOGIC GOES HERE
C ENDSR
C*
C* TRANSFER FUNCTION
C*
C* THE FOLLOWING IS AN EXAMPLE OF SPECIFIC PROCESSING
C* THAT THE EXIT PROGRAM COULD DO FOR TRANSFER FUNCTION.
C*</pre>
<pre> C* IN THIS CASE, USERS ARE NOT ALLOWED TO SELECT
C* DATA FROM ANY FILES THAT ARE IN LIBRARY QIWS.
C*
C TFR BEGSR
C TFFUNC IFEQ 'SELECT'
C TFLIB ANDEQ'QIWS'
C MOVE '0' RTNCD
C END
C ENDSR
C*
C*
C* FILE SERVER
C*
C FILE BEGSR
C* SPECIFIC LOGIC GOES HERE
C ENDSR
C*
C* MESSAGING FUNCTION
C*
C MSG BEGSR
C* SPECIFIC LOGIC GOFS HERE
C ENDSR
C* DATA QUEUES
C*
C DATAQ BEGSR
C* SPECIFIC LOGIC GOES HERE
C ENDSR
C*
C* REMOTE SQL
C*
C RSQL BEGSR
C* SPECIFIC LOGIC GOES HERE
C ENDSR
C*
C* SERVERS
C*
C*
C* DATABASE INIT
C*
C SQLINT BEGSR
C* SPECIFIC LOGIC GOES HERE
C ENDSR
C*
C* DATABASE NDB (NATIVE DATABASE)
C*
C NDB BEGSR
C* SFECIFIC LOGIC GOES HERE
C ENDSR
C*</pre>
<pre> C* DATABASE SQL
C*
C SQLSRV BEGSR
C* SPECIFIC LOGIC GOES HERE
C ENDSR
C*
C* DATABASE RETRIEVE OBJECT INFORMATION
C*
C RTVOBJ BEGSR
C* SPECIFIC LOGIC GOES HERE
C ENDSR
C*
C* DATA QUEUE SERVER
C*
C ODATAQ BEGSR
C* SPECIFIC LOGIC GOES HERE
C ENDSR
C*
C* NETWORK PRINT
C*
C NETPRT BEGSR
C* SPECIFIC LOGIC GOES HERE
C ENDSR
C*
C* CENTRAL SERVER
C*
C*
C* THE FOLLOWING IS AN EXAMPLE OF SPECIFIC PROCESSING
C* THAT THE EXIT PROGRAM COULD DO FOR LICENSE MANAGEMENT.
C*
C* IN THIS CASE, THE USER "USERALL" WILL NOT BE ALLOWED
C* TO EXECUTE ANY FUNCTIONS THAT ARE PROVIDED BY THE
C* CENTRAL SERVER FOR WHICH THIS PROGRAM IS A REGISTERED
C* EXIT PROGRAM - LICENSE INFORMATION, SYSTEM MANAGEMENT
C* OR RETRIVE A CONVERSION MAP.
C*
C CENTRL BEGSR
C USERID IFEQ 'USERALL'
C MOVE '0' RTNCD
C ENDIF
C* SPECIFIC LOGIC GOES HERE
C ENDSR
C*</pre>
<pre> C* REMOTE COMMAND AND DISTRIBUTED PROGRAM CALL
C*
C* IN THIS CASE, THE USER "USERALL" WILL NOT BE ALLOWED
C* TO EXECUTE ANY REMOTE COMMANDS OR REMOTE PROGRAM CALLS
C*
C RMTCMD BEGSR
C USERID IFEQ 'USERALL'
C MOVE '0' RTNCD
C ENDIF
C ENDSR
C*
C* SIGNON SERVER
C*
C SIGNON BEGSR
C* SPECIFIC LOGIC GOES HERE
C ENDSR</pre>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzaiimst34.htm" title="The sample exit programs in this topic do not show all possible programming considerations or techniques, but you can review the examples before you begin your own design and coding.">Examples: Exit programs</a></div>
</div>
<div class="relinfo"><strong>Related information</strong><br />
<div><a href="codedisclaimer.htm">Code license and disclaimer information</a></div>
</div>
</div>
</body>
</html>