/*************************************************************/ /* The CUSTOM section must be preceded by the line */ /* 'CUSTOM: ERROR OFF'. It must terminate with the */ /* GOTO CUSTOMD line. All variables are modifiable. */ /* Bear in mind that syntax rules for CLISTs apply - to */ /* be safe, all character strings are enclosed in &STR(). */ /*************************************************************/ /* *** Please note *** */ /* For many of the values here, a blank &STR( ) is */ /* not the same as a null &STR(). Don't use &STR( ) */ /* unless you mean to specify a value of blanks. */ /*************************************************************/ CUSTOM: ERROR OFF /*************************************************************/ /* Please note the following rules concerning case: */ /* > Variable names (NICK1, TCPASS - anything to the */ /* left the of equal sign in a SET statement) remain */ /* in all uppercase - the CLIST will convert them */ /* though in case of a typo. */ /* > Special keywords such as nicknames (CICS, MVS), */ /* hostname TESTCASE, and DUMMY for an unused nickname */ /* are case-insensitive. */ /* > The TRSSTEPL, JOBCx, WKUNIT, and the like are not */ /* case-sensitive because they must be uppercase. */ /* > The FTPDATA and JOBCDSN are case-sensitive to */ /* allow hfs files to be used. */ /* > Path names, hostnames, userids, passwords, etc. */ /* are all case-sensitive. */ /*************************************************************/ /*************************************************************/ /* EMEA Repository Support - hostname and codes */ /*************************************************************/ /* Hostname, branch office (general services #) and country */ /* for the EMEA repository. */ /*************************************************************/ SET EMHOSTN = &STR(ftp.emea.ibm.com) /* @C1A*/ SET EMB = &STR(000) /* Branch (General Services #) @C1A*/ SET EMC = &STR(000) /* Country code @C1A*/ /*************************************************************/ /* EMEA Repository Support - Tersed PDS (always enabled) */ /* Note: PUTDOC does not supported tersing a PDS for */ /* the Testcase repository. It *does* support */ /* tersing a PDS for EMEA. Please ensure you have */ /* informed the support personnel that the file */ /* is a tersed PDS. No customization is required. */ /*************************************************************/ /* This is the hostname for TESTCASE. Do not change */ /* this unless the hostname for TESTCASE changes. If you */ /* have problems connecting, try the alternate hostname */ /* SET TCHOSTN = &STR(testcase.boulder.ibm.com) */ /*************************************************************/ SET TCHOSTN = &STR(testcase.software.ibm.com) /*************************************************************/ /* This is the timeout value in seconds for the transfer to */ /* Testcase. It is not used in the separate MKDIR step. */ /* Valid values are 0 and 15 to 86400, default here is 720. */ /*************************************************************/ SET TCTIMEOUT = 720 /* @BBA*/ /*************************************************************/ /* For destinations that use the special name TESTCASE */ /* for the testcase server, the following variables are */ /* used for the signon. Any USER or PASS or MORn */ /* settings for a nickname that uses TESTCASE are ignored. */ /* All values may use symbolic substitution. */ /* */ /* These are the keywords in the order they are used: */ /* 1 - TCSRVR (hostname for FTP) */ /* 2 - TCUSER */ /* 3 - TCPASS */ /* 4 - TCMORE */ /* 4 - TCMORE2 @B7A*/ /* 4 - TCMORE3 @B7A*/ /* */ /*************************************************************/ /* TCSRVR is the actual server name that you will connect */ /* to - often a proxy server. TCUSER, TCPASS, and TCMOREn */ /* may contain any string - TCMORE and TCMOREn are ignored */ /* if nulls except as noted below with prompts. @B7C*/ /*************************************************************/ /* TCSRVR and TCHOSTN must have values for the CLIST to run. */ /* TCUSER, TCPASS, TCMORE, and TCMOREn may be blank and will */ /* be prompted for. They may be specified in the PROFILE */ /* data set but _not_ via US() and PW() at invocation. @B7C*/ /*************************************************************/ /* Note: If you choose to be prompted for TCUSER and/or */ /* TCPASS and wish to avoid the prompt for TCMORE or TCMOREn */ /* then set either or both of them to NONE here: */ /* ex: SET TCMORE = &STR(NONE) @B7C*/ /*************************************************************/ /* All destinations support five signon lines (USER, PASS, */ /* and the three MORE lines). For the TESTCASE destination, */ /* you may customize the prompts used for each string. The */ /* prompt string variables and default values: */ /* */ /* TCUSERP = &STR(Enter the first signon line (userid) ==>) */ /* TCPASSP = &STR(Enter the second signon line (password) + */ /* - will display ==>) */ /* TCMOREP = &STR(Enter the third signon line or press + */ /* enter for none ==>) */ /* TCMOR2P = &STR(Enter the fourth signon line or press + */ /* enter for none ==>) */ /* TCMOR3P = &STR(Enter the fifth signon line or press + */ /* enter for none ==>) @B7A*/ /*************************************************************/ SET TCSRVR = &STR(&TCHOSTN) SET TCUSER = &STR(anonymous) SET TCUSERP = &STR(Enter the first signon line (userid) ==>) SET TCPASS = &STR() SET TCPASSP = &STR(Enter the second signon line (password) + - will display ==>) SET TCMORE = &STR() SET TCMOREP = &STR(Enter the third signon line or press + enter for none ==>) /* @B7A*/ SET TCMORE2 = &STR() SET TCMOR2P = &STR(Enter the fourth signon line or press + enter for none ==>) /* @B7A*/ SET TCMORE3 = &STR() SET TCMOR3P = &STR(Enter the fifth signon line or press + enter for none ==>) /* @B7A*/ /*************************************************************/ /* Nicknames can be 1-8 characters. */ /* If the specified destination is not a member of the */ /* selection list, it is read as a fully-specified path. */ /* > Symbolic substitution of any value is allowed */ /* > Nicknames are used in order to ease remembering */ /* which path to use and reduce errors. At the */ /* prompt for destination, they are not used except */ /* for display. They are used in the TO() parameter. */ /* > Slots for 15 nicknames are provided. This ensures */ /* readability. If more are added, the NICKMAX value */ /* below must be adjusted. It can also be adjusted */ /* downward to ignore slots. Otherwise, to be ignored, */ /* the nickname must be 'DUMMY' (any case). */ /* > If PATH, USER, or PASS are not specified the CLIST */ /* will prompt. If included below, USER and PASS can be */ /* overridden on the command line (non-TESTCASE */ /* desinations only), PATH as described below. MORE/MORn */ /* are optional and ignored if nulls. Variables are */ /* used in the order they are listed. @B7C*/ /* > PMRDx is a flag that indicates whether the PMR number */ /* is to be a name insert (I) or sub directory (S). */ /* > MVSF is a flag that indicates whether this is an */ /* MVS host. Values are 'Y', 'N' and nulls. The */ /* CLIST will prompt if no value is given and the host */ /* is not TESTCASE. */ /*************************************************************/ /* */ /* SET NICKx = &STR(not case-sensitive) */ /* SET HOSTx = &STR(case-sensitive unless TESTCASE) */ /* SET MVSFx = &STR(y or n, not case-sensitive) */ /* SET USERx = &STR(case-sensitive) */ /* SET PASSx = &STR(case-sensitive) */ /* SET MOREx = &STR(case-sensitive) */ /* SET MOR2x = &STR(case-sensitive) @B7A*/ /* SET MOR3x = &STR(case-sensitive) @B7A*/ /* SET PATHx = &STR(case-sensitive) */ /* SET PMRDx = &STR(I or S, not case-sensitive) */ /* */ /*************************************************************/ /* This is an example of an MVS destination where the */ /* target path is the hfs: */ /* */ /* SET NICKx = &STR(MVSHOST) */ /* SET HOSTx = &STR(my.other.mvs.host) */ /* SET MVSFx = &STR(y) */ /* SET USERx = &STR(myuserid) or &STR() */ /* SET PASSx = &STR(mypasswd) or &STR() */ /* SET MOREx = &STR() */ /* SET MOR2x = &STR() @B7A*/ /* SET MOR3x = &STR() @B7A*/ /* SET PATHx = &STR('/u/myuserid') (**) */ /* SET PMRDx = &STR(I) */ /* */ /* (**) A PATH specification can be overridden at run- */ /* time for a non-testcase host (the CLIST will */ /* prompt). PATH entries for testcase nicknames */ /* cannot be changed at run-time. */ /*************************************************************/ /* USER, PASS, MORE, MORn, and MVSF are ignored for */ /* nicknames that specify HOST = TESTCASE. @B7C*/ /*************************************************************/ SET NICKMAX = 15 /* If more are added, incr this value */ /*************************************************************/ /* Nickname #1 */ /*************************************************************/ SET NICK1 = &STR(TCPIP) SET HOST1 = &STR(TESTCASE) SET PATH1 = &STR(s390/toibm/tcpip) SET PMRD1 = &STR(S) /*************************************************************/ /* Nickname #2 */ /*************************************************************/ SET NICK2 = &STR(MVS) SET HOST2 = &STR(TESTCASE) SET PATH2 = &STR(mvs/toibm) SET PMRD2 = &STR(I) /*************************************************************/ /* Nickname #3 */ /*************************************************************/ SET NICK3 = &STR(VTAM) SET HOST3 = &STR(TESTCASE) SET PATH3 = &STR(s390/toibm/vtam) SET PMRD3 = &STR(S) /*************************************************************/ /* Nickname #4 */ /*************************************************************/ SET NICK4 = &STR(CICS) SET HOST4 = &STR(TESTCASE) SET PATH4 = &STR(ns/toibm) SET PMRD4 = &STR(I) /*************************************************************/ /* Nickname #5 */ /*************************************************************/ SET NICK5 = &STR(DB2) SET HOST5 = &STR(TESTCASE) SET PATH5 = &STR(s390/toibm/db2) SET PMRD5 = &STR(I) /*************************************************************/ /* Nickname #6 */ /*************************************************************/ SET NICK6 = &STR(NETVIEW) SET HOST6 = &STR(TESTCASE) SET PATH6 = &STR(s390/toibm/netview) SET PMRD6 = &STR(I) /*************************************************************/ /* Nickname #7 */ /*************************************************************/ SET NICK7 = &STR(S390WEBS) SET HOST7 = &STR(TESTCASE) SET PATH7 = &STR(s390/toibm/websphere) SET PMRD7 = &STR(S) /*************************************************************/ /* Nickname #8 */ /*************************************************************/ SET NICK8 = &STR(EMEA) /* @C1C*/ SET HOST8 = &STR(&EMHOSTN) /* @C1C*/ SET MVSF8 = &STR(N) /* @C1C*/ SET USER8 = &STR(anonymous) /* @C1C*/ SET PASS8 = &STR() /* @C1C*/ SET MORE8 = &STR(NONE) /* @C1C*/ SET MOR28 = &STR(NONE) /* @C1C*/ SET MOR38 = &STR(NONE) /* @C1C*/ SET PATH8 = &STR(toibm/mvs) /* @C1C*/ SET PMRD8 = &STR(I) /* @C1C*/ /*************************************************************/ /* Nickname #9 - example with proxy */ /*************************************************************/ SET NICK9 = &STR(DUMMY) SET HOST9 = &STR(proxy-server) SET MVSF9 = &STR() SET USER9 = &STR(anonymous@my.host.name) SET PASS9 = &STR(mypass) SET MORE9 = &STR() SET MOR29 = &STR() /* @B7A*/ SET MOR39 = &STR() /* @B7A*/ SET PATH9 = &STR(tmp) SET PMRD9 = &STR() /*************************************************************/ /* Nickname #10 */ /*************************************************************/ SET NICK10 = &STR(DUMMY) SET HOST10 = &STR() SET MVSF10 = &STR() SET USER10 = &STR() SET PASS10 = &STR() SET MORE10 = &STR() SET MOR210 = &STR() /* @B7A*/ SET MOR310 = &STR() /* @B7A*/ SET PATH10 = &STR() SET PMRD10 = &STR() /*************************************************************/ /* Nickname #11 - Used for other destinations under s390 */ /*************************************************************/ SET NICK11 = &STR(S/390) SET HOST11 = &STR(TESTCASE) SET PATH11 = &STR(s390/toibm) SET PMRD11 = &STR() /*************************************************************/ /* Nickname #12 */ /*************************************************************/ SET NICK12 = &STR(DUMMY) SET HOST12 = &STR() SET MVSF12 = &STR() SET USER12 = &STR() SET PASS12 = &STR() SET MORE12 = &STR() SET MOR212 = &STR() /* @B7A*/ SET MOR312 = &STR() /* @B7A*/ SET PATH12 = &STR() SET PMRD12 = &STR() /*************************************************************/ /* Nickname #13 */ /*************************************************************/ SET NICK13 = &STR(DUMMY) SET HOST13 = &STR() SET MVSF13 = &STR() SET USER13 = &STR() SET PASS13 = &STR() SET MORE13 = &STR() SET MOR213 = &STR() /* @B7A*/ SET MOR313 = &STR() /* @B7A*/ SET PATH13 = &STR() SET PMRD13 = &STR() /*************************************************************/ /* Nickname #14 */ /*************************************************************/ SET NICK14 = &STR(DUMMY) SET HOST14 = &STR() SET MVSF14 = &STR() SET USER14 = &STR() SET PASS14 = &STR() SET MORE14 = &STR() SET MOR214 = &STR() /* @B7A*/ SET MOR314 = &STR() /* @B7A*/ SET PATH14 = &STR() SET PMRD14 = &STR() /*************************************************************/ /* Nickname #15 */ /*************************************************************/ SET NICK15 = &STR(DUMMY) SET HOST15 = &STR() SET MVSF15 = &STR() SET USER15 = &STR() SET PASS15 = &STR() SET MORE15 = &STR() SET MOR215 = &STR() /* @B7A*/ SET MOR315 = &STR() /* @B7A*/ SET PATH15 = &STR() SET PMRD15 = &STR() /*************************************************************/ /* Turn case-sensitivity off for the MVS parms. */ /*************************************************************/ SET &SYSASIS = &STR(OFF) /* DO NOT DELETE OR MOVE */ /*************************************************************/ /* OWNERID is the USERID of the owner of this tool. */ /* Messages can be sent to this userid when problems */ /* arise in parameter values or processing. OLOG is */ /* the common LOG data set name. Users must have ALTER */ /* (or CREATE) authority to this data set name. */ /*************************************************************/ SET OWNERID = &STR(&SYSUID) SET OLOG = &STR(&OWNERID..PUTDOC.LOG) /*************************************************************/ /* WKUNIT is the unit name for allocating new data sets. */ /* MAXVOLS is the maximum number of volumes a data set */ /* can span (1 to 59, default 10). */ /* MAXCYLS is the maximum number of cylinders a data set */ /* may have in each extent (1 to 3000, default 900). */ /*************************************************************/ SET WKUNIT = &STR(SYSDA) /* For intermediate MVS files */ SET MAXVOLS = 10 /* Max # of volumes for large d/s */ SET MAXCYLS = 900 /* Max # of cylinders in each ext */ /*************************************************************/ /* TRSSTEPL is the STEPLIB data set for TRSMAIN. */ /* BUFNO is the number of buffers to use when reading from */ /* and writing to data sets. */ /*************************************************************/ SET TRSSTEPL = &STR() /* TRSMAIN STEPLIB */ SET BUFNO = 10 /* data buffers */ /*************************************************************/ /* ENCSTEPL is the (optional) STEPLIB for the encryption */ /* programs. */ /* */ /* ENCPROGM is the load module to execute for encryption. */ /* The choices are: */ /* &STR(FTPENCR) - Encryption module without DES */ /* &STR(FTPENCRD) - Encryption module with 64-bit DES */ /* anything else - Disables encryption */ /* */ /* The load modules are available on this server: */ /* ftp://ftp.emea.ibm.com/fromibm/s390/mvs/tools/ @B1A*/ /*************************************************************/ SET ENCSTEPL = &STR() /* Encryption steplib @B1A*/ SET ENCPROGM = &STR() /* Encryption module @B1A*/ /*************************************************************/ /* The CLRSCRN variable contains the name of the function */ /* (if any) used to clear the screen for readability. You */ /* may enter another command or invocation to clear the */ /* screen or perform any other function - just be aware */ /* it will be executed at every point that a screen clear */ /* would have been done. Use a null string for none. */ /* Note: CLIST commands (such as WRITE) are not valid here. */ /* Examples: */ /* SET CLRSCRN = &STR(CLRSCRN) default */ /* SET CLRSCRN = &STR(CLR3270) */ /* SET CLRSCRN = &STR(EX 'MY.CLIST(MYFUNC)') */ /* SET CLRSCRN = &STR() none */ /*************************************************************/ /* Note: Using a CLRSCRN or similar function can interfere */ /* with proper operation of the CLIST under ISPF when */ /* the CLIST is invoked using extended implicit */ /* notation (%PUTDOC). Simply put, invoke PUTDOC */ /* without using % for best results. */ /*************************************************************/ SET CLRSCRN = &STR(CLRSCRN) /* Screen clear function A8A*/ /*************************************************************/ /* OUTHLQ is the HLQ of output data sets. All output data */ /* sets (MVS intermediate files and testcase files) get */ /* a (usually) unique qualifier called &TQUAL. This */ /* allows an aborted run to be rerun without having to */ /* delete the testcase file, overwriting of which may */ /* not be permitted. See above for more about &TQUAL. */ /*************************************************************/ SET OUTHLQ = &STR(&SYSUID.) /* Default HLQ for MVS d/s */ /*************************************************************/ /* SPLTSIZE is the size (in Kbytes) at which a data set */ /* is eligible to be split. If a data set is larger */ /* than this size (and is already tersed) it will be */ /* split into parts before transmission. If the data */ /* set has not yet been tersed, the CLIST will force */ /* it to be tersed and that data set will be split into */ /* parts if it is projected to still be too large. */ /* Default value is 1500000, which is about 1.5G. Whatever */ /* is coded here, a maximum of 9 parts is allowed. */ /* */ /* SPACK controls whether extensive packing will be used in */ /* tersing very large (over 4G raw) data sets. SPACK saves */ /* DASD but increases CPU cost significantly. @BAA*/ /* SET SPACK = &STR(PACK) - Use regular terse algorithm */ /*************************************************************/ SET SPLTSIZE = 1500000 /* Maximum kbytes before split */ /*@BAA*/ SET SPACK = &STR(SPACK) /* Use super pack for huge data sets*/ /*************************************************************/ /* To DISABLE the split function, increase the &MAX2G value */ /* below (default is 1953125) to 195312500 (Kbytes, which */ /* equals 200G) and set SPLTSIZE to the same value. No */ /* splits will occur as no tersed file will exceed this size.*/ /*************************************************************/ SET &MAX2G = 1953125 /* Maximum size to send @C1M*/ /*************************************************************/ /* The batch functions used by the process require a */ /* JOB card. Please make any changes below. JOBC2 and */ /* JOBC3 can be set to &STR() if they are not needed. */ /* */ /* The JOB card settings may be placed into a data set. */ /* Put the fully-qualified data set name without quotes */ /* (symbolic substitution may be used if desired) in the */ /* JOBCDSN variable. JOBCDSN WILL OVERRIDE THE JOBCx */ /* SETTINGS. If the data set is not found, the */ /* JOBCx settings will be used. */ /* */ /* ex: SET JOBCDSN = &STR(&SYSUID..job.card.dsn) */ /* */ /* Note: If the JOBCDSN is filled in to allow the */ /* users to take advantage of this feature, a */ /* warning message will be issued for each */ /* invocation when the resolved data set name is */ /* not found. This will not cause the CLIST */ /* to fail but the message can be avoided by */ /* allocating the data set (empty is OK). /* */ /* Restrictions: */ /* A maximum of 3 JOB cards is allowed, regardless of */ /* whether defined here or in a file */ /* The source data set can be MVS */ /* PS, FB, LRECL=80 */ /* or hfs */ /* filename must begin with '/' and not have '/' */ /* in the second position */ /* */ /* Dynamic substitution can be requested for any part */ /* of the JOB card by specifying '??' where you want */ /* the data. Any number of characters can be substituted */ /* in this way, so be careful about the length of the */ /* line that will be generated. The CLIST does not edit */ /* the input - the user is simply prompted for a value */ /* to insert at that point. This technique can be used */ /* in JOB cards defined in the CLIST or in a file. */ /* */ /* Restrictions: */ /* No commas, quotes, parentheses or blanks may be */ /* included in the string to be inserted. */ /* "optional" substitutions are not allowed - the */ /* CLIST will insist upon a response from the user. */ /* All JOB cards must begin with // (CLIST will not */ /* verify this) but commas are inserted to continue */ /* to the next card if needed. */ /* If you do not want one of the job cards used, you */ /* must set it to nulls - &STR() */ /* */ /* Note: JOBC2 and JOBC3 may be used to hold other types */ /* of JCL statements. The CLIST will recognize they */ /* are not part of the JOB card and insert them */ /* appropriately after the JOB card. */ /* ex: /*ROUTE PRINT nodename.?? */ /* /*ROUTE PRINT nodename.&SYSUID. */ /*************************************************************/ SET JOBC1 = &STR(+ //&SYSUID.?? JOB (11111),&SYSUID.,MSGLEVEL=(1,1),MSGCLASS=??,) SET JOBC2 = &STR(+ // USER=&SYSUID.,NOTIFY=&SYSUID.,TIME=1440,REGION=8M) SET JOBC3 = &STR() /*************************************************************/ /* Turn case-sensitivity back on for the MVS parms that */ /* take hfs filenames. */ /*************************************************************/ SET &SYSASIS = &STR(ON) /* DO NOT DELETE OR MOVE */ /*************************************************************/ /* If specified, JOBCDSN will override the JOBCx settings. */ /*************************************************************/ SET JOBCDSN = &STR() /*************************************************************/ /* FTPDATA contains the fully-qualified name of the */ /* FTPDATA file you want the FTP steps to use. If none */ /* is specified, none will be included in the job steps. */ /*************************************************************/ /* *** Please note *** If your connection with the testcase */ /* server is experiencing connection reset errors, it may */ /* be due to the keepalive function. To disable this */ /* function, include the following statement: */ /* FTPKEEPALIVE 86400 */ /* in your default FTP.DATA data set or in the data set */ /* you designate here using the FTPDATA parameter. */ /*************************************************************/ SET FTPDATA = &STR() /* DDNAME SYSFTPD */ SET TCPDATA = &STR() /* DDNAME SYSTCPD */ /*************************************************************/ /* At the completion of the transfer, PUTDOC can back up */ /* and migrate the original data set and any intermediate */ /* work data sets that were created. Settings here can */ /* be overridden via response to a prompt. */ /* */ /* MIGORIG - controls disposition of the original file */ /* Note: A PDS is never migrated. */ /* MIGWORK - controls disposition of work files */ /* (filenames with TRS, XMT, etc) */ /* */ /* Set MIGORIG/MIGWORK to 0 for no migration to occur */ /* Set MIGORIG/MIGWORK to 1 to migrate to level 1 */ /* Set MIGORIG/MIGWORK to 2 to migrate to level 2 */ /* Set MIGWORK to 99 to delete work data sets */ /*************************************************************/ SET MIGORIG = 0 /* original data set */ SET MIGWORK = 99 /* work data sets */ /*************************************************************/ /* Individual PUTDOC profile data set: */ /* - optional, not processed if the file does not exist */ /* - typically used by an installation with shared */ /* access to a CLIST library but different sets of */ /* processing requirements */ /* - is not required for different JOB cards only - see */ /* above for substitution within JOB cards as well */ /* as the ability to read an individual JOB card file.*/ /*************************************************************/ /* After all customization has been done, the user's */ /* PUTDOC profile data set is read if it exists. The name */ /* defaults to '&SYSUID..PUTDOC.PROFILE' but can be */ /* changed below. The data must be of the form: */ /* */ /* */ /* */ /* ex: TCHOST &STR(my.proxy-server.name) */ /* TCPASS &STR(mypasswd) my password */ /* HOST2 &STR(&TCHOST) host for nick2 */ /* */ /* Only assignments are allowed - enclose strings in */ /* &STR(). Do not use the '=' assignment operator or */ /* the verb ' SET ' in the profile data set. */ /* Recommended data set attributes: */ /* FB */ /* LRECL=80 */ /* Caps OFF */ /* The CLIST automatically stops at column 72 to ignore */ /* any line numbers that may be in the file. */ /* */ /* Embedded comments are allowed, but they must follow the */ /* value parm by at least 4 blanks or be the only data */ /* on the line. Use /* as the comment delimiter for a */ /* comment that occupies the entire line. Comments on */ /* the data lines need only be separated from the value */ /* parm by at least 4 blanks. */ /* */ /* Blanks embedded in a parameter value are allowed, but */ /* a maximum of 3 consecutive blanks is permitted. A 4th */ /* blank is treated as the end of the input on the line - */ /* otherwise the line will be searched thru column 72. */ /* */ /* Values in the profile data set will override previous */ /* settings. Known variables in this CLIST may be used */ /* in symbolic substitution within the profile data set. */ /* */ /* Command line variables TO(), PR(), US(), and PW() */ /* cannot be reset from the PROFILE data set. You must */ /* use the following variables instead: */ /* */ /* For PR() use PMR */ /* For US() use USERID (does not set TCUSER) */ /* For PW() use PASSWD (does not set TCPASS) */ /* For TO() use DEST */ /*************************************************************/ SET &PROFDS = &STR(&SYSUID..PUTDOC.PROFILE) SET &ISTH = &SYSDSN('&PROFDS') IF &ISTH = &STR(OK) THEN DO ERROR DO SET &HOLDCC = &LASTCC IF &HOLDCC = 400 THEN DO SET &EOF = 1 RETURN ENDO ERROR OFF CLOSFILE PUTPROF FREE FI(PUTPROF) GOTO GETOUT ENDO SET EOF = 0 ALLOC DA('&PROFDS') FI(PUTPROF) SHR REUSE OPENFILE PUTPROF INPUT GETFILE PUTPROF DO WHILE(&EOF = 0) SET &L = &LENGTH(&STR(&PUTPROF)) SET PRM1 = 0 SET EPRM1 = 0 SET PRM2 = 0 SET EPRM2 = 0 SET &COM = &NRSTR(/*) IF &L > 72 THEN SET &L = 72 DO &I = 1 TO &L IF &I < 72 AND &PRM1 = 0 THEN DO IF &SUBSTR(&I:&I+1,&STR(&PUTPROF)) = &STR(&COM) + THEN GOTO SKIPIT ENDO IF &SUBSTR(&I:&I,&STR(&PUTPROF)) NE &STR( ) THEN DO IF &EPRM2 > 0 THEN + SET &EPRM2 = 0 /* Keep going, embedded blank */ ELSE IF &PRM1 = 0 THEN + SET &PRM1 = &I ELSE IF &EPRM1 > 0 AND &PRM2 = 0 THEN + SET &PRM2 = &I ENDO /* non-blank found */ ELSE DO /* blank found */ IF &PRM1 > 0 THEN DO /* First parm located */ IF &PRM2 > 0 THEN + IF &EPRM2 = 0 THEN + SET &EPRM2 = &I-1 /* End of 2nd parm? */ ELSE DO IF &EVAL(&I - &EPRM2) > 2 THEN + SET &I = 72 ENDO ELSE + IF &EPRM1 = 0 THEN + SET &EPRM1 = &I-1 /* End of 1st parm */ ENDO ENDO ENDO /* Scan line */ IF &PRM1 = 0 THEN GOTO SKIPIT IF &EPRM2 = 0 THEN SET &EPRM2 = 72 /* filled line */ SET &FPM = &SUBSTR(&PRM1:&EPRM1,&STR(&PUTPROF)) /* @BAC*/ SET &SPM = &SUBSTR(&PRM2:&EPRM2,&STR(&PUTPROF)) /* @BAC*/ SET &&FPM = &SPM SKIPIT: GETFILE PUTPROF ENDO /* Do while not EOF */ ERROR OFF CLOSFILE PUTPROF FREE FI(PUTPROF) ENDO /* Profile data set found */ /*************************************************************/ /* Do not delete the following line : GOTO CUSTOMD */ /* It must be the last line in the file. */ /*************************************************************/ GOTO CUSTOMD