DBA Data[Home] [Help]

PACKAGE: APPS.CN_CALC_FORMULAS_PVT

Source


1 PACKAGE CN_CALC_FORMULAS_PVT AUTHID CURRENT_USER AS
2 /*$Header: cnvforms.pls 120.4 2006/05/26 00:49:40 jxsingh ship $*/
3 TYPE input_rec_type IS RECORD
4   (formula_input_id      CN_FORMULA_INPUTS.FORMULA_INPUT_ID%TYPE := NULL,
5    calc_sql_exp_id       CN_FORMULA_INPUTS.CALC_SQL_EXP_ID%TYPE,
6    f_calc_sql_exp_id     CN_FORMULA_INPUTS.F_CALC_SQL_EXP_ID%TYPE,
7    rate_dim_sequence     CN_FORMULA_INPUTS.RATE_DIM_SEQUENCE%TYPE,
8    calc_exp_name         CN_CALC_SQL_EXPS.NAME%TYPE,
9    calc_exp_status       CN_CALC_SQL_EXPS.STATUS%TYPE,
10    f_calc_exp_name       CN_CALC_SQL_EXPS.NAME%TYPE,
11    f_calc_exp_status     CN_CALC_SQL_EXPS.STATUS%TYPE,
12    object_version_number CN_FORMULA_INPUTS.OBJECT_VERSION_NUMBER%TYPE,
13    cumulative_flag       CN_FORMULA_INPUTS.CUMULATIVE_FLAG%TYPE,
14    split_flag            CN_FORMULA_INPUTS.SPLIT_FLAG%TYPE);
15 
16 TYPE rt_assign_rec_type IS RECORD
17   (rt_formula_asgn_id    CN_RT_FORMULA_ASGNS.RT_FORMULA_ASGN_ID%TYPE := NULL,
18    rate_schedule_id      CN_RT_FORMULA_ASGNS.RATE_SCHEDULE_ID%TYPE,
19    start_date            CN_RT_FORMULA_ASGNS.START_DATE%TYPE,
20    end_date              CN_RT_FORMULA_ASGNS.END_DATE%TYPE,
21    rate_schedule_name    CN_RATE_SCHEDULES.NAME%TYPE,
22    rate_schedule_type    CN_RATE_SCHEDULES.COMMISSION_UNIT_CODE%TYPE,
23    object_version_number CN_RT_FORMULA_ASGNS.OBJECT_VERSION_NUMBER%TYPE);
24 
25 TYPE formula_rec_type IS RECORD
26   (calc_formula_id         CN_CALC_FORMULAS.CALC_FORMULA_ID%TYPE,
27    name                    CN_CALC_FORMULAS.NAME%TYPE,
28    description             CN_CALC_FORMULAS.DESCRIPTION%TYPE,
29    formula_type            CN_CALC_FORMULAS.FORMULA_TYPE%TYPE,
30    formula_status          CN_CALC_FORMULAS.FORMULA_STATUS%TYPE,
31    trx_group_code          CN_CALC_FORMULAS.TRX_GROUP_CODE%TYPE,
32    number_dim              CN_CALC_FORMULAS.NUMBER_DIM%TYPE,
33    cumulative_flag         CN_CALC_FORMULAS.CUMULATIVE_FLAG%TYPE,
34    itd_flag                CN_CALC_FORMULAS.ITD_FLAG%TYPE,
35    split_flag              CN_CALC_FORMULAS.SPLIT_FLAG%TYPE,
36    threshold_all_tier_flag CN_CALC_FORMULAS.THRESHOLD_ALL_TIER_FLAG%TYPE,
37    modeling_flag           CN_CALC_FORMULAS.MODELING_FLAG%TYPE,
38    perf_measure_id         CN_CALC_FORMULAS.PERF_MEASURE_ID%TYPE,
39    output_exp_id           CN_CALC_FORMULAS.OUTPUT_EXP_ID%TYPE,
40    f_output_exp_id         CN_CALC_FORMULAS.F_OUTPUT_EXP_ID%TYPE,
41    object_version_number   CN_CALC_FORMULAS.OBJECT_VERSION_NUMBER%TYPE);
42 
43 TYPE input_tbl_type             IS TABLE OF input_rec_type
44   INDEX BY BINARY_INTEGER;
45 TYPE rt_assign_tbl_type         IS TABLE OF rt_assign_rec_type
46   INDEX BY BINARY_INTEGER;
47 TYPE parent_expression_tbl_type IS TABLE OF VARCHAR2(30)
48   INDEX BY BINARY_INTEGER;
49 TYPE formula_tbl_type           IS TABLE OF formula_rec_type
50   INDEX BY BINARY_INTEGER;
51 
52 g_miss_input_tbl     input_tbl_type;
53 g_miss_rt_assign_tbl rt_assign_tbl_type;
54 
55 --    Notes    : Create calculation formula and generate formula packages
56 --               1) Validate formula name (should be unique)
57 --               2) Validate the combination of flags (cumulative_flag,
58 --                  itd_flag, etc.)
59 --               3) Validate performance measure, inputs, and output assignment
60 --               4) Validate rate table assignment (number of dimensions
61 --                  should match number of inputs)
62 --               5) If all validations are passed, generate formula packages
63 --                  and return the result in x_formula_status
64 --                  (Complete or Incomplete)
65 --
66 -- End of comments
67 PROCEDURE Create_Formula
68   (p_api_version                IN      NUMBER                          ,
69    p_init_msg_list              IN      VARCHAR2 := FND_API.G_FALSE     ,
70    p_commit                     IN      VARCHAR2 := FND_API.G_FALSE     ,
71    p_validation_level           IN      NUMBER   := FND_API.G_VALID_LEVEL_FULL,
72    p_generate_packages          IN      VARCHAR2 := FND_API.G_TRUE      ,
73    p_name                       IN      CN_CALC_FORMULAS.NAME%TYPE,
74    p_description                IN      CN_CALC_FORMULAS.DESCRIPTION%TYPE
75                                         := null,
76    p_formula_type               IN      CN_CALC_FORMULAS.FORMULA_TYPE%TYPE,
77    p_trx_group_code             IN      CN_CALC_FORMULAS.TRX_GROUP_CODE%TYPE,
78    p_number_dim                 IN      CN_CALC_FORMULAS.NUMBER_DIM%TYPE,
79    p_cumulative_flag            IN      CN_CALC_FORMULAS.CUMULATIVE_FLAG%TYPE,
80    p_itd_flag                   IN      CN_CALC_FORMULAS.ITD_FLAG%TYPE,
81    p_split_flag                 IN      CN_CALC_FORMULAS.SPLIT_FLAG%TYPE,
82    p_threshold_all_tier_flag    IN      CN_CALC_FORMULAS.THRESHOLD_ALL_TIER_FLAG%TYPE,
83    p_modeling_flag              IN      CN_CALC_FORMULAS.MODELING_FLAG%TYPE,
84    p_perf_measure_id            IN      CN_CALC_FORMULAS.PERF_MEASURE_ID%TYPE,
85    p_output_exp_id              IN      CN_CALC_FORMULAS.OUTPUT_EXP_ID%TYPE,
86    p_f_output_exp_id            IN      CN_CALC_FORMULAS.F_OUTPUT_EXP_ID%TYPE
87                                         := NULL,
88    p_input_tbl                  IN      input_tbl_type     := g_miss_input_tbl,
89    p_rt_assign_tbl              IN      rt_assign_tbl_type := g_miss_rt_assign_tbl,
90    --R12 MOAC Changes--Start
91    p_org_id                     IN      CN_CALC_FORMULAS.ORG_ID%TYPE,   --new
92    x_calc_formula_id            IN OUT NOCOPY     CN_CALC_FORMULAS.CALC_FORMULA_ID%TYPE, --changed
93    --R12 MOAC Changes--End
94    x_formula_status             OUT NOCOPY     CN_CALC_FORMULAS.FORMULA_STATUS%TYPE,
95    x_return_status              OUT NOCOPY     VARCHAR2,
96    x_msg_count                  OUT NOCOPY     NUMBER,
97    x_msg_data                   OUT NOCOPY     VARCHAR2);
98 
99 --    Notes     : Update calculation formula and generate formula packages
100 --                1) Validate formula name (should be unique)
101 --                2) Validate the combination of flags (cumulative_flag,
102 --                   itd_flag, etc.)
103 --                3) Validate performance measure, inputs, and output assignment
104 --                4) Validate rate table assignment (number of dimensions
105 --                   should match number of inputs)
106 --                5) If all validations are passed, generate formula packages
107 --                   and return the result in x_formula_status
108 --                   (Complete or Incomplete)
109 --
110 -- End of comments
111 PROCEDURE Update_Formula
112   (p_api_version                IN      NUMBER                          ,
113    p_init_msg_list              IN      VARCHAR2 := FND_API.G_FALSE     ,
114    p_commit                     IN      VARCHAR2 := FND_API.G_FALSE     ,
115    p_validation_level           IN      NUMBER   := FND_API.G_VALID_LEVEL_FULL,
116    p_generate_packages          IN      VARCHAR2 := FND_API.G_TRUE      ,
117    p_calc_formula_id            IN      CN_CALC_FORMULAS.CALC_FORMULA_ID%TYPE,
118    p_name                       IN      CN_CALC_FORMULAS.NAME%TYPE,
119    p_description                IN      CN_CALC_FORMULAS.DESCRIPTION%TYPE
120                                         := null,
121    p_formula_type               IN      CN_CALC_FORMULAS.FORMULA_TYPE%TYPE,
122    p_formula_status             IN      CN_CALC_FORMULAS.FORMULA_STATUS%TYPE,
123    p_trx_group_code             IN      CN_CALC_FORMULAS.TRX_GROUP_CODE%TYPE,
124    p_number_dim                 IN      CN_CALC_FORMULAS.NUMBER_DIM%TYPE,
125    p_cumulative_flag            IN      CN_CALC_FORMULAS.CUMULATIVE_FLAG%TYPE,
126    p_itd_flag                   IN      CN_CALC_FORMULAS.ITD_FLAG%TYPE,
127    p_split_flag                 IN      CN_CALC_FORMULAS.SPLIT_FLAG%TYPE,
128    p_threshold_all_tier_flag    IN      CN_CALC_FORMULAS.THRESHOLD_ALL_TIER_FLAG%TYPE,
129    p_modeling_flag              IN      CN_CALC_FORMULAS.MODELING_FLAG%TYPE,
130    p_perf_measure_id            IN      CN_CALC_FORMULAS.PERF_MEASURE_ID%TYPE,
131    p_output_exp_id              IN      CN_CALC_FORMULAS.OUTPUT_EXP_ID%TYPE,
132    p_f_output_exp_id            IN      CN_CALC_FORMULAS.F_OUTPUT_EXP_ID%TYPE
133                                         := NULL,
134    p_input_tbl                  IN      input_tbl_type     := g_miss_input_tbl,
135    p_rt_assign_tbl              IN      rt_assign_tbl_type := g_miss_rt_assign_tbl,
136    --R12 MOAC Changes--Start
137    p_org_id                     IN      CN_CALC_FORMULAS.ORG_ID%TYPE,   --new
138    p_object_version_number      IN OUT NOCOPY CN_CALC_FORMULAS.OBJECT_VERSION_NUMBER%TYPE, --Changed
139    --R12 MOAC Changes--End
140    x_formula_status             OUT NOCOPY     CN_CALC_FORMULAS.FORMULA_STATUS%TYPE,
141    x_return_status              OUT NOCOPY     VARCHAR2,
142    x_msg_count                  OUT NOCOPY     NUMBER,
143    x_msg_data                   OUT NOCOPY     VARCHAR2);
144 
145 --      Notes     : Delete a formula
146 --                  1) if it is used, it can not be deleted
147 --
148 -- End of comments
149 PROCEDURE Delete_Formula
150   (p_api_version                  IN      NUMBER                          ,
151    p_init_msg_list                IN      VARCHAR2 := FND_API.G_FALSE     ,
152    p_commit                       IN      VARCHAR2 := FND_API.G_FALSE     ,
153    p_validation_level             IN      NUMBER  :=  FND_API.G_VALID_LEVEL_FULL ,
154    p_calc_formula_id              IN      CN_CALC_FORMULAS.CALC_FORMULA_ID%TYPE,
155    p_org_id                       IN      CN_CALC_FORMULAS.ORG_ID%TYPE,  --SFP related change
156    --R12 MOAC Changes--Start
157    p_object_version_number        IN      CN_CALC_FORMULAS.OBJECT_VERSION_NUMBER%TYPE, --new
158    --R12 MOAC Changes--End
159    x_return_status                OUT NOCOPY     VARCHAR2                        ,
160    x_msg_count                    OUT NOCOPY     NUMBER                          ,
161    x_msg_data                     OUT NOCOPY     VARCHAR2                        );
162 
163 
164 
165 --      Notes     : Generate the PL/SQL packages for the given formula
166 --
167 -- End of comments
168 PROCEDURE generate_formula
169   (p_api_version                IN      NUMBER                          ,
170    p_init_msg_list              IN      VARCHAR2 := FND_API.G_FALSE     ,
171    p_commit                     IN      VARCHAR2 := FND_API.G_FALSE     ,
172    p_validation_level           IN      NUMBER   := FND_API.G_VALID_LEVEL_FULL,
173    p_calc_formula_id            IN      CN_CALC_FORMULAS.CALC_FORMULA_ID%TYPE,
174    p_formula_type               IN      CN_CALC_FORMULAS.FORMULA_TYPE%TYPE
175                                         := fnd_api.g_miss_char ,
176    p_trx_group_code             IN      CN_CALC_FORMULAS.TRX_GROUP_CODE%TYPE
177                                         := fnd_api.g_miss_char ,
178    p_number_dim                 IN      CN_CALC_FORMULAS.NUMBER_DIM%TYPE
179                                         := fnd_api.g_miss_num  ,
180    p_itd_flag                   IN      CN_CALC_FORMULAS.ITD_FLAG%TYPE
181                                         := fnd_api.g_miss_char ,
182    p_perf_measure_id            IN      CN_CALC_FORMULAS.PERF_MEASURE_ID%TYPE
183                                         := fnd_api.g_miss_num  ,
184    p_output_exp_id              IN      CN_CALC_FORMULAS.OUTPUT_EXP_ID%TYPE
185                                         := fnd_api.g_miss_num  ,
186    p_f_output_exp_id            IN      CN_CALC_FORMULAS.F_OUTPUT_EXP_ID%TYPE
187                                         := fnd_api.g_miss_num  ,
188    x_formula_status             OUT NOCOPY     CN_CALC_FORMULAS.FORMULA_STATUS%TYPE,
189    --R12 MOAC Changes--Start
190    p_org_id                     IN      CN_CALC_FORMULAS.ORG_ID%TYPE,
191    --R12 MOAC Changes--End
192    x_return_status              OUT NOCOPY     VARCHAR2                        ,
193    x_msg_count                  OUT NOCOPY     NUMBER                          ,
194    x_msg_data                   OUT NOCOPY     VARCHAR2                        );
195 
196 
197 
198 END CN_CALC_FORMULAS_PVT;