Sunday, September 03, 2017

3 C's in Oracle Fin. Setup


1st C--> Chart of Accounts (CoA)--.
Defined for Accounting Entries --> Represent by Code Combinations

CoA is a solution to record the financial transactions securely based on the segments.

It is a combination of different segments based on the company's discretion. Generally 6-8 segments are used to define a CoA Set up. 
 Maximum limits of segments can be reach up to 30 Segments.



2nd C--> Currency ---> 
No need to define currency , already all the currencies are defined in system, but we need have to just enable it through Currency Window.

We can enable Multicurrency Feature in case of Global Organizations, like if primary currency is INR and Customer is paying in USD, then we can enter the amount in USD while punching the invoice , but the final reporting currency will be INR only.


3rd C--> Calendar--> 
Its defined to setup the Fiscal and Current Year and the periods and Dates in FY and CYs.

We Generally Define Number of periods in a year as 13. (12+1 Adjustment Period)
Adjustment period is define when in case all the 12 periods are closed for a particular year and we are in new year and by any chance we have to record a transaction in the previous year , then we can't create a transaction in closed periods, hence we can use the Adjustment one.


IN  11i :

These 3C's Combined known as "Set of Books"  in terms of oracle application and "Books of Account" in terms of Actual Business.

IN R12:

1 More C was introduced , known as "Accounting Method " or "Sub-ledger Accounting Methods (SLA)"

These 4C's Combined known as "Ledger"  in terms of oracle application and "Books of Account" in terms of Actual Business.


Important Note:   If any of the C  changes , then we need to define a new Ledger.
i.e. In case of different geographic locations like countries, Currency changes hence separate Ledger has to be setup in system.

4th C (SLA) are of 3 types.

A)- Standard Accrual--- Mostly Used Method
B)- Standard Cash-- Conventional Method
C)-Standard Encumbrance-- Rarely Used Method


Organizational Data


Organization Structure --> 

Business Group (BG)
Business Group is used to centralize or secure employee data, can be based on Legal entity wise or Country wise.

Legal Entity (LE)
To Secure Company Legal and financial Data. GL Defined at LE level.

Balancing Segments (BS)
Balancing segments is assigned to LE , and 1 LE can have multiple BS attached , so it is one to one or many to One relationship between BS and LE.

Operating Unit (ORG ID)
To Secure Operational Data (like Purchasing, Sale, payments, Invoicing etc..)  OU needs to be Setup.
OU always assigned to LE, and can be One to One or Many to One for OU to LE.
AP,AR, PO, INV defined at OU Level.

Inventory orgs (Warehouse/Organization_id)
To Secure Inventory Data/Item data, use Inv Orgs.


Basic Setup Steps and responsibility those can be used to perform these setups.






Friday, September 01, 2017

XMLP Report Generated through PL SQL


Generate a XML Report from PL SQL Package.


CREATE OR REPLACE PACKAGE BODY XXORT_TEST_USER
AS

  PROCEDURE XXORT_USER (ERRBUF  VARCHAR2,
                        RETCODE  NUMBER,
                        XORDER_NUM IN VARCHAR2)
     IS
     CURSOR C_HEAD IS
        SELECT ORDER_NUMBER,
               HEADER_ID,
               FLOW_STATUS_CODE
         FROM OE_ORDER_HEADERS_ALL
         WHERE ORDER_NUMBER=XORDER_NUM;
        
     CURSOR C_LINES (P_HEADER_ID IN VARCHAR2)
     IS
        SELECT  ORDERED_ITEM, ORDERED_QUANTITY , LINE_ID
        FROM OE_ORDER_LINES_ALL
        WHERE HEADER_ID= P_HEADER_ID;
       
       
      LV_LOT_NUMBER VARCHAR2(100);
    
     BEGIN
    
       FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '<?xml version="1.0" encoding="UTF-8"?>');
       FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '<ORDER_INFO>');
         
            FOR RC_HEAD IN C_HEAD
             LOOP
            
              FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '<P_ORDER_HEADER>');

              FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '<ORDER_NUMBER>' || RC_HEAD.ORDER_NUMBER || '</ORDER_NUMBER>');
              FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '<HEADER_ID>' || RC_HEAD.HEADER_ID || '</HEADER_ID>');
              FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '<FLOW_STATUS_CODE>' || RC_HEAD.FLOW_STATUS_CODE || '</FLOW_STATUS_CODE>');
            
            
                  FOR RC_LINES IN C_LINES (RC_HEAD.HEADER_ID)
                         LOOP
                                 
                        
                         BEGIN
                        
                         SELECT LOT_NUMBER
                         INTO LV_LOT_NUMBER
                         FROM WSH_DELIVERY_DETAILS
                         WHERE SOURCE_LINE_ID = RC_LINES.LINE_ID;
                        
                         EXCEPTION
                         WHEN OTHERS
                         THEN NULL;
                        
                         END ;                
                          FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '<P_ORDER_LINES>');

                          FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '<ORDERED_ITEM>' || RC_LINES.ORDERED_ITEM || '</ORDERED_ITEM>');
                          FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '<ORDERED_QUANTITY>' || RC_LINES.ORDERED_QUANTITY ||  '</ORDERED_QUANTITY>');
                          FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '<LOT_NUMBER>' || LV_LOT_NUMBER ||  '</LOT_NUMBER>');
                         
                          FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '</P_ORDER_LINES>');
                        
                         END LOOP;
                    FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '</P_ORDER_HEADER>');    
             END LOOP;
    
     FND_FILE.PUT_LINE(FND_FILE.OUTPUT , '</ORDER_INFO>');
     END ;
    
                       
                   
 

END XXORT_TEST_USER;

How to open wrapped Package Source Code in Oracle Apps

How to open wrapped Package Source Code in Oracle Apps

This link help you to see the base code in wrapped Package 


http://www.codecrete.net/UnwrapIt/

Clear BNE Cache for WebADI Changes

It Sometime happens that WebAdi Changes doesn't reflect once migrated in controlled instances. Here are the quick steps(Generally perfor...