The mfclient and mfserver modules pass information to each other via a parameter block described in the mfclisrv.cpy copyfile. The modules use the same parameter block to pass information to any user programs.
Your server program must include the copyfile, mfclisrv.cpy in the Linkage Section. You must also modify the Procedure Division header to include the parameter block, LNK-PARAM-BLOCK, which is used to pass parameters from mfserver.
This is shown below in the example server code:
LINKAGE SECTION. 01 INPUT-REC PIC X(32767). COPY "MFCLISRV.CPY".*--- lnk-param-block is the record definition in mfclisrv.cpy PROCEDURE DIVISION USING LNK-PARAM-BLOCK. CONTROLLING SECTION. *-----------------------------------------------------------* * associate the user data area with the pointer in * lnk-parm-block. *-----------------------------------------------------------* SET ADDRESS OF INPUT-AREA TO LNK-DBLOCK-PTR. EVALUATE TRUE WHEN START-CONNECTION PERFORM PROGRAM-INITIALIZE WHEN OTHER PERFORM PROGRAM-BODY END-EVALUATE. EXIT PROGRAM. PROGRAM-INITIALIZE SECTION. *--- This code would include the initialization code *--- for your server program eg. opening your application *--- data files. ...... PROGRAM-BODY SECTION. *--- This section would include your application *--- processing code eg. read and writing of data *--- files. ......
If you choose to handle error message displays yourself, you will need to add code similar to the following to your program's initial EVALUATE statement:
WHEN COMMS-ERROR PERFORM SHOW-ERROR ...... SHOW-ERROR SECTION. DISPLAY LNK-ERROR-LOC AT 2201 DISPLAY LNK-ERROR-MSG AT 2301 WITH SIZE LNK-ERROR-MSG-LEN. EXIT.