Documente Academic
Documente Profesional
Documente Cultură
Overview...................................................................................................................................4
Internal Drop Ship – without modified SLA........................................................................5
Internal Drop Ship – with modified SLA..............................................................................6
Application Accounting Definition.......................................................................................7
PL/SQL Functions...................................................................................................................8
Sub-Ledger Accounting Setups..............................................................................................9
Custom Sources......................................................................................................................10
Assign Custom Sources to Event Class...............................................................................12
XLA Lookups..........................................................................................................................13
Accounting Definition Rules................................................................................................14
Logical Intercompany Event Class......................................................................................15
Logical Intercompany Event Class – Journal Line Definitions........................................16
Sales Order Issue Event Class..............................................................................................18
Sales Order Issue – Deferred COGS Journal Line Types..................................................19
Sales Order Issue – COGS Journal Line Types..................................................................22
Sales Order Issue – Inventory Valuation Journal Line Types..........................................24
Application Accounting Definition 138863
This white paper describes how to modify sub-ledger accounting (SLA) for intercompany transactions when tracking of a separate intercompany markup
dollar amount is required for internal drop ships across international boundaries. This is often a requirement for tax purposes. The current costing system does not
provide for a separation of this markup. Having the markup as a separate accounting entry, instead of added into inventory, allows for accurate end of month
intercompany eliminations.
An internal drop ship is where an internal legal entity in one country takes a sales order from a customer, but then sources the shipment from an internal
warehouse in a different country. This internal warehouse belongs to a different internal legal entity. The warehouse then ships directly to the customer across
international boundaries. The country where the shipment comes from must collect taxes on that transaction based on the profit margin. The profit margin must
be an unbiased arms-length amount. The markup percent is stored in advanced pricing. The markup amount will appear in the receiving legal entity as part of the
Logical Intercompany Shipment Receipt transaction type.
This paper does not address the advanced pricing setup or intercompany transactions flows. These setups are also required. It only addresses the SLA setup.
Each setup below has a description column to further explain the usage and outcome of each setting. These settings have been successfully used in a standard
costing production environment. They are currently being tested in an average costing environment with production go live scheduled for next year. The SLA
settings do not address internal intercompany drop ship RMA. That is an ongoing development.
Sub-ledger Accounting allows customers to modify the accounting entries just before they are transferred to the general ledger.
The accounting depicted below is the seeded accounting output for an internal drop ship without any SLA changes.
Logical Intercompany Sales Issue Shipper – at shipper standard cost Inventory - Finished Goods 973.58
Logical Intercompany Sales Issue Shipper – at shipper standard cost Cost of sales - Intercompany 973.58
Logical Sales Order Issue Receiver – when sell to 3rd party customer 1246.2
Inventory - Finished Goods 1
Logical Sales Order Issue Receiver – when sell to 3rd party customer Inventory - Deferred COGS 1246.21
The accounting depicted below is the accounting output for an internal drop ship after these SLA changes have been made.
Logical Intercompany Sales Issue Shipper – at shipper standard cost Inventory - Finished Goods 973.58
Logical Sales Order Issue Receiver – when sell to 3rd party customer Inventory - Finished Goods 981.27
As can be seen from the example above, the shipping cost is multiplied by a markup of 27%. 973.58 X .27 = 262.86
Then a currency conversion rate of 1.0079 from shipping to receiving company is used to calculate the receiving markup entry. 262.86 X 1.0079 = 264.94
The inventory entry uses the shipping cost multiplied by the currency conversion rate. 973.58 X 1.0079 = 981.27
The receiving standard cost is not used because inventory does not physically enter the receiving warehouse.
The receipt is virtual and used only to calculate third party COGS to be used to calculate profit from revenue on the customer facing transaction.
Cost Manager – SLA -> SLA -> Accounting Setup > Accounting Methods Builder -> Methods and Definitions -> Application Accounting Definitions
First find the old “COST MANAGEMENT” definition. Then use the copy button and modify as listed below.
Cost Manager – SLA -> SLA -> Accounting Setup > Accounting Methods Builder -> Methods and Definitions -> Subledger Accounting Methods
XYZ_SALE_INTERCO_FLAG_V1.txt
XYZ_COGS_RECOG_INTERCO_FLAG_V1.txt
XYZ_INTERNAL_DROP_RECEIPT_V1.txt
XYZ_INTRNL_DROP_RCPT_MRKP_V1.txt
XYZ_INTERCO_SEGMENT_V1.txt
XYZ_INTRNL_DROP_COGS_AMT
XYZ_INTRNL_DROP_INV_AMT
The SLA seeded definitions may need to be loaded using the concurrent program “Import Application Accounting Definition”.
Context=default
Merge Analysis=No
Validate=Yes
Cost Manager – SLA -> SLA -> Accounting Setup > Accounting Methods Builder -> Sources -> Custom Sources
USED IN
SALES
ISSUE
EVENT
Returns “Y” if transaction is internal drop ship XYZ_SALE XYZ_SALE XYZ_SALE Alpha No Inventory Item in TRANSACTION_ID
_INTERCO _INTERCO _INTERCO numer Costing in Costing
_FLAG _FLAG _FLAG ic
For internal drop ship returns the intercompany segment XYZ XYZ XYZ_INTE Alpha Intercompany Yes Inventory Item in TRANSACTION_ID
INTERCO INTERCO RCO_SEG numer Segment Costing in Costing
SEGMENT SEGMENT MENT ic
Internal drop COGS amt downstream after markup removed XYZ XYZ XYZ_INTR Nume No Inventory Item in TRANSACTION_ID
INTRNL INTRNL NL_DROP ric Costing in Costing
DROP DROP _
COGS COGS COGS_AM
AMT AMT T
Internal drop INV amt downstream after markup removed XYZ XYZ XYZ_INTR Nume No Inventory Item in TRANSACTION_ID
INTRNL INTRNL NL_DROP ric Costing in Costing
DROP INV DROP INV _
AMT AMT INV_AMT
USED IN
INTERCO
MPANY
EVENT
Internal drop inventory receipt amount XYZ_INTE XYZ_INTE XYZ_INTE Nume No Inventory Item in TRANSACTION_ID
RNAL_DR RNAL_DR RNAL_DR ric Costing in Costing
OP_RECEI OP_RECEI OP_RECEI
PT PT PT
Use this next form to assign the custom sources to the “Logical Intercompany” event class.
Cost Manager – SLA -> SLA -> Accounting Setup > Accounting Methods Builder -> Sources -> Accounting Attribute Assignments
This will allow the source to be chosen while inside the line type form.
Accounti Source
ng
Attribute
Accounted XYZ_INTERNAL_DROP_RECEIPT
Amount
Entered XYZ_INTRNL_DROP_RCPT_MRK
P
Amount
Accounted XYZ_INTRNL_DROP_RCPT_MRK
P
Amount
Use this next form to assign the custom sources to the “Sales Order Issue” event class.
Cost Manager – SLA -> SLA -> Accounting Setup > Accounting Methods Builder -> Sources -> Accounting Attribute Assignments
This will allow the source to be chosen while inside the line type form.
Accounti Source
ng
Attribute
Accounted XYZ INTRNL DROP COGS
AMT
Amount
Amount
This lookup will appear on the SLA accounting form for each IC markup accounting line..
Use this next form to create an accounting derivation rule for markup account.
Cost Manager – SLA -> SLA -> Accounting Setup > Accounting Methods Builder -> Journal Entry Setups -> Account Derivation Rules
Description Rule Rule Chart of Chart of Output Segment Prio Value Value Conditio
rity n
Code Name Accounts Accounts Type Name Type
Transaction Accounti
ng
Inter-company Markup Account. XYZ XYZ INTERCO XYZ_CORP_ACCO XYZ_CORP Segment Account 10 Constant 122500
INTERCO MARKUP UNTING_FLEXFIEL _ACCOUN
MARKUP D TING_FLE
XFIELD
XYZ INTERCO SEGMENT used for XYZ INTERCO XYZ INTERCO XYZ_CORP_ACCO XYZ_CORP Segment Intercompany 10 Source XYZ
intercompany eliminations. SEGMENT SEGMENT UNTING_FLEXFIEL _ACCOUN INTERCO
D TING_FLE SEGMENT
XFIELD
Cost Manager – SLA -> SLA -> Accounting Setup > Accounting Methods Builder -> Methods and Definitions -> Application Accounting Definitions
After the new Journal Line Definition has been created, go back to the Application Accounting Definition form.
Delete the old journal line definition that is attached at the bottom of the form and add the new one that was just created.
Once you have defined the new Journal Line Definition, then execute the following steps:
Create new line types as described above by using the data below.
LOG_IC_SHIPMENT_RC XYZ_INTR
PT NL_DROP_
RCPT_MRK
P
Be sure to enter
ADR of XYZ
INTERCO SEGMENT
for the above type on
the intercompany
segment
And
XYZ INTERCO
MARKUP on the
account segment
Inv receipt without markup Logical XYZ INTRNL XYZ XYZ_CORP_A Inventory Inventory Accounting Line Type =1 Accounted
Intercompany CCOUNTING_ Valuation Valuation AND
DROP RCPT INV INTRNL Amount
FLEXFIELD
DROP Accounting Event Type
This includes the PPV amount RCPT INV Name = =
LOG_IC_SHIPMENT_RC
PT XYZ
INTERNAL
Executes with
XYZ_INTRNL_DROP_MRKP
DROP
RECEIPT
In the Logical Intercompany event class, on the journal line types of XYZ_INTERCO_MARKUP and Intercompany Accrual enter the following:
1. Segment = Intercompany, Rule Name = XYZ INTERCO SEGMENT
After the new Journal Line Definition has been created, go back to the Application Accounting Definition form.
Delete the old journal line definition that is attached at the bottom of the form and add the new one that was just created.
Since third party sales and logical sales issue share the same journal line types, if you modify one, you must redefine them all.
Create new line types as described above by using the data below.
Accounting Event
Type Name = 'COGS
Recognition'
XYZ COGS RMA Sales Order XYZ COGS XYZ COGS XYZ_CORP_A Deferred Cost Deferred Debit Accounting Line Type Accounted
Issue CCOUNTING_ of Goods Sold Cost of =36
DEFERRED RMA RMA Amount
FLEXFIELD Goods Sold
DEFERRED DEFERRED AND
=
Accounting Event
Type Name = 'RMA Accounted
Receipt'
Amount
AND
THIRD PARTY SHIP Sales Order XYZ XYZ XYZ_CORP_A Deferred Cost Deferred Debit Accounting Line Type Accounted
AND EXTERNAL DROP Issue CCOUNTING_ of Goods Sold Cost of =36 AND Accounting
DEFERRED DEFERRED Amount
SHIP DCOGS FLEXFIELD Goods Sold Event Type Name =
COGS COGS 'Sales Order Issue'
AND
XYZ_SALE_INTERCO
_FLAG = 'N'
On new line types, always turn on debit and switch debit/credit. This means positive will be debit and negative will be credit.
Create new line types as described above by using the data below.
AND
THIRD PARTY AND Sales Order XYZ COGS XYZ XYZ_CORP_AC Cost of Cost of Debit Accounting Line Type Accounted
EXTERNAL DROP COG Issue COUNTING_FL Goods Sold Goods Sold =35
RECOG SO COGS Amount
RECOG COGS AMT EXFIELD
RECOG AND
SO =
Accounting Event Type
Name = 'COGS Accounted
Recognition'
Amount
AND
XYZ COGS RMA Sales Order XYZ COGS XYZ XYZ_CORP_AC Cost of Cost of Debit Accounting Line Type Accounted
Issue COUNTING_FL Goods Sold Goods Sold =35
RMA COGS Amount
EXFIELD
RMA AND
=
Accounting Event Type
Name = 'RMA Receipt' Accounted
AND Amount
XYZ COGS RECOG
INTERCO FLAG = 'N'
On new line types, always turn on debit and switch debit/credit. This means positive will be debit and negative will be credit.
Once you have defined the new Journal Line Definition, then execute the following steps:
Create new line types as described above by using the data below.
RMA Sales XYZ RMA XYZ RMA XYZ_CORP_AC Inventory Inventory Debit Accounting Line Accounted
Order COUNTING_FL Valuation Valuation Type =1 AND
INV INV Amount
Issue EXFIELD
VALUATI VALUATI Accounting Event
ON ON Type Name = =
'RMA Receipt'
AND Accounted
Amount
XYZ SALE
INTERCO FLAG
= 'N'
On new line types, always turn on debit and switch debit/credit. This means positive will be debit and negative will be credit.
CREATE OR REPLACE
FUNCTION XYZ_SALE_INTERCO_FLAG
p_Inventory_Item IN NUMBER
, p_transaction_id IN NUMBER
RETURN VARCHAR2
IS
xyz_sale_interco_flag VARCHAR2(1);
BEGIN
xyz_sale_interco_flag:='N';
SELECT
'Y'
INTO
xyz_sale_interco_flag
FROM
mtl_material_transactions mmt
, mtl_material_transactions mmt2
, mtl_transaction_types ttype2
WHERE
/*+ ORDERED_PREDICATES */
AND
mmt2.parent_transaction_id = mmt.parent_transaction_id
AND
ttype2.transaction_type_id = mmt2.transaction_type_id
AND
-- **** THIS INSURES WE ARE DEALING WITH ONE OF THE LOGICAL INTERCOMPANY TRANSACTIONS
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
-- ************************************
RETURN xyz_sale_interco_flag;
-- ************************************
EXCEPTION
Application Accounting Definition 14588645
xyz_sale_interco_flag:='N';
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
RETURN xyz_sale_interco_flag;
Application Accounting Definition 14688646
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
xyz_sale_interco_flag:='N';
Application Accounting Definition 14788647
END;
CREATE OR REPLACE
FUNCTION XYZ_COGS_RECOG_INTERCO_FLAG
p_Inventory_Item IN NUMBER
, p_transaction_id IN NUMBER
RETURN VARCHAR2
IS
xyz_cogs_recog_interco_flag VARCHAR2(1);
BEGIN
xyz_cogs_recog_interco_flag:='N';
/*+ ORDERED */
'Y'
INTO
xyz_cogs_recog_interco_flag
FROM
mtl_material_transactions mmt
WHERE
/*+ ORDERED_PREDICATES */
AND
EXISTS
SELECT
/*+ ORDERED */
mmt2.transaction_id
FROM
mtl_material_transactions mmt2
, inv.mtl_transaction_types ttype
Application Accounting Definition 15088650
/*+ ORDERED_PREDICATES */
mmt2.transaction_source_id = mmt.transaction_source_id
AND
mmt2.inventory_item_id = mmt.inventory_item_id
AND
ttype.transaction_type_id = mmt2.transaction_type_id
AND
-- ************************************
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
Application Accounting Definition 15188651
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
-- ************************************
RETURN xyz_cogs_recog_interco_flag;
-- ************************************
EXCEPTION
xyz_cogs_recog_interco_flag:='N';
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
Application Accounting Definition 15288652
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
RETURN xyz_cogs_recog_interco_flag;
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
Application Accounting Definition 15388653
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
xyz_cogs_recog_interco_flag:='N';
RETURN xyz_cogs_recog_interco_flag;
END;
CREATE OR REPLACE
p_inventory_Item IN NUMBER
, p_transaction_id IN NUMBER
RETURN NUMBER
IS
xyz_no_markup_inv_cost NUMBER;
BEGIN
xyz_no_markup_inv_cost := 0;
SELECT
/*+ ORDERED */
( mmt3.intercompany_cost
* mmt3.transaction_quantity
,2
) extend_inv
INTO
xyz_no_markup_inv_cost
FROM
mtl_material_transactions mmt
, mtl_material_transactions mmt1
, mtl_transaction_types ttype1
, mtl_material_transactions mmt2
, mtl_transaction_types ttype2
, mtl_material_transactions mmt3
, mtl_transaction_types ttype3
Application Accounting Definition 15688656
WHERE
/*+ ORDERED_PREDICATES */
mmt.transaction_id = p_transaction_id
-- *********************************************
AND
mmt1.parent_transaction_id = mmt.parent_transaction_id
AND
ttype1.transaction_type_id = mmt1.transaction_type_id
AND
-- *********************************************
AND
mmt2.parent_transaction_id = mmt.parent_transaction_id
AND
ttype2.transaction_type_id = mmt2.transaction_type_id
AND
-- ***************************************************
AND
Application Accounting Definition 15788657
AND
ttype3.transaction_type_id = mmt3.transaction_type_id
AND
-- *********************************************
AND
rates.from_currency = mmt2.currency_code
AND
rates.to_currency = mmt3.currency_code
AND
AND
-- ************************************
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
Application Accounting Definition 15888658
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
-- ************************************
RETURN xyz_no_markup_inv_cost;
-- ************************************
EXCEPTION
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
xyz_no_markup_inv_cost := 0;
RETURN xyz_no_markup_inv_cost;
CREATE OR REPLACE
p_inventory_Item IN NUMBER
, p_transaction_id IN NUMBER
RETURN NUMBER
IS
xyz_markup_inv_cost NUMBER;
BEGIN
xyz_markup_inv_cost := 0;
SELECT
/*+ ORDERED */
( mmt2.actual_cost * mmt2.transaction_quantity )
,2
---- **** MUST ROUND SEPERATELY FROM SUBTRACT SO ENTRIES BALANCE WITHOUT ROUNDING ERROR
ROUND (
( mmt3.actual_cost *
( mmt2.actual_cost / mmt2.intercompany_cost )
* mmt2.transaction_quantity
,2
) markup
INTO
xyz_markup_inv_cost
FROM
mtl_material_transactions mmt
, mtl_material_transactions mmt2
Application Accounting Definition 16488664
, mtl_material_transactions mmt3
, inv.mtl_transaction_types ttype2
WHERE
/*+ ORDERED_PREDICATES */
mmt.transaction_id = p_transaction_id
AND
mmt2.parent_transaction_id = mmt.parent_transaction_id
AND
ttype.transaction_type_id(+) = mmt2.transaction_type_id
AND
AND
mmt3.parent_transaction_id = mmt.parent_transaction_id
AND
ttype2.transaction_type_id(+) = mmt3.transaction_type_id
AND
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
-- ************************************
RETURN xyz_markup_inv_cost;
-- ************************************
EXCEPTION
Application Accounting Definition 16688666
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
xyz_markup_inv_cost := 0;
END;
CREATE OR REPLACE
FUNCTION XYZ_INTERCO_SEGMENT
p_inventory_Item IN NUMBER
, p_transaction_id IN NUMBER
RETURN VARCHAR2
IS
xyz_interco_segment VARCHAR2(3);
BEGIN
xyz_interco_segment:='000';
SELECT
comb.segment1
INTO
xyz_interco_segment
FROM
mtl_material_transactions mmt
, mtl_transaction_types ttype
, mtl_material_transactions mmt2
, mtl_transaction_types ttype2
, gl_code_combinations comb
WHERE
/*+ ORDERED_PREDICATES */
mmt.transaction_id = p_transaction_id
AND
ttype.transaction_type_id = mmt.transaction_type_id
AND
AND
mmt2.parent_transaction_id = mmt.parent_transaction_id
Application Accounting Definition 17088670
ttype2.transaction_type_id = mmt2.transaction_type_id
AND
-- ****
AND
comb.code_combination_id = mmt2.distribution_account_id;
-- ************************************
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
Application Accounting Definition 17188671
);
-- ************************************
RETURN xyz_interco_segment;
-- ************************************
EXCEPTION
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
xyz_interco_segment:='000';
RETURN xyz_interco_segment;
END;
CREATE OR REPLACE
p_inventory_Item IN NUMBER
, p_transaction_id IN NUMBER
RETURN NUMBER
IS
xyz_no_markup_inv_cost NUMBER;
BEGIN
SELECT
/*+ ORDERED */
ROUND (
( mmt3.intercompany_cost
* mmt3.transaction_quantity
,2
) extend_inv
INTO
xyz_no_markup_inv_cost
FROM
mtl_material_transactions mmt
, mtl_material_transactions mmt1
, mtl_transaction_types ttype1
Application Accounting Definition 17688676
, mtl_transaction_types ttype2
, mtl_material_transactions mmt3
, mtl_transaction_types ttype3
, gl_daily_rates rates
WHERE
/*+ ORDERED_PREDICATES */
AND
mmt1.transaction_source_id = mmt.transaction_source_id
AND
mmt1.inventory_item_id = mmt.inventory_item_id
AND
ttype1.transaction_type_id = mmt1.transaction_type_id
AND
-- *********************************************
AND
Application Accounting Definition 17788677
AND
ttype2.transaction_type_id = mmt2.transaction_type_id
AND
-- ***************************************************
AND
mmt3.parent_transaction_id = mmt1.parent_transaction_id
AND
ttype3.transaction_type_id = mmt3.transaction_type_id
AND
-- *********************************************
AND
rates.from_currency = mmt2.currency_code
AND
rates.to_currency = mmt3.currency_code
AND
-- ************************************
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
RETURN xyz_no_markup_inv_cost;
-- ************************************
EXCEPTION
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
xyz_no_markup_inv_cost := 0;
RETURN xyz_no_markup_inv_cost;
END;
CREATE OR REPLACE
FUNCTION XYZ_INTRNL_DROP_INV_AMT -- **** INV RCPT NO MARKUP ON INTERNAL DROP SHIP
(
p_inventory_Item IN NUMBER
, p_transaction_id IN NUMBER
)
RETURN NUMBER
IS
xyz_no_markup_inv_cost NUMBER;
BEGIN
xyz_no_markup_inv_cost := 0;
SELECT
/*+ ORDERED */
Application Accounting Definition 18388683
-- ************************************
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
' XYZ_INTRNL_DROP_INV_AMT '
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
' TRANSACTION ID: ' || p_transaction_id
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
' ITEM ID: ' || p_inventory_item
);
-- ************************************
RETURN xyz_no_markup_inv_cost;
-- ************************************
EXCEPTION
FND_FILE.NEW_LINE( FND_FILE.LOG, 1 );
FND_FILE.PUT_LINE( FND_FILE.LOG,
' ERROR: ' || SUBSTR(SQLERRM,1,80)
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
' XYZ_INTRNL_DROP_INV_AMT '
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
' ERROR TRANSACTION ID: ' || p_transaction_id
);
FND_FILE.PUT_LINE( FND_FILE.LOG,
xyz_no_markup_inv_cost := 0;
RETURN xyz_no_markup_inv_cost;
END;