DBA Data[Home] [Help]

PACKAGE: APPS.AHL_PRD_BLK_PARTS_CHANGE_PVT

Source


1 PACKAGE AHL_PRD_BLK_PARTS_CHANGE_PVT AUTHID CURRENT_USER AS
2 /* $Header: AHLVBPCS.pls 120.0.12020000.2 2012/12/10 12:31:35 shnatu noship $ */
3 
4 /* These Image file names should be in sync with ahl/uc/et/AhlucTreeNodeData.java */
5 G_EXTRA_NODE_IMAGE              CONSTANT  VARCHAR2(30) := 'notapplicableind_status.gif';
6 G_MISSING_NODE_IMAGE            CONSTANT  VARCHAR2(30) := 'itemtobeadded_status.gif';
7 G_FILLED_NODE_IMAGE             CONSTANT  VARCHAR2(30) := 'okind_status.gif';
8 G_SB_RULE_VIOLATED_NODE_IMAGE   CONSTANT  VARCHAR2(30) := 'criticalind_status.gif';
9 
10 
11 -- Record Structure corresponding to GLOBAL TEMPORARY TABLE AHL_BULK_REMOVAL_UC_DETAILS
12 -- used for storing hGrid detials on Bulk Removal - Parts change UI
13 TYPE uc_details_hgrid_rec_type   IS RECORD
14   (
15     UNIT_NODE_ID                            NUMBER,
16     ROOT_INSTANCE_ID                        NUMBER,
17     PATH_POSITION_ID                        NUMBER,
18     RELATIONSHIP_ID                         NUMBER,
19     PARENT_REL_ID                           NUMBER,
20     PARENT_INSTANCE_ID                      NUMBER,
21     PARENT_INSTANCE_NUMBER                  VARCHAR2(240),
22     CSI_II_RELATIONSHIP_ID                  NUMBER ,
23     CSI_II_OBJECT_VERSION_NUM               NUMBER ,
24     PART_CHANGE_ID                          NUMBER,
25     CURR_ITEM_ID                            NUMBER,
26     CURR_INSTANCE_ID                        NUMBER,
27     CURR_ITEM_NUMBER                        VARCHAR2(240),
28     CURR_INSTANCE_OBJ_VER_NUM               NUMBER,
29     CURR_INSTANCE_NUMBER                    VARCHAR2(30),
30     CURR_SERIAL_NUMBER                      VARCHAR2(80),
31     CURR_LOT_NUMBER                         VARCHAR2(80),
32     CURR_QUANTITY                           NUMBER,
33     UNIT_OF_MEASURE                         VARCHAR2(30),
34     ATA                                     VARCHAR2(80),
35     POSITION                                VARCHAR2(240),
36     POSITION_IMAGE                          VARCHAR2(30),
37     IS_POSITION_SRL_CONTROLLED              VARCHAR2(1),
38     IS_CONTROLLED_POSITION                  VARCHAR2(1),
39     NODE_TYPE                               VARCHAR2(1),
40     QTY_PER_POSITION                        NUMBER,
41     OPERATION_SEQUENCE_NUM                  NUMBER,
42     INST_INSTANCE_ID                        NUMBER,
43     INST_ITEM_NUMBER                        VARCHAR2(240),
44     INST_INSTANCE_NUMBER                    VARCHAR2(30),
45     INST_SERIAL_NUMBER                      VARCHAR2(80),
46     INST_INSTANCE_OBJ_VER_NUM               NUMBER,
47     INSTANCE_QUANTITY                       NUMBER,
48     INSTALL_QUANTITY                        NUMBER,
49     INSTALL_DATE                            DATE,
50     REMOVAL_DATE                            DATE,
51     REASON_ID                               NUMBER ,
52     REASON_NAME                             VARCHAR2(30),
53     REMOVAL_CODE_ID                         VARCHAR2(30),
54     REMOVAL_MEANING                         VARCHAR2(80),
55     NOT_LEAF_NODE_FLAG                      VARCHAR2(1),
56     NODE_LEVEL                              NUMBER,
57     HGRID_NODE_PATH                         VARCHAR2(240),
58     SELECT_DISABLE_FLAG                     VARCHAR2(1),
59     SEARCH_FLAG                             VARCHAR2(1),
60     DISPOSITION_ID                          NUMBER,
61     DISPOSITION_OBJ_VER_NUM                 NUMBER,
62     DISPOSITION_STATUS                      VARCHAR2(80),
63     DISPOSITION_QTY                         NUMBER,
64     COMMENTS                                VARCHAR2(2000),
65     IMMEDIATE_DISPOSITION_CODE              VARCHAR2(30),
66     IMMEDIATE_DISPOSITION                   VARCHAR2(150) ,
67     SECONDARY_DISPOSITION_CODE              VARCHAR2(30),
68     SECONDARY_DISPOSITION                   VARCHAR2(150) ,
69     SR_INCIDENT_ID                          NUMBER,
70     COLLECTION_ID                           NUMBER,
71     CONDITION_ID                            NUMBER,
72     CONDITION_MEANING                       VARCHAR2(150),
73     PROBLEM_CODE                            VARCHAR2(50),
74     PROBLEM_MEANING                         VARCHAR2(80),
75     SEVERITY_ID                             NUMBER,
76     SEVERITY_NAME                           VARCHAR2(30),
77     RESOLUTION_CODE                         VARCHAR2(80),
78     RESOLUTION_CODE_ID                      VARCHAR2(30),
79     ESTIMATED_DURATION                      NUMBER,
80     SERVICE_TYPE                            VARCHAR2(80),
81     SERVICE_TYPE_ID                         VARCHAR2(30),
82     SUMMARY                                 VARCHAR2(240),
83     DISPOSITION_COUNT                       NUMBER,
84     QTY_UI_ELEMENT_TYP                      VARCHAR2(10),
85     MRB_QUALITY_TYP                         VARCHAR2(30),
86     BULK_PROCESS_FLAG                       VARCHAR2(1)
87   );
88 
89 TYPE uc_details_hgrid_tbl_type IS TABLE OF uc_details_hgrid_rec_type INDEX BY BINARY_INTEGER;
90 
91 ------------------------------------------------------------------------------------------------------
92 -- Start of Comments
93 --  Procedure name    : Get_Bulk_Part_Chg_Details
94 --  Type              : Public
95 --  Function          : This procedure will update the temparory table to show data in hGrid.
96 --                      Since this table is global temporary with ON COMMIT DELETE ROWS,
97 --                      Always call this method with p_commit value : FND_API.G_FALSE
98 --  Pre-reqs          :
99 --  Parameters        :
100 --
101 --  Get_Bulk_Part_Chg_Details Parameters
102 --     p_workorder_id       IN    NUMBER
103 --     p_bulk_process_flag  IN    Either 'I' for Install or 'R' for Removal
104 --
105 --  End of Comments
106 -------------------------------------------------------------------------------------------------------
107 PROCEDURE Get_Bulk_Part_Chg_Details
108 (
109        p_api_version        IN    NUMBER     := 1.0,
110        p_init_msg_list      IN    VARCHAR2   := FND_API.G_FALSE,
111        p_commit             IN    VARCHAR2   := FND_API.G_FALSE,
112        p_validation_level   IN    NUMBER     := FND_API.G_VALID_LEVEL_FULL,
113        p_default            IN    VARCHAR2   := FND_API.G_FALSE,
114        p_module_type        IN    VARCHAR2   := NULL,
115        p_workorder_id       IN    NUMBER,
116        p_bulk_process_flag  IN    VARCHAR2,
117        x_uc_details_tbl                 OUT NOCOPY    uc_details_hgrid_tbl_type,
118        x_return_status                  OUT NOCOPY    VARCHAR2,
119        x_msg_count                      OUT NOCOPY    NUMBER,
120        x_msg_data                       OUT NOCOPY    VARCHAR2
121 );
122 
123 
124 -- Record Structure
125 -- used for storing hGrid detials on Bulk Removal - Parts change UI
126 TYPE filter_records_rec_type   IS RECORD
127   (
128     PARAM           VARCHAR2 (30),
129     PARAM_VALUE     VARCHAR2 (240)
130   );
131 
132 TYPE filter_records_tbl_type IS TABLE OF filter_records_rec_type INDEX BY BINARY_INTEGER;
133 
134 ------------------------------------------------------------------------------------------------------
135 -- Start of Comments
136 --  Procedure name    : Filter_records_uc_details
137 --  Type              : Public
138 --  Function          : This procedure will update the temparory table to filter data details in hGrid.
139 --                      Since this table is global temporary with ON COMMIT DELETE ROWS,
140 --                      Always call this method with p_commit value : FND_API.G_FALSE
141 --                      It returns the hGrid_node path of the closest parent node.
142 --  Pre-reqs          :
143 --  Parameters        :
144 --
145 --  Filter_records_uc_details Parameters
146 --     p_filter_records_tbl IN    filter_records__tbl_type
147 --
148 --  End of Comments
149 -------------------------------------------------------------------------------------------------------
150 PROCEDURE Filter_records_uc_details
151 (
152        p_api_version        IN    NUMBER     := 1.0,
153        p_init_msg_list      IN    VARCHAR2   := FND_API.G_FALSE,
154        p_commit             IN    VARCHAR2   := FND_API.G_FALSE,
155        p_validation_level   IN    NUMBER     := FND_API.G_VALID_LEVEL_FULL,
156        p_default            IN    VARCHAR2   := FND_API.G_FALSE,
157        p_module_type        IN    VARCHAR2   := NULL,
158        p_filter_records_tbl IN    filter_records_tbl_type,
159        x_hGrid_node_path          OUT NOCOPY    VARCHAR2,
160        x_return_status            OUT NOCOPY    VARCHAR2,
161        x_msg_count                OUT NOCOPY    NUMBER,
162        x_msg_data                 OUT NOCOPY    VARCHAR2
163 );
164 
165 ------------------------------------------------------------------------------------
166 --  Procedure name    : Calc_Qty_On_Inst_Selection
167 --  Type              : Public
168 --  Function          : Procedure to recalculate Position and Install quantity on Instance selection from Alternate Items UI.
169 --                      Rules to calculate the quantities differ for Child of Control positions.
170 --                      For Normal Positions,
171 --                        Position Quantity rules are given in comments of API Calc_Position_Qty in package body.
172 --                        Install Quantity = MIN(Available Instance Qty, Max Installable Qty)
173 --                                           where Max Installable Qty = Position Qty - Current Qty
174 --
175 --                      For Child of Control Positions,
176 --                        Rules for Position and Install Qty are given in comments of API Calc_Control_Position_Qty
177 --                        in package body.
178 --
179 --  Pre-reqs          :
180 --  Parameters        :
181 --
182 --  Calc_Qty_On_Inst_Selection Parameters:
183 --       p_x_uc_details_rec       IN OUT NOCOPY  Record for given UC position.      Required
184 --
185 --  End of Comments
186 
187 PROCEDURE Calc_Qty_On_Inst_Selection(
188     p_x_uc_details_rec            IN OUT NOCOPY  uc_details_hgrid_rec_type
189 );
190 ------------------------------------------------------------------------------------
191 
192 
193 TYPE PART_CHANGE_REC_TYPE IS RECORD  (
194     WORKORDER_ID                        NUMBER ,
195     OPERATION_SEQUENCE_NUM              NUMBER ,
196     WORKORDER_OPERATION_ID              NUMBER ,
197     OPERATION_TYPE                      VARCHAR2(1) ,
198     UNIT_CONFIG_HEADER_ID               NUMBER ,
199     MC_RELATIONSHIP_ID                  NUMBER ,
200     CSI_II_RELATIONSHIP_ID              NUMBER ,
201     CSI_II_OBJECT_VERSION_NUM           NUMBER ,
202     PARENT_INSTALLED_INSTANCE_ID        NUMBER ,
203     PARENT_INSTALLED_INSTANCE_NUM       VARCHAR2(30) ,
204     INSTALLED_INSTANCE_ID               NUMBER ,
205     INSTALLED_INSTANCE_NUM              VARCHAR2(30) ,
206     INSTALLED_INSTANCE_OBJ_VER_NUM      NUMBER ,
207     INSTALLED_QUANTITY                  NUMBER ,
208     INSTALLATION_DATE                   DATE ,
209     REMOVED_INSTANCE_ID                 NUMBER ,
210     REMOVED_INSTANCE_NUM                VARCHAR2(30),
211     REMOVED_INSTANCE_OBJ_VER_NUM        NUMBER ,
212     REMOVED_QUANTITY                    NUMBER ,
213     REMOVAL_CODE                        VARCHAR2(30) ,
214     REMOVAL_MEANING                     VARCHAR2(80) ,
215     REMOVAL_REASON_ID                   NUMBER ,
216     REMOVAL_REASON_NAME                 VARCHAR2(30) ,
217     REMOVAL_DATE                        DATE ,
218     CONDITION_ID                        NUMBER ,
219     CONDITION                           VARCHAR2(80) ,
220     SEVERITY_ID                         NUMBER ,
221     SEVERITY_NAME                       VARCHAR2(30) ,
222     PROBLEM_CODE                        VARCHAR2(30) ,
223     PROBLEM_MEANING                     VARCHAR2(80) ,
224     RESOLUTION_CODE                     VARCHAR2(30) ,
225     RESOLUTION_MEANING                  VARCHAR2(80) ,
226     SUMMARY                             VARCHAR2(240) ,
227     ESTIMATED_DURATION                  NUMBER ,
228     CREATE_WORK_ORDER_OPTION            VARCHAR2(30) ,
232     DISPOSITION_ID                      NUMBER ,
229     CREATE_NR_FOR_PARENT                VARCHAR2(1) ,
230     SERVICE_TYPE_CODE                   VARCHAR2(30) ,
231     SERVICE_TYPE                        VARCHAR2(80) ,
233     DISP_OBJECT_VERSION_NUMBER          NUMBER ,
234     DISP_OPERATION_FLAG                 VARCHAR2(1) ,
235     IMMEDIATE_DISPOSITION_CODE          VARCHAR2(30) ,
236     IMMEDIATE_DISPOSITION               VARCHAR2(80) ,
237     SECONDARY_DISPOSITION_CODE          VARCHAR2(30) ,
238     SECONDARY_DISPOSITION               VARCHAR2(80) ,
239     DISP_COMMENTS                       VARCHAR2(2000) ,
240     COLLECTION_ID                       NUMBER ,
241     PART_CHANGE_TXN_ID                  NUMBER ,
242     PATH_POSITION_ID                    NUMBER );
243 
244 TYPE PART_CHANGE_TBL_TYPE IS TABLE OF PART_CHANGE_REC_TYPE INDEX BY BINARY_INTEGER;
245 
246 TYPE ERROR_MSG_REC_TYPE IS RECORD (
247     MESSAGE_LEVEL                       VARCHAR2(1), -- E(Error) or W(Warning)
248     MESSAGE                             VARCHAR2(4000) );
249 
250 TYPE ERROR_MSG_TBL_TYPE IS TABLE OF ERROR_MSG_REC_TYPE INDEX BY BINARY_INTEGER;
251 
252 PROCEDURE PROCESS_PART_CHANGES(
253     P_API_VERSION      IN NUMBER DEFAULT 1.0,
254     P_INIT_MSG_LIST    IN VARCHAR2 DEFAULT FND_API.G_FALSE,
255     P_COMMIT           IN VARCHAR2 DEFAULT FND_API.G_FALSE,
256     P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
257     P_MODULE_TYPE      IN VARCHAR2 DEFAULT NULL,
258     P_DEFAULT          IN VARCHAR2 DEFAULT FND_API.G_TRUE,
259     P_X_PARTS_REC_TBL  IN OUT NOCOPY PART_CHANGE_TBL_TYPE,
260     P_MR_ASSO_TBL      IN AHL_PRD_NONROUTINE_PVT.MR_ASSOCIATION_TBL_TYPE,
261     X_RETURN_STATUS    OUT NOCOPY VARCHAR2,
262     X_MSG_COUNT        OUT NOCOPY     NUMBER,
263     X_MSG_DATA         OUT NOCOPY      VARCHAR2,
264     X_ERROR_MSG_TBL    OUT NOCOPY ERROR_MSG_TBL_TYPE );
265 
266 END AHL_PRD_BLK_PARTS_CHANGE_PVT;
267