Calling C Program from within Lawson COBOL

 1 Replies
 0 Subscribed to this topic
 17 Subscribed to this forum
Sort:
Author
Messages
skitobite
New Member
Posts: 1
New Member
    Is there a way to call a "C" Program from Lawson COBOL. The "C" Executable and Source Code resides within a common directory on the Unix Box. Any documentation would be appreciated. 
    Jill
    Basic Member
    Posts: 7
    Basic Member
      A lot of our custom programs call UNIX shell scripts from Lawson COBOL.  You could probably try the same concept to call a C program.
       
      Add WS-SYSTEM-COMMAND to WS file...
                 02  WS-SYSTEM-COMMAND       PIC X(80) VALUE SPACES.
       
      In 100-PROGRAM-CONTROL section of PD file...
       
                 MOVE SPACES TO WS-SYSTEM-COMMAND.
                 STRING "ksh /u02/app/custom/lhrc/bin/xf110.ksh"
                 " "                        DELIMITED BY SIZE
                 PRM-FR-DATE-STAMP          DELIMITED BY SIZE
                 " "                        DELIMITED BY SIZE
                 PRM-TO-DATE-STAMP          DELIMITED BY SIZE
                                            INTO WS-SYSTEM-COMMAND.
       
                 CALL "system" USING WS-SYSTEM-COMMAND.
       
      where /u02/app/custom/lhrc/bin/xf110.ksh is the ksh script we're calling and PRM-FR-DATE-STAMP and PRM-TO-DATE-STAMP are the parameters you want to pass to the program.  When the token runs, Lawson always adds the full print output directory at the end of the system call.
       
      I think the "Run Type" in pgmdef needs to be "Prototyped And 4G/L" in LSF9.  I don't think it matters in Env 8.
       
      Good luck!