Joseg,
Utilizei este código nos WebServices das Guias de transporte
Na Working Storage
COBOL Código:
01 ProcessInfo.
02 prcinf01 PIC 9(9) COMP-5.
02 prcinf02 PIC 9(9) COMP-5.
02 prcinf03 PIC 9(9) COMP-5.
02 prcinf04 PIC 9(9) COMP-5.
01 StartupInfo.
02 stainf01 PIC 9(9) COMP-5.
*
02 stainf02 PIC 9(9) COMP-5.
02 stainf03 PIC 9(9) COMP-5.
02 stainf04 PIC 9(9) COMP-5.
*
02 stainf05 PIC 9(9) COMP-5.
02 stainf06 PIC 9(9) COMP-5.
02 stainf07 PIC 9(9) COMP-5.
02 stainf08 PIC 9(9) COMP-5.
02 stainf09 PIC 9(9) COMP-5.
02 stainf10 PIC 9(9) COMP-5.
02 stainf11 PIC 9(9) COMP-5.
02 stainf12 PIC 9(9) COMP-5 VALUE 1.
02 stainf13 PIC 9(4) COMP-5 VALUE 0.
02 stainf14 PIC 9(4) COMP-5.
02 stainf15 PIC 9(9) COMP-5.
*
02 stainf16 PIC 9(9) COMP-5.
02 stainf17 PIC 9(9) COMP-5.
02 stainf18 PIC 9(9) COMP-5.
01 appPath PIC X(256) VALUE SPACE.
01 pathLeng PIC S9(9) COMP-5.
01 cmdline PIC X(256) VALUE SPACE.
01 cmdlinLeng PIC S9(9) COMP-5.
E na Procedure:
COBOL Código:
CALL "CreateProcessA" WITH STDCALL LINKAGE
USING BY REFERENCE appPath
BY VALUE 0
BY VALUE 0
BY VALUE 0
BY VALUE 0
BY VALUE 0
BY VALUE 0
BY VALUE 0
BY REFERENCE StartupInfo
BY REFERENCE ProcessInfo
RETURNING WSRESULT.
*
IF WSRESULT = 1 THEN
CALL "WaitForSingleObject" WITH STDCALL LINKAGE USING BY VALUE prcinf01 -1
CALL "GetExitCodeProcess" WITH STDCALL LINKAGE USING BY VALUE prcinf01 BY REFERENCE WSRESULT
CALL "CloseHandle" WITH STDCALL LINKAGE USING BY VALUE prcinf01
CALL "CloseHandle" WITH STDCALL LINKAGE USING BY VALUE prcinf02
ELSE
CALL "GetLastError" WITH STDCALL LINKAGE RETURNING WSRESULT
DISPLAY "Failed in execution " appPath(1:pathLeng)
DISPLAY "Return code is '" WSRESULT "'."
GO TO MAIN-99-EXIT
END-IF.
Vê se ajuda ou não.
Abraço,
Rui Pinto
Marcadores