The purpose of this document is to give a brief overview of the difference between R41500 (Automatic Inventory to GL Reconciliation) and R41543 (Item Ledger/Account Integrity),
Many times, both R41500 and R41543 may yield same result, but the validation routine is very much different. As a result, the outcome between R41500 and R41543 may not be identical to each other.
Automatic Inventory to GL Reconciliation (R41500) | Item Ledger/Account Integrity (R41543) | |
Knowledge Reference | <Document 1678098.1> - E1: 41: Inventory to G/L Reconciliation Process (P41500/R41500/R41501) | <Document 625476.1> - E1: 41: Item Ledger/Account Integrity Report (R41543) |
Processing Option |
Default 1. Reconciliation Code Process 1. Proof or Final Mode (Blank = Proof, 1 = Final Mode) 2. Enter From G/L Date 3. Enter To G/L Date 4. Additional Ledger Type to Update WO Document Type 1. Enter Work Order Completion Document Type 2. Enter Work Order Issue Document Type 3. Enter Lean Transaction Completion Document Type 4. Enter Lean Transaction Issue Document Type 5. Enter Work Order Scrap Document Type Interbranch 1. Interbranch Order Type 1. Print Option 2. Show Item Level Detail for Variance Records |
Report Display 1. Enter From G/L Date 2. Enter Thru G/L Date 3. Enter Work Order Issue/Completion Type 1 4. Enter Work Order Issue/Completion Type 2 5. Enter Lean Transaction Completion Document Type 6. Enter Lean Transaction Issue Document Type 7. Show Item Level Detail |
Prerequisite | Transactions interfaces with G/L should write F0911.GPF1 = '1'. Example of routines, P4112, P4113, P4114, P4116, R41413, R42800, P4312, P31113, and P31114 and so on. | N/A |
Runtime Data Selection |
SELECT ILITM, ILMCU, ILLOCN, ILLOTN, ILKCO, ILDOC, ILDCT, ILICU, ILDGL, ILGLPT, ILDCTO, ILDOCO, ILLNID, ILIPCD, ILTRDJ, ILTRUM, ILTREX, ILTRQT, ILPAID, ILUKID, ILPID, ILSVDT FROM PRODDTA.F4111 WHERE ( ( ILIPCD IN ( ' ','Y' ) AND ILICU <> 0.000000 AND ILDGL >= 118081 AND ILDGL <= 118081 ) AND ILSVDT = 0 ) ORDER BY ILDCT ASC,ILDOC ASC,ILKCO ASC Note that VSDT (Reconciliation Date) has to be zero not to proceed same transaction again. |
SELECT ILITM, ILMCU, ILLOCN, ILLOTN, ILKCO, ILDOC, ILDCT, ILICU, ILDGL, ILGLPT, ILDCTO, ILDOCO, ILLNID, ILIPCD, ILTRDJ, ILTRUM, ILTREX, ILTRQT, ILPAID, ILUKID, ILPID, ILSVDT FROM PRODDTA.F4111 WHERE ( ( ILIPCD IN ( ' ','Y' ) AND ILICU <> 0.000000 AND ILDGL >= 118081 AND ILDGL <= 118081 ) ) ORDER BY ILDCT ASC,ILDOC ASC,ILKCO ASC |
Exception handling | It handles only once based on F4111.SVDT. If you run same again in Final Mode, R41500 shall not give you any output. |
R41543 can issue false variance when, - The data selection is modified to include F4111.PCD NOT IN ('Y', ' ') - When the Object Account (F0911.OBJ) for both Inventory and Cost point to same range of objects. This is determined by Financial AAI below, Item No. Description Line 1 Obj Acct : The account for asset in this example is any object range from 1000 through 4999 unless there is any override. Refer to <Document 664682.1> - E1: 09: Overview of Automatic Accounting Instructions (AAI) in General Accounting (P0012), when you are keen to know more. For instance, the DMAAI 4122 and 4124 returns Object Account 1411 and 1412 respectively, which belong to Asset Account. Refer to <Document 625475.1> - E1: 40: Automatic Accounting Instructions for Distribution (AAI / DMAAI) [Video] |
Wrapper Function | F4111ToF0911Reconciliation (B4100960) | F4111CheckIntegrityWithF0911 (B4100910) |
Detail routine |
(Note that this routine is simplified for easier visualization) 1. Read F4111 which is not reconciled yet (that is, F4111.SVDT = 0) 2. Read F0911 record only when F0911.GPF1 = '1'
SELECT COUNT(ILPAID), SUM(ILPAID) FROM PRODDTA.F4111 WHERE ( ILDOC = 3508.000000 AND ILDCT = 'I7' AND ILKCO = '00200' AND ILICU <> 0.000000 AND ( ILIPCD = 'Y' OR ILIPCD = ' ' ) ) SELECT SUM(GLAA), COUNT(GLAA) FROM PRODDTA.F0911 WHERE ( GLDOC = 3508.000000 AND GLDCT = 'I7' AND GLKCO = '00200' AND GLGPF1 = '1' AND GLLT = 'AA' ) Note that GPF1 (Inventory Flag) is used to pull only for inventory account (it does not read its offset account which is commonly cost/expense account) |
1. Read data from F4111 2. Read predefined DMAAIs - UDC 41/IN - Inventory Integrity Report and store OBJ into cache 3. Read F0911 and compare F0911.OBJ with the cache stored above.
SELECT * FROM PRODDTA.F4111 WHERE ( ILDOC = 3508.000000 AND ILDCT = 'I7' AND ILKCO = '00200' AND ILDGL >= 118081 AND ILDGL <= 118081 ) ORDER BY ILGLPT ASC SELECT * FROM PRODDTA.F4095 WHERE ( MLANUM = 4122.000000 AND MLCO = '00200' ) ORDER BY MLANUM ASC,MLCO ASC,MLDCTO ASC,MLDCT ASC,MLGLPT ASC,MLCOST ASC (Repeat this against all predefined AAIs - It is imperative to maintain UDC 41/IN - Inventory Integrity Report, carefully)
SELECT * FROM PRODDTA.F0911 WHERE ( GLDOC = 3508.000000 AND GLDCT = 'I7' AND GLKCO = '00200' AND GLDGJ >= 118081 AND GLDGJ <= 118081 ) ORDER BY GLDCT ASC,GLDOC ASC,GLKCO ASC,GLDGJ DESC,GLJELN ASC,GLLT ASC,GLEXTL ASC |
Considerations |
This routine reads F0911.GPF1 = '1' only, which can yield different outcome between R41500 and R41543 because the former only read the account which is from inventory DMAAI. Check functions below when F0911.GPF1 not '1' for inventory account, The functions to check (commonly master/wrapper functions which calls F0911FSEeditLine.cInventoryFlag). Example of functions, - Inventory Transaction: XT4111Z1 (F4111EditLine) - Sales: B4200520 (GetSalesAAIsAndCallF0911EditLine) - Procurement: B4302510 (CreatePORceiptJournalEntries) |
Note that this routine shows discrepancy when both 4122 / 4124 point to same Inventory account or expense account because of the validation routine. In this case, possibly you may exclude F0911.GPF1 <> '1' because these lines are result set of cost/expense objects. |
Note: this document is to be completed not later than March-31-2018.