

Cooperative Processing Commands › Sample Cooperative Application › Dialog B: Server listing (Mainframe)
Dialog B: Server listing (Mainframe)
!*************************************************************************
DIALOG A240D1 (CA ADS)
PROCESS NAME IS A240D1-PREMAP
! THE INTENT OF THIS MAPLESS DIALOG IS TO RECEIVE THE EMPLOYEE-ID
! FROM THE PC APPLICATION AND THEN OBTAIN THE APPROPRIATE RECORDS FROM
! THE CA IDMS/DB DATABASE, BASED ON THE CONTENTS OF THE EMPLOYEE ID.
! THEN CERTAIN ELEMENTS IN THE RECORDS ARE SENT BACK TO THE PC FOR FURTHER
! PROCESSING.
!
! IN ALL APPC CONVERSATIONS THERE ARE LOCAL AND REMOTE PROGRAM.
! ONLY ONE OF THE PROGRAMS CAN CONTROL THE CONVERSATION BUT CONTROL
! CAN BE PASSED BACK AND FORTH BETWEEN LOCAL AND REMOTE APPLICATIONS.
!
! IN THIS APPLICATION THE DEFAULT SENDER IS THE PC PROGRAM BECAUSE IT
! ISSUED THE ALLOCATE. ON THE RECEIVING END A "CONTROL SESSION" IS
! INITIATED IN RESPONSE TO THE ALLOCATE.
!
! NOTE THAT THE USE OF THE FORMAT/NOFORMAT PARAMETERS MUST BE THE SAME AT
! BOTH ENDS OF THE CONVERSATION.
READY.
(B2)CONTROL SESSION FORMAT.
IF APPCCODE LT 0 THEN
CALL SR-ABEND.
! LET'S GET THE EMPLOYEE ID FROM THE PC.
(B2)RECEIVE-AND-WAIT EMP-ID-WORK.
IF APPCCODE LT 0 OR WHAT-RECEIVED NE 'DATA-COMPLETE' THEN
CALL SR-ABEND.
! ALL APPC COMMUNICATIONS OCCUR IN HALF-DUPLEX MODE. THAT IS, ONLY ONE
! OF THE PROGRAMS CAN TALK WHILE THE OTHER LISTENS. IN ORDER TO
! "TURN THE LINE AROUND" THE RECEIVER MUST WAIT UNTIL THE SENDER SAYS IT'S
! OK TO SEND. THIS IS ACCOMPLISHED BY WAITING FOR 'SEND' TO BE RECEIVED
! IN THE WHAT-RECEIVED SYSTEM VARIABLE.
(B3)RECEIVE-AND-WAIT.
IF APPCCODE LT 0 OR WHAT-RECEIVED NE 'SEND' THEN
CALL SR-ABEND.
! EMP-ID-0415 IS DEFINED AS PIC 9(4) USAGE IS DISPLAY. APPC PRESENTATION
! SERVICES DO NOT SUPPORT ZONED DECIMAL DATA TYPE. IN ORDER TO RECEIVE THE
! EMPLOYEE ID FROM THE PC, A WORK RECORD IS CREATED WITH USAGE IS COMP.
! THEN GET THE RECORD USING AN OBTAIN CALC.
MOVE WK-EMP-ID TO EMP-ID-0415.
OBTAIN CALC EMPLOYEE.
IF DB-REC-NOT-FOUND THEN DO.
(B4) SEND-ERROR. ! NOTIFY CLIENT WE DIDN'T FIND EMPLOYEE
IF APPCCODE LT 0 THEN CALL SR-ABEND.
(B5) DEALLOCATE.
LEAVE ADS.
END.
! GET THE OFFICE RECORD, IF ONE EXISTS.
IF SET OFFICE-EMPLOYEE MEMBER THEN
OBTAIN OWNER WITHIN OFFICE-EMPLOYEE.
MOVE EMP-FIRST-NAME-0415 TO WK-EMP-FIRST-NAME.
MOVE EMP-LAST-NAME-0415 TO WK-EMP-LAST-NAME.
MOVE EMP-STREET-0415 TO WK-EMP-STREET.
MOVE EMP-CITY-0415 TO WK-EMP-CITY .
MOVE EMP-STATE-0415 TO WK-EMP-STATE.
MOVE EMP-ZIP-FIRST-FIVE-0415 TO WK-EMP-ZIP-FIRST-FIVE.
MOVE STATUS-0415 TO WK-STATUS.
MOVE OFFICE-CODE-0450 TO WK-OFFICE-CODE.
(B6) SEND-DATA WK-EMP-REC2.
IF APPCCODE LT 0 THEN CALL SR-ABEND.
! NOW THAT WE HAVE FINISHED, LET'S FLUSH THE COMMUNICATIONS
! BUFFER AND TERMINATE THE CONVERSATION.
(B6)DEALLOCATE.
LEAVE ADS.
!***********************
!
! SEND/RECEIVE ERROR HANDLING SUBROUTINE
!
DEFINE SR-ABEND.
(B7) DEALLOCATE ABEND.
LEAVE ADS.
Copyright © 2014 CA.
All rights reserved.
 
|
|