Retrieving a DL/1 segment_COBOL guide
A qualification statement provides DL/1 with information about a specific segment occurrence. You provide DL/1 with the name of a field in the segment and a value for the specific field. The field and value are connected by a relational operator (OP) that tells DL/1 how to compare the two values.
Type a greater-than symbol (>) in the OP field to the right of the equal sign (=). Press Enter to update the OP field. This tells Code Debug CICS to search for a segment with a value in PARTKEY greater than or equal to low values, such as the first segment in the database.
Modifying the SSA on the Edit DL/1 Segment Screen (5.4.4)---------------------------- EDIT DL/1 SEGMENT (5.4.4) -------------------C024
COMMAND ===> SCROLL ===> CSR
MODULE: CSECT:
DBCTL STATUS: CONNECTED ID: R710
COMMANDS: PCB
SHOW SSA/DATA/KEYS HEX OFF/ON/DUMP INSERT REM END/TERM=COMMIT XFER=CANCEL
PSB NAME: DFHSAM04 (DBCTL) PCB#: 01 DBD: DI21PART RECLN: 00000 MAX RECLN: 00000
DEC-OFFSET: 000000 ADD-OFFSET: ______ RECFM: ** PSB IS NOT SCHEDULED **
DATABASE STAT PROC SEGMENT KFD ---------------KEY FEEDBACK--------------
NAME LV CODE OPTS NAME LEN **** NO PCB AVAILABLE ****
SSA 01 OF 01 --------------------SEARCH KEY------------------
LV SEG NAME CC Q SEGFLD OP ----+---10----+---20----+---30----+---40----+-->
01 PARTROOT *--- ( PARTKEY => .................)
000000000000000005
00000000000000000D
** **END**Type PCB and press Enter to schedule a PSB. Code Debug CICS displays the message
************* PSB SCHEDULED VIA "PCB" COMMAND *************to show that the PSB has been scheduled.
Type GN in the COMMAND field and press Enter to display the next segment in the database. The Edit DL/1 Segment screen (5.4.4) appears with the PCB field area updated for the selected segment (Displaying the Area on the PCB Edit DL/1 Segment Screen (5.4.4)).
Displaying the Area on the PCB Edit DL/1 Segment Screen (5.4.4)---------------------------- EDIT DL/1 SEGMENT (5.4.4) -------------------C024
COMMAND ===> SCROLL ===> CSR
MODULE: ********************** I/O COMPLETED **********************
DBCTL STATUS: CONNECTED ID: R710
COMMANDS: TERM GU GHU GN GHN GNP GHNP ISRT REPL DLET CANCEL
SHOW SSA/DATA/KEYS HEX OFF/ON/DUMP INSERT REM END/TERM=COMMIT XFER=CANCEL
PSB NAME: DFHSAM04 (DBCTL) PCB#: 01 DBD: DI21PART RECLN: 00050 MAX RECLN: 00050
DEC-OFFSET: 000000 ADD-OFFSET: ______ RECFM: F **** PSB IS SCHEDULED ****
DATABASE STAT PROC SEGMENT KFD ---------------KEY FEEDBACK--------------
NAME LV CODE OPTS NAME LEN ----+---10----+17
DI21PART 01 A PARTROOT 00017 02AN960C10
FFCDFFFCFF4444444
02159603100000000
SSA 01 OF 01 --------------------SEARCH KEY------------------
LV SEG NAME CC Q SEGFLD OP ----+---10----+---20----+---30----+---40----+-->
01 PARTROOT *--- ( PARTKEY => .................)
000000000000000005
00000000000000000D
** **END**The PCB field area displays data fields obtained from the PCB used in the last DL/1 call. These fields reflect the current position in the database and the status returned by DL/1.
The DBD field identifies DI21PART as the database being accessed. The LV and SEGMENT NAME fields indicate the lowest segment in the last path DL/1 encountered while searching for the requested segment. The blanks in the STAT CODE field indicate that the call was successful. If there was an error in processing, this field would display a two-character status code, such as GB, AK or NO. In addition, Code Debug CICS provides extended diagnostics for many of the displayed status codes. You can view these diagnostics by typing HELP xx in the COMMAND field, where xx is the DL/1 status code.
The value in the PROC OPTS field indicates the type of call that can be issued by this PCB. The A value indicates that all types of calls can be issued. A G value would indicate “get processing” calls.To display the data retrieved in this call, type SHOW DATA on the COMMAND field and press Enter. The SSA area at the bottom of the screen is replaced by the segment data (following figure).
DL/1 Segment Screen (5.4.4) - SHOW DATA----------------------------- EDIT DL/1 SEGMENT (5.4.4) -------------------C024
COMMAND ===> SCROLL ===> CSR
MODULE: CSECT:
DBCTL STATUS: CONNECTED ID: R710
COMMANDS: TERM GU GHU GN GHN GNP GHNP ISRT REPL DLET CANCEL
SHOW SSA/DATA/KEYS HEX OFF/ON/DUMP INSERT REM END/TERM=COMMIT XFER=CANCEL
PSB NAME: DFHSAM04 (DBCTL) PCB#: 01 DBD: DI21PART RECLN: 00050 MAX RECLN: 00050
DEC-OFFSET: 000000 ADD-OFFSET: ______ RECFM: F **** PSB IS SCHEDULED ****
DATABASE STAT PROC SEGMENT KFD ---------------KEY FEEDBACK--------------
NAME LV CODE OPTS NAME LEN ----+---10----+17
DI21PART 01 A PARTROOT 00017 02AN960C10
FFCDFFFCFF4444444
02159603100000000
----+---10----+---20----+---30----+---40----+---50
02AN960C10 WASHER
----+---10----+---20----+---30----+---40----+---50The segment information can be displayed in several different formats to make editing easier. Use the HEX ON and HEX DUMP commands to format the display as shown in Edit DL/1 Segment Screen (5.4.4) - HEX ON and Edit DL/1 Segment Screen (5.4.4) - HEX DUMP. HEX OFF returns the display to character format.
Edit DL/1 Segment Screen (5.4.4) - HEX ON----------------------------- EDIT DL/1 SEGMENT (5.4.4) ------------------C024
COMMAND ===> SCROLL ===> CSR
MODULE: CSECT:
DBCTL STATUS: CONNECTED ID: R710
COMMANDS: TERM GU GHU GN GHN GNP GHNP ISRT REPL DLET CANCEL
SHOW SSA/DATA/KEYS HEX OFF/ON/DUMP INSERT REM END/TERM=COMMIT XFER=CANCEL
PSB NAME: DFHSAM04 (DBCTL) PCB#: 01 DBD: DI21PART RECLN: 00050 MAX RECLN: 00050
DEC-OFFSET: 000000 ADD-OFFSET: ______ RECFM: F **** PSB IS SCHEDULED ****
DATABASE STAT PROC SEGMENT KFD ---------------KEY FEEDBACK--------------
NAME LV CODE OPTS NAME LEN ----+---10----+17
DI21PART 01 A PARTROOT 00017 02AN960C10
FFCDFFFCFF4444444
02159603100000000
----+---10----+---20----+---30----+---40----+---50
02AN960C10 WASHER
FFCDFFFCFF4444444444444444ECECCD444444444444444444
02159603100000000000000000061285900000000000000000
----+---10----+---20----+---30----+---40----+---50To redisplay the original SSA, type SHOW SSA on the COMMAND line and press Enter.
Edit DL/1 Segment Screen (5.4.4) - HEX DUMP------------------------------ EDIT DL/1 SEGMENT (5.4.4) -----------------C024
COMMAND ===> SCROLL ===> CSR
MODULE: CSECT:
DBCTL STATUS: CONNECTED ID: R710
COMMANDS: TERM GU GHU GN GHN GNP GHNP ISRT REPL DLET CANCEL
SHOW SSA/DATA/KEYS HEX OFF/ON/DUMP INSERT REM END/TERM=COMMIT XFER=CANCEL
PSB NAME: DFHSAM04 (DBCTL) PCB#: 01 DBD: DI21PART RECLN: 00050 MAX RECLN: 00050
DEC-OFFSET: 000000 ADD-OFFSET: ______ RECFM: F **** PSB IS SCHEDULED ****
DATABASE STAT PROC SEGMENT KFD ---------------KEY FEEDBACK--------------
NAME LV CODE OPTS NAME LEN ----+---10----+17
DI21PART 01 A PARTROOT 00017 02AN960C10
FFCDFFFCFF4444444
02159603100000000
000000 000 F0F2C1D5 F9F6F0C3 F1F04040 40404040 * 02AN960C10 *
000010 010 40404040 40404040 4040E6C1 E2C8C5D9 * WASHER *
000020 020 40404040 40404040 40404040 40404040 * *
000030 030 4040 * *
**END**To update the SSA with key feedback data from the segment, type SHOW KEYS on the COMMAND line and press Enter. This is used to update the SSA to the current segment (following figure).
Edit DL/1 Segment Screen (5.4.4) - SHOW KEYS------------------------------ EDIT DL/1 SEGMENT (5.4.4) ------------------C024
COMMAND ===> SCROLL ===> CSR
MODULE: ********************** I/O COMPLETED **********************
DBCTL STATUS: CONNECTED ID: R710
COMMANDS: TERM GU GHU GN GHN GNP GHNP ISRT REPL DLET CANCEL
SHOW SSA/DATA/KEYS HEX OFF/ON/DUMP INSERT REM END/TERM=COMMIT XFER=CANCEL
PSB NAME: DFHSAM04 (DBCTL) PCB#: 01 DBD: DI21PART RECLN: 00050 MAX RECLN: 00050
DEC-OFFSET: 000000 ADD-OFFSET: ______ RECFM: F **** PSB IS SCHEDULED ****
DATABASE STAT PROC SEGMENT KFD ---------------KEY FEEDBACK--------------
NAME LV CODE OPTS NAME LEN ----+---10----+17
DI21PART 01 A PARTROOT 00017 02AN960C10
FFCDFFFCFF4444444
02159603100000000
SSA 01 OF 01 --------------------SEARCH KEY------------------
LV SEG NAME CC Q SEGFLD OP ----+---10----+---20----+---30----+---40----+-->
01 PARTROOT *--- ( PARTKEY = 02AN960C10 )
FFCDFFFCFF44444445
02159603100000000D
** **END**- The GN (GETNEXT) command can be used to browse the database.
Remember to end the session as described in Exiting Code Debug CICS and Ending a Debugging Session
.