Tuesday, 24 July 2018

JDE Edwards Sales Order MBF Usage Steps



















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.