DBA Data[Home] [Help]

PACKAGE: APPS.BOM_BO_PUB

Source


1 PACKAGE Bom_Bo_Pub AS
2 /* $Header: BOMBBOMS.pls 120.1 2006/07/14 04:21:28 bbpatel noship $ */
3 /*#
4  * APIs in this package are used to create, update or delete single or multiple components of a Structure/BOM.First, the user creates the structure header for an Item.After creating
5  * the Header the user adds or updates or deletes components(Items) and their child entities such as reference designators,substitute components etc.
6  * Implementation of each of these entites are described below.
7  * This API can be used for processing of a single or multiple business entities(Structure/BOM and its child entities) per call. The entities that needs to be processed
8  * should belong to the same Structure/BOM.How to use this is explained below through examples.<BR>
9  * Example 1 : To Create a new Bom entity.(Bom Header,Component,Reference Designator etc).
10  *<li>1.The User should Initialize the Error_Handler so that errors can be logged and retireved.</li>
11  *<li>2.The user populates the Record Type for each entity like Bill Header that needs to be processed.</li>
12  *<li>3.The record should be created with attribute values as explained in the record type description below</li>
13  *<li>For example populate the Bom Header by giving values as follows Bom_Header.assembly_type = 1</li>
14  *<li>4.Then Process_Bom procedure in this package is called with already created record types as paramters</li>
15  *<li>The Process_Bom method processes the records and registers errors in the pl/sql error table which can be
16  * extracted using Error_Hanlder.get_messge</li>
17  *<li>5.If the Return Status is S then the process completed sucessfully else The error is logges in the Error_Handler</li>
18  *<li>6.If Suucessful the user should commit the data.</li>
19  *
20  * Example-2 To Update the value of an attribute.
21  *<li>1.If the user wants to update the user unique index attributes like Operation Sequence Number
22  * he should give the existing value to pick up the corrrect record and the new value to change.</li>
23  *<li>bom_component.old_operation_sequence_number = 1</li>
24  *<li>bom_component.new_operation_sequence_number = 2</li>
25  *<li>2.If the user wants tp update non user unique indexes then he needs to give only the new value</li>
26  *<li>bom_component.quantity = 30</li><BR>
27  *
28  *
29  * -------------------------
30  *  Strucure Header Record
31  * -------------------------
32  *<code><pre>
33  * TYPE Bom_Head_Rec_Type IS RECORD
34  * (  Assembly_item_name           VARCHAR2(240)
35  *  , Organization_Code            VARCHAR2(3)
36  *  , Alternate_Bom_Code           VARCHAR2(10)
37  *  , Common_Assembly_Item_Name    VARCHAR2(240)
38  *  , Common_Organization_Code     VARCHAR2(3)
39  *  , Assembly_Comment             VARCHAR2(240)
40  *  , Assembly_Type                NUMBER
41  *  , Transaction_Type             VARCHAR2(30)
42  *  , Return_Status                VARCHAR2(1)
43  *  , Attribute_category           VARCHAR2(30)
44  *  , Attribute1                   VARCHAR2(150)
45  *  , Attribute2                   VARCHAR2(150)
46  *  , Attribute3                   VARCHAR2(150)
47  *  , Attribute4                   VARCHAR2(150)
48  *  , Attribute5                   VARCHAR2(150)
49  *  , Attribute6                   VARCHAR2(150)
50  *  , Attribute7                   VARCHAR2(150)
51  *  , Attribute8                   VARCHAR2(150)
52  *  , Attribute9                   VARCHAR2(150)
53  *  , Attribute10                  VARCHAR2(150)
54  *  , Attribute11                  VARCHAR2(150)
55  *  , Attribute12                  VARCHAR2(150)
56  *  , Attribute13                  VARCHAR2(150)
57  *  , Attribute14                  VARCHAR2(150)
58  *  , Attribute15                  VARCHAR2(150)
59  *  , Original_System_Reference    VARCHAR2(50)
60  *  , Delete_Group_Name            VARCHAR2(10)
61  *  , DG_Description               VARCHAR2(240)
62  *  , Row_Identifier      NUMBER          := null
63  *  , BOM_Implementation_Date      DATE
64  *  , Enable_Attrs_Update          VARCHAR2(1)
65  *  , Structure_Type_Name          VARCHAR2(80)
66  * )
67  *</pre></code>
68  *
69  * ------------------------------
70  *       Parameteres
71  * ------------------------------
72  *
73  *<pre>
74  * Assembly_item_name        -- User friendly name of the Item for which the Structure Header is created.
75  * Organization_Code         -- Organization Code in which the Item is defined.
76  * Alternate_Bom_Code        -- Structure name to be given,if this is null then the BOM is primary
77  * Common_Assembly_Item_Name -- Assembly Item name of common bill
78  * Common_Organization_Code  -- Organization code for the common bill
79  * Assembly_Comment          -- Comment describing the Assembly or Bill
80  * Assembly_Type             -- 1 = Manufacturing Bill, 2 = Engineering Bill
81  * Transaction_Type          -- Defined below
82  * Return_Status             -- The Structure Header creation status,whether successful or error
83  * Attribute_category        -- Descriptive flexfield structure defining column
84  * Attribute 1 to 15         -- Descriptive flexfield segment
85  * Original_System_Reference -- Original system that data for the current record has come from.
86  * Delete_Group_Name         -- Delete group name for the entity type you are deleting
87  * DG_Description            -- A meaningful description of the delete group
88  * Row_Identifier            -- A unique identifier value for the entity record.
89  * BOM_Implementation_Date   -- The date on which the Bill will be implemented
90  * Enable_Attrs_Update       -- Flag to indicate whether common attributes are updateable
91  *</pre>
92  *
93  * ----------------------------------
94  *   Inventory Components Record
95  * ----------------------------------
96  *
97  *<code><pre>
98  * TYPE Bom_Comps_Rec_Type IS RECORD
99  * (  Organization_Code              VARCHAR2(3)
100  *  , Assembly_Item_Name             VARCHAR2(240)
101  *  , Start_Effective_Date           DATE
102  *  , Disable_Date                   DATE
103  *  , Operation_Sequence_Number      NUMBER
104  *  , Component_Item_Name            VARCHAR2(240)
105  *  , Alternate_BOM_Code             VARCHAR2(10)
106  *  , New_Effectivity_Date           DATE
107  *  , New_Operation_Sequence_Number  NUMBER
108  *  , Item_Sequence_Number           NUMBER
109  *  , Basis_type		     NUMBER
110  *  , Quantity_Per_Assembly          NUMBER
111  *  , Inverse_Quantity               NUMBER
112  *  , Planning_Percent               NUMBER
113  *  , Projected_Yield                NUMBER
114  *  , Include_In_Cost_Rollup         NUMBER
115  *  , Wip_Supply_Type                NUMBER
116  *  , So_Basis                       NUMBER
117  *  , Optional                       NUMBER
118  *  , Mutually_Exclusive             NUMBER
119  *  , Check_Atp                      NUMBER
120  *  , Shipping_Allowed               NUMBER
121  *  , Required_To_Ship               NUMBER
122  *  , Required_For_Revenue           NUMBER
123  *  , Include_On_Ship_Docs           NUMBER
124  *  , Quantity_Related               NUMBER
125  *  , Supply_Subinventory            VARCHAR2(10)
126  *  , Location_Name                  VARCHAR2(81)
127  *  , Minimum_Allowed_Quantity       NUMBER
128  *  , Maximum_Allowed_Quantity       NUMBER
129  *  , Comments                       VARCHAR2(240)
130  *  , Attribute_category             VARCHAR2(30)
131  *  , Attribute1                     VARCHAR2(150)
132  *  , Attribute2                     VARCHAR2(150)
133  *  , Attribute3                     VARCHAR2(150)
134  *  , Attribute4                     VARCHAR2(150)
135  *  , Attribute5                     VARCHAR2(150)
136  *  , Attribute6                     VARCHAR2(150)
137  *  , Attribute7                     VARCHAR2(150)
138  *  , Attribute8                     VARCHAR2(150)
139  *  , Attribute9                     VARCHAR2(150)
140  *  , Attribute10                    VARCHAR2(150)
141  *  , Attribute11                    VARCHAR2(150)
142  *  , Attribute12                    VARCHAR2(150)
143  *  , Attribute13                    VARCHAR2(150)
144  *  , Attribute14                    VARCHAR2(150)
145  *  , Attribute15                    VARCHAR2(150)
146  *  , From_End_Item_Unit_Number      VARCHAR2(30)
147  *  , New_From_End_Item_Unit_Number  VARCHAR2(30)
148  *  , To_End_Item_Unit_Number        VARCHAR2(30)
149  *  , Return_Status                  VARCHAR2(1)
150  *  , Transaction_Type               VARCHAR2(30)
151  *  , Original_System_Reference      VARCHAR2(50)
152  *  , Delete_Group_Name              VARCHAR2(10)
153  *  , DG_Description                 VARCHAR2(240)
154  *  , Enforce_Int_Requirements       VARCHAR2(80)
155  *  , Auto_Request_Material          VARCHAR2(1)
156  *  , Row_Identifier                 NUMBER          := null
157  *	, Suggested_Vendor_Name          VARCHAR2(240)
158  *	, Unit_Price	                   NUMBER
159  * )
160  *</pre></code>
161  *
162  * -----------------------------
163  *       Parameters
164  * -----------------------------
165  *
166  *<pre>
167  * Organization_Code              -- The Organization Code where the Component Item is defined
168  * Assembly_Item_Name             -- The User friendly Item Name of the Component
169  * Start_Effective_Date           -- The date from which the component will be effective in the Bill
170  * Disable_Date                   -- The date on which the component will be disabled from the Bill
171  * Operation_Sequence_Number      -- Operation sequence number
172  * Component_Item_Name            -- Name of the component in the Item
173  * Alternate_BOM_Code             -- Structure name,if null then primary
174  * New_Effectivity_Date           -- The new Effectivity Date when the user want to update the existing Effectivity Date
175  * New_Operation_Sequence_Number  -- The new Operation Sequence Number when the user want to update an already existing Operation Sequence Number.
176  * Item_Sequence_Number           -- Item sequence within bill of material structure
177  * Basis_type 			  -- Basis Type for the quantity. 1-Item , 2-Lot
178  * Quantity_Per_Assembly          -- Quantity of component in bill of material
179  * Inverse_Quantity               -- Inverse of the Quantity(Quantity 10 then Inverse Quanity = 1/10)
180  * Planning_Percent               -- Factor used to multiply component quantity with to obtain planning quantity
181  * Projected_Yield                -- The yield is the percentage of the component that survives the manufacturing process. A yield factor of 0.90 means that only 90% of
182                                      the usage quantity of the component on a bill actually survives to be incorporated into the finished assembly.
183  * Include_In_Cost_Rollup         -- Flag indicating if this component is to be used when rolling up costs
184  * Wip_Supply_Type                -- WIP supply type code
185  * So_Basis                       -- Quantity basis used by Oracle Order Management to determine how many units of component to put on an order
186  * Optional                       -- Flag indicating if component is optional in bill
187  * Mutually_Exclusive             -- Flag indicating if one or more children of component can be picked when taking an order
188  * Check_Atp                      -- Flag indicating if ATP check is required
189  * Shipping_Allowed               -- Flag indicating if component is allowed to ship
190  * Required_To_Ship               -- Flag indicating if component is required to ship
191  * Required_For_Revenue           -- Flag indicating if component is required for revenue
192  * Include_On_Ship_Docs           -- Flag indicating if component is displayed on shipping documents
193  * Quantity_Related               -- Identifier to indicate if this component has quantity related reference designators
194  * Supply_Subinventory            -- Supply subinventory
195  * Location_Name                  -- Supply locator name
196  * Minimum_Allowed_Quantity       -- Minimum quantity allowed on an order
197  * Maximum_Allowed_Quantity       -- Maximum quantity allowed on an order
198  * Comments                       -- Component comment
199  * Attribute_category             -- Descriptive flexfield structure defining column
200  * Attribute 1 to 15              -- Descriptive flexfield segments
201  * From_End_Item_Unit_Number      -- From End Item Unit Number if th component is unit effective
202  * New_From_End_Item_Unit_Number  -- The new From End Item Unit Number when the user want to update an existing From End Item Unit Number
203  * To_End_Item_Unit_Number        -- To End Item Unit Number if th component is unit effective
204  * Return_Status                  -- The component creation status,whether successful or error
205  * Transaction_Type               -- Defined below
206  * Original_System_Reference      -- Original system that data for the current record has come from.
207  * Delete_Group_Name              -- Delete group name for the entity type you are deleting
208  * DG_Description                 -- Description of the delete group
209  * Enforce_Int_Requirements       -- Enforce Integer Requirements
210  * Auto_Request_Material          --
211  * Row_Identifier                 -- A unique identifier value for the entity record.
212  * Suggested_Vendor_Name          -- Suggested vendor name will be used for direct items for EAM BOMs
213  * Unit_Price	                    -- Unit Price for direct items used by EAM BOMs
214  *</pre>
215  *
216  * ---------------------------------
217  *   Reference Designators Record
218  * ---------------------------------
219  *
220  *<code><pre>
221  * TYPE Bom_Ref_Designator_Rec_Type IS RECORD
222  * (  Organization_Code            VARCHAR2(3)
223  *  , Assembly_Item_Name           VARCHAR2(240)
224  *  , Start_Effective_Date         DATE
225  *  , Operation_Sequence_Number    NUMBER
226  *  , Component_Item_Name          VARCHAR2(240)
227  *  , Alternate_Bom_Code           VARCHAR2(10)
228  *  , Reference_Designator_Name    VARCHAR2(15)
229  *  , Ref_Designator_Comment       VARCHAR2(240)
230  *  , Attribute_category           VARCHAR2(30)
231  *  , Attribute1                   VARCHAR2(150)
232  *  , Attribute2                   VARCHAR2(150)
233  *  , Attribute3                   VARCHAR2(150)
234  *  , Attribute4                   VARCHAR2(150)
235  *  , Attribute5                   VARCHAR2(150)
236  *  , Attribute6                   VARCHAR2(150)
237  *  , Attribute7                   VARCHAR2(150)
238  *  , Attribute8                   VARCHAR2(150)
239  *  , Attribute9                   VARCHAR2(150)
240  *  , Attribute10                  VARCHAR2(150)
241  *  , Attribute11                  VARCHAR2(150)
242  *  , Attribute12                  VARCHAR2(150)
243  *  , Attribute13                  VARCHAR2(150)
244  *  , Attribute14                  VARCHAR2(150)
245  *  , Attribute15                  VARCHAR2(150)
246  *  , From_End_Item_Unit_Number    VARCHAR2(30)
247  *  , Original_System_Reference    VARCHAR2(50)
248  *  , New_Reference_Designator     VARCHAR2(15)
252  *)
249  *  , Return_Status                VARCHAR2(1)
250  *  , Transaction_Type             VARCHAR2(30)
251  *  , Row_Identifier               NUMBER          := null
253  *</pre></code>
254  *
255  * -----------------------
256  *      Parameters
257  * -----------------------
258  *
259  *<pre>
260  * Organization_Code                 -- Organization Code
261  * Assembly_Item_Name                -- Item name for which the Reference Designator is defined
262  * Start_Effective_Date              -- Date from which Reference Designator is effective
263  * Operation_Sequence_Number         -- Operation Sequence Number
264  * Component_Item_Name               -- Component Name in the Bill
265  * Alternate_Bom_Code                -- Structure Name
266  * Reference_Designator_Name         -- Reference Desigantor Name
267  * Ref_Designator_Comment            -- Comment for defining the Reference Designator
268  * Attribute_category                -- Descriptive flexfield structure defining column
269  * Attribute 1 to 15                 -- Descriptive flexfield segments
270  * From_End_Item_Unit_Number         -- From End Item Unti Number
271  * Original_System_Reference         -- Original system that data for the current record has come from.
272  * New_Reference_Designator          -- The new Reference Designator name when an already existing one needs to be changed.
273  * Return_Status                     -- Parocess Status ,whether successful or error
274  * Transaction_Type                  -- Defined Below
275  * Row_Identifier                    -- A unique identifier value for the entity record.
276  *</pre>
277  *
278  * --------------------------------------
279  *    Substitute Components Record
280  * --------------------------------------
281  *
282  *<code><pre>
283  * TYPE Sub_Component_Rec_Type IS RECORD
284  * (   Eco_Name                      VARCHAR2(10)
285  * ,   Organization_Code             VARCHAR2(3)
286  * ,   Revised_Item_Name             VARCHAR2(240)
287  * ,   Start_Effective_Date          DATE
288  * ,   New_Revised_Item_Revision     VARCHAR2(3)
289  * ,   Operation_Sequence_Number     NUMBER
290  * ,   Component_Item_Name           VARCHAR2(240)
291  * ,   Alternate_BOM_Code            VARCHAR2(10)
292  * ,   Substitute_Component_Name     VARCHAR2(240)
293  * ,   New_Substitute_Component_Name VARCHAR2(240)
294  * ,   Acd_Type                      NUMBER
295  * ,   Substitute_Item_Quantity      NUMBER
296  * ,   Attribute_category            VARCHAR2(30)
297  * ,   Attribute1                    VARCHAR2(150)
298  * ,   Attribute2                    VARCHAR2(150)
299  * ,   Attribute4                    VARCHAR2(150)
300  * ,   Attribute5                    VARCHAR2(150)
301  * ,   Attribute6                    VARCHAR2(150)
302  * ,   Attribute8                    VARCHAR2(150)
303  * ,   Attribute9                    VARCHAR2(150)
304  * ,   Attribute10                   VARCHAR2(150)
305  * ,   Attribute12                   VARCHAR2(150)
306  * ,   Attribute13                   VARCHAR2(150)
307  * ,   Attribute14                   VARCHAR2(150)
308  * ,   Attribute15                   VARCHAR2(150)
309  * ,   program_id                    NUMBER
310  * ,   Attribute3                    VARCHAR2(150)
311  * ,   Attribute7                    VARCHAR2(150)
312  * ,   Attribute11                   VARCHAR2(150)
313  * ,   Original_System_Reference     VARCHAR2(50)
314  * ,   From_End_Item_Unit_Number     VARCHAR2(30)
315  * ,   New_Routing_Revision          VARCHAR2(3)
316  * ,   Enforce_Int_Requirements      VARCHAR2(80)
317  * ,   Return_Status                 VARCHAR2(1)
318  * ,   Transaction_Type              VARCHAR2(30)
319  * ,   Row_Identifier                NUMBER          := null
320  * )
321  *</pre></code>
322  *
323  * -----------------------
324  *     Parameters
325  * -----------------------
326  *
327  *<pre>
328  * Most of the parameters hold the same meaning as explained in other record types.Those which are specific to
329  * this record type are
330  * Revised_Item_Name                  -- Name of the Revised Item
331  * Substitute_Component_Name          -- Name of the Substitute Component
332  * Acd_Type                           -- Add or delete code from an engineering change order
333  * Substitute_Item_Quantity           -- Quanitity of the Substitute Component
334  * </pre>
335  * Every process must have 'Transaction Type' at the Component level or Structure Header level as the case might be.
336  * Valid Transaction Types are Create,Update Delete or Sync.
337  * The Sync Transaction Type can be used when when it is required by the calling application to:
338  * 1.Create a Structure/BOM or child entities, if it does not exist.
339  * 2.Update the entities with the passed in values
340  * For eg. A oracle.apps.bom.structure.create event will be raised when a new Structure/BOM is created.
341  * @see Bom_Business_Event_PKG.G_COMPONENT_ADDED_EVENT
342  * @see Bom_Business_Event_PKG.G_COMPONENT_MODIFIED_EVENT
343  * @see Bom_Business_Event_PKG.G_COMPONENT_DEL_SUCCESS_EVENT
344  * @see Bom_Business_Event_PKG.G_ITEM_DEL_ERROR_EVENT
345  * @rep:scope public
346  * @rep:product BOM
347  * @rep:lifecycle active
348  * @rep:displayname Create,Add or Update Bill of Material Business Entities
349  * @rep:compatibility S
350  */
351 /***************************************************************************
352 --
353 --  Copyright (c) 1996 Oracle Corporation, Redwood Shores, CA, USA
354 --  All rights reserved.
355 --
356 --  FILENAME
357 --
358 --      BOMBBOMS.pls
359 --
363 --
360 --  DESCRIPTION
361 --
362 --      Spec of package Bom_BO_Pub
364 --  NOTES
365 --
366 --  HISTORY
367 --
368 --  30-JUN-99 Rahul Chitko  Initial Creation
369 --
370 --  20-AUG-01 Refai Farook  One To Many support changes
371 --
372 --  25-SEP-01 Refai Farook    Changes to the REV_COMP and BOM_COMP record structures(mass changes support for unit effctivity)
373 --  15-NOV-02   Anirban Dey     Added AUTO_REQUEST_METERIAL in the components structure(Bom_Comps_ Rec_Type)
374 -- 22-NOV-02   Vani Hymavathi   Added new column ROW_IDENTIFIER to all bo records
375 -- 28-JAN-03   Vani Hymavathi   Added new columns New_Substitute_Component_Name,New_Substitute_Component_Id--				   New_Additional_Op_Seq_Num, New_Additional_Op_Seq_Id to bo records
376 -- 23-APR-03    Refai Farook    Support for creating unimplemented BOMS (PLM)
377 -- 01-May-03    Sreejith Nell   Overloaded Method for PLM OA Pages Create Component
378 -- 16-Feb-04    Vani Hymavathi  added revision_label, revision_reason to revision record.
379 --
380 -- 26-APR-05   Abhishek Rudresh     Common BOM Attr Updates
381 -- 28-APR-05   Vani Hymavathi  Added basis_type to BOM_COMPS_TBL_TYPE and  Rev_Component_Rec_Type
382 -- 13-JUL-06   Bhavnesh Patel  Added support for Structure Type
383 ***************************************************************************/
384   --
385   -- Bill of Materials Header exposed record definition
386   --
387   TYPE Bom_Head_Rec_Type IS RECORD
388   (  Assembly_item_name           VARCHAR2(240) -- bug 2947642
389    , Organization_Code            VARCHAR2(3)
390    , Alternate_Bom_Code           VARCHAR2(10)
391    , Common_Assembly_Item_Name    VARCHAR2(240) -- bug 2947642
392    , Common_Organization_Code     VARCHAR2(3)
393    , Assembly_Comment             VARCHAR2(240)
394    , Assembly_Type                NUMBER
395    , Transaction_Type             VARCHAR2(30)
396    , Return_Status                VARCHAR2(1)
397    , Attribute_category           VARCHAR2(30)
398    , Attribute1                   VARCHAR2(150)
399    , Attribute2                   VARCHAR2(150)
400    , Attribute3                   VARCHAR2(150)
401    , Attribute4                   VARCHAR2(150)
402    , Attribute5                   VARCHAR2(150)
403    , Attribute6                   VARCHAR2(150)
404    , Attribute7                   VARCHAR2(150)
405    , Attribute8                   VARCHAR2(150)
406    , Attribute9                   VARCHAR2(150)
407    , Attribute10                  VARCHAR2(150)
408    , Attribute11                  VARCHAR2(150)
409    , Attribute12                  VARCHAR2(150)
410    , Attribute13                  VARCHAR2(150)
411    , Attribute14                  VARCHAR2(150)
412    , Attribute15                  VARCHAR2(150)
413    , Original_System_Reference    VARCHAR2(50)
414    , Delete_Group_Name            VARCHAR2(10)
415    , DG_Description               VARCHAR2(240)
416    , Row_Identifier               NUMBER          := null
417    , BOM_Implementation_Date      DATE
418    , Enable_Attrs_Update          VARCHAR2(1)  --Indicates whether common bom attribute are updateable.
419    , Structure_Type_Name          VARCHAR2(80)
420   );
421 
422 
423   TYPE Bom_Header_Tbl_Type IS TABLE OF Bom_Head_Rec_Type
424     INDEX BY BINARY_INTEGER;
425 
426 
427   --
428   -- Bill of Material Unexposed Record definition
429   --
430   TYPE Bom_Head_Unexposed_Rec_Type IS RECORD
431   (  Assembly_item_id   NUMBER
432    , Organization_id    NUMBER
433    , Common_Assembly_item_id  NUMBER
434    , Common_Organization_id NUMBER
435    , Assembly_Type    NUMBER
436    , Common_Bill_Sequence_Id  NUMBER
437    , Bill_Sequence_Id   NUMBER
438    , DG_Sequence_Id   NUMBER
439    , DG_Description   VARCHAR2(240)
440    , DG_New     BOOLEAN   := FALSE
441    , Structure_Type_Id    NUMBER
442    , Enable_Unimplemented_Boms  VARCHAR2(1)
443    , Source_Bill_Sequence_Id NUMBER
444    );
445 
446   TYPE Bom_Revision_Rec_Type IS RECORD
447   (  Assembly_Item_Name   VARCHAR2(240) -- bug 2947642
448    , Organization_Code    VARCHAR2(3)
449    , Revision                       VARCHAR2(3)
450    , Revision_Label                 VARCHAR2(80)
451    , Revision_Reason                VARCHAR2(30)
452    , Alternate_Bom_Code             VARCHAR2(10)
453    , Description                    VARCHAR2(240)
454    , Start_Effective_Date           DATE
455          , Transaction_Type         VARCHAR2(30)
456          , Return_Status            VARCHAR2(1)
457          , Attribute_category       VARCHAR2(30)
458          , Attribute1               VARCHAR2(150)
459          , Attribute2               VARCHAR2(150)
460          , Attribute3               VARCHAR2(150)
461          , Attribute4               VARCHAR2(150)
462          , Attribute5               VARCHAR2(150)
463          , Attribute6               VARCHAR2(150)
464          , Attribute7               VARCHAR2(150)
465          , Attribute8               VARCHAR2(150)
466          , Attribute9               VARCHAR2(150)
467          , Attribute10              VARCHAR2(150)
468          , Attribute11              VARCHAR2(150)
469          , Attribute12              VARCHAR2(150)
470          , Attribute13              VARCHAR2(150)
471          , Attribute14              VARCHAR2(150)
472          , Attribute15              VARCHAR2(150)
473          , Original_System_Reference    VARCHAR2(50)
474          , Row_Identifier            NUMBER          := null
475    );
476 
480   TYPE Bom_Rev_Unexposed_Rec_Type IS RECORD
477   TYPE Bom_Revision_Tbl_Type IS TABLE OF Bom_Revision_Rec_Type
478     INDEX BY BINARY_INTEGER;
479 
481   (  Assembly_Item_Id   NUMBER
482    , Organization_Id    NUMBER
483    );
484 
485 -- ECO Uses a different record structure for inventory components, Reference
486 -- Designator and substitute components than what BOM uses. So their are 2
487 -- ontrol record definition
488 
489   TYPE Control_Rec_Type IS RECORD
490   ( controlled_operation  BOOLEAN := FALSE
491   , check_existence       BOOLEAN := FALSE
492   , attribute_defaulting  BOOLEAN := FALSE
493   , entity_defaulting     BOOLEAN := FALSE
494   , entity_validation     BOOLEAN := FALSE
495   , process_entity        VARCHAR2(30) := 'ECO'
496   , write_to_db           BOOLEAN := FALSE
497   , last_updated_by       NUMBER  := NULL
498   , last_update_login     NUMBER  := NULL
499   , caller_type           VARCHAR2(10) := 'OI'
500                         -- Set to 'FORM' if a FORM calls the program
501   , validation_controller VARCHAR2(30) := 'NONE'
502                         -- The name a field that requires specific validation
503   , require_item_rev  NUMBER  := NULL
504   , unit_controlled_item  BOOLEAN := FALSE
505         , eco_assembly_type     NUMBER  := 1   -- Added by MK on 11/01/00
506   );
507 
508   G_DEFAULT_CONTROL_REC   Control_Rec_Type;
509 
510   TYPE Rev_Component_Rec_Type IS RECORD
511   (   Eco_Name          VARCHAR2(10)
512   ,   Organization_Code       VARCHAR2(3)
513   ,   Revised_Item_Name       VARCHAR2(240) -- bug 2947642
514   ,   New_revised_Item_Revision     VARCHAR2(3)
515   ,   Start_Effective_Date      DATE
516   ,   New_Effectivity_Date            DATE
517   ,   Disable_Date        DATE
518   ,   Operation_Sequence_Number     NUMBER
519   ,   Component_Item_Name       VARCHAR2(240) -- bug 2947642
520   ,   Alternate_BOM_Code        VARCHAR2(10)
521   ,   ACD_Type          NUMBER
522   ,   Old_Effectivity_Date      DATE
523   ,   Old_Operation_Sequence_Number   NUMBER
524   ,   New_Operation_Sequence_Number   NUMBER
525   ,   Item_Sequence_Number      NUMBER
526   ,   Basis_Type		NUMBER
527   ,   Quantity_Per_Assembly     NUMBER
528   ,   Inverse_Quantity		NUMBER
529   ,   Planning_Percent        NUMBER
530   ,   Projected_Yield       NUMBER
531   ,   Include_In_Cost_Rollup          NUMBER
532   ,   Wip_Supply_Type                 NUMBER
533   ,   So_Basis                        NUMBER
534   ,   Optional                        NUMBER
535   ,   Mutually_Exclusive              NUMBER
536   ,   Check_Atp                       NUMBER
537   ,   Shipping_Allowed                NUMBER
538   ,   Required_To_Ship                NUMBER
539   ,   Required_For_Revenue            NUMBER
540   ,   Include_On_Ship_Docs            NUMBER
541   ,   Quantity_Related                NUMBER
542   ,   Supply_Subinventory             VARCHAR2(10)
543   ,   Location_Name           VARCHAR2(81)
544   ,   Minimum_Allowed_Quantity      NUMBER
545   ,   Maximum_Allowed_Quantity      NUMBER
546   ,   comments          VARCHAR2(240)
547   ,   cancel_comments       VARCHAR2(240)
548   ,   Attribute_category              VARCHAR2(30)
549   ,   Attribute1                      VARCHAR2(150)
550   ,   Attribute2                      VARCHAR2(150)
551   ,   Attribute3                      VARCHAR2(150)
552   ,   Attribute4                      VARCHAR2(150)
553   ,   Attribute5                      VARCHAR2(150)
554   ,   Attribute6                      VARCHAR2(150)
555   ,   Attribute7                      VARCHAR2(150)
556   ,   Attribute8                      VARCHAR2(150)
557   ,   Attribute9                      VARCHAR2(150)
558   ,   Attribute10                     VARCHAR2(150)
559   ,   Attribute11                     VARCHAR2(150)
560   ,   Attribute12                     VARCHAR2(150)
561   ,   Attribute13                     VARCHAR2(150)
562   ,   Attribute14                     VARCHAR2(150)
563   ,   Attribute15                     VARCHAR2(150)
564   ,   From_End_Item_Unit_Number       VARCHAR2(30)
565         ,   Old_From_End_Item_Unit_Number   VARCHAR2(30)
566         ,   New_From_End_Item_Unit_Number   VARCHAR2(30)
567   ,   To_End_Item_Unit_Number         VARCHAR2(30)
568   ,   New_Routing_Revision      VARCHAR2(3)    -- Added by MK on 11/02/00
569         , Enforce_Int_Requirements           VARCHAR2(80)    -- 11.5.7 Enhancement 2101381
570         ,  Auto_Request_Material            VARCHAR2(1)    -- Added in 11.5.9 by ADEY
571 	,  Suggested_Vendor_Name	VARCHAR2(240) --- Deepu
572 --	,  Purchasing_Category  VARCHAR2() --- Deepu
573 --	,  Purchasing_Category_Id  NUMBER --- Deepu --- move to unexposed??
574 	,  Unit_Price		NUMBER --- Deepu
575   ,   Original_System_Reference     VARCHAR2(50)
576   ,   Return_Status                   VARCHAR2(1)
577   ,   Transaction_Type        VARCHAR2(30)
578         , Row_Identifier              NUMBER          := null --Added by vhymavat for 11.5.9
579 );
580 
581   TYPE Rev_Component_Tbl_Type IS TABLE OF Rev_Component_Rec_Type
582       INDEX BY BINARY_INTEGER;
583 
584   -- Revised Component Unexposed Column Record
585   TYPE Rev_Comp_Unexposed_Rec_Type IS RECORD
586   (   Organization_Id       NUMBER
587   ,   Component_Item_Id       NUMBER
588   ,   Old_Component_Sequence_Id       NUMBER
589   ,   Component_Sequence_Id     NUMBER
590   ,   Bill_Sequence_Id        NUMBER
591   ,   Pick_Components       NUMBER
595   ,   Revised_Item_Id       NUMBER
592   ,   Supply_Locator_Id       NUMBER
593   ,   Revised_Item_Sequence_Id      NUMBER
594   ,   Bom_Item_Type       NUMBER
596   ,   Include_On_Bill_Docs      NUMBER
597         ,   Delete_Group_Name               VARCHAR2(10)    -- Added in 1155
598         ,   DG_Description                  VARCHAR2(240)   -- Added in 1155
599         ,   DG_Sequence_Id                  NUMBER           -- Added in 1155
600         ,   Enforce_Int_Requirements_Code   NUMBER        -- 11.5.7 Enhancement 2101381
601         ,   Rowid                           VARCHAR2(50)
602   ,   BOM_Implementation_Date     DATE
603   ,   Vendor_Id		NUMBER --- Deepu
604   ,   Common_Component_Sequence_Id NUMBER
605   );
606 
607   --  Ref_Designator record type
608 
609   TYPE Ref_Designator_Rec_Type IS RECORD
610   (   Eco_Name          VARCHAR2(10)
611   ,   Organization_Code       VARCHAR2(3)
612   ,   Revised_Item_Name       VARCHAR2(240) -- bug 2947642
613   ,   Start_Effective_Date      DATE
614   ,   New_Revised_Item_Revision     VARCHAR2(3)
615   ,   Operation_Sequence_Number     NUMBER
616   ,   Component_Item_Name       VARCHAR2(240) -- bug 2947642
617   ,   Alternate_Bom_Code        VARCHAR2(10)
618   ,   Reference_Designator_Name     VARCHAR2(15)
619   ,   ACD_Type          NUMBER
620   ,   Ref_Designator_Comment      VARCHAR2(240)
621   ,   Attribute_category            VARCHAR2(30)
622   ,   Attribute1                    VARCHAR2(150)
623   ,   Attribute2                    VARCHAR2(150)
624   ,   Attribute3                    VARCHAR2(150)
625   ,   Attribute4                    VARCHAR2(150)
626   ,   Attribute5                    VARCHAR2(150)
627   ,   Attribute6                    VARCHAR2(150)
628   ,   Attribute7                    VARCHAR2(150)
629   ,   Attribute8                    VARCHAR2(150)
630   ,   Attribute9                    VARCHAR2(150)
631   ,   Attribute10                   VARCHAR2(150)
632   ,   Attribute11                   VARCHAR2(150)
633   ,   Attribute12                   VARCHAR2(150)
634   ,   Attribute13                   VARCHAR2(150)
635   ,   Attribute14                   VARCHAR2(150)
636   ,   Attribute15                   VARCHAR2(150)
637   ,   Original_System_Reference   VARCHAR2(50)
638   ,   New_Reference_Designator      VARCHAR2(15)
639   ,   From_End_Item_Unit_Number     VARCHAR2(30)     -- Added by MK on 11/02/00
640   ,   New_Routing_Revision          VARCHAR2(3)    -- Added by MK on 11/02/00
641   ,   Return_Status                 VARCHAR2(1)
642   ,   Transaction_Type      VARCHAR2(30)
643          , Row_Identifier              NUMBER          := null --Added by vhymavat for 11.5.9
644 
645  );
646 
647   TYPE Ref_Designator_Tbl_Type IS TABLE OF Ref_Designator_Rec_Type
648       INDEX BY BINARY_INTEGER;
649 
650   -- Reference Designator Unexposed Column Record
651   TYPE Ref_Desg_Unexposed_Rec_Type IS RECORD
652   (   Organization_Id       NUMBER
653   ,   Component_Item_Id       NUMBER
654   ,   Component_Sequence_Id     NUMBER
655   ,   Revised_Item_Id       NUMBER
656   ,   Bill_Sequence_Id        NUMBER
657   ,   Revised_Item_Sequence_Id      NUMBER
658   );
659 
660   --  Sub_Component record type
661 
662   TYPE Sub_Component_Rec_Type IS RECORD
663   (   Eco_Name              VARCHAR2(10)
664   ,   Organization_Code       VARCHAR2(3)
665   ,   Revised_Item_Name       VARCHAR2(240) -- bug 2947642
666   ,   Start_Effective_Date      DATE
667   ,   New_Revised_Item_Revision     VARCHAR2(3)
668   ,   Operation_Sequence_Number     NUMBER
669   ,   Component_Item_Name       VARCHAR2(240) -- bug 2947642
670   ,   Alternate_BOM_Code        VARCHAR2(10)
671 --  ,   Substitute_Component_Name     VARCHAR2(81)
672 --  ,   New_Substitute_Component_Name   VARCHAR2(81)   --Added by vhymavat for 11.5.9 enh, 2762683
673   ,   Substitute_Component_Name     VARCHAR2(240) -- bug 2947642
674   ,   New_Substitute_Component_Name   VARCHAR2(240) -- bug 2947642
675   ,   Acd_Type                      NUMBER
676   ,   Substitute_Item_Quantity      NUMBER
677   ,   Attribute_category            VARCHAR2(30)
678   ,   Attribute1                    VARCHAR2(150)
679   ,   Attribute2                    VARCHAR2(150)
680   ,   Attribute4                    VARCHAR2(150)
681   ,   Attribute5                    VARCHAR2(150)
682   ,   Attribute6                    VARCHAR2(150)
683   ,   Attribute8                    VARCHAR2(150)
684   ,   Attribute9                    VARCHAR2(150)
685   ,   Attribute10                   VARCHAR2(150)
686   ,   Attribute12                   VARCHAR2(150)
687   ,   Attribute13                   VARCHAR2(150)
688   ,   Attribute14                   VARCHAR2(150)
689   ,   Attribute15                   VARCHAR2(150)
690   ,   program_id                    NUMBER
691   ,   Attribute3                    VARCHAR2(150)
692   ,   Attribute7                    VARCHAR2(150)
693   ,   Attribute11                   VARCHAR2(150)
694   ,   Original_System_Reference   VARCHAR2(50)
695         ,   From_End_Item_Unit_Number     VARCHAR2(30)     -- Added by MK on 11/02/00
696         ,   New_Routing_Revision          VARCHAR2(3)      -- Added by MK on 11/02/00
697         , Enforce_Int_Requirements           VARCHAR2(80)    -- 11.5.7 Enhancement 2101381
698   ,   Return_Status                 VARCHAR2(1)
699   ,   Transaction_Type        VARCHAR2(30)
700   , Row_Identifier              NUMBER          := null --Added by vhymavat for 11.5.9
701  , Inverse_Quantity            NUMBER
702 
706   TYPE Sub_Component_Tbl_Type IS TABLE OF Sub_Component_Rec_Type
703  );
704 
705 
707       INDEX BY BINARY_INTEGER;
708 
709   TYPE Sub_Comp_Unexposed_Rec_Type IS RECORD
710   (   Organization_Id      NUMBER
711   ,   Component_Item_Id      NUMBER
712   ,   Component_Sequence_Id    NUMBER
713   ,   Revised_Item_Id      NUMBER
714   ,   Substitute_Component_Id    NUMBER
715   ,   New_Substitute_Component_Id    NUMBER   --Added by vhymavat for 11.5.9 enh, 2762683
716   ,   Bill_Sequence_Id       NUMBER
717   ,   Revised_Item_Sequence_Id     NUMBER
718         , Enforce_Int_Requirements_Code  NUMBER            -- 11.5.7 Enhancement 2101381
719   );
720 
721 
722   --
723   -- Inventory Components Exposed Record definition
724   --
725   TYPE Bom_Comps_Rec_Type IS RECORD
726   (  Organization_Code    VARCHAR2(3)
727    , Assembly_Item_Name   VARCHAR2(240) -- bug 2947642
728    , Start_Effective_Date   DATE
729    , Disable_Date     DATE
730    , Operation_Sequence_Number  NUMBER
731    , Component_Item_Name    VARCHAR2(240) -- bug 2947642
732    , Alternate_BOM_Code   VARCHAR2(10)
733    , New_Effectivity_Date   DATE
734    , New_Operation_Sequence_Number NUMBER
735    , Item_Sequence_Number   NUMBER
736    , Basis_Type     	    NUMBER
737    , Quantity_Per_Assembly  NUMBER
738    , Inverse_Quantity          NUMBER
739    , Planning_Percent   NUMBER
740    , Projected_Yield    NUMBER
741    , Include_In_Cost_Rollup NUMBER
742    , Wip_Supply_Type    NUMBER
743    , So_Basis     NUMBER
744    , Optional     NUMBER
745    , Mutually_Exclusive   NUMBER
746    , Check_Atp      NUMBER
747    , Shipping_Allowed   NUMBER
748    , Required_To_Ship   NUMBER
749    , Required_For_Revenue   NUMBER
750    , Include_On_Ship_Docs   NUMBER
751    , Quantity_Related   NUMBER
752    , Supply_Subinventory    VARCHAR2(10)
753    , Location_Name        VARCHAR2(81)
754    , Minimum_Allowed_Quantity NUMBER
755    , Maximum_Allowed_Quantity NUMBER
756    , Comments     VARCHAR2(240)
757    , Attribute_category   VARCHAR2(30)
758    , Attribute1           VARCHAR2(150)
759    , Attribute2           VARCHAR2(150)
760    , Attribute3           VARCHAR2(150)
761    , Attribute4           VARCHAR2(150)
762    , Attribute5           VARCHAR2(150)
763    , Attribute6           VARCHAR2(150)
764    , Attribute7           VARCHAR2(150)
765    , Attribute8           VARCHAR2(150)
766    , Attribute9           VARCHAR2(150)
767    , Attribute10          VARCHAR2(150)
768    , Attribute11          VARCHAR2(150)
769    , Attribute12          VARCHAR2(150)
770    , Attribute13          VARCHAR2(150)
771    , Attribute14          VARCHAR2(150)
772    , Attribute15          VARCHAR2(150)
773          , From_End_Item_Unit_Number    VARCHAR2(30)
774          , New_From_End_Item_Unit_Number   VARCHAR2(30)
775          , To_End_Item_Unit_Number      VARCHAR2(30)
776    , Return_Status        VARCHAR2(1)
777    , Transaction_Type   VARCHAR2(30)
778    , Original_System_Reference  VARCHAR2(50)
779          , Delete_Group_Name            VARCHAR2(10)      -- Added in 1155
780          , DG_Description               VARCHAR2(240)     -- Added in 1155
781         , Enforce_Int_Requirements       VARCHAR2(80)       -- 11.5.7 Enhancement 2101381
782         , Auto_Request_Material        VARCHAR2(1)      -- Added in 11.5.9 by ADEY
786 --	,  Purchasing_Category_Id  NUMBER --- Deepu --- move to unexposed??
783         , Row_Identifier              NUMBER          := null --Added by vhymavat for 11.5.9
784 	,  Suggested_Vendor_Name VARCHAR2(240) --- Deepu
785 --	,  Purchasing_Category  VARCHAR2(50) --- Deepu
787 	,  Unit_Price		NUMBER --- Deepu
788   );
789 
790         TYPE Bom_Comps_Tbl_Type IS TABLE OF Bom_Comps_Rec_Type
791             INDEX BY BINARY_INTEGER;
792 
793   --
794   -- Inventory Components Unexposed Record Definition
795   --
796   TYPE Bom_Comps_Unexposed_Rec_Type IS RECORD
797   (  Assembly_Item_Id   NUMBER
798    , Organization_Id    NUMBER
799    , Supply_Locator_Id    NUMBER
800    , Component_Item_Id    NUMBER
801    , Component_Sequence_Id  NUMBER
802    , Pick_Components    NUMBER
803    , Bill_Sequence_Id   NUMBER
804    , Include_On_Bill_Docs   NUMBER
805    , Bom_Item_Type    NUMBER
806          , DG_Sequence_Id               NUMBER            -- Added in 1155
807          , Enforce_Int_Requirements_Code  NUMBER            -- 11.5.7 Enhancement 2101381
808          , Rowid                        VARCHAR2(50)
809    , BOM_Implementation_Date  DATE
810    , Vendor_Id	NUMBER --- Deepu
811    , Common_Component_Sequence_Id  NUMBER
812    );
813 
814   --
815   -- Reference Designator Exposed Record Definition
816   --
817   TYPE Bom_Ref_Designator_Rec_Type IS RECORD
818   (  Organization_Code            VARCHAR2(3)
819    , Assembly_Item_Name           VARCHAR2(240) -- bug 2947642
820    , Start_Effective_Date         DATE
821    , Operation_Sequence_Number    NUMBER
822    , Component_Item_Name          VARCHAR2(240) -- bug 2947642
823    , Alternate_Bom_Code           VARCHAR2(10)
824    , Reference_Designator_Name    VARCHAR2(15)
825    , Ref_Designator_Comment       VARCHAR2(240)
826    , Attribute_category           VARCHAR2(30)
827    , Attribute1                   VARCHAR2(150)
828    , Attribute2                   VARCHAR2(150)
829    , Attribute3                   VARCHAR2(150)
830    , Attribute4                   VARCHAR2(150)
831    , Attribute5                   VARCHAR2(150)
832    , Attribute6                   VARCHAR2(150)
833    , Attribute7                   VARCHAR2(150)
834    , Attribute8                   VARCHAR2(150)
835    , Attribute9                   VARCHAR2(150)
836    , Attribute10                  VARCHAR2(150)
837    , Attribute11                  VARCHAR2(150)
838    , Attribute12                  VARCHAR2(150)
839    , Attribute13                  VARCHAR2(150)
840    , Attribute14                  VARCHAR2(150)
841    , Attribute15                  VARCHAR2(150)
842    , From_End_Item_Unit_Number    VARCHAR2(30)
843    , Original_System_Reference    VARCHAR2(50)
844    , New_Reference_Designator     VARCHAR2(15)
845    , Return_Status                VARCHAR2(1)
846    , Transaction_Type             VARCHAR2(30)
847         , Row_Identifier              NUMBER          := null --Added by vhymavat for 11.5.9
848   );
849 
850   TYPE Bom_Ref_Desg_Unexp_Rec_Type IS RECORD
851   (  Organization_Id    NUMBER
852    , Assembly_Item_Id   NUMBER
853    , Component_Item_Id    NUMBER
854    , Component_Sequence_Id  NUMBER
855    , Bill_Sequence_Id   NUMBER
856    );
857 
858   TYPE Bom_Ref_Designator_Tbl_Type IS TABLE OF Bom_Ref_Designator_Rec_Type
859       INDEX BY BINARY_INTEGER;
860 
861         --  Sub_Component record type
862 
863         TYPE Bom_Sub_Component_Rec_Type IS RECORD
864   (   Organization_Code             VARCHAR2(3)
865         ,   Assembly_Item_Name            VARCHAR2(240) -- bug 2947642
866         ,   Start_Effective_Date          DATE
867         ,   Operation_Sequence_Number     NUMBER
868         ,   Component_Item_Name           VARCHAR2(240) -- bug 2947642
869         ,   Alternate_BOM_Code            VARCHAR2(10)
870 --        ,   Substitute_Component_Name     VARCHAR2(81)
871 --        ,   New_Substitute_Component_Name     VARCHAR2(81) --Added by vhymavat for 11.5.9 enh, 2762683
872         ,   Substitute_Component_Name     VARCHAR2(240) -- bug 2947642
873         ,   New_Substitute_Component_Name     VARCHAR2(240) -- bug 2947642
874         ,   Substitute_Item_Quantity      NUMBER
875   ,   Attribute_category            VARCHAR2(30)
876         ,   Attribute1                    VARCHAR2(150)
877         ,   Attribute2                    VARCHAR2(150)
878         ,   Attribute4                    VARCHAR2(150)
879         ,   Attribute5                    VARCHAR2(150)
880         ,   Attribute6                    VARCHAR2(150)
881         ,   Attribute8                    VARCHAR2(150)
882         ,   Attribute9                    VARCHAR2(150)
883         ,   Attribute10                   VARCHAR2(150)
884         ,   Attribute12                   VARCHAR2(150)
885         ,   Attribute13                   VARCHAR2(150)
886         ,   Attribute14                   VARCHAR2(150)
887         ,   Attribute15                   VARCHAR2(150)
888         ,   program_id                    NUMBER
889         ,   Attribute3                    VARCHAR2(150)
890         ,   Attribute7                    VARCHAR2(150)
891         ,   Attribute11                   VARCHAR2(150)
892   , From_End_Item_Unit_Number       VARCHAR2(30)
893         , Enforce_Int_Requirements           VARCHAR2(80)    -- 11.5.7 Enhancement 2101381
894         ,   Original_System_Reference     VARCHAR2(50)
895         ,   Return_Status                 VARCHAR2(1)
899   );
896         ,   Transaction_Type              VARCHAR2(30)
897   , Row_Identifier              NUMBER          := null --Added by vhymavat for 11.5.9
898          ,   Inverse_Quantity              NUMBER             --  Added by hgelli for R12
900 
901   TYPE Bom_Sub_Component_Tbl_Type  IS TABLE OF Bom_Sub_Component_Rec_Type
902             INDEX BY BINARY_INTEGER;
903 
904         TYPE Bom_Sub_Comp_Unexp_Rec_Type IS RECORD
905         (   Organization_Id                NUMBER
906         ,   Component_Item_Id              NUMBER
907         ,   Component_Sequence_Id          NUMBER
908         ,   Substitute_Component_Id        NUMBER
909         ,   New_Substitute_Component_Id        NUMBER        --Added by vhymavat for 11.5.9 enh, 2762683
910         ,   Bill_Sequence_Id               NUMBER
911   ,   Assembly_Item_Id       NUMBER
912         , Enforce_Int_Requirements_Code  NUMBER            -- 11.5.7 Enhancement 2101381
913         );
914 
915   --
916   -- Component Operations Exposed Record definition (One to Many changes)
917   --
918   TYPE Bom_Comp_Ops_Rec_Type IS RECORD
919   (  Organization_Code    VARCHAR2(3)
920    , Assembly_Item_Name   VARCHAR2(240) -- bug 2947642
921    , Start_Effective_Date   DATE
922          , From_End_Item_Unit_Number    VARCHAR2(30)
923          , To_End_Item_Unit_Number      VARCHAR2(30)
924    , Operation_Sequence_Number  NUMBER
925    , Additional_Operation_Seq_Num NUMBER
926    , New_Additional_Op_Seq_Num  NUMBER    --Added by vhymavat for 11.5.9 enh, 2762683
927    , Component_Item_Name    VARCHAR2(240) -- bug 2947642
928    , Alternate_BOM_Code   VARCHAR2(10)
929    , Attribute_category   VARCHAR2(30)
930    , Attribute1           VARCHAR2(150)
931    , Attribute2           VARCHAR2(150)
932    , Attribute3           VARCHAR2(150)
933    , Attribute4           VARCHAR2(150)
934    , Attribute5           VARCHAR2(150)
935    , Attribute6           VARCHAR2(150)
936    , Attribute7           VARCHAR2(150)
937    , Attribute8           VARCHAR2(150)
938    , Attribute9           VARCHAR2(150)
939    , Attribute10          VARCHAR2(150)
940    , Attribute11          VARCHAR2(150)
941    , Attribute12          VARCHAR2(150)
942    , Attribute13          VARCHAR2(150)
943    , Attribute14          VARCHAR2(150)
944    , Attribute15          VARCHAR2(150)
945    , Return_Status        VARCHAR2(1)
946    , Transaction_Type   VARCHAR2(30)
947   , Row_Identifier              NUMBER          := null --Added by vhymavat for 11.5.9
948   );
949 
950         TYPE Bom_Comp_Ops_Tbl_Type  IS TABLE OF Bom_Comp_Ops_Rec_Type
951             INDEX BY BINARY_INTEGER;
952 
953   --
954   -- Component Opeeations Unexposed Record Definition
955   --
956   TYPE Bom_Comp_Ops_Unexp_Rec_Type IS RECORD
957   (  Assembly_Item_Id   NUMBER
958    , Organization_Id    NUMBER
959    , Component_Item_Id    NUMBER
960    , Component_Sequence_Id  NUMBER
961    , Bill_Sequence_Id   NUMBER
962    , Additional_Operation_Seq_Id  NUMBER
963    , New_Additional_Op_Seq_Id NUMBER     --Added by vhymavat for 11.5.9 enh, 2762683
964    , Comp_Operation_Seq_Id  NUMBER
965    , Disable_Date     DATE
966          , Rowid                        VARCHAR2(50)
967    );
968 
969         -- Product Family header rec type
970         --
971 
972         TYPE Bom_Product_Rec_Type IS RECORD
973         (  Assembly_item_name           VARCHAR2(240)
974          , Organization_code            VARCHAR2(3)
975          , Attribute_Category           VARCHAR2(30)
976          , Attribute1                   VARCHAR2(150)
977          , Attribute2                   VARCHAR2(150)
978          , Attribute3                   VARCHAR2(150)
979          , Attribute4                   VARCHAR2(150)
980          , Attribute5                   VARCHAR2(150)
981          , Attribute6                   VARCHAR2(150)
982          , Attribute7                   VARCHAR2(150)
983          , Attribute8                   VARCHAR2(150)
984          , Attribute9                   VARCHAR2(150)
985          , Attribute10                  VARCHAR2(150)
986          , Attribute11                  VARCHAR2(150)
987          , Attribute12                  VARCHAR2(150)
988          , Attribute13                  VARCHAR2(150)
989          , Attribute14                  VARCHAR2(150)
990          , Attribute15                  VARCHAR2(150)
991          , Delete_Group_Name            VARCHAR2(10)
992          , DG_Description               VARCHAR2(240)
996 
993          , Row_Identifier               NUMBER := null
994          , Transaction_Type             VARCHAR2(30)
995          , Return_Status                VARCHAR2(1));
997 
998 	TYPE Bom_Product_Tab_Type IS TABLE OF Bom_Product_Rec_Type
999               INDEX BY BINARY_INTEGER;
1000 
1001         --
1002         -- Product Family Members rec type
1003         --
1004 
1005         Type Bom_Product_Member_Rec_Type is RECORD
1006         (  Assembly_item_name           VARCHAR2(240)
1007          , Organization_code            VARCHAR2(3)
1008          , Component_item_name          VARCHAR2(240)
1009          , Planning_percent             NUMBER
1010          , Old_effectivity_date         DATE
1011          , Start_effective_date         DATE
1012          , New_effectivity_date         DATE
1013          , Disable_date                 DATE
1014          , Comments                     VARCHAR2(240)
1015          , Attribute_category           VARCHAR2(30)
1016          , Attribute1                   VARCHAR2(150)
1017          , Attribute2                   VARCHAR2(150)
1018          , Attribute3                   VARCHAR2(150)
1019          , Attribute4                   VARCHAR2(150)
1020          , Attribute5                   VARCHAR2(150)
1021          , Attribute6                   VARCHAR2(150)
1022          , Attribute7                   VARCHAR2(150)
1023          , Attribute8                   VARCHAR2(150)
1024          , Attribute9                   VARCHAR2(150)
1025 	 , Attribute10                  VARCHAR2(150)
1026          , Attribute11                  VARCHAR2(150)
1027          , Attribute12                  VARCHAR2(150)
1028          , Attribute13                  VARCHAR2(150)
1029          , Attribute14                  VARCHAR2(150)
1030          , Attribute15                  VARCHAR2(150)
1031          , Delete_group_name            VARCHAR2(10)
1032          , Dg_description               VARCHAR2(240)
1033          , Return_status                VARCHAR2(1)
1034          , Transaction_type             VARCHAR2(30));
1035 
1036         TYPE Bom_Product_Mem_Tab_Type IS TABLE OF Bom_Product_Member_Rec_Type
1037          INDEX BY BINARY_INTEGER;
1038   --
1039   --
1040   -- Missing Records for BOM BO
1041   --
1042   G_MISS_BOM_HEADER_REC   Bom_Bo_Pub.Bom_Head_Rec_Type;
1043   G_MISS_BOM_HEADER_TBL   Bom_Bo_Pub.Bom_Header_Tbl_Type;
1044   G_MISS_BOM_COMPONENT_REC  Bom_Bo_Pub.Bom_Comps_Rec_Type;
1048   G_MISS_BOM_REF_DESG_UNEXP_REC Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type;
1045   G_MISS_BOM_COMP_UNEXP_REC Bom_Bo_Pub.Bom_Comps_Unexposed_Rec_type;
1046   G_MISS_BOM_COMPONENT_TBL  Bom_Bo_Pub.Bom_Comps_Tbl_Type;
1047   G_MISS_BOM_REF_DESIGNATOR_REC Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type;
1049   G_MISS_BOM_REF_DESIGNATOR_TBL Bom_Bo_Pub.Bom_Ref_Designator_Tbl_Type;
1050   G_MISS_BOM_SUB_COMPONENT_REC  Bom_Bo_Pub.Bom_Sub_Component_Rec_Type;
1051   G_MISS_BOM_SUB_COMP_UNEXP_REC Bom_Bo_Pub.Bom_Sub_Comp_Unexp_Rec_Type;
1052   G_MISS_BOM_SUB_COMPONENT_TBL  Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type;
1053   G_MISS_BOM_REVISION_REC   Bom_Bo_Pub.Bom_Revision_Rec_Type;
1054   G_MISS_BOM_REV_UNEXP_REC  Bom_Bo_Pub.Bom_Rev_Unexposed_Rec_Type;
1055   G_MISS_BOM_REVISION_TBL   Bom_Bo_Pub.Bom_Revision_Tbl_Type;
1056 
1057         /* One to Many changes */
1058   G_MISS_BOM_COMP_OPS_REC   Bom_Bo_Pub.Bom_Comp_Ops_Rec_Type;
1059   G_MISS_BOM_COMP_OPS_UNEXP_REC Bom_Bo_Pub.Bom_Comp_Ops_Unexp_Rec_type;
1060   G_MISS_BOM_COMP_OPS_TBL   Bom_Bo_Pub.Bom_Comp_Ops_Tbl_Type;
1061 
1062 	/* Product Family changes */
1063   G_MISS_BOM_PRD_REC		Bom_Bo_Pub.Bom_Product_Rec_Type;
1064   G_MISS_BOM_PRD_CMP_TBL		Bom_Bo_Pub.Bom_Product_Mem_Tab_Type;
1065 
1066   --
1067   -- Missing Records for ENG BO
1068   --
1069   G_MISS_REF_DESIGNATOR_REC Bom_Bo_Pub.Ref_Designator_Rec_Type;
1070   G_MISS_REF_DESG_UNEXP_REC Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
1071   G_MISS_REV_COMPONENT_REC  Bom_Bo_Pub.Rev_Component_Rec_Type;
1072   G_MISS_REV_COMP_UNEXP_REC Bom_Bo_Pub.Rev_Comp_Unexposed_Rec_Type;
1073   G_MISS_SUB_COMPONENT_REC  Bom_Bo_Pub.Sub_Component_Rec_Type;
1074   G_MISS_SUB_COMP_UNEXP_REC Bom_Bo_Pub.Sub_Comp_Unexposed_Rec_Type;
1075   G_MISS_REV_COMPONENT_TBL  Bom_Bo_Pub.Rev_Component_Tbl_Type;
1076   G_MISS_REF_DESIGNATOR_TBL Bom_Bo_Pub.Ref_Designator_Tbl_Type;
1077   G_MISS_SUB_COMPONENT_TBL  Bom_Bo_Pub.Sub_Component_Tbl_Type;
1078 
1079 
1080   PROCEDURE Convert_BomComp_To_EcoComp
1081   (  p_bom_component_rec  IN  Bom_Bo_Pub.Bom_Comps_Rec_Type :=
1082           Bom_Bo_Pub.G_MISS_BOM_COMPONENT_REC
1083    , p_bom_comp_unexp_rec IN  Bom_Bo_Pub.Bom_Comps_Unexposed_Rec_Type :=
1084           Bom_Bo_Pub.G_MISS_BOM_COMP_UNEXP_REC
1085    , x_rev_component_rec  IN OUT NOCOPY Bom_Bo_Pub.Rev_Component_Rec_Type
1086    , x_rev_comp_unexp_rec IN OUT NOCOPY Bom_Bo_Pub.Rev_Comp_Unexposed_Rec_Type
1087    );
1088 
1089   PROCEDURE Convert_EcoComp_To_BomComp
1090   (  p_rev_component_rec  IN  Bom_Bo_Pub.Rev_Component_Rec_Type :=
1091             Bom_Bo_Pub.G_MISS_REV_COMPONENT_REC
1092          , p_rev_comp_unexp_rec IN  Bom_Bo_Pub.Rev_Comp_Unexposed_Rec_Type :=
1093             Bom_Bo_Pub.G_MISS_REV_COMP_UNEXP_REC
1094    , x_bom_component_rec  IN OUT NOCOPY Bom_Bo_Pub.Bom_Comps_Rec_Type
1095          , x_bom_comp_unexp_rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Comps_Unexposed_Rec_Type
1096          );
1097 
1098 
1099   PROCEDURE Convert_BomDesg_To_EcoDesg
1100   (  p_bom_ref_designator_rec IN  Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
1101             := Bom_Bo_Pub.G_MISS_BOM_REF_DESIGNATOR_REC
1102    , p_bom_ref_desg_unexp_rec IN  Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
1103             := Bom_Bo_Pub.G_MISS_BOM_REF_DESG_UNEXP_REC
1104    , x_ref_designator_rec     IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
1105    , x_ref_desg_unexp_rec     IN OUT NOCOPY Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
1106    );
1107 
1108         PROCEDURE Convert_EcoDesg_To_BomDesg
1109         (  p_ref_designator_rec     IN  Bom_Bo_Pub.Ref_Designator_Rec_Type
1110             := Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
1111          , p_ref_desg_unexp_rec     IN  Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
1112             := Bom_Bo_Pub.G_MISS_REF_DESG_UNEXP_REC
1113    , x_bom_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
1114          , x_bom_ref_desg_unexp_rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
1115          );
1116 
1117   PROCEDURE Convert_BomSComp_To_EcoSComp
1118   (  p_bom_sub_component_rec  IN  Bom_Bo_Pub.Bom_Sub_Component_Rec_Type
1119             := Bom_Bo_Pub.G_MISS_BOM_SUB_COMPONENT_REC
1120    , p_bom_sub_comp_unexp_rec IN  Bom_Bo_Pub.Bom_Sub_Comp_Unexp_Rec_Type
1121             := Bom_Bo_Pub.G_MISS_BOM_SUB_COMP_UNEXP_REC
1122    , x_sub_component_rec      IN OUT NOCOPY Bom_Bo_Pub.Sub_Component_Rec_Type
1123    , x_sub_comp_unexp_rec     IN OUT NOCOPY Bom_Bo_Pub.Sub_Comp_Unexposed_Rec_Type
1124    );
1125 
1126   PROCEDURE Convert_EcoSComp_To_BomSComp
1127   (  p_sub_component_rec      IN  Bom_Bo_Pub.Sub_Component_Rec_Type
1128             := Bom_Bo_Pub.G_MISS_SUB_COMPONENT_REC
1129          , p_sub_comp_unexp_rec     IN  Bom_Bo_Pub.Sub_Comp_Unexposed_Rec_Type
1130             := Bom_bo_Pub.G_MISS_SUB_COMP_UNEXP_REC
1131    , x_bom_sub_component_rec  IN OUT NOCOPY Bom_Bo_Pub.Bom_Sub_Component_Rec_Type
1132          , x_bom_sub_comp_unexp_rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Sub_Comp_Unexp_Rec_Type
1133   );
1134 
1135  /*#
1136 	* You can call this called for creating,updating or deleting of entities of single Structure/BOM all its Component and its child entities like
1137 	* Reference Designators,Substitute Components and Component Operations. This method can be used when there are routings defined on	the Structure/BOM.
1138   * Every entity that needs to be processed must have a transaction type of either create,update,delete or sync.
1139   * If the transaction type is create and if a component is added then a
1140 	* oracle.apps.bom.component.created event is raised.
1141   * If the transaction type is update and if the  component is updated  then a oracle.apps.bom.component.modified event is raised.
1142   * if the transaction type is delete and if the component is deleted then a oracle.apps.bom.component.deleteSuccess
1143 	* event is reaised.
1144 	* @param p_bo_identifier IN Business Object Identifier.The possible values are BOM and ECO.
1145 	* @param p_api_version_number IN API Version Number
1146 	* @param p_init_msg_list IN Message List Initializer
1147 	* @param p_bom_header_rec IN Bom Header Exposed Column Record
1148 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Head_Rec_Type}
1152 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Comps_Tbl_Type}
1149 	* @param p_bom_revision_tbl IN Bom Item Revision Exposed Column Table
1150 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Revision_Tbl_Type}
1151 	* @param p_bom_component_tbl IN Bom Inventorty Component exposed column table
1153 	* @param p_bom_ref_designator_tbl IN Reference Designator Exposed column table
1154 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_Tbl_type}
1155 	* @param p_bom_sub_component_tbl IN Substitute Component Exposed Column table
1156 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type}
1157 	* @param p_bom_comp_ops_tbl  IN Component Operations Exposed column table
1158 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Comp_Ops_Tbl_Type}
1159 	* @param x_bom_header_rec IN OUT NOCOPY  processed Bom Header Exposed Column Record
1160 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.bom_Head_Rec_Type}
1161 	* @param x_bom_revision_tbl IN OUT NOCOPY  processed Bom Item Revision Exposed Column Table
1162 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Revision_Tbl_Type}
1163 	* @param x_bom_component_tbl IN OUT NOCOPY procesed Bom Inventory Components exposed column table
1164 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Comps_Tbl_Type}
1165 	* @param x_bom_ref_designator_tbl IN OUT NOCOPY processed Reference Designator Exposed column table
1166 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_Tbl_Type}
1167 	* @param x_bom_sub_component_tbl IN OUT NOCOPY processed Substitute Component Exposed Column table
1168 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type}
1169 	* @param x_bom_comp_ops_tbl IN OUT NOCOPY processed Component Operations Exposed column table
1170 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Comp_Ops_Tbl_Type}
1171 	* @param x_return_status IN OUT NOCOPY End Result Status of the process being done on the passed entites.
1172 	* @param x_msg_count IN OUT NOCOPY Message Count
1173 	* @param p_debug IN Debug Flag
1174 	* @param p_output_dir IN Output Directory
1175 	* @param p_debug_filename IN Debug File Name
1176 	* @param p_write_err_to_inttable IN Write Error to Interface Table flag
1177 	* @param p_write_err_to_conclog IN Write Error to Concurrent Log Flag
1178 	* @param p_write_err_to_debugfile IN Write Error to Debug File Flag
1179 	* @rep:scope public
1180 	* @rep:compatibility S
1181 	* @rep:displayname Process Single Structure/BOM
1182 	* @rep:lifecycle active
1183 	* @rep:category BUSINESS_ENTITY BOM_BILL_OF_MATERIAL
1184        */
1185         PROCEDURE Process_Bom
1186         (  p_bo_identifier           IN  VARCHAR2 := 'BOM'
1187          , p_api_version_number      IN  NUMBER := 1.0
1188          , p_init_msg_list           IN  BOOLEAN := FALSE
1189          , p_bom_header_rec          IN  Bom_Bo_Pub.Bom_Head_Rec_Type :=
1190                                         Bom_Bo_Pub.G_MISS_BOM_HEADER_REC
1191          , p_bom_revision_tbl        IN  Bom_Bo_Pub.Bom_Revision_Tbl_Type :=
1192                                         Bom_Bo_Pub.G_MISS_BOM_REVISION_TBL
1193          , p_bom_component_tbl       IN  Bom_Bo_Pub.Bom_Comps_Tbl_Type :=
1194                                         Bom_Bo_Pub.G_MISS_BOM_COMPONENT_TBL
1195          , p_bom_ref_designator_tbl  IN  Bom_Bo_Pub.Bom_Ref_Designator_Tbl_type :=
1196         Bom_Bo_Pub.G_MISS_BOM_REF_DESIGNATOR_TBL
1197          , p_bom_sub_component_tbl   IN Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type :=
1198           Bom_Bo_Pub.G_MISS_BOM_SUB_COMPONENT_TBL
1199          , p_bom_comp_ops_tbl        IN Bom_Bo_Pub.Bom_Comp_Ops_Tbl_Type :=
1200           Bom_Bo_Pub.G_MISS_BOM_COMP_OPS_TBL
1201          , x_bom_header_rec          IN OUT NOCOPY Bom_Bo_Pub.bom_Head_Rec_Type
1202          , x_bom_revision_tbl        IN OUT NOCOPY Bom_Bo_Pub.Bom_Revision_Tbl_Type
1203          , x_bom_component_tbl       IN OUT NOCOPY Bom_Bo_pub.Bom_Comps_Tbl_Type
1204          , x_bom_ref_designator_tbl  IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Designator_Tbl_Type
1205          , x_bom_sub_component_tbl   IN OUT NOCOPY Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type
1206          , x_bom_comp_ops_tbl        IN OUT NOCOPY Bom_Bo_Pub.Bom_Comp_Ops_Tbl_Type
1207          , x_return_status           IN OUT NOCOPY VARCHAR2
1208          , x_msg_count               IN OUT NOCOPY NUMBER
1209    , p_debug                   IN  VARCHAR2 := 'N'
1210    , p_output_dir              IN  VARCHAR2 := NULL
1211    , p_debug_filename          IN  VARCHAR2 := 'BOM_BO_debug.log'
1212    , p_write_err_to_inttable   IN  VARCHAR2 := 'N'
1213    , p_write_err_to_conclog    IN  VARCHAR2 := 'N'
1214    , p_write_err_to_debugfile  IN  VARCHAR2 := 'N'
1215          );
1216 
1217  /*#
1218   * You can call this method for creating,updating or deleting entities of a single Structure/BOM.The method takes
1219 	* in a single Structure/BOM header,all its Components,Revisions,Reference Designators and Substitute Components.
1220 	* Every entity that needs to be processed must have a transaction type of either create,update,delete or sync.
1221   * If the transaction type is create and if a component is added then a oracle.apps.bom.component.created event is raised.
1222   * If the transaction type is update and if the  component is updated  then a oracle.apps.bom.component.modified event is raised
1223   * if the transaction type is delete and if the component is deleted  then a oracle.apps.bom.component.deleteSuccess event  is reaised.
1224 	* @param p_bo_identifier IN Business Object Identifier.Possible values are BOM and ECO
1225 	* @param p_api_version_number IN API Version Number
1226 	* @param p_init_msg_list IN Message List Initializer
1227 	* @param p_bom_header_rec IN Bom Header exposed column record
1228 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Head_Rec_Type}
1229 	* @param p_bom_revision_tbl IN Bom Item Revision Exposed Column Table
1230 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Revision_Tbl_Type}
1231 	* @param p_bom_component_tbl IN Bom Inventorty Component exposed column table
1232 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Comps_Tbl_Type}
1233 	* @param p_bom_ref_designator_tbl IN Reference Designator Exposed column table
1237 	* @param x_bom_header_rec IN OUT NOCOPY processed Bom Header Exposed Column Record
1234 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_Tbl_Type}
1235 	* @param p_bom_sub_component_tbl IN Substitute Component Exposed Column table
1236 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type}
1238 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Head_Rec_Type}
1239 	* @param x_bom_revision_tbl IN OUT NOCOPY processed Bom Item Revision Exposed Column Table
1240 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Revision_Tbl_Type}
1241 	* @param x_bom_component_tbl IN OUT NOCOPY processed Bom Inventory Components exposed column table
1242 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Comps_Tbl_Type}
1243 	* @param x_bom_ref_designator_tbl IN OUT NOCOPY processed Reference Designator Exposed column table
1244 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_Tbl_Type}
1245 	* @param x_bom_sub_component_tbl IN OUT NOCOPY processed Substitute Component Exposed Column table
1246 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type}
1247 	* @param x_return_status IN OUT NOCOPY End Result Status for the process being done.
1248 	* @param x_msg_count IN OUT NOCOPY  Message Count
1249 	* @param p_debug IN Debug Flag
1250 	* @param p_output_dir IN Output Directory
1251 	* @param p_debug_filename IN Debug File Name
1252 	* @param p_write_err_to_inttable IN Write Error to inttable flag
1253 	* @param p_write_err_to_conclog IN Write Error to Concurrent Log Flag
1254 	* @param p_write_err_to_debugfile IN Write Error to Debug File Flag
1255 	* @rep:scope public
1256 	* @rep:compatibility S
1257 	* @rep:displayname Process Single Structure/BOM
1258 	* @rep:lifecycle active
1259 	* @rep:category BUSINESS_ENTITY BOM_BILL_OF_MATERIAL
1260 	 */
1261         PROCEDURE Process_Bom
1262         (  p_bo_identifier           IN  VARCHAR2 := 'BOM'
1263          , p_api_version_number      IN  NUMBER := 1.0
1264          , p_init_msg_list           IN  BOOLEAN := FALSE
1265          , p_bom_header_rec          IN  Bom_Bo_Pub.Bom_Head_Rec_Type :=
1266                                         Bom_Bo_Pub.G_MISS_BOM_HEADER_REC
1267          , p_bom_revision_tbl        IN  Bom_Bo_Pub.Bom_Revision_Tbl_Type :=
1268                                         Bom_Bo_Pub.G_MISS_BOM_REVISION_TBL
1269          , p_bom_component_tbl       IN  Bom_Bo_Pub.Bom_Comps_Tbl_Type :=
1270                                         Bom_Bo_Pub.G_MISS_BOM_COMPONENT_TBL
1271          , p_bom_ref_designator_tbl  IN  Bom_Bo_Pub.Bom_Ref_Designator_Tbl_type
1272                                     := Bom_Bo_Pub.G_MISS_BOM_REF_DESIGNATOR_TBL
1273          , p_bom_sub_component_tbl   IN Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type
1274                                     := Bom_Bo_Pub.G_MISS_BOM_SUB_COMPONENT_TBL
1275          , x_bom_header_rec          IN OUT NOCOPY Bom_Bo_Pub.bom_Head_Rec_Type
1276          , x_bom_revision_tbl        IN OUT NOCOPY Bom_Bo_Pub.Bom_Revision_Tbl_Type
1277          , x_bom_component_tbl       IN OUT NOCOPY Bom_Bo_pub.Bom_Comps_Tbl_Type
1278          , x_bom_ref_designator_tbl  IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Designator_Tbl_Type
1279          , x_bom_sub_component_tbl   IN OUT NOCOPY Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type
1280          , x_return_status           IN OUT NOCOPY VARCHAR2
1281          , x_msg_count               IN OUT NOCOPY NUMBER
1282    , p_debug                   IN  VARCHAR2 := 'N'
1283    , p_output_dir              IN  VARCHAR2 := NULL
1284    , p_debug_filename          IN  VARCHAR2 := 'BOM_BO_debug.log'
1285    , p_write_err_to_inttable   IN  VARCHAR2 := 'N'
1286    , p_write_err_to_conclog    IN  VARCHAR2 := 'N'
1287    , p_write_err_to_debugfile  IN  VARCHAR2 := 'N'
1288          );
1289 
1290   /*
1291 
1292         PROCEDURE Process_Bom
1293         (  p_bo_identifier           IN  VARCHAR2 := 'EBOM'
1294          , p_api_version_number      IN  NUMBER := 1.0
1295          , p_init_msg_list           IN  BOOLEAN := FALSE
1296          , p_bomheaders_tbl          IN  BOMHeadersTable
1297          , p_bomrevisions_tbl        IN  BOMRevisionsTable
1298          , p_bomcomponents_tbl       IN  BOMComponentsTable
1299          , p_bomrefdesignators_tbl   IN  BOMRefDesignatorsTable
1300          , p_bomsubcomponents_tbl    IN  BOMSubComponentsTable
1301          , p_bomcompoperations_tbl   IN  BOMCompOperationsTable
1302          , x_bomheaders_tbl          IN OUT NOCOPY BOMHeadersTable
1303          , x_bomrevisions_tbl        IN OUT NOCOPY BOMRevisionsTable
1304          , x_bomcomponents_tbl       IN OUT NOCOPY BOMComponentsTable
1305          , x_bomrefdesignators_tbl   IN OUT NOCOPY BOMRefDesignatorsTable
1306          , x_bomsubcomponents_tbl    IN OUT NOCOPY BOMSubComponentsTable
1307          , x_bomcompoperations_tbl   IN OUT NOCOPY BOMCompOperationsTable
1308          , x_process_return_status   IN OUT NOCOPY VARCHAR2
1309          , x_process_error_msg       IN OUT NOCOPY VARCHAR2
1310          , x_bo_return_status        IN OUT NOCOPY VARCHAR2
1311          , x_bo_msg_count            IN OUT NOCOPY NUMBER
1312          , p_debug                   IN  VARCHAR2 := 'N'
1313          , p_output_dir              IN  VARCHAR2 := NULL
1314          , p_debug_filename          IN  VARCHAR2 := 'BOM_BO_debug.log'
1315    , p_write_err_to_inttable   IN  VARCHAR2 := 'N'
1316    , p_write_err_to_conclog    IN  VARCHAR2 := 'N'
1317    , p_write_err_to_debugfile  IN  VARCHAR2 := 'N'
1318          );
1319 
1320   */
1321 
1322   -- New Process_BOM wrapper for supporting multiple bom_header records
1323 
1324   /*#
1325   * You can call this method for creating,updating or deleting
1326 	* multiple Structure/BOM and use it to manipulate more than one Structure
1327 	* and its child entites in a single transaction.
1328   * It accepts a table of Strucure/Bom Headers,Components and the child entities for each of
1329 	* the component such as substitute components,reference designators.
1330 	* Every entity that needs to be processed must  have a
1334 	* oracle.apps.bom.component.created event is raised.
1331 	* transaction type of either create,update,delete or sync .
1332 	* Business Events for the successful processes are raised per entities.
1333 	* If the transaction type is create and if a component is added then an
1335   * If the transaction type is update and if the  component is updated
1336 	* then a oracle.apps.bom.component.modified event is raised.
1337   * if the transaction type is delete and if the component is deleted  then a
1338 	* oracle.apps.bom.component.deleteSuccess event is reaised.
1339 	* @param p_bo_identifier IN Business Object Identifier.Possible values are BOM and ECO.
1340 	* @param p_api_version_number IN API Version Number
1341 	* @param p_init_msg_list IN Message List Initializer
1342 	* @param p_bom_header_tbl IN Bom Header exposed column table
1343 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Header_Tbl_Type}
1344 	* @param p_bom_revision_tbl IN Bom Item Revision Exposed Column Table
1345 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Revision_Tbl_Type}
1346 	* @param p_bom_component_tbl IN Bom Inventorty Component exposed column table
1347 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Comps_Tbl_Type}
1348 	* @param p_bom_ref_designator_tbl IN Reference Designator Exposed column table
1349 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_Tbl_type}
1350 	* @param p_bom_sub_component_tbl IN Substitute Component Exposed Column table
1351 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type}
1352 	* @param p_bom_comp_ops_tbl IN Component Operations Exposed column table
1353 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Comp_Ops_Tbl_Type}
1354 	* @param x_bom_header_tbl IN OUT NOCOPY processed Bom Header Exposed Column Table
1355 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Header_Tbl_Type}
1356 	* @param x_bom_revision_tbl IN OUT NOCOPY processed Bom Item Revision Exposed Column Table
1357 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Revision_Tbl_Type}
1358 	* @param x_bom_component_tbl IN OUT NOCOPY processed Bom Inventory Components exposed column table
1359 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Comps_Tbl_Type}
1360 	* @param x_bom_ref_designator_tbl IN OUT NOCOPY processed Reference Designator Exposed column table
1361 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_Tbl_type}
1362 	* @param x_bom_sub_component_tbl IN OUT NOCOPY processed Substitute Component Exposed Column table
1363 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type}
1364 	* @param x_bom_comp_ops_tbl IN OUT NOCOPY processed Component Operations Exposed column table
1365 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Comp_Ops_Tbl_Type}
1366 	* @param x_return_status IN OUT NOCOPY End Result Status of the process being done.
1367 	* @param x_msg_count IN OUT NOCOPY Message Count
1368 	* @param p_debug IN Debug Flag
1369 	* @param p_output_dir IN Output Directory
1370 	* @param p_debug_filename IN Debug File Name
1371 	* @rep:scope public
1372 	* @rep:compatibility S
1373 	* @rep:displayname Process Multiple Structures/BOM
1374 	* @rep:lifecycle active
1375         * @rep:category BUSINESS_ENTITY BOM_BILL_OF_MATERIAL
1376 	 */
1377         PROCEDURE Process_Bom
1378         (  p_bo_identifier           IN  VARCHAR2 := 'BOM'
1379          , p_api_version_number      IN  NUMBER := 1.0
1380          , p_init_msg_list           IN  BOOLEAN := FALSE
1381          , p_bom_header_tbl          IN  Bom_Bo_Pub.Bom_Header_Tbl_Type :=
1382                                          Bom_Bo_Pub.G_MISS_BOM_HEADER_TBL
1383          , p_bom_revision_tbl        IN  Bom_Bo_Pub.Bom_Revision_Tbl_Type :=
1384                                          Bom_Bo_Pub.G_MISS_BOM_REVISION_TBL
1385          , p_bom_component_tbl       IN  Bom_Bo_Pub.Bom_Comps_Tbl_Type :=
1386                                          Bom_Bo_Pub.G_MISS_BOM_COMPONENT_TBL
1387          , p_bom_ref_designator_tbl  IN  Bom_Bo_Pub.Bom_Ref_Designator_Tbl_type
1388                                     := Bom_Bo_Pub.G_MISS_BOM_REF_DESIGNATOR_TBL
1389          , p_bom_sub_component_tbl   IN Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type
1390                                      := Bom_Bo_Pub.G_MISS_BOM_SUB_COMPONENT_TBL
1391          , p_bom_comp_ops_tbl        IN Bom_Bo_Pub.Bom_Comp_Ops_Tbl_Type
1392                                     := Bom_Bo_Pub.G_MISS_BOM_COMP_OPS_TBL
1393          , x_bom_header_tbl          IN OUT NOCOPY Bom_Bo_Pub.bom_Header_Tbl_Type
1394          , x_bom_revision_tbl        IN OUT NOCOPY Bom_Bo_Pub.Bom_Revision_Tbl_Type
1395          , x_bom_component_tbl       IN OUT NOCOPY Bom_Bo_pub.Bom_Comps_Tbl_Type
1396          , x_bom_ref_designator_tbl  IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Designator_Tbl_Type
1397          , x_bom_sub_component_tbl   IN OUT NOCOPY Bom_Bo_Pub.Bom_Sub_Component_Tbl_Type
1398          , x_bom_comp_ops_tbl        IN OUT NOCOPY Bom_Bo_Pub.Bom_Comp_Ops_Tbl_Type
1399          , x_return_status           IN OUT NOCOPY VARCHAR2
1400          , x_msg_count               IN OUT NOCOPY NUMBER
1401          , p_debug                   IN  VARCHAR2 := 'N'
1402          , p_output_dir              IN  VARCHAR2 := NULL
1403          , p_debug_filename          IN  VARCHAR2 := 'BOM_BO_debug.log'
1404          );
1405 
1406 	/*#
1407        * You can call this method for creating,updating or deleting a single component in Structure/BOM
1408        * Header.Use this method to add a single item as a component.
1409        * You need to have all the necessary attributes for adding the component and must
1410        * specify the attributes to be added as parameters.
1411        * The transaction type should be either create,update or delete.
1412        * If the transaction type is create and if a component is added then a oracle.apps.bom.components.created event is raised
1413        * If the transaction type is update and if the component is  updated  then a oracle.apps.bom.component.modified event is raised
1414        * if the transaction type is delete and if the component is successfully then a oracle.apps.bom.component.deleteSuccess event is raised
1418        * @rep:paraminfo {@rep:required}
1415        * @param p_Component_Item_Name IN Component Item Name
1416        * @rep:paraminfo {@rep:required}
1417        * @param p_Organization_Code IN Organization Identifier
1419        * @param p_Assembly_Item_Name IN Inventory item identifier of manufactured assembly
1420        * @rep:paraminfo {@rep:required}
1421        * @param p_Alternate_Bom_Code IN Alternate Bom Designator Code
1422        * @rep:paraminfo {@rep:required}
1423        * @param p_Quantity_Per_Assembly IN Quantity of Component per Assembly
1424        * @param p_Start_Effective_Date IN Effectivity Start Date
1425        * @param p_Disable_Date IN Component Disable Date
1426        * @param p_Implementation_Date IN Component Implementation Date
1427        * @param p_Debug IN Debug Flag
1428        * @param p_Debug_FileName IN Debug File Name
1429        * @param p_Output_Dir IN Output Directory for Debug File
1430        * @param x_error_message IN OUT NOCOPY Error Message
1431        * @rep:scope public
1432        * @rep:lifecycle active
1433        * @rep:displayname Process Single Component in Structure/BOM
1434        * @rep:compatibility S
1435        * @rep:category BUSINESS_ENTITY BOM_BILL_OF_MATERIAL
1436 	*/
1437         PROCEDURE Process_BOM
1438         (
1439            p_Component_Item_Name        IN  VARCHAR2
1440          , p_Organization_Code          IN  VARCHAR2
1441          , p_Assembly_Item_Name         IN  VARCHAR2
1442          , p_Alternate_Bom_Code         IN  VARCHAR2
1443          , p_Quantity_Per_Assembly      IN  NUMBER := 1
1444          , p_Start_Effective_Date       IN  DATE := SYSDATE
1445          , p_Disable_Date               IN  DATE := NULL
1446          , p_Implementation_Date        IN  DATE := SYSDATE
1447          , p_Debug      IN  VARCHAR2 := 'N'
1448          , p_Debug_FileName   IN  VARCHAR2 := NULL
1449          , p_Output_Dir     IN  VARCHAR2 := NULL
1450          , x_error_message    OUT NOCOPY VARCHAR2
1451          );
1452 
1453 	-- New Process_BOM wrapper for supporting product family Bills
1454 
1455  /*#
1456   * You can call this method for the  creating,updating or deleting Product Families.A Product Family
1457 	* constitutes of a Product Family Header,the product family members and the allocation percentages of each of the members.
1458 	* This method therefore accepts a header,the members and the allocations of the components .
1459 	* Every entity that needs to be processed should have a transaction type of either create,update or delete.
1460 	* If the transaction type is create and if a component is added then a oracle.apps.bom.component.created event is raised.
1461   * If the transaction type is update and if the  component is updated  then a
1462 	* oracle.apps.bom.component.modified event is raised
1463   * if the transaction type is delete and if the component is deleted then
1464 	* oracle.apps.bom.comopnent.deleteSuccess event is reaised.
1465   * @param p_bo_identifier IN Business Object Identifier.Possible values are BOM and ECO.
1466 	* @param p_api_version_number IN API Version Number
1467 	* @param p_init_msg_list IN Message List Initializer
1468 	* @param p_bom_header_rec IN Bom Header exposed column record for product family
1469 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Product_Rec_Type}
1470   * @param p_bom_component_tbl IN Bom Inventorty Component exposed column table
1471 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Revision_Tbl_Type}
1472 	* @param x_bom_header_rec OUT NOCOPY processed Bom Header Exposed Column Record
1473 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Head_Rec_Type}
1474 	* @param x_bom_component_tbl OUT NOCOPY processed Bom Inventory Components exposed column table
1475 	* @rep:paraminfo {@rep:innertype Bom_Bo_Pub.Bom_Revision_Tbl_Type}
1476 	* @param x_return_status OUT NOCOPY End Result status of the process being done.
1477 	* @param x_msg_count OUT NOCOPY Message Count
1478 	* @param p_debug IN Debug Flag
1479 	* @param p_output_dir IN Output Directory
1480 	* @param p_debug_filename IN Debug File Name
1481 	* @rep:scope public
1482 	* @rep:compatibility S
1483 	* @rep:displayname Process Product Family
1484 	* @rep:lifecycle active
1485 	* @rep:category BUSINESS_ENTITY BOM_PRODUCT_FAMILY
1486   */
1487         PROCEDURE Process_Bom
1488         (  p_bo_identifier           IN  VARCHAR2 := 'BOM'
1489          , p_api_version_number      IN  NUMBER := 1.0
1490          , p_init_msg_list           IN  BOOLEAN := FALSE
1491          , p_bom_header_rec          IN  Bom_Bo_Pub.Bom_Product_Rec_Type
1492          , p_bom_component_tbl       IN  Bom_Bo_Pub.Bom_Product_Mem_Tab_Type
1493 	 , x_bom_header_rec          OUT NOCOPY Bom_Bo_Pub.bom_Head_Rec_Type
1494 	 , x_bom_component_tbl       OUT NOCOPY Bom_Bo_pub.Bom_Comps_Tbl_Type
1495          , x_return_status           OUT NOCOPY VARCHAR2
1496          , x_msg_count               OUT NOCOPY NUMBER
1497          , p_debug                   IN  VARCHAR2 := 'N'
1498          , p_output_dir              IN  VARCHAR2 := NULL
1499          , p_debug_filename          IN  VARCHAR2 := 'BOM_BO_debug.log'
1500         );
1501 
1502 END Bom_Bo_Pub;