C/C++ Programmer's Guide (G06.27+, H06.08+, J06.03+)

Example 4 COBOL Function Called by a C Program
?env common
?SYMBOLS
IDENTIFICATION DIVISION.
PROGRAM-ID. XCOBFUNC.
AUTHOR. ETREJO.
DATE-WRITTEN. 7/25/00.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. TANDEM-K2006.
OBJECT-COMPUTER. TANDEM-K2006.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 D-RESULT PIC S9(09) COMP.
LINKAGE SECTION.
77 D-STRING PIC X(20).
77 D-SHORT NATIVE-2.
77 D-LARGE NATIVE-4.
PROCEDURE DIVISION USING D-STRING, D-SHORT, D-LARGE.
000-INIT.
CONFIGURATION SECTION.
SOURCE-COMPUTER. TANDEM-K2006.
OBJECT-COMPUTER. TANDEM-K2006.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 D-RESULT PIC S9(09) COMP.
LINKAGE SECTION.
77 D-STRING PIC X(20).
77 D-SHORT NATIVE-2.
77 D-LARGE NATIVE-4.
PROCEDURE DIVISION USING D-STRING, D-SHORT, D-LARGE.
000-INIT.
DISPLAY "I AM DOING COBOL NOW".
COMPUTE D-RESULT = D-LARGE / D-SHORT.
DISPLAY "D-STRING = " D-STRING.
DISPLAY "D-LARGE = " D-LARGE.
DISPLAY "D-SHORT = " D-SHORT.
DISPLAY "D-RESULT = " D-RESULT.
DISPLAY "LEAVING COBOL PROGRAM NOW".
EXIT-PROGRAM.
Example 5 Include File (Prototype Function)
/* COBINCLH */
/* Following is the new way to declare extern COBOL calls */
void XCOBFUNC (char *, short *, long *);
#pragma FUNCTION XCOBFUNC (cobol)
Example 6 Binder File
select check parameter strong
add * from testco
add * from testcobo
select search $system.system.cwide
set heap 64
build testexe
To compile the programs in the Guardian environment:
1. Compile the COBOL function named testcob using the TNS COBOL compiler:
120 Mixed-Language Programming for TNS Programs