DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_DOCUMENT_UTIL_PVT

Source


1 PACKAGE BODY PO_DOCUMENT_UTIL_PVT as
2 -- $Header: PO_DOCUMENT_UTIL_PVT.plb 120.2 2005/09/26 18:54:41 jgoodwin noship $
3 
4 --------------------------------------------------------------------------
5 -- Modules for debugging.
6 --------------------------------------------------------------------------
7 
8 -- The module base for this package.
9 D_PACKAGE_BASE CONSTANT VARCHAR2(50) :=
10   PO_LOG.get_package_base('PO_DOCUMENT_UTIL_PVT');
11 
12 -- The module base for the subprogram.
13 D_synchronize_gt_tables CONSTANT VARCHAR2(100) :=
14   PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'synchronize_gt_tables');
15 D_initialize_gt_table CONSTANT VARCHAR2(100) :=
16   PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'initialize_gt_table');
17 
18 
19 
20 
21 PROCEDURE synchronize_gt_tables (
22   p_key                IN           NUMBER
23 , p_index_num1_vals    IN           PO_TBL_NUMBER
24 , p_index_num2_vals    IN           PO_TBL_NUMBER
25 )
26 IS
27   d_mod     CONSTANT VARCHAR2(100) := D_synchronize_gt_tables;
28 
29 BEGIN
30 
31   IF PO_LOG.d_proc THEN
32     PO_LOG.proc_begin(d_mod);
33   END IF;
34 
35   -- Remove any values for this gt key
36   DELETE FROM PO_SESSION_GT
37   WHERE key = p_key;
38 
39   -- Bulk insert new values
40   FORALL i IN 1 .. p_index_num1_vals.COUNT
41     INSERT INTO PO_SESSION_GT
42     (  key
43      , index_num1
44      , index_num2
45     )
46     VALUES
47     (
48        p_key
49      , p_index_num1_vals(i)
50      , p_index_num2_vals(i)
51     );
52 
53   IF PO_LOG.d_proc THEN
54     PO_LOG.proc_end(d_mod);
55   END IF;
56 
57 EXCEPTION
58   WHEN OTHERS THEN
59     IF PO_LOG.d_exc THEN
60       PO_LOG.exc(d_mod,0,NULL);
61     END IF;
62     RAISE;
63 
64 END synchronize_gt_tables;
65 
66 /*==================================================================
67   FUNCTION NAME:           initialize_gt_table
68 
69   DESCRIPTION:             Inserts the values into PO_SESSION_GT at
70                            a new key, returning the key.
71 
72   PARAMETERS:              p_index_num1_vals - the values to be inserted into
73 			           the GT Table's index_num1 column.
74 			   p_index_num2_vals - the values to be inserted into
75 			           the GT Table's index_num2 column.
76 ====================================================================*/
77 FUNCTION initialize_gt_table (
78   p_index_num1_vals    IN          PO_TBL_NUMBER
79 , p_index_num2_vals    IN          PO_TBL_NUMBER)
80 RETURN NUMBER
81 
82 IS
83   d_mod     CONSTANT VARCHAR2(100) := D_initialize_gt_table;
84   l_key     NUMBER;
85 
86 BEGIN
87 
88   IF PO_LOG.d_proc THEN
89     PO_LOG.proc_begin(d_mod, 'l_key', l_key);
90   END IF;
91 
92   -- Get the next key for the session
93   l_key := PO_CORE_S.get_session_gt_nextval;
94 
95   -- Insert the values into the GT table
96   synchronize_gt_tables(
97     p_key => l_key,
98     p_index_num1_vals => p_index_num1_vals,
99     p_index_num2_vals => p_index_num2_vals);
100 
101   IF PO_LOG.d_proc THEN
102     PO_LOG.proc_end(d_mod);
103   END IF;
104 
105   RETURN(l_key);
106 
107 EXCEPTION
108   WHEN OTHERS THEN
109     IF PO_LOG.d_exc THEN
110       PO_LOG.exc(d_mod,0,NULL);
111     END IF;
112     RAISE;
113 
114 
115 END initialize_gt_table;
116 
117 
118 
119 END PO_DOCUMENT_UTIL_PVT;