The job:
//ECHO JOB 505303JOB,'Paul Gilmartin',
// MSGLEVEL=(1,1),REGION=0M
//*
//* Doc: Hack to display PARM in SYSPRINT
//*
//USERC OUTPUT JESDS=ALL,DEFAULT=YES,
//* DEST=&SYSNAME..&SYSUID,
// CLASS=R,PAGEDEF=V0648Z,CHARS=GT12
//*
// SET ME='gil'
//*
//* Only to display PARM in error message.
//A EXEC PGM=ASMA90,
// PARM='''Bonnie&&Clyde''&&&ME'
//SYSPRINT DD SYSOUT=(,)
//
Shows in JESJCL:
//* Only to display PARM in error message.
4 //A EXEC PGM=ASMA90,
// PARM='''Bonnie&&Clyde''&&&ME'
IEFC653I SUBSTITUTION JCL -
PGM=ASMA90,PARM='''Bonnie&&Clyde''&&gil'
... but in HLASM SYSPRINT:
OPTIONS MESSAGES
** ASMA400W Error in invocation parameter - 'Bonnie&Clyde'&gil
I believe the ASMA400W is correct and IEFC653I is incorrect.
The PARM passed to the program should be
not: ''Bonnie&&Clyde''&&gil
but: 'Bonnie&Clyde'&gil
... because JCL substitution collapses double ampersands
to single ampersands and double apostrophes to single
apostrophes in the PARM actually passed to the executed
program. IEFC653I should properly reflect this, even as
HLASM does.
I hate JCL!
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN