Author Topic: What if you have too many characters in the PARM= field?  (Read 5918 times)

Ed_Arnold

  • Hero Member
  • *****
  • Posts: 1200
    • View Profile
What if you have too many characters in the PARM= field?
« on: August 31, 2012, 11:08:33 AM »
This is how I usually run my ARSLOADs in batch:

//STEP1     EXEC PGM=ARSLOAD,REGION=0M,                         
//       PARM=('/-h ARCH850 -u odadmin -p hahahaha -nfv         
//              -g "Daily sales invoices" /tmp/salesinvoice')   
//STEPLIB    DD DISP=SHR,DSN=ARS.ARSV850.SARSLOAD               
//           DD DISP=SHR,DSN=DSN.DB2VA10.SDSNEXIT               
//           DD DISP=SHR,DSN=DSN.DB2VA10.SDSNLOAD               
//           DD DISP=SHR,DSN=DSN.DB2VA10.SDSNLOD2               
//ARSBIN     DD PATH='/usr/lpp/ars/V8R5M0/bin'                 
//SYSPRINT   DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=134,BLKSIZE=134) 
//*YSTCPT    DD SYSOUT=*                                         
//SYSOUT     DD SYSOUT=*   

Especially when I add trace parms to the //PARM=('/-h blah blah') statement I'll end up with more characters than it'll accept.

So in that case I run the load from BPXBATCH:

//**************************************************************
//STEP1   EXEC PGM=BPXBATCH,REGION=0M                           
//STDIN  DD PATH='/u/odv733/arnold.in',PATHDISP=(KEEP)           
//SYSOUT DD *                                                   
//STDERR DD PATH='/u/odv733/bpxbatch.err',PATHMODE=SIRWXU,       
//       PATHOPTS=(OWRONLY,OCREAT,OTRUNC),PATHDISP=(KEEP,DELETE)
//STDOUT DD PATH='/u/odv733/bpxbatch.out',PATHMODE=SIRWXU,       
//       PATHOPTS=(OWRONLY,OCREAT,OTRUNC),PATHDISP=(KEEP,DELETE)
//STDENV DD  *                                                   
**************************** Bottom of Data *********************

Then what's in STDIN (the arnold.in file) is this:

********************************* Top of Data ***********************
/usr/lpp/ars/V8R5M0/bin/arsdate -g                                   
/usr/lpp/ars/V8R5M0/bin/arsload -h ARCH850 -u odadmin -p blahblah -nfv -g "Daily sales invoices" /tmp/salesinvoice
**************************** Bottom of Data *************************

I throw the arsdate -g in there just for a datestamp on top of bpxbatch.out, which then looks like this:

********************************* Top of Data ***********************
Today:.08/31/12                                                     
arsload: Using /u/odv733 for temporary files                         
arsload: Processing file >/tmp/salesinvoice<                         
arsload: Load Version <8.5.0.5> Operating System <z/OS> <03.23.00>   
arsload: Server Version <8.5.0.5> Operating System <z/OS> <03.23.00>
arsload: 08/31/12 14:05:23 -- Loading started, 39486 bytes to process
blah blah blah
*****************************                                   
#zOS #ODF

Ed_Arnold

  • Hero Member
  • *****
  • Posts: 1200
    • View Profile
Relief in the future
« Reply #1 on: January 14, 2014, 02:15:54 PM »
Support for this will undoubtedly be added in CMOD future release, whether it will be retrofitted remains to be seen.



New in z/OS V2.1 - PARMDD Statement Allows 32K Character Input

Ref:  http://www-03.ibm.com/systems/data/flash/dk/resources/ITSO/IBM_z-OS_v2.1_Technical_Update_-_Marna_Walle_%28Dec_3rd%29.pdf

Enhance PARM to 32k characters with PARMDD statement

Can be any type of input, sequential dataset, instream ->  //PARMINDD DD *,

Example: The data set referenced by PARMDD= may also be a UNIX System Service file
DD PATH=.
 
//LONGPARM JOB MSGLEVEL=1
//STEP0001 EXEC PGM=MYPROGRM,PARMDD=PARMINDD
//PARMINDD DD PATH='/tmp/myparms.txt'

The parameter string that will be passed to the MYPROGRM program is contained in the Unix System Services file: /tmp/myparms.txt file.


« Last Edit: January 14, 2014, 02:18:44 PM by Ed_Arnold »
#zOS #ODF