We can use if condition directly by writing <?IF?> condition <?END IF?>
<?xdofx:if element_condition then result1 else result2 end if?>
else
if INVOICE_AMOUNT <3000 then ’Lower’
else
’Equal’
end if?>
Syntax:
<?xdoxslt:ifelse(condition,true,false)?>
Example:
Ans: No 20 and 21 are not equal
Using OR Condition in XML RTF Template:
<?if:XMLfield=value1 or XMLfield=value2?> display value <?end if?>
Example:
<?if:sum(AVALUE)=0 or sum(BVALUE)=0?>0<?end if?>
Prior to this enhancement, the value of goods shipped from inventory were expensed to COGS upon ship confirm, despite the fact that revenue may not yet have been earned on that shipment. With this enhancement, the value of goods shipped from inventory will be put in a Deferred COGS account. As percentages of Revenue are recognized, a matching percentage of the value of goods shipped from inventory will be moved from the Deferred COGS account to the COGS account, thus synchronizing
the recognition of revenue and COGS in accordance with the recommendations of generally accepted accounting principles.
The Matching Principle is a fundamental accounting directive that mandates that revenue and its associated cost of goods sold must be recognized in the same accounting period. This enhancement will automate the matching of Cost of Goods Sold (COGS) for a sales order line to the revenue that is billed for that sales order line.
The deferral of COGS applies to sales orders of both non-configurable and configurable items (Pick-To-Order and Assemble-To-Order). It applies to sales orders from the customer facing operating units in the case of drop shipments when the new accounting flow introduced in 11.5.10 is used. And finally, it also applies to RMAs that references a sales order whose COGS was deferred. Such RMAs will be accounted using the original sales order cost in such a way that it will maintain the latest known COGS recognition percentage. If RMAs are tied to a sales order, RMAs will be accounted for such that the distribution of credits between deferred COGS and actual COGS will maintain the existing proportion that Costing is aware of. If RMAs are not tied to a sales order, there is no deferred COGS.
Inventory — Setup — Organization — Parameters — Other Accounts
A new account is added which is referred as the Deferred COGS accounts.
NEW ACCOUNTING :
Release 12 :
When a Sales order is shipped the following accounting takes place:
Inventory Valuation Account : Credit.
Deferred COGS account : Debit
Once the revenue is recognised, you would need to decide the percentage you wish to recognize the Revenue. A COGS recognition transaction will be created to reflect a change in the revenue recognition percentage for a sales order line.
The steps to generate such transactions are as follows:
1. Run the Collect Revenue Recognition Information program. This program will collect the change in revenue recognition percentage based on AR events within the user specified date range.
2. Run the Generate COGS Recognition Events. This program will create the COGS recognition transaction for each sales order line where there is a mismatch between the latest revenue recognition percentage and the current COGS recognition percentage.
Note that users can choose how often they want to create the COGS Recognition Events.
Navigation to run the COGS recognition request :
– Cost > COGS Recognition > Collect Revenue Recognition Information
– Cost > COGS Recognition > Generate COGS Recognition Events
– Cost > View Transactions > Material Transactions
The distribution for the COGS Recognition transaction associated with the Sales Order transaction now would be as follows:
Deferred COGS : Debit revenue percentage
COGS : Credit (Actual revenue percentage )
Thus, essentially the recognized COGS balance is to move the value from Deferred COGS to COGS.
This particular COGS recognition transaction actually correspond to a revenue recognition percentage change.
You can view the transactions as :
Navigation:
– Cost > View Transactions > Material Transactions > Distributions
A new COGS Revenue Matching Report shows the revenue and COGS information of sales order that fall within the user specified date range by sales order line
SIMPLER TERMS ( Table level details ) :
Once the whole cycle is complete we will have 2 transactions lines in mtl_material_transactions.
1. Sales Order
2. COGS Recognition transaction
Accounting will be in mtl_transaction_accounts and the Subledger accounting tables as follows:
Transaction 1:
Inventory Valuation Account : Credit. (item_cost)
Deferred COGS account : Debit (item_cost)
Deferred COGS : Credit (Actual revenue percentage)
COGS : Debit (Actual revenue percentage )
Ans) No.
Once a segment qualifier has been designated for a specific segment and has been saved, it will permanently have the attributes with that qualifier.
For example, you accidentally designate the cost center segment as the natural account segment. Even though you do not compile this, the system saves the changes. And once it has been saved, it will have all the attributes designated for the natural account qualifier, even after it has been changed back, resaved with the correct qualifier and compiled. This is the inherent functionality of the software.
Unfortunately, there is no real easy solution for this issue. The only option is to create a new chart of accounts and attach a new set of books.
2) How to delete a segment value?
Ans) There is no supported way to delete a segment value. Segment values can only be disabled not deleted.
3) Is there a way to load values for a specific segment outside of the form?
Ans) iSetup is the Oracle product that provides supported APIs to load values into Oracle Applications flexfields.
To load code combinations ADI may be used. Uploading zero amount journals will create new code combinations.
In this case Dynamic Insertion should be enabled and all account segment values need to exist before the new account code combinations will be dynamically created.
4) What are the different types of Journals in General Ledger ?
Ans)
2. Foreign Currency Jv: this Journal, we enter other than local currency transaction purpose…before we define exchange rates
3.Suspense Jv: this Journal, whenever debit is not equal to credit that time, we enable in set of books window Suspense button, then it works otherwise it’s not working
4.Tax Jv: this Journal, calculate taxation of Purchased items
5.Reverse Jv: this Journal whenever we enter recurring journal, at the time of we using..We have two methods…one is Debit to Credit and second one is sign (+ to -)
6.Recurring Jv :this one is We define one template, we use Periodically, these are 3 types
1.Standard 2.Skeleton 3.Formula
7.Mass Allocation Jv :Set of Expenses or Set of Revenue allocate different parts using Formula A*B/C
A is Total Cost Pool..B is Usage Factor…C is Total Usage Factor…
8. Batch JV: Group of Journal we enter at a time, We Define Control Amount
9. Stat JV: This JV we have one side of Amount either debit or Credit…..
Ans) Summary of key facts:
1. Common COA Structure used for Primary and Secondary Ledgers
2. Ledger shared by Multiple Legal Entities
3. Specific Balancing Segment Values assigned to Specific Legal Entity (Overlap not allowed)
4. Specific Legal Entity Vision Operations Assigned to Payables Manager OU for Legal Entity Context
5. User preference set to Access Vision Operations OU by Default in Payables
Conclusion and Findings:
1. Balancing Segment Value Assignment to the Multiple Legal Entities, sharing the same Ledger does not seem to restrict the user of these Balancing Segment Values in the Feeder, Operating Unit specific Modules Like AP, wherein Legal Entity Context is passed to the OU through the link of the Primary Ledger.
2. However, access to these Balancing Segment Values could be controlled through Security Rules being assigned to the Value Set and the Respective Responsibility
3. The Key question is: If Legal Entity having the context to the Operating Unit that shares the common Ledger does not have assignment to it, what impact it has on the integrity of data when this access is otherwise allowed, except through Security Rules?
GL_DAILY_RATES_INTERFACE
GL_IEA_INTERFACE
GL_INTERFACE
GL_INTERFACE_CONTROL
GL_INTERFACE_HISTORY
Question: Oh good, but can these new fields be added without modifying/customization of the screen?.
Answer: Yes, certainly. Only some setup is needed, but no programmatic change is needed to setup DFF.
Question: Why the word Descriptive in Name DFF?
Answer: I think Oracle used this terminology because by means of setup…you are describing the structure of these new fields. Or may be Oracle simply used a silly word to distinguish DFF from KFF(discussed in latter training lesson).
Question: Are these DFF’s flexible?
Answer: A little flexible, for example, depending upon the value in a field, we can make either Field1 or Field2 to appear in DFF.
Question: So we create new fields in existing screen, but why the need of doing so?
Answer: Oracle delivers a standard set of fields for each screen, but different customers have different needs, hence Oracle lets us create new fields to the screen.
Question: Are these new fields that get created as a result of DFF free text?
I mean, can end user enter any junk into the new fields that are added via DFF?
Answer: If you attach a value set to the field(at time of setup of dff), then field will no longer be free text. The entered value in the field will be validated, also a list of valid values will be provided in LOV.
Question : Will the values that get entered by the user in dff fields be updated to database?
Answer: Indeed, this happens because for each field that you create using DFF will be mapped to a column in Oracle Applications.
Question: Can I create a DFF on any database column?
Answer: Not really. Oracle delivers a predefined list of columns for each table that are meant for DFF usage. Only those columns can be mapped to DFF segments. These columns are named similar to ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3 ETC. Usually Oracle provides upto 15 columns, but this number can vary.
Question: Can I add hundreds of fields to a given screen?
Answer: This depends on the number of attribute columns in the table that screen uses. Also, those columns must be flagged as DFF enabled in DFF Registration screen. Don’t need to worry much about this because all the ATTRIBUTE columns are by default flagged for their DFF usage.
Question: Hmmm, I can see that DFFs are related to table and columns…
Answer: Yes correct. Each DFF is mapped to one table. And also each segment(or call it field) is mapped to one of the attribute columns in that table.
Question: I want these fields to appear in screen only when certain conditions are met. Is it possible?
Answer: Yes, we have something known as Context Sensitive Descriptive Flexfields.
In Order to do this, we will follow the below steps(screenshots will follow) :-
1. Navigate to the DFF Registration screen in Oracle Apps and query on Table AP_BANK_BRANCES. Now click on Reference Field
2. Navigate to DFF Segments screen and query on the Title of the “Bank Branch” and Unfreeze the Flexfield and add segments as to Section “GLOBAL Data Elements” as shown in screenshots.
The tables populated during journal Import are
GL_JE_BATCHES,
GL_JE_HEADERS,
GL_JE_LINES,
GL_IMPORT_REFERENCES
14) What is the use of GL_Interface?
Ans) Gl_Interface is the primary interface table of General ledger. It acts as an interface between data originating from other modules such as AP,AR, Legacy data and the Gl Base tables.
15) What is Actual Flag?
Ans) Actual flag represents the Journal type.
A-Actual
B-Budget
E- Encumbrance.
16) What is Encumbrance?
Ans) It is a process of Reservation of funds for anticipated expenditure from a budget. Encumbrance integrates GL, Purchasing and Payables modules.
17) How many Key Flex Fields are there in General Ledger?
Ans) One. Accounting Key Flex Field.
18) How many types of Budgets are there?
Ans) Two Types.
Expenditure Budgets
Revenue Budgets.
19)What are Spot Rate, Corporate Rate, Transaction Calendar and Accounting Calendar?
Ans) Spot Rate:
An exchange rate which you enter to perform conversion based on the rate on a specific date. It applies to the immediate delivery of currency.
Corporate Rate:
An Exchange rate that we define to standardize rates for our company. This rate is the standard market rate determined by the senior financial management for use through out the organization.
User Rate:
Conversion rate that is defined by the user.
EMU Fixed Rate: An exchange rate that is provided automatically by the General Ledger while entering journals. It uses a foreign currency that has a fixed relationship with the euro.
Transaction Calendar: Defines the business days and holidays for any calendar.
Accounting Calendar: Defines different types of calendars namely Fiscal, Federal Fiscal, Month etc.
20)What is Security Rule?
Ans) Security Rules are defined to control the access of a flexfield segment value (Financial information) at a responsibility level.
21) What are Cross Validation & ADI?
Ans) CVS – Cross validate segments – Allows only valid code combinations.
ADI – Allow dynamic inserts. – Allows any code combination irrespective of validity.
ADI would prevail if both of CVS and ADI are checked.
22)What is Translation?
Ans) Translation is a process used to convert functional currency to other reporting currencies at the account balances level.
23)What is Revaluation?
Ans) It is process used to revalue assets and liabilities denominated in foreign currency into functional currency based on period end exchange rate we specify. Unrealized gains/losses are resulted because of exchange rate fluctuations which are recorded in unrealized gain/loss account in GL.
24)What is FSG (Financial Statement Generator)?
Ans) Financial statement generator feature helps us to generate reports such as balance sheets and income statements with out programming. It also provides a high degree of control on the rows, columns, contents and calculations on the report. Different components such as row set, column set, content set, row order, display set have to be defined before a statement is generated, of which row set and column set are mandatory.
25) What is Consolidation?
Ans) Consolidation is a period-end process of combining the financial results of separate business subsidiaries with the parent company to form a single combined statement of financial results.
26) At what level General Ledger data is secured?
Ans) GL data is secured at Set of Book level. Subledger module data is secured at Responsibility level (i.e., at Operating Unit Level).
27) Difference between Primary Ledger and Secondary Ledger in R12 ?
Ans) Primary ledger:
The primary ledger acts as the primary accounting representation
Secondary Leger:
Secondary ledgers represent the primary ledger’s accounting data in another accounting representation that differs in one or more of the following ways:
chart of accounts
accounting calendar/period type combination
currency
subledger accounting method
ledger processing options
Use secondary ledgers for supplementary purposes, such as consolidation, statutory reporting, or adjustments for one or more legal entities within the same accounting setup. For example, use a primary ledger for corporate accounting purposes that uses the corporate chart of accounts and subledger accounting method, and use a secondary ledger for statutory reporting purposes that uses the statutory chart of accounts and subledger accounting method. This allows you to maintain both a corporate and statutory representation of the same legal entity’s transactions in parallel.
Assign one or more secondary ledgers to each primary ledger for an accounting setup.
The secondary ledgers assigned can only perform the accounting for the legal entities within the same accounting setup.
Step 1: Create a FK Column
Step 2: Create a Flexfield hidden item
Step 3: Create a Flexfield display item
Step 4: Create the Flexfield definition
procedure initialize is cursor get_cao is select to_char(id_flex_num) from fnd_id_flex_structures where id_flex_structure_code = ‘ACCOUNTING_FLEXFIELD’ and id_flex_code = ‘GL#’; v_cao varchar2(1000); begin open get_cao; fetch get_cao into v_cao; if get_cao%notfound then v_cao := ‘101’; end if; close get_cao; app_standard.event(‘WHEN-NEW-FORM-INSTANCE’); fnd_key_flex.define( BLOCK=>’COMBO’, FIELD=>’ACCOUNT_FLEXFIELD’, APPL_SHORT_NAME=>’SQLGL’, CODE=>’GL#’, NUM=>v_cao, ID=>’CODE_COMBINATION_ID’, DESCRIPTION=>”, TITLE=>’____ Your nice user friendly title here _____’, VALIDATE=>’FULL’, QBE_IN=>’Y’, DERIVE_ALWAYS=>’Y’, updateable => ”, VRULE=>’\nSUMMARY_FLAG\nI\nAPPL=SQLGL;NAME=GL_NO_PARENT_SEGMENT_ALLOWED\nN’, where_clause => ‘summary_flag != ”Y”’, QUERY_SECURITY =>’Y’); end initialize;
Step 5: Code several event triggers
- WHEN-VALIDATE-ITEM
- WHEN-NEW-ITEM-INSTANCE
- POST-QUERY
- PRE-QUERY
- KEY-LISTVAL
Listing B: Event programming for the Flexfields.
WHEN-VALIDATE-ITEM if ( :system.mode = ‘NORMAL’ ) then fnd_flex.event( ‘WHEN-VALIDATE-ITEM’ ); end if;WHEN-NEW-ITEM-INSTANCE app_standard.event(‘WHEN-NEW-ITEM-INSTANCE’); fnd_flex.event(‘WHEN-NEW-ITEM-INSTANCE’ );POST-QUERY–Loads the flexfields (in our case, it populates–the concatenated field on execute query). FND_FLEX.EVENT(‘POST-QUERY’);PRE-QUERY–If you don’t do this, whatever query criteria you may enter in— the concatenated flex field, it is not taken into account. FND_FLEX.EVENT(‘PRE-QUERY’ );KEY-LISTVAL APP_STANDARD.EVENT(‘KEY-LISTVAL’); FND_FLEX.EVENT(‘KEY-LISTVAL’ );
Latest Posts
- R12 – How to Handle NULL for :$FLEX$.VALUE_SET_NAME In Oracle ERPAugust 25, 2023 - 1:20 pm
- R12 – How to Delete Oracle AR TransactionsMarch 22, 2019 - 8:37 pm
- How to Define Custom Key Flexfield (KFF) in R12January 19, 2018 - 5:43 pm
- AutoLock Box Concepts In R12November 10, 2017 - 8:30 am
- R12 – java.sql.SQLException: Invalid column type in OAFSeptember 15, 2017 - 9:39 am
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Recent Comments