以编程方式更改 PDS 成员的 ISPF 统计信息中的用户 ID
Posted
技术标签:
【中文标题】以编程方式更改 PDS 成员的 ISPF 统计信息中的用户 ID【英文标题】:Change user-id in the ISPF statistics of a PDS member programatically 【发布时间】:2015-08-11 06:35:37 【问题描述】:我正在尝试更改 PDS 中模块的用户 ID 值。
这可以在 ISPF 中以交互方式完成,使用菜单选项 3.5(在非自定义 ISPF 设置中)。
我想使用 Rexx 程序来代替。
【问题讨论】:
如果你想分配任何 ds,你可以使用命令 ""ALLOCATE DA('"dataset_name"') NEW SPACE(20,50) DSORG(PS) RECFM(F,B ) LRECL(80) BLKSIZE(800)" 。我想要这样的命令来重置 id,我们可以使用选项 3.5 Reset Ispf Statistics 选项来做到这一点,但我想要可以在 REXX 程序中使用的命令。跨度> 【参考方案1】:最好使用 ISPF 服务 LMMSTATS。
//TSOBATCH EXEC PGM=IKJEFT01,DYNAMNBR=40,PARM='ISPSTART CMD(%GENDIAG)'
//ISPPROF DD DSN=&&T,DISP=(,PASS),SPACE=(CYL,(10,10,10),RLSE),
// DCB=(SYS1.PARMLIB)
//ISPMLIB DD DSN=SYS1.SISPMENU,DISP=SHR
//ISPPLIB DD DSN=SYS1.SISPPENU,DISP=SHR
//ISPSLIB DD DSN=SYS1.SISPSENU,DISP=SHR
// DD DSN=SYS1.SISPSLIB,DISP=SHR
//ISPTLIB DD DSN=SYS1.SISPTENU,DISP=SHR
//SYSPROC DD DSN=&SYSUID..GENDIAG,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD DUMMY,DCB=BLKSIZE=80
//SYSTSIN DD DUMMY,DCB=BLKSIZE=80
/**********************************************************************/
/* RESET ISPF STATS TO USERID ISPF_USERID */
/**********************************************************************/
ISPFSTATS:PROCEDURE
PARSE ARG ISPF_DSN,ISPF_MEMBER,ISPF_USERID
ADDRESS ISPEXEC
"LMINIT DATAID(DATAID) DATASET('"ISPF_DSN"') ENQ(SHR)"
"LMOPEN DATAID("DATAID")"
"LMMSTATS DATAID("DATAID") MEMBER("ISPF_MEMBER"),USER("ISPF_USERID")"
LMMSTATS_RC=RC
"LMFREE DATAID("DATAID")"
RETURN LMMSTATS_RC
我已将 JCL 和代码从这里粘贴在一起,http://ibmmainframeforum.com/viewtopic.php?f=18&t=1772,由用户 ehrocha 提供。
您应该在 Internet 上找到 IBM 免费提供的 Interactive System Productivity Facility (ISPF) Services Guide,用于您的 z/OS 版本。在那里,您可以找到 LMMSTATS 的完整文档以及所有其他可用的 ISPF 服务。
【讨论】:
值得感谢的是ehrocha,我只是做了搜索引擎和粘贴。如果您在遇到问题时进行一些研究,那就很多了。以上是关于以编程方式更改 PDS 成员的 ISPF 统计信息中的用户 ID的主要内容,如果未能解决你的问题,请参考以下文章
从 rexx 代码向 ispf 宏传递参数时出现无效长度错误