DBA Data[Home] [Help]

PACKAGE: APPS.EGO_ITEM_PVT

Source


1 PACKAGE EGO_Item_PVT AS
2 /* $Header: EGOVITMS.pls 120.8 2007/09/12 13:23:25 srajapar ship $ */
3 
4 G_FILE_NAME       CONSTANT  VARCHAR2(12)  :=  'EGOVITMS.pls';
5 
6 G_RET_STS_SUCCESS   CONSTANT    VARCHAR2(1)  :=  FND_API.g_RET_STS_SUCCESS;     --'S'
7 G_RET_STS_ERROR     CONSTANT    VARCHAR2(1)  :=  FND_API.g_RET_STS_ERROR;       --'E'
8 G_RET_STS_UNEXP_ERROR   CONSTANT    VARCHAR2(1)  :=  FND_API.g_RET_STS_UNEXP_ERROR; --'U'
9 
10 --  Define the package global constants to substitute FND_API global variables for missing values
11 
12 G_MISS_NUM      CONSTANT    NUMBER       :=  9.99E125;
13 G_MISS_CHAR     CONSTANT    VARCHAR2(1)  :=  CHR(0);
14 G_MISS_DATE     CONSTANT    DATE         :=  TO_DATE('1','j');
15 
16 -- =============================================================================
17 --                          Global variables and cursors
18 -- =============================================================================
19 
20 --
21 --  Package global tables storing all item business object data
22 --  to be processed by the Item BO procedures.
23 --
24 
25 G_Item_Tbl          EGO_Item_PUB.Item_Tbl_Type;
26 G_Item_indx         BINARY_INTEGER    :=  0;
27 
28 --Added global pl/sql revision tbl
29 G_Revision_Tbl      EGO_Item_PUB.Item_Revision_Tbl_Type;
30 
31 G_Item_Org_Assignment_Tbl   EGO_Item_PUB.Item_Org_Assignment_Tbl_Type;
32 G_Item_Org_indx         BINARY_INTEGER    :=  0;
33 
34 
35 -- =============================================================================
36 --                                  Procedures
37 -- =============================================================================
38 
39 -- -----------------------------------------------------------------------------
40 --  API Name:       Process_Items
41 --
42 --  Description:
43 --    Process (CREATE/UPDATE) a set of items based on data in
44 --    the global pl/sql table.
45 -- -----------------------------------------------------------------------------
46 
47 PROCEDURE Process_Items
48 (
49    p_commit         IN      VARCHAR2      DEFAULT  FND_API.g_FALSE
50 ,  x_return_status      OUT NOCOPY  VARCHAR2
51 ,  x_msg_count          OUT NOCOPY  NUMBER
52 );
53 
54 /* **
55 -- -----------------------------------------------------------------------------
56 --  API Name:       Process_Item
57 --
58 --  Description:
59 --    Process (CREATE/UPDATE) one item based on data in
60 --    the global pl/sql record.
61 -- -----------------------------------------------------------------------------
62 
63 PROCEDURE Process_Item
64 (
65    p_commit         IN      VARCHAR2      DEFAULT  FND_API.g_FALSE
66 ,  x_return_status      OUT NOCOPY  VARCHAR2
67 ,  x_msg_count          OUT NOCOPY  NUMBER
68 );
69 */
70 
71 -- -----------------------------------------------------------------------------
72 --  API Name:       Process_Item_Org_Assignments
73 --
74 --  Description:
75 --    Process a list of item assignments to organizations.
76 -- -----------------------------------------------------------------------------
77 
78 PROCEDURE Process_Item_Org_Assignments
79 (
80    p_commit             IN          VARCHAR2  DEFAULT  FND_API.g_FALSE
81 ,  x_return_status      OUT NOCOPY  VARCHAR2
82 ,  x_msg_count          OUT NOCOPY  NUMBER
83 );
84 
85 -- -----------------------------------------------------------------------------
86 --  API Name:       Seed_Item_Long_Desc_Attr_Group
87 --
88 --  Description:
89 --    Add a row to the User-Defined Attribute Group 'Detailed Descriptions'
90 --    so that the Item Long Description is shown on the Item Detail page.
91 --    This procedure will only add the row if one does not exist already.
92 -- -----------------------------------------------------------------------------
93 
94 PROCEDURE Seed_Item_Long_Desc_Attr_Group (
95         p_inventory_item_id             IN  NUMBER
96        ,p_organization_id               IN  NUMBER
97        ,p_item_catalog_group_id         IN  NUMBER
98        ,x_return_status                 OUT NOCOPY VARCHAR2
99        ,x_errorcode                     OUT NOCOPY NUMBER
100        ,x_msg_count                     OUT NOCOPY NUMBER
101        ,x_msg_data                      OUT NOCOPY VARCHAR2
102 );
103 
104 -- -----------------------------------------------------------------------------
105 --  API Name:       Seed_Item_Long_Desc_In_Bulk
106 --
107 --  Description:
108 --    Add a row to the User-Defined Attribute Group 'Detailed Descriptions'
109 --    for all newly created items in the set identified by p_set_process_id
110 -- -----------------------------------------------------------------------------
111 
112 PROCEDURE Seed_Item_Long_Desc_In_Bulk (
113         p_set_process_id                IN  NUMBER
114        ,x_return_status                 OUT NOCOPY VARCHAR2
115        ,x_msg_data                      OUT NOCOPY VARCHAR2
116 );
117 
118 -- -----------------------------------------------------------------------------
119 --  API Name:       Process_User_Attrs_For_Item
120 --
121 --  Description:
122 --    Process passed-in User-Defined Attrs data for
123 --    the Item whose Primary Keys are passed in
124 -- -----------------------------------------------------------------------------
125 PROCEDURE Process_User_Attrs_For_Item (
126         p_api_version                   IN   NUMBER
127        ,p_inventory_item_id             IN   NUMBER
128        ,p_organization_id               IN   NUMBER
129        ,p_attributes_row_table          IN   EGO_USER_ATTR_ROW_TABLE
130        ,p_attributes_data_table         IN   EGO_USER_ATTR_DATA_TABLE
131        ,p_change_info_table             IN   EGO_USER_ATTR_CHANGE_TABLE DEFAULT NULL
132        ,p_entity_id                     IN   NUMBER     DEFAULT NULL
133        ,p_entity_index                  IN   NUMBER     DEFAULT NULL
134        ,p_entity_code                   IN   VARCHAR2   DEFAULT NULL
135        ,p_debug_level                   IN   NUMBER     DEFAULT 0
136        ,p_init_error_handler            IN   VARCHAR2   DEFAULT FND_API.G_TRUE
137        ,p_write_to_concurrent_log       IN   VARCHAR2   DEFAULT FND_API.G_FALSE
138        ,p_init_fnd_msg_list             IN   VARCHAR2   DEFAULT FND_API.G_FALSE
139        ,p_log_errors                    IN   VARCHAR2   DEFAULT FND_API.G_TRUE
140        ,p_add_errors_to_fnd_stack       IN   VARCHAR2   DEFAULT FND_API.G_FALSE
141        ,p_commit                        IN   VARCHAR2   DEFAULT FND_API.G_FALSE
142        ,p_do_policy_check               IN   VARCHAR2   DEFAULT FND_API.G_TRUE
143        ,p_validate_hierarchy            IN   VARCHAR2   DEFAULT FND_API.G_TRUE
144        ,x_failed_row_id_list            OUT NOCOPY VARCHAR2
145        ,x_return_status                 OUT NOCOPY VARCHAR2
146        ,x_errorcode                     OUT NOCOPY NUMBER
147        ,x_msg_count                     OUT NOCOPY NUMBER
148        ,x_msg_data                      OUT NOCOPY VARCHAR2
149 );
150 
151 -- -----------------------------------------------------------------------------
152 --  API Name:       Get_User_Attrs_For_Item
153 --
154 --  Description:
155 --    Fetch passed-in User-Defined Attrs data for
156 --    the Item whose Primary Keys are passed in
157 -- -----------------------------------------------------------------------------
158 PROCEDURE Get_User_Attrs_For_Item (
159         p_api_version                   IN   NUMBER
160        ,p_inventory_item_id             IN   NUMBER
161        ,p_organization_id               IN   NUMBER
162        ,p_attr_group_request_table      IN   EGO_ATTR_GROUP_REQUEST_TABLE
163        ,p_entity_id                     IN   NUMBER     DEFAULT NULL
164        ,p_entity_index                  IN   NUMBER     DEFAULT NULL
165        ,p_entity_code                   IN   VARCHAR2   DEFAULT NULL
166        ,p_debug_level                   IN   NUMBER     DEFAULT 0
167        ,p_init_error_handler            IN   VARCHAR2   DEFAULT FND_API.G_TRUE
168        ,p_init_fnd_msg_list             IN   VARCHAR2   DEFAULT FND_API.G_FALSE
169        ,p_add_errors_to_fnd_stack       IN   VARCHAR2   DEFAULT FND_API.G_FALSE
170        ,p_commit                        IN   VARCHAR2   DEFAULT FND_API.G_FALSE
171        ,x_attributes_row_table          OUT NOCOPY EGO_USER_ATTR_ROW_TABLE
172        ,x_attributes_data_table         OUT NOCOPY EGO_USER_ATTR_DATA_TABLE
173        ,x_return_status                 OUT NOCOPY VARCHAR2
174        ,x_errorcode                     OUT NOCOPY NUMBER
175        ,x_msg_count                     OUT NOCOPY NUMBER
176        ,x_msg_data                      OUT NOCOPY VARCHAR2
177 );
178 
179 -- -----------------------------------------------------------------------------
180 --  API Name:       Generate_Seq_For_Item_Catalog
181 --
182 --  Description:
183 --    Generates the Item Sequence For Number Generation
184 -- -----------------------------------------------------------------------------
185 PROCEDURE Generate_Seq_For_Item_Catalog (
186        p_item_catalog_group_id         IN  NUMBER
187        ,p_seq_start_num                IN  NUMBER
188        ,p_seq_increment_by             IN  NUMBER
189        ,x_return_status                OUT NOCOPY VARCHAR2
190        ,x_errorcode                    OUT NOCOPY NUMBER
191        ,x_msg_count                    OUT NOCOPY NUMBER
192        ,x_msg_data                     OUT NOCOPY VARCHAR2
193 );
194 
195 ----------------------------------------------------------------------
196 
197 
198 -- -----------------------------------------------------------------------------
199 --  API Name:       Drop_Sequence_For_Item_Catalog
200 --
201 --  Description:
202 --    Generates the Item Sequence For Number Generation
203 -- -----------------------------------------------------------------------------
204 PROCEDURE Drop_Sequence_For_Item_Catalog (
205        p_item_catalog_seq_name         IN  VARCHAR2
206        ,x_return_status                OUT NOCOPY VARCHAR2
207        ,x_errorcode                    OUT NOCOPY NUMBER
208        ,x_msg_count                    OUT NOCOPY NUMBER
209        ,x_msg_data                     OUT NOCOPY VARCHAR2
210 );
211 
212 
213 -- -----------------------------------------------------------------------------
214 --  API Name:       Process_item_role
215 --
216 --  Description:
217 --    API to manage roles on Items
218 --
219 --    Note: Please refer to EGO_ITEM_PUB.Process_item_role for details
220 --
221 -- -----------------------------------------------------------------------------
222    PROCEDURE Process_item_role
223       (p_api_version           IN  NUMBER
224       ,p_commit                IN  VARCHAR2
225       ,p_init_msg_list         IN  VARCHAR2
226       ,p_transaction_type      IN  VARCHAR2
227       ,p_inventory_item_id     IN  NUMBER
228       ,p_item_number           IN  VARCHAR2
229       ,p_organization_id       IN  NUMBER
230       ,p_organization_code     IN  VARCHAR2
231       ,p_role_id               IN  NUMBER
232       ,p_role_name             IN  VARCHAR2
233       ,p_instance_type         IN  VARCHAR2
234       ,p_instance_set_id       IN  NUMBER
235       ,p_instance_set_name     IN  VARCHAR2
236       ,p_party_type            IN  VARCHAR2
237       ,p_party_id              IN  NUMBER
238       ,p_party_name            IN  VARCHAR2
239       ,p_start_date            IN  DATE
240       ,p_end_date              IN  DATE
241       ,x_grant_guid            IN  OUT NOCOPY RAW
242       ,x_return_status         OUT NOCOPY VARCHAR2
243       ,x_msg_count             OUT NOCOPY NUMBER
244       ,x_msg_data              OUT NOCOPY VARCHAR2
245      );
246 
247 -- -----------------------------------------------------------------------------
248 --  API Name:       Process_item_phase_and_status
249 --
250 --  Description:
251 --    API to change the phase and status of item / revision
252 --
253 --    Note: Please refer to EGO_ITEM_PUB.Process_item_phase_and_status for details
254 --
255 -- -----------------------------------------------------------------------------
256    PROCEDURE Process_item_phase_and_status
257       (p_api_version           IN  NUMBER
258       ,p_commit                IN  VARCHAR2
259       ,p_init_msg_list         IN  VARCHAR2
260       ,p_transaction_type      IN  VARCHAR2
261       ,p_inventory_item_id     IN  NUMBER
262       ,p_item_number           IN  VARCHAR2
263       ,p_organization_id       IN  NUMBER
264       ,p_organization_code     IN  VARCHAR2
265       ,p_revision_id           IN  NUMBER
266       ,p_revision              IN  VARCHAR2
267       ,p_implement_changes     IN  VARCHAR2
268       ,p_status                IN  VARCHAR2
269       ,p_effective_date        IN  DATE
270       ,p_lifecycle_id          IN  NUMBER
271       ,p_phase_id              IN  NUMBER
272       ,p_new_effective_date    IN  DATE
273       ,x_return_status         OUT NOCOPY VARCHAR2
274       ,x_msg_count             OUT NOCOPY NUMBER
275       ,x_msg_data              OUT NOCOPY VARCHAR2
276      );
277 
278 -- -----------------------------------------------------------------------------
279 --  API Name:       Implement_Item_Pending_Changes
280 --
281 --  Description:
282 --    API to implement the pending changes on the item / revision
283 --
284 --    Note: Please refer to EGO_ITEM_PUB.Implement_Item_Pending_Changes for details
285 --
286 -- -----------------------------------------------------------------------------
287    PROCEDURE Implement_Item_Pending_Changes
288       (p_api_version           IN  NUMBER
289       ,p_commit                IN  VARCHAR2
290       ,p_init_msg_list         IN  VARCHAR2
291       ,p_inventory_item_id     IN  NUMBER
292       ,p_item_number           IN  VARCHAR2
293       ,p_organization_id       IN  NUMBER
294       ,p_organization_code     IN  VARCHAR2
295       ,p_revision_id           IN  NUMBER
296       ,p_revision              IN  VARCHAR2
297       ,x_return_status         OUT NOCOPY VARCHAR2
298       ,x_msg_count             OUT NOCOPY NUMBER
299       ,x_msg_data              OUT NOCOPY VARCHAR2
300      );
301 
302 
303 -- -----------------------------------------------------------------------------
304 --  Fix for Bug# 4052565.
305 --
306 --  API Name:       has_role_on_item
307 --
308 --  Description:
309 --    API to check whether the user has a role on Item or Not
310 --    TRUE if the user has the specified role on the item
311 --    FALSE if the user does not have the specified role on the item
312 --
313 -- -----------------------------------------------------------------------------
314   FUNCTION has_role_on_item (p_function_name     IN VARCHAR2
315                             ,p_instance_type     IN VARCHAR2 DEFAULT 'UNIVERSAL'
316                             ,p_inventory_item_id IN NUMBER
317                             ,p_item_number       IN VARCHAR2
318                             ,p_organization_id   IN VARCHAR2
319                             ,p_organization_name IN VARCHAR2
320                             ,p_user_id           IN NUMBER
321                             ,p_party_id          IN NUMBER
322                             ,p_set_message       IN VARCHAR2
323                             ) RETURN BOOLEAN;
324 
325 
326 -- -----------------------------------------------------------------------------
327 --  Fix for Bug# 3945885.
328 --
329 --  API Name:       Get_Seq_Gen_Item_Nums
330 --
331 --  Description:
332 --    API to return a Sequence of Item Numbers, given the Item Catalog Group ID.
333 --    Number of Item Numbers to be generated, is the size of the Org ID table
334 --    passed to the API.
335 -- -----------------------------------------------------------------------------
336  PROCEDURE Get_Seq_Gen_Item_Nums( p_item_catalog_group_id  IN  NUMBER
337                                  ,p_org_id_tbl             IN  DBMS_SQL.VARCHAR2_TABLE
338                                  ,x_item_num_tbl           IN OUT NOCOPY EGO_VARCHAR_TBL_TYPE
339                                  );
340 
341 
342 -------------------------------------------------------------------------------------
343 --  API Name: Get_Default_Template_Id                                              --
344 --                                                                                 --
345 --  Description: This function takes a catalog group ID as a parameter and returns --
346 --    the template ID corresponding to the default template for the specified      --
347 --    catalog group.                                                               --
348 --                                                                                 --
349 --  Parameters: p_category_id      NUMBER  Catalog group ID whose default template --
350 --                                         is to be returned; if null, return      --
351 --                                         value is null.                          --
352 -------------------------------------------------------------------------------------
353 FUNCTION Get_Default_Template_Id (
354              p_category_id          IN NUMBER
355            ) RETURN NUMBER;
356 
357 
358 -- -----------------------------------------------------------------------------
359 --  API Name:       Validate_Required_Attrs
360 --
361 --  Description:
362 --    Given an Item whose Primary Keys are passed in, find those attributes
363 --    whose values are required but is null for the Item.
364 --    Returns EGO_USER_ATTR_TABLE containing list of required
365 --    attributes information.
366 -- -----------------------------------------------------------------------------
367 --
368 PROCEDURE Validate_Required_Attrs (
369         p_api_version                   IN   NUMBER
370        ,p_inventory_item_id             IN   NUMBER
371        ,p_organization_id               IN   NUMBER
372        ,p_revision_id                   IN   NUMBER DEFAULT NULL
373        ,x_attributes_req_table          OUT NOCOPY EGO_USER_ATTR_TABLE
374        ,x_return_status                 OUT NOCOPY VARCHAR2
375        ,x_errorcode                     OUT NOCOPY NUMBER
376        ,x_msg_count                     OUT NOCOPY NUMBER
377        ,x_msg_data                      OUT NOCOPY VARCHAR2
378 );
379 
380 
381 
382 
383 
384 -------------------------------------------------------------------------------------
385 --  API Name: Generate_Gtin_Tp_Attrs_View                                          --
386 --                                                                                 --
387 --  Description: This API would create a wrapper trading partner view over the     --
388 --               passed in views. The wrapper view shows the final value of an     --
389 --               attribute for a item for a trading partner                        --
390 --                                                                                 --
391 --  Parameters: p_item_attr_agv_name  VARCHAR  Name of the Item attr group view    --
392 --  Parameters: p_tp_agv_name         VARCHAR  Name of the trading partner attr    --
393 --                                             group view                          --
394 --  Parameters: p_item_attr_agv_alias VARCHAR  Alias to be used for the item attr  --
395 --                                             group view.                         --
396 --  Parameters: p_tp_agv_alias        VARCHAR  Alias to be used for the trading    --
397 --                                             partner attr group view.            --
398 --  Parameters: p_final_agv_name      VARCHAR  Name to be used for the final       --
399 --                                             wrapper view.                       --
400 -------------------------------------------------------------------------------------
401 
402 
403 
404 PROCEDURE GENERATE_GTIN_TP_ATTRS_VIEW  (
405                                          p_item_attr_agv_name    IN  VARCHAR2
406                                         ,p_tp_agv_name           IN  VARCHAR2
407                                         ,p_item_attr_agv_alias   IN  VARCHAR2
408                                         ,p_tp_agv_alias          IN  VARCHAR2
409                                         ,p_final_agv_name        IN  VARCHAR2
410                                         ,p_multi_row_ag          IN  VARCHAR2
411                                         ,x_return_status         OUT NOCOPY VARCHAR2
412                                         ,x_msg_data              OUT NOCOPY VARCHAR2
413                                        );
414 
415 
416 -------------------------------------------------------------------------------------
417 --  API Name: Generate_GDSN_Ext_AG_TP_Views                                        --
418 --                                                                                 --
419 --  Description: This API would process the SBDH extension attr groups and create  --
420 --               final views for all the attr groups.                              --
421 --                                                                                 --
422 --  Parameters: p_attr_group_name     VARCHAR  Name of the Item attr group for     --
423 --                                             which view needs to be generated    --
424 --                                             if passed as null all the ag's      --
425 --                                             associated with SBDH extension are  --
426 --                                             processed.
427 -------------------------------------------------------------------------------------
428 
429 PROCEDURE Generate_GDSN_Ext_AG_TP_Views  (
430                                             p_attr_group_name IN VARCHAR2 DEFAULT NULL
431                                            ,ERRBUF            OUT NOCOPY VARCHAR2
432                                            ,RETCODE           OUT NOCOPY VARCHAR2
433                                          );
434 
435 -------------------------------------------------------------------------------------
436 --  API Name: process_attribute_defaulting                                        --
437 --                                                                                 --
438 --  Description: This API would process the SBDH extension attr groups and create  --
439 --               final views for all the attr groups.                              --
440 --                                                                                 --
441 --  Parameters: p_item_attr_def_tab     SYSTEM.EGO_ITEM_ATTR_DEFAULT_TABLE         --
442 --                                      PL/SQL Table which has the Item Details    --
443 -------------------------------------------------------------------------------------
444 
445 PROCEDURE  process_attribute_defaulting(p_item_attr_def_tab IN OUT NOCOPY SYSTEM.EGO_ITEM_ATTR_DEFAULT_TABLE
446                                        ,p_gdsn_enabled      IN  VARCHAR2 DEFAULT  'N'
447                                        ,p_commit            IN  VARCHAR2
448                                        ,x_return_status     OUT NOCOPY VARCHAR2
449                                        ,x_msg_data          OUT NOCOPY VARCHAR2
450                                        ,x_msg_count         OUT NOCOPY  NUMBER) ;
451 
452 
453 -- -----------------------------------------------------------------------------
454 --  API Name:       Get_Related_Class_Codes
455 --
456 --  Description:
457 --    Gets the related classification codes list for a given classification code
458 --    added in Spec by dsakalle for bug 5523366
459 -- -----------------------------------------------------------------------------
460 PROCEDURE Get_Related_Class_Codes (
461         p_classification_code           IN   VARCHAR2
462        ,p_entity_id                     IN   NUMBER     DEFAULT NULL
463        ,p_entity_index                  IN   NUMBER     DEFAULT NULL
464        ,p_entity_code                   IN   VARCHAR2   DEFAULT NULL
465        ,x_related_class_codes_list      OUT NOCOPY VARCHAR2);
466 
467 END EGO_Item_PVT;