版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
说明:本人写这个课件资料,只是凭据自己多年工作经验的一些体会,不具完整性,肯定也存在谬误,但可具有实用性的参考价值!–
2012.2.29ISPF/PDFISPFISPF是在TSO环境下开发的一个系统产品,是为交互式应用提供服务的会话管理器。ISPF在不同的主机(MVS、VM、VSE)系统环境中提供允许会话处理的控制和服务
。它以交互式的会话处理方式向终端用户提供了一系列的菜单功能与Utility,大大方便了用户在TSO环境下的工作。PDFPDF是一个帮助终端用户在交互式环境下开发不同会话应用的工具,其目的是在一个交互环境中增强程序员的开发功能与效率。PDF帮助程序员最大化地简化公共编程任务,避免乏味与复杂性地操作,它既可以结构化、也可以使用传统的编程技术来实施。ISPF/PDFISPF是为PDF和其它交互式应用提供服务的基本产品,而PDF是在ISPF的控制和服务下以会话方式运行。Host
System
Services(MVS/TSO,VM,VSE)ISPFDialog
ManagementServicesDialogsProgramDevelopmentFacilityUserApplication
BUserApplication
AUserApplication
CISPF
EnvironmentISPF会话管理功能Dialog
Management
Function一个ISPF会话管理主要包括:Selection
Panelss_
面板的菜单选择Function
commands
or
programs_
命令/程序的功能Data
entry
Panels
_
数据输入屏幕Dialog
Starting
with
a
Selection
PanelSelectionPanelSelectionPanelSelectionPanelDataEntryPanelsDataEntryPanelsDialogFunctionDialogFunctionUtilities
Compilers
Options
Status
Help-ISPF
Primary
OptionOption
===>
3.40SettingsTerminal
and
user
parametersUser
ID.
:
XP991ViewDisplay
source
data
or
listingsTime.
.
.:
10:482EditCreate
or
change
source
dataTerminal.
:
32783UtilitiesPerform
utility
functionsScreen.
.
:
14ForegroundInteractive
language
processingLanguage.
:
ENGLISH5BatchSubmit
job
for
language
processingAppl
ID.
:
ISR6CommandEnter
TSOor
Workstation
commandsTSO
logon
:
ISPFPROC7Dialog
TestPerform
dialog
testingTSO
prefix:9IBM
ProductsIBM
program
development
productsSystem
ID
:
P390MVS
acct.
:
ACCT#Release
.
:
ISPF
5.510
SCLM11WorkplaceM
MoreSWConfiguration
Library
ManagerISPF
Object/Action
WorkplaceAdditional
IBM
ProductsRefList
RefMode
Utilities
HelpData
Set
List
UtilityOption
===>blank
Display
data
set
listV
Display
VTOC
informationP
data
set
list
PVPrint
VTOC
informationEnter
one
or
both
of
the
parameters
below:Dsname
Level
.
.
.
XP99Volume
serial
.
.Data
set
list
optionsEnter
"/"
to
select
optionInitial
View
.
.
.
1VolumeSpaceAttribTotal/
Confirm
Data
Set
Delete/
Confirm
Member
Delete/
Include
Additional
Qualifiers/
Display
Catalog
NameWhen
the
data
set
list
isdisplayed,
enter
either:"/"
on
the
data
set
list
command
field
for
the
command
prompt
pop-up,Selection
-Panel
_1Options
View
Utilities
Compilers
Help-----------------------------------------------------------------------DSLIST
-
Data
Sets
Matching
XP99 Row
1
oCommand
===>
Scroll
===>Command
-
Enter
"/"
toselect
action
Message
VoXP99.CLISTXP99.DISPXP99.DITPROFXP99.HCD.MSGLOGXP99.HCD.TERMXP99.HCD.TRACEXP99.ISPF.ISPPROFXP99.LOADXP99.SDSFOUTTLIOWOTSTSTSTSOSUSTSTS-fCl-DOOOO3OO*****************************
End
of
Data
Set
list
***********************EDIT
XP99.CLIST(TEST4)
-
01.17Command
===>Columns
00001
00072Scroll
===>
CSR******
*****************************Top
of
Data******************************000001
PROC
0000002
CONTROL
NOLIST
NOPROMPT
NOMSG
NOCONLIST000003
SUB:
SUBMIT
*
END(XX)000004
//&SYSUID.L
JOB
1,HXP,CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A000005
//LISTC
EXEC
PGM=IEHLIST000006
//DD1
DD
UNIT=SYSDA,VOL=SER=TSO001,DISP=SHR000007
//SYSPRINT
DD
DSN=VTOC.LIST,DISP=SHR000008
//SYSIN
DD
DSN=XP99.CLIST(LISTV),DISP=SHR000009
XX000010 SET
&NU
=
99999000011
LOP:
SET
&NU
=
&NU
-
1000012 IF
&NU
NE
0
THEN
GOTO
LOP000013
ISPEXEC
BROWSE
DATASET('VTOC.LIST')
VOLUME(TSO001)000014
END******
****************************
Bottom
of
Data
****************************SelectionPanel_
2SelectionPanel_
3Data
EntryPanelsDialog
Starting
with
a
FunctionSelectionPanelSelectionPanelDataEntryPanelsDataEntryPanelsDialogFunctionDialogFunctionSTARTDisplaySelectSelectionPanelSelectionPanelDialogFunctionDialogFunctionSelectSelectISPF的调用是通过ISPSTART命令或定义一个ALIAS别名来实现的(键字参数用于定义第一个菜单显示或得到接收控制的第一个会话功能).一个会话所含的要素Element
of
aDialog一个会话包括:Panel
Definition _
菜单定义Function _
功能Message _
信息File
Tailoring
Skeletons _
文件骨架裁剪Tables _
表格)选择面板(Selection
Panel
or数据输入屏幕(Data
Entry
Panel)表格显示(Table
Display
Panel)_如在一个PO中对member的选择仅显示信息的屏幕(Information
Only
Panel)_
如指南性的TutorialPANEL
Definitions_面板定义s)
*
Data
entry
Panels*
Data
Display
PanelsPDF有五种基本面板类型:Selection
Panels(MemberSelection
listsTable
Display
Panels/*********************************************************************//*
ALLOCATE
ISPPLIB
DATASETS
*//*********************************************************************/ALLOCFI(ISPPLIB)SHR
DA(
+'CENTER.ISPPLIB' /*
LOCAL
*/
+..'SYS1.DGTPLIB'/*DFSMS*/+'DFSORT.SICEPENU'/*DFSORT*/+'FFST.SEPWPENU'/*FFST*/+'GDDM.SADMPNL'/*GDDM*/+'SYS1.SCBDPENU'/*HCD*/+'ICSF.SCSFPNL0'/*ICSF*/+'ISP.SISPPENU'/*ISPF*/+'SYS1.SHASPNL0'/*JES2*/+'RMF.SERBPENU'/*RMF*/+'ISF.SISFPLIB'/*SDSF*/+'SYS1.HRFPANL'/*RACF*/+'GIM.SGIMPENU'/*SMP/E*/+'ICQ.ICQPLIB'/*TSO/E*/+..'TCPIP.SEZNU')/*TCPIP*/PANELDefinitionsData
set..)ABCINIT.ZVARS=UTILHELP)BODYCMD(ZCMD)HelpUtility
Selection
PanelOption
===>
ZSAREA39)AREA
SAREA39LibraryData
SetCompress
or
data
set. Print
indrename,
delete,
browse,
edit
or
viewAllocate,
rename,
delete,
catalog,
uncMove/CopyDslistinformation
of
an
entire
data
setMove,
or
copy
members
or
data
setsPrint
or
display
(to
process)
list
ofPrint
or
display
VTOC
informationReset
statistics
for
members
of
ISPFlInitiate
outputDownload
ISPF
Client/Server
or
TransfeDisplay,
delete,
or
held
job
out5
Reset6TransferOutlistCommandsFormatSuperCSupermenSearch-ForCreate/change
an
application
command
tFormat
definition
for
formatted
data
ECompare
data
setsCompare
data
sets
ExtendedSearch
data
sets
for
strings
of
data15
Search-ForE
Search
data
sets
for
strings
of
data
ETablesUdlistISPF
Table
UtilityPrint
or
display
(to
process)
z/OS
UNI)INIT.ZVARS
=
'(ZCMD)’.HELP
=
ISR30000.ATTR(ZCMD)='PADC(USER)’)PROC&ZCMDWRK
=&ZIF
(&ZCMD
^=
&Z)&ZCMDWRK
=
TRUNC(&ZCMD,'.')&ZTRAIL=.TRAILIF
(&ZCMDWRK
=
&Z).MSG=ISRU000&ZSEL
=
TRANS
(TRUNC(&ZCMD,'.')1,'PGM(ISRUDA)
PARM(ISRUDA1)
SCRNAME(LIBUTIL)’2,'PGM(ISRUDA)
PARM(ISRUDA2)
SCRNAME(DSUTIL)’3,'PGM(ISRUMC)
SCRNAME(MCOPY)’4,'PGM(ISRUDL)
PARM(ISRUDLP)
SCRNAME(DSLIST)’5,'PGM(ISRURS)
SCRNAME(RESET)’6,'PGM(ISRUHC)
SCRNAME(
)’7,'PANEL(ISPUDL)
SCRNAME(DOWNLOAD)’8,'PGM(ISRUOLP)
SCRNAME(OUTLIST)’9,'PANEL(ISPUCMA)
ADDPOP
SCRNAME(CMDTABLE)’11,'PGM(ISRFMT)
SCRNAME(FORMAT)’12,'PGM(ISRSSM)
SCRNAME(SUPERC)’13,'PGM(ISRSEPRM)
SCRNAME(SUPERCE)
NOCHECK’14,'PGM(ISRSFM)
SCRNAME(SRCHFOR)’15,'PGM(ISRSEPRM)
PARM(S4)
SCRNAME(SRCHFORE)
NOCHECK’16,'PGM(ISRUTABL)
NEWPOOL
SCRNAME(TBLUTIL)’17,'PGM(ISRUUDL)
PARM(isruudlp)
SCRNAME(UDLIST)'..PANEL
Definitions例:主菜单面板定义ISP.SISPPENU(ISRUTIL)FUNCTION(or
Dialog
Fuction)FUNCTION可以是一个CLIST命令序列,也可以是一个程序,它执行用户所要求的工作。一个函数可以用CLIST来编写,也可以用
PL/I、COBOL、FORTRAN、ASM
(汇编)来编写,以前台方式运行。每个函数可以由上述不同的语言书写成装入模块。如在CLIST的书写中,调用COBOL/FORTRAN等模块。用户可以用调用
FUNCTION
来为自已服务,例:在CLIST/REXX中,使用ISPEXEC:ISPEXEC
DISPLAYPANEL(XYZ)
XYZ是用户设计的一个屏幕调用一个程序,如在FORTRAN程序中书写为:ISPLINK(‘DISPLAY’,‘PRG’)
PRG是一个程序/*************************************************************//*
ALLOCATE
SYSEXEC
DATASETS
*//*************************************************************/ALLOC
FI(SYSEXEC)SHR
DA(
+'SYS1.SBPXEXEC'/*OMVS*/+'BOOKMAN.SEOYCLIB'/*BOOKMAN*/+'FFST.SEPWSRC1'/*FFST*/+'ISP.SISPEXEC'/*ISPF*/+'ISF.SISFEXEC'/*SDSF*/+'DCE.SEUVEXEC'/*DCE*/+'DFS.SIOEEXEC'/*DFS*/+'INFOPRT.SAOPEXEC''LDAP.SGLDEXEC')/*/*INFOPRINTLDAP*/*/+FUNCTIONData
Setarg
dsname
format
.rc=listdsi(dsname)If
rc=0
Then
'ALLOC
REU
F(ISPMLIST)DA('''sysdsname''')SHR'If
rc=0
ThenDoSay
'Dsname:'sysdsname'
Volume:'sysvolume' Unit:'
sysunit'ALLOC
F(SYSPRINT)
REUSE
SP(10,50)TRACKS
NEW
DEL
DSO(PS)LRECL(121) BLK(4840)
RECFM(F
B)
RELEASE''ALLOC
F(SYSIN)
REUSE
SP(1)TRA
NEW
DEL
DSO(PS)
RECF(F)
LREC(80)'if
substr(format,1,1)='F'
then
fmt=',FORMAT';else
fmt=',DUMP'cmd.1='
LISTPDSDSNAME='sysdsname',VOL='sysunit'='sysvolume||fmtcmd.2='
LISTVTOC
DSNAME='sysdsname',VOL='sysunit'='sysvolume||fmt'EXECIO2
DISKW
SYSIN
(FINIS
STEM
CMD.'Address
ispexec'SELECT
PGM(IEHLIST)''LMINIT
DATAID(HLIST)
DDNAME(SYSPRINT)''BROWSE
DATAID('hlist')''LMFREE
DATAID('hlist')'address
tso
'FREE
F(SYSIN
ISPMLIST
SYSPRINT)'Endelse
say
'Error
allocating<'dsname'>'FUNCTION例:IEHLIST功能ISP.SISPEXEC(ISPMLIST)用户提示信息,如出错报告等。信息是按信息(消息)号进行显示的,所以只需对信息号进行修改,很方便。注意,信息的修改是容易的,但对整个会话的变更则是相对复杂的。Message
Definitions/*********************************************************************//*
ALLOCATE
ISPMLIB
DATASETS
*//*********************************************************************/ALLOC
FI(ISPMLIB)SHR
DA(
+/*
LOCAL
*/
+'CENTER.ISPMLIB'..'CBC.SCBCIMG''''SYS1.SEDG'DFSORT.SICE'GDDM.SADMMSG''SYS1.SCBD''ICSF.SCSFMSG0''ISP.SISP'RMF.SERB''/*
C++/*
DFSMS/*
DFSORT/*
GDDM/*
HCD/*
ICSF/*
ISPF/*
RMF/*
SDSF/*
RACF*/
+*/
+*/
+*/
+*/
+*/
+*/
+*/
+*/
+*/
+'ISF.SISFMLIB''SYS1.HRFMSG'..'TCPIP.SEZA')/*TCPIP*/MessageData
SetISPA001
'Allocation
error
message'
.TYPE=N
NOKANA'ISPF
system
data
set
allocation
error
-
press
Enter
to
'
+'continue.'ISPA002
'List
allocate
err
msg
'
.TYPE=N
NOKANA'List
file
allocation
error
-
ISPF
will
operate
without
a
list
'
+'data
set.'ISPA003
'Log
allocate
err
msg
'
.TYPE=N
NOKANA'Log
file
allocation
error
-
ISPF
willoperate
without
a
log
'
+'data
set.'ISPA004
'LISTX
allocate
err
msg
'
.TYPE=N
NOKANA'Temporary
listing
data
set
cannot
be
allocated.'ISPA005
'CNTLX
allocate
err
msg
'
.TYPE=N
NOKANA'Temporary
control
card
data
set
cannot
be
allocated.'ISPA006
'EDITX
allocate
err
msg
'
.TYPE=N
NOKANA'Edit
backup
data
set
cannot
be
allocated.'ISPA007
'Open
errormessage'Error
trying
to
open
''&P7''.'/*
5694-A01
(C)
COPYRIGHT
IBM
CORP
1982,
2003'
.TYPE=N
NOKANAMessage
Definitions
例:ISP.SISP
(ISPA00)表格由会话自己生成,它是ISPF自己的索引表格,一个二维数阵列。Tables
表格/********************************************************************//*
ALLOCATE
ISPTLIB
DATASETS
*//********************************************************************/ALLOC
FI(ISPTLIB)
SHR
DA('&DSNAME'
+'CENTER.ISPTLIB'/*LOCAL*/+'SYS1.SBLSTBL0'/*IPCS*/+'SYS1.SBPXTENU'/*OMVS*/+'BOOKMAN.SEOYTENU'/*BOOKMAN*/+'SYS1.DGTTLIB'/*DFSMS*/+'DFSORT.SICETLIB'/*DFSORT*/+'SYS1.SCBDTENU'/*HCD*/+'ISP.SISPTENU'/*ISPF*/+'RMF.SERBT'/*RMF*/+'RMF.SERBTENU'/*RMF*/+'ISF.SISFTLIB'/*SDSF*/+'GIM.SGIMTENU'/*SMP/E*/+'ICQ.ICQTABLS''TCPIP.SEZ
NU')/*
TSO/E/*
TCPIP*/
+*/TABLEData
Set.馮IR:...
.&ISPKEYS
.?.5
...
...?...n.".?..|...JPHILP
?
.TN
..KEY1DEF
..KEY1LABD..KEY1ATR
..KEY2DEFB
9..KEY2ATRKEY3DEFKEY3LABKEY3ATRF
KEY4LAB
..KEY4ATR,..KEY5DEF
..KEY5LABR
..KEY6DEFv..KEY6LAB
..KEY6ATRN..KEY7DEFB
KEY7ATRKEY8DEFKEY8LABKEY8ATRF
?.KEY9LAB
%..KEY9ATR
..KEY10DEF`..KEY10LAB~TRz..KEY11DEF
..KEY11LABO..KEY11ATR
..KEY12DEFABKEY12ATRKEY13DEFKEY13LAB
..KEY13ATREF(..KEY14LAB
..KEY14ATR'..KEY15DEFb..KEY15LABTR
..KEY16DEF
..KEY16LAB
..KEY16ATRX..KEY17DEFABKEY17ATRKEY18DEFKEY18LAB?.KEY18ATR?EF?.KEY19LAB=..KEY19ATRf..KEY20DEF
..KEY20LABTR
..KEY21DEF{..KEY21LABY..KEY21ATR0..KEY22DEFABKEY22ATRKEY23DEFKEY23LAB?.KEY23ATR!EF^..KEY24LABg..KEY24ATR
..
..-.[.[.
.
.
.
.F.
.M.
.\.W.
.
.1.3.5.7.9?..?).
.
.
.].
.:.a.g.
.m.
.s.y.
.
.
.
.
.A.C.TABLE
Definitions
例:ISP.SISPTENU(ISPKEYS)当ISPF在执行一个会话时,在CLIST中可以生成一个JCL作业,提交执行之。Dialog
→
Skeletons
→
Output
FileFile
Tailoring
Skeletons
文件(骨架)剪裁/*******************************************************************//*
ALLOCATE
ISPSLIB
DATASETS
*//*******************************************************************/ALLOC
FI(ISPSLIB)SHR
DA(
+'CENTER.ISPSLIB'/*LOCAL*/+'SYS1.SBLSKEL0'/*IPCS*/+'BOOKMAN.SEOYSENU'/*BOOKMAN*/+'CBC.SCBCSKL'/*C++*/+'SYS1.DGTSLIB'/*DFSMS*/+'DFSORT.SICESLIB'/*DFSORT*/+'ICSF.SCSFSKL0'/*ICSF*/+'ISP.SISPSENU'/*ISPF*/+'ISP.SISPSLIB'/*ISPF*/+'ISF.SISFSLIB'/*SDSF*/+'SYS1.HRFSKEL'/*RACF*/+'GIM.SGIMSENU''ICQ.ICQSLIB')/*/*SMP/ETSO/E*/*/+TailoringSkeletonsData
Set)CM
SKELETON
PROC
FOR
BATCH
COBOL
(OTHER
SEQUENTIAL)
---)CM
---
ALLOCATE
THE
SEQUENTIAL
OBJECT
DATA
SET
---)CM)CM
$SEG(ISRJS02S)
COMP(BATCH)
PROD(MVS))CM
CHANGE
ACTIVITY)CM$L0=
COBOLIIM230860602020136:)CM$D1=
COBOLIIM310891107235501: DCR
173)CM)CM$L2=
QUALITYM320890606020136:
PL/I)CM OY08658
-
870902-
Steplib
statement
causes
MSGIEF212I.)CM
GT4045-SFGEXEC
PGM=IEFBR14,COND=(12,LE)DD
DSN=&ZDS..OBJ,DISP=(MOD,PASS),UNIT=SYSDA,SPACE=(TRK,(1,2))DD
DSN=&ZDS..OBJ,DISP=(MOD,PASS),UNIT=SYSDA,SPACE=(TRK,(1,2))//BR14//ALLOC//ALLOC..//EXPAND
EXEC
PGM=ISRLEMX,COND=(12,LE),// PARM=('COB,
,B,N,
,4,
,00,&ZJB2LANG,&ZJB2MMIX,&ZJB2DDIX',//
'&ZJB2YYIX,&ZJB2DLIM,&Z5UNIT')Tailoring
Skeletons
例:ISP.SISPSLIB(ISRJS02S)SS),SPACE=(CYL,(2,2)),
DSN=&&&&TEMP1//ISRLCODE
DD
DSN=&ZDSQMEM,DISP=SHR//ISRLEXPD
DD
UNIT=SYSDA,DISP=(NE)SEL &LID
=
&Z//ISR G
DD
SYSOUT=(&BCLA))ENDSEL)SEL &LID
^=
&Z//ISR G
DD
SYSOUT=*)ENDSEL)CM
---
COMPILE DATASET
---)CM Change
regionsize
for
DCR
173
from
512K
to
640K//COBOL
EXEC
PGM=IGYCRCTL,REGION=640K,COND=(12,LE),PARM=(&BVCOBM,)CM)CM'&BVCOB')INSERT
A
STEPLIBDD
CARD
HERE
IF
MODULEIGYCRCTLIS
NOT
IN
YOURSYSTEM
LIBRARY)CMSTEPLIB
DD
DSN= P,DISP=SHR
-
removed
for
OY08658)SEL &LID
=
&ZSYSOUT=(&BCLA)//SYSPRINT
DD)ENDSEL..会话机构anization
of
a
DialogISPF提供了会话管理服务(
Dialog
ManagementServices
),它包括:Select
_选择Display
_显示Table
_表格File
tailoring
_文件Variable
_变量剪裁Dialog
Startingwith
a
SelectionPanelSelectionPanelSelectionPanelSelectionPanelDataEntryPanelsDataEntryPanelsDialogFunctionDialogFunctionDialog
Startingwith
a
FunctionSelectionPanelSelectionPanelDataEntryPanelsDataEntryPanelsDialogFunctionDialogFunctionSTARTDisplaySelectSelectionPanelSelectionPanelDialogFunctionDialogFunctionSelectSelectDialog
ManagementServices会话管理服务ISPSTARTCOMMANDControl
Flow
Between
ISPF Services
and
Libraries
,
Data
Sets,
or
FilesISPFINITIALIZATIONSELECTSERVICEDIALOGFUNCTIONControl
FlowData
FlowVARIABLESERVICESDISPLAYSERVICESTABLESERVICESFILETAILORINGSERVICESLOGGINGSERVICESDIALOGSERVICESPANELLIBRARYMESSAGELIBRARYDATATABLESSKELETONLIBRARYOUTPTFILESLOGFILESELECT是一个通过ISPF来使用的控制工具,它同时也可以通过一个会话请求来完成一个服务。当一个用户完成一个初始化的ISPF应用时(如logon或调用一个命令过程),SELECT首先是通过初始化参数去选择一个Panel。当SELECT是由一个会话功能来调用时,它可以启动一个新的面板层次的显示,或者调用其它不具有显示面板(菜单)的新的其它功能。SELECT
ServicesDisplayServices允许一个会话去显示信息,或者去解释来自用户的应答。有三种显示服务:DISPLAY
_
显示一个面板(菜单),功能包括:初始化面板中的变量信息显示(屏幕上的)带有选择信息的面板处理应答、保存变量TBDISPL
_
显示一个表格SETMSG
_保存ISPF写给终端的信息,显示在下一个面板上。Display
ServicesTableServices允许建立会话变量集,以便利的格式进行与存取。一个表格是一个二维的信息向量,其中每一列与一个会话参数相对应,每一行包含了这些参数中的一个值。一个表可以是临时的或的,一个临时表生成在虚存中,当处理完成后即被删除。而一个性表将作为一个表库(tablelibrary)的成员驻留在磁盘中。Table
Services例如:EMPSER-Emplyee
Serial
NumberLNAME -
Last
NameFNAME
-
NameIPHAPHNUMMiddle
InitialHome
Phone:Area
CodeHome
Phone:Local
Number设计的TABLE:EMPERLNAMEFNAMEIPHAPHNUM598304RobertsonRichardR301840-1224172397SmithSusanS301547-8465813058JonesHowardH919279-9911395733WardSamuelB919436-1000TBCREATE:当要执行处理时,生成一个新表,并打开它。TBOPEN:当在执行处理时,打开一个已存在的表。TBQUERY:保存一个已存在的表副本,不关闭它(即作一个备份)。TBCLOSE:关闭一个表,如果该表已作过修改,则保存一个(
的)备份。TBEND:关闭一个表,不做保存动作。TBERASE:从表库中删除一个
性表。Table
Service的操作注-1:一个临时性的表可以由TBCREATE
来生成(无写方式),由TBEND
或TBCLOSE
来删除。注-
2:一个在虚存的
性新表,
由TBCREATE
通过写方式来生成。当通过TBSAVE
或
TBCLOSE
将其保存到磁盘中后,它即变为真正的注-3:一个当前已存在的驻留表。性表被打开并被读入到虚存,将由TBOPEN
来完成,如果该表被修改了,则由TBSAVE
或TBCLOSE
对其产生一个备份副本进行保留。如果没有修改,则由TBEND
或TBCLOSE
将其在虚存的备份删除之。TBADD:在表中加一个新行TBDELETE:删除一行TBGET
:表中回找一行TBPUT
:修改当前行TBMOD
:修改当前已存在的一行,否则增加一个新行TBEXIT
:测试一个已存在的行TBSCAN:搜索一个表,寻找一个与变量(argument)相匹配的所在行,并定位到该行。TBSARG
:建立一个新的搜索自变量(配合TBSCAN使用)TBTOP
:
设置当前行指针到顶端第一行之前部TBBOTTOM:设置当前行指针到最后一行,并将该行中的变量传送到变量池中(pool)TBSKIP:通过一个指定的行号将当前行指针向前/后进行移动,并将该行中的变量传送到变量池pool中。TBVCLEAR
:将与表中变量相符的会话变量清空。Table
Service的行操作文件剪裁服务:
一个库中的骨架文件,生成当前的裁剪输出,它可以用来驱动其它的功能。这个服务获取一个裁剪文件,其中包含了一个通用的以批处理方式执行的JCL
作业流。这个服务为执行某个指定的作业(JOB),填入一些变量值,产生一个特殊的语句集。File
Tailoring
ServicesFTOPEN:准备文件骨架处理,不管这个临时文件是否明确指定用于输出。FINCL:指定使用某个骨架文件,并启动剪裁处理.FTCLOSE:终止骨架处理。FTERASE:删除任何由骨架文件所产生的输出文件.File
Tailoring
Service操作注-1:剪裁文件是按记录来的,如果在一个记录中找到了任意一个会话变量名,则当前的变量值将替换之。注-2:控制语句也可以包含在一个剪裁文件中,这些控制语句提供的有效功能是:建立会话变量嵌入其它的剪裁文件有条件地包含记录使用变量,重复处理一个表中的每一行记录。Variable
Services允许一个功能function去定义使用会话变量。一个会话变量是一个字符串数据的任何种类,如一个字,一个值,它用一个符号名来表示。变量长度范围:0-32767B会话变量是会话功能function与ISPF服务间进行通讯的主要
,它们也可以在功能之间进行通讯。会话名字可以出现在面板菜单中、信息中以及剪裁的定义中,并且允许伴随在功能之间的通讯中出现。Variable
Services例如:SET
&AAA=1ISPEXEC
DISPLAY
PANEL(XYZ)SET &CCC
=
&AAA
+
&BBB例中显示了数据可以很方便地在一个Function功能与Display
service之间进行通讯:变量AAA由CLIST生成,并赋值.display
service
随之调用一个显示面板xyz假定在所定义的面板xyz中包含了2个符号参数,名字分别是AAA与BBB,则它们将被定义在非保护的输入域中,将按如下显示:Initial
value===>_AAAIncrement
===>_BBB此处的下划线_
指示了一个输入域的开始处,跟随在后的是一个变量名。当这个面板显示后,第一个输入域被初始化为1,第二个域显示为空,因为变量BBB没有赋值。也就是说,在调用display服务之前,将由会话功能来设置。假定现在用户改变了第一个赋值为100,并在第二个域中输入10,当用户敲入
ENTER键后,这两个值将自动被保存起来,变量AAA则被修改为一个新值100,而BBB则由空变为10。Display服务返回控制到Function功能,在CLIST的最后一条语句,生成一个变量CCC,值为110,它是AAA与BBB之和。VGET:从一个共享池(ashared
pool)或profile中获取变量VPUT:修改其中的变量VDEFINE:定义一个功能变量VDELETE:移去所定义的功能变量VCOPY:备份一个变量VREPLACE:用备份变量替换一个变量VREST:重
能变量注-1:VGET、VPUT
可以由任何功能function
来调用它,其它的变量服务仅可使用程序模块来调用,也就是说,它们在一个会话命令过程中并非适用于功能代码。注-2:某些变量名由系统保留使用,它们提供操作环境的信息,所有保留变量名均以‘z’为开头,以避免在会话开发中与其它会话变量名字
。Variable
Service操作PANEL一个panel的生成必须是在ISPF所连接的PLIB内.一个panel可以有几个段,段之间的位置不可以随便颠倒。)ATTR
特征段(可选):
定义特殊字符用来代替特征字%:
高亮(Protected
TEXT
HIGH
Intensity)表示用于不可键入的修改,即处于保护状态+:
低亮(Protected
TEXT
LOW
Intensity)_
:
下划线符表示非保护的,可键入的状态(UnprotectedTEXT
INPUT
HIGH
Intensity)(高亮)注1:当给出“%”,“+”,“_”三者其一时,可省去
)ATTR2:3270B终端有七种颜色)BODY
(必须给出):定义屏幕格式以及Panel域中的变量名)MODEL(Model
Section):
表显示用,如ISPF
3.4进入某个PO后,在浏览EDIT状态下显示MEMBERS)INIT(可选):初始化段(Initialization
section)在显示前的准备工作,分配初值(赋值)。)REINT(可选)
:
Reinitialization
Section
为再次显示所做的准备工作,如当输入参数出错时,再次显示。)PROC
处理段(ProcessingSection):在屏幕出现时需要做的一些工作,如当输入一个变量后,对其进行检查或者对其进行解释等。除了HELP命令外,其它的输入均需要这个处理段,因为凡是键入
令,总是要有一个结果的。)END
结束段 (ENDSection):结束段不可缺,仅一行。在结束段后的任何信息均视为无效(不起作用)BODY段有两种变量类型
(
IPSF始终对它们进行
):ZCMD(输入型)&ZUSERTIMETERMKEYS在body段,最大可显示23行(其中一行用于提示信息)BODY段控制变量可以出现在初始化段,在变量前必须冠以‘.’.HELP=ISR00003
(地址)可将你新写的一个HELP(ISR0003)放入某个HELP库中(如放在ISR.VxRxM0.ISRPLIB中)。.CURSOR=DSN当屏幕信息出现后,光标所应出现的位置(如果缺省,则出现在_ZCMD处),如:.CURSOR=DSN表示光标出现在DSN处.CURSOR=3表示光标落在DSN处INIT初始化段例:IF(.CURSOR
NE‘VOL’).CURSOR
=
DSN判光标是否在VOL域上不在,则移到DSN域上.MSG=ISPE019表示信息库中的成员(member)名=ISPE019,屏幕一经出现,该信息内容即显示出来:.RESP=
检查屏幕的反映,一般有两种形式:END/ENTER如:IF(.RESP=END)
或
IF(.RESP=ENTER).TRAL&ZHTOP&ZPRIM=YES/NO/空响铃(一般置为不响状态,因为有些设备无响铃功能,则会出错)VPUT(A1,A2)
PROFILE把变量(A1,A2)放入POOL中,称为PROFILE
variable
poolVGET(A1,A2)
PROFILE从POOL中取变量VPUT/VGET有三个操作数ASIS(缺省值):首先在SHARED中找,再到PROFILE中找。SHARED:仅当Logon后,其中的参数才会生成
(
SharedVariable
Pool
)PROFILE(User
profile):参数将一直保留其中,即使Logoff后也保留。VPUT与VGET可以在高级语言(如FORTRON)中设置,用于传递ISPF中给出的变量如:CALL
ISPLINK('VGET','')用CLIST调用变量的方法:ISPEXEC
VGET(name_list){
ASIS /
SHARED
/
PROFILE
}Starting
Variables
Through
the
VPUT
/
VGET
ServicesFUNCTIONVARIABLESDEFINEDIMPLICITFUNCTIONVARIABLESDEFINEDIMPLICITFUNCTION
A
VPUT
FUNCTION
BVGETSHARED
VARIABLESUSER
PROFILE
VARIABLES语法:变量=值&A=‘
’&COUNT=字符&DSN='''SYS1.MACLIB'''其中''SYS1.MACLIB''双引号表示DSN的内容&BB=&CPROC
处理段例1:&A&B=='ABCDEF'TRUNC(&A,4)结果&B=ABCD例2:&C='3.2.4'&D=TRUNC(&C,'.‘)结果&D=3例3:&J=TRUNC(&ZCMD,‘.')例4:&E=TRUNC(&DSN,‘.’)例5:&F=TRUNC(&G,‘!')&H
=
.TRAIL若键入
令是‘3.4’,则3→&J假定DSN=XP99.JCL
则XP99→&E从&G中的‘!’处截断,前半部送→&F后半部→&H关于
.TRAIL
:例:&C='3.2.4‘&E
=.TRAIL(&C,‘.’)结果
&E
=
2.4关于TRUNC:Variable
=
TRUNC(Variable,Value)变量
值一个变量分配给另一个变量,并按值进行截断。关于TRANS&REPL=TRANS(
&MOD
Y,YES
N,NO
*,'?'
)将变量&MOD的值翻译后送入&REPL,而&MOD内容不变如果&MOD中的值为Y,则翻译成YES后→&REPL为N,则翻译成NO后→&REPL为空,则什么也不做为*,则将?→&REPL&REPL=TRANS(
&MOD
Y,YES
N,NO
**
)**的含义表示&MOD中的内容是什么就送什么到&REPL中.例:&REPL=TRANS(&MOD
Y,YES
N,NO
MSG=ISP0243)若&MOD中的内容非Y、非N则显示其标识号:ISP0243关于PFK变量=PFK(Value)例1
:
&X=PFK(HELP)Value=数字/命令查找PFK表,将HELP分配给第一个未分配的PFKnn者。例2
:
&X=PFK(13)假定PFK13已分配作为HELP,则可表示为:&X=HELP表示无值,为空例3
:
&X=PFK(
)关于LVLINE变量=LVLINE(AREA1)将最后一个可见行送入变量中,如果是分屏状态,则值为1/2屏幕的最后一行,如果不分屏,则变量值为最后一行(24)关于IF表达式为真的判断IF
(&DSN=‘
’)例:IF(&OPT=1,2,5)只允许是‘=’或‘≠’这两个操作数若变量是‘1,2,5’,则为真IF
(&A
NOT
=
AAA,BBB)若变量&A
不等于AAA,并且不等于BBB,则为真例:IF
(...)
表达式为真,则下一条语句将执行,否则为假,…
寻找后面与之同一列的语句(如&X=5)
执行之…&X=5关于&ZSEL&ZSEL
=
TRANS
(
TRUNC
(&ZCMD,'.'
)↓PANEL
(Panel_name)CMD
(Command)PGM(Prg_name)
PARM(...)
NOCHECK
关闭EXIT检查例1:
键入3.4
则对"3"后面的部分进行检查,".4"
→.TRAIL中例2:
如果要在菜单中增加一个选项“9”,则:9,CMD(USDEVLP)
NOCHCK
选项9的标题是USDEVLP注:新增内容必须送入“ISR.xx.ISRPLIB”中,或自定义一个新ISRPLIB库与你的Logon
PROC连接。检查语句VERVER(变量[,NONBLANK],Keyword[,value...][,MSG=...])检查当前某些值与某些条件是否吻合,通常用于检查用户的输入信息。NONBLANK:
输入的必须为value(值),非空Keyword:
在它后面的值由Keyword来定-
MSG:
如果输入的信息不符合要求,则按MSG所给出的信息来显示,若MSG缺省,则ISPF按标准值显示。VER检查仅给出错误类型例1:VER
(&A,
NONBLANK
)
输入的变量必须为非空VER
(&A,
ALPHA)输入的变量必须是字符型(即含大、小写字符,并含#,$,@
字符,不许有空)VER(&A,NONBLANK,ALPHA
)
将上面二条并为一条来书写例2:VER(
&A,
NUM
)VER(
&A,
HEX
)VER(
&A,
BIT
)确保输入的值是整数:0_9确保输入的值是十六进制确保输入的值是二进数0/1VER(
&A,
'A/ANN'
)VER(&A,
NAME)VER(&A,
DSNAME)第1,3位必须是字符(
包含
#,$,@
)第2位必须是“/“第4,5位必须是非空数字前面的变量必须是合法的名字前面的变量必须是合法的数据集名字VER(&A,RANGE,1,500)
变量的范围在1-500之间VER(&A,LIST,YES,NO,DSN)
变量值可以在后面全部列出来VER(&A,PIC,NNNN)
变量值按所规定的格式进行验证例如
对
VER(&A,
PIC,
NN-N)
91-1
应该是正确的数据输入格式COMMAND===>_EMPLOYEESERIAL:021789(NEW,UPDATE,ORDELETE)TYPE
OF
CHANGE
===>
NEWEMPLOYEE
NAME:LAST===>
WAN===>
ZECINITIAL
===>HOME
ADDRESS:LINE1===>
201203LINE2===>
PUDONGLINE3===>
KE
YUANROADLINE4===>
10-399HOME
PHONE:AREA
CODELOCAL
NUMBER===>
021===>
609-0390Panel
Definition%+%COMMAND
===>_ZCMD%EMPLOYEE
SERIAL:
&EMPSERLAST%===>_LNAME%===>_FNAME+++
TYPE
OF
CHANGE%===>_TYPECHG
+
(NEW,UPDATE,OR
DELETE)+
EMPLOYEE
NAME:+++INITIAL%===>_I++++++
HOME
ADDRESS:++++LINELINELINELINE%===>_ADDR1%===>_ADDR2%===>_ADDR3%===>_ADDR4HOME
PHONE:AREA
CODE%===>_PHA++++LOCAL
NUMBER
%===>_PHNUM
+Each
text
attribute
character
(%
/+
)
isfollowed
by
the
information
tobe
display.Substitutable
variables
consisting
of
adialog
variable
name
preceded
by
an
&,may
be
included
in
the
text.Each
input
attribute
character
(_)
isfollowed
Immedia y
by
a
dialog
variablename,with
no
intervening
ampersand.The
field
ends
with
a
(+)
,Which
indicates
theum
length
of
theinput
variable.)INIT.HELP
=
PERS032.CURSOR
=
TYPECHG)PROCVER(&TYPECHG,LIST,NEW,UPDATE,DELETE,MSG=EMPX201)VER(&LNAME,ALPHA)VER(&FNAME,ALPHA)VER(&I,ALPHA)
VER(&PHA,ALPHA)VER
(&PHNUM,PICT,‘NNN-NNNN’))ENDThe
panel
body
section
extends
to
the
“)INIT”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020年10月17日上午云南省玉溪市公务员面试真题
- 2024年全新猎头公司合作合同
- 2024年民办幼儿园转让协议
- 2024年开店合作协议书
- 2024年信息化项目服务合同模板
- 内蒙古申论模拟48
- 2024年借款三方协议借条三方协议
- 2024年无抵押借款合同的模板
- 上海房地产买卖协议书2024年
- 2024年机械产品供销合同范文
- 幼儿园中班美术:《向日葵》 课件
- 教科版五年级上科学2.4火山喷发的成因及作用课件
- 园林设施维护方案
- 普希金《驿站长》阅读练习及答案
- 《生物多样性公约》及国际组织课件
- 通信工程企业安全生产资料、台账及现场检查表
- 柴油发电机房安全管理制度与柴油发电机房安全管理制度及操作规程
- 商务英语写作-外贸书信-建立业务关系
- 防暴队形训练
- 部编人教版九年级历史下册教案(全册)
- 新闻采访与写作(马工程笔记)
评论
0/150
提交评论