情况如下。 我有PARM参数:
CSQ1 - Queue manager name
CARD.PAYMENTS - Request queue name
CCD3050.REPLY - Reply queue name
CCD3050 - Contestant user ID
400.05 - Payment amount
"MY PAYMENT" - Payment description
在我的JCL中,我这样写了:
//PAYMENT EXEC PGM=PAYMENT,REGION=1024K,
// PARM='CSQ1,CARD.PAYMENTS,CCD3050.REPLY,CCD3050,
// 400.05,"MY PAYMENT"'
我遇到了麻烦。我写道:
// PARM=('CSQ1,CARD.PAYMENTS,CCD3050.REPLY,CCD3050',
// '400.05,MY PAYMENT')
也遇到了麻烦。 然后我写道:
PARM=(CSQ1,CARD.PAYMENTS,CCD3050.REPLY,CCD3050,400.05,MY PAYMENT)
答案 0 :(得分:4)
如果您有.
,=
,,
'
(
)
(可能会有更多,我作为PARM的值的一部分,我不想尝试使用它,那么你需要确保它们不会被转换器/解释器解释。
您可以通过使用单引号或括号绑定内容来实现此目的,或者您可以将它们组合在一起,但如果您的PARM 值包含此类内容,则必须保护它们(就像您{{{ 1}}其他操作系统,语言中的东西。)
这是JCL语言参考的链接。您可以按照页面内的链接完全浏览手册,或下载PDF。 http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/handheld/Connected/BOOKS/iea2b690/16.8.1?SHELF=&DT=20090526233806&CASE=
关于你的另一个问题,我已经向你展示了一个可以包含所有这些值的PARM。
escape
或
// PARM=('CSQ1,CARD.PAYMENTS,CCD3050.REPLY,CCD3050,400.05,MY PAYMENT')
就JCL而言,是否有效。
您可以通过多种方式保护// PARM='CSQ1,CARD.PAYMENTS,CCD3050.REPLY,CCD3050,400.05,MY PAYMENT'
。
那些PARM都适合一条线。它们很难维护。把它们放在括号中,每行一个元素:
.