1 PACKAGE IEX_SCORE_PVT AS
2 /* $Header: iexvscrs.pls 120.1 2004/10/29 14:18:04 clchang ship $ */
3
4 G_MIN_SCORE CONSTANT NUMBER := 10;
5 G_MAX_SCORE CONSTANT NUMBER := 100;
6
7 IEX_DUPLICATE_NAME constant varchar2(1) := 'D';
8
9 Procedure Validate_Score(P_Init_Msg_List IN VARCHAR2 ,
10 P_Score_rec IN IEX_SCORE_PUB.SCORE_REC_TYPE,
11 X_Dup_Status OUT NOCOPY VARCHAR2,
12 X_Return_Status OUT NOCOPY VARCHAR2,
13 X_Msg_Count OUT NOCOPY NUMBER,
14 X_Msg_Data OUT NOCOPY VARCHAR2);
15
16 Procedure Validate_SCORE_Name(P_Init_Msg_List IN VARCHAR2 ,
17 P_Score_Name IN VARCHAR2 ,
18 P_Score_Id IN NUMBER DEFAULT 0,
19 X_Dup_Status OUT NOCOPY VARCHAR2,
20 X_Return_Status OUT NOCOPY VARCHAR2,
21 X_Msg_Count OUT NOCOPY NUMBER,
22 X_Msg_Data OUT NOCOPY VARCHAR2);
23
24
25 Procedure Validate_SCORE_ID_Name(
26 P_Init_Msg_List IN VARCHAR2 ,
27 P_Score_ID IN NUMBER,
28 P_Score_Name IN VARCHAR2 ,
29 X_Dup_Status OUT NOCOPY VARCHAR2,
30 X_Return_Status OUT NOCOPY VARCHAR2,
31 X_Msg_Count OUT NOCOPY NUMBER,
32 X_Msg_Data OUT NOCOPY VARCHAR2);
33
34
35 Procedure Validate_SCORE_COMP_TYPE_NAME(
36 P_Init_Msg_List IN VARCHAR2 ,
37 P_Score_Comp_NAME IN VARCHAR2 ,
38 X_Dup_Status OUT NOCOPY VARCHAR2,
39 X_Return_Status OUT NOCOPY VARCHAR2,
40 X_Msg_Count OUT NOCOPY NUMBER,
41 X_Msg_Data OUT NOCOPY VARCHAR2);
42
43
44 Procedure Val_SCORE_COMP_TYPE_ID_NAME(
45 P_Init_Msg_List IN VARCHAR2 ,
46 P_Score_Comp_Type_ID IN NUMBER,
47 P_Score_Comp_NAME IN VARCHAR2 ,
48 X_Dup_Status OUT NOCOPY VARCHAR2,
49 X_Return_Status OUT NOCOPY VARCHAR2,
50 X_Msg_Count OUT NOCOPY NUMBER,
51 X_Msg_Data OUT NOCOPY VARCHAR2);
52
53
54 Procedure Create_Score (p_api_version IN NUMBER := 1.0,
55 p_init_msg_list IN VARCHAR2 ,
56 p_commit IN VARCHAR2 ,
57 P_SCORE_REC IN IEX_SCORE_PUB.SCORE_REC_TYPE ,
58 X_Dup_Status OUT NOCOPY VARCHAR2,
59 x_return_status OUT NOCOPY VARCHAR2,
60 x_msg_count OUT NOCOPY NUMBER,
61 x_msg_data OUT NOCOPY VARCHAR2,
62 X_SCORE_ID OUT NOCOPY NUMBER);
63
64
65 Procedure Update_Score (p_api_version IN NUMBER := 1.0,
66 p_init_msg_list IN VARCHAR2 ,
67 p_commit IN VARCHAR2 ,
68 P_SCORE_REC IN IEX_SCORE_PUB.SCORE_REC_TYPE,
69 X_Dup_Status OUT NOCOPY VARCHAR2,
70 x_return_status OUT NOCOPY VARCHAR2,
71 x_msg_count OUT NOCOPY NUMBER,
72 x_msg_data OUT NOCOPY VARCHAR2);
73
74
75 Procedure Delete_Score (p_api_version IN NUMBER := 1.0,
76 p_init_msg_list IN VARCHAR2 ,
77 p_commit IN VARCHAR2 ,
78 P_SCORE_ID IN NUMBER,
79 x_return_status OUT NOCOPY VARCHAR2,
80 x_msg_count OUT NOCOPY NUMBER,
81 x_msg_data OUT NOCOPY VARCHAR2);
82
83
84
85 Procedure Create_SCORE_COMP(p_api_version IN NUMBER := 1.0,
86 p_init_msg_list IN VARCHAR2 ,
87 p_commit IN VARCHAR2 ,
88 P_SCORE_COMP_Rec IN IEX_SCORE_PUB.SCORE_COMP_Rec_TYPE ,
89 x_return_status OUT NOCOPY VARCHAR2,
90 x_msg_count OUT NOCOPY NUMBER,
91 x_msg_data OUT NOCOPY VARCHAR2,
92 x_SCORE_COMP_ID OUT NOCOPY NUMBER);
93
94
95 Procedure Update_SCORE_COMP(p_api_version IN NUMBER := 1.0,
96 p_init_msg_list IN VARCHAR2 ,
97 p_commit IN VARCHAR2 ,
98 P_SCORE_COMP_Rec IN IEX_SCORE_PUB.SCORE_COMP_Rec_TYPE,
99 x_return_status OUT NOCOPY VARCHAR2,
100 x_msg_count OUT NOCOPY NUMBER,
101 x_msg_data OUT NOCOPY VARCHAR2);
102
103
104 Procedure Delete_SCORE_COMP(p_api_version IN NUMBER := 1.0,
105 p_init_msg_list IN VARCHAR2 ,
106 p_commit IN VARCHAR2 ,
107 p_SCORE_ID IN NUMBER,
108 p_SCORE_COMP_ID IN NUMBER,
109 x_return_status OUT NOCOPY VARCHAR2,
110 x_msg_count OUT NOCOPY NUMBER,
111 x_msg_data OUT NOCOPY VARCHAR2);
112
113
114 Procedure Create_SCORE_COMP_TYPE
115 (p_api_version IN NUMBER := 1.0,
116 p_init_msg_list IN VARCHAR2 ,
117 p_commit IN VARCHAR2 ,
118 P_SCORE_COMP_TYPE_Rec IN IEX_SCORE_PUB.SCORE_COMP_TYPE_Rec_TYPE ,
119 X_Dup_Status OUT NOCOPY VARCHAR2,
120 x_return_status OUT NOCOPY VARCHAR2,
121 x_msg_count OUT NOCOPY NUMBER,
122 x_msg_data OUT NOCOPY VARCHAR2,
123 x_SCORE_COMP_TYPE_ID OUT NOCOPY NUMBER);
124
125
126 Procedure Update_SCORE_COMP_TYPE
127 (p_api_version IN NUMBER := 1.0,
128 p_init_msg_list IN VARCHAR2 ,
129 p_commit IN VARCHAR2 ,
130 P_SCORE_COMP_Type_Rec IN IEX_SCORE_PUB.SCORE_COMP_Type_Rec_TYPE,
131 X_Dup_Status OUT NOCOPY VARCHAR2,
132 x_return_status OUT NOCOPY VARCHAR2,
133 x_msg_count OUT NOCOPY NUMBER,
134 x_msg_data OUT NOCOPY VARCHAR2);
135
136 Procedure Delete_SCORE_COMP_TYPE
137 (p_api_version IN NUMBER := 1.0,
138 p_init_msg_list IN VARCHAR2 ,
139 p_commit IN VARCHAR2 ,
140 P_SCORE_COMP_Type_ID IN NUMBER,
141 x_return_status OUT NOCOPY VARCHAR2,
142 x_msg_count OUT NOCOPY NUMBER,
143 x_msg_data OUT NOCOPY VARCHAR2);
144
145
146 Procedure Create_SCORE_COMP_DET(p_api_version IN NUMBER := 1.0,
147 p_init_msg_list IN VARCHAR2 ,
148 p_commit IN VARCHAR2 ,
149 p_SCORE_COMP_DET_REC IN IEX_SCORE_PUB.SCORE_COMP_DET_REC_Type,
150 x_return_status OUT NOCOPY VARCHAR2,
151 x_msg_count OUT NOCOPY NUMBER,
152 x_msg_data OUT NOCOPY VARCHAR2,
153 x_score_comp_det_id OUT NOCOPY NUMBER);
154
155
156 Procedure Update_SCORE_COMP_DET(p_api_version IN NUMBER := 1.0,
157 p_init_msg_list IN VARCHAR2,
158 p_commit IN VARCHAR2,
159 p_SCORE_COMP_DET_Rec IN IEX_SCORE_PUB.SCORE_COMP_DET_REC_Type,
160 x_return_status OUT NOCOPY VARCHAR2,
161 x_msg_count OUT NOCOPY NUMBER,
162 x_msg_data OUT NOCOPY VARCHAR2);
163
164
165
166 Procedure Delete_SCORE_COMP_DET(p_api_version IN NUMBER := 1.0,
167 p_init_msg_list IN VARCHAR2,
168 p_commit IN VARCHAR2,
169 p_SCORE_COMP_ID IN NUMBER,
170 p_SCORE_COMP_DET_ID IN NUMBER,
171 x_return_status OUT NOCOPY VARCHAR2,
172 x_msg_count OUT NOCOPY NUMBER,
173 x_msg_data OUT NOCOPY VARCHAR2);
174
175
176 /* 12/09/2002 clchang added
177 * new function to make a copy of scoring engine.
178 */
179 Procedure Copy_ScoringEngine
180 (p_api_version IN NUMBER := 1.0,
181 p_init_msg_list IN VARCHAR2 ,
182 p_commit IN VARCHAR2 ,
183 p_score_id IN NUMBER DEFAULT NULL,
184 x_score_id OUT NOCOPY NUMBER,
185 x_return_status OUT NOCOPY VARCHAR2,
186 x_msg_count OUT NOCOPY NUMBER,
187 x_msg_data OUT NOCOPY VARCHAR2);
188
189
190 Procedure WriteLog (p_msg IN VARCHAR2);
191
192
193
194 /* this is the main procedure for generating the collections_score for a party (hz_parties level score)
195 Scoring logic:
196
197 1. Enumerate all components for this profile by calling get_components
198 2. Identify Universe of Customers to Score
199 3. for each component, execute SQL and get value
200 4. For each component value, get the details of the component and store the value for that score_comp_detail
201
202 */
203 Procedure Get_Score(p_api_version IN NUMBER := 1.0,
204 p_init_msg_list IN VARCHAR2 ,
205 p_commit IN VARCHAR2 ,
206 p_score_id IN NUMBER DEFAULT NULL,
207 x_return_status OUT NOCOPY VARCHAR2,
208 x_msg_count OUT NOCOPY NUMBER,
209 x_msg_data OUT NOCOPY VARCHAR2);
210
211 /* this procedure will return the components for a score engine, if no score_id is passed, then it will pick
212 up the profile IEX_USE_THIS_SCORE to determine the engine to use
213 */
214 Procedure Get_Components(P_SCORE_ID IN OUT NOCOPY NUMBER,
215 X_SCORE_COMP_TBL OUT NOCOPY IEX_SCORE_PUB.SCORE_ENG_COMP_TBL);
216
217 /* this will be called by the concurrent program to score customers
218 */
219 Procedure Score_Concur(ERRBUF OUT NOCOPY VARCHAR2,
220 RETCODE OUT NOCOPY VARCHAR2);
221
222 END IEX_SCORE_PVT;