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;