diff --git a/LSL2/STPROC/RDS_UNLOAD_EVENTS.txt b/LSL2/STPROC/RDS_UNLOAD_EVENTS.txt index 1644910..86f45cf 100644 --- a/LSL2/STPROC/RDS_UNLOAD_EVENTS.txt +++ b/LSL2/STPROC/RDS_UNLOAD_EVENTS.txt @@ -281,58 +281,58 @@ Event PUB_SIGN.CLICK() If Len(ReactorType) GE 3 and ReactorType[1, 3] _EQC 'HTR' then If ( (WONo NE '') and (CassNo NE '') ) then WoMatKey = WONo:'*':CassNo - WoMatRecord = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey) If RowExists('WO_MAT', WOMatKey) then - IsLastCassetteInWo = WO_MAT_Services('CassetteIsLastInWo', WoMatKey) - If Error_Services('NoError') then - If IsLastCassetteInWo then - NextEventScheduled = False$ - NextEventHasSamePsn = True$ - NextEventIsBlock = False$ - NextScheduledEvent = Schedule_Services('GetNextEvent', Reactor) - If Error_Services('NoError') then - NextEventScheduled = True$ - NextEventHasSamePsn = Schedule_Services('NextEventIsSamePsn', Reactor) - NextEventIsBlock = Schedule_Services('NextEventIsBlock', Reactor) - end - If NextEventScheduled EQ False$ or NextEventHasSamePsn EQ False$ or NextEventIsBlock EQ True$ then - If Error_Services('NoError') then - If WOMatRecord NE '' then - WoMatRecord = True$ - TestWaferRanSinceLoad = WoMatRecord - If TestWaferRanSinceLoad NE True$ then - TestWaferRanSinceLoad = Rds_Services('TestWaferRanAfterLoad', RDSNo) - WoMatRecord = TestWaferRanSinceLoad - If TestWaferRanSinceLoad NE True$ then - Message = '' - If NextEventScheduled EQ False$ or NextEventIsBlock EQ True$ then - Message = 'No material scheduled. Test wafer required.' - end else if NextEventHasSamePsn EQ False$ then - Message = 'Next work order is a NEW PSN number. Test wafer required.' - end - Message_Box(@Window, Message, "Test Wafer Required", MSG_BTN_OK$ + MSG_ICON_EXCLAM$) - TWLogResult = Dialog_Box('NDW_LOG_TEST_WAFER_USAGE', @Window, RDSNo : @VM : '' : @VM : 'REACTOR' : @VM : Reactor) - WoMatRecord = TWLogResult - If TWLogResult NE True$ then - ErrMsg = 'Unload blocked! You must run a test wafer before signing the unload' - end - If ErrMsg NE '' then - Database_Services('WriteDataRow', 'WO_MAT', WoMatKey, WoMatRecord, True$, False$, False$) + WoMatRecord = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey) + If Error_Services('NoError') then + IsLastCassetteInWo = WO_MAT_Services('CassetteIsLastInWo', WoMatKey) + If Error_Services('NoError') then + If IsLastCassetteInWo then + NextEventScheduled = False$ + NextEventHasSamePsn = True$ + NextEventIsBlock = False$ + NextScheduledEvent = Schedule_Services('GetNextEvent', Reactor) + If Error_Services('NoError') then + NextEventScheduled = True$ + NextEventHasSamePsn = Schedule_Services('NextEventIsSamePsn', Reactor) + NextEventIsBlock = Schedule_Services('NextEventIsBlock', Reactor) + end + If NextEventScheduled EQ False$ or NextEventHasSamePsn EQ False$ or NextEventIsBlock EQ True$ then + If WOMatRecord NE '' then + WoMatRecord = True$ + TestWaferRanSinceLoad = WoMatRecord + If TestWaferRanSinceLoad NE True$ then + TestWaferRanSinceLoad = Rds_Services('TestWaferRanAfterLoad', RDSNo) + WoMatRecord = TestWaferRanSinceLoad + If TestWaferRanSinceLoad NE True$ then + Message = '' + If NextEventScheduled EQ False$ or NextEventIsBlock EQ True$ then + Message = 'No material scheduled. Test wafer required.' + end else if NextEventHasSamePsn EQ False$ then + Message = 'Next work order is a NEW PSN number. Test wafer required.' + end + Message_Box(@Window, Message, "Test Wafer Required", MSG_BTN_OK$ + MSG_ICON_EXCLAM$) + TWLogResult = Dialog_Box('NDW_LOG_TEST_WAFER_USAGE', @Window, RDSNo : @VM : '' : @VM : 'REACTOR' : @VM : Reactor) + WoMatRecord = TWLogResult + If TWLogResult NE True$ then + ErrMsg = 'Unload blocked! You must run a test wafer before signing the unload' + end + If ErrMsg NE '' then + Database_Services('WriteDataRow', 'WO_MAT', WoMatKey, WoMatRecord, True$, False$, False$) If Error_Services('HasError') then ErrMsg = Error_Services('GetMessage') end - end - end - end - end else - ErrMsg = 'WO_MAT record for ':WOMatKey:' is null!' - end - end else - ErrMsg = Error_Services('GetMessage') - end - end - end - end + end + end + end + end else + ErrMsg = 'WO_MAT record for ':WOMatKey:' is null!' + end + end + end + end + end else + ErrMsg = Error_Services('GetMessage') + end end else ErrMsg = 'WO_MAT ':WOMatKey:' does not exist!' end