DBA Data[Home] [Help]

PACKAGE: APPS.AHL_PRD_DF_PVT

Source


1 PACKAGE AHL_PRD_DF_PVT AUTHID CURRENT_USER AS
2 /* $Header: AHLVPDFS.pls 120.5.12020000.2 2012/12/07 07:50:29 sareepar ship $ */
3 
4   -- Operation on a deferral record than this API can handle
5   G_OP_CREATE        CONSTANT  VARCHAR2(1) := 'C';
6   G_OP_UPDATE        CONSTANT  VARCHAR2(1) := 'U';
7   G_OP_DELETE        CONSTANT  VARCHAR2(1) := 'D';
8   G_OP_SUBMIT        CONSTANT  VARCHAR2(1) := 'S';
9   -- Yes/no flags
10   G_YES_FLAG         CONSTANT  VARCHAR2(1) := 'Y';
11   G_NO_FLAG          CONSTANT  VARCHAR2(1) := 'N';
12   -- Other constants
13   G_REASON_CODE_DELIM CONSTANT VARCHAR2(1) := ':';
14   G_DEFERRAL_TYPE_MR  CONSTANT VARCHAR2(2) := 'MR';
15   G_DEFERRAL_TYPE_SR  CONSTANT VARCHAR2(2) := 'SR';
16   G_DEFER_BY          CONSTANT VARCHAR2(30):= 'DEFER_BY';
17   G_DEFER_TO          CONSTANT VARCHAR2(30):= 'DEFER_TO';
18 
19   G_WORKFLOW_OBJECT_KEY CONSTANT VARCHAR2(30) := 'PRDWF';
20 ---------------------------------------------------------------------
21 -- Define Record Types for record structures needed by the APIs --
22 ---------------------------------------------------------------------
23 TYPE df_header_rec_type IS RECORD (
24         UNIT_DEFERRAL_ID        NUMBER,
25         OBJECT_VERSION_NUMBER   NUMBER,
26         CREATED_BY              NUMBER,
27         CREATION_DATE           DATE,
28         LAST_UPDATED_BY         NUMBER,
29         LAST_UPDATE_DATE        DATE,
30         LAST_UPDATE_LOGIN       NUMBER,
31         UNIT_EFFECTIVITY_ID     NUMBER,
32         UNIT_DEFERRAL_TYPE      VARCHAR2(30),
33         APPROVAL_STATUS_CODE    VARCHAR2(30),
34         DEFER_REASON_CODE		VARCHAR2(240),
35         REMARKS                 VARCHAR2(4000),
36         APPROVER_NOTES          VARCHAR2(4000),
37         SKIP_MR_FLAG            VARCHAR2(1),
38         CANCEL_FLAG             VARCHAR2(1),
39         AFFECT_DUE_CALC_FLAG    VARCHAR2(1),
40         SET_DUE_DATE         	DATE,
41         DEFERRAL_EFFECTIVE_ON 	DATE,
42         DEFERRAL_TYPE           VARCHAR2(2),
43         MR_REPETITIVE_FLAG      VARCHAR2(1),
44         MANUALLY_PLANNED_FLAG   VARCHAR2(1),
45         RESET_COUNTER_FLAG      VARCHAR2(1),
46         OPERATION_FLAG          VARCHAR2(1),
47         ATTRIBUTE_CATEGORY      VARCHAR2(30),
48         ATTRIBUTE1              VARCHAR2(150),
49         ATTRIBUTE2              VARCHAR2(150),
50         ATTRIBUTE3              VARCHAR2(150),
51         ATTRIBUTE4              VARCHAR2(150),
52         ATTRIBUTE5              VARCHAR2(150),
53         ATTRIBUTE6              VARCHAR2(150),
54         ATTRIBUTE7              VARCHAR2(150),
55         ATTRIBUTE8              VARCHAR2(150),
56         ATTRIBUTE9              VARCHAR2(150),
57         ATTRIBUTE10             VARCHAR2(150),
58         ATTRIBUTE11             VARCHAR2(150),
59         ATTRIBUTE12             VARCHAR2(150),
60         ATTRIBUTE13             VARCHAR2(150),
61         ATTRIBUTE14             VARCHAR2(150),
62         ATTRIBUTE15             VARCHAR2(150),
63         USER_DEFERRAL_TYPE_CODE VARCHAR2(30)
64         );
65 
66 TYPE df_header_info_rec_type IS RECORD (
67         UNIT_DEFERRAL_ID        NUMBER,
68         OBJECT_VERSION_NUMBER   NUMBER,
69         UNIT_EFFECTIVITY_ID     NUMBER,
70         APPROVAL_STATUS_CODE    VARCHAR2(30),
71         APPROVAL_STATUS_MEANING    VARCHAR2(80),
72         DEFER_REASON_CODE		VARCHAR2(240),
73         REMARKS                 VARCHAR2(4000),
74         APPROVER_NOTES          VARCHAR2(4000),
75         SKIP_MR_FLAG            VARCHAR2(1),
76         CANCEL_FLAG             VARCHAR2(1),
77         AFFECT_DUE_CALC_FLAG    VARCHAR2(1),
78         SET_DUE_DATE         	DATE,
79         DEFERRAL_EFFECTIVE_ON 	DATE,
80         DEFERRAL_TYPE           VARCHAR2(2),
81         MR_HEADER_ID            NUMBER,
82         MR_TITLE                VARCHAR2(80),
83         MR_DESCRIPTION          VARCHAR2(2000),
84         INCIDENT_ID             NUMBER,
85         INCIDENT_NUMBER         VARCHAR2(64),
86         SUMMARY                 VARCHAR2(240),
87         DUE_DATE                DATE,
88         UE_STATUS_CODE             VARCHAR2(30),
89         UE_STATUS_MEANING          VARCHAR2(80),
90         VISIT_ID                NUMBER,
91         VISIT_NUMBER            number(15),
92         MR_REPETITIVE_FLAG      VARCHAR2(1),
93         RESET_COUNTER_FLAG      VARCHAR2(1),
94         MANUALLY_PLANNED_FLAG   VARCHAR2(1),
95         USER_DEFERRAL_TYPE_CODE VARCHAR2(30),
96         USER_DEFERRAL_TYPE_MEAN VARCHAR2(80),
97         MR_APPL_EXPIRED         VARCHAR2(1), --Flag to indicate that mr applicability has expired
98 	/*manisaga: added attributes for DFF Enablement on 19-Jan-2010--start*/
99         WO_ITEM_SRL_CTRLD         VARCHAR2(1),
100         CTR_UOM_REMAIN              VARCHAR2(240),
101         ATTRIBUTE_CATEGORY VARCHAR2(30),
102         ATTRIBUTE1 VARCHAR2(150),
103         ATTRIBUTE2 VARCHAR2(150),
104         ATTRIBUTE3 VARCHAR2(150),
105         ATTRIBUTE4 VARCHAR2(150),
106         ATTRIBUTE5 VARCHAR2(150),
107         ATTRIBUTE6 VARCHAR2(150),
108         ATTRIBUTE7 VARCHAR2(150),
109         ATTRIBUTE8 VARCHAR2(150),
110         ATTRIBUTE9 VARCHAR2(150),
111         ATTRIBUTE10 VARCHAR2(150),
112         ATTRIBUTE11 VARCHAR2(150),
113         ATTRIBUTE12 VARCHAR2(150),
114         ATTRIBUTE13 VARCHAR2(150),
115         ATTRIBUTE14 VARCHAR2(150),
116         ATTRIBUTE15 VARCHAR2(150)
117         /*manisaga: added attributes for DFF Enablement on 19-Jan-2010--end     */
118 
119         );
120 
121 TYPE df_schedules_rec_type IS RECORD (
122         UNIT_THRESHOLD_ID            NUMBER,
123         OBJECT_VERSION_NUMBER   NUMBER,
124         CREATED_BY              NUMBER,
125         CREATION_DATE           DATE,
126         LAST_UPDATED_BY         NUMBER,
127         LAST_UPDATE_DATE        DATE,
128         LAST_UPDATE_LOGIN       NUMBER,
129         UNIT_DEFERRAL_ID        NUMBER,
130         COUNTER_ID              NUMBER,
131         COUNTER_NAME            VARCHAR2(30),
132         COUNTER_VALUE           NUMBER,
133         CTR_VALUE_TYPE_CODE     VARCHAR2(30),
134         UNIT_OF_MEASURE         VARCHAR2(25),
135         OPERATION_FLAG          VARCHAR2(1),
136         ATTRIBUTE_CATEGORY      VARCHAR2(30),
137         ATTRIBUTE1              VARCHAR2(150),
138         ATTRIBUTE2              VARCHAR2(150),
139         ATTRIBUTE3              VARCHAR2(150),
140         ATTRIBUTE4              VARCHAR2(150),
141         ATTRIBUTE5              VARCHAR2(150),
142         ATTRIBUTE6              VARCHAR2(150),
143         ATTRIBUTE7              VARCHAR2(150),
144         ATTRIBUTE8              VARCHAR2(150),
145         ATTRIBUTE9              VARCHAR2(150),
146         ATTRIBUTE10             VARCHAR2(150),
147         ATTRIBUTE11             VARCHAR2(150),
148         ATTRIBUTE12             VARCHAR2(150),
149         ATTRIBUTE13             VARCHAR2(150),
150         ATTRIBUTE14             VARCHAR2(150),
151         ATTRIBUTE15             VARCHAR2(150)
152         );
153 
154 
155 ----------------------------------------------
156 -- Define Table Type for records structures --
157 ----------------------------------------------
158 TYPE df_schedules_tbl_type IS TABLE OF df_schedules_rec_type INDEX BY BINARY_INTEGER;
159 
160 
161 -- ------------------------------------------------------------------------------------------------
162 --  Procedure name    : process_deferral
163 --  Type              : private
164 --  Function          :
165 --  Pre-reqs    :
166 --  Parameters  :
167 --
168 --  Standard IN  Parameters :
169 --      p_api_version                   IN      NUMBER       Default  1.0
170 --      p_init_msg_list                 IN      VARCHAR2     Default  FND_API.G_TRUE
171 --      p_commit                        IN      VARCHAR2     Default  FND_API.G_FALSE
172 --      p_validation_level              IN      NUMBER       Default  FND_API.G_VALID_LEVEL_FULL
173 --  Standard OUT Parameters :
174 --      x_return_status                 OUT     VARCHAR2               Required
175 --      x_msg_count                     OUT     NUMBER                 Required
176 --      x_msg_data                      OUT     VARCHAR2               Required
177 --
178 --  p_module_type                       IN      VARCHAR2               Required.
179 --
180 --      This parameter indicates the front-end form interface. The default value is 'JSP'. If the value
181 --      is JSP, then this API clears out all id columns and validations are done using the values based
182 --      on which the Id's are populated.
183 --
184 --  process_deferral Parameters:
185 --
186 --  Version :
187 --               Initial Version   1.0
188 --
189 --  End of Comments.
190 
191 PROCEDURE process_deferral(
192     p_api_version           IN             NUMBER    := 1.0,
193     p_init_msg_list         IN             VARCHAR2  := FND_API.G_FALSE,
194     p_commit                IN             VARCHAR2  := FND_API.G_FALSE,
195     p_validation_level      IN             NUMBER    := FND_API.G_VALID_LEVEL_FULL,
196     p_module_type           IN             VARCHAR2  := NULL,
197     p_x_df_header_rec       IN OUT NOCOPY  AHL_PRD_DF_PVT.df_header_rec_type,
198     p_x_df_schedules_tbl    IN OUT NOCOPY  AHL_PRD_DF_PVT.df_schedules_tbl_type,
199     x_return_status         OUT NOCOPY     VARCHAR2,
200     x_msg_count             OUT NOCOPY     NUMBER,
201     x_msg_data              OUT NOCOPY     VARCHAR2);
202 
203 
204 -------------------------------------------------------------------------
205 -- Procedure to get deferral details attached to any uinit effectivity --
206 --------------------------------------------------------------------------
207 PROCEDURE get_deferral_details (
208 
209     p_init_msg_list          IN          VARCHAR2  := FND_API.G_FALSE,
210     p_unit_effectivity_id    IN          NUMBER,
211 	x_df_header_info_rec     OUT NOCOPY  AHL_PRD_DF_PVT.df_header_info_rec_type,
212     x_df_schedules_tbl       OUT NOCOPY  AHL_PRD_DF_PVT.df_schedules_tbl_type,
213     x_return_status          OUT NOCOPY  VARCHAR2,
214     x_msg_count              OUT NOCOPY  NUMBER,
215     x_msg_data               OUT NOCOPY  VARCHAR2);
216 -------------------------------------------------------------------------
217 -- Procedure to take action once deferral is approved. --
218 --------------------------------------------------------------------------
219 PROCEDURE process_approval_approved (
220 
221     p_unit_deferral_id      IN             NUMBER,
222     p_object_version_number IN             NUMBER,
223     p_new_status            IN             VARCHAR2,
224     x_return_status         OUT NOCOPY     VARCHAR2
225 
226 );
227 -------------------------------------------------------------------------
228 -- Procedure to take action once deferral is rejected --
229 --------------------------------------------------------------------------
230 PROCEDURE process_approval_rejected (
231 
232     p_unit_deferral_id      IN             NUMBER,
233     p_object_version_number IN             NUMBER,
234     p_new_status            IN             VARCHAR2,
235     x_return_status         OUT NOCOPY     VARCHAR2
236 );
237 
238 -------------------------------------------------------------------------
239 -- Procedure to initiate deferral --
240 --------------------------------------------------------------------------
241 PROCEDURE process_approval_initiated (
242     p_unit_deferral_id      IN             NUMBER,
243     p_object_version_number IN             NUMBER,
244     p_new_status            IN             VARCHAR2,
245     x_return_status         OUT NOCOPY     VARCHAR2);
246 
247 ---------------------------------------------------------------------------
248 --- Clean up data after exception deleting
249 ---------------------------------------------------------------------------
250 FUNCTION process_deferred_exceptions(p_unit_effectivity_id IN NUMBER) RETURN BOOLEAN;
251 ---------------------------------------------------------------------------
252 
253 PROCEDURE get_mr_termination_details(
254          p_unit_effectivity_id   IN  NUMBER,
255          x_mr_applicable         OUT NOCOPY VARCHAR2,
256          x_active_end_date       OUT NOCOPY DATE,
257          x_new_mr_header_id      OUT NOCOPY NUMBER,
258          x_new_mr_applicable     OUT NOCOPY VARCHAR2,
259          x_return_status         OUT NOCOPY VARCHAR2,
260          x_msg_count             OUT NOCOPY NUMBER,
261          x_msg_data              OUT NOCOPY VARCHAR2);
262 
263 END AHL_PRD_DF_PVT; -- Package spec