Implemented ReceiveRelease_API.
Added OI Wizard Webview form to launch into OI Wizard from OI and auto-login the user. Added menu items to NDW_MAIN to launch the OI Wizard webview form and navigated to the appropriate page.
This commit is contained in:
@ -51,13 +51,14 @@ $Insert IFX_EQUATES
|
||||
$Insert CUST_EPI_PART_EQUATES
|
||||
|
||||
Equ MAX_NUM_CASS$ to 150
|
||||
Equ NUM_ATTEMPTS$ to 10
|
||||
|
||||
Declare subroutine Error_Services, Work_Order_Services, Memory_Services, RList, Database_Services, SRP_JSON
|
||||
Declare subroutine Btree.Extract, Set_Status, obj_WO_Log, obj_Notes, Print_Wo_Mat_In_Labels, Print_Wo_Mat_Out_Labels
|
||||
Declare subroutine Print_Wmi_Labels, Print_Wmo_Labels, ErrMsg, Print_Cass_Labels, Logging_Services, Service_Services
|
||||
Declare subroutine obj_WO_Mat_Log, WO_Mat_Services, Work_Order_Services, Transaction_Services, Extract_Si_Keys
|
||||
Declare subroutine Mona_Services, Lot_Event_Services, RDS_Services, Lot_Services, WM_In_Services, WM_Out_Services
|
||||
Declare subroutine obj_WO_Mat, obj_Post_Log
|
||||
Declare subroutine obj_WO_Mat, obj_Post_Log, Delay
|
||||
Declare function SRP_Array, Work_Order_Services, Memory_Services, Database_Services, SRP_Sort_Array, SRP_JSON
|
||||
Declare function Company_Services, obj_Prod_Spec, Schedule_Services, obj_WO_Log, obj_WO_Step, Memberof, Datetime
|
||||
Declare function Environment_Services, Logging_Services, Hold_Services, Signature_Services, Lot_Services
|
||||
@ -1140,6 +1141,86 @@ Service UpdateReleasedQty(WONo)
|
||||
end service
|
||||
|
||||
|
||||
Service AdjustReleasedQty(WONo, AdjustQty)
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
LogTime = Oconv(Time(), 'MTS')
|
||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' Adjust Released Qty Log.csv'
|
||||
Headers = 'Logging DTM' : @FM : 'WONo' : @FM : 'Notes'
|
||||
objAdjRelLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$,',', Headers, '', False$, False$)
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
OrigRelQty = ''
|
||||
RelQty = ''
|
||||
UnrelQty = ''
|
||||
ErrorMsg = ''
|
||||
Begin Case
|
||||
Case (WONo EQ '')
|
||||
ErrorMsg = 'Error in ':Service:' service. Null WONo passed into service'
|
||||
Case (AdjustQty EQ '')
|
||||
ErrorMsg = 'Error in ':Service:' service. Null AdjustQty passed into service'
|
||||
Case Not(Num(AdjustQty))
|
||||
ErrorMsg = 'Error in ':Service:' service. AdjustQty is not a number'
|
||||
Case Index(AdjustQty, '.', 1)
|
||||
ErrorMsg = 'Error in ':Service:' service. AdjustQty cannot be a decimal value'
|
||||
Case Otherwise$
|
||||
Null
|
||||
End Case
|
||||
If (ErrorMsg EQ '' ) then
|
||||
If RowExists('WO_LOG', WONo) then
|
||||
For Attempt = 1 to NUM_ATTEMPTS$
|
||||
If Attempt GT 0 then Delay(Attempt)
|
||||
HaveLock = Database_Services('GetKeyIDLock', 'WO_LOG', WONo, True$)
|
||||
If HaveLock then
|
||||
WORec = Database_Services('ReadDataRow', 'WO_LOG', WONo)
|
||||
If Error_Services('NoError') then
|
||||
WOQty = WORec<WO_LOG_WO_QTY$>
|
||||
OrigRelQty = WORec<WO_LOG_REL_QTY_STATIC$>
|
||||
RelQty = OrigRelQty + AdjustQty
|
||||
UnrelQty = WOQty - RelQty
|
||||
If UnrelQty LT 0 then UnrelQty = 0
|
||||
WORec<WO_LOG_REL_QTY_STATIC$> = RelQty
|
||||
WORec<WO_LOG_UNREL_QTY_STATIC$> = UnRelQty
|
||||
Database_Services('WriteDataRow', 'WO_LOG', WONo, WORec, True$, False$, False$)
|
||||
If Error_Services('HasError') then
|
||||
ErrorMsg = 'Error in ':Service:' service. Failed to write ':RelQty:' on REL_QTY_STATIC '
|
||||
ErrorMsg := 'field and ':UnrelQty:' on UNREL_QTY_STATIC field of WO_LOG record ':WONo:'.'
|
||||
ErrorMsg := 'Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Failed to read record ':WONo:' from the WO_LOG table. '
|
||||
ErrorMsg := 'Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
end
|
||||
If ( Not(HaveLock) and (Attempt GE NUM_ATTEMPTS$) ) then
|
||||
ErrorMsg = 'Error in ':Service:' service. Failed to lock WO_LOG ':WoNo:' for update after ':Attempt:' attempts.'
|
||||
end
|
||||
Until HaveLock or (ErrorMsg NE '')
|
||||
Next Attempt
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. ':WONo:' does not exist in the WO_LOG table.'
|
||||
end
|
||||
end
|
||||
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDtm
|
||||
LogData<2> = WONo
|
||||
If ErrorMsg EQ '' then
|
||||
LogResult = 'Successfully adjusted WO_LOG ':WONo:' released and unreleased quantities by ':AdjustQty
|
||||
LogResult := '. Updated WO_LOG record ':WONo:' field REL_QTY_STATIC with released quantity ':RelQty
|
||||
LogResult := ' and field UNREL_QTY_STATIC with unreleased quantity ':UnRelQty:'.'
|
||||
LogData<3> = LogResult
|
||||
Logging_Services('AppendLog', objAdjRelLog, LogData, @RM, @FM)
|
||||
end else
|
||||
LogResult = 'Failed to adjust WO_LOG ':WONo:' released and unreleased quantities by ':AdjustQty:'.'
|
||||
LogData<3> = LogResult
|
||||
Logging_Services('AppendLog', objAdjRelLog, LogData, @RM, @FM)
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service UpdateReceivedQty(WONo)
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG'
|
||||
@ -1215,6 +1296,84 @@ Service UpdateReceivedQty(WONo)
|
||||
end service
|
||||
|
||||
|
||||
Service AdjustReceivedQty(WONo, AdjustQty)
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
LogTime = Oconv(Time(), 'MTS')
|
||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' Adjust Received Qty Log.csv'
|
||||
Headers = 'Logging DTM' : @FM : 'WONo' : @FM : 'Notes'
|
||||
objAdjRecLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$,',', Headers, '', False$, False$)
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
RXQty = ''
|
||||
OrigRXQty = ''
|
||||
ErrorMsg = ''
|
||||
Begin Case
|
||||
Case (WONo EQ '')
|
||||
ErrorMsg = 'Error in ':Service:' service. Null WONo passed into service'
|
||||
Case (AdjustQty EQ '')
|
||||
ErrorMsg = 'Error in ':Service:' service. Null AdjustQty passed into service'
|
||||
Case Not(Num(AdjustQty))
|
||||
ErrorMsg = 'Error in ':Service:' service. AdjustQty is not a number'
|
||||
Case Index(AdjustQty, '.', 1)
|
||||
ErrorMsg = 'Error in ':Service:' service. AdjustQty cannot be a decimal value'
|
||||
Case Otherwise$
|
||||
Null
|
||||
End Case
|
||||
If (ErrorMsg EQ '' ) then
|
||||
If RowExists('WO_LOG', WONo) then
|
||||
For Attempt = 1 to NUM_ATTEMPTS$
|
||||
If Attempt GT 0 then Delay(Attempt)
|
||||
HaveLock = Database_Services('GetKeyIDLock', 'WO_LOG', WONo, True$)
|
||||
If HaveLock then
|
||||
WORec = Database_Services('ReadDataRow', 'WO_LOG', WONo)
|
||||
If Error_Services('NoError') then
|
||||
WOQty = WORec<WO_LOG_WO_QTY$>
|
||||
OrigRxQty = WORec<WO_LOG_RX_QTY_STATIC$>
|
||||
RxQty = OrigRxQty + AdjustQty
|
||||
OpenQty = WOQty - RXQty
|
||||
WORec<WO_LOG_RX_QTY_STATIC$> = RxQty
|
||||
WORec<WO_LOG_OPEN_QTY_STATIC$> = OpenQty
|
||||
Database_Services('WriteDataRow', 'WO_LOG', WONo, WORec, True$, False$, False$)
|
||||
If Error_Services('HasError') then
|
||||
ErrorMsg = 'Error in ':Service:' service. Failed to write ':RxQty:' on RX_QTY_STATIC field '
|
||||
ErrorMsg := 'and ':OpenQty:' on OPEN_QTY_STATIC to WO_LOG ':WONo:'. Error message: '
|
||||
ErrorMsg := Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Failed to read record ':WONo:' from the WO_LOG table. '
|
||||
ErrorMsg := 'Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
end
|
||||
If ( Not(HaveLock) and (Attempt GE NUM_ATTEMPTS$) ) then
|
||||
ErrorMsg = 'Error in ':Service:' service. Failed to lock WO_LOG ':WoNo:' for update after ':Attempt:' attempts.'
|
||||
end
|
||||
Until HaveLock or (ErrorMsg NE '')
|
||||
Next Attempt
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. ':WONo:' does not exist in the WO_LOG table.'
|
||||
end
|
||||
end
|
||||
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDtm
|
||||
LogData<2> = WONo
|
||||
If ErrorMsg EQ '' then
|
||||
LogResult = 'Successfully adjusted WO_LOG ':WONo:' received and open quantities by ':AdjustQty
|
||||
LogResult := '. Updated WO_LOG record ':WONo:' field RX_QTY_STATIC with received quantity ':RXQty
|
||||
LogResult := ' and field OPEN_QTY_STATIC with open quantity ':OpenQty:'.'
|
||||
LogData<3> = LogResult
|
||||
Logging_Services('AppendLog', objAdjRecLog, LogData, @RM, @FM)
|
||||
end else
|
||||
LogResult = 'Failed to adjust WO_LOG ':WONo:' received and open quantities by ':AdjustQty
|
||||
LogData<3> = LogResult
|
||||
Logging_Services('AppendLog', objAdjRecLog, LogData, @RM, @FM)
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service UpdateShippedQty(WONo)
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG'
|
||||
@ -1346,99 +1505,124 @@ end service
|
||||
|
||||
Service ConvertRecordToJSON(WONo, Record, ItemURL)
|
||||
|
||||
jsonRecord = ''
|
||||
ErrorMsg = ''
|
||||
jsonRecord = ''
|
||||
IF WONo NE '' then
|
||||
If Record EQ '' then Record = Database_Services('ReadDataRow', 'WO_LOG', WONo)
|
||||
If Error_Services('NoError') then
|
||||
@DICT = Database_Services('GetTableHandle', 'DICT.WO_LOG')
|
||||
@ID = WONo
|
||||
@RECORD = Record
|
||||
objJSON = ''
|
||||
If SRP_JSON(objJSON, 'New', 'Object') then
|
||||
objWOLog = ''
|
||||
If SRP_JSON(objWOLog, 'New', 'Object') then
|
||||
SRP_JSON(objWOLog, 'SetValue', 'KeyId', @ID)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'ProdOrdNo', {PROD_ORD_NO})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'PSN', {PS_NO})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'EpiPartNo', {EPI_PART_NO})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'HotFlag', {HOT_FLAG})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'WoQty', {WO_QTY})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'RxQty', {RX_QTY_STATIC})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'RelQty', {REL_QTY_STATIC})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'UnRelQty', {UNREL_QTY_STATIC})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'ShipQty', {SHIP_QTY_STATIC})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'ScrapQty', {SCRAP_QTY_STATIC})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'OpenQty', {OPEN_QTY_STATIC})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'CustNo', {CUST_NO})
|
||||
SRP_JSON(objWOLog, 'SetValue', 'Customer', {CUST_NAME})
|
||||
// Create a list of cassettes
|
||||
CassIDs = {WO_MAT_KEY}
|
||||
objChildCassettes = ''
|
||||
If SRP_JSON(objChildCassettes, 'New', 'Array') then
|
||||
If CassIDs NE '' then
|
||||
for each Cass in CassIDs using @VM setting vPos
|
||||
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', Cass)
|
||||
If Error_Services('NoError') then
|
||||
// Add in each indv. cassette object
|
||||
objChildCassette = ''
|
||||
If SRP_JSON(objChildCassette, 'New', 'Object') then
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'KeyId', Cass)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'CassNo', Field(Cass, '*', 2, 1))
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'SAPBatchNo', WOMatRec<WO_MAT_SAP_BATCH_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'SAPTXDtm', Date_Services('ConvertDateTimeToISO8601', WOMatRec<WO_MAT_SAP_TX_DTM$>))
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'RDSNo', WOMatRec<WO_MAT_RDS_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'ShipNo', WOMatRec<WO_MAT_SHIP_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'LotNo', WOMatRec<WO_MAT_LOT_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'Qty', WOMatRec<WO_MAT_WAFER_QTY$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'CustPartNo', WOMatRec<WO_MAT_CUST_PART_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'SubPartNo', WOMatRec<WO_MAT_SUB_PART_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'VendorCd', WOMatRec<WO_MAT_SUB_VEND_CD$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'RecDtm', Date_Services('ConvertDateTimeToISO8601', WOMatRec<WO_MAT_RX_DTM$>))
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'RelDtm', Date_Services('ConvertDateTimeToISO8601', WOMatRec<WO_MAT_REL_DTM$>))
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'RecUser', OConv(WOMatRec<WO_MAT_RX_BY$>, '[XLATE_CONV,LSL_USERS*FIRST_LAST]'))
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'RelUser', OConv(WOMatRec<WO_MAT_REL_BY$>, '[XLATE_CONV,LSL_USERS*FIRST_LAST]' ))
|
||||
SRP_JSON(objChildCassettes, 'Add', objChildCassette)
|
||||
SRP_JSON(objChildCassette, 'Release')
|
||||
end
|
||||
EpiPartNo = Record<WO_LOG_EPI_PART_NO$>
|
||||
EpiPartRec = Database_Services('ReadDataRow', 'EPI_PART', EpiPartNo)
|
||||
If Error_Services('NoError') then
|
||||
SubSuppBy = EpiPartRec<EPI_PART_SUB_SUPP_BY$> ;* L - EpiSvcs supplied, C - Customer Supplied
|
||||
ProdVerNo = Record<WO_LOG_PROD_VER_NO$>
|
||||
ProdVerRec = Database_Services('ReadDataRow', 'PROD_VER', ProdVerNo)
|
||||
If Error_Services('NoError') then
|
||||
SubPartNo = ProdVerRec<PROD_VER_SUB_PART_NO$>
|
||||
// Create the JSON response object
|
||||
objJSON = ''
|
||||
If SRP_JSON(objJSON, 'New', 'Object') then
|
||||
objWOLog = ''
|
||||
If SRP_JSON(objWOLog, 'New', 'Object') then
|
||||
SRP_JSON(objWOLog, 'SetValue', 'KeyId', WONo)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'ProdOrdNo', Record<WO_LOG_PROD_ORD_NO$>)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'PSN', Xlate('WO_LOG', WONo, 'PS_NO', 'X'))
|
||||
SRP_JSON(objWOLog, 'SetValue', 'EpiPartNo', EpiPartNo)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'HotFlag', Record<WO_LOG_HOT_FLAG$>)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'WoQty', Record<WO_LOG_WO_QTY$>)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'RxQty', Record<WO_LOG_RX_QTY_STATIC$>)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'RelQty', Record<WO_LOG_REL_QTY_STATIC$>)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'UnRelQty', Record<WO_LOG_UNREL_QTY_STATIC$>)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'ShipQty', Record<WO_LOG_SHIP_QTY_STATIC$>)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'ScrapQty', Record<WO_LOG_SCRAP_QTY_STATIC$>)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'OpenQty', Record<WO_LOG_OPEN_QTY_STATIC$>)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'CustNo', Record<WO_LOG_CUST_NO$>)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'Customer', Xlate('WO_LOG', WONo, 'CUST_NAME', 'X'))
|
||||
|
||||
ExpectedVendorCd = Record<WO_LOG_EXP_VEND_CD$>
|
||||
If ( (Len(ExpectedVendorCd) NE 2) or (SubSuppBy NE 'L') ) then ExpectedVendorCd = ''
|
||||
SRP_JSON(objWOLog, 'SetValue', 'ExpectedVendorCd', ExpectedVendorCd)
|
||||
SRP_JSON(objWOLog, 'SetValue', 'SubPartNo', SubPartNo)
|
||||
|
||||
// Create a list of cassettes
|
||||
CassIDs = Record<WO_LOG_WO_MAT_KEY$>
|
||||
objChildCassettes = ''
|
||||
If SRP_JSON(objChildCassettes, 'New', 'Array') then
|
||||
If CassIDs NE '' then
|
||||
for each Cass in CassIDs using @VM setting vPos
|
||||
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', Cass)
|
||||
If Error_Services('NoError') then
|
||||
// Add in each indv. cassette object
|
||||
objChildCassette = ''
|
||||
If SRP_JSON(objChildCassette, 'New', 'Object') then
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'KeyId', Cass)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'CassNo', Field(Cass, '*', 2, 1))
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'SAPBatchNo', WOMatRec<WO_MAT_SAP_BATCH_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'SAPTXDtm', Date_Services('ConvertDateTimeToISO8601', WOMatRec<WO_MAT_SAP_TX_DTM$>))
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'RDSNo', WOMatRec<WO_MAT_RDS_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'ShipNo', WOMatRec<WO_MAT_SHIP_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'LotNo', WOMatRec<WO_MAT_LOT_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'Qty', WOMatRec<WO_MAT_WAFER_QTY$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'CustPartNo', WOMatRec<WO_MAT_CUST_PART_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'SubPartNo', WOMatRec<WO_MAT_SUB_PART_NO$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'VendorCd', WOMatRec<WO_MAT_SUB_VEND_CD$>)
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'RecDtm', Date_Services('ConvertDateTimeToISO8601', WOMatRec<WO_MAT_RX_DTM$>))
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'RelDtm', Date_Services('ConvertDateTimeToISO8601', WOMatRec<WO_MAT_REL_DTM$>))
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'RecUser', OConv(WOMatRec<WO_MAT_RX_BY$>, '[XLATE_CONV,LSL_USERS*FIRST_LAST]'))
|
||||
SRP_JSON(objChildCassette, 'SetValue', 'RelUser', OConv(WOMatRec<WO_MAT_REL_BY$>, '[XLATE_CONV,LSL_USERS*FIRST_LAST]' ))
|
||||
SRP_JSON(objChildCassettes, 'Add', objChildCassette)
|
||||
SRP_JSON(objChildCassette, 'Release')
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
Next Cass
|
||||
end else
|
||||
SRP_JSON(objWOLog, 'SetValue', 'ChildCassettes', '')
|
||||
end
|
||||
Next Cass
|
||||
end else
|
||||
SRP_JSON(objWOLog, 'SetValue', 'ChildCassettes', '')
|
||||
SRP_JSON(objWOLog, 'Set', 'ChildCassettes', objChildCassettes)
|
||||
SRP_JSON(objChildCassettes, 'Release')
|
||||
end
|
||||
SRP_JSON(objJSON, 'Set', 'WO_Log', objWOLog)
|
||||
SRP_JSON(objWOLog, 'Release')
|
||||
end
|
||||
SRP_JSON(objWOLog, 'Set', 'ChildCassettes', objChildCassettes)
|
||||
SRP_JSON(objChildCassettes, 'Release')
|
||||
end
|
||||
SRP_JSON(objJSON, 'Set', 'WO_Log', objWOLog)
|
||||
SRP_JSON(objWOLog, 'Release')
|
||||
end
|
||||
If itemURL NE '' then
|
||||
// The itemURL was passed in so add HAL+JSON properties.
|
||||
// Create the _links property and then all link objects needed for this resource.
|
||||
objLinks = ''
|
||||
If SRP_JSON(objLinks, 'New', 'Object') then
|
||||
// Create a self link.
|
||||
objLink = ''
|
||||
If SRP_JSON(objLink, 'New', 'Object') then
|
||||
SRP_JSON(objLink, 'SetValue', 'href', ItemURL, 'String')
|
||||
SRP_JSON(objLink, 'SetValue', 'title', 'Self', 'String')
|
||||
SRP_JSON(objLinks, 'Set', 'self', objLink)
|
||||
SRP_JSON(objLink, 'Release')
|
||||
If itemURL NE '' then
|
||||
// The itemURL was passed in so add HAL+JSON properties.
|
||||
// Create the _links property and then all link objects needed for this resource.
|
||||
objLinks = ''
|
||||
If SRP_JSON(objLinks, 'New', 'Object') then
|
||||
// Create a self link.
|
||||
objLink = ''
|
||||
If SRP_JSON(objLink, 'New', 'Object') then
|
||||
SRP_JSON(objLink, 'SetValue', 'href', ItemURL, 'String')
|
||||
SRP_JSON(objLink, 'SetValue', 'title', 'Self', 'String')
|
||||
SRP_JSON(objLinks, 'Set', 'self', objLink)
|
||||
SRP_JSON(objLink, 'Release')
|
||||
end
|
||||
SRP_JSON(objJSON, 'Set', '_links', objLinks)
|
||||
SRP_JSON(objLinks, 'Release')
|
||||
end
|
||||
// Create the _class property for this resource.
|
||||
SRP_JSON(objJSON, 'SetValue', '_class', 'resource')
|
||||
end
|
||||
SRP_JSON(objJSON, 'Set', '_links', objLinks)
|
||||
SRP_JSON(objLinks, 'Release')
|
||||
end
|
||||
// Create the _class property for this resource.
|
||||
SRP_JSON(objJSON, 'SetValue', '_class', 'resource')
|
||||
jsonRecord = SRP_JSON(objJSON, 'Stringify', 'Styled')
|
||||
SRP_JSON(objJSON, 'Release')
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Unable to create JSON object'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
jsonRecord = SRP_JSON(objJSON, 'Stringify', 'Styled')
|
||||
SRP_JSON(objJSON, 'Release')
|
||||
end else
|
||||
Error_Services('Add', 'Unable to create JSON representation in the ' : Service : ' service.')
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
Error_Services('Add', 'KeyID argument was missing in the ' : Service : ' service.')
|
||||
ErrorMsg = 'Error in ':Service:' service. Null WONo passed into service.'
|
||||
end
|
||||
|
||||
If ErrorMsg NE '' then Error_Services('Add', ErrorMsg)
|
||||
Response = jsonRecord
|
||||
|
||||
end service
|
||||
@ -2344,6 +2528,57 @@ Service UpdateWorkOrderData(WONo)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service GetWoLogZpl(WoNo)
|
||||
|
||||
ZPL = ''
|
||||
ErrorMsg = ''
|
||||
If WoNo NE '' then
|
||||
If RowExists('WO_LOG', WoNo) then
|
||||
WOStepKeys = XLATE('WO_LOG',WONo,WO_LOG_WO_STEP_KEY$,'X')
|
||||
IF INDEX(WOStepKeys,@VM,1) THEN
|
||||
PrintWONo = WONo:'.':WOStep
|
||||
END ELSE
|
||||
PrintWONo = WONo
|
||||
END
|
||||
WORec = XLATE('WO_LOG',WONo,'','X')
|
||||
ReqShipDate = OCONV(WORec<WO_LOG_PROMISE_SHIP_DT$>,'D2/')
|
||||
CustNo = WORec<WO_LOG_CUST_NO$>
|
||||
CustName = XLATE('COMPANY',CustNo,'ABBREV_OR_CO_NAME','X')
|
||||
ZPL := '^XA^CFD'
|
||||
ZPL := '^LH0,0'
|
||||
ZPL := '^PR2' ;* Print speed 2 inches per second
|
||||
ZPL := '^LL325' ;* Label length in dots
|
||||
ZPL := '^MD15' ;* Media darkness
|
||||
ZPL := '^PQ2' ;* Print 2 labels for each pass through here
|
||||
ZPL := '^MMT':CRLF$ ;* Media mode t=tear off mode
|
||||
IF INDEX(PrintWONo,'.',1) THEN
|
||||
ZPL := '^FO10,30^A0,220,210^FD':PrintWONo:'^FS':CRLF$
|
||||
END ELSE
|
||||
ZPL := '^FO70,30^A0,220,210^FD':PrintWONo:'^FS':CRLF$
|
||||
END
|
||||
CharCnt = Len(CustName)
|
||||
NameLength = CharCnt*72
|
||||
WhiteSpace = INT(((2103 - NameLength)/2103) * 806)
|
||||
StartingXPos = INT(WhiteSpace/2)
|
||||
ZPL:= '^FO':StartingXPos:',230^A0,75,72^FD':CustName:'^FS':CRLF$
|
||||
ZPL:= '^FO160,320^A080,50^FD':'Commit Date: ':OCONV( XLATE( 'WO_LOG', WONo, WO_LOG_COMMIT_DATE$, 'X' ), 'D2/' ):'^FS':CRLF$
|
||||
ZPL:= '^XZ'
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. WO_LOG ':WoNo:' does not exist.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null WoNo passed in.'
|
||||
end
|
||||
|
||||
If ErrorMsg EQ '' then
|
||||
Response = ZPL
|
||||
end else
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Internal GoSubs
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user