+ All Categories
Home > Documents > 002.SLA Custom_source - Print

002.SLA Custom_source - Print

Date post: 10-Sep-2014
Category:
Upload: javier-palomino
View: 140 times
Download: 12 times
Share this document with a friend
12
Use of a custom source to derive an account based in the first segment of an Item’s inventory class flexfield A worked example using a PO Receiving Transaction Introduction This is a preliminary document issued by Oracle Process Manufacturing Support in an attempt to answer the question : "When I am setting up an Account Derivation Rule (ADR) in Subledger Accounting (SLA, XLA), how can I map an Account or Accounting Flexfield Segment to an Item Attribute which is not directly available from the transaction being processed?" A common requirement is to map the Inventory Valuation (INV) Account by Item Category, which is not a parameter that is available in the seeded 'Source' List of Values. Please note that in addition to the Subledger Accounting setup screens, in order to make use of the information in this document you will require the necessary privileges to create a PL/SQL Procedure as the 'APPS' SQL*Plus username, and will also need a working knowledge of how the Item and Transaction database tables link together.
Transcript

Use of a custom source to derive an account based in the first segment of an Item’s inventory class flexfield

A worked example using a PO Receiving Transaction

Introduction

This is a preliminary document issued by Oracle Process Manufacturing Support in an attempt to answer the question : "When I am setting up an Account Derivation Rule (ADR) in Subledger Accounting (SLA, XLA), how can I map an Account or Accounting Flexfield Segment to an Item Attribute which is not directly available from the transaction being processed?"

A common requirement is to map the Inventory Valuation (INV) Account by Item Category, which is not a parameter that is available in the seeded 'Source' List of Values.

Please note that in addition to the Subledger Accounting setup screens, in order to make use of the information in this document you will require the necessary privileges to create a PL/SQL Procedure as the 'APPS' SQL*Plus username, and will also need a working knowledge of how the Item and Transaction database tables link together.

1) Write the function needed to join to the Custom Source column

CREATE OR REPLACE FUNCTION JGC_DELIVER_TRANS (p_transaction_id IN NUMBER) RETURN VARCHAR2 is

l_inventory_item_id number;l_organization_id number;l_segment varchar2(30);

BEGIN select inventory_item_id,organization_id into l_inventory_item_id, l_organization_id from mtl_material_transactions where transaction_id=p_transaction_id ;select segment1 into l_segment from mtl_item_categories_v whereinventory_item_id= l_inventory_item_idand organization_id= l_organization_idand category_set_name='Inv.Items';

RETURN l_segment;

END JGC_DELIVER_TRANS;

N.B in this case, you could also the value source_line_id_column to go to rcv_transactions table i.e. to the transaction_id column on that table.

2) Test the function in SQL*Plus using a known value of Transaction Id

Set serveroutput on

declarel_segment VARCHAR2(30);beginl_segment:=JGC_DELIVER_TRANS(22390328);DBMS_OUTPUT.PUT_LINE('SEGMENT '||l_segment);end;

Example output : 'SEGMENT NEW'

3 Custom Source Form

4 Example Item Category setup

5 The Receiving Transaction

Transaction id = 22390328 for receipt of JGC_RECEIPT 27-APR-2009

6 Account Derivation Rule (ADR)

Notice that the source for the ADR is the function name (i.e. custom source) created previously and the test is for the function’s returned value i.e. ‘NEW’ in this case.

7 Journal Line Definition (JLD)

8 Application Accounting Definition (AAD)

9 Subledger Accounting Method (SLAM)

10 Detailed Subledger Report

Miscellaneous Tips

1. Make your test cases as simple as possible. Get the ADR to return the whole of flexfield in order that you can check the output easily.

2. Test the function 3. Know the data model. I know of no documentation that will help you. The best

information available is in the source of the view gmf_subledger_rep_v (the equivalent of the Release 11i view gl_subr_led_vw).

For example, the part of view gmf_subledger_rep_v for a Receiving Transaction is:

…FROM gmf_xla_extract_headers eh, rcv_transactions rt, mtl_material_transactions mmt, mtl_transaction_lot_numbers mtln, rcv_shipment_headers rsh, rcv_shipment_lines rsl, po_headers_all poh, po_vendors pvWHERE eh.transaction_id = mmt.transaction_idAND eh.source_document_id = rt.shipment_header_idAND eh.source_line_id = rt.transaction_idAND rt.transaction_id = mmt.rcv_transaction_idAND eh.transaction_source_type_id IN (1, 7)

Scripts which you may find useful as models

Select distinct TXN_SOURCE, transaction_source_type_id, ENTITY_CODE, EVENT_CLASS_CODE, EVENT_TYPE_CODE from gmf_xla_extract_headersorder by entity_code, event_class_code;

Select distinct TXN_SOURCE,entity_code,EVENT_CLASS_CODE, EVENT_TYPE_CODE from gmf_xla_extract_headers where creation_date>='27-APR-09'order by TXN_SOURCE,entity_code, event_class_code;

Select distinct TXN_SOURCE, transaction_source_type_id, ENTITY_CODE , source_document_id,source_line_id, transaction_id,TRANSACTION_TYPE_ID,EVENT_CLASS_CODE, EVENT_TYPE_CODE from gmf_xla_extract_headerswhere txn_source ='PUR' and creation_date>='02-APR-08'and event_class_code='DELIVER' order by entity_code, event_class_code;

N.B the basic table here is gmf_xla_extract_headers, which is populated by the OPM SLA Pre-Processor.


Recommended