Merged PR 21245: Added in a check for the active flag when adding an operation to a lot. Added...

Added in a check for the active flag when adding an operation to a lot. Added in material handler group to the CanUserModifyLot check.

Given the addition of a check for the active flag to allow adding an operation. I checked all OPERATION records to ensure that flag has already been set. The only operations that had a value other than true were the OPERATION records related to Return To Fab Lot processing.

Tested and verified creating test wafer lots, and creating RTF forms.
This commit is contained in:
Ouellette Jonathan (CSC FI SPS MESLEO)
2025-07-22 00:31:04 +02:00
parent e1a44a7687
commit ea156489f1
2 changed files with 69 additions and 62 deletions

View File

@ -29,6 +29,8 @@ Service AddOperationToLot(LotId, OperationId, PrescribedSequence, UserId)
ErrorMessage = '' ErrorMessage = ''
If RowExists('LOT', LotId) then If RowExists('LOT', LotId) then
If RowExists('OPERATION', OperationId) then If RowExists('OPERATION', OperationId) then
OperationActive = XLATE('OPERATION', OperationId, OPERATION_ACTIVE$, 'X')
If OperationActive then
If PrescribedSequence AND Num(PrescribedSequence) then If PrescribedSequence AND Num(PrescribedSequence) then
If Lot_Services('CanUserModifyLot', UserId) then If Lot_Services('CanUserModifyLot', UserId) then
LotCurrOperation = Lot_Services('GetLotCurrOperationId', LotId) LotCurrOperation = Lot_Services('GetLotCurrOperationId', LotId)
@ -92,6 +94,9 @@ Service AddOperationToLot(LotId, OperationId, PrescribedSequence, UserId)
end else end else
ErrorMessage = 'Invalid operation sequence entered.' ErrorMessage = 'Invalid operation sequence entered.'
end end
end else
ErrorMessage = 'Operation is inactive. Unable to add.'
end
end else end else
ErrorMessage = 'Operation ' : OperationId : 'not found in OPERATION table.' ErrorMessage = 'Operation ' : OperationId : 'not found in OPERATION table.'
end end

View File

@ -1599,6 +1599,8 @@ Service CanUserModifyLot(UserId)
Response = true$ Response = true$
Case MemberOf(UserId, 'LEAD') Case MemberOf(UserId, 'LEAD')
Response = true$ Response = true$
Case MemberOf(UserId, 'MATERIAL_HANDLER')
Response = true$
Case UserId EQ 'SYSTEM' Case UserId EQ 'SYSTEM'
Response = true$ Response = true$
Case Otherwise$ Case Otherwise$