LOGON过程
登录procedure和panel
确定登录procedure的位置最简单的方法是在SDSF中查看TSO作业的JCL Message信息;
还可以先找到启动过程JES2:在LOADxx定义的PARMLIB数据集中查找MSTJCLxx, JES2在其中IEFPDSI定义的数据集中。查找在JES2中PROC00, PROC01等DD之下的所有PDS文件; 按照出现的先后顺序在PDS文件中查找TSO logon procedure。
MSTJCLxx由IEASYSxx的参数MSTRJCL指定。
JES2的启动过程名参见COMMNDxx。
在Logon Procedure中可能有两种情况:
直接在
EXEC PGM=IKJEFT01
一行中的PARM中直接给出ISPF Panel的名字,例如:PDF PANEL(ISR@PRIM)
这里ISR@PRIM 就是ISPF Primary Panel。
在EXEC PGM=IKJEFT01一行中的PARM中直接给出一个CLIST或者REXX的名字,让用户登录以后执行该程序。一般在该程序中:
PDF PANEL(ISR@PRIM)
修改登陆界面提示信息
- 记录登陆时的Procedure ===> DBSPROC9
- ADCD.Z110.PROCLIB(DBSPROC9)
- 修改ADCD.Z110.CLIST(ISPFCL) 修改登陆后显示信息 注:使用DBSPROC9,在ISPF的(M More Additional IBM Products)中才有DB2相关项。
修改默认ISPF主界面
- 查找TSO logon procedure(本例中使用DBSPROC9) ADCD.Z110.PROCLIB(DBSPROC9)的参数PARM和SYSPROC决定了使用的CLIST:ADCD.Z110.CLIST(ISPFCL); 这个CLIST中定义了ISPF所必须的数据集。 DBSPROC9中的ISPPLIB DD定义了panel所在的数据集.
- 修改panel 系统默认的ISPF PRIMARY PANEL是ADCD.Z110.ISPPLIB(ISR@PRIM)
- 在文件按合适的位置增加
和S SDSF SDSF Panels
S,'PGM(ISFISP) NEWAPPL(ISF) SCRNAME(SDSF) NOCHECK'
备注
- 在16进制下,可以修改新加项”S SDSF SDSF Panels”显示的颜色:在编辑时HEX ON可以看到预先定义的项目中每个字段之前都有不可见的内容,其为颜色控制。
- 若要对不同的登录过程(Logon Procedure)定义不同的PRIMARY OPTION MENU,一个方法是在登录过程中定义ISPPLIB串联(concatenation),将包含修改过的ISR@PRIM或ISP@MSTR放在系统定义的ISPPLIB串联之前。
定义新的panel
建立一个新的ISPF primary panel的步骤如下:
- 建立一个新的TSO Logon Procedure,并且在RACF中定义并赋予权限。例如拷贝现有的DBSPROC9到TESTPROC,并在RACF中定义TESTPROC。
下面的例子是在RACF中,定义一个新的TSO Logon Procedure: TESTPROC, 并指定用户IBMUSER和ADCDMST可以使用:
RDEFINE TSOPROC TESTPROC UACC(NONE) OWNER(SYS1) PERMIT TESTPROC CLASS(TSOPROC) ID(IBMUSER) PERMIT TESTPROC CLASS(TSOPROC) ID(ADCDMST) SETROPTS RACLIST(TSOPROC) REFRESH
- 在新的TSO logon procedure中指定新的ISPF primary panel,例如:
PDF PANEL(ISP@MSTR)
- 如果使用CLIST或者REXX程序,也需要建立一个新的CLIST或REXX程序。并在其中合适的地方PDF PANEL(ISP@MSTR)
- 建立新的或在原来的基础上修改panel
ISPF Configuration Table
ISPCFIG:默认的Configuration Table Load Module。 TSO ISPCCONF调用ISPF Configuration Table Utility。ISPF Configuration Table Utility可以生成Keyword文件。该数据集必须为已经存在且为PDS,同时如果数据集是变长的话纪录长度至少为255;定长的话至少为251. ISPF Planning and customizing[参考资料3]的Chapter 2. The ISPF Configuration Table中有其详细介绍.
ISPF与ISPSTART
默认情况下,ispf启动ISR@PRIM;ispstart 启动 ISP@MSTR。 如果不带参数执行ISPSTART,将显示ISPF configuration table中的DEFAULT_PRIMARY_PANEL指定的panel,通常是ISP@MSTR。 如果不带参数执行PDF或ISPF,相当于执行 ISPSTART PANEL(panel) NEWAPPL(ISR), panel根据下列规则确定[14]:
- If the default primary panel is ISP@MSTR or is not set, panel=ISR@PRIM
- If the default primary panel is set to any other panel, panel=DEFAULT_PRIMARY_PANEL
其他
在执行 ISPF Primary Option Menu > M More Additional IBM Products > 11 MQ时报错 CSQ600. SCSQMSGE not cataloged。使用3;4(DS List Utility) 也找不到这个数据集(Volume serial 设为);使用*. SCSQMSGE可以找到数据集CSQ700.SCSQMSGE。 根据本节之前的描述,查看ADCD.Z110.ISPPLIB(ISR@PRIM),可以看到M 执行了名为IBMPPRODS的panel,使用TSO ISRDDN命令(参见关于ISPF的Edit Macro)列出系统的数据集,然后m IBMPPRODS查找这个member位于的数据集,对照登陆procedure,这里是ADCD.Z110.PROCLIB(DBSPROC9),中定义的ISPPLIB的顺序找到对应的数据集和member,这里是ADCD.Z110.DBS1.ISPPLIB(IBMPRODS),查看其内容,11, ,'CMD(%CSQOREXX CSQ600...' 可以看到是因为传递的参数CSQ600与系统中数据集不符,修改为CSQ700重新登陆即可。 通过查看登陆过程DBSPROC9和ISPFROC关于ISPPLIB定义的不同,以及不同的IBMPRODS的差异,可以看出本节之前描述的使用DBSPROC9,在ISPF的(M More Additional IBM Products)中才有DB2相关项的原因。