DBA Data[Home] [Help]

PACKAGE: APPS.QA_PARENT_CHILD_PKG

Source


1 PACKAGE QA_PARENT_CHILD_PKG as
2 /* $Header: qapcs.pls 120.11.12010000.2 2008/09/26 13:42:11 pdube ship $ */
3 TYPE ChildPlanArray IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
4 
5 -- 5114865
6 -- New Global Record Type for the Parent Child
7 -- Relationship Columns
8 -- ntungare Wed Mar  8 08:59:12 PST 2006
9 Type g_parentchild_rectyp is record
10     (parent_database_column VARCHAR2(2000),
11      child_database_column  VARCHAR2(2000));
12 
13 -- 5114865
14 -- Global Collection Type of the above Record Type
15 -- ntungare Wed Mar 22 01:11:28 PST 2006
16 Type g_parentchild_elementtab_type is table of g_parentchild_rectyp
17     INDEX BY BINARY_INTEGER;
18 
19 -- 5114865
20 -- New Record Type to related the Parent Child
21 -- Relationship records. This has the collection
22 -- Type defined above nested inside, to list
23 -- the elements copied at every P-C level
24 -- ntungare Wed Mar 22 01:11:28 PST 2006
25 --
26 TYPE ParentChildUpdtRecTyp IS RECORD
27                (parent_plan_id       NUMBER,
28                 parent_collection_id NUMBER,
29                 parent_occurrence    NUMBER,
30                 child_plan_id        NUMBER,
31                 child_collection_id  NUMBER,
32                 child_occurrence     NUMBER,
33                 parentelement_tab    g_parentchild_elementtab_type);
34  -- 5114865
35  -- Array to hold the details of the P-C relationships
36  -- for sequence Type of elements
37  -- ntungare Sun Apr  9 23:46:50 PDT 2006
38 TYPE ParentChildTabTyp IS TABLE OF ParentChildUpdtRecTyp INDEX BY BINARY_INTEGER;
39 
40 PROCEDURE parse_list(x_result IN VARCHAR2,
41                         x_array OUT NOCOPY ChildPlanArray);
42 
43 PROCEDURE insert_automatic_records(p_plan_id IN NUMBER,
44                                    p_collection_id IN NUMBER,
45                                    p_occurrence IN NUMBER,
46                                    p_child_plan_ids IN VARCHAR2,
47                                    p_relationship_type IN NUMBER,
48                                    p_data_entry_mode IN NUMBER,
49                                    p_criteria_values IN VARCHAR2,
50                                    p_org_id IN NUMBER,
51                                    p_spec_id in NUMBER,
52                                    x_status OUT NOCOPY VARCHAR2,
53                                    p_txn_header_id IN NUMBER DEFAULT NULL);
54 
55 PROCEDURE enable_and_fire_actions(p_collection_id    NUMBER);
56 
57 -- Gapless Sequence Proj. rponnusa Wed Jul 30 04:52:45 PDT 2003
58 -- Changed procedure signature
59 PROCEDURE delete_child_rows( p_plan_ids           IN dbms_sql.number_table,
60                              p_collection_ids     IN dbms_sql.number_table,
61                              p_occurrences        IN dbms_sql.number_table,
62                              p_parent_plan_id        NUMBER,
63                              p_parent_collection_id  NUMBER,
64                              p_parent_occurrence     NUMBER,
65                              p_enabled_flag          VARCHAR2);
66 
67 
68 PROCEDURE enable_fire_for_txn_hdr_id(p_txn_header_id NUMBER);
69 
70 --
71 -- bug 5682448
72 -- New proc to enable the records and fire
73 -- the actions for all those enabled records
74 -- ntungare Wed Feb 21 07:06:20 PST 2007
75 --
76 PROCEDURE enable_fire_for_coll_id(p_txn_header_id IN NUMBER);
77 
78 -- Gapless Sequence Proj. rponnusa Wed Jul 30 04:52:45 PDT 2003
79 -- Changed procedure signature
80 -- 12.1 QWB Usability Improvements
81 -- Added 2 new paramters to get a list of the Aggregated elements
82 -- and the aggregated values.
83 --
84 --
85 -- bug 7046071
86 -- Added a parameter p_ssqr_operation parameter to check if the
87 -- call is done from the OAF application or from Forms
88 -- In case of the OAF application, the COMMIT that is
89 -- executed in the aggregate_parent must not be called
90 -- ntungare
91 --
92 PROCEDURE relate(p_parent_plan_id IN NUMBER, p_parent_collection_id IN NUMBER,
93                  p_parent_occurrence IN NUMBER, p_child_plan_id IN NUMBER,
94                  p_child_collection_id IN NUMBER, p_child_occurrence IN NUMBER,
95                  p_child_txn_header_id IN NUMBER DEFAULT NULL,x_agg_elements OUT NOCOPY VARCHAR2,
96                  x_agg_val OUT NOCOPY VARCHAR2, p_ssqr_operation IN NUMBER DEFAULT NULL
97                  );
98 
99 
100 FUNCTION commit_allowed(
101                           p_plan_id          NUMBER,
102                           p_collection_id    NUMBER,
103                           p_occurrence       NUMBER,
104                           p_child_plan_ids   VARCHAR2)   RETURN VARCHAR2;
105 
106 -- Bug 5161719. SHKALYAN 13-Apr-2006
107 -- Added this overloaded commit_allowed method to return back to the caller
108 -- the list of child plan ids that are incomplete.
109 FUNCTION commit_allowed(
110                           p_plan_id                         NUMBER,
111                           p_collection_id                   NUMBER,
112                           p_occurrence                      NUMBER,
113                           p_child_plan_ids                  VARCHAR2,
114                           x_incomplete_plan_ids  OUT NOCOPY VARCHAR2) RETURN VARCHAR2;
115 
116 FUNCTION descendants_exist(p_plan_id NUMBER,
117                            p_collection_id NUMBER,
118                            p_occurrence NUMBER)
119          RETURN VARCHAR2;
120 
121 FUNCTION get_descendants(p_plan_id NUMBER, p_collection_id NUMBER,
122                          p_occurrence NUMBER,
123                          x_plan_ids OUT NOCOPY dbms_sql.number_table,
124                          x_collection_ids OUT NOCOPY dbms_sql.number_table,
125                          x_occurrences OUT NOCOPY dbms_sql.number_table)
126          RETURN VARCHAR2;
127 
128 FUNCTION get_disabled_descendants(p_plan_id NUMBER,
129                              p_collection_id NUMBER,
130                              p_occurrence NUMBER,
131                              --p_enabled    NUMBER,
132                              x_plan_ids OUT NOCOPY dbms_sql.number_table,
133                              x_collection_ids OUT NOCOPY dbms_sql.number_table,
134                              x_occurrences OUT NOCOPY dbms_sql.number_table)
135          RETURN VARCHAR2;
136 
137 
138 FUNCTION evaluate_child_lov_criteria(p_plan_id          IN NUMBER,
139                                        p_criteria_values  IN VARCHAR2,
140                                        x_child_plan_ids  OUT NOCOPY VARCHAR2)
141         RETURN VARCHAR2;
142 
143  FUNCTION eval_updateview_lov_criteria( p_plan_id          IN NUMBER,
144                                         p_criteria_values  IN VARCHAR2,
145                                         x_child_plan_ids  OUT NOCOPY VARCHAR2)
146         RETURN VARCHAR2;
147 
148 FUNCTION criteria_matched(p_plan_relationship_id IN NUMBER,
149                             p_criteria_array qa_txn_grp.ElementsArray)
150         RETURN VARCHAR2;
151 
152 FUNCTION evaluate_criteria(p_plan_id            IN NUMBER,
153                              p_criteria_values    IN VARCHAR2,
154                              p_relationship_type  IN NUMBER,
155                              p_data_entry_mode    IN NUMBER,
156                              x_child_plan_ids     OUT NOCOPY VARCHAR2)
157         RETURN VARCHAR2;
158 
159 FUNCTION aggregate_functions(p_sql_string IN VARCHAR2,
160                              p_occurrence IN NUMBER,
161                              p_child_plan_id IN NUMBER,
162                              x_value OUT NOCOPY NUMBER)
163         RETURN VARCHAR2;
164 
165 --
166 -- bug 5682448
167 -- added the Txn_header_id parameter
168 -- ntungare Wed Feb 21 07:25:10 PST 2007
169 --
170 FUNCTION aggregate_functions(p_sql_string IN VARCHAR2,
171                              p_occurrence IN NUMBER,
172                              p_child_plan_id IN NUMBER,
173                              p_txn_header_id IN NUMBER,
174                              x_value OUT NOCOPY NUMBER)
175         RETURN VARCHAR2;
176 
177 FUNCTION get_plan_name(p_plan_ids IN VARCHAR2 , x_plan_name OUT NOCOPY VARCHAR2)
178         RETURN VARCHAR2;
179 
180 FUNCTION find_parent(p_child_plan_id IN NUMBER, p_child_collection_id IN NUMBER,
181                      p_child_occurrence IN NUMBER, x_parent_plan_id OUT NOCOPY NUMBER,
182                      x_parent_collection_id OUT NOCOPY NUMBER,
183                      x_parent_occurrence OUT NOCOPY NUMBER)
184         RETURN VARCHAR2;
185 
186 FUNCTION should_parent_spec_be_copied(p_parent_plan_id IN NUMBER,
187                                       p_child_plan_id IN NUMBER)
188         RETURN VARCHAR2;
189 
190 FUNCTION is_parent_child_plan(p_plan_id NUMBER)
191         RETURN VARCHAR2;
192 
193 FUNCTION update_parent(p_parent_plan_id IN NUMBER,
194                        p_parent_collection_id IN NUMBER,
195                        p_parent_occurrence IN NUMBER,
196                        p_child_plan_id IN NUMBER,
197                        p_child_collection_id IN NUMBER,
198                        p_child_occurrence IN NUMBER)
199         RETURN VARCHAR2;
200 
201 -- 12.1 QWB Usability Improvements
202 -- Overloaded the existing API and added 2 new parameters
203 -- to get a list of the aggreagted elements and the
204 -- aggregated values
205 --
206 --
207 -- bug 7046071
208 -- Added the parameter p_ssqr_operation parameter to check if the
209 -- call is done from the OAF application or from Forms
210 -- In case of the OAF application, the COMMIT that is
211 -- executed in the aggregate_parent must not be called
212 -- ntungare
213 --
214 FUNCTION update_parent(p_parent_plan_id IN NUMBER,
215                        p_parent_collection_id IN NUMBER,
216                        p_parent_occurrence IN NUMBER,
217                        p_child_plan_id IN NUMBER,
218                        p_child_collection_id IN NUMBER,
219                        p_child_occurrence IN NUMBER,
220                        x_agg_elements OUT NOCOPY VARCHAR2,
221                        x_agg_val OUT NOCOPY VARCHAR2,
222                        p_ssqr_operation IN NUMBER DEFAULT NULL)
223         RETURN VARCHAR2;
224 
225 FUNCTION update_child(p_parent_plan_id IN NUMBER,
226                        p_parent_collection_id IN NUMBER,
227                        p_parent_occurrence IN NUMBER,
228                        p_child_plan_id IN NUMBER,
229                        p_child_collection_id IN NUMBER,
230                        p_child_occurrence IN NUMBER)
231          RETURN VARCHAR2;
232 
233 -- Bug 5114865
234 -- New function to handle the Copying
235 -- of sequences between Parent Child Plans
236 -- ntungare Wed Mar  8 08:57:24 PST 2006
237 --
238 FUNCTION update_sequence_child (p_ParentChild_Tab IN QA_PARENT_CHILD_PKG.ParentChildTabTyp)
239          RETURN VARCHAR2;
240 
241 PROCEDURE get_criteria_values(p_parent_plan_id IN NUMBER,
242                               p_parent_collection_id IN NUMBER,
243                               p_parent_occurrence IN NUMBER,
244                               p_organization_id IN NUMBER,
245                               x_criteria_values OUT NOCOPY VARCHAR2);
246 
247 PROCEDURE insert_history_auto_rec(p_parent_plan_id IN NUMBER,
248                                   p_txn_header_id IN NUMBER,
249                                   p_relationship_type IN NUMBER,
250                                   p_data_entry_mode IN NUMBER);
251 
252   -- Bug 3536025. Adding this new procedure insert_history_auto_QWB,
253   -- which will be called from qltssreb.pls (Quality WorkBench) for
254   -- inserting history/automatic child plans.Earlier it used
255   -- insert_history_auto_rec() procedure.
256   -- srhariha. Wed May 26 22:31:28 PDT 2004
257 
258 /*
259 PROCEDURE insert_history_auto_rec_QWB(p_parent_plan_id IN NUMBER,
260                                       p_txn_header_id IN NUMBER,
261                                       p_relationship_type IN NUMBER,
262                                       p_data_entry_mode IN NUMBER);
263 */
264 
265 -- Bug 3681815. Changing the signature of the procedure due to incorrect
266 -- number of rows getting created for automatic child plans.
267 -- saugupta Tue, 15 Jun 2004 04:08:38 -0700 PDT
268 
269 PROCEDURE insert_history_auto_rec_QWB(p_plan_id           IN NUMBER,
270                                       p_collection_id     IN NUMBER,
271                                       p_occurrence        IN NUMBER,
272                                       p_organization_id   IN NUMBER,
273                                       p_txn_header_id     IN NUMBER,
274                                       p_relationship_type IN NUMBER,
275                                       p_data_entry_mode   IN NUMBER,
276                                       x_status  OUT NOCOPY VARCHAR2);
277 
278 
279 
280 FUNCTION is_parent_saved(p_plan_id  IN NUMBER,
281 
282                           p_collection_id IN NUMBER,
283                           p_occurrence IN NUMBER)
284         RETURN VARCHAR2;
285 
286 FUNCTION update_all_children(p_parent_plan_id IN NUMBER,
287                        p_parent_collection_id IN NUMBER,
291  FUNCTION applicable_child_plans_eqr( p_plan_id          IN NUMBER ,
288                        p_parent_occurrence IN NUMBER)
289         RETURN VARCHAR2;
290 
292                                         p_criteria_values  IN VARCHAR2)
293                                         RETURN VARCHAR2;
294 
295    --this function returns a string of the form
296    --<plan_id>=<data_entry_mode>@<plan_id>=... representing all
297    --child_plans which match the criteria values passed in
298    FUNCTION applicable_child_plans(p_plan_id            IN NUMBER,
299                                    p_criteria_values    IN VARCHAR2)
300       RETURN VARCHAR2;
301 
302 
303  FUNCTION is_context_element( p_plan_id IN NUMBER ,
304                               p_char_id IN NUMBER,
305                               p_parent_plan_id IN NUMBER,
306                               p_txn_or_child_flag IN NUMBER)
307                                         RETURN VARCHAR2;
308 
309  FUNCTION get_parent_vo_attribute_name(p_child_char_id IN NUMBER,
310                                        p_plan_id IN NUMBER)
311                                         RETURN VARCHAR2 ;
312 
313  FUNCTION get_layout_mode (p_parent_plan_id IN NUMBER,
314                            p_child_plan_id IN NUMBER)
315                         RETURN NUMBER;
316 
317 
318  FUNCTION ssqr_post_actions(p_txn_hdr_id IN NUMBER,
319                             p_plan_id IN NUMBER,
320                             p_transaction_number IN NUMBER,
321                             x_sequence_string OUT NOCOPY VARCHAR2)
322                            RETURN VARCHAR2;
323 
324  FUNCTION count_updated(p_plan_id IN NUMBER,
325                         p_txn_header_id IN NUMBER) RETURN NUMBER;
326 
327  FUNCTION get_vud_allowed ( p_plan_id IN NUMBER)
328     RETURN VARCHAR2 ;
329 
330  FUNCTION update_parent(p_parent_plan_id IN NUMBER,
331                        p_parent_collection_id IN NUMBER,
332                        p_parent_occurrence IN NUMBER,
333                        p_child_plan_id IN NUMBER,
334                        p_child_collection_id IN NUMBER,
335                        p_child_occurrence IN NUMBER,
336                        p_child_txn_hdr_id IN NUMBER)
337         RETURN VARCHAR2 ;
338 
339  -- 12.1 QWB Usability Improvements project
340  --
341  FUNCTION update_parent(p_parent_plan_id IN NUMBER,
342                        p_parent_collection_id IN NUMBER,
343                        p_parent_occurrence IN NUMBER,
344                        p_child_plan_id IN NUMBER,
345                        p_child_collection_id IN NUMBER,
346                        p_child_occurrence IN NUMBER,
347                        p_child_txn_hdr_id IN NUMBER,
348                        x_agg_elements OUT NOCOPY VARCHAR2,
349                        x_agg_val OUT NOCOPY VARCHAR2)
350         RETURN VARCHAR2 ;
351 
352  -- Added this new procedure for Bug 3646166.
353  -- See package body for more details.suramasw.
354 
355  PROCEDURE DELETE_RELATIONSHIP_ROW(p_child_plan_id IN NUMBER,
356                                    p_child_occurrence IN NUMBER);
357 
358   -- Bug 4343758
359   -- R12 OAF Txn Integration Project
360   -- shkalyan 05/13/2005.
361   -- Function to delete a Result Row and and it's parent child relationship
362   FUNCTION delete_row(
363       p_plan_id          IN         NUMBER,
364       p_collection_id    IN         NUMBER,
365       p_occurrence       IN         NUMBER,
366       p_enabled          IN         NUMBER := NULL) RETURN VARCHAR2;
367 
368 
369    -- Bug 4345779. Audits Copy UI project.
370    -- Code Review feedback incorporation. CR Ref 4.9.5, 4.9.6 and 4.9.7
371    -- Modularization. Parent child API's must be defined in parent pkg.
372    -- srhariha. Tue Jul 12 02:12:17 PDT 2005.
373 
374    --
375    -- Parent-Child collections API. Operaters on collection of records.
376    --
377 
378 
379    --
380    -- Creates relationship between given parent row and collection of
381    -- child rows.
382    --
383 
384    PROCEDURE create_relationship_for_coll
385                                 ( p_parent_plan_id NUMBER,
386                                   p_parent_collection_id NUMBER,
387                                   p_parent_occurrence NUMBER,
388                                   p_child_plan_id NUMBER,
389                                   p_child_collection_id NUMBER,
390                                   p_org_id NUMBER);
391 
392    --
393    -- Performs copy relationship between given parent row and collection of
394    -- child rows.
395    --
396 
397    PROCEDURE copy_from_parent_for_coll
398                              ( p_parent_plan_id NUMBER,
399                                p_parent_collection_id NUMBER,
400                                p_parent_occurrence NUMBER,
401                                p_child_plan_id NUMBER,
402                                p_child_collection_id NUMBER,
403                                p_org_id NUMBER);
404 
405 
406    --
407    -- Creates history for given collection
408    --
409 
410    PROCEDURE create_history_for_coll
411                           ( p_plan_id NUMBER,
412                             p_collection_id NUMBER,
413                             p_org_id NUMBER,
414                             p_txn_header_id NUMBER);
415 
416 
420   --
417   -- Bug 4502450. R12 Esig Status support in Multirow UQR
418   -- saugupta Wed, 24 Aug 2005 08:40:09 -0700 PDT
419 
421   -- get all the grand parents for the child plan
422   --
423   FUNCTION get_ancestors( p_child_plan_id IN NUMBER,
424                         p_child_occurrence IN NUMBER,
425                         p_child_collection_id IN NUMBER,
426                         x_parent_plan_ids          OUT NOCOPY dbms_sql.number_table,
427                         x_parent_collection_ids    OUT NOCOPY dbms_sql.number_table,
428                         x_parent_occurrences       OUT NOCOPY dbms_sql.number_table)
429       RETURN VARCHAR2;
430 
431   -- Bug 5435657
432   -- New procedure to update the aggregate values
433   -- on all the ancestors of the Plan_id passed,
434   -- in case such a P-C relationship
435   -- exists
436   -- ntungare Wed Aug  2 20:53:40 PDT 2006
437   --
438   PROCEDURE update_all_ancestors(p_parent_plan_id       IN NUMBER,
439                                  p_parent_collection_id IN NUMBER,
440                                  p_parent_occurrence    IN NUMBER);
441 
442   --
443   -- bug 6134920
444   -- Added a new procedure to delete all the status
445   -- 1 invalid child records, generated during an
446   -- incomplete txn
447   -- ntungare Tue Jul 10 23:05:24 PDT 2007
448   --
449   PROCEDURE delete_invalid_children(p_txn_header_id IN NUMBER);
450 
451   -- 12.1 QWB Usability Improvements
452   -- New method to check if a Parent Plan record
453   -- has any applicable child plan into which data can be
454   -- entered.
455   --
456   FUNCTION has_enterable_child(p_plan_id in number,
457                                p_collection_id in number,
458                                p_occurrence in number)
459    RETURN varchar2;
460 
461   -- 12.1 QWB Usability Improvements
462   -- New method to check if there aare any updatable child records
463   --
464   FUNCTION child_exists_for_update(p_plan_id       IN NUMBER,
465                                    p_collection_id IN NUMBER,
466                                    p_occurrence    IN NUMBER)
467     RETURN VARCHAR2;
468 
469   -- 12.1 QWB usability Improvements
470   -- New method to get a count of child records
471   -- present for any parent plan record
472   --
473   FUNCTION getChildCount(p_plan_id       IN NUMBER,
474                          p_collection_id IN NUMBER,
475                          p_occurrence    IN NUMBER)
476     RETURN NUMBER;
477 
478   -- 12.1 Quality Inline Transaction INtegration
479   -- New method to identify whether a plan has
480   -- child plans associated with it or not
481   --
482   FUNCTION has_child(p_plan_id IN NUMBER)
483     RETURN INTEGER;
484 
485 -- 12.1 QWB Usability Improvements project
486 -- Function to update all the History
487 -- Child records corresponding to a parent record
488 FUNCTION update_hist_children(p_parent_plan_id IN NUMBER,
489                        p_parent_collection_id IN NUMBER,
490                        p_parent_occurrence IN NUMBER)
491         RETURN VARCHAR2;
492 
493 -- Bug 7436465.FP for Bug 7035041.pdube Fri Sep 26 03:46:20 PDT 2008
494 -- Inroduced a table type and a procedure to check if any child
495 -- record exists for parent record.
496 TYPE result_column_name_tab_typ IS TABLE OF qa_plan_chars.result_column_name%TYPE INDEX BY BINARY_INTEGER;
497 FUNCTION IF_CHILD_RECORD_EXISTS( p_plan_id IN NUMBER,
498                                  p_collection_id IN NUMBER,
499                                  p_occurrence IN NUMBER) RETURN result_column_name_tab_typ;
500 
501 END QA_PARENT_CHILD_PKG;