查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
Atpsmp
新的用户
已加入:2008年9月23日 帖子:14 地点:钦奈
|
|
|
|
大家好,
我创建了一个工具,其中的生产JCL将被转换为测试区域。它将提示用户输入诸如High Level Qualifier等之类的信息。
考虑到这一点,在我的大型机ID中,有一个名为“ JOBCARD”的选项。通过在命令行中简单地键入命令JOBCARD,包含用户信息的作业卡将被添加到JCL中。
我希望在REXX例程中调用此命令,以便在复制所有PDS成员之后,第一步是更改工作卡。
我编码如下:
码: |
JUNK_JC =外出(JB_LINE.)
地址TSO"JOBCARD"
JUNK_JC =外出("OFF")
|
但是它没有捕获工作卡。
任何人都可以谈谈决议或提出其他任何方式满足我的要求。 |
|
回到顶部 |
|
 |
罗伯特·桑普
全球主持人

已加入:2008年6月6日 帖子:8569 地点:美国爱荷华州迪比克
|
|
|
|
这是某种特定于站点的例程,因此您需要联系站点支持小组以了解如何使用它。 |
|
回到顶部 |
|
 |
超级
全球主持人

已加入:2004年4月26日 帖子:4650 地点:美国北卡罗来纳州罗利
|
|
|
|
Atpsmp写道: |
...有一个名为“ JOBCARD”的选项。通过在命令行中简单地键入命令JOBCARD,包含用户信息的作业卡将被添加到JCL中。 |
好的,是时候提出一个愚蠢的问题了。当您键入命令“ JOBCARD”时,它如何知道您希望工作卡进入哪个PDS的哪个成员?是否有必须传递给它的参数?我注意到您尝试了外发。它是否只是将工作卡详细信息显示在屏幕上,我想您会在其中将其剪切并粘贴到工作中? |
|
回到顶部 |
|
 |
德巴布拉塔·普鲁斯(Debabrata Pruseth)
新的用户

已加入:2008年12月11日 帖子:59 地点:印度浦那
|
|
|
|
我有一个类似的JOBCARD ISPF宏。该成员在分配给TSO / ISPF配置文件的CLIST库中定义。
码: |
VIEW VND6Z5.CLIST(JOBCARD) - 01.10 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ******************************数据顶部************ ******************
000001 /* */
000002 / *在成员顶部插入一个JOBARD */
000003 /* */
000004 ISREDIT MACRO
000005 CONTROL NOCONLIST
000006 ISREDIT恢复已关闭
000007 ISREDIT RESET
000008 INSERT: +
000009 ISREDIT LINE_AFTER 0 = "//VND6Z5J1 JOB (DWARD,SYS),'DEBABRATA' "
000010 ISREDIT LINE_AFTER 1 = "// CLASS=6, "
000011 ISREDIT LINE_AFTER 2 = "// MSGCLASS=T, "
000012 ISREDIT LINE_AFTER 3 = "// NOTIFY=&SYSUID, "
000013 ISREDIT LINE_AFTER 4 = "// MSGLEVEL=(1,1) "
000014 ISREDIT LINE_AFTER 5 = "//* "
000015 EXIT CODE(0)
****** ****************************数据底部************* *************** |
在任何PDS成员内部,如果您在命令行中键入JOBCARD,它将插入上面的JOBCARD成员中定义的作业卡。可以根据需要相应地填充新成员中的其余数据。我认为Atpsmp希望在另一个过程中调用此宏逻辑,以在新成员中一起构建作业卡和作业详细信息。如果有人可以提供这项技术,那对我也将有很大的帮助。 |
|
回到顶部 |
|
 |
Atpsmp
新的用户
已加入:2008年9月23日 帖子:14 地点:钦奈
|
|
|
|
哎嗨..
通过在相应的成员命令行中输入JOBCARD,我可以一次在一个成员中调用JOBCARD命令。(请参阅下文)
码: |
s s
视图 U174821.REXX.SAMPLE.PDS(PUREX1) - 01.24 Columns 00001 00072
命令===> jobcard Scroll ===> CSR
****** ******************************数据顶部************ *****************
000001 // U174821作业类别= A,MSGCLASS = A,MSGLEVEL =(1,1)
000002 // * REGION=256K
000003 // SYSIN DD SYSOUT = O
000004 // DELS EXEC EQQDELDS
000005 // S1 EXEC PGM=IEFBR14
000006 // SYSUT1 DD DISP=(NEW,CATLG,DELETE),DSN = TA.HANDSON.JCL1.PS,
|
如果我将代码保留为宏,则可以使用此命令。我已经尝试过...它的工作正常。
我担心的是,正在复制包含“ n”个成员的PDS,以便无法调用宏。因此也无法使用宏。
我必须通过在已复制的PDS的所有成员中调用JOBCARD命令来插入作业卡。
我对Superk的疑问是对OUTTRAP功能的怀疑,
我已经编码,好像它可以通过移到OUTTRAP的词干变量来显示作业卡。但由于无法捕获行,因此无法显示。所以我也不能从屏幕上复制和粘贴。
我的要求是,应该复制特定PDS中的所有成员,并将其转换为TEST JCL。除此JOBCARD之外,我所有的要求都得到满足。(因为打开每个成员并在命令行中输入JOBCARD需要花时间,所以我想一次完成所有成员的整个操作).....
请任何人帮帮我.......  |
|
回到顶部 |
|
 |
外籍人士
全球主持人

已加入:2007年3月14日 帖子:8794 地点:威尔士威尔士
|
|
|
|
从以前的帖子-有条件地更新成员,但您可以轻松地对其进行更改以更新所需的内容
驱动REXX exec-列出PDS成员并调用宏
码: |
/ * REXX ***列出PDS并调用编辑宏以更新成员 */
地址Ispexec"控制错误返回"
Pds ="pds name"
苹果 = 'UPDATPD1'
x =味精('off')
x =外带(list.)
"LISTDS '"Pds"' MEM "
x =外带(off)
做aa = 7列出0
"Ispexec edit dataset('"Pds||"("||Strip(list.aa)||")') MACRO("mac")"
结束 |
以及宏本身-很显然,您将需要进行更改以满足自己的需求。也许只需调用JOBCARD即可完成此操作,而无需使用此代码。
码: |
/ * REXX *** ISPF编辑宏 */
"ISREDIT MACRO"
"ISREDIT F'PGM = NOB'首先"
Rcx = RC
"ISREDIT F'PGM = NEM'首先"
Rcy = RC
如果Rcx = 0& Rcy = 4 then do
"ISREDIT F'PGM ='最后"
"ISREDIT (CRSLINE) = " CURSOR
"ISREDIT COPY成员之前"CRSLINE
结束
|
|
|
回到顶部 |
|
 |
Atpsmp
新的用户
已加入:2008年9月23日 帖子:14 地点:钦奈
|
|
|
|
哎嗨..
感谢外籍人士的即时回复。
正如您在下面提到的,我已经尝试了您的逻辑。这是工作.. 我很少担心。见下文:
1)是否可以在我的完整REXX例程中使用宏来执行此JOBCARD,包括复制PDS和我为JCL的测试版本所做的其他一些要求???我可以用我的整个逻辑满足JOBCARD的要求吗???
2)JOBCARD命令将仅包括新的工作卡。它不会删除或注释掉现有的工作卡。我希望旧的工作卡被删除或注释掉。  |
|
回到顶部 |
|
 |
外籍人士
全球主持人

已加入:2007年3月14日 帖子:8794 地点:威尔士威尔士
|
|
|
|
查找第一个EXEC卡,然后删除所有内容,直到EXEC卡
码: |
"ISREDIT F'EXEC'首先"
中频<> 0 THEN EXIT
"ISREDIT (CRSLINE,CRSCOL) = CURSOR"
"ISREDIT CURSOR = 1"
DO A = 1对CRSLINE-1
"ISREDIT DELETE 1"
结束
|
|
|
回到顶部 |
|
 |
Atpsmp
新的用户
已加入:2008年9月23日 帖子:14 地点:钦奈
|
|
|
|
哎嗨,
我已经完成了您所说的更改。请参阅下面的观察:
有两个成员:MEM1和MEM3。
MEM3-> Macro
MEM1-> REXX routine
请参阅下面的MEM1编码(包括删除工作卡以及新工作卡)
码: |
/ * REXX * /
"ISREDIT F“工作”第一 "
中频<> 0 THEN EXIT
"ISREDIT (CRSLINE,CRSCOL) = CURSOR"
"ISREDIT CURSOR = 1"
DO A = 1对CRSLINE-1
"ISREDIT DELETE 1"
结束
地址ISPEXEC"控制错误返回"
PDS ="U174821.REXX.SAMPLE.PDS1"
苹果 = 'MEM3'
X =味精('OFF')
X =出界(LIST.)
"LISTDS '"PDS"' MEM "
X =出界(OFF)
做AA = 7到LIST.0
"ISPEXEC EDIT DATASET('"PDS||"("||STRIP(LIST.AA)||")') MACRO("MAC")"
结束
|
请参阅具有宏的成员MEM3:
码: |
/ * rexx * /
地址ISREDIT
"MACRO"
"JOBCARD"
"SAVE"
"END"
|
插入了工作卡,但未删除新的工作卡。我应该在代码中进行其他更改吗?我做错了吗? |
|
回到顶部 |
|
 |
外籍人士
全球主持人

已加入:2007年3月14日 帖子:8794 地点:威尔士威尔士
|
|
|
|
我给您的代码应作为编辑宏执行。 |
|
回到顶部 |
|
 |
Atpsmp
新的用户
已加入:2008年9月23日 帖子:14 地点:钦奈
|
|
|
|
你好
现有作业卡不会被删除。
请参阅我的主要代码和下面的宏:
我的主要代码是:
码: |
/ * REXX * /
/ *单独删除作业卡-主程序* /
地址ISPEXEC"控制错误返回"
PDS ="U174821.REXX.JOBCARD.INPUT1.DTMAR2"
苹果 = 'MEM5'
X =味精('OFF')
X =出界(LIST.)
"LISTDS '"PDS"' MEM "
X =出界(OFF)
做AA = 7到LIST.0
"ISPEXEC EDIT DATASET('"PDS||"("||STRIP(LIST.AA)||")') MACRO("MAC")"
结束
|
我删除作业卡的宏例程是:
码: |
/ * REXX * /
/ *删除作业卡-宏例程* /
地址ISREDIT
"MACRO"
"ISREDIT F“工作”第一 "
中频<> 0 THEN EXIT
"ISREDIT (CRSLINE,CRSCOL) = CURSOR"
"ISREDIT CURSOR = 1"
DO A = 1对CRSLINE-1
"ISREDIT DELETE 1"
结束
|
一旦我执行了此宏,作业卡就不会被删除。取而代之的是,它只是指出第一个作业出现,并仅突出显示该特定单词,仅此而已。 (请找到附件以供参考)
请帮帮我.. |
|
回到顶部 |
|
 |
马索
REXX主持人

已加入:2006年3月13日 帖子:1348 地点:以色列
|
|
|
|
外籍人士写道: |
查找第一个EXEC卡,然后删除所有内容,直到EXEC卡 |
请注意,您可能在第一个EXEC之前拥有JOBLIB DD! |
|
回到顶部 |
|
 |
Atpsmp
新的用户
已加入:2008年9月23日 帖子:14 地点:钦奈
|
|
|
|
嗨大家好,
我得到了整个工具。我的工作卡正在通过找到JOB关键字删除。
还插入了新的作业卡。
我已经将这两个概念嵌入REXX工具中,并且也很好用。
非常感谢大家的支持。  |
|
回到顶部 |
|
 |
Atpsmp
新的用户
已加入:2008年9月23日 帖子:14 地点:钦奈
|
|
|
|
上述问题还有另外一个问题。
请参阅下面的代码以了解编辑宏:
码: |
/ * REXX * /
/ ** **/
/ ** 并插入新的工作卡 **/
地址ISREDIT
"MACRO"
"F ' JOB ' FIRST"
中频= 0 THEN
DO
"LABEL .ZCSR = .JS"
"FIND P'¬' 3 3 "
"(CR CC) = CURSOR"
CR = CR - 1
"LABEL " CR " = .JE"
"(JS) = LINENUM .JS"
IF JS = 0 THEN
"DELETE ALL .JE .JE"
ELSE
"DELETE ALL .JS .JE"
ADDRESS ISREDIT
"JOBCARD"
"SAVE"
"END"
END
|
删除现有的工作卡后,我要插入新的工作卡。在我的客户大型机中,在命令行中提到JOBCARD之后,我必须指定标签“ A”或“ B”,以便它将分别在作业卡之后或之前插入作业卡。我怎样才能做到这一点????
删除作业卡功能后,我必须添加此代码。 |
|
回到顶部 |
|
 |
Atpsmp
新的用户
已加入:2008年9月23日 帖子:14 地点:钦奈
|
|
|
|
在进行以下答复之前,标签应设置为A或B,以便它在删除现有作业卡后添加作业卡,如下所示(reg标签)
码: |
命令===> jobcard Scroll ===> CSR
****** ******************************数据顶部************ ******************
00A001 / * REXX * /
000002 / ** **/
000003 / ** 并插入新的工作卡 **/
000004
|
|
|
回到顶部 |
|
 |
Fathima Begum S
新的用户
已加入:2012年5月2日 帖子:3 地点:印度
|
|
|
|
嗨Atpsmp
当我尝试使用代码插入工作卡时,出现错误
IKJ56500I未找到命令控制
5 *-* CONTROL NOCONLIST
+++ RC(-3) +++
8 +++ +
请尝试解决这个问题……
提前致谢... |
|
回到顶部 |
|
 |
外籍人士
全球主持人

已加入:2007年3月14日 帖子:8794 地点:威尔士威尔士
|
|
|
|
解决这个问题 ?那不是现实吗 您的 job
有了您与我们分享的大量信息,也许我们就可以在获得足够信息之前进行128个问题的解答。
您是否在执行过程中跟踪了代码,是否发布了代码,是后台执行还是前台执行,是否无限制 |
|
回到顶部 |
|
 |
佩德罗
全球主持人

已加入:2006年9月1日 帖子:2214 地点:硅谷
|
|
|
|
您的JOBCARD成员在错误的库中。 |
|
回到顶部 |
|
 |
尼克·克劳斯顿
全球主持人
加入时间:2007年5月10日 帖子:2455 地点:英国汉普郡
|
|
|
|
插入JOBCARD的代码是什么?您的主题标题表明它是命令。它在这里不可用,所以我想这是当地的设施,所以要问的人是你自己的。 |
|
回到顶部 |
|
 |
阿努·达万(Anuj Dhawan)
高级会员

已加入:2006年4月22日 帖子:6250 地点:印度孟买
|
|
|
|
这是现有主题的第二页-为什么要拖尾现有主题,通常会造成混淆。
乔巴德是线程启动器使用的本地命令(ISEREDIT宏)。曾经说过,如果您在以前的帖子中完全使用了该线程的含义-为什么在天堂会出现此错误:
-您是否使用过其他一些本地命令?
话虽如此,我同意外派人员的意见,这对您的帮助信息很少。您的帖子有太多松散的结局。 |
|
回到顶部 |
|
 |
佩德罗
全球主持人

已加入:2006年9月1日 帖子:2214 地点:硅谷
|
|
|
|
显然,它是作为rexx程序执行的CLIST。 |
|
回到顶部 |
|
 |
Fathima Begum S
新的用户
已加入:2012年5月2日 帖子:3 地点:印度
|
|
|
|
实际上,我正在学习REXX,并且不确定很多概念。
仅从论坛获得了这段代码。
好奇执行它,并在第5行中出现错误。
/ * * /
/ *在成员顶部插入一个作业卡* /
/ * * /
ISREDITMACRO
控制NOCONLIST
ISREDITRECOVERY OFF
ISREDITRESET
ISREDITINSERT: +
ISREDITLINE_AFTER 0 =“ // RAEGVGJ1作业(DWARD,SYS),'ACCOUNTS'”
ISREDITLINE_AFTER 1 =“ // CLASS = 6,”
ISREDITLINE_AFTER 2 =“ // MSGCLASS = T,”
ISREDITLINE_AFTER 3 =“ // NOTIFY =&SYSUID, "
ISREDITLINE_AFTER 4 =“ // MSGLEVEL =(1,1)”
ISREDITLINE_AFTER 5 =“ // *”
退出码(0)
@expat:由于它不完全是我的代码,因此我提到了“ SOLVE”
那里有什么问题........谢谢您的答复。 |
|
回到顶部 |
|
 |
尼克·克劳斯顿
全球主持人
加入时间:2007年5月10日 帖子:2455 地点:英国汉普郡
|
|
|
|
这是一个编辑宏-您在编辑数据集时在命令行上发出命令-而不是按TSO命令名。您是如何调用它的? |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
如果你看看佩德罗写的话...
您显示的代码中没有一行rexx。
ISREDIT前缀的所有内容都将运出进行处理。离开:
码: |
/ * * /
控制NOCONLIST
退出码(0)
|
控制和EXIT是CLIST命令。通过rexx解释器填充它们,当然,CONTROL将被视为无效...。
它不是rexx,因此不是学习rexx的好例子。 |
|
回到顶部 |
|
 |
Fathima Begum S
新的用户
已加入:2012年5月2日 帖子:3 地点:印度
|
|
|
|
感谢您提供的信息。 |
|
回到顶部 |
|
 |
|