What is a tree?
A tree is hierarchical structures that enable several data management functions such as better access control, application of business rules at various levels of hierarchies, improved query performance, and so on.
This concept is similar to the organization hierarchy in 11i & R12.
For example, MI Corporation has two departments: Marketing and Finance.
The Finance department has two functional divisions: Receivables and Payables.
Defining a tree for the MI Corporation establishes a hierarchy between the organization and its departments, and between the departments and their respective functional divisions as shown in above pic.
What is a tree Structure?
A tree structure is configuration on the basis of which trees are created. It defines and restricts the tree. A tree is an instance of the hierarchy as defined in the tree structure. Tree structures enable you to enforce business rules to which the data must adhere.
The root node is the topmost node of a tree. Child nodes report to the root node. Child nodes at the same level, which report to a common parent node, are called siblings. Leaves are details branching off from a node but not extending further down the tree hierarchy.
Important Points

  • You can associate multiple data sources with a tree structure.
  • Every tree structure can contain one or more trees.
  • You can create tree structures specific to an application but you can share tree structures across applications.
  • If you apply version control to the tree structure, it is carried over to the trees that are based on the tree structure.
  • Each tree version contains at least one root node. Occasionally, a tree version may have more than one root node.
  • An administrator controls the access to tree structures through a set of rules that are periodically audited for validity.

What is a tree version
A tree is created having only one version. However, users can create more than one tree version depending on the need, and they can make changes to those versions. Depending on varying requirements, users can create one or more tree versions and publish all of them or some of them by making the versions active at the same time. Similar to any other version control system, versions of trees are maintained to keep track of all the changes that a tree undergoes in its life cycle.
What are tree labels
Tree labels are short names associated with trees and tree structures and point directly to the data source. Tree labels are automatically assigned to the tree nodes. You can store labels in any table and register the label data source with the tree structure.


Similar to 11i & R12, You can create below transactions in fusion receivables
• Invoices and Debit Memos
• Credit Memos
• On-Account Credit Memos
• Chargebacks
• Adjustments
All the new fields in fusion application transaction form are outlined in the above pic.
Business unit: Similar to operating unit in 11/R12
Accounting Date: GL date in 11i
Attachment Note
Question : Where is the legal entity information ?
Click on more and navigate to miscellaneous tab to verify the other details

The RA_CUSTOMER_TRX table stores invoice, debit memo and credit memo header information. Each of these transactions is stored as a unique record, based on the primary key customer_trx_id. The transaction number, transaction date and billing customer are stored in the trx_number, trx_date and bill_to_customer_id columns respectively.
The RA_CUSTOMER_TRX_LINES table stores invoice, debit memo and credit memo line level information. Each transaction line is stored as a unique record, based on the primary key customer_trx_line_id column. The customer_trx_id column is a foreign key to the RA_CUSTOMER_TRX table.
The AR_PAYMENT_SCHEDULES table stores customer balance information at the transaction level. Each transaction balance is stored as a unique record, based on the primary key payment_schedule_id. The class column identifies the transaction type and determines which columns Receivables updates when a transaction is stored.

CREATE OR REPLACE procedure APPS.XX_CUSTOMER_ADDITIONAL_LOAD
IS
p_cust_site_use_rec HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_SITE_USE_REC_TYPE;
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
xio_p_object_version NUMBER;
x_msg_data VARCHAR2(2000);
v_site_use_id NUMBER;
V_OBJECT_VERSION NUMBER;
BEGIN

-- FND_GLOBAL.APPS_INITIALIZE(<user_id>,<resp_id>,<resp_applicarion_id>);
-- MO_GLOBAL.INIT('AR');
-- MO_GLOBAL.SET_POLICY_CONTEXT('S', <org_id>);
FND_GLOBAL.APPS_INITIALIZE(1535,50930,222);
MO_GLOBAL.INIT('AR');
MO_GLOBAL.SET_POLICY_CONTEXT('S', 1210);
BEGIN
SELECT HCSU.SITE_USE_ID,
HCSU.OBJECT_VERSION_NUMBER
INTO V_SITE_USE_ID,
V_OBJECT_VERSION
FROM HZ_PARTIES HP,
HZ_PARTY_SITES HPS,
HZ_CUST_ACCT_SITES_ALL HCAS,
HZ_CUST_SITE_USES_ALL HCSU
WHERE HP.PARTY_ID = HPS.PARTY_ID
AND HPS.PARTY_SITE_ID = HCAS.PARTY_SITE_ID
AND HCAS.CUST_ACCT_SITE_ID =HCSU.CUST_ACCT_SITE_ID
AND HCSU.SITE_USE_CODE = 'BILL_TO'
AND ltrim(rtrim(upper(HP.PARTY_NAME)))= ltrim(rtrim(upper('SSE Test Customer')));
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERROR IS'||SUBSTR(SQLERRM,1,150));
END;

p_cust_site_use_rec.site_use_id:= V_SITE_USE_ID; -- Site USe to be updated
xio_p_object_version := V_OBJECT_VERSION; --xio_p_object_version := 1;
p_cust_site_use_rec.price_list_id := 98202; -- SSE Standard
p_cust_site_use_rec.payment_term_id := 1000 ; -- 90 Days
p_cust_site_use_rec.order_type_id := 1193; --SSE Duabi Showroom Cash Sales
hz_cust_account_site_v2pub.update_cust_site_use(
'T',
p_cust_site_use_rec,
xio_p_object_version,
x_return_status,
x_msg_count,
x_msg_data);


dbms_output.put_line('***************************');
dbms_output.put_line('Output information ....');
dbms_output.put_line('x_return_status: '||x_return_status);
dbms_output.put_line('x_msg_count: '||x_msg_count);
dbms_output.put_line('xio_p_object_version: '||xio_p_object_version);
dbms_output.put_line('x_msg_data: '||x_msg_data);
dbms_output.put_line('***************************');
COMMIT;
END;
/
declare
 l_item_table      ego_item_pub.item_tbl_type;
   x_item_table      ego_item_pub.item_tbl_type;
   x_return_status   VARCHAR2 (1);
   x_msg_count       NUMBER (10);
   x_msg_data        VARCHAR2 (1000);
   x_message_list    error_handler.error_tbl_type;
BEGIN
           l_item_table (1).transaction_type := ‘UPDATE’;
       l_item_table (1).inventory_item_id := 64;  –INVENTORY_ITEM_ID;
       l_item_table (1).organization_id := 101; — I.ORGANIZATION_ID;
       l_item_table (1).template_id := 1;– I.NEW_TEMPLATE_ID;
       ego_item_pub.process_items (p_api_version        => 1.0,
                       p_init_msg_list      => fnd_api.g_true,
                       p_commit             => fnd_api.g_true,
                       p_item_tbl           => l_item_table,
                       x_item_tbl           => x_item_table,
                       x_return_status      => x_return_status,
                       x_msg_count          => x_msg_count
                      );
     
       DBMS_OUTPUT.PUT_LINE (‘Return Status ==>’ || x_return_status);
       DBMS_OUTPUT.PUT_LINE (‘Error Messages :’);
      
           error_handler.get_message_list (x_message_list => x_message_list);

           FOR i IN 1 .. x_message_list.COUNT
           LOOP
              DBMS_OUTPUT.PUT_LINE (x_message_list (i).MESSAGE_TEXT);
           END LOOP;

END;

select fu.user_name, fr.responsibility_name, furg.START_DATE, furg.END_DATE
from fnd_user_resp_groups_direct furg, fnd_user fu, fnd_responsibility_tl fr
where fu.user_name = :user_name
and furg.user_id = fu.user_id
and furg.responsibility_id = fr.responsibility_id
and fr.language = userenv(‘LANG’);