Hi Everybody,
I encountered SYSTEM ERROR: fmprnt -- maxdlen. (68).
I tried debuggin it and found the error to occur in the .i file which only contains the below function in it.
When i put these debug statements the process seems to work fine but when i remove the debug statements i start getting the error again. (Strange but true).
Can anyone tell me whats happening???
The value passed to the .i is a database table name.
Thanks in Advance.
GV
FUNCTION Stamp{1} RETURNS CHAR ():
PUT UNFORMATTED "{1}" "debug 1" SKIP.
DEF VAR vRaw AS RAW.
DEF VAR cStamp AS CHAR NO-UNDO.
DEF VAR hBuffer AS HANDLE NO-UNDO.
DEF VAR hField AS HANDLE NO-UNDO.
DEF VAR iCounter AS INT NO-UNDO.
DEF VAR iExtent AS INT NO-UNDO.
hBuffer = buffer {1}:handle.
PUT UNFORMATTED "debug 2" SKIP.
IF hBUFFER:AVAILABLE THEN DO:
PUT UNFORMATTED "debug 3" SKIP.
DO iCounter = 1 TO hBuffer:NUM-FIELDS:
PUT UNFORMATTED hBuffer:NUM-FIELDS " no of fields " SKIP.
PUT UNFORMATTED " Current count " iCounter SKIP.
hField = hBuffer:BUFFER-FIELD(iCounter).
PUT UNFORMATTED "debug 4" SKIP.
if hField:extent = 0
then do:
PUT UNFORMATTED " debug 5 " SKIP.
cStamp = cStamp + (IF hField:STRING-VALUE = ? THEN '' ELSE hField:STRING-VALUE) NO-ERROR.
IF ERROR-STATUS:ERROR THEN
DO:
PUT UNFORMATTED "error during assignment " SKIP.
END.
END.
else do iExtent = 1 to hField:Extent:
PUT UNFORMATTED "debug 6" SKIP.
cStamp = cStamp + (IF hField:STRING-VALUE[iExtent] = ? THEN '' ELSE hField:STRING-VALUE[iExtent]).
PUT UNFORMATTED "debug 7" SKIP.
end.
end.
PUT UNFORMATTED "debug 8" SKIP.
RETURN ENCODE(cStamp + STRING(ROWID({1}))).
PUT UNFORMATTED "debug 9" SKIP.
END.
RETURN ''.
END FUNCTION.
I encountered SYSTEM ERROR: fmprnt -- maxdlen. (68).
I tried debuggin it and found the error to occur in the .i file which only contains the below function in it.
When i put these debug statements the process seems to work fine but when i remove the debug statements i start getting the error again. (Strange but true).
Can anyone tell me whats happening???
The value passed to the .i is a database table name.
Thanks in Advance.
GV
FUNCTION Stamp{1} RETURNS CHAR ():
PUT UNFORMATTED "{1}" "debug 1" SKIP.
DEF VAR vRaw AS RAW.
DEF VAR cStamp AS CHAR NO-UNDO.
DEF VAR hBuffer AS HANDLE NO-UNDO.
DEF VAR hField AS HANDLE NO-UNDO.
DEF VAR iCounter AS INT NO-UNDO.
DEF VAR iExtent AS INT NO-UNDO.
hBuffer = buffer {1}:handle.
PUT UNFORMATTED "debug 2" SKIP.
IF hBUFFER:AVAILABLE THEN DO:
PUT UNFORMATTED "debug 3" SKIP.
DO iCounter = 1 TO hBuffer:NUM-FIELDS:
PUT UNFORMATTED hBuffer:NUM-FIELDS " no of fields " SKIP.
PUT UNFORMATTED " Current count " iCounter SKIP.
hField = hBuffer:BUFFER-FIELD(iCounter).
PUT UNFORMATTED "debug 4" SKIP.
if hField:extent = 0
then do:
PUT UNFORMATTED " debug 5 " SKIP.
cStamp = cStamp + (IF hField:STRING-VALUE = ? THEN '' ELSE hField:STRING-VALUE) NO-ERROR.
IF ERROR-STATUS:ERROR THEN
DO:
PUT UNFORMATTED "error during assignment " SKIP.
END.
END.
else do iExtent = 1 to hField:Extent:
PUT UNFORMATTED "debug 6" SKIP.
cStamp = cStamp + (IF hField:STRING-VALUE[iExtent] = ? THEN '' ELSE hField:STRING-VALUE[iExtent]).
PUT UNFORMATTED "debug 7" SKIP.
end.
end.
PUT UNFORMATTED "debug 8" SKIP.
RETURN ENCODE(cStamp + STRING(ROWID({1}))).
PUT UNFORMATTED "debug 9" SKIP.
END.
RETURN ''.
END FUNCTION.