rpt_szUserId_USER
rpt_jdDateUpdated_UPMJ
rpt_mnTimeLastUpdated_UPMT
rpt_szWorkStationId_JOBN
rpt_szProgramId_PID
rpt_szMinStatusCodeLast_LTTR
rpt_mnLineNumber_LNID
rpt_cProcessedYN_EV01
rpt_cACTN_ActionCode
rpt_szCompanyKeyOrderNo_KCOO
rpt_mnAddressNumber_AN8
rpt_mnAddressNumberShipTo_SHAN
rpt_mnDiffShipVsDel_MATH01
rpt_cDetailProcessingYN_EV01
rpt_cEdi_EDSP_E
rpt_cEdi_EDSP_Y
rpt_mnF57S808E_UKID
rpt_mnEdiLineNumber_EDLN
rpt_szUDCDescriptionLine1_DSC1
rpt_cDetailEditlLineRec_EV01
rpt_szCategoryCodeAB_AC27
rpt_jdF4211ActualShipDate_ADDJ
rpt_jdF4211DateTrans_TRDJ
rpt_jdF211DatePromShip_PPDJ
rpt_jdF4211DateReques_DRQJ
rpt_jdF4211SchPickDate_PDDJ
rpt_jdF4211DateRelease_RSDJ
rpt_jdF4211DateInvoice_IVD
rpt_szStatusCodeNxtCancel_NXTR
rpt_N004_NextNumber004
rpt_FAN8_CatCode27YN
rpt_58_cAutoInvFlg_FLAG
-----------------------------------------------------------------------
EVENT: Advance Section
-----------------------------------------------------------------------
OPT: Using Defaults
//
VA rpt_cProcessedYN_EV01 = "Y"
RV gv Error in Detail = ""
RV gv Business Unit = ""
RV gv Error Code F4211 ERRC = ""
RV gv Order Company = ""
RV gv Order Number = ""
RV gv Order Type = ""
RV gv Route Code = ""
RV gv Stop Code = ""
RV HDRemarksError2 = ""
RV HDRemarksOk = ""
RV gv JOBS Job Number = 0
VA rpt_mnLineNumber_LNID = 0
VA rpt_szCategoryCodeAB_AC27 = ""
VA rpt_mnAddressNumber_AN8 = 0
VA rpt_mnAddressNumberShipTo_SHAN = 0
VA rpt_cDetailProcessingYN_EV01 = "N"
//
-----------------------------------------------------------------------
EVENT: Do Section
-----------------------------------------------------------------------
evt_cErrorCodeF4201_ERRC
evt_cErrorCodeENDDOC_ERRC
OPT: Using Defaults
//
i). F4211 Begin Document
RV gv JOBS Job Number <> BF mnCMJobNumber
"A" -> BF cCMDocAction
"1" -> BF cCMProcessEdits
RV gv CID Computer ID <> BF szCMComputerID
VA evt_cErrorCodeF4201_ERRC <- BF cCMErrorConditions
"1" -> BF cCMUpdateWriteToWF
"P4210" -> BF szCMProgramID
PO szP4120Version -> BF szCMVersion
RV gv Order Company -> BF szOrderCo
BC Document (Order No, Invoice, etc.) (F57S808X)(DOCO) -> BF mnOrderNo
BC Order Type (F57S808X)(DCTO) -> BF szOrderType
BC Business Unit (F57S808X)(MCU) -> BF szBusinessUnit
VA rpt_mnAddressNumber_AN8 -> BF mnAddressNumber
VA rpt_mnAddressNumberShipTo_SHAN -> BF mnShipToNo
BC Route Code (F57S808X)(ROUT) -> BF szRouteCode
BC Stop Code (F57S808X)(STOP) -> BF szStopCode
VA rpt_szUserId_USER -> BF szUserID
<Blank> -> BF cWKSourceOfData
//
If VA evt_cErrorCodeF4201_ERRC is equal to "2"
JDEM Sales Order Level Action Error Set
BC Document (Order No, Invoice, etc.) (F57S808X)(DOCO) -> BF mnEDIOrderNumber
RV gv Generic Long ID <> BF idPtrToPPATMsgs
Proccess batch errors to the JDEM system
"2" -> BF mnLeveloftotaling
RV gv Generic Long ID <> BF idDataBaseWorkField
VA rpt_szUserId_USER -> BF szUserid
Else
VA rpt_cDetailProcessingYN_EV01 = "N"
RV gv Order Number = BC Document (Order No, Invoice, etc.) (F57S808X)(DOCO)
RV gv Order Type = BC Order Type (F57S808X)(DCTO)
// Get the available next line number
F4211 Get Next Available Line Number
BC Document (Order No, Invoice, etc.) (F57S808X)(DOCO) -> BF mnOrderNumber
RV gv Order Type -> BF szOrderType
RV gv Order Company -> BF szOrderKeyCompany
"1" -> BF mnLineIncrement
VA rpt_mnLineNumber_LNID <> BF mnLineNumber
//
---> Do Custom Section(RS ePOD Delivery Inbound Detail - All Fields)
End If
//
If RV gv Error in Detail is not equal to "1" And VA evt_cErrorCodeF4201_ERRC is not equal to "2" And VA rpt_cDetailProcessingYN_EV01 is equal to "Y"
// End Document.
iii). F4211 End Document
RV gv JOBS Job Number <> BF mnCMJobNo
RV gv Order Number -> BF mnSalesOrderNo
RV gv CID Computer ID -> BF szCMComputerID
VA evt_cErrorCodeENDDOC_ERRC <- BF cCMErrorCondition
RV gv Order Type -> BF szOrderType
RV gv Order Company -> BF szKeyCompany
VA rpt_szProgramId_PID -> BF szProgramID
VA rpt_szWorkStationId_JOBN -> BF szWorkstationID
"P4210" -> BF szCMProgramID
PO szP4120Version -> BF szCMVersion
VA rpt_mnTimeLastUpdated_UPMT -> BF mnTimeOfDay
"1" -> BF cCMUseWorkFiles
//
If VA evt_cErrorCodeENDDOC_ERRC is equal to "2"
JDEM Sales Order Level Action Error Set
BC Document (Order No, Invoice, etc.) (F57S808X)(DOCO) -> BF mnEDIOrderNumber
RV gv Generic Long ID <> BF idPtrToPPATMsgs
Proccess batch errors to the JDEM system
"2" -> BF mnLeveloftotaling
RV gv Generic Long ID <> BF idDataBaseWorkField
VA rpt_szUserId_USER -> BF szUserid
End If
//
End If
-----------------------------------------------------------------------
EVENT: End Section
-----------------------------------------------------------------------
OPT: Using Defaults
//
Proccess batch errors to the JDEM system
"1" -> BF mnLeveloftotaling
RV gv Generic Long ID <> BF idDataBaseWorkField
VA rpt_szUserId_USER -> BF szUserid
Memory, Free Ptr To Data Structure
RV gv Generic Long ID <> BF idGenericLong
//
=======================================================================
SECTION: Global Variables [COLUMNAR SECTION] (S3)
=======================================================================
OBJECT: SECTION
EVENT: Do Section
-----------------------------------------------------------------------
OPT: Using Defaults
RV gv JOBS Job Number = 0
=======================================================================
SECTION: ePOD Delivery Inbound Detail - All Fields [GROUP SECTION] (S5)
=======================================================================
OBJECT: SECTION
EVENT: Initialize Section
-----------------------------------------------------------------------
OPT: Using Defaults
//
Set Selection Append Flag(<Yes>)
Set User Selection(BC Document (Order No, Invoice, etc.) (F57S808Y)(DOCO), <Equal To>, RV gv Order Number, <And>)
-----------------------------------------------------------------------
EVENT: Advance Section
-----------------------------------------------------------------------
OPT: Using Defaults
//
VA rpt_jdF211DatePromShip_PPDJ = SL DateToday
VA rpt_jdF4211ActualShipDate_ADDJ = SL DateToday
VA rpt_jdF4211DateReques_DRQJ = SL DateToday
VA rpt_jdF4211SchPickDate_PDDJ = SL DateToday
VA rpt_jdF4211DateTrans_TRDJ = SL DateToday
VA rpt_jdF4211DateRelease_RSDJ = SL DateToday
VA rpt_jdF4211DateInvoice_IVD = SL DateToday
//
-----------------------------------------------------------------------
EVENT: Do Section
-----------------------------------------------------------------------
evt_cErrorCode_ERRC
evt_mnIdentifierShortItem_ITM
evt_mnAmtPricePerUnit2_UPRC
evt_LineNumberXREF_LNIX
evt_mnLineNumberXREF_LNIX
OPT: Using Defaults
//
VA rpt_cDetailEditlLineRec_EV01 = "Y"
VA rpt_mnDiffShipVsDel_MATH01 = 0
VA rpt_mnDiffShipVsDel_MATH01 = [BC Quantity Delivered (F57S808Y)(CMQTLIV)]-[BC Quantity Shipped (F57S808Y)(SOQS)]
RV Variance = VA rpt_mnDiffShipVsDel_MATH01
RV Order Type = RV gv Order Type
If VA rpt_mnDiffShipVsDel_MATH01 is not equal to <Zero>
// Reason Code Validation
VA rpt_szUDCDescriptionLine1_DSC1 = ""
Get UDC
"58" -> BF szSystemCode
"RC" -> BF szRecordTypeCode
BC Description 10 (F57S808Y)(DL010) -> BF szUserDefinedCode
VA rpt_szUDCDescriptionLine1_DSC1 <- BF szDescription001
If BC Description 10 (F57S808Y)(DL010) is equal to <Blank> Or VA rpt_szUDCDescriptionLine1_DSC1 is equal to <Blank> Or VA rpt_szUDCDescriptionLine1_DSC1 is equal to
<Null>
RV gv Error in Detail = "1"
VA rpt_cDetailEditlLineRec_EV01 = "N"
RV HDRemarksError = "Error: Invalid Reason Code in 58/RC"
VA rpt_mnEdiLineNumber_EDLN = [VA rpt_mnEdiLineNumber_EDLN]+1
End If
//
If VA rpt_cDetailEditlLineRec_EV01 is equal to "Y"
F4101.Fetch Single
VA evt_mnIdentifierShortItem_ITM <- TK Item Number - Short
BC 2nd Item Number (F57S808Y)(LITM) = TK 2nd Item Number
// Get Additional Fields from Sales Order Detail Record
F4211.Select
RV gv Order Company = TK Order Company (Order Number)
BC Document (Order No, Invoice, etc.) (F57S808Y)(DOCO) = TK Document (Order No, Invoice, etc.)
RV gv Order Type = TK Order Type
BC 2nd Item Number (F57S808Y)(LITM) = TK 2nd Item Number
VA rpt_szStatusCodeNxtCancel_NXTR != TK Status Code - Next
F4211.Fetch Next
VA rpt_jdF4211DateReques_DRQJ <- TK Date - Requested
VA rpt_jdF4211DateTrans_TRDJ <- TK Date - Order/Transaction
VA rpt_jdF4211SchPickDate_PDDJ <- TK Date - Scheduled Pick
VA rpt_jdF4211ActualShipDate_ADDJ <- TK Date - Actual Ship Date
VA rpt_jdF4211DateInvoice_IVD <- TK Date - Invoice
VA rpt_jdF4211DateRelease_RSDJ <- TK Date - Promised Delivery
VA rpt_jdF211DatePromShip_PPDJ <- TK Date - Promised Shipment
VA evt_mnAmtPricePerUnit2_UPRC <- TK Amount - Price per Unit
If VA evt_mnAmtPricePerUnit2_UPRC is equal to <Zero>
F4211.Select
RV gv Order Company = TK Order Company (Order Number)
BC Document (Order No, Invoice, etc.) (F57S808Y)(DOCO) = TK Document (Order No, Invoice, etc.)
RV gv Order Type = TK Order Type
VA rpt_szStatusCodeNxtCancel_NXTR != TK Status Code - Next
F4211.Fetch Next
VA rpt_jdF4211DateReques_DRQJ <- TK Date - Requested
VA rpt_jdF4211DateTrans_TRDJ <- TK Date - Order/Transaction
VA rpt_jdF4211SchPickDate_PDDJ <- TK Date - Scheduled Pick
VA rpt_jdF4211ActualShipDate_ADDJ <- TK Date - Actual Ship Date
VA rpt_jdF4211DateInvoice_IVD <- TK Date - Invoice
VA rpt_jdF4211DateRelease_RSDJ <- TK Date - Promised Delivery
VA rpt_jdF211DatePromShip_PPDJ <- TK Date - Promised Shipment
// Edit Line for Overages
ii). F4211 Edit Line
RV gv JOBS Job Number <> BF mnCMJobNo
"A" -> BF cCMLineAction
"1" -> BF cCMProcessEdits
"1" -> BF cCMWriteToWFFlag
<Blank> -> BF cCMRecdWrittenToWF
RV gv CID Computer ID -> BF szCMComputerID
RV gv Error Code F4211 ERRC <- BF cCMErrorConditions
RV gv Order Company -> BF szOrderCo
BC Document (Order No, Invoice, etc.) (F57S808Y)(DOCO) -> BF mnOrderNo
RV gv Order Type -> BF szOrderType
VA rpt_mnLineNumber_LNID -> BF mnLineNo
RV gv Business Unit -> BF szBusinessUnit
PV sv Promised Delivery -> BF jdRequestedDate
PV sv Scheduled Pick -> BF jdPromisedDate
BC 2nd Item Number (F57S808Y)(LITM) -> BF szItemNo
PO szLineTypePartial_LNTY -> BF szLineType
VA rpt_mnDiffShipVsDel_MATH01 -> BF mnQtyOrdered
VA rpt_mnDiffShipVsDel_MATH01 -> BF mnQtyShipped
<Zero> -> BF mnQtyBackordered
<Zero> -> BF mnQtyCanceled
BC Unit of Measure as Input (F57S808Y)(UOM) -> BF szTransactionUOM
VA rpt_mnLineNumber_LNID -> BF mnCMLineNo
"R57S8084" -> BF szCMProgramID
PO szP4120Version -> BF szCMVersion
VA rpt_szUserId_USER -> BF szUserID
VA rpt_jdDateUpdated_UPMJ -> BF jdDateUpdated
"1" -> BF cWKCheckAvailability
VA evt_mnIdentifierShortItem_ITM -> BF mnShortItemNo
Else
// Edit Line
ii). F4211 Edit Line
RV gv JOBS Job Number <> BF mnCMJobNo
"A" -> BF cCMLineAction
"1" -> BF cCMProcessEdits
"1" -> BF cCMWriteToWFFlag
<Blank> -> BF cCMRecdWrittenToWF
RV gv CID Computer ID -> BF szCMComputerID
RV gv Error Code F4211 ERRC <- BF cCMErrorConditions
RV gv Order Company -> BF szOrderCo
BC Document (Order No, Invoice, etc.) (F57S808Y)(DOCO) -> BF mnOrderNo
RV gv Order Type -> BF szOrderType
VA rpt_mnLineNumber_LNID -> BF mnLineNo
RV gv Business Unit -> BF szBusinessUnit
PV sv Promised Delivery -> BF jdRequestedDate
PV sv Scheduled Pick -> BF jdPromisedDate
BC 2nd Item Number (F57S808Y)(LITM) -> BF szItemNo
PO szLineTypePartial_LNTY -> BF szLineType
VA rpt_mnDiffShipVsDel_MATH01 -> BF mnQtyOrdered
VA rpt_mnDiffShipVsDel_MATH01 -> BF mnQtyShipped
<Zero> -> BF mnQtyBackordered
<Zero> -> BF mnQtyCanceled
VA evt_mnAmtPricePerUnit2_UPRC -> BF mnUnitPrice
BC Unit of Measure as Input (F57S808Y)(UOM) -> BF szTransactionUOM
VA rpt_mnLineNumber_LNID -> BF mnCMLineNo
"R57S8084" -> BF szCMProgramID
PO szP4120Version -> BF szCMVersion
"1" -> BF cOverridePrice
VA rpt_szUserId_USER -> BF szUserID
VA rpt_jdDateUpdated_UPMJ -> BF jdDateUpdated
"1" -> BF cWKCheckAvailability
VA evt_mnIdentifierShortItem_ITM -> BF mnShortItemNo
End If
//
If RV gv Error Code F4211 ERRC is equal to "2"
RV gv Error in Detail = "1"
JDEM Sales Detail Line Level Action Error Set
VA rpt_mnLineNumber_LNID -> BF mnEDILineNumber
"3" X BF cIncludeInterconnect
RV gv Generic Long ID <> BF idPtrToPPATMsgs
BC Document (Order No, Invoice, etc.) (F57S808Y)(DOCO) -> BF mnFI_EDIOrderNumber
RV gv Order Type -> BF szFI_EDIOrderType
RV gv Order Company -> BF szFI_EDIOrderCompany
Proccess batch errors to the JDEM system
"3" -> BF mnLeveloftotaling
RV gv Generic Long ID <> BF idDataBaseWorkField
VA rpt_szUserId_USER -> BF szUserid
JDEM Sales Order Level Action Error Set
BC Document (Order No, Invoice, etc.) (F57S808Y)(DOCO) -> BF mnEDIOrderNumber
RV gv Generic Long ID <> BF idPtrToPPATMsgs
Proccess batch errors to the JDEM system
"2" -> BF mnLeveloftotaling
RV gv Generic Long ID <> BF idDataBaseWorkField
VA rpt_szUserId_USER -> BF szUserid
RV HDRemarksError = "Error: Detail Line Processing Error"
F57S808Y.Update
BC Document (Order No, Invoice, etc.) (F57S808Y)(DOCO) = TK Document (Order No, Invoice, etc.)
BC Line Number (F57S808Y)(LNID) = TK Line Number
VA rpt_szUserId_USER -> TK User ID
VA rpt_jdDateUpdated_UPMJ -> TK Date - Updated
VA rpt_mnTimeLastUpdated_UPMT -> TK Time - Last Updated
VA rpt_szProgramId_PID -> TK Program ID
VA rpt_szWorkStationId_JOBN -> TK Work Station ID
VA rpt_cEdi_EDSP_E -> TK EDI - Successfully Processed
//
VA rpt_mnEdiLineNumber_EDLN = [VA rpt_mnEdiLineNumber_EDLN]+1
F57S808E.Insert
VA rpt_mnF57S808E_UKID -> TK Unique Key ID (Internal)
VA rpt_mnEdiLineNumber_EDLN -> TK EDI - Line Number
BC Document (Order No, Invoice, etc.) (F57S808Y)(DOCO) -> TK Document (Order No, Invoice, etc.)
RV Order Type -> TK Order Type
BC Line Number (F57S808Y)(LNID) -> TK Line Number
RV gv Business Unit -> TK Business Unit
VA rpt_mnAddressNumber_AN8 -> TK Address Number
BC 2nd Item Number (F57S808Y)(LITM) -> TK 2nd Item Number
RV gv Route Code -> TK Route Code
RV gv Stop Code -> TK Stop Code
RV gv Concept Identifier -> TK Sub Section
BC Units - Order/Transaction Quantity (F57S808Y)(UORG) -> TK Units - Order/Transaction Quantity
BC Quantity Shipped (F57S808Y)(SOQS) -> TK Quantity Shipped
BC Quantity Delivered (F57S808Y)(CMQTLIV) -> TK Quantity Delivered
VA rpt_mnDiffShipVsDel_MATH01 -> TK Quantity Scrapped 1
RV HDRemarksError -> TK Error Description
VA rpt_szUserId_USER -> TK User ID
VA rpt_szProgramId_PID -> TK Program ID
VA rpt_szWorkStationId_JOBN -> TK Work Station ID
VA rpt_jdDateUpdated_UPMJ -> TK Date - Updated
VA rpt_mnTimeLastUpdated_UPMT -> TK Time of Day
Else
// Update additional fields.
Get F42UI02 WF Line Number
RV gv CID Computer ID -> BF szComputerID
RV gv JOBS Job Number -> BF mnJobNo
VA evt_LineNumberXREF_LNIX <- BF mnWFLineNo
VA evt_LineNumberXREF_LNIX = [VA evt_LineNumberXREF_LNIX]-1
F4211 Update Cache Or Work Table for Non OMS
RV gv JOBS Job Number -> BF mnJobNo
"1" -> BF cProcessingMode
RV gv CID Computer ID -> BF szComputerID
VA evt_LineNumberXREF_LNIX -> BF mnLineNo
VA rpt_jdF4211DateReques_DRQJ -> BF jdRequestedDate
VA rpt_jdF4211DateTrans_TRDJ -> BF jdOrderDate
VA rpt_jdF4211SchPickDate_PDDJ -> BF jdPromisedDate
VA rpt_jdF4211ActualShipDate_ADDJ -> BF jdActualShippedDate
VA rpt_jdF4211DateInvoice_IVD -> BF jdInvoiceDate
VA rpt_jdF4211DateRelease_RSDJ -> BF jdPromisedDeliveryDate
VA rpt_jdF211DatePromShip_PPDJ -> BF jdFutureUse1
//
RV HDRemarksError = "Processing Adjustments"
Sales Order Detail, Increment Line Number
VA rpt_mnLineNumber_LNID -> BF mnInputLineNumber
"1.000" -> BF mnLineNumberIncrement
VA rpt_mnLineNumber_LNID <- BF mnOutputLineNumber
End If
//
VA rpt_cDetailProcessingYN_EV01 = "Y"
End If
//
End If
Here is the sample program explained how to change the Order Quantity and Shipped in F4211 using Sales Order MBF.
B42110310- Sales Order MBF
It has sub functions used at different placed
- F4211 Pre Process Values For Edit Line
- F4211 Begin Document
- F4211 Edit Line
- F4211 End Document
- F4211 Delete Work File
No comments:
Post a Comment
Thanks for writing valuable comment.