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 7COPY 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