zos实用技术-08ispfp设计与案例_第1页
zos实用技术-08ispfp设计与案例_第2页
zos实用技术-08ispfp设计与案例_第3页
zos实用技术-08ispfp设计与案例_第4页
zos实用技术-08ispfp设计与案例_第5页
已阅读5页,还剩198页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

说明:本人写这个课件资料,只是凭据自己多年工作经验的一些体会,不具完整性,肯定也存在谬误,但可具有实用性的参考价值!–

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

Print

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

print

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

print

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论