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

Scripting TSO 测试


IBM大型机论坛 -> 清单& REXX
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
哈罗德·巴恩斯

新的用户


已加入:2015年10月27日
帖子:30
所在地:美国

发布发表:2020年4月15日星期三上午7:19
引用回复

我正在开发一个简单的REXX脚本,将TSO 测试命令排入队列
测试 <ALC module> LOAD

The queued commands are "在+ xxx" breakpoints (listpsw; GO)

我想将EXEC添加到断点以调用单独的脚本来评估psw数据。我需要检查条件代码并根据CC值进行写入。

如何将PSW数据传递给子脚本?
回到顶部
查看用户资料 发送私信
史蒂夫·迈尔斯

活跃成员


已加入:2013年11月30日
帖子:870
地点:宇宙

发布发表:2020年4月15日星期三上午9:27
引用回复

我敢打赌,您可以在TSO 测试断点处运行TSO EXEC命令。如果可以,您可以捕获LISTPSW输出并从中提取条件代码。
码:
PSW位于9C6108                                     
  XRXXXTIE   KEY  XMWP  AS CC  PROGMASK  EA BA  INSTR ADDR
  00000111    8   1101  00 00    0000     0  0   0002AFFA
回到顶部
查看用户资料 发送私信
佩德罗

全球主持人


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

发布发表于:2020年4月16日,星期四10:23上午
引用回复

I think this is one of the few instances where 清单is better than Rexx.

I think in your CLIST, you can issue your 测试 command and then subsequent 清单statements can include your AT statements.
回到顶部
查看用户资料 发送私信
史蒂夫·迈尔斯

活跃成员


已加入:2013年11月30日
帖子:870
地点:宇宙

发布发表:2020年4月16日(星期四)下午4:29
引用回复

好吧,偶然地,我发现您可以在TSO 测试中发出EX(EXEC)命令,尽管我不能说您是否可以从OUTTRAP检索数据。我想不出任何方法来区分来自TEST的消息还是来自程序的陷阱消息。

这是Rexx可能比CLIST更好的地方。 Rexx EXEC在理论上可以运行RB链,找到“您的” RB,尽管它可以可靠地确定哪个RB是“您的” RB,并从“您的” RB中的PSW检索条件代码。只是一个想法;推断是否找到“您的” RB的一种方法是查看RB中的中断代码。如果中断代码是TEST用于强制AT捕获的SVC指令的代码,则您已找到“您的” RB。我无法猜测是否可行。好吧,祝您好运,让我们知道您的发现。
回到顶部
查看用户资料 发送私信


新的用户


加入:2021年1月15日
帖子:1
位置:PL

发布发表:2021年1月16日星期六4:07 am
引用回复

当我想将当前指令的绝对地址传递给TSO 测试 LIST子命令时,我遇到了类似的挑战。我不想使用“ LIST +0 I”,因为我也希望在输出中使用绝对地址。因此,我必须解析LISTPSW输出以获取当前地址,然后将其传递给LIST。我用嵌套的CLIST解决了它。

The JCL runs a TSO 测试 script that executes a 清单called STEP at each breakpoint.
码:


 BROWSE    ZMONEY.JCL(TEST) - 01.92                 线0000000000列001080
 Command ===>                                                  Scroll ===> PAGE
**************************************数据顶部************** ********************
//ZMONEYT 工作(AO13ICC0),'TEST',                                               
// CLASS = C,MSGCLASS = X,COND =(4,LT),                                             
//  MSGLEVEL=(1,1),REGION = 0M,NOTIFY = ZMONEY,                                   
//  TIME=1440,LINES=(999999,WARNING),                                           
// USER = ZMONEY                                                                 
// **************************************************** **********************       
// STD1     OUTPUT CLASS=X                                                       
// **************************************************** **********************       
// STEP010 执行PGM = IKJEFT01,DYNAMNBR = 20                                       
// SYSTSPRT DD SYSOUT =(,),OUTPUT=(*.STD1)                                       
// SYSTSIN  DD *                                                                 
测试 'ZMONEY.PLI.LOAD(LAB)'                                                   
哪里                                                                           
AT +40:+B0 (EX STEP)                                                           
AT +60:+B0 (EX STEP)                                                           
GO                                                                             
**********************************数据底部*************** *****************


The STEP 清单parses the LISTPSW output and executes a 清单called LI, passing it the address in the PSW.
码:


 BROWSE    ZMONEY.STEP.CLIST                        线0000000000列001080
 Command ===>                                                  Scroll ===> PAGE
**************************************数据顶部************** ********************
组&SYSOUTTRAP = 3                                                             
LISTPSW                                                                         
写&SYSOUTLINE1                                                             
写&SYSOUTLINE2                                                             
写&SYSOUTLINE3                                                             
写                                                                           
组&SYSOUTTRAP = 0                                                             
                                                                               
/ *解析PSW中的地址并通过LI                                     
李LI&SUBSTR(50:58,&SYSOUTLINE3)' LIST                                       
写                                                                           
                                                                               
清单0R:15R                                                                     
写                                                                           
GO                                                                             
**********************************数据底部*************** *****************


The LI 清单passes the address to the TSO 测试 LIST subcommand.
码:

 BROWSE    ZMONEY.LI.CLIST                          线0000000000列001080
 Command ===>                                                  Scroll ===> PAGE
**************************************数据顶部************** ********************
PROC 1地址                                                                     
  LIST &ADDR.. I                                                               
**********************************数据底部*************** *****************


我在输出中得到绝对地址。
码:

 SDSF输出显示ZMONEYT  J0051142  DSID   102 LINE 0       COLUMNS 02- 81
模式数据     
 COMMAND INPUT ===>                                            SCROLL ===> PAGE
**************************************数据顶部************** ********************
准备                                                                           
测试 'ZMONEY.PLI.LOAD(LAB)'                                                   
测试                                                                           
哪里                                                                           
 24A01EF0。位于+0      IN 实验室     .CEESTART位于TCB下,位于8A44C8。
测试                                                                           
AT +40:+B0 (EX STEP)                                                           
IKJ57305I在+ 04范围开始时没有断点+40 +         
IKJ57305I无效的操作码                                                       
测试                                                                           
AT +60:+B0 (EX STEP)                                                           
IKJ57305I没有+ 4A范围开始的断点+60 +         
IKJ57305I无效的操作码                                                       
测试                                                                           
GO                                                                             
IKJ57024I AT +40                                                               
IKJ57652I PSW位于8A46E0                                                 
  XRXXXTIE   KEY  XMWP  AS CC  PROGMASK  EA BA  INSTR ADDR                     
  00000111    8   1101  00 00    0110     0  1   24A01E18                       
                                                                               
LIST 24A01E18。 I                                                               
24A01E18。    BC      15,36(,R15)                                    00000000   
                                                                               
 0R  00022C4C   1R  00029928   2R  00029928   3R  24EF7968                     
 4R  24A01EE4   5R  00000000   6R  24EF8967   7R  00000001                     
 8R  00029808   9R  00000008  10R  00000000  11R  000510B0                     
12R  0002AC30  13R  000511C0  14R  A4EF809E  15R  24A01E18                     
                                                                               
IKJ57024I AT +4从+60                                                       
IKJ57652I PSW位于8A46E0                                                 
  XRXXXTIE   KEY  XMWP  AS CC  PROGMASK  EA BA  INSTR ADDR                     
  00000111    8   1101  00 00    0110     0  1   24A01E3C                       
                                                                               
LIST 24A01E3C。 I                                                               
24A01E3C。    STM     R14,R4,12(R13)                                 00000000   
                                                                               
 0R  00022C4C   1R  00029928   2R  00029928   3R  24EF7968                     
 4R  24A01EE4   5R  00000000   6R  24EF8967   7R  00000001                     
 8R  00029808   9R  00000008  10R  00000000  11R  000510B0                     
12R  0002AC30  13R  000511C0  14R  A4EF809E  15R  24A01E18                     
                                                                               
IKJ57024I AT +8从+60                                                       
IKJ57652I PSW位于8A46E0                                                 
  XRXXXTIE   KEY  XMWP  AS CC  PROGMASK  EA BA  INSTR ADDR                     
  00000111    8   1101  00 00    0110     0  1   24A01E40                       
                                                                               
LIST 24A01E40。 I                                                               
24A01E40。    L       R14,76(,R13)                                   00000000   
                                                                               
 0R  00022C4C   1R  00029928   2R  00029928   3R  24EF7968                     
 4R  24A01EE4   5R  00000000   6R  24EF8967   7R  00000001                     
 8R  00029808   9R  00000008  10R  00000000  11R  000510B0                     
12R  0002AC30  13R  000511C0  14R  A4EF809E  15R  24A01E18                     

...

                                                                               
IKJ57024I AT +46从+60                                                       
IKJ57652I PSW位于8A46E0                                                 
  XRXXXTIE   KEY  XMWP  AS CC  PROGMASK  EA BA  INSTR ADDR                     
  00000111    8   1101  00 00    0110     0  1   24A01E7E                       
                                                                               
LIST 24A01E7E。 I                                                               
24A01E7E。    BALR    R1,R14                                         00000000   
                                                                               
 0R  00000000   1R  A4EADEF6   2R  00029928   3R  24EF7968                     
 4R  24A01EE4   5R  00000000   6R  24EF8967   7R  00000001                     
 8R  00029808   9R  00000008  10R  00000000  11R  000510B0                     
12R  0002AC30  13R  000511C0  14R  A4EF809E  15R  00000000                     
                                                                               
IKJ57023I PROGRAM UNDER 测试 HAS TERMINATED NORMALLY+                           
IKJ57023I断点设置仍然有效                                       
测试                                                                           
结束                                                                             
********************************数据底部*************** *****************



这是加载模块的PL / I源。
码:

 BROWSE    ZMONEY.PLI(LAB) - 01.05                  线0000000000列001080
 Command ===>                                                  Scroll ===> PAGE
**************************************数据顶部************** ********************
 HELLO: PROCEDURE OPTIONS (MAIN);                                       00010003
     DCL ABCDEFG PTR;                                                   00020005
     ABCDEFG = ADDR(ABCDEFG);                                           00021005
 END;                                                                   00030003
**********************************数据底部*************** *****************


这是我用来编译/链接的JCL。
码:

 BROWSE    U2D4705.JCL(PLITEST) - 01.47             线0000000000列001080
 Command ===>                                                  Scroll ===> PAGE
**************************************数据顶部************** ********************
// ZMONEYP   JOB (AO13ICC0),'ZMONEYP',                                           
//  CLASS=C,MSGCLASS=X,                                                         
//  COND=(4,LT),                                                               
// NOTIFY = ZMONEY,MSGLEVEL =(1,1),REGION=0M,                                     
//  TIME=1440,LINES=(999999,WARNING)                                           
// **************************************************** **********************       
//  组=LAB                            SOURCE NAME                         
//  组PGM=LAB                            LOAD MODULE NAME                     
// SET PLICOMP ='SYS1.VAPLI.V3R5.SIBMZCMP'PLI编译器LOADLIB                 
// SET DTLIB ='EQAW.SEQAMOD'               DEBUG TOOL LOADLIB                   
//  组LEHLQ='SYS1'                       LE HIGH LVL资格赛               
//  组联合开发=SYSDA                      UNIT FOR TEMP FILES                 
// **************************************************** **********************       
// COMPILE EXEC PGM = IBMZPLI,REGION = 0M,                                           
// PARM =('+DD:OPTIONS')                                                         
//选项  DD *                                                                 
   MAP,OBJECT,LIST                                                             
/*                                                                             
// SYSUT1   DD SPACE=(CYL,(5,2),,CONTIG),DCB = BLKSIZE = 1024,UNIT =&UNITDEV         
// SYSPRINT DD SYSOUT = *                                                         
// STEPLIB  DD DSN =&PLICOMP,DISP=SHR                                             
//         DD DSN=&LEHLQ..SCEERUN,DISP = SHR                                     
// SYSLIB   DD DISP = SHR,DSN = ZMONEY.PLINCL                                       
// SYSIN    DD DSN =ZMONEY.PLI(&MEM),DISP=SHR                                     
// SYSLIN   DD DSN = ZMONEY.PLI.OBJ(&MEM),DISP=SHR                                 
// **************************************************** **********************       
//链接     EXEC PGM = HEWL,PARM ='XREF,LET,LIST,CALL',区域= 2M                   
// SYSUT1   DD DSN=&&SYSUT1,SPACE=(1024,(120,120),,,ROUND),                     
//           UNIT = SYSDA,DCB = BUFNO = 1                                           
// SYSPRINT DD SYSOUT = *                                                         
// SYSLIN   DD DSN = ZMONEY.PLI.OBJ(&MEM),DISP=(OLD,KEEP)                         
// SYSLIB   DD DSN = SYS1.SCEELKED,DISP = SHR                                       
// SYSLMOD  DD DSN =ZMONEY.PLI.LOAD(&MEM),DISP=SHR                               
//                                                                             
**********************************数据底部*************** *****************
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> 清单& REXX

 


类似主题
话题 论坛 回覆
没有新帖 抄写本在...中获取不正确的值 COBOL程式设计 7
没有新帖 Probléme复制一个生产文件 异常与调试 1
没有新帖 进行级别验证以首先测试... JCL和VSAM 10
该主题已锁定:您无法编辑帖子或回复。 TSO 测试 writing to dataset IBM工具 3
没有新帖 Mask(TM)指令下的测试 PL / I和组装商 7
搜索我们的论坛:

回到顶部