Vous êtes sur la page 1sur 8

******************************************************************

*TITLE 'GDO00172' CRITERIA RECORD ADDITION LOCATE *


******************************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. GDO00172.
AUTHOR. 48750249.
DATE-WRITTEN.
DATE-COMPILED.
/
******************************************************************
* INTRODUCTORY COMMENTS
*
* *********************
*
*
*
* FUNCTION - 'GRACE CRITERIA RECORD ADDITION LOCATE'
*
*
*
* ERROR
- SQLCODE=100 - END OF RECORDS IN THE TABLE
*
*
SQLCODE=0
- SUCCESSFUL EXECUTION
*
*
*
* MODULES
- ONE PROGRAM HAVE BEEN CALLED
*
* CALLED BY - GDO00172
*
* CALLED
- GU00001C
*
* GU00001C - GET DATE AND TIME
*
* GU00001W - DATE AND TIME VARIABLES
*
******************************************************************
*
MODIFICATIONS AND ENHANCEMENTS
*
******************************************************************
*
*
* DATE CREATED - DD-MMM-YYYY.
*
* PROJECT NBR - GP00001
*
* PROJECT NAME - GRACE
*
*
*
******************************************************************
*
GLOBAL MODIFICATIONS
*
******************************************************************
* DATE
| PROJECT | PGMR | PURPOSE/COMMENT/REMARKS
*
******************************************************************
*
|
|
|
*
*
|
|
|
*
*
|
|
|
*
*
|
|
|
*
*
|
|
|
*
*
|
|
|
*
*
|
|
|
*
******************************************************************
*
REGIONAL MODIFICATIONS
*
******************************************************************
* DATE
| PROJECT | PGMR | PURPOSE/COMMENT/REMARKS
*
******************************************************************
* 09-11-2011 |
|48750249|
*
*
|
|
|
*
*
|
|
|
*
*
|
|
|
*
*
|
|
|
*
******************************************************************
*
BUSINESS UNIT MODIFICATIONS
*
******************************************************************
* DATE
| PROJECT | PGMR | PURPOSE/COMMENT/REMARKS
*

******************************************************************
* 09-11-2011 |
|48750249|
*
*
|
|
|
*
*
|
|
|
*
*
|
|
|
*
*
|
|
|
*
******************************************************************
/
******************************************************************
* COPYBOOK USED *
*
*
* 1. GRCITAD
LOCATION (FSS196.ADMIN.COPYLIB)
*
* DESCRIPTION - SYMBOLIC MAP VARIABLES
*
* 2. DFHAID
LOCATION (CICS COPYBOOK)
*
* DESCRIPTION - EIB ATTENTION KEYS
*
* 3. DFHBMSCA
LOCATION (CICS COPYBOOK)
*
* DESCRIPTION - BMS COMMUNICATION AREA
*
*
*
*
*
*
*
*
*
* TABLE USED
*
* **********
*
* GR_CRITERA_SELRNGE
- ACCESS MODE (S)
*
* DCLGEN NAME
- GRDCLCSR
*
*
*
*
*
******************************************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-390.
OBJECT-COMPUTER. IBM-390.
/
DATA DIVISION.
WORKING-STORAGE SECTION.
77 FILLER
PIC X(60) VALUE '**** BEGINNING
' OF WORKING STORAGE - <GDO00172> ****'.
77 WE-PARAGRAPH-NAME
PIC X(43).
77 WW-ERROR-LENGTH
PIC S9(04) USAGE COMP.
77 WW-CHECK
PIC X(02) VALUE '/'.
01 WW-VALID-CHECK
PIC X
VALUE 'N'.
88 WW-VALID-DATA
VALUE 'Y'.
77 DCL-SEQ-NUM1
PIC S9(3)V USAGE COMP-3.
77 WW-ORG-CODE
PIC S9(3)V USAGE COMP-3.
01 WW-COMMAREA.
05 WW-ORG-NUM
05 WW-CRIT-CODE

PIC S9(3)V USAGE COMP-3.


PIC X(3).

01 WW-COMMAREA1.
05 WW-ERROR-NO
05 WW-ERROR-NAME

PIC S9(5)V USAGE COMP-3.


PIC X(60).

01 WW-COMMAREA2.
05 WW-TRANS
05 WW-PROG-NAME

PIC X(04) VALUE SPACES.


PIC X(08) VALUE SPACES.

05 WW-ERROR-NAME1
05 WW-SWITCH
77
77
77
77

WW-PARAGRAPH-NAME
WW-RESP
WW-EXIT
FILLER

PIC X(60) VALUE SPACES.


PIC 9.
PIC X(43).
PIC S9(8) USAGE COMP.
PIC X(06) VALUE 'THANKS'.
PIC X(60) VALUE '**** END ***
' OF WORKING STORAGE - <GDO00172>***'.

COPY GRCITAD.
/
COPY GU00001W.
/
COPY DFHAID.
/
COPY DFHBMSCA.
/
***************************************************************
*
DCLGEN
*
***************************************************************
*
DCLGEN NAME
|
TABLE NAME
*
***************************************************************
*
GRDCLCSR
| GR_CRITERA_SELRNGE
***************************************************************
EXEC SQL
INCLUDE GRDCLCSR
END-EXEC.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
/
LINKAGE SECTION.
01 DFHCOMMAREA.
02 LK-ORG-NUM
02 LK-CRIT-CODE
02 LK-ERROR-NO
02 LK-ERROR-NAME

PIC
PIC
PIC
PIC

S9(3)V USAGE COMP-3.


X(3).
S9(5)V USAGE COMP-3.
X(60).

/
PROCEDURE DIVISION.
A010-MAINLINE SECTION.
***************************************************************
*
START OF THE PROCEDURE DIVISION
*
***************************************************************
A010-10-MAINLINE-START.
MOVE 'A010-MAINLINE'
TO WE-PARAGRAPH-NAME.
INITIALIZE WW-COMMAREA.
IF EIBCALEN > 0
MOVE DFHCOMMAREA
TO WW-COMMAREA
ELSE IF
EIBCALEN = 0
MOVE LOW-VALUES
TO GRCITADO
MOVE -1
TO TRANSIDL
PERFORM B010-10-SEND-MAP-PARA-START
THRU B010-99-SEND-MAP-PARA-EXIT
END-IF.
EVALUATE EIBAID

WHEN DFHPF3
PERFORM D020-10-EXIT-PARA-START
THRU D020-99-EXIT-PARA-EXIT
WHEN DFHPF6
PERFORM B010-10-RECEIVE-PARA-START
THRU B010-99-RECEIVE-PARA-EXIT
PERFORM E010-10-VALIDATE-PARA-START
THRU E010-99-VALIDATE-PARA-EXIT
PERFORM B030-10-XCTL-DE14-START
THRU B030-99-XCTL-DE14-EXIT
WHEN DFHENTER
PERFORM D010-10-TRANSID-PARA-START
THRU D010-99-TRANSID-PARA-EXIT
WHEN OTHER
MOVE LOW-VALUES TO GRCITADO
MOVE 570
TO WW-ERROR-NO
MOVE WW-ERROR-NAME
TO MESSAGEO
PERFORM B010-10-LINK-ERROR-PARA-START
THRU B010-99-LINK-ERROR-PARA-EXIT
PERFORM B010-10-SEND-MAP-PARA-START
THRU B010-99-SEND-MAP-PARA-EXIT
END-EVALUATE.
A010-99-MAINLINE-EXIT.
EXIT.
/
***************************************************************
*
EXIT FROM THE PROGRAM GDO00172
*
***************************************************************
D020-EXIT-SECTION SECTION.
D020-10-EXIT-PARA-START.
MOVE 'B020-MAINLINE'
TO WE-PARAGRAPH-NAME.
EXEC CICS
SEND TEXT
FROM(WW-EXIT)
ERASE
FREEKB
END-EXEC.
EXEC CICS
RETURN
END-EXEC.
D020-99-EXIT-PARA-EXIT.
EXIT.
/
***************************************************************
*
PROCEDURE DIVISION XCTL DE14 SECTION
*
***************************************************************
B030-XCTL-DE14-SECTION.
B030-10-XCTL-DE14-START.
MOVE 'B030-10-XCTL-DE14'
TO WE-PARAGRAPH-NAME.
MOVE ORGCODEI
TO WW-ORG-NUM.
MOVE CRTCODEI
TO WW-CRIT-CODE.
EXEC CICS XCTL
PROGRAM('GDO00173')
COMMAREA(WW-COMMAREA)
END-EXEC.
B030-99-XCTL-DE14-EXIT.
EXIT.
/
***************************************************************

*
PROCEDURE DIVISION XCTL DE36 SECTION
*
***************************************************************
B030-XCTL-DE36-SECTION.
B030-10-XCTL-DE36-START.
MOVE 'B030-10-XCTL-DE36'
TO WE-PARAGRAPH-NAME.
EXEC CICS XCTL
PROGRAM('GDO00174')
COMMAREA(WW-COMMAREA)
END-EXEC.
B030-99-XCTL-DE36-EXIT.
EXIT.
***************************************************************
*
FETCHING DATA FROM TABLE GR_CRITERA_SELRNGE
*
***************************************************************
/
B010-RECEIVE SECTION.
B010-10-RECEIVE-PARA-START.
MOVE 'B030-MAINLINE'
TO WE-PARAGRAPH-NAME.
MOVE LOW-VALUES
TO GRCITADI.
EXEC CICS
RECEIVE MAP('GRCITAD')
MAPSET('GRCITAD')
INTO(GRCITADI)
END-EXEC.
B010-99-RECEIVE-PARA-EXIT.
EXIT.
/
/
***************************************************************
*
FETCHING DATA FROM TABLE GR_CRITERA_SELRNGE
***************************************************************
/
B010-RECEIVE SECTION.
B010-10-XCTL-DE36-PARA-START.
MOVE 'B030-MAINLINE'
TO WE-PARAGRAPH-NAME.
MOVE LOW-VALUES
TO GRCITADI.
EXEC CICS
RECEIVE MAP('GRCITAD')
MAPSET('GRCITAD')
INTO(GRCITADI)
END-EXEC.
PERFORM E010-10-VALIDATE-PARA-START
THRU E010-99-VALIDATE-PARA-EXIT
PERFORM B030-10-XCTL-DE36-START
THRU B030-99-XCTL-DE36-EXIT.
B010-99-XCTL-DE36-PARA-EXIT.
EXIT.
/
*************************************************************
*
SEND MAP WITH TRANSACTION ID DE14
*
*************************************************************
BO10-SEND-MAP SECTION.
B010-10-SEND-MAP-PARA-START.
COPY GU00001C.
MOVE WW-DATE
TO DATEO.
MOVE WW-TIME
TO TIMEO.

MOVE 00
EXEC CICS SEND
MAP('GRCITAD')
MAPSET('GRCITAD')
FROM(GRCITADO)
FREEKB
CURSOR
ERASE
END-EXEC.
EXEC CICS
RETURN
TRANSID('DE13')
COMMAREA(WW-COMMAREA)
END-EXEC.
B010-99-SEND-MAP-PARA-EXIT.
EXIT.

TO PAGEO.

/
DO10-TRANSID SECTION.
D010-10-TRANSID-PARA-START.
EXEC CICS
RECEIVE MAP('GRCITAD')
MAPSET('GRCITAD')
INTO(GRCITADI)
END-EXEC.
IF TRANSIDI NOT = SPACES
MOVE TRANSIDI
TO WW-TRANS
PERFORM B010-10-LINK-TRANSID-START
THRU B010-99-LINK-TRANSID-EXIT
IF WW-SWITCH = 1
EXEC CICS
XCTL
PROGRAM(WW-PROG-NAME)
END-EXEC
END-IF
MOVE WW-ERROR-NAME1
TO MESSAGEO
PERFORM B010-10-SEND-MAP-PARA-START
THRU B010-99-SEND-MAP-PARA-EXIT
ELSE IF
TRANSIDI = SPACES AND PAGEI = 00
MOVE 609
TO WW-ERROR-NO
PERFORM B010-10-LINK-ERROR-PARA-START
THRU B010-99-LINK-ERROR-PARA-EXIT
MOVE WW-ERROR-NAME
TO MESSAGEO
PERFORM B010-10-SEND-MAP-PARA-START
THRU B010-99-SEND-MAP-PARA-EXIT
ELSE IF PAGEI = 01
EXEC CICS
XCTL
PROGRAM('GDO00173')
END-EXEC
ELSE IF PAGEI = 02
EXEC CICS
XCTL
PROGRAM('GDO00174')
END-EXEC
ELSE IF PAGEI GREATER THAN 02
MOVE -1
TO PAGEL

MOVE 897
TO WW-ERROR-NO
PERFORM B010-10-LINK-ERROR-PARA-START
THRU B010-99-LINK-ERROR-PARA-EXIT
MOVE WW-ERROR-NAME
TO MESSAGEO
PERFORM B010-10-SEND-MAP-PARA-START
THRU B010-99-SEND-MAP-PARA-EXIT.
IF TRANSIDI NOT = SPACES
MOVE TRANSI
TO WW-TRANS
EXEC CICS
RETURN
TRANSID(WW-TRANS)
END-EXEC
END-IF.
D010-99-TRANSID-PARA-EXIT.
EXIT.
/
**********************************************************
*
VALIDATION SECTION
*
**********************************************************
EO10-VALIDATE SECTION.
E010-10-VALIDATE-PARA-START.
IF ORGCODEI = SPACES OR ORGCODEL = ZERO
MOVE -1
TO ORGCODEL
MOVE 571
TO WW-ERROR-NO
PERFORM B010-10-LINK-ERROR-PARA-START
THRU B010-99-LINK-ERROR-PARA-EXIT
MOVE WW-ERROR-NAME
TO MESSAGEO
MOVE 'N'
TO WW-VALID-CHECK
PERFORM B010-10-SEND-MAP-PARA-START
THRU B010-99-SEND-MAP-PARA-EXIT
END-IF.
IF CRTCODEI = SPACES OR CRTCODEL = ZERO
MOVE -1
TO CRTCODEL
MOVE 568
TO WW-ERROR-NO
PERFORM B010-10-LINK-ERROR-PARA-START
THRU B010-99-LINK-ERROR-PARA-EXIT
MOVE WW-ERROR-NAME
TO MESSAGEO
MOVE 'N'
TO WW-VALID-CHECK
PERFORM B010-10-SEND-MAP-PARA-START
THRU B010-99-SEND-MAP-PARA-EXIT
END-IF.
E010-99-VALIDATE-PARA-EXIT.
EXIT.
/
**********************************************************
*
ERROR LINK SECTION
*
**********************************************************
B010-10-LINK-ERROR SECTION.
B010-10-LINK-ERROR-PARA-START.
EXEC CICS LINK
PROGRAM('GUO00001')
COMMAREA(WW-COMMAREA1)
END-EXEC.
B010-99-LINK-ERROR-PARA-EXIT.
EXIT.
/
**********************************************************
*
TRANS ID LINK SECTION
*
**********************************************************

B010-10-LINK-TRANSID SECTION.
B010-10-LINK-TRANSID-START.
EXEC CICS LINK
PROGRAM('GUO00002')
COMMAREA(WW-COMMAREA2)
END-EXEC.
B010-99-LINK-TRANSID-EXIT.
EXIT.
****END GDO00172 PROGRAM*****

Vous aimerez peut-être aussi