I have a procedure which tranfer a file from server to local machine.
I do it with a memptr parameter.
DEFINE INPUT PARAMETER myFile AS CHARACTER NO-UNDO.
DEFINE OUTPUT PARAMETER memptrParameter AS MEMPTR NO-UNDO.
DEFINE OUTPUT PARAMETER cError AS CHARACTER NO-UNDO.
FILE-INFO:FILE-NAME = myFile NO-ERROR.
myFile = FILE-INFO:FULL-PATHNAME NO-ERROR.
IF myFile = ? OR myFile = "" THEN
DO:
cError = "Error FILE".
RETURN.
END.
SET-SIZE(memptrParameter) = FILE-INFO:FILE-SIZE.
INPUT FROM VALUE(myFile) BINARY NO-MAP NO-CONVERT.
IMPORT UNFORMATTED memptrParameter.
INPUT CLOSE.
This program usually works fine but it crash when file is so heavy (more than 100MB). Then an error 140 appears in the Appserver log file:
** Pipe to subprocess has been broken. (140)
I have read the KBase ID: P112720 and I hve tried the solution:
Slow the Progress session down by adding, for example, a PAUSE 1 statement after OUTPUT THROUGH.
But it hasn´t work.
Could anyone help me???
Thanks
I do it with a memptr parameter.
DEFINE INPUT PARAMETER myFile AS CHARACTER NO-UNDO.
DEFINE OUTPUT PARAMETER memptrParameter AS MEMPTR NO-UNDO.
DEFINE OUTPUT PARAMETER cError AS CHARACTER NO-UNDO.
FILE-INFO:FILE-NAME = myFile NO-ERROR.
myFile = FILE-INFO:FULL-PATHNAME NO-ERROR.
IF myFile = ? OR myFile = "" THEN
DO:
cError = "Error FILE".
RETURN.
END.
SET-SIZE(memptrParameter) = FILE-INFO:FILE-SIZE.
INPUT FROM VALUE(myFile) BINARY NO-MAP NO-CONVERT.
IMPORT UNFORMATTED memptrParameter.
INPUT CLOSE.
This program usually works fine but it crash when file is so heavy (more than 100MB). Then an error 140 appears in the Appserver log file:
** Pipe to subprocess has been broken. (140)
I have read the KBase ID: P112720 and I hve tried the solution:
Slow the Progress session down by adding, for example, a PAUSE 1 statement after OUTPUT THROUGH.
But it hasn´t work.
Could anyone help me???
Thanks