DEF VAR mptr AS MEMPTR NO-UNDO.
DEF VAR ilen AS INT NO-UNDO.
DEF VAR ii AS INT NO-UNDO.
DEF VAR cc AS CHAR.
DEF VAR ibyte AS INT.
DEF VAR lbusy AS LOGICAL INIT ?.
DEFINE TEMP-TABLE tt NO-UNDO
FIELD msg# AS INT
FIELD msg AS CHAR
.
COPY-LOB FROM FILE SEARCH( "promsgs" ) TO mptr.
ilen = GET-SIZE ( mptr ).
DO WHILE ii < ilen:
ii = ii + 1.
ibyte = GET-BYTE( mptr, ii ).
IF ibyte = 0 THEN DO:
IF lbusy THEN DO:
IF cc MATCHES "*(*)" THEN DO:
CREATE tt.
ASSIGN
tt.msg# = INTEGER( ENTRY( 1, ENTRY( NUM-ENTRIES( cc, "(" ), cc, "(" ), ")" ) )
tt.msg = cc
NO-ERROR.
IF ERROR-STATUS:ERROR THEN
DELETE tt.
END.
cc = "".
lbusy = FALSE.
END.
END.
ELSE IF ibyte = 10 THEN
lbusy = FALSE.
ELSE DO:
cc = cc + CHR( ibyte ).
lbusy = TRUE.
END.
END.
SET-SIZE( mptr ) = 0.
OUTPUT TO "promgs.txt".
FOR EACH tt:
PUT UNFORMATTED tt.msg SKIP.
END.
OUTPUT CLOSE.