This document describes the examples provided for the COBOL Wrapper for BS2000/OSD. It covers the following topics:
The following examples are delivered for BS2000/OSD:
All examples here can be found in the EntireX directory examples/RPC under UNIX and Windows. If EntireX is installed under BS2000/OSD, the examples are also available on this platform.
Element | Type | LMS Library | Comment | Notes |
---|---|---|---|---|
CREATE-CALC-CLIENT | J | EXP960.COBC | S-procedure to generate the CALC COBOL sample client
application. It makes use of RUN-COBOL-COMPILER and
BIND-CALC-CLIENT. |
2 |
BIND-CALC-CLIENT | J | EXP960.COBC | S-procedure to bind the CALC COBOL sample client application. | |
RUN-COBOL-COMPILER | J | EXP960.COBC | S-procedure to run the COBOL2000 / COBOL85 compiler. | 2 |
RUN-CALC-CLIENT | J | EXP960.COBC | S-procedure to run the CALC COBOL sample client application. | |
CALCCLT.COB | S | EXP960.COBC | Main program source of the CALC COBOL example. | 1 |
CALC.COB | S | EXP960.COBC | COBOL RPC client interface object. | 1 |
CALC | S | EXP960.COBC | COBOL RPC interface copybook. | 1 |
COBSRVI.COB | S | EXP960.COBC | Generic RPC service. | 1 |
ERXCOMM | S | EXP960.COBC | Layout of the RPC communication area. See The RPC Communication Area (Reference). | 1 |
CLIENT-ADAPARM | S | EXP960.COBC | Adabas ADALNK IDTNAME parameter
required when using the NET transport method. It is shared by all
clients.
|
|
CLIENT-INPARM-CALC | S | EXP960.COBC | CALC client input parameters. |
Element | Type | LMS Library | Comment | Notes |
---|---|---|---|---|
CREATE-CALC-SERVER | J | EXP960.COBS | S-procedure to generate the CALC COBOL example server. It
makes use of RUN-COBOL-COMPILER .
|
2 |
RUN-COBOL-COMPILER | J | EXP960.COBS | S-procedure to run the COBOL2000 / COBOL85 compiler. | 2 |
CALC.COB | S | EXP960.COBS | Server program source of CALC COBOL example. | 1 |
Element | Type | LMS Library | Comment | Notes |
---|---|---|---|---|
CREATE-SQUARE-CLIENT | J | EXP960.COBC | S-procedure to generate the SQUARE
COBOL sample client application. It uses
RUN-COBOL-COMPILER and
BIND-SQUARE-CLIENT. |
2 |
BIND-SQUARE-CLIENT | J | EXP960.COBC | S-procedure to bind the SQUARE COBOL
sample client application.
|
|
RUN-COBOL-COMPILER | J | EXP960.COBC | S-procedure to run the COBOL2000 / COBOL85 compiler. | 2 |
RUN-SQUARE-CLIENT | J | EXP960.COBC | S-procedure to run the SQUARE COBOL
sample client application.
|
|
SQRECLT.COB | S | EXP960.COBC | Main program source of SQUARE COBOL
example.
|
1 |
SQUARE.COB | S | EXP960.COBC | COBOL RPC client interface object. | 1 |
SQUARE | S | EXP960.COBC | COBOL RPC interface copybook. | 1 |
COBSRVI.COB | S | EXP960.COBC | Generic RPC service. | 1 |
ERXCOMM | S | EXP960.COBC | Layout of the RPC communication area. See The RPC Communication Area (Reference). | 1 |
CLIENT-ADAPARM | S | EXP960.COBC | Adabas ADALNK IDTNAME parameter
required when using the NET transport method. It is shared by all
clients
|
|
CLIENT-INPARM-SQUARE | S | EXP960.COBC | SQUARE client input
parameters.
|
Element | Type | LMS Library | Comment | Notes |
---|---|---|---|---|
CREATE-SQUARE-SERVER | J | EXP960.COBS | S-procedure to generate the SQUARE
COBOL sample server. It uses RUN-COBOL-COMPILER .
|
2 |
RUN-COBOL-COMPILER | J | EXP960.COBS | S-procedure to run the COBOL2000 / COBOL85 compiler. | 2 |
SQUARE.COB | S | EXP960.COBS | Server program source of the SQUARE
COBOL example.
|
1 |
Element | Type | LMS Library | Comment | Notes |
---|---|---|---|---|
CREATE-MAIL-CLIENT | J | EXP960.COBC | S-procedure to generate the SENDMAIL
reliable RPC COBOL sample client application. It uses
RUN-COBOL-COMPILER and
BIND-MAIL-CLIENT .
|
2 |
BIND-MAIL-CLIENT | J | EXP960.COBC | S-procedure to bind the SENDMAIL
reliable RPC COBOL sample client application.
|
|
RUN-COBOL-COMPILER | J | EXP960.COBC | S-procedure to run the COBOL2000 / COBOL85 compiler. | 2 |
RUN-MAIL-CLIENT | J | EXP960.COBC | S-procedure to run the SENDMAIL
reliable RPC COBOL sample client application.
|
|
MAILCLT.COB | S | EXP960.COBC | Main program source of the SENDMAIL
reliable RPC COBOL example.
|
1 |
SENDMAIL.COB | S | EXP960.COBC | COBOL RPC client interface object. | 1 |
SENDMAIL | S | EXP960.COBC | COBOL RPC interface copybook. | 1 |
COBSRVI.COB | S | EXP960.COBC | Generic RPC service. | 1 |
ERXCOMM | S | EXP960.COBC | Layout of the RPC communication area. See The RPC Communication Area (Reference). | 1 |
CLIENT-ADAPARM | S | EXP960.COBC | Adabas ADALNK IDTNAME parameter
required when using the NET transport method. It is shared by all
clients.
|
|
CLIENT-INPARM-MAIL | S | EXP960.COBC | SENDMAIL reliable RPC client input parameters. |
Element | Type | LMS Library | Comment | Notes |
---|---|---|---|---|
CREATE-MAIL-SERVER | J | EXP960.COBS | S-procedure to generate the SENDMAIL
reliable RPC COBOL sample server. It makes use of
RUN-COBOL-COMPILER .
|
2 |
RUN-COBOL-COMPILER | J | EXP960.COBS | S-procedure to run the COBOL2000 / COBOL85 compiler. | 2 |
SENDMAIL.COB | S | EXP960.COBS | Server program source of the SENDMAIL
reliable RPC COBOL example.
|
1 |
When compiling the COBOL client and server sample source programs, the compiler may issue warnings depending on the compiler used. These warnings can be ignored.
The default configuration expects a COBOL2000 environment. Depending
on your installation it might be necessary to change the
COMPILER
parameter within the parameter declaration
section of the procedures. The delivered procedures support both COBOL2000 and
COBOL85 syntax.
To create the CALC
,
SQUARE
and SENDMAIL
clients,
parametrize S-procedures CREATE-CALC-CLIENT
,
CREATE-SQUARE-CLIENT
and
CREATE-MAIL-CLIENT
in
EXP960.COBC
and choose the compiler installed on your
system.
For more details, see also see the procedure headers in the delivered job control.
Enter the following commands:
Procedure Parameter | Description | Default |
---|---|---|
EXP-COB-CLT | COBOL client examples library | EXP960.COBC |
COMPILER | The COBOL compiler to be used: COBOL2000 or COBOL85 | COBOL2000 |
For more details, see also see the procedure headers in the delivered job control.
Enter the following commands:
/CALL-PROCEDURE *LIB(LIB=EXP960.COBC,ELE=CREATE-CALC-CLIENT) /CALL-PROCEDURE *LIB(LIB=EXP960.COBC,ELE=CREATE-SQUARE-CLIENT) /CALL-PROCEDURE *LIB(LIB=EXP960.COBC,ELE=CREATE-MAIL-CLIENT)
These procedures call the COBOL compiler and binder to generate corresponding L-elements stored in the EXP-COB-CLT library (the default is EXP960.COBC).
To create the CALC
,
SQUARE
and SENDMAIL
server
programs, parametrize S-procedures CREATE-CALC-SERVER
,
CREATE-SQUARE-SERVER
and
CREATE-MAIL-SERVER
in
EXP960.COBS
and choose the compiler installed on your
system.
Procedure Parameter | Description | Default |
---|---|---|
EXP-SRV-LIB | COBOL server examples library | EXP960.COBS |
COMPILER | The COBOL compiler to be used: COBOL2000 or COBOL85 | COBOL2000 |
For more details, see also see the procedure headers in the delivered job control.
Enter the following commands:
/CALL-PROCEDURE *LIB(LIB=EXP960.COBS,ELE=CREATE-CALC-SERVER) /CALL-PROCEDURE *LIB(LIB=EXP960.COBS,ELE=CREATE-SQUARE-SERVER) /CALL-PROCEDURE *LIB(LIB=EXP960.COBS,ELE=CREATE-MAIL-SERVER)
These procedures call the COBOL Compiler to generate three corresponding object modules stored as R-elements in EXP-SRV-LIB (the default is EXP960.COBS).
There is no need to link the object modules with the BS2000/OSD Common Runtime Environment (CRTE) library. The CRTE is loaded once dynamically in the corresponding worker task of the RPC server where the server program is executed.
Running the CALC
client is described below.
Running the SQUARE
and the
SENDMAIL
clients is similar.
To run the CALC
client
Adapt S-element CLIENT-INPARM-CALC in EXP960.COBC.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Example CALC Client Input Parameter * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * BROKERID <ipaddr>:<port>:TCP * * BROKERID ETB<nnnnn>::NET * * USERID <userid> * * PASSWORD <password> * CLASS RPC * SERVER SRV1 * SERVICE CALLNAT * LOGON * CALC + 00012345 00067890 * CALC - 00067890 00012345 * CALC * 00001234 00005678 * CALC / 00005678 00001234 * CALC % 00005678 00001234 * LOGOFF * END
Set up BROKERID
in one of two formats,
depending on the transport method:
TCP Transport Method
<ip>:<port>:TCP
where | ip | is the address or DNS host name, |
port | is the port number that EntireX Broker is listening on, and | |
TCP | is the protocol name. |
NET Transport Method
ETB<nnnnn>::NET
where | nnnnn | is the ID under which EntireX Broker is connected to the Adabas ID table and |
NET | is the protocol name. |
Adapt S-element CLIENT-ADAPARM.
If "NET" is chosen as transport method, specify the name of the ID table to which the broker is connected:
ADALNK IDTNAME=ADAxxxxx
where | xxxxx | is any uppercase value. |
This parameter is shared between all sample clients.
Make sure the RPC server runs as COBOL RPC server (refer to the
RPC-CONFIG S-element in library EXP960.JOBS) and library EXP960.COBS is
included as PROGRAM-LIB
in the start up procedure
START-RPC-SERVER
.
Enter the following command to run the CALC
COBOL example client:
/CALL-PROCEDURE *LIB(LIB=EXP960.COBC,ELE=RUN-CALC-CLIENT) CALCCLT : START OPEN IN: -------- : <00> : BROKERID : ETB001 : CLASS : RPC : SERVER : SRV1 : SERVICE : CALLNAT CALCCLT : BROKER LOGON. CALC called successfully: 000012345 + 000067890 = 000080235 CALC called successfully: 000067890 - 000012345 = 000055545 CALC called successfully: 000001234 * 000005678 = 007006652 CALC called successfully: 000005678 / 000001234 = 000000004 CALC called successfully: 000005678 % 000001234 = 000000742 CALCCLT : BROKER LOGOFF. CLOSE IN: -------- : <00> CALCCLT : LEAVE