IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

调用"Jobcard"REXX例程中的命令


IBM大型机论坛 -> TSO / ISPF
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
Atpsmp

新的用户


已加入:2008年9月23日
帖子:14
地点:钦奈

发布发表:2009年2月25日,星期三,下午5:29
引用回复

大家好,
我创建了一个工具,其中的生产JCL将被转换为测试区域。它将提示用户输入诸如High Level Qualifier等之类的信息。

考虑到这一点,在我的大型机ID中,有一个名为“ JOBCARD”的选项。通过在命令行中简单地键入命令JOBCARD,包含用户信息的作业卡将被添加到JCL中。

我希望在REXX例程中调用此命令,以便在复制所有PDS成员之后,第一步是更改工作卡。

我编码如下:
码:

JUNK_JC =外出(JB_LINE.)                                   
地址TSO"JOBCARD"                                     
JUNK_JC =外出("OFF")   


但是它没有捕获工作卡。
任何人都可以谈谈决议或提出其他任何方式满足我的要求。
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2009年2月25日,星期三,下午6:13
引用回复

这是某种特定于站点的例程,因此您需要联系站点支持小组以了解如何使用它。
回到顶部
查看用户资料 发送私信
超级

全球主持人


已加入:2004年4月26日
帖子:4650
地点:美国北卡罗来纳州罗利

发布发表:2009年2月25日,星期三,8:06 pm
引用回复

Atpsmp写道:
...有一个名为“ JOBCARD”的选项。通过在命令行中简单地键入命令JOBCARD,包含用户信息的作业卡将被添加到JCL中。


好的,是时候提出一个愚蠢的问题了。当您键入命令“ JOBCARD”时,它如何知道您希望工作卡进入哪个PDS的哪个成员?是否有必须传递给它的参数?我注意到您尝试了外发。它是否只是将工作卡详细信息显示在屏幕上,我想您会在其中将其剪切并粘贴到工作中?
回到顶部
查看用户资料 发送私信
德巴布拉塔·普鲁斯(Debabrata Pruseth)

新的用户


已加入:2008年12月11日
帖子:59
地点:印度浦那

发布发表:2009年2月26日,星期四,凌晨3:15
引用回复

我有一个类似的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
地点:钦奈

发布发表:2009年2月27日,星期五,下午1:51
引用回复

哎嗨..

通过在相应的成员命令行中输入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需要花时间,所以我想一次完成所有成员的整个操作).....

请任何人帮帮我....... icon_sad.gif
回到顶部
查看用户资料 发送私信
外籍人士

全球主持人


已加入:2007年3月14日
帖子:8794
地点:威尔士威尔士

发布发表:2009年2月27日,星期五2:02 pm
引用回复

从以前的帖子-有条件地更新成员,但您可以轻松地对其进行更改以更新所需的内容

驱动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
地点:钦奈

发布发表:2009年2月27日,星期五,下午2:51
引用回复

哎嗨..
感谢外籍人士的即时回复。
正如您在下面提到的,我已经尝试了您的逻辑。这是工作.. icon_biggrin.gif 我很少担心。见下文:

1)是否可以在我的完整REXX例程中使用宏来执行此JOBCARD,包括复制PDS和我为JCL的测试版本所做的其他一些要求???我可以用我的整个逻辑满足JOBCARD的要求吗???
2)JOBCARD命令将仅包括新的工作卡。它不会删除或注释掉现有的工作卡。我希望旧的工作卡被删除或注释掉。 icon_redface.gif
回到顶部
查看用户资料 发送私信
外籍人士

全球主持人


已加入:2007年3月14日
帖子:8794
地点:威尔士威尔士

发布发表:2009年2月27日,星期五,下午3:41
引用回复

查找第一个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
地点:钦奈

发布发表:2009年2月27日,星期五,下午4:01
引用回复

哎嗨,

我已经完成了您所说的更改。请参阅下面的观察:
有两个成员: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
地点:威尔士威尔士

发布发表:2009年2月27日,星期五,下午4:05
引用回复

我给您的代码应作为编辑宏执行。
回到顶部
查看用户资料 发送私信
Atpsmp

新的用户


已加入:2008年9月23日
帖子:14
地点:钦奈

发布发表:2009年3月2日,星期一11:06 am
引用回复

你好

现有作业卡不会被删除。
请参阅我的主要代码和下面的宏:

我的主要代码是:
码:

/ * 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
地点:以色列

发布发表:2009年3月2日,星期一2:36 pm
引用回复

外籍人士写道:
查找第一个EXEC卡,然后删除所有内容,直到EXEC卡

请注意,您可能在第一个EXEC之前拥有JOBLIB DD!
回到顶部
查看用户资料 发送私信
Atpsmp

新的用户


已加入:2008年9月23日
帖子:14
地点:钦奈

发布发表:2009年3月2日星期一3:48 pm
引用回复

嗨大家好,

我得到了整个工具。我的工作卡正在通过找到JOB关键字删除。
还插入了新的作业卡。
我已经将这两个概念嵌入REXX工具中,并且也很好用。

非常感谢大家的支持。 icon_lol.gif icon_biggrin.gif
回到顶部
查看用户资料 发送私信
Atpsmp

新的用户


已加入:2008年9月23日
帖子:14
地点:钦奈

发布发表:2009年3月3日,星期二,下午2:55
引用回复

上述问题还有另外一个问题。
请参阅下面的代码以了解编辑宏:

码:

/ * 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
地点:钦奈

发布发表:2009年3月3日,星期二,下午3:00
引用回复

在进行以下答复之前,标签应设置为A或B,以便它在删除现有作业卡后添加作业卡,如下所示(reg标签)

码:

命令===>  jobcard                                         Scroll ===> CSR 
****** ******************************数据顶部************ ******************
00A001 / * REXX * /                                                             
000002 / **                 **/
000003 / **             并插入新的工作卡                       **/
000004     
                                                                   
回到顶部
查看用户资料 发送私信
Fathima Begum S

新的用户


已加入:2012年5月2日
帖子:3
地点:印度

发布发表:2012年5月4日,星期五3:18 pm
引用回复

嗨Atpsmp

当我尝试使用代码插入工作卡时,出现错误
IKJ56500I未找到命令控制
5 *-* CONTROL NOCONLIST
+++ RC(-3) +++
8 +++ +

请尝试解决这个问题……


提前致谢...
回到顶部
查看用户资料 发送私信
外籍人士

全球主持人


已加入:2007年3月14日
帖子:8794
地点:威尔士威尔士

发布发表:2012年5月4日,星期五,下午4:49
引用回复

解决这个问题 ?那不是现实吗 您的 job

有了您与我们分享的大量信息,也许我们就可以在获得足够信息之前进行128个问题的解答。

您是否在执行过程中跟踪了代码,是否发布了代码,是后台执行还是前台执行,是否无限制
回到顶部
查看用户资料 发送私信
佩德罗

全球主持人


已加入:2006年9月1日
帖子:2214
地点:硅谷

发布发表:2012年5月4日,星期五7:10 pm
引用回复

您的JOBCARD成员在错误的库中。
回到顶部
查看用户资料 发送私信
尼克·克劳斯顿

全球主持人


加入时间:2007年5月10日
帖子:2455
地点:英国汉普郡

发布发表:2012年5月4日星期五8:12下午
引用回复

插入JOBCARD的代码是什么?您的主题标题表明它是命令。它在这里不可用,所以我想这是当地的设施,所以要问的人是你自己的。
回到顶部
查看用户资料 发送私信
阿努·达万(Anuj Dhawan)

高级会员


已加入:2006年4月22日
帖子:6250
地点:印度孟买

发布发表:2012年5月4日星期五8:21下午
引用回复

这是现有主题的第二页-为什么要拖尾现有主题,通常会造成混淆。

乔巴德是线程启动器使用的本地命令(ISEREDIT宏)。曾经说过,如果您在以前的帖子中完全使用了该线程的含义-为什么在天堂会出现此错误:
引用:
IKJ56500I命令 控制 未找到
-您是否使用过其他一些本地命令?

话虽如此,我同意外派人员的意见,这对您的帮助信息很少。您的帖子有太多松散的结局。
回到顶部
查看用户资料 发送私信
佩德罗

全球主持人


已加入:2006年9月1日
帖子:2214
地点:硅谷

发布发表:2012年5月4日,星期五10:24 pm
引用回复

显然,它是作为rexx程序执行的CLIST。
回到顶部
查看用户资料 发送私信
Fathima Begum S

新的用户


已加入:2012年5月2日
帖子:3
地点:印度

发布发表:2012年5月7日星期一12:21 pm
引用回复

实际上,我正在学习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
地点:英国汉普郡

发布发表:2012年5月7日星期一12:55 pm
引用回复

这是一个编辑宏-您在编辑数据集时在命令行上发出命令-而不是按TSO命令名。您是如何调用它的?
回到顶部
查看用户资料 发送私信
比尔·伍德格

主持人荣誉


加入时间:2011年3月9日
帖子:7311
位置:矩阵内部

发布发表:2012年5月7日星期一12:58 pm
引用回复

如果你看看佩德罗写的话...

您显示的代码中没有一行rexx。

ISREDIT前缀的所有内容都将运出进行处理。离开:


码:
/ * * /

控制NOCONLIST
 
退出码(0)


控制和EXIT是CLIST命令。通过rexx解释器填充它们,当然,CONTROL将被视为无效...。

它不是rexx,因此不是学习rexx的好例子。
回到顶部
查看用户资料 发送私信
Fathima Begum S

新的用户


已加入:2012年5月2日
帖子:3
地点:印度

发布发表:2012年5月7日星期一2:06 pm
引用回复

感谢您提供的信息。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> TSO / ISPF 转到页面 1, 2  下一页

 


类似主题
话题 论坛 回覆
没有新帖 DB2I面板中的命令行放置 TSO / ISPF 2
没有新帖 从REXX调用FTP的任何示例吗? 清单和REXX 1
没有新帖 SummeRx:REXX z / OS的新框架 清单和REXX 6
没有新帖 更改存在的LRECL的命令... JCL和VSAM 7
没有新帖 使用REXX访问SDSF;我是什么 ... 清单和REXX 38
搜索我们的论坛:


回到顶部