Objective
This example uses the DB-EXIT facility to retrieve all employees working in each office.
Procedure
The DB-EXIT facility is used to walk the OFFICE-EMPLOYEE set until the end of the set is reached:
Complete Code
col. 2
▼
DATABASE DICTNAME=DOCUDICT
IN DB SS=EMPSS01
PATH-- OFFICE EMPLOYEE
010 MSG 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQ'
010 JUNK
0151*005 IDMS-STATUS HH 'IDMS-STATUS' 'FIELD'
0151*010 OFFICE-CODE-0450 HH 'OFFICE CODE'
0151*020 EMP-NAME-0415 HH 'EMPLOYEE' 'NAME'
0152*005 IDMS-STATUS
0152*010 MSG
01OUT D
01SORT OFFICE-CODE-0450 0 EMP-NAME-0415
017 CALL DB-EXIT ('FIRST-AREA' 'OFFICE ' 'ORG-DEMO-REGION ')
017 IF IDMS-STATUS EQ '0000' 050
017 MOVE 'ERROR IN RETRIEVAL OF FIRST OFFICE' MSG
017 RELS 2
017 PERFORM 800
017050 CALL DB-EXIT ('FIRST' 'EMPLOYEE ' 'OFFICE-EMPLOYEE ')
017 B 150
017100 CALL DB-EXIT ('NEXT' 'EMPLOYEE ' 'OFFICE-EMPLOYEE ')
017150 IF IDMS-STATUS EQ '0000' 200 $Test for record found
017 IF IDMS-STATUS EQ '0307' 300 $Test for end of set
017 MOVE 'ERROR IN RETRIEVAL OF EMPLOYEE' MSG
017 RELS 2
017 PERFORM 800
017200 RELS 1
017 B 100
017300 CALL DB-EXIT ('NEXT-AREA' 'OFFICE ' 'ORG-DEMO-REGION ')
017 IF IDMS-STATUS EQ '0000' 050
017 IF IDMS-STATUS EQ '0307' STOP
017 MOVE 'ERROR IN RETRIEVAL OF NEXT OFFICE' MSG
017 RELS 2
017 PERFORM 800
017800 JUNK / 0 JUNK $Forces a buffer dump
017 STOP
Result
IDMS-STATUS EMPLOYEE FIELD OFFICE CODE NAME 0000 001 BETSY ZEDI 0000 001 HERBERT CRANE 0000 001 HERBERT LIPSICH 0000 001 JAMES GALLWAY 0000 001 JAMES JACOBI 0000 002 DOUGLAS KAHALLY 0000 002 SANDY KRAAMER 0000 002 TOM FITZHUGH 0000 005 ALAN DONOVAN 0000 005 BETH CLOUD 0000 005 BURT LANCHESTER 0000 005 CAROLYN CROW 0000 005 DANIEL MOON 0000 005 RENE MAKER 0000 005 TERRY CLOTH 0000 008 C. BREEZE 0000 008 HARRY ARM 0000 008 JOE KASPAR 0000 008 MARK TIME 0000 008 RICHARD MUNYON 0000 008 RICHARD WAGNER 0000 008 ROGER WILCO 0000 008 ROY ANDALE 0000 008 THEMIS PAPAZEUS
|
Copyright © 2014 CA.
All rights reserved.
|
|