TRWPR - Missing Custom Function Modules ERP2005 Upgrade 2006

PROCESS EVENT SUBNO COMPONENT FUNCTION
BELEG CLOSE 81 ZKAC BP_DOCUMENT_CLOSE
K-BELEG PRUEFEN 17 ZKAC Z_BP_KA_CHECK_FUNDS_CO
K-BELEG1 PRUEFEN 17 ZKAC Z_BP_KA_CHECK_FUNDS_CO
K-BELEG2 PRUEFEN 17 ZKAC Z_BP_KA_CHECK_FUNDS_CO
K-BUDGET PRUEFEN 91 ZKAC Z_BP_KA_CHECK_FUNDS
BANF CHECKALL 37 ZZFM ZZ_PRE_FM_INPUT_CHECK_COBL
BELEGPOS PRUEFEN 67 ZZFM ZZ_PRE_FM_INPUT_CHECK_COBL
BEST CHECKALL 47 ZZFM ZZ_PRE_FM_INPUT_CHECK_COBL
BELEG POST 900 ZZWF ZZWF_BKPF_EVENT_CREATE

All of these custom entries in TRWPR were missing after the upgrade. (TRWPR = RWIN: Processes - RW Interface - the central interface for transferring postings from other application components in the SAP R/3 System to Accounting)

These custom entries were entered directly into TRWPR which is a quasi mod. We should not be entering function modules directly into TRWPR because they always run the risk of being overlayed. Best to use a business event.

Research:

ZKAC:

Z_BP_KA_CHECK_FUNDS_CO (Obsolete - Funds availability check in CO) - This function module was made obsolete in April 2001 by Hans-Peter. It looks like it was used for Funds Availability prior to that.

Z_BP_KA_CHECK_FUNDS (Obsolete - Funds availability check in CO) - ditto.

BP_DOCUMENT_CLOSE - SAP function module. I have no idea what this does in SF8.

The decision is to not reimplement the ZKAC components. If something goes bump in the night we can reimplement the BP_DOCUMENT_CLOSE.

ZZFM:

ZZ_PRE_FM_INPUT_CHECK_COBL (Input Check: Account Assignment Block) - Clear commitment item (for all GL accounts) and clear the Fund & Funds Center for line items with G/L accounts that are not balance sheet accounts. For cost accounts, recalculation of fund center/fund takes place in function module FM_INPUT_CHECK_COBL; this must be the next function module in the RWIN interface (table TRWPR). In ERP2005, we don't seem to need to clear the Fund & Funds Centers because they are already cleared and indeed FM_INPUT_CHECK_COBL calculates them. But we do need to clear the commitment item. But now, I want to research whether I can use a business event instead of updating TRWPR directly. BANF (Purchase Requisitions) BELEGPOS (Vouchers) BEST (PO stock?)) It looks like this user exit was implemented for requisitions, vouchers & stock transactions? What about invoices created from the SD billing process? The SD billing process does not go through this function module. And even though voucher creation does go through the FM the commitment item is re-populated later in the process!

FB01 debugger:

E_COBL-FIPOS = C1043030

It is then cleared. Once the FI document is save BSEG-FIPOS = C1043030!

So for now, we are not going to reimplement this "user exit." During integration testing, if we run into problems we will revisit this decision.

ZZWF: ZZWF_BKPF_EVENT_CREATE (Create workflow event when an FI doc. is posted) - Originally created to kick off workflow WS91000020 (PP:Control Account JV (WS)) when a PO or non-PO invoice posted. This workflow submits report program ZFIPPINV which Creates a JV to post to the Physical Plant Control account for PO invoices associated with profit center P591000. This double posting functionality for Physical Plant is no longer needed. Physical Plant invoices are now entered via LIV which kicks off WS91000003.

Later this function module was modified to include code necessary for the G/L Statement restart (ZGLRESTART transaction) functionality. This functionality is also still needed.

David replaced this entry in TRWPR with a Business Event:

A new function module, Z_FI_CALL_WHEN_POSTING_FI_DOC, logically replaces function module ZZWF_BKPF_EVENT_CREATE. The new function module is called from Business Transaction Event 00001030, rather than being called from table TRWPR (the way the old one was).

Like the old function module, the new one calls Z_GL_UPDATE_ZGLRC (IN UPDATE TASK) to save the information about the last document posted by program ZGLC2006. The code to execute SWE_EVENT_CREATE_FOR_UPD_TASK to create a ZCREATED workflow event was removed because this part of the code is no longer needed.

Saving the information about the last document posted by program ZGLC2006 has been successfully tested in SF2.