Previous Topic: RECEIVENext Topic: OSCaR to APPC Mapping


Sample OSCaR Application

About this Example

This sample application program retrieves EMPLOYEE/OFFICE data from a remote demo data base. It performs the same function as the example in Sample Cooperative Application. No intermediate records are needed because the OSCaR verbs support all data types found in the EMPLOYEE and OFFICE records.

Client Map

                    RETRIEVE EMPLOYEE DATA

EMPLOYEE ID: ____

     Employee name:
     Office street:
     Office city  :

  Enter any employee ID.
  The employee's name and office address will be returned.

Client ENTER Process

IF EMP-ID-0415 EQ ZEROES DO.                   !IF NO EMP-ID ENTERED
   INITIALIZE RECORDS (EMPLOYEE, OFFICE).      !   CLEAR OLD DATA
   DISPLAY MESSAGE TEXT 'ENTER AN EMPLOYEE ID'.!   REQUEST EMP-ID
END.

IF FIELD EMP-ID-0415 IS CHANGED DO.            !IF EMP-ID WAS ENTERED
   OPEN CONVERSATION TRANSACTION 'EMPSERVE'.
   SEND EMP-ID-0415.                           !   SEND EMP-ID TO EMPSERV
   RECEIVE EMPLOYEE.                           !   RETRIEVE EMPLOYEE
   RECEIVE OFFICE.                             !   RETRIEVE OFFICE
   CLOSE CONVERSATION.
END.

IF EMP-NAME-0415 EQ ALL '*'                    !DISPLAY RESULTS
   DISPLAY MESSAGE TEXT 'EMPLOYEE DOES NOT EXIST'.
  ELSE
   DISPLAY MESSAGE TEXT 'EMPLOYEE DISPLAY IS COMPLETE'.

Server PREMAP Process

!****** GET EMP-ID FROM DIALOG EMPCLIEN *****
OPEN CONVERSATION TRANSACTION 'EMPSERVE'.
RECEIVE EMP-ID-0415.

!****** GET EMPLOYEE/OFFICE DATA *****
OBTAIN CALC EMPLOYEE.
IF DB-STATUS-OK DO.
   IF SET OFFICE-EMPLOYEE MEMBER
      OBTAIN OWNER WITHIN OFFICE-EMPLOYEE.
     ELSE
      MOVE ALL '*' TO OFFICE-ADDRESS-0450.
   END.
  ELSE DO.
   MOVE ALL '*' TO EMP-NAME-0415.
   !MIGHT INITIALIZE ALL EMPLOYEE FIELDS
   !EXCEPT EMP-NAME-0415 AND EMP-IF-0415.
   END.

!****** RETURN RECORDS TO CLIENT *****
SEND EMPLOYEE.
SEND OFFICE.
CLOSE CONVERSATION.
LEAVE ADS.