PROCEDURE doEverything:
DEF INPUT PARAM lvTemp_Batch LIKE trn_prd.trp_batch.
DEF OUTPUT PARAM lvOtherFeedback AS LOGICAL.
DEF BUFFER bfr_trst FOR trst_tmp.
FOR EACH trst_tmp WHERE trst_tmp.trst_flag EQ cFlagRestore# AND
trst_tmp.trst_user EQ myUser AND
trst_tmp.trst_chr01 EQ lvTemp_Batch AND
trst_tmp.trst_status EQ NO
USE-INDEX trst_idx13
NO-LOCK.
RUN doReset. /* Just resetting some global variables */
DO TRANSACTION :
SET vRollBack = YES.
RUN doTransaksiScan.
END.
IF vRollBack NE NO THEN DO :
IF StatusCode EQ "" THEN
SET StatusCode = "Error Scanning with Batch: '" + trst_tmp.trst_chr01 +
"'; Serial Numb: '" + trst_tmp.trst_chr03 + "'".
PUT STREAM myStream UNFORMATTED "ERROR | " StatusCode SKIP.
END.
ELSE DO :
SET StatusCode = "Error Scanning with Batch: '" + trst_tmp.trst_chr01 +
"'; Serial Numb: '" + trst_tmp.trst_chr03 + "'".
PUT STREAM myStream UNFORMATTED "OK | " StatusCode SKIP.
FIND FIRST bfr_trst WHERE ROWID (bfr_trst) EQ ROWID (trst_tmp)
EXCLUSIVE-LOCK NO-ERROR.
IF AVAIL bfr_trst THEN DO :
SET bfr_trst.trst_status = YES.
END.
ELSE DO :
PUT STREAM myStream UNFORMATTED "ERROR | Missing Buffer on trst_tmp" SKIP.
END.
END.
END.
SET lvOtherFeedback = YES.
END. /* END OF PROCEDURE */