moved costly calls to the backend procedure queue to speedup sap transaction processing and releasing material
This commit is contained in:
parent
58c800b504
commit
59c07b1a8b
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
LSL2/STPROC/TEST_DANIEL*.txt
|
||||
LSL2/STPROC/TEST_DAKOTA.txt
|
||||
LSL2/STPROC/JONATHAN_SERVICES.txt
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -65,8 +65,7 @@ Equ COMMA$ to ','
|
||||
Declare function Error_Services, Database_Services, obj_RDS_Test, Logging_Services, Environment_Services
|
||||
Declare function Tool_Parms_Services, Signature_Services, obj_WO_Mat_QA, Datetime, Override_Services
|
||||
Declare function Rds_Services, SRP_DateTime, SRP_Math, obj_WO_Mat, Lot_Services, SRP_Array
|
||||
Declare subroutine Error_Services, Database_Services, Logging_Services, Set_Status, Schedule_Services
|
||||
Declare subroutine Work_Order_Services, Material_Services, Set_FSError
|
||||
Declare subroutine Error_Services, Database_Services, Logging_Services, Service_Services
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\RDS'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
@ -577,6 +576,7 @@ READ_RECORD:
|
||||
|
||||
return
|
||||
|
||||
|
||||
READONLY_RECORD_PRE:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
@ -586,6 +586,7 @@ READONLY_RECORD_PRE:
|
||||
// ActionFlow = ACTION_STOP$
|
||||
return
|
||||
|
||||
|
||||
READONLY_RECORD:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
@ -848,6 +849,7 @@ WRITE_RECORD_PRE:
|
||||
|
||||
return
|
||||
|
||||
|
||||
WRITE_RECORD:
|
||||
|
||||
WONo = Record<RDS_WO$>
|
||||
@ -953,16 +955,17 @@ WRITE_RECORD:
|
||||
WMIKeys = {WM_IN_KEY}
|
||||
For each WMIKey in WMIKeys using @VM setting vPos
|
||||
CassNo = Field(WMIKey, '*', 3)
|
||||
Schedule_Services('MarkCassProcessed', WONo, CassNo, DatetimeOut)
|
||||
Service_Services('PostProcedure', 'SCHEDULE_SERVICES':@VM:'MarkCassProcessed':@VM:WONo:@VM:CassNo:@VM:DatetimeOut)
|
||||
Next WMIKey
|
||||
end else
|
||||
CassNo = Record<RDS_CASS_NO$>
|
||||
Schedule_Services('MarkCassProcessed', WONo, CassNo, DatetimeOut)
|
||||
Service_Services('PostProcedure', 'SCHEDULE_SERVICES':@VM:'MarkCassProcessed':@VM:WONo:@VM:CassNo:@VM:DatetimeOut)
|
||||
end
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
|
||||
DELETE_RECORD_PRE:
|
||||
|
||||
Notes = RetStack()
|
||||
@ -976,11 +979,11 @@ DELETE_RECORD_PRE:
|
||||
|
||||
return
|
||||
|
||||
|
||||
DELETE_RECORD:
|
||||
return
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Internal GoSubs
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -1040,4 +1043,3 @@ Restore_System_Variables:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
@ -59,7 +59,7 @@ Equ Comma$ to ','
|
||||
|
||||
Declare function Database_Services, obj_NCR, obj_SAP, Environment_Services, Logging_Services, Datetime
|
||||
Declare subroutine Error_Services, Database_Services, obj_NCR, obj_SAP, Material_Services, Work_Order_Services
|
||||
Declare subroutine Logging_Services, obj_Notes, Schedule_Services
|
||||
Declare subroutine Logging_Services, obj_Notes, Service_Services
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WM_IN'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
@ -123,17 +123,17 @@ READ_RECORD_PRE:
|
||||
// ActionFlow = ACTION_STOP$
|
||||
return
|
||||
|
||||
|
||||
READ_RECORD:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
// OrigFileError = 100 : @FM : KeyID
|
||||
// Status = 0
|
||||
// Record = ''
|
||||
* LockOwner = Record<WM_IN_LOCKED_BY$>
|
||||
* If LockOwner EQ '' then Record<WM_IN_LOCKED_BY$> = @User4
|
||||
|
||||
return
|
||||
|
||||
|
||||
READONLY_RECORD_PRE:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
@ -143,6 +143,7 @@ READONLY_RECORD_PRE:
|
||||
// ActionFlow = ACTION_STOP$
|
||||
return
|
||||
|
||||
|
||||
READONLY_RECORD:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
@ -151,9 +152,11 @@ READONLY_RECORD:
|
||||
// Record = ''
|
||||
return
|
||||
|
||||
|
||||
WRITE_RECORD_PRE:
|
||||
return
|
||||
|
||||
|
||||
WRITE_RECORD:
|
||||
|
||||
// Look for schedule events that may need to be updated.
|
||||
@ -161,7 +164,7 @@ WRITE_RECORD:
|
||||
CassNo = Field(Name, '*', 3)
|
||||
ProcessedDTM = Datetime()
|
||||
// This service will determine if the cassette needs to be marked as complete.
|
||||
Schedule_Services('MarkCassProcessed', WONo, CassNo, ProcessedDtm)
|
||||
Service_Services('PostProcedure', 'SCHEDULE_SERVICES', 'MarkCassProcessed':@VM:WONo:@VM:CassNo:@VM:ProcessedDtm)
|
||||
|
||||
WfrCount = DCount(Record<WM_IN_SLOT_NO$>, @VM)
|
||||
If WfrCount LT 25 then
|
||||
@ -179,34 +182,12 @@ WRITE_RECORD:
|
||||
|
||||
return
|
||||
|
||||
|
||||
DELETE_RECORD_PRE:
|
||||
|
||||
// Log which user and computer station attempted to delete the record
|
||||
* LogData = ''
|
||||
* LogData<1> = LoggingDTM
|
||||
* LogData<2> = Name
|
||||
* LogData<3> = @User4
|
||||
* Logging_Services('AppendLog', objDeleteLog, LogData, @RM, @FM)
|
||||
*
|
||||
* // Send an LSL message to FI admins to alert them
|
||||
* Recipients = Xlate('SEC_GROUPS', 'OI_ADMIN', 'USER', 'X')
|
||||
* SentFrom = 'SYSTEM'
|
||||
* Subject = 'WM_IN Delete Attempt'
|
||||
* Message = 'An attempt to delete WM_IN record ':Name:' was made by ':@User4:'.'
|
||||
* AttachWindow = ''
|
||||
* AttachKey = ''
|
||||
* SendToGroup = ''
|
||||
*
|
||||
* Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
* obj_Notes('Create',Parms)
|
||||
|
||||
// Stop the system from deleting the record
|
||||
* ActionFlow = ACTION_STOP$
|
||||
|
||||
return
|
||||
|
||||
|
||||
DELETE_RECORD:
|
||||
|
||||
return
|
||||
|
||||
|
||||
@ -218,6 +199,7 @@ ClearCursors:
|
||||
Next counter
|
||||
return
|
||||
|
||||
|
||||
Initialize_System_Variables:
|
||||
// Save these for restoration later
|
||||
SaveDict = @DICT
|
||||
@ -252,12 +234,16 @@ Initialize_System_Variables:
|
||||
end
|
||||
end
|
||||
@RECORD = Record
|
||||
|
||||
return
|
||||
|
||||
|
||||
Restore_System_Variables:
|
||||
|
||||
Transfer SaveDict to @DICT
|
||||
Transfer SaveID to @ID
|
||||
Transfer SaveRecord to @RECORD
|
||||
@FILE.ERROR = OrigFileError
|
||||
|
||||
return
|
||||
|
||||
|
@ -58,7 +58,7 @@ Equ Comma$ to ','
|
||||
Declare function Error_Services, Database_Services, Environment_Services, Logging_Services, obj_WO_Mat, Max
|
||||
Declare function GaN_Services, Signature_Services, obj_WO_LOG, SRP_Array, MemberOf, Datetime
|
||||
Declare subroutine Error_Services, Database_Services, Environment_Services, Logging_Services, Obj_SAP, obj_Notes
|
||||
Declare subroutine SAP_Services, Work_Order_Services, Material_Services, RList, Schedule_Services
|
||||
Declare subroutine SAP_Services, Material_Services, RList, Service_Services
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_Mat'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
@ -244,6 +244,7 @@ READ_RECORD:
|
||||
// Record = ''
|
||||
return
|
||||
|
||||
|
||||
READONLY_RECORD_PRE:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
@ -253,6 +254,7 @@ READONLY_RECORD_PRE:
|
||||
// ActionFlow = ACTION_STOP$
|
||||
return
|
||||
|
||||
|
||||
READONLY_RECORD:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
@ -261,6 +263,7 @@ READONLY_RECORD:
|
||||
// Record = ''
|
||||
return
|
||||
|
||||
|
||||
WRITE_RECORD_PRE:
|
||||
|
||||
WOMatKeyID = Name
|
||||
@ -814,21 +817,23 @@ WRITE_RECORD:
|
||||
end
|
||||
|
||||
If OrigRecord<WO_MAT_WAFER_QTY$> NE Record<WO_MAT_WAFER_QTY$> then
|
||||
Work_Order_Services('UpdateReceivedQty', WONo)
|
||||
Work_Order_Services('UpdateReleasedQty', WONo)
|
||||
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateReceivedQty':@VM:WONo)
|
||||
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateReleasedQty':@VM:WONo)
|
||||
end
|
||||
|
||||
CurrWaferCount = obj_WO_Mat('CurrWaferCnt', WOMatKeyID)
|
||||
If CurrWaferCount EQ 0 then
|
||||
// This should catch cases where the entire cassette is "peeled off", NCR'ed, or used for destructive testing.
|
||||
Schedule_Services('MarkCassProcessed', WONo, CassNo, Datetime())
|
||||
Service_Services('PostProcedure', 'SCHEDULE_SERVICES', 'MarkCassProcessed':@VM:WONo:@VM:CassNo:@VM:Datetime())
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
|
||||
DELETE_RECORD_PRE:
|
||||
return
|
||||
|
||||
|
||||
DELETE_RECORD:
|
||||
return
|
||||
|
||||
@ -878,3 +883,4 @@ Restore_System_Variables:
|
||||
@FILE.ERROR = OrigFileError
|
||||
return
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user