Master Business Funtions

March 18, 2018 | Author: Fabian Arteaga | Category: Electronic Data Interchange, Invoice, Database Transaction, Cache (Computing), Subroutine


Comments



Description

Master Business Function in EnterpriseOneApplies to JD Edwards EnterpriseOne Tools - Version: SP1 to 8.98 - Release: SP1 to 8.98 Information in this document applies to any platform. This document is to explain general topics on Master Business Function (MBF) in EnterpriseOne, y y y y y y y What is a Master Business Function? Why it is important in EnterpriseOne (in terms of it's feature)? What are components of Transaction MBFs? How transaction MBFs are built to run? How it calls internal BSFN for Edit Line in complex routine? How to debug issue on Master Business Function? Considerations What is a Master Business Function? Master Business Function (MBF) is a Business Function written to process a record into the JDE system, which is made up of many sub-routines. JD Edwards provides MBFs to allow calling programs to process certain predefined transactions. An MBF encapsulates the required logic, enforces data integrity, and insulates the calling programs from the database structures. In EnterpriseOne, there are two different type of Master Business Functions: y Transaction File Master Business Function o XT4111Z1 - InventoryTransactions o XT4113Z1 - Inventory Transfer XT4114Z1 - Inventory Issue/Adjustment XT4116Z1- Item Reclassifications o B4200310/B4200311/B4200312 - Sales Order Entry Master Business Function N4200790 - Shipment Confirmation o XT4311Z1/XT4311Z2 - Purchase Order Entry XT4312Z1/XT4314Z2 - Purchase Order Receipts XT4314ZN/XT4314Z2 - Voucher Match o X4801 - X4801 Work Order Entry Master Business Function o B03B0011 - Invoice Entry Master Business Function B03B0138/B03B0149 - F03B13 Maintain Receipt Header/F03B14 Maintain Receipt Detail o B0400047 - Voucher Entry Master Business Function B0400016 - A/P Payments Master Business Function o B0900049 - JournalEntry Shop Floor Calender . EditLine. ClearCache) o This common set of functions contain all of the necessary defaulting and editing for a transaction file.) Note: y Transactional File Master Business Function o Provide a common set of functions (BeginDoc. o Records are dependent on each other o Logic is broken up by event flow of an application o The common set of functions (BeginDoc.Customer Master -MBF o N0100043 .Disposition Load MBF N4900780 .F3460.Backorder Release MBF N4900710 .F3460 Forecast MBF N4200860 .F3701 Test Definitions Master Business Function N3700100 .F3112 Work Order Routings Master Business Function B3101040 . EditLine.Address Book .F4215 UnScheduled Delivery MBF N4900730 .Supplier Master-MBF o N4101060 .Employee MBF o B0100087 .Address Book MBF o N0100042 .F31122 WO Hours & Quantities Master Business Function B3401200 .Load Confirm By Compartment MBF N4900140 . EditDoc.Live Promotions Processing Master Business Function N3700070 .Create Load MBF y Master File Master Business Function o N0100041 . Edit Line And Update Master Business Function B4501000 .Work Order Completions MBF B3102080 .Who'sWho MBF o B1200260 .F4101 Process Master Data o N4101070 .UpdateItemProcess Data o N000700 . EndDoc.F3702 Specifications Master Business Function B3100770 .o N3002040 .Cache Process Equipment Tag MBF o B4600660 .F3003 Master Business Function B3101260 .F3002 Bill of Material Master Bsfn N3001780 . etc) are called in different events in an application.PO Template for MBF o B0500575 .Cache Process Asset Master MBF o B1200280 .F3711 Test Results MBF (The above is a non-exhaustive list of Master Business Functions.Process Messages MBF N3401430 .Master Business Function o B0100052 .F3111 Parts List Master Business Function B3101250 . .Co_By Completions MBF B3401360 .WarehouseReservations MBF o N3700150 . Edit Doc. By setting up and maintaining the structure of an MBF. delete and inquiry These business functions can also be called in Interoperability or EDI Batch Applications. these ³hook ups´ that call the functions are in a consistent order. If there is any equivalent Batch Application(either Inbound Interoperability or EDI). in the EndDoc routine. application specific code To reduce duplicatedcode To ensure that hookup is consistent Toenforce data integrity Tosupportinteroperabilitymodels To allow processing to be distributed through OCM Todesignevent-drivenarchitecture Note: y y y y MBFs are similar to the functional servers in WorldSoftware. The data fields should correspond directly with columns in the associated master file.ProcessInteropOutboundRecs (Process Interop Outbound Records). you can make one call to an MBF to edit. caching is unnecessary. End Doc and Clear Cache routine o But this MBF is not called directly from application rather same MBF defined above is calling this routine o o What is the purpose of using Master Business Function? y y y y y y y To create reusable. o One Single data structure o The fields required to make the request and provide all the necessary values are in one data structure. interoperability sub-routine can be called. o Support add. update or delete a master file record. o Because each master file record is independent of the others. MBF can be called based on event flow in the Batch Application/UBE. add. and delete logic Master File Master Business Function o Each record isindependent o All logic is processed with one single call o Generally.y y y Uses cache APIs to hold records being processed Support add. o No cache isneeded. XT4111Z1 isunique o It follows Edit Line. Example: B4200310 . change. .F4211FSEndDoc is calling B4201540 . change. Usually. (Below topics will be focused on Transactional File Master Business Function) What are components of Transaction MBFs? A Transaction MBF is made up of below components: y y y y y BeginDoc Edit Line EditDoc EndDoc Clear Cache Hook-up Whatdoesit do? Remarks Usually used when transaction contains header and detail information. Set focus event in header/detail or headerless/detail form. from F4211/F4311. Create cache/workfilefor . At the end of header processing or BeginDoc before detail data are processed. information. Validatedetailinformation Initialize/default values for detail transaction. header information Initialize/default values. OK button clicked when header and detail is separated. In distribution module this function validate item/itemrelated information. y y y y Example: Header Information from F4201/F4301 and detail information Initialize Cache/work file. that contains Create Cache/work file for customer/supplier Header. Validate if the control value is BeginDoc used for populated. Most of validationwilltake place EditLine In exiting from row (Row Is Exited/Changed Asynch) or OK button clicked with or without WHILE loop y y y y Initialize Cache/Workfile if BeginDoc was not called. This component is optional when target transaction only have a single row of data (header only for example). Forthisexample. User abandon transaction(by clicking Cancel Button) then calling this is important to free memory. 1002) to make it unique. EditDoc OK buttonclick y This function is optional.g. cache namewill be B42003101002 . throughthisroutine. If header and detail information error (or validate failed). EndDoc Post OK button clicked .Asynch y Commit cache/work file to transaction table(s) Inside End Doc ClearCache routine or Close/Cancel button clicked y Clear cache/workfile for header and detail Note: y y "Initialize" is to flush/allocate memory and set proper cache name through JDE_InitCache() Usually the cache name is made up of object ID (e.. If it hits Validate before commit. Some MBF iscallingthisroutine in End Doc.g. B4200310) and concatenate Job Number(e. This is to clear any cache created through Begin Doc and Edit Line process. form may be need to have tight integrity closed neither issuing then it may compare detail error nor committing cache to header cache cache to transaction files Mostly this function gets called with Transaction Processing ON asynchronously. If it does not hit error (successfully retrieved/committed cache) then ClearCache will be called..Detail. it calls additional business function F4211FSEditLinePreProcess (F4211 Pre Process Value) to assign valid value in calling F4211FSEditLine F4211FSEditLine (B4200310) is calling internal business function I4200310_F4211FSEditLine(). Version [ZJDE0001] How it calls internal BSFN for Edit Line in complex routine? . So it is important to check internal BSFN B4200311 when it issues error in validating detail information through F4211FSEditLine Since B4200311 is an internal Business Function.Sales Order Entry.F4211ClearWorkFile (F4211 Delete Work File) are to be build into B4200310.F4211FSBeginDoc (F4211 Begin Document) B4200310 .F4211FSEditLinePreProcess (F4211 Pre Process Value) B4200310 .F4211FSEditLine (F4211 Edit Line) B4200311 .F4211SOEInternalFunctions (F4211 Sales Order Entry Internal Functions) B4200312 . y y y y y y y B4200310 . Both B4200310 and B4200311 belongstolibrary CSALES. jdedebug.c and B4200312.F4211EditDoc (F4211 Edit Doc) B4200310 .c. o InitializeSection: BeginDoc o Do Section: Edit Line o EndSection: EndDoc How transaction MBFs are built to run? Below is an example of Sales Order creation through P4210 .c which belongs to Parent DLL CSALES Note: y y y y Unlike other BSFN. before it calls F4211FSEditLine.y y This is important when two or more MBF components communicate with others components (refer below How components communicate in a single MBF Each components can be called as below in batch application (actual implementation can vary as it can be handled at different section when it needs strict validation to stop transaction from being committed when encountering error data).F4211EndDoc (F4211 End Document) B4200310 . B4200311. The actual routine does not exist in B4200310 but exist in B4200311 instead.log will not contain statement like "Calling Business Function F4211SOEInternalFunctions from Application [P4210]. JDEBFRTN(ID) JDEBFWINAPI F4211FSEditLine (LPBHVRCOM lpBhvrCom. LPVOID lpVoid. Get Local Computer ID VA rpt_WorkStationId_JOBN<> BF szMachineKey F4114 Begin Document VA rpt_WorkStationId_JOBN -> BF szComputerID " M30" -> BF szBranchPlant -> BF mnBatchNumber SL DateToday -> BF jdBatchDate "II" -> BF szDocumentType SL DateToday -> BF jdGLDate F4114 Edit Line VA rpt_WorkStationId_JOBN -> BF szComputerID SL DateToday -> BF jdGLDate "Inventory Issue" -> BF szGLExplanation "1" -> BF cUpdateQuantityOnHand "1" X BF cAllowQtyOverAvailable "F" -> BF cFromTo "1" -> BF cDefaultFromPrimaryLocation SL DateToday -> BF jdTransactionDate "II" -> BF szDocumentType SL DateToday -> BF jdBatchDate VA rpt_BatchNumber_ICU<. } As we can see above B4200310 has definition on F4211FSEditLine which is calling internal BSFN I4200310_F4211FSEditLine () but you may not be able to find the detail routine of I4200310_F4211FSEditLine in B4200310.PurchaseOrderEntry XT4312Z1/XT4314Z2 . lpDS). Below MBFs are configured same manner so it is important to check internal business function for below listed transactions. lpVoid.Below is example of B4200310 in Sales Order Entry. y y y XT4311Z1/XT4311Z2 .BF mnBatchNumber (Ref #1) " M30" -> BF szBranchPlant "210" -> BF szItemNumber "1.PurchaseOrderReceipts XT4314ZN/XT4314Z2 . LPDSD4200310F lpDS) { return I4200310_F4211FSEditLine(lpBhvrCom.Voucher Match How internal components/routine communicate with another routine in a Master BSFN? For example in handling Inventory Issue through P4112 which utilizes MBF XT4112Z1.0000" -> BF mnTransactionQty . .00" -> BF mnTransactionProcessType VA rpt_DocVoucherInvoiceE_DOC<.00" -> BF mnTransactionProcessType VA rpt_JobnumberA_F0911 -> BF mnF0911Jobnumber (Ref #3) VA rpt_BatchNumber_ICU -> BF mnBatchNumber (Ref #1) "1" -> BF cProcessCloseBatch VA rpt_JobnumberA_Inventory -> BF mnInvJobNumber (Ref #4) Note: y y y y y y y It is important to understand how cache is created and it gets utilized through End Doc routine Verify what are return values through Edit Line routine Assign Job number for individual internal routine as cache were created based on this job number Forthisexample.log: describes how it gets called jdedebug. create cache and commit it .BF mnF0911JobNumber (Ref #3) "00200" -> BF szKeyCompany VA rpt_JobnumberA_Inventory<."1. cache is created based on specified job number This routine is important when you need to interface with 3rd party software(e. cache itself won't be handled properly How to debug issue on Master Business Function? Analyze jasdebug.log (at presentation layer) and jdedebug.BF mnDocumentNumber (Ref #2) VA rpt_JobnumberA_F0911 <. IBM WebSphere Adapter) or business service Job Number has to be unique per unit of transaction otherwise.g.BF mnInvJobNumber (Ref #4) "1" -> BF cProcessJE "" -> BF mnSecondaryQty F4114 End Document "EP4112" -> BF szProgramID VA rpt_DocVoucherInvoiceE_DOC -> BF mnDocumentNumber (Ref #2) VA rpt_WorkStationId_JOBN -> BF szComputerID "1" -> BF cWriteCardex "II" -> BF szDocumentType "1.log (CallObject kernel log): how MBF validates data. o Create inventory transaction through XT4111Z1 with job number named ' VA rpt_JobnumberA_Inventory' o Create Journal transaction through B0900049 with job number named 'VA rpt_JobnumberA_F0911' Through Edit Line routine.log (in logic server) which contains runtime flow and business flow respectively y y jasdebug. interactive application may make use of Cache (based on data structure of work file) whereas batch application will write work file. Edit/Create R4701ZI . BatchApplication R47121 . Since most of JDE applications may have equivalent batch processes.InventoryIssue Activity Data Edit/Create P4113 R47121 . interactive application is more suitable for smaller size of transactions otherwise you may hit 'ASYNCHRONOUS BUSINESS FUNCTION Error'.EDI Product XT4114Z1 P4112 .EDI Product XT4114Z1 InventoryAdjustments Activity Data Edit/Create P4116 R47121 .EDI Inbound XT4314ZN/XT4314Z2 P4314 .SCP Inbound Work X4801 P48013 . 'Transaction Failed' or Web Client Exception in committing cache to DB In general. 'Commit Failed'. you can utilize these batch applications when trying to process large number of records.ShipConfirmation R42500 .O.EDI Inbound B4200310/B4200311/B4200312 Order Entry Purchase Order Edit/Create R47500 .WorkOrder Orders B03B0011 P03B11 .Voucher Match Invoice/Match to P.ReceiptEntry MBF InteractiveApplication .Ship Confirm Batch Application R4311Z1I .Inbound Transaction Processor N4200790 P4205 . The main consideration is not to utilize too much cache though it may return better performance in small transactions.EDI Receiving XT4312Z1/XT4314Z2 P4312 .PO Receipt Advice Edit/Create Purchasing R470412 .Sales R47011 .Considerations In thin client configuration.EDI Product XT4116Z1 ItemReclassification Activity Data Edit/Create P4210/P42101 .EDI Product XT4113Z1 InventoryTransfers Activity Data Edit/Create P4114 R47121 .PO Unedited P4310 XT4311Z1/XT4311Z2 Transaction Inbound PurchaseOrderEntry Processor R47071 .InvoiceEntry B03B0138/B03B0149 P03B102 . Edit/Create R04110Z* .B0400047 P0411 .Process Inbound P3002 .JournalEntry Note: y y Only major transaction information has been described here.Voucher R470412 .Bill of Material Bill of Masterial R3003Z1I P3003 .9 Data Interface for EDI PeopleBook and EntepriseOne 8.0 Interoperability PeopleBook.Routing ProcessInboundProcessing P31113 .O.EDI Inbound Invoice/Match to P.Inbound Inventory Issues Inventory Issue Transaction P3411 . For detail.Store and Forward Journal Entry Upload R3002Z1I . .Work Order R31113Z1I .MRP/MPS Detail R3411 .Voucher Batch Processor B0400016 B0900049 N3002040 N3001780 B3101260 B3401360 P0413M . refer EnterpriseOne 8.MRP/MPS Detail Message Revisions Message Processing P0911 .A/P Manual Payment R0911Z1 .
Copyright © 2024 DOKUMEN.SITE Inc.