Pathmaker Programming Guide

Coding Custom Services
Creating Services and Servers
067868 Tandem Computers Incorporated 4–35
Example of COBOL85 Service Code With Embedded SQL Commands
This example of embedded SQL commands in service code retrieves one row from an
SQL table if it finds an exact match for employee number. In this example, a single
column, EMPNUM, is passed from the requester to the service:
?SECTION T9WS-SVC-SQL-001
*
?SECTION T9PR-SVC-SQL-001
*
MOVE EMPNUM OF T9154-REQUEST TO EMPNUM OF EMPLOYEE-HOST.
PERFORM 3010-GET-EMPNUM-INFO.
. . .
3010-GET-EMPNUM-INFO.
EXEC SQL
SELECT EMPNUM,
EMPNAME,
JOBCODE,
BIRTHDATE,
REGNUM,
BRANCHNUM,
SALARY,
VACATION
INTO :EMPNUM OF EMPLOYEE-HOST,
:EMPNAME OF EMPLOYEE-HOST,
:JOBCODE OF EMPLOYEE-HOST,
:BIRTHDATE OF EMPLOYEE-HOST,
:REGNUM OF EMPLOYEE-HOST,
:BRANCHNUM OF EMPLOYEE-HOST,
:SALARY OF EMPLOYEE-HOST,
:VACATION OF EMPLOYEE-HOST
FROM =EMPLOYEE
WHERE EMPNUM = :EMPNUM OF EMPLOYEE-HOST
END-EXEC.
IF T9154-SQL-SUCCESSFUL
MOVE CORRESPONDING EMPLOYEE-HOST
TO EMPLOYEE-T OF T9154-REPLY
MOVE "Table Read"
TO T9154-ADVISORY-MSG-TEXT OF T9154-REPLY
MOVE T9154-RETURN-SERVICE-REPLY
TO T9154-REPLY-FLAG
ELSE
IF T9154-SQL-NOT-FOUND
MOVE "Record not found"
TO T9154-ADVISORY-MSG-TEXT OF T9154-REPLY
MOVE T9154-RETURN-ADVISORY-ONLY
TO T9154-REPLY-FLAG