Featured post

General Ledger Revaluation

General Ledger Revaluation Account balances denominated in foreign currencies are adjusted through the revaluation procedure. Revaluat...

Showing posts with label GL Technical. Show all posts
Showing posts with label GL Technical. Show all posts

Sunday, 6 February 2022

Value Sets: Related Tables and Query to Fetch the Details

Value Sets are used in Oracle to define a limited sets of values for a particular field. There are 3 main tables in Oracle Fusion to fetch the values assigned to a value set. Here is a brief description of them:


1. FND_VS_VALUE_SETS: Table to hold the value set information ( Header level data).


2. FND_VS_VALUES_B: Table to hold the values of the value set.


3. FND_VS_VALUES_TL: Table to hold the description of the values.


Now let’s cut to the chase and see the query. Pretty simple it is:

select 

vsval.VALUE_ID,

vsval.VALUE_SET_ID,

vsval.VALUE,

vsval.description,

vt.description,

vsval.flex_value_attribute3,

vsval.CREATION_DATE,

vsval.CREATED_BY,

vsval.LAST_UPDATE_DATE,

vsval.LAST_UPDATED_BY


from  

fnd_vs_value_sets vset,

fnd_vs_values_vl vsval,

FND_VS_VALUES_TL vt

where 

1=1

and vset.value_set_id = vsval.value_set_id

and vsval.CREATION_DATE >= (:pcreationdate) and  vsval.CREATION_DATE <= (:pEnddate) 

and vset.VALUE_SET_CODE = 'Project CCC COA'

AND vt.value_id = vsval.value_id

and vt.language = 'AR'

order by vsval.value

Sunday, 29 August 2021

Document sequence tables in oracle apps


In this post , We will discuss about Document sequence tables in oracle apps. Document sequence helps to assign the number to Oracle transactions which occurs more than once, by numbering them you can identify the order of its generation. It acts like a chain and if a number goes missing, the link is broken and you can see that there was a deletion or removal of the transaction. Document sequence tables in oracle apps stores the unique sequence for each transaction based on the category and then after that, system refer that sequence number for generating numbers for that category transactions. In general business practice we create the document sequences for each transaction every year for audit point of view. Here below I will share the detail description of Document sequence tables in oracle apps.


 Document sequence tables in oracle apps

FND_DOCUMENT_SEQUENCES


FND_DOC_SEQUENCE_ASSIGNMENTS


FND_DOC_SEQUENCE_ASSIGNMENTS

Monday, 28 June 2021

GL_BALANCES

 

GL_BALANCES

  1. Summary

GL_BALANCES contains actual, budget, and encumbrance balances for detail and summary accounts.

This table stores ledger currency, foreign currency, and statistical balances for each accounting period that has ever been opened.

ACTUAL_FLAG is either ‘A’, ‘B’, or ‘E’ for actual, budget, or encumbrance balances, respectively. If ACTUAL_FLAG is ‘E’, then ENCUMBRANCE_TYPE_ID is required.

  1. Balances Calculations

GL_BALANCES stores period activity for an account in the PERIOD_NET_DR and PERIOD_NET_CR columns.

 The table stores the period beginning balances in BEGIN_BALANCE_DR and BEGIN_BALANCE_CR.

An account’s year-to-date balance is calculated as BEGIN_BALANCE_DR – BEGIN_BALANCE_CR + PERIOD_NET_DR – PERIOD_NET_CR.

Example

decode(map.account_type,’Asset’,greatest(sum(period1.begin_balance_dr + period1.period_net_dr)-sum(period1.begin_balance_cr + period1.period_net_cr),0),’Liability’,(greatest(sum(period1.begin_balance_dr + period1.period_net_dr)-sum(period1.begin_balance_cr + period1.period_net_cr),0)),q'[Ownership/Stockholder’s Equity]’,(greatest(sum(period1.begin_balance_dr + period1.period_net_dr)-sum(period1.begin_balance_cr + period1.period_net_cr),0)),null) “Ledger Debit Amount”,

decode(map.account_type,’Asset’,greatest(sum(period1.begin_balance_cr + period1.period_net_cr)-sum(period1.begin_balance_dr + period1.period_net_dr),0),’Liability’,(greatest(sum(period1.begin_balance_cr + period1.period_net_cr)-sum(period1.begin_balance_dr + period1.period_net_dr),0)),q'[Ownership/Stockholder’s Equity]’,(greatest(sum(period1.begin_balance_cr + period1.period_net_cr)-sum(period1.begin_balance_dr + period1.period_net_dr),0)),null) “Ledger Credit Amount”,

  1. Foreign Currency Transactions or Journals

Detail and summary foreign currency balances that are the result of posted foreign currency journal entries have TRANSLATED_FLAG set to ‘R’, to indicate that the row is a candidate for revaluation.

For foreign currency rows, the begin balance and period net columns contain the foreign currency balance, while the begin balance and period net (_BEQ) columns contain the converted ledger currency balance.

Summary foreign currency balances that are the result of foreign currency translation have TRANSLATED_FLAG set to NULL. All summary account balances have TEMPLATE_ID not NULL.

Example

For US Company whose functional currency is USD, and if transaction (AP Invoice) is entered is in INR. Here entered Dr and Entered Cr are in INR and Accounted Dr and Cr is in USD.  (Context is for Liability account)

In GL Balances there will be two rows for this liability account, one for currency INR and other for currency USD.

A row with INR (Foreign Currency) will have TRANSLATED_FLAG set to ‘R’. For foreign currency (INR) rows, the begin balance and period net columns contain the foreign currency balance, while the begin balance and period net (_BEQ) columns contain the converted ledger currency balance (USD).

A row with USD (Functional Currency) will have TRANSLATED_FLAG set to NULL

  1. Foreign Currency Translation

Detail foreign currency balances that are the result of foreign currency translation have TRANSLATED_FLAG set to ‘Y’ or ‘N’. ‘N’ indicates that the translation is out of date (i.e., the account needs to be re-translated). ‘Y’ indicates that the translation is current.

Summary foreign currency balances that are the result of foreign currency translation have TRANSLATED_FLAG set to NULL. All summary account balances have TEMPLATE_ID not NULL.

The columns that end in _ADB are not used. Also, the REVALUATION_STATUS column is not used.

Friday, 21 May 2021

What is FlexField Value Set Security Oracle Apps R12.2 (EBS)

 What is FlexField Value Set Security

• FlexField Value Set Security is on the definition or setup side of Value Set Values

• This is the ability to restrict who can view, add or update Value Set Values

• Specifically who can use the Segment Values form (FNDFFMSV) for which specific Value

Sets

• This functionality started in R12.2.2



Quick Simple Fix

• There is a way to get back to the pre-R12.2 functionality quickly

• This is a slam dunk approach, it does not take advantage of the new functionality, but it gets you back in business

quickly with the old functionality

• This quick fix can be undone later when you are ready to tackle this properly

Steps

1) Need to login as SYSADMIN

2) Select the "User Management" responsibility

3) Navigate to "User”

4) Find the particular user then click on update icon

5) Click on "Assign Role”

6) Select "Role" as search by and enter value as "Flexfield Value Set Security: All privileges”

Or

Select "Code" as search by and enter value as"UMX|FND_FLEX_VSET_ALL_PRIVS_ROLE"

7) Select the role from result

8) Enter a justification text.

9) Click on "Apply”

10) Clear the cache from functional administrator responsibility if required.

Tuesday, 17 November 2020

gl_je_lines l, gl_je_headers h, gl_je_batches b, gl_code_combinations g

 select  b.je_batch_id batch_id ,

        h.je_header_id header_id ,
        l.je_line_num line ,
        l.code_combination_id ccid ,
        g.segment1 || '.' || g.segment2 || '.' || g.segment3 ||
        '.' || g.segment4 || '.' || g.segment5 || '.' || g.segment6 ||
        '.' || g.segment7 || '.' || g.segment8 || '.' || g.segment9 ||
        '.' || g.segment10 combination ,
        l.entered_dr entered_dr,
        l.entered_cr entered_cr,
        l.accounted_dr accounted_dr,
        l.accounted_cr accounted_cr,
        l.status
from    gl_je_lines l,
        gl_je_headers h,
        gl_je_batches b,
        gl_code_combinations g
where   b.je_batch_id = h.je_batch_id
        and h.je_header_id = &je_header_id
        and l.je_header_id = h.je_header_id
        and h.je_batch_id = b.je_batch_id
        and l.code_combination_id = g.code_combination_id
order by h.je_header_id, l.je_line_num;

Tuesday, 21 May 2019

Mapping between GL and XLA tables



Mapping between GL and XLA tables


Assumption is
GL Entry Summarization: Summarize (By GL Date or Period)
JLT – Transfer to GL: Detail
Expected behavior is: Summarize Entries at GL_JE_HEADERS and detail at GL_JE_LINES
Refer to following post as how this is determine
  1. Relation between GL_JE_BATCHES and XLA_AE_HEADERS
A.1) Group_id column subledger(XLA_AE_HEADER) mapped group_id
  1. Gl_je_batches.group_id => xla_ae_headers.group_id
  2. 1 group id will have many xla_ae_headers rows
  3. 1 group id will have 1 or many periods in xla_ae_headers
  4. 1 group id will have 1 or many ledger id in xla_ae_headers
  5. Ideally there shouldn’t be any rows in xla_ae_headers with null group_id
  6. 1 group id and 1 period(GL Period) in xla_ae_headers will make 1 batch in GL_JE_BATCH
  7. Since 1 group id in xla ae headers can have multiple periods so 1 group id in xla_ae_headers can have multiple batches in gl_je_batches
A.2) Group_id column in GL_JE_BATCHES that does NOT mapped to subledger (XLA_AE_HEADER) group_id
  1. 1 group id will have multiple GL batches or je_batch_id
  2. Ideally 1 group id and 1 period will make 1 journal batch but since mostly these are manual journal batches created through spreadsheet tool (Web ADI) here 1 group id, 1 period and 1 batch name in spreadsheet uploader will make one batch in GL_JE_BATCHES.
  3. Group_id in GL_JE_BATCHES could be null for manually created batched through front end, please not these manually created journals are different from spreadsheet uploaded manual journals.
  1. Relation between GL_JE_HEADERS with XLA_AE_HEADERS and XLA_AE_LINES
  1. Here XLA_AE_HEADERS and XLA_AE_LINES will together create GL_JE_HEADER record.
  2. XLA_AE_HEADERS and XLA_AE_LINES will be summarize as follows to create journal header or 1 row in GL_JE_HEADER
Source => either from XLA_AE_HEADERS or XLA_AE_LINES
Category=> Category from XLA_AE_HEADERS (Please note AP and GL category are not same)
Ledger=> either from XLA_AE_HEADERS or XLA_AE_LINES
Period=> Period from XLA_AE_HEADERS
Currency=> Currency_Code from XLA_AE_LINES
  1. Relation between GL_JE_LINES with XLA_AE_HEADERS and XLA_AE_LINES
  1. Here XLA_AE_HEADERS and XLA_AE_LINES will together create lines in GL_JE_LINES table.
  2. XLA_AE_HEADERS and XLA_AE_LINES will be summarize as follows to create journal line or 1 row in GL_JE_LINES
Ledger=> either from XLA_AE_HEADERS or XLA_AE_LINES
Period=> Period from XLA_AE_HEADERS
GL Code => code_combination_id from XLA_AE_LINES
Entered_Dr=> Entered_Dr from XLA_AE_LINES
Entered_Cr=> Entered_Cr from XLA_AE_LINES
Accounted_Dr=> Entered_Dr from XLA_AE_LINES
Accounted_Cr=> Entered_Cr from XLA_AE_LINES
Description=> may match to description from XLA_AE_LINES if it is detailed je line type, if it is summarize then it may not match.
  1. The Link between GL to SLA and reference columns in GL_IMPORT_REFERENCES
Please refer to following post for these details.