OPM Financials (GMF) Troubleshooting Guide [ID 1213193.1]

download OPM Financials (GMF) Troubleshooting Guide [ID 1213193.1]

of 28

description

OPM Financials (GMF) Troubleshooting Guide [ID 1213193.1]

Transcript of OPM Financials (GMF) Troubleshooting Guide [ID 1213193.1]

In this DocumentPurpose

Questions and Answers

References

Applies to:

Oracle Process Manufacturing Financials - Version 11.5.10 to 12.1.3 [Release 11.5 to 12.1]Information in this document applies to any platform.All opm financials forms, reports, concurrent requests for release 11i and 12

Purpose

This document provides basic to advanced trouble shooting information which can be used by Customers, Support and Development.

Questions and Answers

This note provides troubleshooting information for OPM Financials Module (GMF). It covers the following topics.

1. How to enable Debug Log mode for Concurrent Programs2. Find File versions, Profile values and Patches Applied

3. Find Log File and Error messages for important processes Cost Rollup Actual Cost Lot Cost Cost Update Test Subledger Update Final Subledger Update Detailed Subledger Report OPM Accounting Pre- Preprocessor Create Accounting4. Enable Forms Trace5. Enable Reports/Concurrent Request Trace6. Important Tables in 11i and R127. Important SQL queries and filtering transaction related issues8. Relayering in Actual Costing

For any OPM Financials issue Oracle Support request that you provide the file versions, log file with debug mode, error messages, screen shots and steps followed.

1.How to enable Debug Log mode (Enabling Debug mode in OPM Financials)

These steps are same in 11i and R12

Profile name : GMF Debug Log LevelValid values : Null, 0,1,2 & 3.

Set this profile value to 3 to enable the Debug mode and set it to Null in order to disable debug mode. This profile can be set from Menu -> Edit->Preferences ->Profiles->Personal Profile Values (Screen) . Query for profile name %GMF%Debug%. (The long name of the Profile may vary - it is frequently set up as "GMF: Concurrent Debug Flag").

If profile value can not be seen from menu check by logging with the responsibility of system administrator. Otherwise contact your system administrator.

If this profile does not exist or if this is a new instance then this profile has to be created.

Define new profile GMF_CONC_DEBUG as below:Responsibility: Application Developer. In case you do not have this responsibility ask your dba to create this profile . Before creating this profile below steps can be performed to check if the profile already exists.

Profiles screen ---> View ---> Query By Example ---> Enter GMF_CONC_DEBUG in Name fieldProfile ---> View ---> Query By Example ---> RunIf the query does not return any records, it means that this profile was not created

Use below information create a new record :Name GMF_CONC_DEBUGApplication Process Manufacturing FinancialsUser Profile Name GMF: Concurrent Debug FlagDescription Debug level flag for GMF concurrent programsActive Dates Enter a date from which this profile is active

2 Find File versions, Profile values and Patches Applied

These steps are same in 11i and R12.

File versions and Profile values

There is a concurrent request named Diagnostics: Apps Check which can be submitted in order to get the file version and profile values.

Responsibility : PURCHASINGMenu -> View Requests -> Submit a new concurrent request -> Diagnostics: Apps CheckParameter : Process Manufacturing Financials(In order to get multiple product versions, submit different products needed in the parameter.)

If your requirement is to find only one form version , it is easier to get that from the Application .These steps are same in 11i and R12.Inside the application select the Menu: Use Help->About Oracle Applications Scroll down to find the form name Character: Use Help->Version

If you have the access to the server where the Application is installed use below commands to get the executable file versions

strings $GMF_TOP/bin/GMFACOST | grep Head | sort

For a particular file version inside the executable

strings -a $GMF_TOP/bin/GMFACOST | grep -i '$Header'| grep gmafmt.lc

Finding a package version

SELECT name, textFROM all_sourceWHERE UPPER (NAME) LIKE UPPER ('%&EnterPackageName%')AND text LIKE '%$Header%'ORDER BY 1;

Finding a view definition

SELECT view_name,text FROMDBA_VIEWS WHERE UPPER (VIEW_NAME) LIKE UPPER ('%&EnterViewName%') ;

Note that in SQL*Plus the output from the above statement will normally be limited to 80 characters.

To find out how large the view definition is:

SELECT view_name,text_length FROMDBA_VIEWS WHERE UPPER (VIEW_NAME) LIKE UPPER ('%&EnterViewName%') ;

You now need to use the SQL*Plus 'SET LONG ' command, using a number greater than the View Length returned above. So if the query returned a length of '9800':

SQL> SET LONG 10000

... will allow the whole View Definition to be displayed,

Patches Applied, File name and Version using Query

SELECT DISTINCT af.app_short_name, af.filename, afv.version,afv.creation_date, apr.end_date, aap.patch_name, aprb.applied_flag, aprb.success_flag, a.bug_numberFROM ad_patch_drivers apd, ad_applied_patches aap, ad_patch_runs apr, ad_patch_run_bugs aprb,ad_patch_run_bug_actions aprba, ad_file_versions afv, ad_files af, ad_bugs aWHERE apd.patch_driver_id = apr.patch_driver_id AND apd.applied_patch_id = aap.applied_patch_idAND apr.patch_run_id = aprb.patch_run_id AND aprb.patch_run_bug_id = aprba.patch_run_bug_idAND aprba.patch_file_version_id = afv.file_version_id AND afv.file_id = af.file_idAND a.bug_id = aprb.bug_id AND af.app_short_name = 'GMF'ORDER BY 4 DESC;

Note that the above query tells you which patches have specifically been applied on your environment, but it does not list those fixes which came onto your system implicitly when (for example) a consolidated patch or a Patch Set was applied.

When given a list of patches, you can find out which ones are already applied on your system (either explicitly or implicitly) with the following script:

SELECT BUG_NUMBER FROM AD_BUGSWHERE BUG_NUMBER IN ('', '', ...);

When a value of Bug_Number is returned by this script, that patch is already applied and does not need to be applied again.

3 Find Log File and Error messages

a) Cost Rollup

These steps are same in 11i and R12.Navigation : Standard Costs -> Cost Rollup

If the issue is happening for a particular item, run the cost rollup only for that item/product so that we have less data.

When a new request is submitted (screen name Start Cost Rollup), note down the reference number. Once the request is completed go to the same Cost Rollup screen and click on the Cancel button. It will show Cost Rollup screen. Query for the reference number.

Process status can be found from the Menu ->Actions->Process Status in the same screen. Error messages can be found from the Menu ->Actions->View Error messages. If the error messages are less use the Menu -> Export to get the error messages to an excel file.

If there are more error messages please use the below query to get the error messages from the database using the reference number.

SELECT line_no, message_comment, rollup_idFROM cm_rlup_msgWHERE rollup_id = &EnterRefNoORDER BY line_no;

Log file for the Cost Rollup can be seen fromMenu -> View Requests ->Find Requests -> Search for the Cost Rollup Concurrent request. Click on the button View Log to get the log file.

If the log file is very large, note down the concurrent request id from the Concurrent Requests screen and use it in below query to find the location.

SELECT phase_code, status_code, description, completion_text, logfile_nameFROM fnd_concurrent_requestsWHERE request_id =&EnterRequestID;

If you do not have the access to this file , request your dba to provide the above log file. Provide the file version (Apps Check), log file and error messages for issues related to this.

b) Actual Cost Process

These steps are same in 11i and R12.

Navigation : Actual Costs-> Actual Cost Process

When a new request is submitted (screen name Start Actual Cost Process), note down the reference number. Once the request is completed go to the same Actual Cost Process screen and click on the Cancel button. It will show Actual Cost Process screen. Query for the reference number.

Process status can be found from the Menu ->Actions->Process Status.Error messages can be found from the Menu ->Actions->View Error messages

If the error messages are less use the Menu -> Export to get the error messages.

If there are more error messages please use the below query to get the error messages from the database using the reference number.

SELECT line_no, message_commentFROM cm_acer_msgWHERE acproc_id = &EnterRefNoORDER BY line_no;

Log file for the Actual Cost Process can be seen from Actual Cost Process screen by clicking on View Log button. Same log file can be seen from Concurrent request screen. Menu -> View Requests ->Find Requests -> Search for the Actual Cost Process Concurrent request. Click on the button View Log to get the log file.

If the log file is very large, note down the request id from the Requests screen and use it in below query to find the location.

SELECT phase_code, status_code, description, completion_text, logfile_nameFROM fnd_concurrent_requestsWHERE request_id =&EnterRequestID;

If you do not have the access to this file , request your dba to provide the above log file. Provide the file version (Apps Check), log file and error messages for issues related to this.

c) Lot Cost Process

These steps are same in 11i and R12.

Navigation : Lot Costs-> Lot Cost Process

If the issue is happening for a particular lot or item run the Lot cost process only for that so that we have less data.

When a new request is submitted (screen Lot Cost Process), note down the reference number. Process status can not be found from the same screen. It can be found only from the view requests screen. Also there is no view error messages for this process.

Log file for the Lot Cost Process can be seen from Concurrent request screen. Menu -> View Requests ->Find Requests -> Search for the Lot Cost Process Concurrent request. Click on the button View Log to get the log file.

If the log file is very large, note down the request id from the Requests screen and use it in below query to find the location.

SELECT phase_code, status_code, description, completion_text, logfile_nameFROM fnd_concurrent_requestsWHERE request_id =&EnterRequestID;

Please note that in case of lot costing unlike other requests there is no error message which can be found from Menu ->Actions- >View Error messages.

If you do not have the access to this file , request your dba to provide the above log file. Provide the file version (Apps Check) and log file for issues related to this.

d) Cost Update

11i Navigation : MAC-> Cost UpdateR12 Navigation : Cost Update

When a new request is submitted (screen name Start Cost Update Process), note down the reference number. Once the request is completed go to the same Cost Update screen and click on the Cancel button. It will show Cost Update Process screen. Query for the reference number.

Process status can be found from the Menu ->Actions->Process Status.Error messages can be found from the Menu ->Actions->View Error messages

If the error messages are less use the Menu -> Export to get the error messages.

If there are more error messages please use the below query to get the error messages from the database using the reference number.

SELECT line_no, message_commentFROM cm_cupd_msgWHERE cuproc_id = &EnterRefNoORDER BY line_no;

Log file for the Cost Update can be seen fromMenu -> View Requests ->Find Requests -> Search for the Cost Update Concurrent request. Click on the button View Log to get the log file.

If the log file is very large, note down the request id from the Requests screen and use it in below query to find the location.

SELECT phase_code, status_code, description, completion_text, logfile_nameFROM fnd_concurrent_requestsWHERE request_id =&EnterRequestID;

If you do not have the access to this file , request your dba to provide the above log file. Provide the file version (Apps Check), log file and error messages for issues related to this.

e) Test Subledger Update

This is available only in 11i Navigation : MAC-> Subledger Update -> Menu -> Actions ->Test Subledger Update

If the issue is happening for a particular source, run this process only for that source. If this is happening for a particular date restrict this using the Post Start Date and Post End Date. This helps to have the smallest data that replicates the issue.

When a new request is submitted (screen name Test Subsidiary Ledger Update ), note down the reference number. Once the request is completed go to the same Subsidiary Ledger Update screen and click on the Cancel button. It will show Subsidiary Ledger Update Process screen. Query for the reference number.

Process status can be found from the Menu ->Actions->Process Status.Error messages can be found from the Menu ->Actions->View Error messages

If the error messages are less use the Menu -> Export to get the error messages.

If there are more error messages please use the below query to get the error messages from the database using the reference number.SELECT line_no, message_text

FROM gl_mesg_tblWHERE reference_no = &EnterRefNoORDER BY line_no;

Log file for the Test Subledger can be seen from Concurrent request screen. Menu -> View Requests ->Find Requests -> Search for the Test Subledger Concurrent request. Click on the button View Log to get the log file.

If the log file is very large, note down the request id from the Requests screen and use it in below query to find the location.

SELECT phase_code, status_code, description, completion_text, logfile_nameFROM fnd_concurrent_requestsWHERE request_id =&EnterRequestID;

If you do not have the access to this file , request your dba to provide the above log file. Provide the file version (Apps Check), log file, report output if any and error messages for issues related to this.

f) Final Subledger Update Update

This is available only in 11i Navigation : MAC-> Subledger Update -> Menu -> Actions -> Subsidiary Ledger Update.

Please note that Final mode can be run only once. So please check if the same issue happens when the Test Subledger is run.

If the issue is happening for a particular source, run this process only for that source. If this is happening for a particular date restrict this using the Post Start Date and Post End Date. This helps to have the smallest data that replicates the issue.

When a new request is submitted (screen name Subsidiary Ledger Update ), note down the reference number. Once the request is completed go to the same Subsidiary Ledger Update screen and click on the Cancel button. It will show Subsidiary Ledger Update Process screen. Query for the reference number.

Process status can be found from the Menu ->Actions->Process Status.Error messages can be found from the Menu ->Actions->View Error messages

If the error messages are less use the Menu -> Export to get the error messages.

If there are more error messages please use the below query to get the error messages from the database using the reference number.

SELECT line_no, message_textFROM gl_mesg_tblWHERE reference_no = &EnterRefNoORDER BY line_no;

Log file for the Lot Cost Process can be seen from Concurrent request screen. Menu -> View Requests ->Find Requests -> Search for Final Subledger request. Click on the button View Log to get the log file.

If the log file is very large, note down the request id from the Requests screen and use it in below query to find the location.

SELECT phase_code, status_code, description, completion_text, logfile_nameFROM fnd_concurrent_requestsWHERE request_id =&EnterRequestID;

If you do not have the access to this file , request your dba to provide the above log file. Provide the file version (Apps Check), log file, report output if any and error messages for issues related to this.

g) Detailed Subledger Report

These steps are same in 11i and R12.

Navigation : Menu-> View Requests ->Submit New Request -> Detailed Subledger Report

Please note that reference number is taken from the Subledger update (11i) or fromOPM Accounting preprocessor (R12).

If this is happening for a particular date restrict this using the Start Date and End Date. This helps to have the smallest data that replicates the issue.

Log file for the Detailed Subledger Report can be seen from Concurrent request screen. Menu -> View Requests ->Find Requests -> Search for Detailed Subledger Report . Click on the button View Log to get the log file.

If the log file is very large, note down the request id from the Requests screen and use it in below query to find the location.

SELECT phase_code, status_code, description, completion_text, logfile_nameFROM fnd_concurrent_requestsWHERE request_id =&EnterRequestID;

If you do not have the access to this file , request your dba to provide the above log file. Provide the file version (Apps Check), log file and report output for issues related to this.

h) OPM Accounting Pre- Preprocessor

This is available only in R12Navigation : OPM Accounting Preprocessor

If the issue is happening for a particular source, run this process only for that source. If this is happening for a particular date restrict this using the Post Start Date and Post End Date. This helps to have the smallest data that replicates the issue.

When a new request is submitted (screen name Start OPM Accounting Preprocessor), note down the reference number. Once the request is completed go to the same OPM Accounting Preprocessor screen and click on the Cancel button. It will show Subsidiary Ledger Update Process screen. Query for the reference number.

Process status can be found from the Menu ->Actions->Process Status.Error messages can be found from the Menu ->Actions->View Error messages

If the error messages are less use the Menu -> Export to get the error messages.

If there are more error messages please use the below query to get the error messages from the database using the reference number.

SELECT line_no, message_textFROM gl_mesg_tblWHERE reference_no = &EnterRefNoORDER BY line_no;

Log file for the Test Subledger can be seen from OPM OPM Accounting Preprocessor screen or from the Concurrent request screen. Menu -> View Requests ->Find Requests -> Search for the Test Subledger Concurrent request. Click on the button View Log to get the log file.

If the log file is very large, note down the request id from the Requests screen and use it in below query to find the location.

SELECT phase_code, status_code, description, completion_text, logfile_nameFROM fnd_concurrent_requestsWHERE request_id =&EnterRequestID;

If you do not have the access to this file , request your dba to provide the above log file. Provide the file version (Apps Check), log file and error messages for issues related to this.

i) Create Accounting

This is available only in R12

Navigation : Menu-> View Requests ->Submit New Request -> Create Accounting

Please note that Final mode can be run only once. Make sure to run this in Draft mode and when everything works fine or when you are ready to run the Final run then only run the Create Accounting in Final Mode.

If the issue is happening for a particular process category(source), run this process only for that process category(source). If this is happening for a particular date restrict this using End Date. This helps to have the smallest data that replicates the issue.

GMF Debug Log mode has no effect on Create Accounting since this is part of SLA which is common for most of the Financial Modules. In order to enable the Debug we need to set FND profile values , run create accounting and run the sql query.

Profile valuesSLA: Enable Diagnostics : YesFND: Debug Log Enabled : Yes FND: Debug Log Filename: Blank FND: Debug Log Level: Statement FND: Debug Log Module: %

These profile values can be set from Menu -> Edit->Preferences ->Profiles->Personal Profile Values (Screen) . Query for %FND%Debug%.

If profile values can not be seen from menu check by logging with the responsibility of system administrator. Otherwise contact your system administrator.

Submit RequestRun the Create Accounting Program and note down the request id

Query Debug outputRun the below query in order to get the debug log and upload in excel format:

SELECT SUBSTR (module, 1, 70), message_text, timestamp, log_sequenceFROM fnd_log_messages msg, fnd_log_transaction_context tconWHERE msg.transaction_context_id = tcon.transaction_context_idAND tcon.transaction_id = &EnterRequestIDORDER BY log_sequence;

If you do not have the access to this file , request your dba to provide the above log file. Provide the file version (Apps Check), log file, report output and query output for issues related to this.

4.Enable Forms Trace

These steps are same in 11i and R12.Navigation : Menu -> Help ->Diagnostics -> Trace >Trace with Binds and Waits

When you enable the trace you can see a Note window which shows the location and file name. Note down this or take a screen shot.

This is needed if there is any APP-FND error messages or issues related to List of values or items is reported. Enable the trace just before the error message occurs andDisable the trace once the error message is displayed. Trace can be disabled byMenu-> Help ->Diagnostics -> Trace >No Trace

Location of trace files (always on the database server) can be found from below query:

SELECT *FROM v$parameterWHERE name = 'user_dump_dest';

The following alternative query shows the location and name of trace files relating to currently-running Applications sessions and processes:

SELECT DISTINCT par.value || '/' || LOWER(instance_name) || '_ora_' || spid || '.trc' "Trace file name" , par.value "Location"FROM v$instance i, v$process p, v$mystat m, v$session s, v$parameter par WHERE s.paddr = p.addr AND s.sid = m.sid AND par.name='user_dump_dest';

Performance Related issues

a) Tkprof and Trace If this trace is related to a performance issue please ask your dba to generate the tkprof file using below command.

tkprof sys=no explain=apps/ sort='(prsela,exeela,fchela)' print=10

b) Tables Analyzed

SELECT owner, MIN(last_analyzed), MAX(last_analyzed)FROM dba_tablesWHERE owner = 'GMF'GROUP BY owner ;

c) Current SQL that is being executed

SELECT r.request_id, sq.sql_text, ss.SID, ss.SERIAL# FROM fnd_concurrent_requests r, v$process p, v$session ss, V$SQLAREA sq ,sq.buffer_gets,ss.last_call_etWHERE r.request_id IN (&EnterRequestID)AND p.spid = r.oracle_process_id AND ss.paddr = p.addr AND sq.ADDRESS = ss.SQL_ADDRESS;

Run the above every 5 minutes or certain intervals based on how much time the total request takes. This way it is easy to find out which statement is taking time.

In some cases we may need to enable trace for the whole application session. Follow below note for the complete steps

Note 170223.1 Title: Trace 11i Bind Variables - Profile Option: Initialization SQL Statement - Custom

In some cases we may need to enable the trace for the user in order to capture all the SQL statements executed. Follow below note for the complete steps

Note 309798.1 How to Trace Specific Database Users to Collect Full DML Statements Executed

If you do not have the access to these files , request your dba to provide the above files. Provide the file version (Apps Check), trace file ,log file and screen shots for issues related to this. If this is related to performance issue provide the file version (Apps Check), trace file , log file , tkprof ,table analyzed output and Sql executed output.

5.Enable Reports/Concurrent Request Trace

These steps are same in 11i and R12.

Responsibility -> System Administrator ->Program ->Define - >Query for the Program name. Enable the checkbox for trace in the Request. And save the record.

Once the report is submitted and completed use the same responsibility and navigation path as above to deselect the checkbox. This will disable the trace.

Reports/Concurrent request trace location

SELECT fcr.request_id "Request ID" , fcp.user_concurrent_program_name "Program" , p1.value "Trace Directory" , '*' ||fcr.oracle_process_id ||'*.trc' "Trace File format" , fcp.language FROM fnd_concurrent_requests fcr , v$parameter p1 , fnd_concurrent_programs_tl fcp WHERE p1.name ='user_dump_dest' AND fcr.concurrent_program_id = fcp.concurrent_program_id AND fcr.program_application_id = fcp.application_id AND fcr.request_id=&EnterRequestID;

For example if trace_id = 123567 is returned, then in the user_dump_dest use the following to find the trace file

-ls -al *123567*

If this trace is related to a performance issue please perform the same steps mentioned in the Performance Related issues under Enable Forms Trace.

If you do not have the access to these files , request your dba to provide the above files. Provide the file version (Apps Check), trace file and log file for issues related to this. If this is related to performance issue provide the file version (Apps Check), trace file, tkprof,table analyzed and Sql executed.

Concurrent request time taken

select fcr.request_id request_id, fcp.concurrent_program_name conc_prog,fcpt.user_concurrent_program_name user_conc_prog, fcr.argument_text,fcr.actual_start_date start_date, fcr.actual_completion_date completion_date,round (fcr.actual_completion_date - fcr.actual_start_date, 5) aa,substr (numtodsinterval (( fcr.actual_completion_date- fcr.actual_start_d ate ), 'day' ), 12, 8 ) DURATION,fcr.status_code, fcr.completion_textfrom fnd_concurrent_programs fcp, fnd_concurrent_programs_tl fcpt,fnd_concurrent_requests fcrwhere fcr.concurrent_program_id = fcp.concurrent_program_idand fcr.program_application_id = fcp.application_idand fcr.concurrent_program_id = fcpt.concurrent_program_idand fcr.program_application_id = fcpt.application_idand fcp.concurrent_program_name = '&EnterShortname' --For example 'GMFACOST'and rownum < 100order by trunc ( ( (fcr.actual_completion_date - fcr.actual_start_date) / (1 / 24) ) * 60 ) desc;

Modify the above where condition to suit your needs.

6.Important Tables in 11i and R12

a) Important tables in 11i

IC_TRAN_PND: Inventory Transaction Table having pending and completed transactions. Transaction types( PORC, XFER, OMSO, PROD )

IC_TRAN_CMP: Inventory Transaction Table having completed transactions.Transaction types( CREI, ADJI, CRER, ADJR, TRNI, TRNR, PIPH )

IC_PERD_BAL: Inventory Table having ending balance, consumption, and yield for closed inventory periods.

IC_ITEM_MST_B : Item definition table having all information relating to an item, such as lot/sublot control, unit of measure information, and all class and type designations.

CM_CMPT_DTL: Item Cost Component Details table

CM_ACST_LED:-Stores all actual costing transactions

GL_ITEM_CST: Cost Details Header table used by Subledger Process.

GL_ITEM_DTL: Cost component detail information for the item.

GL_SUBR_TST: Subsidiary ledger test run work Table

GL_SUBR_LED: Actual Subledger Table or GL subsidiary ledger data

GL_SUBR_STA : Subsidiary ledger update state.

GL_MESG_TBL: Subledger Error Message Table

b) Important tables in R12

MTL_MATERIAL_TRANSACTIONS : Inventory Transaction table which stores a record of every material transaction or cost update performed in Inventory.

MTL_TRANSACTION_LOT_NUMBERS: Inventory table which stores lot number information for transactions in the MTL_MATERIAL_TRANSACTIONS table.

GMF_MATERIAL_LOT_COST_TXNS : Transaction history table for lot costs

MTL_SYSTEM_ITEMS: Item definition table having all information relating to an item, such as lot/sublot control, unit of measure information, and all class and type designations.

GMF_PERIOD_BALANCES : OPM Financials table having ending balance, consumption, and yield for closed inventory periods.

GL_ITEM_CST: Cost details header table used by Subledger Process.

GL_ITEM_DTL: Cost component detail information for the item.

GMF_PERIOD_STATUSES :OPM Financails table which stores the OPM Financials period status.

CM_MTHD_MST: table stores the cost methods defined

GMF_INCOMING_MATERIAL_LAYERS : Layer data for consumption transactions in case of actual cost.

GMF_LOT_COST_ADJUSTMENTS: Lot Cost Adjustments header table

GMF_XLA_EXTRACT_HEADERS: SLA Extract Headers table which stores transactions for process inventory organizations are processed and all the necessary data for accounting are stored in this table. When the SLA accounting program is run data from this table is extracted for creation of journal entries in SLA.

GMF_XLA_EXTRACT_LINES: SLA Extract Lines table which stores transactions for process inventory organizations are processed and all the necessary data for accounting are stored in this table. When the SLA accounting program is run data from this table is extracted for creation of journal entries in SLA.

RCV_TRANSACTIONS: stores historical information about receiving transactionsXLA_AE_HEADERS: SLA table stores subledger journal entries. There is a one-to-many relationship between accounting events and journal entry headers.

XLA_AE_LINES:SLA table stores the subledger journal entry lines. There is a one-to-many relationship between subledger journal entry headers and subledger journal entry lines.

XLA_DISTRIBUTION_LINKS: SLA table stores the link between transactions and Subledger journal entry lines.

7.Important Queries and filtering transaction related issues

Please make sure to provide the output in excel format with column headers . For multiple query outputs make sure to take each output in a separate worksheet.

These queries are same in 11i and R12

Invalid objects

SELECT object_name, object_type, owner, statusFROM all_objectsWHERE status = 'INVALID';

Application Instance name, Apps Level, Host Name, Version and database version

SELECT DISTINCT fat.application_name "Application", f.application_id,a.host_name, a.instance_name, a.instance_number,a.VERSION "Db Version", fpg.release_name "Apps Level", f.patch_level "Family Pack" FROM v$instance a, fnd_product_installations f, fnd_product_groups fpg,fnd_application_tl fatWHERE f.application_id = fat.application_id AND f.application_id IN (550, 551, 552, 553, 554, 555, 556, 709, -- for OPM -- related Products50, 0, 101, 178, 222, 401, 724, 722, 660, 201, 665, 200) ORDER BY 1;

a) Narrow down transaction related issues in 11iIdentify the TRANS_ID from material transactions Inquiry screen in Inventory or provide the ITEM_ID or BATCH_ID in order to narrow down the data

Trans_id can be found from Opm Inventory Responsibility under the transaction inquiryItem_id can be found using below query

select item_id from ic_item_mst where item_no = '&EnterItemNo';

Batch_id can be found from below query

select * from gme_batch_header where batch_no ='&EnterBatchno';

select * from ic_tran_pnd where trans_id in (&EnterTransID);or select * from ic_tran_pnd where item_id in (&EnterItemID);or select * from ic_tran_pnd where item_id in (&EnterBatchID);or select itp.* from ic_tran_pnd itp, ic_item_mst iim where itp.item_id = iim.item_id and item_no in ('&EnterItemNo');select * from ic_tran_cmp where trans_id in (&EnterTransID);or select * from ic_tran_cmp where item_id in (&EnterItemID); or select itp.* from ic_tran_cmp itc, ic_item_mst iimwhere itc.item_id = iim.item_id and item_no in ('&EnterItemNo');

select * from cm_mthd_mst where cost_mthd_code = '&EnterCostMethod';select * from cm_acst_led where item_id in (&EnterItemID);select * from cm_brdn_dtl where item_id= &EnterItemID;select cmp.* from cm_cmpt_mst cmp, cm_cmpt_dtl cwhere cmp.cost_cmpntcls_id = c.cost_cmpntcls_id and c.calendar_code = '&Entercost_calendar_code' and c.period_code = '&Entercost_period_code' and c.cost_mthd_code = '&Entercost_mthd_code' ;select * from cm_cmpt_dtlwhere calendar_code = '&Entercost_calendar_code' and period_code = '&Entercost_period_code' and cost_mthd_code = '&Entercost_mthd_code' ;

select * from cm_cldr_hdr awhere a.calendar_code= '&entercost_calendar_code'

select * from cm_cldr_dtl where calendar_code = '&Entercost_calendar_code' and period_code = '&Entercost_period_code'

select * from perd_bal where fiscal_year = &EnterFiscalYear and period = &EnterPeriod;

select * from gl_item_cst where calendar_code = '&Entercost_calendar_code' and period_code = '&Entercost_period_code' and cost_mthd_code = '&Entercost_mthd_code' ;or select * from gl_item_cstwhere item_id in (&EnterItemID);

select * from gl_item_dtlwhere itemcost_id in ( select itemcost_id from gl_item_cstwhere calendar_code = '&Entercost_calendar_code' and period_code = '&Entercost_period_code' and cost_mthd_code = '&Entercost_mthd_code' );or select * from gl_item_dtl where itemcost_id in ( select itemcost_id from gl_item_cstWHERE item_id in (&EnterItemID ) );select * from gme_material_detailswhere batch_id = &enterbatchid;

select * from gl_subr_led where reference_no=&EnterReferenceNo; or select * from gl_subr_led where doc_id = &EnterBatchID and doc_type='PROD'

select * from gl_subr_tst reference_no=&EnterReferenceNo;or select * from gl_subr_tst where doc_id = &EnterBatchID and doc_type='PROD'

select * from gl_subr_sta where reference_no=&enterreferenceno;or select * from gl_subr_sta where doc_id = &EnterBatchID and doc_type='PROD'

b) Narrow down transaction related issues in R12

Identify the TRANSACTION_ID from material transactions Inquiry screen in Inventory or provide the INVENTORY_ITEM_ID or BATCH_ID in order to narrow down the data

Transaction_id can be found from Opm Inventory Responsibility under the transaction inquiry.

Inventory_Item_id can be found using below query

select distinct inventory_item_id from mtl_system_items where segment1 like '%EnterItemName%' ;

Batch_id can be found from below query

select * from gme_batch_header where batch_no = &EnterBatchno ;Enter the transaction dates or the item number and find out the transaction_id

select msi.segment1 itemno, mmt.inventory_item_id, mmt.transaction_id,mmt.transaction_date, mmt.creation_date, sysdatefrom mtl_material_transactions mmt, mtl_system_items msiwhere mmt.inventory_item_id = msi.inventory_item_idand mmt.transaction_date between '&EnterFromDate' and '&EnterToDate'or msi.segment1 = '&EnterItemNo';

select * from mtl_material_transactions mmtwhere mmt.transaction_id in (&EnterTransactionID);or select mmt.* from mtl_material_transactions mmt, mtl_system_items msiwhere mmt.inventory_item_id = msi.inventory_item_idand mmt.transaction_date between '&EnterFromDate' and '&EnterToDate'or msi.segment1 = '&EnterItemNo';or select * from mtl_material_transactions mmtwhere mmt.transaction_batch_id in (&EnterBatchID);

select * from mtl_transaction_lot_numbers mtlnwhere mtln.transaction_id in (&EnterTransactionID);

OPM Preprocessor Data

Run Accounting Preprocessor only for a particular source and small date range to include transaction. This way we have the smallest data that replicates the issue. Reference number is the number obtained while running OPM preprocessor.

a)

select * from gmf_xla_extract_headers where reference_no = '&EnterReference_no'and transaction_id in ( &EnterTransaction id)

b)

select * from gmf_xla_extract_lineswhere header_id in ( select header_id from gmf_xla_extract_headers where reference_no = '&reference_no' and transaction_id in ( &EnterTransaction id) );

c)

select line_no,message_text from gl_mesg_tbl where (reference_no='&reference_no') Order by line_no;

d ) If this issue is related with Inter org transfer or receiving transaction

select * from rcv_transactions where transaction_id in (select rcv_transaction_id from mtl_material_transactions where transaction_id in (&transaction id));

Also provide the debug log output file from the OPM preprocessor.

Create Accounting Data

SLA Events

select dl.* from xla_events dl, gmf_xla_extract_headers gehwhere dl.event_id = geh.event_idand dl.application_id = 555and geh.entity_code = '&EnterEntity' --For Example INVENTORYand geh.transaction_date