Login
Register
Search
Home
Forums
Jobs
LawsonGuru
LawsonGuru Letter
LawsonGuru Blog
Worthwhile Reading
Infor Lawson News Feed
Store
Store FAQs
About
Forums
Integration / Customization
S3 Customization/Development
Getting a result from a CALL "SYSTEM"
Home
Forums
Jobs
LawsonGuru
LawsonGuru Letter
LawsonGuru Blog
Worthwhile Reading
Infor Lawson News Feed
Store
Store FAQs
About
Who's On?
Membership:
Latest:
Jeffin Joy
Past 24 Hours:
1
Prev. 24 Hours:
0
Overall:
4988
People Online:
Visitors:
47
Members:
0
Total:
47
Online Now:
New Topics
Top Forum Posters
Name
Points
Greg Moeller
4184
David Williams
3349
Kat V
2984
Woozy
1973
Jimmy Chiu
1883
Kwane McNeal
1437
Ragu Raghavan
1377
Roger French
1315
mark.cook
1244
Chris Martin
825
Forums
Filtered Topics
Unanswered
Unresolved
Active Topics
Most Liked
Most Replies
Search Forums
Advanced Search
Prev
Next
Forums
Integration / Customization
S3 Customization/Development
Getting a result from a CALL "SYSTEM"
Please
login
to post a reply.
3 Replies
0
Subscribed to this topic
19 Subscribed to this forum
Sort:
Oldest First
Most Recent First
Author
Messages
Leon Feder
New Member
Posts: 2
6/20/2006 2:42 PM
I know how to call a system command from a COBOL program (Thanks, your article is great) but how can I use the results? I would like to get the result code and also look at the redirected output of the command.
John Henley
Posts: 3366
New Poster
Congrats on posting!
Engaged Reader
You are an engaged reader!
Avid Reader
Avid Reader art thou!
6/20/2006 9:44 PM
Split
Hi Leon!
I haven't tried it, but I think you can capture the return status using
CALL "system" USING xxx
GIVING WS-RETURN-STATUS.
Ref:
http://supportline.microf...2sp1/printf.htm#0033
For the definition of WS-RETURN-STATUS, see
http://supportline.microf...s/sx22sp1/prenvi.htm
10.2.5 Handling Return Codes
There are two different methods for handling return codes passed back from a called subprogram to the calling program. The first method is to make use of the COBOL special register, RETURN-CODE. The register is given a value in the COBOL subprogram before that subprogram passes control back to the COBOL calling program with an EXIT PROGRAM or GOBACK statement. The RETURN-CODE register of the calling program is then automatically updated with the subprogram's return code and this register can be examined accordingly. The RETURN-CODE register is predefined as PIC S9(4) COMP (unless the program has been compiled with the RTNCODE-SIZE "4" directive when it is PIC S9(8) COMP) which, while being suitable for COBOL-to-COBOL interprogram communication, is not really flexible enough to deal with calls to non-COBOL subprograms.
The preferred, and more flexible, way of handling return codes to and from COBOL programs in mixed-language applications is to make use of the RETURNING phrase on the CALL, EXIT PROGRAM, GOBACK, STOP RUN statements. This syntax enables you to define the format of the return code yourself and so cope with whatever size of return code you require.
John Henley
Posts: 3366
New Poster
Congrats on posting!
Engaged Reader
You are an engaged reader!
Avid Reader
Avid Reader art thou!
6/20/2006 9:46 PM
Split
As for the redirection of the output, it might be easiest to redirect the command to a file, and then just read the file back in...
Leon Feder
New Member
Posts: 2
6/22/2006 6:19 PM
Split
John,
Thanks. That makes sense.
Please
login
to post a reply.