• Aucun résultat trouvé

TYPE=ESETL

Dans le document Application Programmer's Reference Manual (Page 128-134)

I [,NORESP=symbolic address) I [,ERROR=symbolic address]

I [,INVREQ=symbolic address]

I [,ILLOGIC=symbolic address]

I

<---VSAK

~----_~---_I~---~

Before this macro is issued, the programmer must ensure that TCAFCAA contains the address of the file work area (FWA) associated with the browse operation he wishes to terminate. When locate-mode processing of VSAM nonsegmented records is utilized, TCAFCAA must contain the address of the VSWA associated with the browse operation being terminated. In response to an ESBTL request, CICS/VS releases all I/O and work areas associated with the browse operation.

The following examples show how to terminate two concurrent browse operations.

For Assem bIer lanQU2:g§l:

COpy DFHTCADS FWACELL1 DS A

*

FWACELL2 DS A

*

FWACBAR BQU 7

COPY DFHFWADS RECORD DS OCL350

CSECT

MVC TCAFCAA,FWACELL1 DFHFC TYPE=ESETL

MVC TCAFCAA,FCACELL2 DFHFC TYPE=ESETL

116 CICS/VS APRM(ML)

COpy TCA SYMBOLIC STRG DEFN CONTAINS ADDR OF FWA USED FOR FIRST BROWSE OPERATION CONTAINS ADDR OF FWA USED FOR SECOND BROWSE OPERATION ASSIGN FWA BASE REGISTER

DEFINE PiA SYMBOLIC STORAGE DEFN DEFINE RECORD

MOVE BROiSE 1 FiA ADDR TO TCA ISSUE ESETL MACRO INSTRUCTION MOVE BROWSE 2 FWA ADDR TO TCA ISSUE ESETL MACRO INSTRUCTION

02 FiACBAR PIC S9(8) COMP~

01 DFHTCADS COPY DFHTCADS.

02 FWACELL1 PIC S9 (8) ~OMP.

02 FiACELL2 PIC S9 (8) COMP.

01 DFHFWADS COpy DFHFiADS.

02 RECORD PIC X(350).

MOVE FWACELL1 TO TCAFCAA.

DFHFC TYPE=ESETL

MOVE FWACELL2 TO TCAFCAA.

DFHFC TYPE=ESETL

For PL/I:

% INCLUDE DFHTCADS;

02 FiACELL1 POINTER;

02 FWACELL2 POINTER;

%INCLUDE DFHFWADS;

02 RECORD CHAR (350) ;

TCAFCAA=FWACELL1;

DFHFC TYPE=ESETL TCAFCAA=FWACELL2;

DFHFC TYPE=ESETL

NOTE DEFINE BASE REGISTER FOR FWA.

NOTE COPY SYMBOLIC STRG DEFN FOR TCA.

NOTE COpy SYMBOLIC STRG DEFN FOR FiA.

NOTE DEFINE RECORD LAYOUT IN FWA.

NOTE PREPARE TO END FIRST BROWSE.

TERMINATE FIRST BROWSE

NOTE PREPARE TO END 2ND BROWSE.

TERMINATE SECOND BROWSE.

/*COPY SYMBOLIC STRG DEFN FOR TCA*/

/*COPY SYMBOLIC STRG DEFN FOR FHA*/

/*DEFINE RECORD LAYOUT IN FWA*/

/*MOVE BROWSE1 FWA ADDR TO TCA*/

/*MOVE BROiSE2 FWA ADDR TO TCA*/

Chapter 3.2. File Control (DFHFC Macro Instruction) 117

Reset Browse (TYPE=RESETL)

The format of the DFHFC macro instruction to reset the search argument, default segment set name, and/or type of search argument (VSAM only) for a browse operation is as follows:

DFHFC TYPE=RESETL

[ ,SEGSET={symbolic nameIYESIALL}]

[,ARGTYP={KEYIRBA}] < , - - - V S A M

[,SRCHTYP={FKEQI~IGKEQIGKGE}] < VSAM [,NORESP=symbolic address]

[,ERROR=symbolic address]

[,SEGIDER=symbolic address]

[,NOTFND=symbolic address]

[,INVREQ=symbolic address]

[,IOERROR=symbolic address]

[,NOTOPEN=symbolic address]

[,ILLOGIC=symbolic address] < ---VSAM

Once a browse operation has been initiated, the application

programmer may, at any time prior to issuing an ESETL request for the browse, reset the search argument to some record other than the next sequential record in the data set. The default segment set name and (for a VSAM data set) the type of search argument used in retrieving records can also be reset by issuing the DFHFC TYPE=RESETL macro

instruction. Prior to issuing the request, the application programmer should place the address of the appropriate FWA into TCAFCAA and the new record identification in the record identification field specified in the original SETL request~

The use of the RESETL maCro instruction allows the application programmer to avoid issuing an ESETL request followed by another SETL request, and causes CICS/VS to use the same I/O and work area. Upon return from the RESETL request, TCAFCAA contains the address of a new FWA that the user can use for the browse operation.

The RESETL request allows the user to "skip" through his data set in a browse operation with ease. A similar capability is available to VSAM Users through the GETNEXT instruction.

A browse operation should be terminated by issuing a TYPE=ESETL macro, but a normal or abnormal end of task will also terminate a browse.

The following examples show how to reset the search argument and the default segment set for a browse operation.

For Assembler lagg!!~§.:

COpy DPHTCADS KEYF DS D

FWACBAR EQU 7

COpy DPHFW ADS RECORD1 DS OCL350

ORG RECORD 1 RECORD2 DS OCL250 118 CICS/VS APRM (ML)

COpy TCA SYMBOLIC STRG DEPN DEFINE KEY PIELD IN TWA ASSIGN FWA BASE REGISTER COpy FWA DSECT

DEFINE RECORD WITH SEGSET A

DEPINE RECORD WITH SEGSET B

CSECT

01 DFHFWA REDEFINES DFHFWADS.

02 FILLER PIC X(16).

ESTABLISH ADDRESSABILITY TO FWA

STORE FWA ADDR IN TCA

ESTABLISH NEW SEARCH ARGUMENT

* *

*

ISSUE RESETL MACRO

*

NEW SEGSET ID

ESTABLISH ADDRESSABILITY TO FWA

NOTE DEFINE BASE REGISTER FOR FiA.

NOTE ESTABLISH ADDRESSABILITY TO FiA.

NOTE STORE FWA ADDRESS IN TCA.

NOTE Es'rABLISH NEi SEARCH ARGUMENT.

ISSUE RESETL MACRO INSTRUCTION

*

NEW SEGSET ID

NOTE ESTABLISH ADDRESSABILITY TO FiA.

Chapter 3.2. File Control (DFHFC Macro Instruction) 119

For PL/I:

IINCLUDE DFHTCADS; /*COPY SY!BOLIC STRG DEFN FOR TCA*/

02 KEYF CHAR(S); /*DEFINE KEY*/

~INCLUDE

DPHPWADS; /*COPY SYftBOLIC STRG DEFN POR FWA*/

02 RECORD1 CHAR (350); /*DEFINE RECORD WITH SEGSET A*/

DECLARE 01 DPHXFWA BASED (FWACBAR),

02 PILL CHAR (16) , /*LENGTH OF PWA*/

02 RBCORD2 CHAR (250) ; /*DEPINE RECORD WITH SEGSET B*/

KEYP=LOW(S);

DPHFC TYPE=SETL, DATASET=MASTER, RDIDADR=KEYP, SEGSET=A PWACBAR=TCAFCAA;

TCAFCAA=PWACBAR;

KEYP= 'SftITH';

DFHPC TYPE=RESETL, SEGSET=B PWACBAR=TCAPCAA;

120 CICS/VS APR!(!L)

/*SET KEY VALUE TO ZERO*/

ISSUE INITIAL SETL !ACRO INSTR * POR DATA SET "MASTER" * INITIAL SEARCH ARG EQUALS ZERO * FOR SEGSET A

/*ESTABLISH ADDRESSABILITY FOR PWA*/

/*STORE FWA ADDR IN TCA*/

/*ESTABLISH NEW SEARCH ARGUMENT*/

ISSUE RESETL !ACRO INSTRUCTION * NEW SEGSET ID

I*ESTABLISH ADDRESS ABILITY TO FWA*/

Test Response to a Request for File Services (TYPE=CHECK)

The format of the DFHFC macro instruction to test the CICS/VS response to a preceding DFHFC request for file services is as follows:

DFHFC TYPE =CHECK

[,NORESP=symbolic address]

[,ERROR=symbolic address]

[ ,DSIDER=symbolic address]

[,SEGIDER=symDolic address]

[,NOTFND=symbolic address]

[,DUPKEY=symbolic address] <---VSAM & assembler [,DUPREC=symbolic address]

[,INVREQ=symbolic address]

[,IOERROR=symbolic address]

[,DUPDS=symbolic address]

[,NOSPACE=symbolic address]

[,NOTOPEN=symbolic address]

[,ENDFILE=symbolic address]

[,ILLOGIC=symbolic address] <---VSAM

I File Control Response Codes

To test a response code the application programmer must know (1) the CICS/VS response codes and their meanings, and (2) the symbolic labels by which he can refer to the response codes. These are shown in Figure 3.2-11. If the Assembler-language or PL/I programmer elects to check for a particular response-code bit pattern, he can access the response code at TCAFCTR. The COBOL programmer who elects to check for a

particular response-code bit pattern, can access the response code at TCAFCRC.

Because the multipunch codes to be checked in a COBOL program

commonly correspond to unprintable characters, an alternative facility is provided in CICS/VS for use by the COBOL programmer. He can evaluate the response by referring to the condition names generated by CICS/VS

(for example, FCNORESP). Use of this approach is illustrated in the examples at the end of this discussion.

Chapter 3.2. File Control (DFHPC Macro Instruction) 121

All

Dans le document Application Programmer's Reference Manual (Page 128-134)