DBA Data[Home] [Help]

PACKAGE: APPS.QA_PARENT_CHILD_PKG

Source


1 PACKAGE QA_PARENT_CHILD_PKG AUTHID CURRENT_USER as
2 /* $Header: qapcs.pls 120.14.12020000.2 2012/07/03 14:38:59 ntungare 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,
288                        p_parent_occurrence IN NUMBER)
289         RETURN VARCHAR2;
290 
291  FUNCTION applicable_child_plans_eqr( p_plan_id          IN NUMBER ,
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)
310                                        p_plan_id IN NUMBER)
307                                         RETURN VARCHAR2;
308 
309  FUNCTION get_parent_vo_attribute_name(p_child_char_id IN NUMBER,
311                                         RETURN VARCHAR2 ;
312 
313  --
314  -- bug 8417775
315  -- Overloaded the function to read the
316  -- child plan id as well
317  -- ntungare
318  --
319  FUNCTION get_parent_vo_attribute_name(p_child_char_id IN NUMBER,
320                                        p_plan_id IN NUMBER,
321                                        p_child_plan_id IN NUMBER)
322                                         RETURN VARCHAR2 ;
323 
324  FUNCTION get_layout_mode (p_parent_plan_id IN NUMBER,
325                            p_child_plan_id IN NUMBER)
326                         RETURN NUMBER;
327 
328 
329  FUNCTION ssqr_post_actions(p_txn_hdr_id IN NUMBER,
330                             p_plan_id IN NUMBER,
331                             p_transaction_number IN NUMBER,
332                             x_sequence_string OUT NOCOPY VARCHAR2)
333                            RETURN VARCHAR2;
334 
335  FUNCTION count_updated(p_plan_id IN NUMBER,
336                         p_txn_header_id IN NUMBER) RETURN NUMBER;
337 
338  FUNCTION get_vud_allowed ( p_plan_id IN NUMBER)
339     RETURN VARCHAR2 ;
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         RETURN VARCHAR2 ;
349 
350  -- 12.1 QWB Usability Improvements project
351  --
352  FUNCTION update_parent(p_parent_plan_id IN NUMBER,
353                        p_parent_collection_id IN NUMBER,
354                        p_parent_occurrence IN NUMBER,
355                        p_child_plan_id IN NUMBER,
356                        p_child_collection_id IN NUMBER,
357                        p_child_occurrence IN NUMBER,
358                        p_child_txn_hdr_id IN NUMBER,
359                        x_agg_elements OUT NOCOPY VARCHAR2,
360                        x_agg_val OUT NOCOPY VARCHAR2)
361         RETURN VARCHAR2 ;
362 
363  -- Added this new procedure for Bug 3646166.
364  -- See package body for more details.suramasw.
365 
366  PROCEDURE DELETE_RELATIONSHIP_ROW(p_child_plan_id IN NUMBER,
367                                    p_child_occurrence IN NUMBER);
368 
369   -- Bug 4343758
370   -- R12 OAF Txn Integration Project
371   -- shkalyan 05/13/2005.
372   -- Function to delete a Result Row and and it's parent child relationship
373   FUNCTION delete_row(
374       p_plan_id          IN         NUMBER,
375       p_collection_id    IN         NUMBER,
376       p_occurrence       IN         NUMBER,
377       p_enabled          IN         NUMBER := NULL) RETURN VARCHAR2;
378 
379 
380    -- Bug 4345779. Audits Copy UI project.
381    -- Code Review feedback incorporation. CR Ref 4.9.5, 4.9.6 and 4.9.7
382    -- Modularization. Parent child API's must be defined in parent pkg.
383    -- srhariha. Tue Jul 12 02:12:17 PDT 2005.
384 
385    --
386    -- Parent-Child collections API. Operaters on collection of records.
387    --
388 
389 
390    --
391    -- Creates relationship between given parent row and collection of
392    -- child rows.
393    --
394 
395    PROCEDURE create_relationship_for_coll
396                                 ( p_parent_plan_id NUMBER,
397                                   p_parent_collection_id NUMBER,
398                                   p_parent_occurrence NUMBER,
399                                   p_child_plan_id NUMBER,
400                                   p_child_collection_id NUMBER,
401                                   p_org_id NUMBER);
402 
403    --
404    -- Performs copy relationship between given parent row and collection of
405    -- child rows.
406    --
407 
408    PROCEDURE copy_from_parent_for_coll
409                              ( p_parent_plan_id NUMBER,
410                                p_parent_collection_id NUMBER,
411                                p_parent_occurrence NUMBER,
412                                p_child_plan_id NUMBER,
413                                p_child_collection_id NUMBER,
414                                p_org_id NUMBER);
415 
416 
417    --
418    -- Creates history for given collection
419    --
420 
421    PROCEDURE create_history_for_coll
422                           ( p_plan_id NUMBER,
423                             p_collection_id NUMBER,
424                             p_org_id NUMBER,
425                             p_txn_header_id NUMBER);
426 
427 
428   -- Bug 4502450. R12 Esig Status support in Multirow UQR
429   -- saugupta Wed, 24 Aug 2005 08:40:09 -0700 PDT
430 
431   --
432   -- get all the grand parents for the child plan
433   --
434   FUNCTION get_ancestors( p_child_plan_id IN NUMBER,
435                         p_child_occurrence IN NUMBER,
436                         p_child_collection_id IN NUMBER,
437                         x_parent_plan_ids          OUT NOCOPY dbms_sql.number_table,
438                         x_parent_collection_ids    OUT NOCOPY dbms_sql.number_table,
439                         x_parent_occurrences       OUT NOCOPY dbms_sql.number_table)
440       RETURN VARCHAR2;
441 
442   -- Bug 5435657
443   -- New procedure to update the aggregate values
444   -- on all the ancestors of the Plan_id passed,
445   -- in case such a P-C relationship
446   -- exists
450                                  p_parent_collection_id IN NUMBER,
447   -- ntungare Wed Aug  2 20:53:40 PDT 2006
448   --
449   PROCEDURE update_all_ancestors(p_parent_plan_id       IN NUMBER,
451                                  p_parent_occurrence    IN NUMBER);
452 
453   --
454   -- bug 6134920
455   -- Added a new procedure to delete all the status
456   -- 1 invalid child records, generated during an
457   -- incomplete txn
458   -- ntungare Tue Jul 10 23:05:24 PDT 2007
459   --
460   PROCEDURE delete_invalid_children(p_txn_header_id IN NUMBER);
461 
462   -- 12.1 QWB Usability Improvements
463   -- New method to check if a Parent Plan record
464   -- has any applicable child plan into which data can be
465   -- entered.
466   --
467   FUNCTION has_enterable_child(p_plan_id in number,
468                                p_collection_id in number,
469                                p_occurrence in number)
470    RETURN varchar2;
471 
472   -- 12.1 QWB Usability Improvements
473   -- New method to check if there aare any updatable child records
474   --
475   FUNCTION child_exists_for_update(p_plan_id       IN NUMBER,
476                                    p_collection_id IN NUMBER,
477                                    p_occurrence    IN NUMBER)
478     RETURN VARCHAR2;
479 
480   -- 12.1 QWB usability Improvements
481   -- New method to get a count of child records
482   -- present for any parent plan record
483   --
484   FUNCTION getChildCount(p_plan_id       IN NUMBER,
485                          p_collection_id IN NUMBER,
486                          p_occurrence    IN NUMBER)
487     RETURN NUMBER;
488 
489   -- 12.1 Quality Inline Transaction INtegration
490   -- New method to identify whether a plan has
491   -- child plans associated with it or not
492   --
493   FUNCTION has_child(p_plan_id IN NUMBER)
494     RETURN INTEGER;
495 
496 -- 12.1 QWB Usability Improvements project
497 -- Function to update all the History
498 -- Child records corresponding to a parent record
499 FUNCTION update_hist_children(p_parent_plan_id IN NUMBER,
500                        p_parent_collection_id IN NUMBER,
501                        p_parent_occurrence IN NUMBER)
502         RETURN VARCHAR2;
503 
504 -- Bug 7436465.FP for Bug 7035041.pdube Fri Sep 26 03:46:20 PDT 2008
505 -- Inroduced a table type and a procedure to check if any child
506 -- record exists for parent record.
507 TYPE result_column_name_tab_typ IS TABLE OF qa_plan_chars.result_column_name%TYPE INDEX BY BINARY_INTEGER;
508 FUNCTION IF_CHILD_RECORD_EXISTS( p_plan_id IN NUMBER,
509                                  p_collection_id IN NUMBER,
510                                  p_occurrence IN NUMBER) RETURN result_column_name_tab_typ;
511 
512 
513 -- Bug 8546279.FP for 8446050.pdube
514 PROCEDURE get_deref_column(p_parent_result_column IN     VARCHAR2,
515                             p_parent_plan_id       IN     NUMBER,
516                             x_select_column        OUT NOCOPY VARCHAR2);
517 
518  --
519  -- Bug 13970715
520  -- add new function to get hardcoded column of parent element
521  -- based on child element to which parent value is being copied.
522  -- hmakam
523  --
524  FUNCTION get_parent_hardcoded_column(p_child_char_id IN NUMBER,
525                                        p_plan_id IN NUMBER,
526                                        p_child_plan_id IN NUMBER)
527                                         RETURN VARCHAR2 ;
528 
529 END QA_PARENT_CHILD_PKG;