Oracle EBS FA Rollback Depreciation (Rollback Depreciation) accounting entries cannot be thrown to the GL general ledger data repair

Oracle EBS version: R12.1.3
Business situation:
1. Asset allocation
1.1 Find assets: FA>Assets>Asset Workbench
input asset code>Select asset set of accounts>Find


1.2 Asset allocation (transfer): Assignments

Note: the transfer out is a negative number, Transfer to a positive number
Two, run depreciation: FA>Depreciation>Run Depreciation After

running the depreciation request, two events will be generated:
1. Depreciation (Depreciation)
2. Depreciation has been run rollback (Rollback Depreciation)
The related level table is: XLA_TRANSACTION_ENTITIES And XLA_EVENTS (EVENT_STATUS_CODE ='U' and PROCESS_STATUS_CODE ='U')
3. Create an accounting title : FA->Create Accounting

Note: The default value of the End Date parameter is the current day.
4. View accounting events and accounting subjects: FA>Assets>Asset Workbench
Tools>View Accounting Events/View Accounting

4.1 View Accounting Events

4.2 View Accounting

accounting entries are introduced as follows:
1. GL Date is 2019-03-06 is 2019-03 Accounting entry for the first depreciation in the accounting period
2. GL Date of 2019-03-07 is the accounting entry for the second depreciation in the 2019-03 accounting period
3. GL Date of 2019-03-31 is the second depreciation in the 2019-03 accounting period, rolled back (equivalent to (For offsetting) the accounting entry for the first depreciation. However, other versions (R12.2.6) or other company systems will not generate the first and third accounting entries. Estimation is related to the definition of accounting events. Only when the operating depreciation closes the accounting period can the event of "rolling back already run depreciation" occur.
Since the GL date of "Rollback Depreciation" is 2019-03-31, and the termination date of the "Create Account-Asset" request is 2019-03-07. Therefore, GL journals cannot be generated. Going to the GL journal to retrospectively cannot find the row of the journal of the accounting event "Rollback Deprecitation". At the same time, you can find out which accounting entries have not been thrown to the GL general ledger through the following SQL statement

SELECT  XTE.LEDGER_ID, XTE.Source_Id_Char_1,
       FAA.ASSET_NUMBER,
       FAA.DESCRIPTION,
       Xe.Event_Status_Code,
       xe.PROCESS_STATUS_CODE,
       XEh.Gl_Transfer_Status_Code, --N表示未传至GL
       xeh.gl_transfer_date,
       Xte.Entity_Code,
       Xte.Entity_Id,
       XE.CREATION_DATE,
       XEL.ACCOUNTING_DATE,
       XE.EVENT_DATE,
       XE.CREATED_BY,
       XEL.CREATED_BY,
       XEh.*,
       xel.*,
       IR.JE_HEADER_ID,
       glb.name,  --日记帐批
       glh.name  --日记帐名
  FROM Xla.Xla_Transaction_Entities Xte,
       Xla.Xla_Events               Xe,
       Xla_Ae_Headers               Xeh,
       Xla_Ae_Lines                 Xel,
       Gl_Import_References         Ir,
       FA_ADDITIONS_V  FAA,
       gl_je_batches  glb,
       gl_je_headers  glh
 WHERE Xe.Entity_Id = Xte.Entity_Id
   AND Xte.Application_Id = Xe.Application_Id
   AND Xe.Entity_Id = Xeh.Entity_Id(+)
   AND Xe.Event_Id = Xeh.Event_Id(+)
   AND Xe.Event_Type_Code = Xeh.Event_Type_Code(+)
   AND Xeh.Ae_Header_Id = Xel.Ae_Header_Id(+)
   AND Xel.Gl_Sl_Link_Id = Ir.Gl_Sl_Link_Id(+)
   AND Xel.Gl_Sl_Link_Table = Ir.Gl_Sl_Link_Table(+)
   and ir.je_batch_id = glb.je_batch_id(+)
   and ir.je_header_id =glh.je_header_id(+)
   AND XTE.source_id_int_1= FAA.ASSET_ID
   AND Xe.Application_Id = 140
   AND Xte.Entity_Code != 'TRANSACTIONS'
   --And XE.EVENT_TYPE_CODE = 'ROLLBACK_DEPRECIATION'
   AND XE.EVENT_DATE >= TO_DATE('2019-03-01', 'YYYY-MM-DD')
   and FAA.ASSET_NUMBER='XXXXX2016007'
   and XTE.Source_Id_Char_1 = 'XXX FA BOOK'  


How to data repair accounting event "Rollback Deprecitation" accounting entries to GL general ledger?
Use the following SQL statement:

UPDATE Xla_Events a
   SET Event_Status_Code   = 'U'
      ,Process_Status_Code = 'I'
 WHERE Event_Id IN
       (SELECT A1.Event_Id
          FROM Xla_Events A1
         WHERE A1.Event_Status_Code = 'P'
           AND A1.Process_Status_Code = 'P'
           AND A1.Event_Type_Code = 'ROLLBACK_DEPRECIATION'
           AND A1.Application_Id = 140
           AND Trunc(A1.Event_Date) BETWEEN
               Trunc(To_Date('2019-03-01', 'YYYY-MM-DD')) AND
               Trunc(To_Date('2019-03-31', 'YYYY-MM-DD'))
           AND EXISTS
         (SELECT 1
                  FROM Xla_Ae_Headers b
                 WHERE b.Event_Id = A1.Event_Id
                   AND b.Gl_Transfer_Status_Code = 'N'
                   AND b.Event_Type_Code = 'ROLLBACK_DEPRECIATION'))
   AND Trunc(a.Event_Date) BETWEEN
       Trunc(To_Date('2019-03-01', 'YYYY-MM-DD')) AND
       Trunc(To_Date('2019-03-31', 'YYYY-MM-DD'))
   AND a.Application_Id = 140;
COMMIT;

Note: When datafix, try to reduce the scope of data modification.
Therefore, modify the " End Date " of the concurrent request " Create Accounting-Assets " to be the last day of the current accounting period.

In addition, what happens to the event of "rolling back already run depreciation"?
After testing, there are the following situations:
1. Asset transfer or asset retirement:
2. Asset rewriting (depreciation and adjustment, note that R12.2.6 also adds " Obsolete"): FA>Depreciation>Charge
Note: In the Oracle EBS 11i environment, rollback depreciation is to submit a request to " roll back running depreciation ", and after R21 version, the request will be cancelled and replaced by "depreciation>rewrite" Up.

Guess you like

Origin blog.csdn.net/chenxianping/article/details/89043390