zos實用技術(shù)-08ispfp設(shè)計與案例_第1頁
zos實用技術(shù)-08ispfp設(shè)計與案例_第2頁
zos實用技術(shù)-08ispfp設(shè)計與案例_第3頁
zos實用技術(shù)-08ispfp設(shè)計與案例_第4頁
zos實用技術(shù)-08ispfp設(shè)計與案例_第5頁
已閱讀5頁,還剩198頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

說明:本人寫這個課件資料,只是憑據(jù)自己多年工作經(jīng)驗的一些體會,不具完整性,肯定也存在謬誤,但可具有實用性的參考價值!–

2012.2.29ISPF/PDFISPFISPF是在TSO環(huán)境下開發(fā)的一個系統(tǒng)產(chǎn)品,是為交互式應(yīng)用提供服務(wù)的會話管理器。ISPF在不同的主機(MVS、VM、VSE)系統(tǒng)環(huán)境中提供允許會話處理的控制和服務(wù)

。它以交互式的會話處理方式向終端用戶提供了一系列的菜單功能與Utility,大大方便了用戶在TSO環(huán)境下的工作。PDFPDF是一個幫助終端用戶在交互式環(huán)境下開發(fā)不同會話應(yīng)用的工具,其目的是在一個交互環(huán)境中增強程序員的開發(fā)功能與效率。PDF幫助程序員最大化地簡化公共編程任務(wù),避免乏味與復(fù)雜性地操作,它既可以結(jié)構(gòu)化、也可以使用傳統(tǒng)的編程技術(shù)來實施。ISPF/PDFISPF是為PDF和其它交互式應(yīng)用提供服務(wù)的基本產(chǎn)品,而PDF是在ISPF的控制和服務(wù)下以會話方式運行。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

_

數(shù)據(jù)輸入屏幕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的調(diào)用是通過ISPSTART命令或定義一個ALIAS別名來實現(xiàn)的(鍵字參數(shù)用于定義第一個菜單顯示或得到接收控制的第一個會話功能).一個會話所含的要素Element

of

aDialog一個會話包括:Panel

Definition _

菜單定義Function _

功能Message _

信息File

Tailoring

Skeletons _

文件骨架裁剪Tables _

表格)選擇面板(Selection

Panel

or數(shù)據(jù)輸入屏幕(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命令序列,也可以是一個程序,它執(zhí)行用戶所要求的工作。一個函數(shù)可以用CLIST來編寫,也可以用

PL/I、COBOL、FORTRAN、ASM

(匯編)來編寫,以前臺方式運行。每個函數(shù)可以由上述不同的語言書寫成裝入模塊。如在CLIST的書寫中,調(diào)用COBOL/FORTRAN等模塊。用戶可以用調(diào)用

FUNCTION

來為自已服務(wù),例:在CLIST/REXX中,使用ISPEXEC:ISPEXEC

DISPLAYPANEL(XYZ)

XYZ是用戶設(shè)計的一個屏幕調(diào)用一個程序,如在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)用戶提示信息,如出錯報告等。信息是按信息(消息)號進(jìn)行顯示的,所以只需對信息號進(jìn)行修改,很方便。注意,信息的修改是容易的,但對整個會話的變更則是相對復(fù)雜的。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自己的索引表格,一個二維數(shù)陣列。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)當(dāng)ISPF在執(zhí)行一個會話時,在CLIST中可以生成一個JCL作業(yè),提交執(zhí)行之。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..會話機構(gòu)anization

of

a

DialogISPF提供了會話管理服務(wù)(

Dialog

ManagementServices

),它包括:Select

_選擇Display

_顯示Table

_表格File

tailoring

_文件Variable

_變量剪裁Dialog

Startingwith

a

SelectionPanelSelectionPanelSelectionPanelSelectionPanelDataEntryPanelsDataEntryPanelsDialogFunctionDialogFunctionDialog

Startingwith

a

FunctionSelectionPanelSelectionPanelDataEntryPanelsDataEntryPanelsDialogFunctionDialogFunctionSTARTDisplaySelectSelectionPanelSelectionPanelDialogFunctionDialogFunctionSelectSelectDialog

ManagementServices會話管理服務(wù)ISPSTARTCOMMANDControl

Flow

Between

ISPF Services

and

Libraries

,

Data

Sets,

or

FilesISPFINITIALIZATIONSELECTSERVICEDIALOGFUNCTIONControl

FlowData

FlowVARIABLESERVICESDISPLAYSERVICESTABLESERVICESFILETAILORINGSERVICESLOGGINGSERVICESDIALOGSERVICESPANELLIBRARYMESSAGELIBRARYDATATABLESSKELETONLIBRARYOUTPTFILESLOGFILESELECT是一個通過ISPF來使用的控制工具,它同時也可以通過一個會話請求來完成一個服務(wù)。當(dāng)一個用戶完成一個初始化的ISPF應(yīng)用時(如logon或調(diào)用一個命令過程),SELECT首先是通過初始化參數(shù)去選擇一個Panel。當(dāng)SELECT是由一個會話功能來調(diào)用時,它可以啟動一個新的面板層次的顯示,或者調(diào)用其它不具有顯示面板(菜單)的新的其它功能。SELECT

ServicesDisplayServices允許一個會話去顯示信息,或者去解釋來自用戶的應(yīng)答。有三種顯示服務(wù):DISPLAY

_

顯示一個面板(菜單),功能包括:初始化面板中的變量信息顯示(屏幕上的)帶有選擇信息的面板處理應(yīng)答、保存變量TBDISPL

_

顯示一個表格SETMSG

_保存ISPF寫給終端的信息,顯示在下一個面板上。Display

ServicesTableServices允許建立會話變量集,以便利的格式進(jìn)行與存取。一個表格是一個二維的信息向量,其中每一列與一個會話參數(shù)相對應(yīng),每一行包含了這些參數(shù)中的一個值。一個表可以是臨時的或的,一個臨時表生成在虛存中,當(dāng)處理完成后即被刪除。而一個性表將作為一個表庫(tablelibrary)的成員駐留在磁盤中。Table

Services例如:EMPSER-Emplyee

Serial

NumberLNAME -

Last

NameFNAME

-

NameIPHAPHNUMMiddle

InitialHome

Phone:Area

CodeHome

Phone:Local

Number設(shè)計的TABLE:EMPERLNAMEFNAMEIPHAPHNUM598304RobertsonRichardR301840-1224172397SmithSusanS301547-8465813058JonesHowardH919279-9911395733WardSamuelB919436-1000TBCREATE:當(dāng)要執(zhí)行處理時,生成一個新表,并打開它。TBOPEN:當(dāng)在執(zhí)行處理時,打開一個已存在的表。TBQUERY:保存一個已存在的表副本,不關(guān)閉它(即作一個備份)。TBCLOSE:關(guān)閉一個表,如果該表已作過修改,則保存一個(

的)備份。TBEND:關(guān)閉一個表,不做保存動作。TBERASE:從表庫中刪除一個

性表。Table

Service的操作注-1:一個臨時性的表可以由TBCREATE

來生成(無寫方式),由TBEND

或TBCLOSE

來刪除。注-

2:一個在虛存的

性新表,

由TBCREATE

通過寫方式來生成。當(dāng)通過TBSAVE

TBCLOSE

將其保存到磁盤中后,它即變?yōu)檎嬲淖?3:一個當(dāng)前已存在的駐留表。性表被打開并被讀入到虛存,將由TBOPEN

來完成,如果該表被修改了,則由TBSAVE

或TBCLOSE

對其產(chǎn)生一個備份副本進(jìn)行保留。如果沒有修改,則由TBEND

或TBCLOSE

將其在虛存的備份刪除之。TBADD:在表中加一個新行TBDELETE:刪除一行TBGET

:表中回找一行TBPUT

:修改當(dāng)前行TBMOD

:修改當(dāng)前已存在的一行,否則增加一個新行TBEXIT

:測試一個已存在的行TBSCAN:搜索一個表,尋找一個與變量(argument)相匹配的所在行,并定位到該行。TBSARG

:建立一個新的搜索自變量(配合TBSCAN使用)TBTOP

設(shè)置當(dāng)前行指針到頂端第一行之前部TBBOTTOM:設(shè)置當(dāng)前行指針到最后一行,并將該行中的變量傳送到變量池中(pool)TBSKIP:通過一個指定的行號將當(dāng)前行指針向前/后進(jìn)行移動,并將該行中的變量傳送到變量池pool中。TBVCLEAR

:將與表中變量相符的會話變量清空。Table

Service的行操作文件剪裁服務(wù):

一個庫中的骨架文件,生成當(dāng)前的裁剪輸出,它可以用來驅(qū)動其它的功能。這個服務(wù)獲取一個裁剪文件,其中包含了一個通用的以批處理方式執(zhí)行的JCL

作業(yè)流。這個服務(wù)為執(zhí)行某個指定的作業(yè)(JOB),填入一些變量值,產(chǎn)生一個特殊的語句集。File

Tailoring

ServicesFTOPEN:準(zhǔn)備文件骨架處理,不管這個臨時文件是否明確指定用于輸出。FINCL:指定使用某個骨架文件,并啟動剪裁處理.FTCLOSE:終止骨架處理。FTERASE:刪除任何由骨架文件所產(chǎn)生的輸出文件.File

Tailoring

Service操作注-1:剪裁文件是按記錄來的,如果在一個記錄中找到了任意一個會話變量名,則當(dāng)前的變量值將替換之。注-2:控制語句也可以包含在一個剪裁文件中,這些控制語句提供的有效功能是:建立會話變量嵌入其它的剪裁文件有條件地包含記錄使用變量,重復(fù)處理一個表中的每一行記錄。Variable

Services允許一個功能function去定義使用會話變量。一個會話變量是一個字符串?dāng)?shù)據(jù)的任何種類,如一個字,一個值,它用一個符號名來表示。變量長度范圍:0-32767B會話變量是會話功能function與ISPF服務(wù)間進(jìn)行通訊的主要

,它們也可以在功能之間進(jìn)行通訊。會話名字可以出現(xiàn)在面板菜單中、信息中以及剪裁的定義中,并且允許伴隨在功能之間的通訊中出現(xiàn)。Variable

Services例如:SET

&AAA=1ISPEXEC

DISPLAY

PANEL(XYZ)SET &CCC

=

&AAA

+

&BBB例中顯示了數(shù)據(jù)可以很方便地在一個Function功能與Display

service之間進(jìn)行通訊:變量AAA由CLIST生成,并賦值.display

service

隨之調(diào)用一個顯示面板xyz假定在所定義的面板xyz中包含了2個符號參數(shù),名字分別是AAA與BBB,則它們將被定義在非保護的輸入域中,將按如下顯示:Initial

value===>_AAAIncrement

===>_BBB此處的下劃線_

指示了一個輸入域的開始處,跟隨在后的是一個變量名。當(dāng)這個面板顯示后,第一個輸入域被初始化為1,第二個域顯示為空,因為變量BBB沒有賦值。也就是說,在調(diào)用display服務(wù)之前,將由會話功能來設(shè)置。假定現(xiàn)在用戶改變了第一個賦值為100,并在第二個域中輸入10,當(dāng)用戶敲入

ENTER鍵后,這兩個值將自動被保存起來,變量AAA則被修改為一個新值100,而BBB則由空變?yōu)?0。Display服務(wù)返回控制到Function功能,在CLIST的最后一條語句,生成一個變量CCC,值為110,它是AAA與BBB之和。VGET:從一個共享池(ashared

pool)或profile中獲取變量VPUT:修改其中的變量VDEFINE:定義一個功能變量VDELETE:移去所定義的功能變量VCOPY:備份一個變量VREPLACE:用備份變量替換一個變量VREST:重

能變量注-1:VGET、VPUT

可以由任何功能function

來調(diào)用它,其它的變量服務(wù)僅可使用程序模塊來調(diào)用,也就是說,它們在一個會話命令過程中并非適用于功能代碼。注-2:某些變量名由系統(tǒng)保留使用,它們提供操作環(huán)境的信息,所有保留變量名均以‘z’為開頭,以避免在會話開發(fā)中與其它會話變量名字

。Variable

Service操作PANEL一個panel的生成必須是在ISPF所連接的PLIB內(nèi).一個panel可以有幾個段,段之間的位置不可以隨便顛倒。)ATTR

特征段(可選):

定義特殊字符用來代替特征字%:

高亮(Protected

TEXT

HIGH

Intensity)表示用于不可鍵入的修改,即處于保護狀態(tài)+:

低亮(Protected

TEXT

LOW

Intensity)_

:

下劃線符表示非保護的,可鍵入的狀態(tài)(UnprotectedTEXT

INPUT

HIGH

Intensity)(高亮)注1:當(dāng)給出“%”,“+”,“_”三者其一時,可省去

)ATTR2:3270B終端有七種顏色)BODY

(必須給出):定義屏幕格式以及Panel域中的變量名)MODEL(Model

Section):

表顯示用,如ISPF

3.4進(jìn)入某個PO后,在瀏覽EDIT狀態(tài)下顯示MEMBERS)INIT(可選):初始化段(Initialization

section)在顯示前的準(zhǔn)備工作,分配初值(賦值)。)REINT(可選)

:

Reinitialization

Section

為再次顯示所做的準(zhǔn)備工作,如當(dāng)輸入?yún)?shù)出錯時,再次顯示。)PROC

處理段(ProcessingSection):在屏幕出現(xiàn)時需要做的一些工作,如當(dāng)輸入一個變量后,對其進(jìn)行檢查或者對其進(jìn)行解釋等。除了HELP命令外,其它的輸入均需要這個處理段,因為凡是鍵入

令,總是要有一個結(jié)果的。)END

結(jié)束段 (ENDSection):結(jié)束段不可缺,僅一行。在結(jié)束段后的任何信息均視為無效(不起作用)BODY段有兩種變量類型

(

IPSF始終對它們進(jìn)行

):ZCMD(輸入型)&ZUSERTIMETERMKEYS在body段,最大可顯示23行(其中一行用于提示信息)BODY段控制變量可以出現(xiàn)在初始化段,在變量前必須冠以‘.’.HELP=ISR00003

(地址)可將你新寫的一個HELP(ISR0003)放入某個HELP庫中(如放在ISR.VxRxM0.ISRPLIB中)。.CURSOR=DSN當(dāng)屏幕信息出現(xiàn)后,光標(biāo)所應(yīng)出現(xiàn)的位置(如果缺省,則出現(xiàn)在_ZCMD處),如:.CURSOR=DSN表示光標(biāo)出現(xiàn)在DSN處.CURSOR=3表示光標(biāo)落在DSN處INIT初始化段例:IF(.CURSOR

NE‘VOL’).CURSOR

=

DSN判光標(biāo)是否在VOL域上不在,則移到DSN域上.MSG=ISPE019表示信息庫中的成員(member)名=ISPE019,屏幕一經(jīng)出現(xiàn),該信息內(nèi)容即顯示出來:.RESP=

檢查屏幕的反映,一般有兩種形式:END/ENTER如:IF(.RESP=END)

IF(.RESP=ENTER).TRAL&ZHTOP&ZPRIM=YES/NO/空響鈴(一般置為不響狀態(tài),因為有些設(shè)備無響鈴功能,則會出錯)VPUT(A1,A2)

PROFILE把變量(A1,A2)放入POOL中,稱為PROFILE

variable

poolVGET(A1,A2)

PROFILE從POOL中取變量VPUT/VGET有三個操作數(shù)ASIS(缺省值):首先在SHARED中找,再到PROFILE中找。SHARED:僅當(dāng)Logon后,其中的參數(shù)才會生成

(

SharedVariable

Pool

)PROFILE(User

profile):參數(shù)將一直保留其中,即使Logoff后也保留。VPUT與VGET可以在高級語言(如FORTRON)中設(shè)置,用于傳遞ISPF中給出的變量如:CALL

ISPLINK('VGET','')用CLIST調(diào)用變量的方法: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的內(nèi)容&BB=&CPROC

處理段例1:&A&B=='ABCDEF'TRUNC(&A,4)結(jié)果&B=ABCD例2:&C='3.2.4'&D=TRUNC(&C,'.‘)結(jié)果&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關(guān)于

.TRAIL

:例:&C='3.2.4‘&E

=.TRAIL(&C,‘.’)結(jié)果

&E

=

2.4關(guān)于TRUNC:Variable

=

TRUNC(Variable,Value)變量

值一個變量分配給另一個變量,并按值進(jìn)行截斷。關(guān)于TRANS&REPL=TRANS(

&MOD

Y,YES

N,NO

*,'?'

)將變量&MOD的值翻譯后送入&REPL,而&MOD內(nèi)容不變?nèi)绻?MOD中的值為Y,則翻譯成YES后→&REPL為N,則翻譯成NO后→&REPL為空,則什么也不做為*,則將?→&REPL&REPL=TRANS(

&MOD

Y,YES

N,NO

**

)**的含義表示&MOD中的內(nèi)容是什么就送什么到&REPL中.例:&REPL=TRANS(&MOD

Y,YES

N,NO

MSG=ISP0243)若&MOD中的內(nèi)容非Y、非N則顯示其標(biāo)識號:ISP0243關(guān)于PFK變量=PFK(Value)例1

:

&X=PFK(HELP)Value=數(shù)字/命令查找PFK表,將HELP分配給第一個未分配的PFKnn者。例2

:

&X=PFK(13)假定PFK13已分配作為HELP,則可表示為:&X=HELP表示無值,為空例3

:

&X=PFK(

)關(guān)于LVLINE變量=LVLINE(AREA1)將最后一個可見行送入變量中,如果是分屏狀態(tài),則值為1/2屏幕的最后一行,如果不分屏,則變量值為最后一行(24)關(guān)于IF表達(dá)式為真的判斷IF

(&DSN=‘

’)例:IF(&OPT=1,2,5)只允許是‘=’或‘≠’這兩個操作數(shù)若變量是‘1,2,5’,則為真IF

(&A

NOT

=

AAA,BBB)若變量&A

不等于AAA,并且不等于BBB,則為真例:IF

(...)

表達(dá)式為真,則下一條語句將執(zhí)行,否則為假,…

尋找后面與之同一列的語句(如&X=5)

執(zhí)行之…&X=5關(guān)于&ZSEL&ZSEL

=

TRANS

(

TRUNC

(&ZCMD,'.'

)↓PANEL

(Panel_name)CMD

(Command)PGM(Prg_name)

PARM(...)

NOCHECK

關(guān)閉EXIT檢查例1:

鍵入3.4

則對"3"后面的部分進(jìn)行檢查,".4"

→.TRAIL中例2:

如果要在菜單中增加一個選項“9”,則:9,CMD(USDEVLP)

NOCHCK

選項9的標(biāo)題是USDEVLP注:新增內(nèi)容必須送入“ISR.xx.ISRPLIB”中,或自定義一個新ISRPLIB庫與你的Logon

PROC連接。檢查語句VERVER(變量[,NONBLANK],Keyword[,value...][,MSG=...])檢查當(dāng)前某些值與某些條件是否吻合,通常用于檢查用戶的輸入信息。NONBLANK:

輸入的必須為value(值),非空Keyword:

在它后面的值由Keyword來定-

MSG:

如果輸入的信息不符合要求,則按MSG所給出的信息來顯示,若MSG缺省,則ISPF按標(biāo)準(zhǔn)值顯示。VER檢查僅給出錯誤類型例1:VER

(&A,

NONBLANK

)

輸入的變量必須為非空VER

(&A,

ALPHA)輸入的變量必須是字符型(即含大、小寫字符,并含#,$,@

字符,不許有空)VER(&A,NONBLANK,ALPHA

)

將上面二條并為一條來書寫例2:VER(

&A,

NUM

)VER(

&A,

HEX

)VER(

&A,

BIT

)確保輸入的值是整數(shù):0_9確保輸入的值是十六進(jìn)制確保輸入的值是二進(jìn)數(shù)0/1VER(

&A,

'A/ANN'

)VER(&A,

NAME)VER(&A,

DSNAME)第1,3位必須是字符(

包含

#,$,@

)第2位必須是“/“第4,5位必須是非空數(shù)字前面的變量必須是合法的名字前面的變量必須是合法的數(shù)據(jù)集名字VER(&A,RANGE,1,500)

變量的范圍在1-500之間VER(&A,LIST,YES,NO,DSN)

變量值可以在后面全部列出來VER(&A,PIC,NNNN)

變量值按所規(guī)定的格式進(jìn)行驗證例如

VER(&A,

PIC,

NN-N)

91-1

應(yīng)該是正確的數(shù)據(jù)輸入格式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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論