[Home] [Help]
PACKAGE BODY: APPS.JTF_TAE_SQL_LIB_PVT
Source
1 PACKAGE BODY jtf_tae_sql_lib_pvt AS
2 /* $Header: jtfvtslb.pls 120.0 2005/06/02 18:23:04 appldev ship $ */
3 -- Start of Comments
4 -- ---------------------------------------------------
5 -- PACKAGE NAME: JTF_TAE_SQL_LIB_PVT
6 -- ---------------------------------------------------
7 -- PURPOSE
8 -- This is to store the commonly used (hand-tuned) SQL
9 -- used by the TAE Generation Program
10 --
11 -- Procedures:
12 -- (see below for specification)
13 --
14 -- NOTES
15 -- This package is available for private use only
16 --
17 -- HISTORY
18 -- 08/04/02 JDOCHERT Created
19 -- 09/20/02 SBEHERA Added for CNR Like to avoid table scan
20 -- 06/19/2003 EIHSU worker_id added
21 -- 10/20/04 ACHANDA bug 3966249 fix
22 -- 11/10/04 ACHANDA bug 4002460 fix
23 -- 12/08/04 ACHANDA bug 4048033 fix : added qualifer comb 61950277 and 62598971
24 -- 02/24/05 ACHANDA bug 4192854 fix : added qualifier comb 934313 and 924631
25 -- 04/12/05 ACHANDA bug 4301045 fix : changed the new mode matching sql for qualifier comb 61950277 and 62598971
26 -- to refer to jtf_changed_terr_all
27 -- 04/12/05 ACHANDA Bug 4307593 : remove the worker_id condition from NMC_DYN package
28 -- 05/17/05 ACHANDA Bug 4385668 : modify the new mode inline view so that it contains NO_MERGE hint and
29 -- DISTINCT clause and also remove wrong hints from new mode matching SQL
30 -- End of Comments
31 --
32
33 --------------------------------------------------
34 --- GLOBAL Declarations Starts here -----
35 --------------------------------------------------
36
37 /*********************************************************
38 ** JDOCHERT: 08/04/02
39 ** Gets the Static pre-built, hand-tuned Index
40 ** Creation Statement for certain Qualifier Combinations
41 **********************************************************/
42 PROCEDURE get_qual_comb_index (
43 p_rel_prod IN NUMBER,
44 p_reverse_flag IN VARCHAR2,
45 p_source_id IN NUMBER,
46 p_trans_object_type_id IN NUMBER,
47 p_table_name IN VARCHAR2,
48 -- arpatel: 09/09/03 added run mode flag
49 p_run_mode IN VARCHAR2 := 'TAP',
50 x_statement OUT NOCOPY VARCHAR2,
51 alter_statement OUT NOCOPY VARCHAR2) AS
52
53 l_trans_idx_name varchar2(30);
54 l_ora_username VARCHAR2(100);
55 BEGIN
56 /* ARPATEL 04/26/2004 GSCC error for hardcoded schema name */
57 SELECT u.oracle_username
58 INTO l_ora_username
59 FROM fnd_product_installations i, fnd_application a, fnd_oracle_userid u
60 WHERE a.application_short_name = 'JTF'
61 AND a.application_id = i.application_id
62 AND u.oracle_id = i.oracle_id;
63
64 l_trans_idx_name := 'JTF_TAE_TN' ||
65 TO_CHAR(ABS(p_trans_object_type_id)) || '_' || TO_CHAR(p_rel_prod);
66
67 /* Postal Code + Country Combination */
68 IF ( p_rel_prod = 4841 AND p_reverse_flag = 'N' ) THEN
69
70 if p_run_mode = 'OIC_TAP'
71 then
72 l_trans_idx_name := l_trans_idx_name || '_NDSC';
73 elsif p_run_mode = 'NEW_MODE_TAP'
74 then
75 l_trans_idx_name := l_trans_idx_name || '_NDW';
76 else
77 l_trans_idx_name := l_trans_idx_name || '_ND';
78 end if;
79
80 x_statement := 'CREATE INDEX ' || l_ora_username || '.' || l_trans_idx_name || ' ON ' || p_table_name;
81 x_statement := x_statement || ' ( WORKER_ID, SQUAL_CHAR07, SQUAL_CHAR06 ) ';
82
83 /* ARPATEL Bug#3597884 05/10/2004 */
84 alter_statement := 'ALTER INDEX ' || l_ora_username || '.' || l_trans_idx_name || ' NOPARALLEL';
85
86 /* Customer Name Range + Postal Code + Country Combination */
87 ELSIF ( p_rel_prod = 324347 AND p_reverse_flag = 'N' ) THEN
88
89 if p_run_mode = 'OIC_TAP'
90 then
91 l_trans_idx_name := l_trans_idx_name || '_NDSC';
92 elsif p_run_mode = 'NEW_MODE_TAP'
93 then
94 l_trans_idx_name := l_trans_idx_name || '_NDW';
95 else
96 l_trans_idx_name := l_trans_idx_name || '_ND';
97 end if;
98
99 x_statement := 'CREATE INDEX '|| l_ora_username ||'.' || l_trans_idx_name || ' ON ' || p_table_name;
100 x_statement := x_statement || ' ( WORKER_ID, SQUAL_FC01, SQUAL_CHAR01, SQUAL_CHAR06, SQUAL_CHAR07 ) ';
101
102 /* ARPATEL Bug#3597884 05/10/2004 */
103 alter_statement := 'ALTER INDEX ' || l_ora_username || '.' || l_trans_idx_name || ' NOPARALLEL';
104
105 /* REVERSE: Customer Name Range + Postal Code + Country Combination */
106 ELSIF ( p_rel_prod = 324347 AND p_reverse_flag = 'Y' ) THEN
107
108 if p_run_mode = 'OIC_TAP'
109 then
110 l_trans_idx_name := l_trans_idx_name || 'X_NDSC';
111 elsif p_run_mode = 'NEW_MODE_TAP'
112 then
113 l_trans_idx_name := l_trans_idx_name || 'X_NDW';
114 else
115 l_trans_idx_name := l_trans_idx_name || 'X_ND';
116 end if;
117
118 x_statement := 'CREATE INDEX ' || l_ora_username || '.' || l_trans_idx_name || ' ON ' || p_table_name;
119 x_statement := x_statement || ' ( WORKER_ID, SQUAL_CHAR07, SQUAL_CHAR06, SQUAL_CHAR01 ) ';
120
121 /* ARPATEL Bug#3597884 05/10/2004 */
122 alter_statement := 'ALTER INDEX ' || l_ora_username || '.' || l_trans_idx_name || ' NOPARALLEL';
123
124 END IF;
125
126
127 END;
128
129 /*********************************************************
130 ** DBLEE: 08/26/03
131 ** Function to return Static SELECT columns
132 *********************************************************/
133 FUNCTION add_SELECT_cols( p_new_mode_fetch CHAR )
134 RETURN VARCHAR2 AS
135
136 lx_SELECT_clause VARCHAR2(2000) := NULL;
137
138 BEGIN
139
140 -- dblee: 08/26/03: added switch for new mode TAP
141 IF p_new_mode_fetch <> 'Y' THEN
142
143 RETURN lx_SELECT_CLAUSE ||
144 G_INDENT || ' trans_object_id ' || g_newline ||
145 G_INDENT || ' , trans_detail_object_id ' || g_newline ||
146 -- eihsu: 06/19/2003 worker_id
147 G_INDENT || ' , worker_id ' || g_newline ||
148 G_INDENT || ' , header_id1 ' || g_newline ||
149 G_INDENT || ' , header_id2 ' || g_newline ||
150 G_INDENT || ' , P_SOURCE_ID ' || g_newline ||
151 G_INDENT || ' , P_TRANS_OBJECT_TYPE_ID ' || g_newline ||
152 G_INDENT || ' , L_SYSDATE ' || g_newline ||
153 G_INDENT || ' , L_USER_ID ' || g_newline ||
154 G_INDENT || ' , L_SYSDATE ' || g_newline ||
155 G_INDENT || ' , L_USER_ID ' || g_newline ||
156 G_INDENT || ' , L_USER_ID ' || g_newline ||
157 G_INDENT || ' , L_REQUEST_ID ' || g_newline ||
158 G_INDENT || ' , L_PROGRAM_APPL_ID ' || g_newline ||
159 G_INDENT || ' , L_PROGRAM_ID ' || g_newline ||
160 G_INDENT || ' , L_SYSDATE ' || g_newline ||
161 G_INDENT || ' , ILV.terr_id ' || g_newline ||
162 G_INDENT || ' , ILV.absolute_rank ' || g_newline ||
163 G_INDENT || ' , ILV.top_level_terr_id '|| g_newline ||
164 G_INDENT || ' , ILV.num_winners ' || g_newline ||
165 G_INDENT || ' , ILV.org_id ' || g_newline;
166
167 ELSE -- p_new_mode_fetch = 'Y'
168
169 RETURN lx_SELECT_CLAUSE ||
170 G_INDENT || ' A.TRANS_OBJECT_ID' || g_newline ||
171 G_INDENT || ' , A.TRANS_DETAIL_OBJECT_ID' || g_newline ||
172 G_INDENT || ' , A.HEADER_ID1' || g_newline ||
173 G_INDENT || ' , A.HEADER_ID2' || g_newline ||
174 G_INDENT || ' , p_source_id' || g_newline ||
175 G_INDENT || ' , p_trans_object_type_id' || g_newline ||
176 G_INDENT || ' , l_sysdate' || g_newline ||
177 G_INDENT || ' , L_USER_ID' || g_newline ||
178 G_INDENT || ' , l_sysdate' || g_newline ||
179 G_INDENT || ' , L_USER_ID' || g_newline ||
180 G_INDENT || ' , L_USER_ID' || g_newline ||
181 G_INDENT || ' , L_REQUEST_ID' || g_newline ||
182 G_INDENT || ' , L_PROGRAM_APPL_ID' || g_newline ||
183 G_INDENT || ' , L_PROGRAM_ID' || g_newline ||
184 G_INDENT || ' , l_sysdate' || g_newline ||
185 G_INDENT || ' , A.SQUAL_FC01' || g_newline ||
186 G_INDENT || ' , A.SQUAL_FC02' || g_newline ||
187 G_INDENT || ' , A.SQUAL_FC03' || g_newline ||
188 G_INDENT || ' , A.SQUAL_FC04' || g_newline ||
189 G_INDENT || ' , A.SQUAL_FC05' || g_newline ||
190 G_INDENT || ' , A.SQUAL_CURC01' || g_newline ||
191 G_INDENT || ' , A.SQUAL_CURC02' || g_newline ||
192 G_INDENT || ' , A.SQUAL_CURC03' || g_newline ||
193 G_INDENT || ' , A.SQUAL_CURC04' || g_newline ||
194 G_INDENT || ' , A.SQUAL_CURC05' || g_newline ||
195 G_INDENT || ' , A.SQUAL_CURC06' || g_newline ||
196 G_INDENT || ' , A.SQUAL_CURC07' || g_newline ||
197 G_INDENT || ' , A.SQUAL_CURC08' || g_newline ||
198 G_INDENT || ' , A.SQUAL_CURC09' || g_newline ||
199 G_INDENT || ' , A.SQUAL_CURC10' || g_newline ||
200 G_INDENT || ' , A.SQUAL_CHAR01' || g_newline ||
201 G_INDENT || ' , A.SQUAL_CHAR02' || g_newline ||
202 G_INDENT || ' , A.SQUAL_CHAR03' || g_newline ||
203 G_INDENT || ' , A.SQUAL_CHAR04' || g_newline ||
204 G_INDENT || ' , A.SQUAL_CHAR05' || g_newline ||
205 G_INDENT || ' , A.SQUAL_CHAR06' || g_newline ||
206 G_INDENT || ' , A.SQUAL_CHAR07' || g_newline ||
207 G_INDENT || ' , A.SQUAL_CHAR08' || g_newline ||
208 G_INDENT || ' , A.SQUAL_CHAR09' || g_newline ||
209 G_INDENT || ' , A.SQUAL_CHAR10' || g_newline ||
210 G_INDENT || ' , A.SQUAL_CHAR11' || g_newline ||
211 G_INDENT || ' , A.SQUAL_CHAR12' || g_newline ||
212 G_INDENT || ' , A.SQUAL_CHAR13' || g_newline ||
213 G_INDENT || ' , A.SQUAL_CHAR14' || g_newline ||
214 G_INDENT || ' , A.SQUAL_CHAR15' || g_newline ||
215 G_INDENT || ' , A.SQUAL_CHAR16' || g_newline ||
216 G_INDENT || ' , A.SQUAL_CHAR17' || g_newline ||
217 G_INDENT || ' , A.SQUAL_CHAR18' || g_newline ||
218 G_INDENT || ' , A.SQUAL_CHAR19' || g_newline ||
219 G_INDENT || ' , A.SQUAL_CHAR20' || g_newline ||
220 G_INDENT || ' , A.SQUAL_CHAR21' || g_newline ||
221 G_INDENT || ' , A.SQUAL_CHAR22' || g_newline ||
222 G_INDENT || ' , A.SQUAL_CHAR23' || g_newline ||
223 G_INDENT || ' , A.SQUAL_CHAR24' || g_newline ||
224 G_INDENT || ' , A.SQUAL_CHAR25' || g_newline ||
225 G_INDENT || ' , A.SQUAL_CHAR26' || g_newline ||
226 G_INDENT || ' , A.SQUAL_CHAR27' || g_newline ||
227 G_INDENT || ' , A.SQUAL_CHAR28' || g_newline ||
228 G_INDENT || ' , A.SQUAL_CHAR30' || g_newline ||
229 G_INDENT || ' , A.SQUAL_CHAR31' || g_newline ||
230 G_INDENT || ' , A.SQUAL_CHAR32' || g_newline ||
231 G_INDENT || ' , A.SQUAL_CHAR33' || g_newline ||
232 G_INDENT || ' , A.SQUAL_CHAR34' || g_newline ||
233 G_INDENT || ' , A.SQUAL_CHAR35' || g_newline ||
234 G_INDENT || ' , A.SQUAL_CHAR36' || g_newline ||
235 G_INDENT || ' , A.SQUAL_CHAR37' || g_newline ||
236 G_INDENT || ' , A.SQUAL_CHAR38' || g_newline ||
237 G_INDENT || ' , A.SQUAL_CHAR39' || g_newline ||
238 G_INDENT || ' , A.SQUAL_CHAR40' || g_newline ||
239 G_INDENT || ' , A.SQUAL_CHAR41' || g_newline ||
240 G_INDENT || ' , A.SQUAL_CHAR42' || g_newline ||
241 G_INDENT || ' , A.SQUAL_CHAR43' || g_newline ||
242 G_INDENT || ' , A.SQUAL_CHAR44' || g_newline ||
243 G_INDENT || ' , A.SQUAL_CHAR45' || g_newline ||
244 G_INDENT || ' , A.SQUAL_CHAR46' || g_newline ||
245 G_INDENT || ' , A.SQUAL_CHAR47' || g_newline ||
246 G_INDENT || ' , A.SQUAL_CHAR48' || g_newline ||
247 G_INDENT || ' , A.SQUAL_CHAR49' || g_newline ||
248 G_INDENT || ' , A.SQUAL_CHAR50' || g_newline ||
249 G_INDENT || ' , A.SQUAL_CHAR51' || g_newline ||
250 G_INDENT || ' , A.SQUAL_CHAR52' || g_newline ||
251 G_INDENT || ' , A.SQUAL_CHAR53' || g_newline ||
252 G_INDENT || ' , A.SQUAL_CHAR54' || g_newline ||
253 G_INDENT || ' , A.SQUAL_CHAR55' || g_newline ||
254 G_INDENT || ' , A.SQUAL_CHAR56' || g_newline ||
255 G_INDENT || ' , A.SQUAL_CHAR57' || g_newline ||
256 G_INDENT || ' , A.SQUAL_CHAR58' || g_newline ||
257 G_INDENT || ' , A.SQUAL_CHAR59' || g_newline ||
258 G_INDENT || ' , A.SQUAL_CHAR60' || g_newline ||
259 G_INDENT || ' , A.SQUAL_NUM01' || g_newline ||
260 G_INDENT || ' , A.SQUAL_NUM02' || g_newline ||
261 G_INDENT || ' , A.SQUAL_NUM03' || g_newline ||
262 G_INDENT || ' , A.SQUAL_NUM04' || g_newline ||
263 G_INDENT || ' , A.SQUAL_NUM05' || g_newline ||
264 G_INDENT || ' , A.SQUAL_NUM06' || g_newline ||
265 G_INDENT || ' , A.SQUAL_NUM07' || g_newline ||
266 G_INDENT || ' , A.SQUAL_NUM08' || g_newline ||
267 G_INDENT || ' , A.SQUAL_NUM09' || g_newline ||
268 G_INDENT || ' , A.SQUAL_NUM10' || g_newline ||
269 G_INDENT || ' , A.SQUAL_NUM11' || g_newline ||
270 G_INDENT || ' , A.SQUAL_NUM12' || g_newline ||
271 G_INDENT || ' , A.SQUAL_NUM13' || g_newline ||
272 G_INDENT || ' , A.SQUAL_NUM14' || g_newline ||
273 G_INDENT || ' , A.SQUAL_NUM15' || g_newline ||
274 G_INDENT || ' , A.SQUAL_NUM16' || g_newline ||
275 G_INDENT || ' , A.SQUAL_NUM17' || g_newline ||
276 G_INDENT || ' , A.SQUAL_NUM18' || g_newline ||
277 G_INDENT || ' , A.SQUAL_NUM19' || g_newline ||
278 G_INDENT || ' , A.SQUAL_NUM20' || g_newline ||
279 G_INDENT || ' , A.SQUAL_NUM21' || g_newline ||
280 G_INDENT || ' , A.SQUAL_NUM22' || g_newline ||
281 G_INDENT || ' , A.SQUAL_NUM23' || g_newline ||
282 G_INDENT || ' , A.SQUAL_NUM24' || g_newline ||
283 G_INDENT || ' , A.SQUAL_NUM25' || g_newline ||
284 G_INDENT || ' , A.SQUAL_NUM26' || g_newline ||
285 G_INDENT || ' , A.SQUAL_NUM27' || g_newline ||
286 G_INDENT || ' , A.SQUAL_NUM28' || g_newline ||
287 G_INDENT || ' , A.SQUAL_NUM29' || g_newline ||
288 G_INDENT || ' , A.SQUAL_NUM30' || g_newline ||
289 G_INDENT || ' , A.SQUAL_NUM31' || g_newline ||
290 G_INDENT || ' , A.SQUAL_NUM32' || g_newline ||
291 G_INDENT || ' , A.SQUAL_NUM33' || g_newline ||
292 G_INDENT || ' , A.SQUAL_NUM34' || g_newline ||
293 G_INDENT || ' , A.SQUAL_NUM35' || g_newline ||
294 G_INDENT || ' , A.SQUAL_NUM36' || g_newline ||
295 G_INDENT || ' , A.SQUAL_NUM37' || g_newline ||
296 G_INDENT || ' , A.SQUAL_NUM38' || g_newline ||
297 G_INDENT || ' , A.SQUAL_NUM39' || g_newline ||
298 G_INDENT || ' , A.SQUAL_NUM40' || g_newline ||
299 G_INDENT || ' , A.SQUAL_NUM41' || g_newline ||
300 G_INDENT || ' , A.SQUAL_NUM42' || g_newline ||
301 G_INDENT || ' , A.SQUAL_NUM43' || g_newline ||
302 G_INDENT || ' , A.SQUAL_NUM44' || g_newline ||
303 G_INDENT || ' , A.SQUAL_NUM45' || g_newline ||
304 G_INDENT || ' , A.SQUAL_NUM46' || g_newline ||
305 G_INDENT || ' , A.SQUAL_NUM47' || g_newline ||
306 G_INDENT || ' , A.SQUAL_NUM48' || g_newline ||
307 G_INDENT || ' , A.SQUAL_NUM49' || g_newline ||
308 G_INDENT || ' , A.SQUAL_NUM50' || g_newline ||
309 G_INDENT || ' , A.SQUAL_NUM51' || g_newline ||
310 G_INDENT || ' , A.SQUAL_NUM52' || g_newline ||
311 G_INDENT || ' , A.SQUAL_NUM53' || g_newline ||
312 G_INDENT || ' , A.SQUAL_NUM54' || g_newline ||
313 G_INDENT || ' , A.SQUAL_NUM55' || g_newline ||
314 G_INDENT || ' , A.SQUAL_NUM56' || g_newline ||
315 G_INDENT || ' , A.SQUAL_NUM57' || g_newline ||
316 G_INDENT || ' , A.SQUAL_NUM58' || g_newline ||
317 G_INDENT || ' , A.SQUAL_NUM59' || g_newline ||
318 G_INDENT || ' , A.SQUAL_NUM60' || g_newline ||
319 G_INDENT || ' , A.ASSIGNED_FLAG' || g_newline ||
320 G_INDENT || ' , A.PROCESSED_FLAG' || g_newline ||
321 G_INDENT || ' , A.ORG_ID' || g_newline ||
322 G_INDENT || ' , A.SECURITY_GROUP_ID' || g_newline ||
323 G_INDENT || ' , A.OBJECT_VERSION_NUMBER' || g_newline ||
324 G_INDENT || ' , A.WORKER_ID' || g_newline ;
325 END IF; -- p_new_mode_fetch = 'N'
326
327 EXCEPTION
328 WHEN OTHERS THEN
329 g_ProgramStatus := 1;
330 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_SELECT_cols');
331
332 END add_SELECT_cols;
333
334
335 /*********************************************************
336 ** JDOCHERT: 08/07/02
337 ** Function to return Static SELECT clause SQL
338 *********************************************************/
339 FUNCTION add_SELECT_clause( p_new_mode_fetch CHAR )
340 RETURN VARCHAR2 AS
341
342 lx_SELECT_clause VARCHAR2(2000) := NULL;
343
344 BEGIN
345
346 RETURN lx_SELECT_CLAUSE ||
347 g_newline || g_newline ||
348 G_INDENT || ' SELECT DISTINCT ' || g_newline ||
349 -- dblee: 08/26/03 use call to add_SELECT_cols
350 add_SELECT_cols(p_new_mode_fetch);
351
352 EXCEPTION
353 WHEN OTHERS THEN
354 g_ProgramStatus := 1;
355 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_SELECT_clause');
356
357 END add_SELECT_clause;
358
359
360 /*********************************************************
361 ** JDOCHERT: 08/07/02
362 ** Function to return Static Inline view SQL
363 *********************************************************/
364 FUNCTION add_ILV(p_input_string IN VARCHAR2,
365 p_new_mode_fetch IN CHAR)
366 RETURN VARCHAR2 AS
367 BEGIN
368
369 -- dblee: 08/26/03: join against jtf_changed_terr_all, if new mode set
370 IF p_new_mode_fetch <> 'Y' THEN
371
372 RETURN p_input_string || g_newline || g_newline ||
373 G_INDENT || ' /* INLINE VIEW */' || g_newline ||
374 G_INDENT || ' ( SELECT ' || g_newline ||
375 G_INDENT || ' jtdr.terr_id ' || g_newline ||
376 G_INDENT || ' , jtdr.source_id ' || g_newline ||
377 G_INDENT || ' , jtdr.qual_type_id ' || g_newline ||
378 G_INDENT || ' , jtdr.top_level_terr_id ' || g_newline ||
379 G_INDENT || ' , jtdr.absolute_rank ' || g_newline ||
380 G_INDENT || ' , jtdr.num_winners ' || g_newline ||
381 G_INDENT || ' , jtdr.org_id ' || g_newline ||
382 G_INDENT || ' FROM jtf_qual_type_usgs_all jqtu ' || g_newline ||
383 G_INDENT || ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
384 G_INDENT || ' ,jtf_terr_denorm_rules_all jtdr ' || g_newline ||
385 G_INDENT || ' WHERE jtdr.terr_id = jtdr.related_terr_id ' || g_newline ||
386 G_INDENT || ' AND jtdr.source_id = p_source_id ' || g_newline ||
387 G_INDENT || ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
388 G_INDENT || ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
389 G_INDENT || ' AND jtdr.terr_id = jtqu.terr_id ' || g_newline ||
390 G_INDENT || ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
391 G_INDENT || ' AND jtdr.resource_exists_flag = ''Y'' '|| g_newline ||
392 G_INDENT || ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i) ' || g_newline ||
393 G_INDENT || ' ) ILV '||g_newline;
394
395 ELSE
396
397 RETURN p_input_string || g_newline || g_newline ||
398 G_INDENT || ' /* INLINE VIEW */' || g_newline ||
399 G_INDENT || ' ( SELECT DISTINCT ' || g_newline ||
400 G_INDENT || ' jtdr.terr_id ' || g_newline ||
401 G_INDENT || ' , jtdr.source_id ' || g_newline ||
402 G_INDENT || ' , jtdr.qual_type_id ' || g_newline ||
403 G_INDENT || ' , jtdr.top_level_terr_id ' || g_newline ||
404 G_INDENT || ' , jtdr.absolute_rank ' || g_newline ||
405 G_INDENT || ' , jtdr.num_winners ' || g_newline ||
406 G_INDENT || ' , jtdr.org_id ' || g_newline ||
407 G_INDENT || ' FROM jtf_qual_type_usgs_all jqtu ' || g_newline ||
408 G_INDENT || ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
409 G_INDENT || ' ,jtf_changed_terr_all jct ' || g_newline ||
410 G_INDENT || ' ,jtf_terr_denorm_rules_all jtdr ' || g_newline ||
411 G_INDENT || ' WHERE jct.terr_id = jtdr.terr_id ' || g_newline ||
412 G_INDENT || ' AND jtdr.terr_id = jtdr.related_terr_id ' || g_newline ||
413 G_INDENT || ' AND jqtu.source_id = p_source_id ' || g_newline ||
414 G_INDENT || ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
415 G_INDENT || ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
416 G_INDENT || ' AND jct.terr_id = jtqu.terr_id ' || g_newline ||
417 G_INDENT || ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
418 G_INDENT || ' AND jtdr.resource_exists_flag = ''Y'' '|| g_newline ||
419 G_INDENT || ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i) ' || g_newline ||
420 G_INDENT || ' ) ILV'||g_newline;
421 END IF;
422
423 EXCEPTION
424 WHEN OTHERS THEN
425 g_ProgramStatus := 1;
426 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_ILV');
427
428 END add_ILV;
429
430 /*********************************************************
431 ** JDOCHERT: 08/07/02
432 ** Function to return Static Inline view SQL
433 *********************************************************/
434 FUNCTION add_ILV_with_NOMERGE_hint(p_input_string IN VARCHAR2,
435 p_new_mode_fetch IN CHAR)
436 RETURN VARCHAR2 AS
437 BEGIN
438
439 -- dblee: 08/26/03: join against jtf_changed_terr_all, if new mode set
440 IF p_new_mode_fetch <> 'Y' THEN
441
442 RETURN p_input_string || g_newline || g_newline ||
443 G_INDENT || ' /* INLINE VIEW */' || g_newline ||
444 G_INDENT || ' ( SELECT /*+ NO_MERGE */ ' || g_newline ||
445 G_INDENT || ' jtdr.terr_id ' || g_newline ||
446 G_INDENT || ' , jtdr.source_id ' || g_newline ||
447 G_INDENT || ' , jtdr.qual_type_id ' || g_newline ||
448 G_INDENT || ' , jtdr.top_level_terr_id ' || g_newline ||
449 G_INDENT || ' , jtdr.absolute_rank ' || g_newline ||
450 G_INDENT || ' , jtdr.num_winners ' || g_newline ||
451 G_INDENT || ' , jtdr.org_id ' || g_newline ||
452 G_INDENT || ' FROM jtf_terr_denorm_rules_all jtdr ' || g_newline ||
453 G_INDENT || ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
454 G_INDENT || ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
455 G_INDENT || ' WHERE jtdr.terr_id = jtdr.related_terr_id ' || g_newline ||
456 G_INDENT || ' AND jtdr.source_id = p_source_id ' || g_newline ||
457 G_INDENT || ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
458 G_INDENT || ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
459 G_INDENT || ' AND jtdr.terr_id = jtqu.terr_id ' || g_newline ||
460 G_INDENT || ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
461 G_INDENT || ' AND jtdr.resource_exists_flag = ''Y'' '|| g_newline ||
462 G_INDENT || ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i) ' || g_newline ||
463 G_INDENT || ' ) ILV'||g_newline;
464
465 ELSE
466
467 RETURN p_input_string || g_newline || g_newline ||
468 G_INDENT || ' /* INLINE VIEW */' || g_newline ||
469 G_INDENT || ' ( SELECT /*+ NO_MERGE */ DISTINCT ' || g_newline ||
470 G_INDENT || ' jtdr.terr_id ' || g_newline ||
471 G_INDENT || ' , jtdr.source_id ' || g_newline ||
472 G_INDENT || ' , jtdr.qual_type_id ' || g_newline ||
473 G_INDENT || ' , jtdr.top_level_terr_id ' || g_newline ||
474 G_INDENT || ' , jtdr.absolute_rank ' || g_newline ||
475 G_INDENT || ' , jtdr.num_winners ' || g_newline ||
476 G_INDENT || ' , jtdr.org_id ' || g_newline ||
477 G_INDENT || ' FROM jtf_changed_terr_all jct ' || g_newline ||
478 G_INDENT || ' , jtf_terr_denorm_rules_all jtdr ' || g_newline ||
479 G_INDENT || ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
480 G_INDENT || ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
481 G_INDENT || ' WHERE jct.terr_id = jtdr.terr_id ' || g_newline ||
482 G_INDENT || ' AND jtdr.terr_id = jtdr.related_terr_id ' || g_newline ||
483 G_INDENT || ' AND jqtu.source_id = p_source_id ' || g_newline ||
484 G_INDENT || ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
485 G_INDENT || ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
486 G_INDENT || ' AND jct.terr_id = jtqu.terr_id ' || g_newline ||
487 G_INDENT || ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
488 G_INDENT || ' AND jtdr.resource_exists_flag = ''Y'' '|| g_newline ||
489 G_INDENT || ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i) ' || g_newline ||
490 G_INDENT || ' ) ILV'||g_newline;
491 END IF;
492
493 EXCEPTION
494 WHEN OTHERS THEN
495 g_ProgramStatus := 1;
496 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_ILV');
497
498 END add_ILV_with_NOMERGE_hint;
499
500 /*********************************************************
501 ** JDOCHERT: 08/07/02
502 ** Function to return Postal Code + Country SQL
503 ** SBEHERA: 08/08/02
504 *********************************************************/
505 FUNCTION add_4841_SQL( p_trans_object_type_id IN NUMBER
506 , p_table_name IN VARCHAR2
507 , p_match_table_name IN VARCHAR2
508 -- dblee 08/26/03 added new mode flag
509 , p_new_mode_fetch IN CHAR)
510 RETURN VARCHAR2 AS
511
512 lx_4841_sql VARCHAR2(32767) := NULL;
513 l_sql VARCHAR2(32767) := NULL;
514 l_trans_idx_name VARCHAR2(40) := NULL;
515 BEGIN
516
517 /* Get the index name for 4841 qual comb for the trans table */
518 l_trans_idx_name := 'JTF_TAE_TN' || TO_CHAR(ABS(p_trans_object_type_id)) || '_4841';
519
520 if p_table_name = 'JTF_TAE_1001_SC_TRANS' then
521 l_trans_idx_name := l_trans_idx_name || '_NDSC';
522 elsif ((p_table_name = 'JTF_TAE_1001_ACCOUNT_NM_TRANS') OR (p_table_name = 'JTF_TAE_1001_OPPOR_NM_TRANS') OR
523 (p_table_name = 'JTF_TAE_1001_LEAD_NM_TRANS')) then
524 l_trans_idx_name := l_trans_idx_name || '_NDW';
525 else
526 l_trans_idx_name := l_trans_idx_name || '_ND';
527 end if;
528
529 /* ARPATEL 03/10/2004 Bug#3489240 */
530 lx_4841_sql :=
531 ' SELECT COUNT(DISTINCT WORKER_ID) ' || g_newline ||
532 ' INTO l_num_workers ' || g_newline ||
533 ' FROM JTF_TAE_1001_ACCOUNT_TRANS; ' || g_newline || g_newline ||
534
535
536 ' IF l_num_workers = 1' || g_newline ||
537 ' THEN ' || g_newline;
538
539 IF p_new_mode_fetch = 'Y' THEN
540 lx_4841_sql := lx_4841_sql ||
541 ' INSERT INTO '|| p_match_table_name || ' i' || g_newline ||
542 ' (' || g_newline ||
543 ' TRANS_OBJECT_ID' || g_newline ||
544 ' , TRANS_DETAIL_OBJECT_ID' || g_newline ||
545 ' , HEADER_ID1' || g_newline ||
546 ' , HEADER_ID2' || g_newline ||
547 ' , SOURCE_ID' || g_newline ||
548 ' , TRANS_OBJECT_TYPE_ID' || g_newline ||
549 ' , LAST_UPDATE_DATE' || g_newline ||
550 ' , LAST_UPDATED_BY' || g_newline ||
551 ' , CREATION_DATE' || g_newline ||
552 ' , CREATED_BY' || g_newline ||
553 ' , LAST_UPDATE_LOGIN' || g_newline ||
554 ' , REQUEST_ID' || g_newline ||
555 ' , PROGRAM_APPLICATION_ID' || g_newline ||
556 ' , PROGRAM_ID' || g_newline ||
557 ' , PROGRAM_UPDATE_DATE' || g_newline ||
558 ' , SQUAL_FC01' || g_newline ||
559 ' , SQUAL_FC02' || g_newline ||
560 ' , SQUAL_FC03' || g_newline ||
561 ' , SQUAL_FC04' || g_newline ||
562 ' , SQUAL_FC05' || g_newline ||
563 ' , SQUAL_CURC01' || g_newline ||
564 ' , SQUAL_CURC02' || g_newline ||
565 ' , SQUAL_CURC03' || g_newline ||
566 ' , SQUAL_CURC04' || g_newline ||
567 ' , SQUAL_CURC05' || g_newline ||
568 ' , SQUAL_CURC06' || g_newline ||
569 ' , SQUAL_CURC07' || g_newline ||
570 ' , SQUAL_CURC08' || g_newline ||
571 ' , SQUAL_CURC09' || g_newline ||
572 ' , SQUAL_CURC10' || g_newline ||
573 ' , SQUAL_CHAR01' || g_newline ||
574 ' , SQUAL_CHAR02' || g_newline ||
575 ' , SQUAL_CHAR03' || g_newline ||
576 ' , SQUAL_CHAR04' || g_newline ||
577 ' , SQUAL_CHAR05' || g_newline ||
578 ' , SQUAL_CHAR06' || g_newline ||
579 ' , SQUAL_CHAR07' || g_newline ||
580 ' , SQUAL_CHAR08' || g_newline ||
581 ' , SQUAL_CHAR09' || g_newline ||
582 ' , SQUAL_CHAR10' || g_newline ||
583 ' , SQUAL_CHAR11' || g_newline ||
584 ' , SQUAL_CHAR12' || g_newline ||
585 ' , SQUAL_CHAR13' || g_newline ||
586 ' , SQUAL_CHAR14' || g_newline ||
587 ' , SQUAL_CHAR15' || g_newline ||
588 ' , SQUAL_CHAR16' || g_newline ||
589 ' , SQUAL_CHAR17' || g_newline ||
590 ' , SQUAL_CHAR18' || g_newline ||
591 ' , SQUAL_CHAR19' || g_newline ||
592 ' , SQUAL_CHAR20' || g_newline ||
593 ' , SQUAL_CHAR21' || g_newline ||
594 ' , SQUAL_CHAR22' || g_newline ||
595 ' , SQUAL_CHAR23' || g_newline ||
596 ' , SQUAL_CHAR24' || g_newline ||
597 ' , SQUAL_CHAR25' || g_newline ||
598 ' , SQUAL_CHAR26' || g_newline ||
599 ' , SQUAL_CHAR27' || g_newline ||
600 ' , SQUAL_CHAR28' || g_newline ||
601 ' , SQUAL_CHAR30' || g_newline ||
602 ' , SQUAL_CHAR31' || g_newline ||
603 ' , SQUAL_CHAR32' || g_newline ||
604 ' , SQUAL_CHAR33' || g_newline ||
605 ' , SQUAL_CHAR34' || g_newline ||
606 ' , SQUAL_CHAR35' || g_newline ||
607 ' , SQUAL_CHAR36' || g_newline ||
608 ' , SQUAL_CHAR37' || g_newline ||
609 ' , SQUAL_CHAR38' || g_newline ||
610 ' , SQUAL_CHAR39' || g_newline ||
611 ' , SQUAL_CHAR40' || g_newline ||
612 ' , SQUAL_CHAR41' || g_newline ||
613 ' , SQUAL_CHAR42' || g_newline ||
614 ' , SQUAL_CHAR43' || g_newline ||
615 ' , SQUAL_CHAR44' || g_newline ||
616 ' , SQUAL_CHAR45' || g_newline ||
617 ' , SQUAL_CHAR46' || g_newline ||
618 ' , SQUAL_CHAR47' || g_newline ||
619 ' , SQUAL_CHAR48' || g_newline ||
620 ' , SQUAL_CHAR49' || g_newline ||
621 ' , SQUAL_CHAR50' || g_newline ||
622 ' , SQUAL_CHAR51' || g_newline ||
623 ' , SQUAL_CHAR52' || g_newline ||
624 ' , SQUAL_CHAR53' || g_newline ||
625 ' , SQUAL_CHAR54' || g_newline ||
626 ' , SQUAL_CHAR55' || g_newline ||
627 ' , SQUAL_CHAR56' || g_newline ||
628 ' , SQUAL_CHAR57' || g_newline ||
629 ' , SQUAL_CHAR58' || g_newline ||
630 ' , SQUAL_CHAR59' || g_newline ||
631 ' , SQUAL_CHAR60' || g_newline ||
632 ' , SQUAL_NUM01' || g_newline ||
633 ' , SQUAL_NUM02' || g_newline ||
634 ' , SQUAL_NUM03' || g_newline ||
635 ' , SQUAL_NUM04' || g_newline ||
636 ' , SQUAL_NUM05' || g_newline ||
637 ' , SQUAL_NUM06' || g_newline ||
638 ' , SQUAL_NUM07' || g_newline ||
639 ' , SQUAL_NUM08' || g_newline ||
640 ' , SQUAL_NUM09' || g_newline ||
641 ' , SQUAL_NUM10' || g_newline ||
642 ' , SQUAL_NUM11' || g_newline ||
643 ' , SQUAL_NUM12' || g_newline ||
644 ' , SQUAL_NUM13' || g_newline ||
645 ' , SQUAL_NUM14' || g_newline ||
646 ' , SQUAL_NUM15' || g_newline ||
647 ' , SQUAL_NUM16' || g_newline ||
648 ' , SQUAL_NUM17' || g_newline ||
649 ' , SQUAL_NUM18' || g_newline ||
650 ' , SQUAL_NUM19' || g_newline ||
651 ' , SQUAL_NUM20' || g_newline ||
652 ' , SQUAL_NUM21' || g_newline ||
653 ' , SQUAL_NUM22' || g_newline ||
654 ' , SQUAL_NUM23' || g_newline ||
655 ' , SQUAL_NUM24' || g_newline ||
656 ' , SQUAL_NUM25' || g_newline ||
657 ' , SQUAL_NUM26' || g_newline ||
658 ' , SQUAL_NUM27' || g_newline ||
659 ' , SQUAL_NUM28' || g_newline ||
660 ' , SQUAL_NUM29' || g_newline ||
661 ' , SQUAL_NUM30' || g_newline ||
662 ' , SQUAL_NUM31' || g_newline ||
663 ' , SQUAL_NUM32' || g_newline ||
664 ' , SQUAL_NUM33' || g_newline ||
665 ' , SQUAL_NUM34' || g_newline ||
666 ' , SQUAL_NUM35' || g_newline ||
667 ' , SQUAL_NUM36' || g_newline ||
668 ' , SQUAL_NUM37' || g_newline ||
669 ' , SQUAL_NUM38' || g_newline ||
670 ' , SQUAL_NUM39' || g_newline ||
671 ' , SQUAL_NUM40' || g_newline ||
672 ' , SQUAL_NUM41' || g_newline ||
673 ' , SQUAL_NUM42' || g_newline ||
674 ' , SQUAL_NUM43' || g_newline ||
675 ' , SQUAL_NUM44' || g_newline ||
676 ' , SQUAL_NUM45' || g_newline ||
677 ' , SQUAL_NUM46' || g_newline ||
678 ' , SQUAL_NUM47' || g_newline ||
679 ' , SQUAL_NUM48' || g_newline ||
680 ' , SQUAL_NUM49' || g_newline ||
681 ' , SQUAL_NUM50' || g_newline ||
682 ' , SQUAL_NUM51' || g_newline ||
683 ' , SQUAL_NUM52' || g_newline ||
684 ' , SQUAL_NUM53' || g_newline ||
685 ' , SQUAL_NUM54' || g_newline ||
686 ' , SQUAL_NUM55' || g_newline ||
687 ' , SQUAL_NUM56' || g_newline ||
688 ' , SQUAL_NUM57' || g_newline ||
689 ' , SQUAL_NUM58' || g_newline ||
690 ' , SQUAL_NUM59' || g_newline ||
691 ' , SQUAL_NUM60' || g_newline ||
692 ' , ASSIGNED_FLAG' || g_newline ||
693 ' , PROCESSED_FLAG' || g_newline ||
694 ' , ORG_ID' || g_newline ||
695 ' , SECURITY_GROUP_ID' || g_newline ||
696 ' , OBJECT_VERSION_NUMBER' || g_newline ||
697 ' , WORKER_ID' || g_newline ||
698 ' )' || g_newline ||
699 /* Num of workers = 1 then USE_HASH */
700 G_INDENT || 'SELECT /*+ USE_HASH(ILV4841 A) */ ' || g_newline;
701
702 ELSE
703 lx_4841_sql := lx_4841_sql ||
704 ' INSERT INTO '||p_match_table_name || ' i' || g_newline ||
705 ' (' || g_newline ||
706 ' trans_object_id' || g_newline ||
707 ' , trans_detail_object_id' || g_newline ||
708 ' , worker_id' || g_newline ||
709 ' , header_id1'|| g_newline ||
710 ' , header_id2'|| g_newline ||
711 ' , source_id'|| g_newline ||
712 ' , trans_object_type_id'|| g_newline ||
713 ' , last_update_date'|| g_newline ||
714 ' , last_updated_by'|| g_newline ||
715 ' , creation_date'|| g_newline ||
716 ' , created_by'|| g_newline ||
717 ' , last_update_login'|| g_newline ||
718 ' , request_id'|| g_newline ||
719 ' , program_application_id'|| g_newline ||
720 ' , program_id'|| g_newline ||
721 ' , program_update_date'|| g_newline ||
722 ' , terr_id'|| g_newline ||
723 ' , absolute_rank'|| g_newline ||
724 ' , top_level_terr_id'|| g_newline ||
725 ' , num_winners'|| g_newline ||
726 ' , org_id'|| g_newline ||
727 ' )' || g_newline ||
728
729 /* Num of workers = 1 then USE_HASH */
730 G_INDENT || 'SELECT /*+ USE_HASH(ILV4841 A) */ ' || g_newline;
731 END IF;
732
733 -- dblee: 08/26/03: added switch for new mode TAP
734 IF p_new_mode_fetch = 'Y' THEN
735 lx_4841_sql := lx_4841_sql || add_SELECT_cols(p_new_mode_fetch);
736 ELSE
737 lx_4841_sql := lx_4841_sql ||
738 G_INDENT || ' trans_object_id' || g_newline ||
739 G_INDENT || ' , trans_detail_object_id' || g_newline ||
740 -- eihsu 06/19/2003 worker_id
741 G_INDENT || ' , worker_id' || g_newline ||
742 G_INDENT || ' , header_id1' || g_newline ||
743 G_INDENT || ' , header_id2' || g_newline ||
744 G_INDENT || ' , p_source_id' || g_newline ||
745 G_INDENT || ' , p_trans_object_type_id' || g_newline ||
746 G_INDENT || ' , l_sysdate' || g_newline ||
747 G_INDENT || ' , L_USER_ID' || g_newline ||
748 G_INDENT || ' , l_sysdate' || g_newline ||
749 G_INDENT || ' , L_USER_ID' || g_newline ||
750 G_INDENT || ' , L_USER_ID' || g_newline ||
751 G_INDENT || ' , L_REQUEST_ID' || g_newline ||
752 G_INDENT || ' , L_PROGRAM_APPL_ID' || g_newline ||
753 G_INDENT || ' , L_PROGRAM_ID' || g_newline ||
754 G_INDENT || ' , l_sysdate' || g_newline ||
755 G_INDENT || ' , ILV.terr_id' || g_newline ||
756 G_INDENT || ' , ILV.absolute_rank' || g_newline ||
757 G_INDENT || ' , ILV.top_level_terr_id' || g_newline ||
758 G_INDENT || ' , ILV.num_winners' || g_newline ||
759 G_INDENT || ' , ILV.org_id' || g_newline;
760 END IF; -- p_new_mode_fetch = 'Y'
761
762 --ARPATEL 10/14 bug#3207518
763 JTF_TAE_GEN_PVT.write_buffer_content(
764 l_qual_rules => lx_4841_sql
765 );
766
767 lx_4841_sql := --lx_4841_sql ||
768 G_INDENT || ' FROM ' || g_newline ||
769 /* DYNAMIC BASED ON TRANSACTION TYPE */
770 G_INDENT || ' ' || P_TABLE_NAME || ' A ' || g_newline ||
771
772 --
773 -- JDOCHERT: 16/09/03: BUG#3143516: CHANGE START
774 --
775 ' , ( SELECT /*+ NO_MERGE */ ' || g_newline ||
776 ' ILV4841.terr_id ' || g_newline ||
777 ' , ILV4841.absolute_rank ' || g_newline ||
778 ' , ILV4841.top_level_terr_id ' || g_newline ||
779 ' , ILV4841.num_winners ' || g_newline ||
780 ' , ILV4841.org_id ' || g_newline ||
781 ' , Q1007R1.high_value_char q1007_high_value_char ' || g_newline ||
782 ' , Q1007R1.low_value_char q1007_low_value_char ' || g_newline ||
783 ' , Q1003R1.low_value_char q1003_low_value_char ' || g_newline ||
784 ' , Q1007R1.comparison_operator q1007_cop ' || g_newline ||
785 ' , Q1003R1.comparison_operator q1003_cop ' || g_newline ||
786 ' FROM jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
787 ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline;
788
789 IF p_new_mode_fetch = 'Y' THEN
790 lx_4841_sql := lx_4841_sql ||
791 ' , ( SELECT /*+ NO_MERGE */ DISTINCT ' || g_newline;
792 ELSE
793 lx_4841_sql := lx_4841_sql ||
794 ' , ( SELECT ' || g_newline;
795 END IF;
796
797 lx_4841_sql := lx_4841_sql ||
798 ' jtdr.terr_id ' || g_newline ||
799 ' , jtdr.source_id ' || g_newline ||
800 ' , jtdr.qual_type_id ' || g_newline ||
801 ' , jtdr.top_level_terr_id ' || g_newline ||
802 ' , jtdr.absolute_rank ' || g_newline ||
803 ' , jtdr.num_winners ' || g_newline ||
804 ' , jtdr.org_id ';
805
806 IF p_new_mode_fetch = 'Y' THEN
807
808 lx_4841_sql := lx_4841_sql ||
809 ' FROM jtf_changed_terr_all jct ' || g_newline ||
810 ' , jtf_terr_denorm_rules_all jtdr ' || g_newline ||
811 ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
812 ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
813 ' WHERE jct.terr_id = jtdr.terr_id ' || g_newline ||
814 ' AND jtdr.terr_id= jtdr.related_terr_id ' || g_newline ||
815 ' AND jqtu.source_id = p_source_id ' || g_newline ||
816 ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
817 ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
818 ' AND jct.terr_id = jtqu.terr_id ' || g_newline ||
819 ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
820 ' AND jtdr.resource_exists_flag = ''Y'' ' || g_newline ||
821 ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i) ' || g_newline ||
822 ' ) ILV4841 ' || g_newline;
823
824 ELSE
825
826 lx_4841_sql := lx_4841_sql ||
827 ' FROM jtf_terr_denorm_rules_all jtdr ' || g_newline ||
828 ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
829 ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
830 ' WHERE jtdr.terr_id= jtdr.related_terr_id ' || g_newline ||
831 ' AND jtdr.source_id = p_source_id ' || g_newline ||
832 ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
833 ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
834 ' AND jtdr.terr_id = jtqu.terr_id ' || g_newline ||
835 ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
836 ' AND jtdr.resource_exists_flag = ''Y'' ' || g_newline ||
837 ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i) ' || g_newline ||
838 ' ) ILV4841 ' || g_newline;
839
840 END IF;
841
842 lx_4841_sql := lx_4841_sql ||
843 ' WHERE Q1007R1.qual_usg_id = -1007 ' || g_newline ||
844 ' AND Q1007R1.terr_id = ILV4841.terr_id ' || g_newline ||
845 ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
846 ' AND Q1003R1.comparison_operator = ''='' ' || g_newline ||
847 ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
848 ' AND Q1003R1.terr_id = ILV4841.terr_id ' || g_newline ||
849 ' ORDER BY Q1003R1.low_value_char ' || g_newline ||
850 ' , Q1007R1.low_value_char ' || g_newline ||
851 ' , Q1007R1.high_value_char ' || g_newline ||
852 ' ) ILV ' || g_newline ||
853 ' WHERE 1 = 1 ' || g_newline;
854 --
855 -- JDOCHERT: 16/09/03: BUG#3143516: CHANGE END
856 --
857 IF p_new_mode_fetch <> 'Y' THEN
858 lx_4841_sql := lx_4841_sql ||
859 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
860 END IF;
861
862 lx_4841_sql := lx_4841_sql ||
863 ' AND ( ( a.squal_char06 <= ILV.q1007_high_value_char AND ' || g_newline ||
864 ' a.squal_char06 >= ILV.q1007_low_value_char AND ' || g_newline ||
865 ' ILV.q1007_cop = ''BETWEEN'' ) ' || g_newline ||
866 ' OR ' || g_newline ||
867 ' ( a.squal_char06 = ILV.q1007_low_value_char AND ' || g_newline ||
868 ' ILV.q1007_cop = ''='' ) ' || g_newline ||
869 ' OR ' || g_newline ||
870 ' ( a.squal_char06 LIKE ILV.q1007_low_value_char AND ' || g_newline ||
871 ' ILV.q1007_cop = ''LIKE'' ) ) ' || g_newline ||
872 ' AND a.squal_char07 = ILV.q1003_low_value_char ; ' || g_newline ||
873
874 -- else num of workers > 1
875 ' ELSE /* Number of Workers > 1 */ ' || g_newline;
876
877 IF p_new_mode_fetch = 'Y' THEN
878 lx_4841_sql := lx_4841_sql ||
879 ' INSERT INTO '|| p_match_table_name || ' i' || g_newline ||
880 ' (' || g_newline ||
881 ' TRANS_OBJECT_ID' || g_newline ||
882 ' , TRANS_DETAIL_OBJECT_ID' || g_newline ||
883 ' , HEADER_ID1' || g_newline ||
884 ' , HEADER_ID2' || g_newline ||
885 ' , SOURCE_ID' || g_newline ||
886 ' , TRANS_OBJECT_TYPE_ID' || g_newline ||
887 ' , LAST_UPDATE_DATE' || g_newline ||
888 ' , LAST_UPDATED_BY' || g_newline ||
889 ' , CREATION_DATE' || g_newline ||
890 ' , CREATED_BY' || g_newline ||
891 ' , LAST_UPDATE_LOGIN' || g_newline ||
892 ' , REQUEST_ID' || g_newline ||
893 ' , PROGRAM_APPLICATION_ID' || g_newline ||
894 ' , PROGRAM_ID' || g_newline ||
895 ' , PROGRAM_UPDATE_DATE' || g_newline ||
896 ' , SQUAL_FC01' || g_newline ||
897 ' , SQUAL_FC02' || g_newline ||
898 ' , SQUAL_FC03' || g_newline ||
899 ' , SQUAL_FC04' || g_newline ||
900 ' , SQUAL_FC05' || g_newline ||
901 ' , SQUAL_CURC01' || g_newline ||
902 ' , SQUAL_CURC02' || g_newline ||
903 ' , SQUAL_CURC03' || g_newline ||
904 ' , SQUAL_CURC04' || g_newline ||
905 ' , SQUAL_CURC05' || g_newline ||
906 ' , SQUAL_CURC06' || g_newline ||
907 ' , SQUAL_CURC07' || g_newline ||
908 ' , SQUAL_CURC08' || g_newline ||
909 ' , SQUAL_CURC09' || g_newline ||
910 ' , SQUAL_CURC10' || g_newline ||
911 ' , SQUAL_CHAR01' || g_newline ||
912 ' , SQUAL_CHAR02' || g_newline ||
913 ' , SQUAL_CHAR03' || g_newline ||
914 ' , SQUAL_CHAR04' || g_newline ||
915 ' , SQUAL_CHAR05' || g_newline ||
916 ' , SQUAL_CHAR06' || g_newline ||
917 ' , SQUAL_CHAR07' || g_newline ||
918 ' , SQUAL_CHAR08' || g_newline ||
919 ' , SQUAL_CHAR09' || g_newline ||
920 ' , SQUAL_CHAR10' || g_newline ||
921 ' , SQUAL_CHAR11' || g_newline ||
922 ' , SQUAL_CHAR12' || g_newline ||
923 ' , SQUAL_CHAR13' || g_newline ||
924 ' , SQUAL_CHAR14' || g_newline ||
925 ' , SQUAL_CHAR15' || g_newline ||
926 ' , SQUAL_CHAR16' || g_newline ||
927 ' , SQUAL_CHAR17' || g_newline ||
928 ' , SQUAL_CHAR18' || g_newline ||
929 ' , SQUAL_CHAR19' || g_newline ||
930 ' , SQUAL_CHAR20' || g_newline ||
931 ' , SQUAL_CHAR21' || g_newline ||
932 ' , SQUAL_CHAR22' || g_newline ||
933 ' , SQUAL_CHAR23' || g_newline ||
934 ' , SQUAL_CHAR24' || g_newline ||
935 ' , SQUAL_CHAR25' || g_newline ||
936 ' , SQUAL_CHAR26' || g_newline ||
937 ' , SQUAL_CHAR27' || g_newline ||
938 ' , SQUAL_CHAR28' || g_newline ||
939 ' , SQUAL_CHAR30' || g_newline ||
940 ' , SQUAL_CHAR31' || g_newline ||
941 ' , SQUAL_CHAR32' || g_newline ||
942 ' , SQUAL_CHAR33' || g_newline ||
943 ' , SQUAL_CHAR34' || g_newline ||
944 ' , SQUAL_CHAR35' || g_newline ||
945 ' , SQUAL_CHAR36' || g_newline ||
946 ' , SQUAL_CHAR37' || g_newline ||
947 ' , SQUAL_CHAR38' || g_newline ||
948 ' , SQUAL_CHAR39' || g_newline ||
949 ' , SQUAL_CHAR40' || g_newline ||
950 ' , SQUAL_CHAR41' || g_newline ||
951 ' , SQUAL_CHAR42' || g_newline ||
952 ' , SQUAL_CHAR43' || g_newline ||
953 ' , SQUAL_CHAR44' || g_newline ||
954 ' , SQUAL_CHAR45' || g_newline ||
955 ' , SQUAL_CHAR46' || g_newline ||
956 ' , SQUAL_CHAR47' || g_newline ||
957 ' , SQUAL_CHAR48' || g_newline ||
958 ' , SQUAL_CHAR49' || g_newline ||
959 ' , SQUAL_CHAR50' || g_newline ||
960 ' , SQUAL_CHAR51' || g_newline ||
961 ' , SQUAL_CHAR52' || g_newline ||
962 ' , SQUAL_CHAR53' || g_newline ||
963 ' , SQUAL_CHAR54' || g_newline ||
964 ' , SQUAL_CHAR55' || g_newline ||
965 ' , SQUAL_CHAR56' || g_newline ||
966 ' , SQUAL_CHAR57' || g_newline ||
967 ' , SQUAL_CHAR58' || g_newline ||
968 ' , SQUAL_CHAR59' || g_newline ||
969 ' , SQUAL_CHAR60' || g_newline ||
970 ' , SQUAL_NUM01' || g_newline ||
971 ' , SQUAL_NUM02' || g_newline ||
972 ' , SQUAL_NUM03' || g_newline ||
973 ' , SQUAL_NUM04' || g_newline ||
974 ' , SQUAL_NUM05' || g_newline ||
975 ' , SQUAL_NUM06' || g_newline ||
976 ' , SQUAL_NUM07' || g_newline ||
977 ' , SQUAL_NUM08' || g_newline ||
978 ' , SQUAL_NUM09' || g_newline ||
979 ' , SQUAL_NUM10' || g_newline ||
980 ' , SQUAL_NUM11' || g_newline ||
981 ' , SQUAL_NUM12' || g_newline ||
982 ' , SQUAL_NUM13' || g_newline ||
983 ' , SQUAL_NUM14' || g_newline ||
984 ' , SQUAL_NUM15' || g_newline ||
985 ' , SQUAL_NUM16' || g_newline ||
986 ' , SQUAL_NUM17' || g_newline ||
987 ' , SQUAL_NUM18' || g_newline ||
988 ' , SQUAL_NUM19' || g_newline ||
989 ' , SQUAL_NUM20' || g_newline ||
990 ' , SQUAL_NUM21' || g_newline ||
991 ' , SQUAL_NUM22' || g_newline ||
992 ' , SQUAL_NUM23' || g_newline ||
993 ' , SQUAL_NUM24' || g_newline ||
994 ' , SQUAL_NUM25' || g_newline ||
995 ' , SQUAL_NUM26' || g_newline ||
996 ' , SQUAL_NUM27' || g_newline ||
997 ' , SQUAL_NUM28' || g_newline ||
998 ' , SQUAL_NUM29' || g_newline ||
999 ' , SQUAL_NUM30' || g_newline ||
1000 ' , SQUAL_NUM31' || g_newline ||
1001 ' , SQUAL_NUM32' || g_newline ||
1002 ' , SQUAL_NUM33' || g_newline ||
1003 ' , SQUAL_NUM34' || g_newline ||
1004 ' , SQUAL_NUM35' || g_newline ||
1005 ' , SQUAL_NUM36' || g_newline ||
1006 ' , SQUAL_NUM37' || g_newline ||
1007 ' , SQUAL_NUM38' || g_newline ||
1008 ' , SQUAL_NUM39' || g_newline ||
1009 ' , SQUAL_NUM40' || g_newline ||
1010 ' , SQUAL_NUM41' || g_newline ||
1011 ' , SQUAL_NUM42' || g_newline ||
1012 ' , SQUAL_NUM43' || g_newline ||
1013 ' , SQUAL_NUM44' || g_newline ||
1014 ' , SQUAL_NUM45' || g_newline ||
1015 ' , SQUAL_NUM46' || g_newline ||
1016 ' , SQUAL_NUM47' || g_newline ||
1017 ' , SQUAL_NUM48' || g_newline ||
1018 ' , SQUAL_NUM49' || g_newline ||
1019 ' , SQUAL_NUM50' || g_newline ||
1020 ' , SQUAL_NUM51' || g_newline ||
1021 ' , SQUAL_NUM52' || g_newline ||
1022 ' , SQUAL_NUM53' || g_newline ||
1023 ' , SQUAL_NUM54' || g_newline ||
1024 ' , SQUAL_NUM55' || g_newline ||
1025 ' , SQUAL_NUM56' || g_newline ||
1026 ' , SQUAL_NUM57' || g_newline ||
1027 ' , SQUAL_NUM58' || g_newline ||
1028 ' , SQUAL_NUM59' || g_newline ||
1029 ' , SQUAL_NUM60' || g_newline ||
1030 ' , ASSIGNED_FLAG' || g_newline ||
1031 ' , PROCESSED_FLAG' || g_newline ||
1032 ' , ORG_ID' || g_newline ||
1033 ' , SECURITY_GROUP_ID' || g_newline ||
1034 ' , OBJECT_VERSION_NUMBER' || g_newline ||
1035 ' , WORKER_ID' || g_newline ||
1036 ' )' || g_newline ||
1037 G_INDENT || 'SELECT /*+ USE_CONCAT */ ' || g_newline;
1038
1039 ELSE
1040 lx_4841_sql := lx_4841_sql ||
1041 ' INSERT INTO '|| p_match_table_name || ' i' || g_newline ||
1042 ' (' || g_newline ||
1043 ' trans_object_id' || g_newline ||
1044 ' , trans_detail_object_id' || g_newline ||
1045 ' , worker_id' || g_newline ||
1046 ' , header_id1'|| g_newline ||
1047 ' , header_id2'|| g_newline ||
1048 ' , source_id'|| g_newline ||
1049 ' , trans_object_type_id'|| g_newline ||
1050 ' , last_update_date'|| g_newline ||
1051 ' , last_updated_by'|| g_newline ||
1052 ' , creation_date'|| g_newline ||
1053 ' , created_by'|| g_newline ||
1054 ' , last_update_login'|| g_newline ||
1055 ' , request_id'|| g_newline ||
1056 ' , program_application_id'|| g_newline ||
1057 ' , program_id'|| g_newline ||
1058 ' , program_update_date'|| g_newline ||
1059 ' , terr_id'|| g_newline ||
1060 ' , absolute_rank'|| g_newline ||
1061 ' , top_level_terr_id'|| g_newline ||
1062 ' , num_winners'|| g_newline ||
1063 ' , org_id'|| g_newline ||
1064 ' )' || g_newline ||
1065 G_INDENT || 'SELECT /*+ USE_CONCAT INDEX(A ' || l_trans_idx_name || ') */ ' || g_newline;
1066
1067 END IF;
1068
1069 -- dblee: 08/26/03: added switch for new mode TAP
1070 IF p_new_mode_fetch = 'Y' THEN
1071 lx_4841_sql := lx_4841_sql || add_SELECT_cols(p_new_mode_fetch);
1072 ELSE
1073 lx_4841_sql := lx_4841_sql ||
1074 G_INDENT || ' trans_object_id' || g_newline ||
1075 G_INDENT || ' , trans_detail_object_id' || g_newline ||
1076 -- eihsu 06/19/2003 worker_id
1077 G_INDENT || ' , worker_id' || g_newline ||
1078 G_INDENT || ' , header_id1' || g_newline ||
1079 G_INDENT || ' , header_id2' || g_newline ||
1080 G_INDENT || ' , p_source_id' || g_newline ||
1081 G_INDENT || ' , p_trans_object_type_id' || g_newline ||
1082 G_INDENT || ' , l_sysdate' || g_newline ||
1083 G_INDENT || ' , L_USER_ID' || g_newline ||
1084 G_INDENT || ' , l_sysdate' || g_newline ||
1085 G_INDENT || ' , L_USER_ID' || g_newline ||
1086 G_INDENT || ' , L_USER_ID' || g_newline ||
1087 G_INDENT || ' , L_REQUEST_ID' || g_newline ||
1088 G_INDENT || ' , L_PROGRAM_APPL_ID' || g_newline ||
1089 G_INDENT || ' , L_PROGRAM_ID' || g_newline ||
1090 G_INDENT || ' , l_sysdate' || g_newline ||
1091 G_INDENT || ' , ILV.terr_id' || g_newline ||
1092 G_INDENT || ' , ILV.absolute_rank' || g_newline ||
1093 G_INDENT || ' , ILV.top_level_terr_id' || g_newline ||
1094 G_INDENT || ' , ILV.num_winners' || g_newline ||
1095 G_INDENT || ' , ILV.org_id' || g_newline;
1096 END IF; -- p_new_mode_fetch = 'Y'
1097
1098 --ARPATEL 10/14 bug#3207518
1099 JTF_TAE_GEN_PVT.write_buffer_content(
1100 l_qual_rules => lx_4841_sql
1101 );
1102
1103 lx_4841_sql := --lx_4841_sql ||
1104 G_INDENT || ' FROM ' || g_newline ||
1105 /* DYNAMIC BASED ON TRANSACTION TYPE */
1106 G_INDENT || ' ' || P_TABLE_NAME || ' A ' || g_newline ||
1107
1108 --
1109 -- JDOCHERT: 16/09/03: BUG#3143516: CHANGE START
1110 --
1111 ' , ( SELECT /*+ NO_MERGE */ ' || g_newline ||
1112 ' ILV4841.terr_id ' || g_newline ||
1113 ' , ILV4841.absolute_rank ' || g_newline ||
1114 ' , ILV4841.top_level_terr_id ' || g_newline ||
1115 ' , ILV4841.num_winners ' || g_newline ||
1116 ' , ILV4841.org_id ' || g_newline ||
1117 ' , Q1007R1.high_value_char q1007_high_value_char ' || g_newline ||
1118 ' , Q1007R1.low_value_char q1007_low_value_char ' || g_newline ||
1119 ' , Q1003R1.low_value_char q1003_low_value_char ' || g_newline ||
1120 ' , Q1007R1.comparison_operator q1007_cop ' || g_newline ||
1121 ' , Q1003R1.comparison_operator q1003_cop ' || g_newline ||
1122 ' FROM jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
1123 ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline;
1124
1125 IF p_new_mode_fetch = 'Y' THEN
1126 lx_4841_sql := lx_4841_sql ||
1127 ' , ( SELECT /*+ NO_MERGE */ DISTINCT ' || g_newline;
1128 ELSE
1129 lx_4841_sql := lx_4841_sql ||
1130 ' , ( SELECT ' || g_newline;
1131 END IF;
1132
1133 lx_4841_sql := lx_4841_sql ||
1134 ' jtdr.terr_id ' || g_newline ||
1135 ' , jtdr.source_id ' || g_newline ||
1136 ' , jtdr.qual_type_id ' || g_newline ||
1137 ' , jtdr.top_level_terr_id ' || g_newline ||
1138 ' , jtdr.absolute_rank ' || g_newline ||
1139 ' , jtdr.num_winners ' || g_newline ||
1140 ' , jtdr.org_id ';
1141
1142 IF p_new_mode_fetch = 'Y' THEN
1143
1144 lx_4841_sql := lx_4841_sql ||
1145 ' FROM jtf_changed_terr_all jct ' || g_newline ||
1146 ' , jtf_terr_denorm_rules_all jtdr ' || g_newline ||
1147 ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
1148 ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
1149 ' WHERE jct.terr_id = jtdr.terr_id ' || g_newline ||
1150 ' AND jtdr.terr_id= jtdr.related_terr_id ' || g_newline ||
1151 ' AND jqtu.source_id = p_source_id ' || g_newline ||
1152 ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
1153 ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
1154 ' AND jct.terr_id = jtqu.terr_id ' || g_newline ||
1155 ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
1156 ' AND jtdr.resource_exists_flag = ''Y'' ' || g_newline ||
1157 ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i) ' || g_newline ||
1158 ' ) ILV4841 ' || g_newline;
1159
1160 ELSE
1161
1162 lx_4841_sql := lx_4841_sql ||
1163 ' FROM jtf_terr_denorm_rules_all jtdr ' || g_newline ||
1164 ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
1165 ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
1166 ' WHERE jtdr.terr_id= jtdr.related_terr_id ' || g_newline ||
1167 ' AND jtdr.source_id = p_source_id ' || g_newline ||
1168 ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
1169 ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
1170 ' AND jtdr.terr_id = jtqu.terr_id ' || g_newline ||
1171 ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
1172 ' AND jtdr.resource_exists_flag = ''Y'' ' || g_newline ||
1173 ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i) ' || g_newline ||
1174 ' ) ILV4841 ' || g_newline;
1175
1176 END IF;
1177
1178 lx_4841_sql := lx_4841_sql ||
1179 ' WHERE Q1007R1.qual_usg_id = -1007 ' || g_newline ||
1180 ' AND Q1007R1.terr_id = ILV4841.terr_id ' || g_newline ||
1181 ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
1182 ' AND Q1003R1.comparison_operator = ''='' ' || g_newline ||
1183 ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
1184 ' AND Q1003R1.terr_id = ILV4841.terr_id ' || g_newline ||
1185 ' ORDER BY Q1003R1.low_value_char ' || g_newline ||
1186 ' , Q1007R1.low_value_char ' || g_newline ||
1187 ' , Q1007R1.high_value_char ' || g_newline ||
1188 ' ) ILV ' || g_newline ||
1189 ' WHERE 1 = 1 ' || g_newline;
1190 --
1191 -- JDOCHERT: 16/09/03: BUG#3143516: CHANGE END
1192 --
1193 IF p_new_mode_fetch <> 'Y' THEN
1194 lx_4841_sql := lx_4841_sql ||
1195 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
1196 END IF;
1197
1198 lx_4841_sql := lx_4841_sql ||
1199 ' AND ( ( a.squal_char06 <= ILV.q1007_high_value_char AND ' || g_newline ||
1200 ' a.squal_char06 >= ILV.q1007_low_value_char AND ' || g_newline ||
1201 ' ILV.q1007_cop = ''BETWEEN'' ) ' || g_newline ||
1202 ' OR ' || g_newline ||
1203 ' ( a.squal_char06 = ILV.q1007_low_value_char AND ' || g_newline ||
1204 ' ILV.q1007_cop = ''='' ) ' || g_newline ||
1205 ' OR ' || g_newline ||
1206 ' ( a.squal_char06 LIKE ILV.q1007_low_value_char AND ' || g_newline ||
1207 ' ILV.q1007_cop = ''LIKE'' ) ) ' || g_newline ||
1208 ' AND a.squal_char07 = ILV.q1003_low_value_char ; ' || g_newline ||
1209 ' END IF; ' || g_newline;
1210
1211 RETURN lx_4841_sql;
1212
1213 EXCEPTION
1214 WHEN OTHERS THEN
1215 g_ProgramStatus := 1;
1216 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_4841_SQL');
1217
1218 END add_4841_SQL;
1219
1220
1221
1222 /*********************************************************
1223 ** JDOCHERT: 08/07/02
1224 ** Function to return customer name range + Postal Code + Country SQL
1225 ** SBEHERA :08/07/02
1226 *********************************************************/
1227 FUNCTION add_324347_SQL( p_trans_object_type_id IN NUMBER
1228 , p_table_name IN VARCHAR2
1229 -- dblee 08/26/03 added new mode flag
1230 , p_new_mode_fetch IN CHAR)
1231 RETURN VARCHAR2 AS
1232
1233 lp_close_outermost_ILV VARCHAR2(255);
1234 lp_SELECT_cols VARCHAR2(32767) := NULL;
1235 lx_324347_sql VARCHAR2(32767) := NULL;
1236 lx_324347_sql1 VARCHAR2(32767) := NULL;
1237 lp_pc_cntry_predicate_eq VARCHAR2(32767) := NULL;
1238 lp_pc_cntry_predicate VARCHAR2(32767) := NULL;
1239 lp_pc_cntry_predicate_btwn VARCHAR2(32767) := NULL;
1240 l_sql VARCHAR2(32767) := NULL;
1241 BEGIN
1242
1243 -- dblee: 08/27/03 new mode support
1244 IF p_new_mode_fetch = 'Y' THEN
1245 lp_SELECT_cols :=
1246 /* ARPATEL: 01/15/2004 bug#3373462 */
1247 --G_INDENT5 || add_SELECT_cols(p_new_mode_fetch) || g_newline;
1248 G_INDENT5 || ' A.TRANS_OBJECT_ID' || g_newline ||
1249 G_INDENT5 || ' , A.TRANS_DETAIL_OBJECT_ID' || g_newline ||
1250 G_INDENT5 || ' , A.HEADER_ID1' || g_newline ||
1251 G_INDENT5 || ' , A.HEADER_ID2' || g_newline ||
1252 G_INDENT5 || ' , A.SQUAL_FC01' || g_newline ||
1253 G_INDENT5 || ' , A.SQUAL_FC02' || g_newline ||
1254 G_INDENT5 || ' , A.SQUAL_FC03' || g_newline ||
1255 G_INDENT5 || ' , A.SQUAL_FC04' || g_newline ||
1256 G_INDENT5 || ' , A.SQUAL_FC05' || g_newline ||
1257 G_INDENT5 || ' , A.SQUAL_CURC01' || g_newline ||
1258 G_INDENT5 || ' , A.SQUAL_CURC02' || g_newline ||
1259 G_INDENT5 || ' , A.SQUAL_CURC03' || g_newline ||
1260 G_INDENT5 || ' , A.SQUAL_CURC04' || g_newline ||
1261 G_INDENT5 || ' , A.SQUAL_CURC05' || g_newline ||
1262 G_INDENT5 || ' , A.SQUAL_CURC06' || g_newline ||
1263 G_INDENT5 || ' , A.SQUAL_CURC07' || g_newline ||
1264 G_INDENT5 || ' , A.SQUAL_CURC08' || g_newline ||
1265 G_INDENT5 || ' , A.SQUAL_CURC09' || g_newline ||
1266 G_INDENT5 || ' , A.SQUAL_CURC10' || g_newline ||
1267 G_INDENT5 || ' , A.SQUAL_CHAR01' || g_newline ||
1268 G_INDENT5 || ' , A.SQUAL_CHAR02' || g_newline ||
1269 G_INDENT5 || ' , A.SQUAL_CHAR03' || g_newline ||
1270 G_INDENT5 || ' , A.SQUAL_CHAR04' || g_newline ||
1271 G_INDENT5 || ' , A.SQUAL_CHAR05' || g_newline ||
1272 G_INDENT5 || ' , A.SQUAL_CHAR06' || g_newline ||
1273 G_INDENT5 || ' , A.SQUAL_CHAR07' || g_newline ||
1274 G_INDENT5 || ' , A.SQUAL_CHAR08' || g_newline ||
1275 G_INDENT5 || ' , A.SQUAL_CHAR09' || g_newline ||
1276 G_INDENT5 || ' , A.SQUAL_CHAR10' || g_newline ||
1277 G_INDENT5 || ' , A.SQUAL_CHAR11' || g_newline ||
1278 G_INDENT5 || ' , A.SQUAL_CHAR12' || g_newline ||
1279 G_INDENT5 || ' , A.SQUAL_CHAR13' || g_newline ||
1280 G_INDENT5 || ' , A.SQUAL_CHAR14' || g_newline ||
1281 G_INDENT5 || ' , A.SQUAL_CHAR15' || g_newline ||
1282 G_INDENT5 || ' , A.SQUAL_CHAR16' || g_newline ||
1283 G_INDENT5 || ' , A.SQUAL_CHAR17' || g_newline ||
1284 G_INDENT5 || ' , A.SQUAL_CHAR18' || g_newline ||
1285 G_INDENT5 || ' , A.SQUAL_CHAR19' || g_newline ||
1286 G_INDENT5 || ' , A.SQUAL_CHAR20' || g_newline ||
1287 G_INDENT5 || ' , A.SQUAL_CHAR21' || g_newline ||
1288 G_INDENT5 || ' , A.SQUAL_CHAR22' || g_newline ||
1289 G_INDENT5 || ' , A.SQUAL_CHAR23' || g_newline ||
1290 G_INDENT5 || ' , A.SQUAL_CHAR24' || g_newline ||
1291 G_INDENT5 || ' , A.SQUAL_CHAR25' || g_newline ||
1292 G_INDENT5 || ' , A.SQUAL_CHAR26' || g_newline ||
1293 G_INDENT5 || ' , A.SQUAL_CHAR27' || g_newline ||
1294 G_INDENT5 || ' , A.SQUAL_CHAR28' || g_newline ||
1295 G_INDENT5 || ' , A.SQUAL_CHAR30' || g_newline ||
1296 G_INDENT5 || ' , A.SQUAL_CHAR31' || g_newline ||
1297 G_INDENT5 || ' , A.SQUAL_CHAR32' || g_newline ||
1298 G_INDENT5 || ' , A.SQUAL_CHAR33' || g_newline ||
1299 G_INDENT5 || ' , A.SQUAL_CHAR34' || g_newline ||
1300 G_INDENT5 || ' , A.SQUAL_CHAR35' || g_newline ||
1301 G_INDENT5 || ' , A.SQUAL_CHAR36' || g_newline ||
1302 G_INDENT5 || ' , A.SQUAL_CHAR37' || g_newline ||
1303 G_INDENT5 || ' , A.SQUAL_CHAR38' || g_newline ||
1304 G_INDENT5 || ' , A.SQUAL_CHAR39' || g_newline ||
1305 G_INDENT5 || ' , A.SQUAL_CHAR40' || g_newline ||
1306 G_INDENT5 || ' , A.SQUAL_CHAR41' || g_newline ||
1307 G_INDENT5 || ' , A.SQUAL_CHAR42' || g_newline ||
1308 G_INDENT5 || ' , A.SQUAL_CHAR43' || g_newline ||
1309 G_INDENT5 || ' , A.SQUAL_CHAR44' || g_newline ||
1310 G_INDENT5 || ' , A.SQUAL_CHAR45' || g_newline ||
1311 G_INDENT5 || ' , A.SQUAL_CHAR46' || g_newline ||
1312 G_INDENT5 || ' , A.SQUAL_CHAR47' || g_newline ||
1313 G_INDENT5 || ' , A.SQUAL_CHAR48' || g_newline ||
1314 G_INDENT5 || ' , A.SQUAL_CHAR49' || g_newline ||
1315 G_INDENT5 || ' , A.SQUAL_CHAR50' || g_newline ||
1316 G_INDENT5 || ' , A.SQUAL_CHAR51' || g_newline ||
1317 G_INDENT5 || ' , A.SQUAL_CHAR52' || g_newline ||
1318 G_INDENT5 || ' , A.SQUAL_CHAR53' || g_newline ||
1319 G_INDENT5 || ' , A.SQUAL_CHAR54' || g_newline ||
1320 G_INDENT5 || ' , A.SQUAL_CHAR55' || g_newline ||
1321 G_INDENT5 || ' , A.SQUAL_CHAR56' || g_newline ||
1322 G_INDENT5 || ' , A.SQUAL_CHAR57' || g_newline ||
1323 G_INDENT5 || ' , A.SQUAL_CHAR58' || g_newline ||
1324 G_INDENT5 || ' , A.SQUAL_CHAR59' || g_newline ||
1325 G_INDENT5 || ' , A.SQUAL_CHAR60' || g_newline ||
1326 G_INDENT5 || ' , A.SQUAL_NUM01' || g_newline ||
1327 G_INDENT5 || ' , A.SQUAL_NUM02' || g_newline ||
1328 G_INDENT5 || ' , A.SQUAL_NUM03' || g_newline ||
1329 G_INDENT5 || ' , A.SQUAL_NUM04' || g_newline ||
1330 G_INDENT5 || ' , A.SQUAL_NUM05' || g_newline ||
1331 G_INDENT5 || ' , A.SQUAL_NUM06' || g_newline ||
1332 G_INDENT5 || ' , A.SQUAL_NUM07' || g_newline ||
1333 G_INDENT5 || ' , A.SQUAL_NUM08' || g_newline ||
1334 G_INDENT5 || ' , A.SQUAL_NUM09' || g_newline ||
1335 G_INDENT5 || ' , A.SQUAL_NUM10' || g_newline ||
1336 G_INDENT5 || ' , A.SQUAL_NUM11' || g_newline ||
1337 G_INDENT5 || ' , A.SQUAL_NUM12' || g_newline ||
1338 G_INDENT5 || ' , A.SQUAL_NUM13' || g_newline ||
1339 G_INDENT5 || ' , A.SQUAL_NUM14' || g_newline ||
1340 G_INDENT5 || ' , A.SQUAL_NUM15' || g_newline ||
1341 G_INDENT5 || ' , A.SQUAL_NUM16' || g_newline ||
1342 G_INDENT5 || ' , A.SQUAL_NUM17' || g_newline ||
1343 G_INDENT5 || ' , A.SQUAL_NUM18' || g_newline ||
1344 G_INDENT5 || ' , A.SQUAL_NUM19' || g_newline ||
1345 G_INDENT5 || ' , A.SQUAL_NUM20' || g_newline ||
1346 G_INDENT5 || ' , A.SQUAL_NUM21' || g_newline ||
1347 G_INDENT5 || ' , A.SQUAL_NUM22' || g_newline ||
1348 G_INDENT5 || ' , A.SQUAL_NUM23' || g_newline ||
1349 G_INDENT5 || ' , A.SQUAL_NUM24' || g_newline ||
1350 G_INDENT5 || ' , A.SQUAL_NUM25' || g_newline ||
1351 G_INDENT5 || ' , A.SQUAL_NUM26' || g_newline ||
1352 G_INDENT5 || ' , A.SQUAL_NUM27' || g_newline ||
1353 G_INDENT5 || ' , A.SQUAL_NUM28' || g_newline ||
1354 G_INDENT5 || ' , A.SQUAL_NUM29' || g_newline ||
1355 G_INDENT5 || ' , A.SQUAL_NUM30' || g_newline ||
1356 G_INDENT5 || ' , A.SQUAL_NUM31' || g_newline ||
1357 G_INDENT5 || ' , A.SQUAL_NUM32' || g_newline ||
1358 G_INDENT5 || ' , A.SQUAL_NUM33' || g_newline ||
1359 G_INDENT5 || ' , A.SQUAL_NUM34' || g_newline ||
1360 G_INDENT5 || ' , A.SQUAL_NUM35' || g_newline ||
1361 G_INDENT5 || ' , A.SQUAL_NUM36' || g_newline ||
1362 G_INDENT5 || ' , A.SQUAL_NUM37' || g_newline ||
1363 G_INDENT5 || ' , A.SQUAL_NUM38' || g_newline ||
1364 G_INDENT5 || ' , A.SQUAL_NUM39' || g_newline ||
1365 G_INDENT5 || ' , A.SQUAL_NUM40' || g_newline ||
1366 G_INDENT5 || ' , A.SQUAL_NUM41' || g_newline ||
1367 G_INDENT5 || ' , A.SQUAL_NUM42' || g_newline ||
1368 G_INDENT5 || ' , A.SQUAL_NUM43' || g_newline ||
1369 G_INDENT5 || ' , A.SQUAL_NUM44' || g_newline ||
1370 G_INDENT5 || ' , A.SQUAL_NUM45' || g_newline ||
1371 G_INDENT5 || ' , A.SQUAL_NUM46' || g_newline ||
1372 G_INDENT5 || ' , A.SQUAL_NUM47' || g_newline ||
1373 G_INDENT5 || ' , A.SQUAL_NUM48' || g_newline ||
1374 G_INDENT5 || ' , A.SQUAL_NUM49' || g_newline ||
1375 G_INDENT5 || ' , A.SQUAL_NUM50' || g_newline ||
1376 G_INDENT5 || ' , A.SQUAL_NUM51' || g_newline ||
1377 G_INDENT5 || ' , A.SQUAL_NUM52' || g_newline ||
1378 G_INDENT5 || ' , A.SQUAL_NUM53' || g_newline ||
1379 G_INDENT5 || ' , A.SQUAL_NUM54' || g_newline ||
1380 G_INDENT5 || ' , A.SQUAL_NUM55' || g_newline ||
1381 G_INDENT5 || ' , A.SQUAL_NUM56' || g_newline ||
1382 G_INDENT5 || ' , A.SQUAL_NUM57' || g_newline ||
1383 G_INDENT5 || ' , A.SQUAL_NUM58' || g_newline ||
1384 G_INDENT5 || ' , A.SQUAL_NUM59' || g_newline ||
1385 G_INDENT5 || ' , A.SQUAL_NUM60' || g_newline ||
1386 G_INDENT5 || ' , A.ASSIGNED_FLAG' || g_newline ||
1387 G_INDENT5 || ' , A.PROCESSED_FLAG' || g_newline ||
1388 G_INDENT5 || ' , A.ORG_ID' || g_newline ||
1389 G_INDENT5 || ' , A.SECURITY_GROUP_ID' || g_newline ||
1390 G_INDENT5 || ' , A.OBJECT_VERSION_NUMBER' || g_newline ||
1391 G_INDENT5 || ' , A.WORKER_ID' || g_newline ;
1392
1393 lp_close_outermost_ILV := ') A; ';
1394 ELSE
1395 lp_SELECT_cols :=
1396 G_INDENT5 || 'A.trans_object_id, A.trans_detail_object_id, ' || g_newline ||
1397 -- eihsu: 06/19/2003 worker_id
1398 G_INDENT5 || 'A.worker_id, ' || g_newline ||
1399 G_INDENT5 || 'A.header_id1, A.header_id2, ' || g_newline ||
1400 G_INDENT5 || 'ILV.terr_id, ILV.absolute_rank, ' || g_newline ||
1401 G_INDENT5 || 'ILV.top_level_terr_id, ILV.num_winners, ILV.org_id ';
1402
1403 lp_close_outermost_ILV := ') ILV; ';
1404 END IF;
1405
1406 lp_pc_cntry_predicate := ' 1 = 1 ' || g_newline;
1407
1408 -- eihsu: 06/19/2003 worker_id
1409 IF p_new_mode_fetch <> 'Y' THEN
1410 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
1411 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
1412 END IF;
1413
1414 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
1415 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
1416 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
1417 G_INDENT5 || ' AND ( ' || g_newline ||
1418 G_INDENT5 || ' ( a.squal_char06 LIKE Q1007R1.low_value_char AND ' || g_newline ||
1419 G_INDENT5 || ' Q1007R1.comparison_operator = ''LIKE'' ) ' || g_newline ||
1420 G_INDENT5 || ' OR ' || g_newline ||
1421 G_INDENT5 || ' ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
1422 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
1423 G_INDENT5 || ' OR ' || g_newline ||
1424 G_INDENT5 || ' ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
1425 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
1426 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
1427 G_INDENT5 || ' ) ' || g_newline ||
1428 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
1429 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ||
1430 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
1431 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline;
1432
1433 lp_pc_cntry_predicate_eq := ' 1 = 1 ' || g_newline;
1434
1435 IF p_new_mode_fetch <> 'Y' THEN
1436 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
1437 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
1438 END IF;
1439
1440 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
1441 -- eihsu: 06/19/2003 worker_id
1442 G_INDENT5 || ' AND ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
1443 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
1444 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
1445 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
1446 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
1447 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
1448 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
1449 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
1450 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
1451
1452 lp_pc_cntry_predicate_btwn := ' 1 = 1 ' || g_newline;
1453
1454 IF p_new_mode_fetch <> 'Y' THEN
1455 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
1456 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
1457 END IF;
1458
1459 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
1460 -- eihsu: 06/19/2003 worker_id
1461 G_INDENT5 || ' AND ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
1462 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
1463 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
1464 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
1465 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
1466 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
1467 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
1468 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
1469 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
1470 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
1471
1472 --ARPATEL 10/14 bug#3194930
1473 JTF_TAE_GEN_PVT.write_buffer_content(
1474 l_qual_rules => G_INDENT || add_SELECT_clause(p_new_mode_fetch) || g_newline
1475 );
1476
1477 lx_324347_sql := lx_324347_sql ||
1478 --ARPATEL 10/14 bug#3194930
1479 --G_INDENT || add_SELECT_clause(p_new_mode_fetch) || g_newline ||
1480 G_INDENT || 'FROM ( ' || g_newline;
1481
1482 /* START OF INLINE VIEW WITH 4 UNION ALLS */
1483
1484 /************************/
1485 /* = XYZ */
1486 /************************/
1487 IF p_new_mode_fetch <> 'Y' THEN
1488 lx_324347_sql := lx_324347_sql ||
1489 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
1490 G_INDENT5 || ' ORDERED ' || g_newline ||
1491 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
1492 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012R1 A) ' || g_newline ||
1493 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
1494 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
1495 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
1496 '_324347_ND)' || g_newline ||
1497
1498 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1499 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1500 G_INDENT5 || ' INDEX(Q1012R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1501 G_INDENT5 || ' */ ' || g_newline;
1502 ELSE
1503 lx_324347_sql := lx_324347_sql ||
1504 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
1505 G_INDENT5 || ' ORDERED ' || g_newline ||
1506 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
1507 G_INDENT5 || ' NO_MERGE ' || g_newline ||
1508 G_INDENT5 || ' */ ' || g_newline;
1509 END IF;
1510
1511 lx_324347_sql := lx_324347_sql ||
1512 /* Add SELECT columns */
1513 lp_SELECT_cols || g_newline ||
1514
1515 G_INDENT5 || 'FROM ';
1516
1517 IF p_new_mode_fetch = 'Y' THEN
1518 lx_324347_sql := lx_324347_sql ||
1519 /* STATIC INLINE VIEW */
1520 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
1521 ELSE
1522 lx_324347_sql := lx_324347_sql ||
1523 /* STATIC INLINE VIEW */
1524 add_ILV(l_sql, p_new_mode_fetch);
1525 END IF;
1526
1527 lx_324347_sql := lx_324347_sql ||
1528 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1012R1 ' || g_newline ||
1529 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
1530 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
1531
1532 /* DYNAMIC BASED ON TRANSACTION TYPE */
1533 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
1534
1535 G_INDENT5 || 'WHERE ' || g_newline ||
1536
1537 lp_pc_cntry_predicate || g_newline ||
1538 --G_INDENT5 || ' AND Q1003R1.terr_id = Q1012R1.terr_id ' || g_newline ||
1539 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012R1.terr_id ' || g_newline ||
1540 G_INDENT5 || ' AND ( Q1012R1.comparison_operator = ''='' AND ' || g_newline ||
1541 G_INDENT5 || ' a.squal_fc01 = SUBSTR(Q1012R1.low_value_char, 1, 1) AND ' || g_newline ||
1542 G_INDENT5 || ' a.squal_char01 = Q1012R1.low_value_char ' || g_newline ||
1543 G_INDENT5 || ' ) ' || g_newline ||
1544 G_INDENT5 || ' AND Q1012R1.qual_usg_id = -1012 ' || g_newline ||
1545 G_INDENT5 || ' AND Q1012R1.terr_id = ILV.terr_id ' || g_newline ||
1546 G_INDENT5 || ' AND Q1012R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
1547
1548
1549 G_INDENT5 || 'UNION ALL ' || g_newline;
1550
1551 /************************/
1552 /* LIKE XYZ% */
1553 /************************/
1554 IF p_new_mode_fetch <> 'Y' THEN
1555 lx_324347_sql := lx_324347_sql ||
1556 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
1557 G_INDENT5 || ' ORDERED ' || g_newline ||
1558 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
1559 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
1560 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
1561
1562 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
1563 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
1564 '_324347_ND)' || g_newline ||
1565 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1566 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1567 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
1568 G_INDENT5 || ' */ ' || g_newline;
1569 ELSE
1570 lx_324347_sql := lx_324347_sql ||
1571 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
1572 G_INDENT5 || ' ORDERED ' || g_newline ||
1573 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
1574 G_INDENT5 || ' NO_MERGE ' || g_newline ||
1575 G_INDENT5 || ' */ ' || g_newline;
1576 END IF;
1577
1578 lx_324347_sql := lx_324347_sql ||
1579 /* Add SELECT columns */
1580 lp_SELECT_cols || g_newline ||
1581
1582 G_INDENT5 || 'FROM ';
1583
1584 IF p_new_mode_fetch = 'Y' THEN
1585 lx_324347_sql := lx_324347_sql ||
1586 /* STATIC INLINE VIEW */
1587 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
1588 ELSE
1589 lx_324347_sql := lx_324347_sql ||
1590 /* STATIC INLINE VIEW */
1591 add_ILV(l_sql, p_new_mode_fetch);
1592 END IF;
1593
1594 lx_324347_sql := lx_324347_sql ||
1595 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
1596 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
1597 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
1598
1599 /* DYNAMIC BASED ON TRANSACTION TYPE */
1600 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
1601
1602 G_INDENT5 || 'WHERE ' || g_newline ||
1603
1604 lp_pc_cntry_predicate || g_newline ||
1605
1606 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
1607 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
1608 G_INDENT5 || ' a.squal_fc01 = Q1012LK.first_char ' || g_newline ||
1609 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
1610 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
1611 G_INDENT5 || 'UNION ALL ' || g_newline --||
1612 ;
1613
1614 --ARPATEL 10/14 bug#3194930
1615 JTF_TAE_GEN_PVT.write_buffer_content(
1616 l_qual_rules => lx_324347_sql
1617 );
1618
1619 /************************/
1620 /* LIKE %XYZ */
1621 /************************/
1622 IF p_new_mode_fetch <> 'Y' THEN
1623 lx_324347_sql1 :=
1624 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
1625 G_INDENT5 || ' ORDERED ' || g_newline ||
1626 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
1627 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
1628 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
1629 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
1630 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
1631 '_324347X_ND)' || g_newline ||
1632 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1633 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1634 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
1635 G_INDENT5 || ' */ ' || g_newline;
1636 ELSE
1637 lx_324347_sql1 :=
1638 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
1639 G_INDENT5 || ' ORDERED ' || g_newline ||
1640 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
1641 G_INDENT5 || ' NO_MERGE ' || g_newline ||
1642 G_INDENT5 || ' */ ' || g_newline;
1643 END IF;
1644
1645 lx_324347_sql1 := lx_324347_sql1 ||
1646 /* Add SELECT columns */
1647 lp_SELECT_cols || g_newline ||
1648
1649 G_INDENT5 || 'FROM ';
1650
1651 IF p_new_mode_fetch = 'Y' THEN
1652 lx_324347_sql1 := lx_324347_sql1 ||
1653 /* STATIC INLINE VIEW */
1654 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
1655 ELSE
1656 lx_324347_sql1 := lx_324347_sql1 ||
1657 /* STATIC INLINE VIEW */
1658 add_ILV(l_sql, p_new_mode_fetch);
1659 END IF;
1660
1661 lx_324347_sql1 := lx_324347_sql1 ||
1662 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
1663 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
1664 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
1665
1666 /* DYNAMIC BASED ON TRANSACTION TYPE */
1667 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
1668
1669 G_INDENT5 || 'WHERE ' || g_newline ||
1670
1671 lp_pc_cntry_predicate_eq || g_newline ||
1672
1673 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
1674 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
1675 G_INDENT5 || ' Q1012LK.first_char = ''%'' ' || g_newline ||
1676 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
1677 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
1678 G_INDENT5 || 'UNION ALL ' || g_newline;
1679
1680 IF p_new_mode_fetch <> 'Y' THEN
1681 lx_324347_sql1 := lx_324347_sql1 ||
1682 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
1683 G_INDENT5 || ' ORDERED ' || g_newline ||
1684 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
1685 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
1686 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
1687 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
1688 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
1689 '_324347X_ND)' || g_newline ||
1690 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1691 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1692 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
1693 G_INDENT5 || ' */ ' || g_newline;
1694 ELSE
1695 lx_324347_sql1 := lx_324347_sql1 ||
1696 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
1697 G_INDENT5 || ' ORDERED ' || g_newline ||
1698 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
1699 G_INDENT5 || ' NO_MERGE ' || g_newline ||
1700 G_INDENT5 || ' */ ' || g_newline;
1701 END IF;
1702
1703 lx_324347_sql1 := lx_324347_sql1 ||
1704 /* Add SELECT columns */
1705 lp_SELECT_cols || g_newline ||
1706
1707 G_INDENT5 || 'FROM ';
1708
1709 IF p_new_mode_fetch = 'Y' THEN
1710 lx_324347_sql1 := lx_324347_sql1 ||
1711 /* STATIC INLINE VIEW */
1712 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
1713 ELSE
1714 lx_324347_sql1 := lx_324347_sql1 ||
1715 /* STATIC INLINE VIEW */
1716 add_ILV(l_sql, p_new_mode_fetch);
1717 END IF;
1718
1719 lx_324347_sql1 := lx_324347_sql1 ||
1720 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
1721 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
1722 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
1723
1724 /* DYNAMIC BASED ON TRANSACTION TYPE */
1725 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
1726
1727 G_INDENT5 || 'WHERE ' || g_newline ||
1728
1729 lp_pc_cntry_predicate_btwn || g_newline ||
1730
1731 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
1732 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
1733 G_INDENT5 || ' Q1012LK.first_char = ''%'' ' || g_newline ||
1734 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
1735 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
1736
1737 G_INDENT5 || 'UNION ALL ' || g_newline;
1738
1739 IF p_new_mode_fetch <> 'Y' THEN
1740 lx_324347_sql1 := lx_324347_sql1 ||
1741 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
1742 G_INDENT5 || ' ORDERED ' || g_newline ||
1743 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
1744 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012BT A) ' || g_newline ||
1745 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
1746 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
1747 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
1748 '_324347_ND)' || g_newline ||
1749
1750 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1751 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
1752 G_INDENT5 || ' INDEX(Q1012BT JTF_TERR_CNR_QUAL_BTWN_MV_N10) ' || g_newline ||
1753 G_INDENT5 || ' */ ' || g_newline;
1754 ELSE
1755 lx_324347_sql1 := lx_324347_sql1 ||
1756 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
1757 G_INDENT5 || ' ORDERED ' || g_newline ||
1758 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
1759 G_INDENT5 || ' NO_MERGE ' || g_newline ||
1760 G_INDENT5 || ' */ ' || g_newline;
1761 END IF;
1762
1763 lx_324347_sql1 := lx_324347_sql1 ||
1764 /* Add SELECT columns */
1765 lp_SELECT_cols || g_newline ||
1766
1767 G_INDENT5 || 'FROM ';
1768
1769 IF p_new_mode_fetch = 'Y' THEN
1770 lx_324347_sql1 := lx_324347_sql1 ||
1771 /* STATIC INLINE VIEW */
1772 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
1773 ELSE
1774 lx_324347_sql1 := lx_324347_sql1 ||
1775 /* STATIC INLINE VIEW */
1776 add_ILV(l_sql, p_new_mode_fetch);
1777 END IF;
1778
1779 lx_324347_sql1 := lx_324347_sql1 ||
1780 G_INDENT5 || ' , jtf_terr_cnr_qual_btwn_mv Q1012BT ' || g_newline ||
1781 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
1782 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
1783
1784 /* DYNAMIC BASED ON TRANSACTION TYPE */
1785 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
1786
1787 G_INDENT5 || 'WHERE ' || g_newline ||
1788
1789 lp_pc_cntry_predicate || g_newline ||
1790
1791 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012BT.terr_id ' || g_newline ||
1792 G_INDENT5 || ' AND a.squal_char01 <= Q1012BT.high_value_char AND ' || g_newline ||
1793 G_INDENT5 || ' a.squal_char01 >= Q1012BT.low_value_char AND ' || g_newline ||
1794 G_INDENT5 || ' a.squal_fc01 >= SUBSTR(Q1012BT.low_value_char, 1, 1) ' || g_newline ||
1795 G_INDENT5 || ' AND Q1012BT.qual_usg_id = -1012 ' || g_newline ||
1796 G_INDENT5 || ' AND Q1012BT.terr_id = ILV.terr_id ' || g_newline ||
1797 G_INDENT5 || ' AND Q1012BT.terr_id = Q1003R1.terr_id ' || g_newline ||
1798
1799 /* END OF INLINE VIEW WITH 4 UNION ALLS */
1800 G_INDENT || lp_close_outermost_ILV || g_newline;
1801
1802 RETURN lx_324347_sql1;
1803 EXCEPTION
1804 WHEN OTHERS THEN
1805 g_ProgramStatus := 1;
1806 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_324347_SQL');
1807
1808 END add_324347_SQL;
1809
1810 FUNCTION EXP_PURCHASE_UNION_SELECT (p_new_mode_fetch IN CHAR)
1811 RETURN VARCHAR2 AS
1812 BEGIN
1813 --bug#3373462 ARPATEL: 01/30/2004
1814 IF p_new_mode_fetch = 'Y'
1815 THEN
1816 RETURN
1817 --G_INDENT || 'FROM ( ' || g_newline ||
1818 G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) */ ' || g_newline ||
1819 --G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
1820 G_INDENT || ' ILV2.TRANS_OBJECT_ID' || g_newline ||
1821 G_INDENT || ' , ILV2.TRANS_DETAIL_OBJECT_ID' || g_newline ||
1822 G_INDENT || ' , ILV2.HEADER_ID1' || g_newline ||
1823 G_INDENT || ' , ILV2.HEADER_ID2' || g_newline ||
1824 G_INDENT || ' , ILV2.SQUAL_FC01' || g_newline ||
1825 G_INDENT || ' , ILV2.SQUAL_FC02' || g_newline ||
1826 G_INDENT || ' , ILV2.SQUAL_FC03' || g_newline ||
1827 G_INDENT || ' , ILV2.SQUAL_FC04' || g_newline ||
1828 G_INDENT || ' , ILV2.SQUAL_FC05' || g_newline ||
1829 G_INDENT || ' , ILV2.SQUAL_CURC01' || g_newline ||
1830 G_INDENT || ' , ILV2.SQUAL_CURC02' || g_newline ||
1831 G_INDENT || ' , ILV2.SQUAL_CURC03' || g_newline ||
1832 G_INDENT || ' , ILV2.SQUAL_CURC04' || g_newline ||
1833 G_INDENT || ' , ILV2.SQUAL_CURC05' || g_newline ||
1834 G_INDENT || ' , ILV2.SQUAL_CURC06' || g_newline ||
1835 G_INDENT || ' , ILV2.SQUAL_CURC07' || g_newline ||
1836 G_INDENT || ' , ILV2.SQUAL_CURC08' || g_newline ||
1837 G_INDENT || ' , ILV2.SQUAL_CURC09' || g_newline ||
1838 G_INDENT || ' , ILV2.SQUAL_CURC10' || g_newline ||
1839 G_INDENT || ' , ILV2.SQUAL_CHAR01' || g_newline ||
1840 G_INDENT || ' , ILV2.SQUAL_CHAR02' || g_newline ||
1841 G_INDENT || ' , ILV2.SQUAL_CHAR03' || g_newline ||
1842 G_INDENT || ' , ILV2.SQUAL_CHAR04' || g_newline ||
1843 G_INDENT || ' , ILV2.SQUAL_CHAR05' || g_newline ||
1844 G_INDENT || ' , ILV2.SQUAL_CHAR06' || g_newline ||
1845 G_INDENT || ' , ILV2.SQUAL_CHAR07' || g_newline ||
1846 G_INDENT || ' , ILV2.SQUAL_CHAR08' || g_newline ||
1847 G_INDENT || ' , ILV2.SQUAL_CHAR09' || g_newline ||
1848 G_INDENT || ' , ILV2.SQUAL_CHAR10' || g_newline ||
1849 G_INDENT || ' , ILV2.SQUAL_CHAR11' || g_newline ||
1850 G_INDENT || ' , ILV2.SQUAL_CHAR12' || g_newline ||
1851 G_INDENT || ' , ILV2.SQUAL_CHAR13' || g_newline ||
1852 G_INDENT || ' , ILV2.SQUAL_CHAR14' || g_newline ||
1853 G_INDENT || ' , ILV2.SQUAL_CHAR15' || g_newline ||
1854 G_INDENT || ' , ILV2.SQUAL_CHAR16' || g_newline ||
1855 G_INDENT || ' , ILV2.SQUAL_CHAR17' || g_newline ||
1856 G_INDENT || ' , ILV2.SQUAL_CHAR18' || g_newline ||
1857 G_INDENT || ' , ILV2.SQUAL_CHAR19' || g_newline ||
1858 G_INDENT || ' , ILV2.SQUAL_CHAR20' || g_newline ||
1859 G_INDENT || ' , ILV2.SQUAL_CHAR21' || g_newline ||
1860 G_INDENT || ' , ILV2.SQUAL_CHAR22' || g_newline ||
1861 G_INDENT || ' , ILV2.SQUAL_CHAR23' || g_newline ||
1862 G_INDENT || ' , ILV2.SQUAL_CHAR24' || g_newline ||
1863 G_INDENT || ' , ILV2.SQUAL_CHAR25' || g_newline ||
1864 G_INDENT || ' , ILV2.SQUAL_CHAR26' || g_newline ||
1865 G_INDENT || ' , ILV2.SQUAL_CHAR27' || g_newline ||
1866 G_INDENT || ' , ILV2.SQUAL_CHAR28' || g_newline ||
1867 G_INDENT || ' , ILV2.SQUAL_CHAR30' || g_newline ||
1868 G_INDENT || ' , ILV2.SQUAL_CHAR31' || g_newline ||
1869 G_INDENT || ' , ILV2.SQUAL_CHAR32' || g_newline ||
1870 G_INDENT || ' , ILV2.SQUAL_CHAR33' || g_newline ||
1871 G_INDENT || ' , ILV2.SQUAL_CHAR34' || g_newline ||
1872 G_INDENT || ' , ILV2.SQUAL_CHAR35' || g_newline ||
1873 G_INDENT || ' , ILV2.SQUAL_CHAR36' || g_newline ||
1874 G_INDENT || ' , ILV2.SQUAL_CHAR37' || g_newline ||
1875 G_INDENT || ' , ILV2.SQUAL_CHAR38' || g_newline ||
1876 G_INDENT || ' , ILV2.SQUAL_CHAR39' || g_newline ||
1877 G_INDENT || ' , ILV2.SQUAL_CHAR40' || g_newline ||
1878 G_INDENT || ' , ILV2.SQUAL_CHAR41' || g_newline ||
1879 G_INDENT || ' , ILV2.SQUAL_CHAR42' || g_newline ||
1880 G_INDENT || ' , ILV2.SQUAL_CHAR43' || g_newline ||
1881 G_INDENT || ' , ILV2.SQUAL_CHAR44' || g_newline ||
1882 G_INDENT || ' , ILV2.SQUAL_CHAR45' || g_newline ||
1883 G_INDENT || ' , ILV2.SQUAL_CHAR46' || g_newline ||
1884 G_INDENT || ' , ILV2.SQUAL_CHAR47' || g_newline ||
1885 G_INDENT || ' , ILV2.SQUAL_CHAR48' || g_newline ||
1886 G_INDENT || ' , ILV2.SQUAL_CHAR49' || g_newline ||
1887 G_INDENT || ' , ILV2.SQUAL_CHAR50' || g_newline ||
1888 G_INDENT || ' , ILV2.SQUAL_CHAR51' || g_newline ||
1889 G_INDENT || ' , ILV2.SQUAL_CHAR52' || g_newline ||
1890 G_INDENT || ' , ILV2.SQUAL_CHAR53' || g_newline ||
1891 G_INDENT || ' , ILV2.SQUAL_CHAR54' || g_newline ||
1892 G_INDENT || ' , ILV2.SQUAL_CHAR55' || g_newline ||
1893 G_INDENT || ' , ILV2.SQUAL_CHAR56' || g_newline ||
1894 G_INDENT || ' , ILV2.SQUAL_CHAR57' || g_newline ||
1895 G_INDENT || ' , ILV2.SQUAL_CHAR58' || g_newline ||
1896 G_INDENT || ' , ILV2.SQUAL_CHAR59' || g_newline ||
1897 G_INDENT || ' , ILV2.SQUAL_CHAR60' || g_newline ||
1898 G_INDENT || ' , ILV2.SQUAL_NUM01' || g_newline ||
1899 G_INDENT || ' , ILV2.SQUAL_NUM02' || g_newline ||
1900 G_INDENT || ' , ILV2.SQUAL_NUM03' || g_newline ||
1901 G_INDENT || ' , ILV2.SQUAL_NUM04' || g_newline ||
1902 G_INDENT || ' , ILV2.SQUAL_NUM05' || g_newline ||
1903 G_INDENT || ' , ILV2.SQUAL_NUM06' || g_newline ||
1904 G_INDENT || ' , ILV2.SQUAL_NUM07' || g_newline ||
1905 G_INDENT || ' , ILV2.SQUAL_NUM08' || g_newline ||
1906 G_INDENT || ' , ILV2.SQUAL_NUM09' || g_newline ||
1907 G_INDENT || ' , ILV2.SQUAL_NUM10' || g_newline ||
1908 G_INDENT || ' , ILV2.SQUAL_NUM11' || g_newline ||
1909 G_INDENT || ' , ILV2.SQUAL_NUM12' || g_newline ||
1910 G_INDENT || ' , ILV2.SQUAL_NUM13' || g_newline ||
1911 G_INDENT || ' , ILV2.SQUAL_NUM14' || g_newline ||
1912 G_INDENT || ' , ILV2.SQUAL_NUM15' || g_newline ||
1913 G_INDENT || ' , ILV2.SQUAL_NUM16' || g_newline ||
1914 G_INDENT || ' , ILV2.SQUAL_NUM17' || g_newline ||
1915 G_INDENT || ' , ILV2.SQUAL_NUM18' || g_newline ||
1916 G_INDENT || ' , ILV2.SQUAL_NUM19' || g_newline ||
1917 G_INDENT || ' , ILV2.SQUAL_NUM20' || g_newline ||
1918 G_INDENT || ' , ILV2.SQUAL_NUM21' || g_newline ||
1919 G_INDENT || ' , ILV2.SQUAL_NUM22' || g_newline ||
1920 G_INDENT || ' , ILV2.SQUAL_NUM23' || g_newline ||
1921 G_INDENT || ' , ILV2.SQUAL_NUM24' || g_newline ||
1922 G_INDENT || ' , ILV2.SQUAL_NUM25' || g_newline ||
1923 G_INDENT || ' , ILV2.SQUAL_NUM26' || g_newline ||
1924 G_INDENT || ' , ILV2.SQUAL_NUM27' || g_newline ||
1925 G_INDENT || ' , ILV2.SQUAL_NUM28' || g_newline ||
1926 G_INDENT || ' , ILV2.SQUAL_NUM29' || g_newline ||
1927 G_INDENT || ' , ILV2.SQUAL_NUM30' || g_newline ||
1928 G_INDENT || ' , ILV2.SQUAL_NUM31' || g_newline ||
1929 G_INDENT || ' , ILV2.SQUAL_NUM32' || g_newline ||
1930 G_INDENT || ' , ILV2.SQUAL_NUM33' || g_newline ||
1931 G_INDENT || ' , ILV2.SQUAL_NUM34' || g_newline ||
1932 G_INDENT || ' , ILV2.SQUAL_NUM35' || g_newline ||
1933 G_INDENT || ' , ILV2.SQUAL_NUM36' || g_newline ||
1934 G_INDENT || ' , ILV2.SQUAL_NUM37' || g_newline ||
1935 G_INDENT || ' , ILV2.SQUAL_NUM38' || g_newline ||
1936 G_INDENT || ' , ILV2.SQUAL_NUM39' || g_newline ||
1937 G_INDENT || ' , ILV2.SQUAL_NUM40' || g_newline ||
1938 G_INDENT || ' , ILV2.SQUAL_NUM41' || g_newline ||
1939 G_INDENT || ' , ILV2.SQUAL_NUM42' || g_newline ||
1940 G_INDENT || ' , ILV2.SQUAL_NUM43' || g_newline ||
1941 G_INDENT || ' , ILV2.SQUAL_NUM44' || g_newline ||
1942 G_INDENT || ' , ILV2.SQUAL_NUM45' || g_newline ||
1943 G_INDENT || ' , ILV2.SQUAL_NUM46' || g_newline ||
1944 G_INDENT || ' , ILV2.SQUAL_NUM47' || g_newline ||
1945 G_INDENT || ' , ILV2.SQUAL_NUM48' || g_newline ||
1946 G_INDENT || ' , ILV2.SQUAL_NUM49' || g_newline ||
1947 G_INDENT || ' , ILV2.SQUAL_NUM50' || g_newline ||
1948 G_INDENT || ' , ILV2.SQUAL_NUM51' || g_newline ||
1949 G_INDENT || ' , ILV2.SQUAL_NUM52' || g_newline ||
1950 G_INDENT || ' , ILV2.SQUAL_NUM53' || g_newline ||
1951 G_INDENT || ' , ILV2.SQUAL_NUM54' || g_newline ||
1952 G_INDENT || ' , ILV2.SQUAL_NUM55' || g_newline ||
1953 G_INDENT || ' , ILV2.SQUAL_NUM56' || g_newline ||
1954 G_INDENT || ' , ILV2.SQUAL_NUM57' || g_newline ||
1955 G_INDENT || ' , ILV2.SQUAL_NUM58' || g_newline ||
1956 G_INDENT || ' , ILV2.SQUAL_NUM59' || g_newline ||
1957 G_INDENT || ' , ILV2.SQUAL_NUM60' || g_newline ||
1958 G_INDENT || ' , ILV2.ASSIGNED_FLAG' || g_newline ||
1959 G_INDENT || ' , ILV2.PROCESSED_FLAG' || g_newline ||
1960 G_INDENT || ' , ILV2.ORG_ID' || g_newline ||
1961 G_INDENT || ' , ILV2.SECURITY_GROUP_ID' || g_newline ||
1962 G_INDENT || ' , ILV2.OBJECT_VERSION_NUMBER' || g_newline ||
1963 G_INDENT || ' , ILV2.WORKER_ID' || g_newline ||
1964 G_INDENT || ' , ILV2.TERR_ID' || g_newline ||
1965 G_INDENT || ' , ILV2.ABSOLUTE_RANK' || g_newline ||
1966 G_INDENT || ' , ILV2.TOP_LEVEL_TERR_ID' || g_newline ||
1967 G_INDENT || ' , ILV2.NUM_WINNERS' || g_newline ||
1968 G_INDENT || ' FROM '|| g_newline;
1969 ELSE
1970 RETURN
1971 G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) ' || g_newline ||
1972 G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
1973 G_INDENT || ' ILV2.trans_object_id' || g_newline ||
1974 G_INDENT || ' , ILV2.trans_detail_object_id' || g_newline ||
1975 -- eihsu 06/19/2003 worker_id
1976 G_INDENT || ' , ILV2.worker_id' || g_newline ||
1977 G_INDENT || ' , ILV2.header_id1' || g_newline ||
1978 G_INDENT || ' , ILV2.header_id2' || g_newline ||
1979 G_INDENT || ' , ILV2.terr_id' || g_newline ||
1980 G_INDENT || ' , ILV2.absolute_rank' || g_newline ||
1981 G_INDENT || ' , ILV2.top_level_terr_id' || g_newline ||
1982 G_INDENT || ' , ILV2.num_winners' || g_newline ||
1983 G_INDENT || ' , ILV2.org_id' || g_newline ||
1984 G_INDENT || ' FROM '|| g_newline; --||
1985 END IF;
1986 END EXP_PURCHASE_UNION_SELECT;
1987
1988
1989 --** OPPORTUNITY PRODUCT CATEGORY + Country + Postal Code ***
1990 FUNCTION add_934313_SQL( p_trans_object_type_id IN NUMBER
1991 , p_table_name IN VARCHAR2
1992 -- dblee 08/26/03 added new mode flag
1993 , p_new_mode_fetch IN CHAR)
1994 RETURN VARCHAR2 AS
1995
1996 lp_close_outermost_ILV VARCHAR2(255);
1997 l_select_ilv2 VARCHAR2(32767) := NULL;
1998 lp_SELECT_cols VARCHAR2(32767) := NULL;
1999 lx_934313_sql VARCHAR2(32767) := NULL;
2000 lx_934313_sql_2 VARCHAR2(32767) := NULL;
2001 lx_934313_sql_3 VARCHAR2(32767) := NULL;
2002 lx_934313_sql_4 VARCHAR2(32767) := NULL;
2003 lx_934313_sql_5 VARCHAR2(32767) := NULL;
2004 lx_934313_sql_6 VARCHAR2(32767) := NULL;
2005
2006 lp_pc_cntry_predicate VARCHAR2(32767) := NULL;
2007 l_sql VARCHAR2(32767) := NULL;
2008
2009 BEGIN
2010 --** OPPORTUNITY EXPECTED PURCHASE + Country + Postal Code ***
2011
2012 -- dblee: 08/27/03 new mode support
2013 IF p_new_mode_fetch = 'Y' THEN
2014 l_select_ilv2 := add_SELECT_clause(p_new_mode_fetch);
2015
2016 lp_SELECT_cols :=
2017 --G_INDENT5 || add_SELECT_cols(p_new_mode_fetch) || g_newline;
2018 /* ARPATEL: bug#3373462 */
2019 G_INDENT || ' A.TRANS_OBJECT_ID' || g_newline ||
2020 G_INDENT || ' , A.TRANS_DETAIL_OBJECT_ID' || g_newline ||
2021 G_INDENT || ' , A.HEADER_ID1' || g_newline ||
2022 G_INDENT || ' , A.HEADER_ID2' || g_newline ||
2023 G_INDENT || ' , A.SQUAL_FC01' || g_newline ||
2024 G_INDENT || ' , A.SQUAL_FC02' || g_newline ||
2025 G_INDENT || ' , A.SQUAL_FC03' || g_newline ||
2026 G_INDENT || ' , A.SQUAL_FC04' || g_newline ||
2027 G_INDENT || ' , A.SQUAL_FC05' || g_newline ||
2028 G_INDENT || ' , A.SQUAL_CURC01' || g_newline ||
2029 G_INDENT || ' , A.SQUAL_CURC02' || g_newline ||
2030 G_INDENT || ' , A.SQUAL_CURC03' || g_newline ||
2031 G_INDENT || ' , A.SQUAL_CURC04' || g_newline ||
2032 G_INDENT || ' , A.SQUAL_CURC05' || g_newline ||
2033 G_INDENT || ' , A.SQUAL_CURC06' || g_newline ||
2034 G_INDENT || ' , A.SQUAL_CURC07' || g_newline ||
2035 G_INDENT || ' , A.SQUAL_CURC08' || g_newline ||
2036 G_INDENT || ' , A.SQUAL_CURC09' || g_newline ||
2037 G_INDENT || ' , A.SQUAL_CURC10' || g_newline ||
2038 G_INDENT || ' , A.SQUAL_CHAR01' || g_newline ||
2039 G_INDENT || ' , A.SQUAL_CHAR02' || g_newline ||
2040 G_INDENT || ' , A.SQUAL_CHAR03' || g_newline ||
2041 G_INDENT || ' , A.SQUAL_CHAR04' || g_newline ||
2042 G_INDENT || ' , A.SQUAL_CHAR05' || g_newline ||
2043 G_INDENT || ' , A.SQUAL_CHAR06' || g_newline ||
2044 G_INDENT || ' , A.SQUAL_CHAR07' || g_newline ||
2045 G_INDENT || ' , A.SQUAL_CHAR08' || g_newline ||
2046 G_INDENT || ' , A.SQUAL_CHAR09' || g_newline ||
2047 G_INDENT || ' , A.SQUAL_CHAR10' || g_newline ||
2048 G_INDENT || ' , A.SQUAL_CHAR11' || g_newline ||
2049 G_INDENT || ' , A.SQUAL_CHAR12' || g_newline ||
2050 G_INDENT || ' , A.SQUAL_CHAR13' || g_newline ||
2051 G_INDENT || ' , A.SQUAL_CHAR14' || g_newline ||
2052 G_INDENT || ' , A.SQUAL_CHAR15' || g_newline ||
2053 G_INDENT || ' , A.SQUAL_CHAR16' || g_newline ||
2054 G_INDENT || ' , A.SQUAL_CHAR17' || g_newline ||
2055 G_INDENT || ' , A.SQUAL_CHAR18' || g_newline ||
2056 G_INDENT || ' , A.SQUAL_CHAR19' || g_newline ||
2057 G_INDENT || ' , A.SQUAL_CHAR20' || g_newline ||
2058 G_INDENT || ' , A.SQUAL_CHAR21' || g_newline ||
2059 G_INDENT || ' , A.SQUAL_CHAR22' || g_newline ||
2060 G_INDENT || ' , A.SQUAL_CHAR23' || g_newline ||
2061 G_INDENT || ' , A.SQUAL_CHAR24' || g_newline ||
2062 G_INDENT || ' , A.SQUAL_CHAR25' || g_newline ||
2063 G_INDENT || ' , A.SQUAL_CHAR26' || g_newline ||
2064 G_INDENT || ' , A.SQUAL_CHAR27' || g_newline ||
2065 G_INDENT || ' , A.SQUAL_CHAR28' || g_newline ||
2066 G_INDENT || ' , A.SQUAL_CHAR30' || g_newline ||
2067 G_INDENT || ' , A.SQUAL_CHAR31' || g_newline ||
2068 G_INDENT || ' , A.SQUAL_CHAR32' || g_newline ||
2069 G_INDENT || ' , A.SQUAL_CHAR33' || g_newline ||
2070 G_INDENT || ' , A.SQUAL_CHAR34' || g_newline ||
2071 G_INDENT || ' , A.SQUAL_CHAR35' || g_newline ||
2072 G_INDENT || ' , A.SQUAL_CHAR36' || g_newline ||
2073 G_INDENT || ' , A.SQUAL_CHAR37' || g_newline ||
2074 G_INDENT || ' , A.SQUAL_CHAR38' || g_newline ||
2075 G_INDENT || ' , A.SQUAL_CHAR39' || g_newline ||
2076 G_INDENT || ' , A.SQUAL_CHAR40' || g_newline ||
2077 G_INDENT || ' , A.SQUAL_CHAR41' || g_newline ||
2078 G_INDENT || ' , A.SQUAL_CHAR42' || g_newline ||
2079 G_INDENT || ' , A.SQUAL_CHAR43' || g_newline ||
2080 G_INDENT || ' , A.SQUAL_CHAR44' || g_newline ||
2081 G_INDENT || ' , A.SQUAL_CHAR45' || g_newline ||
2082 G_INDENT || ' , A.SQUAL_CHAR46' || g_newline ||
2083 G_INDENT || ' , A.SQUAL_CHAR47' || g_newline ||
2084 G_INDENT || ' , A.SQUAL_CHAR48' || g_newline ||
2085 G_INDENT || ' , A.SQUAL_CHAR49' || g_newline ||
2086 G_INDENT || ' , A.SQUAL_CHAR50' || g_newline ||
2087 G_INDENT || ' , A.SQUAL_CHAR51' || g_newline ||
2088 G_INDENT || ' , A.SQUAL_CHAR52' || g_newline ||
2089 G_INDENT || ' , A.SQUAL_CHAR53' || g_newline ||
2090 G_INDENT || ' , A.SQUAL_CHAR54' || g_newline ||
2091 G_INDENT || ' , A.SQUAL_CHAR55' || g_newline ||
2092 G_INDENT || ' , A.SQUAL_CHAR56' || g_newline ||
2093 G_INDENT || ' , A.SQUAL_CHAR57' || g_newline ||
2094 G_INDENT || ' , A.SQUAL_CHAR58' || g_newline ||
2095 G_INDENT || ' , A.SQUAL_CHAR59' || g_newline ||
2096 G_INDENT || ' , A.SQUAL_CHAR60' || g_newline ||
2097 G_INDENT || ' , A.SQUAL_NUM01' || g_newline ||
2098 G_INDENT || ' , A.SQUAL_NUM02' || g_newline ||
2099 G_INDENT || ' , A.SQUAL_NUM03' || g_newline ||
2100 G_INDENT || ' , A.SQUAL_NUM04' || g_newline ||
2101 G_INDENT || ' , A.SQUAL_NUM05' || g_newline ||
2102 G_INDENT || ' , A.SQUAL_NUM06' || g_newline ||
2103 G_INDENT || ' , A.SQUAL_NUM07' || g_newline ||
2104 G_INDENT || ' , A.SQUAL_NUM08' || g_newline ||
2105 G_INDENT || ' , A.SQUAL_NUM09' || g_newline ||
2106 G_INDENT || ' , A.SQUAL_NUM10' || g_newline ||
2107 G_INDENT || ' , A.SQUAL_NUM11' || g_newline ||
2108 G_INDENT || ' , A.SQUAL_NUM12' || g_newline ||
2109 G_INDENT || ' , A.SQUAL_NUM13' || g_newline ||
2110 G_INDENT || ' , A.SQUAL_NUM14' || g_newline ||
2111 G_INDENT || ' , A.SQUAL_NUM15' || g_newline ||
2112 G_INDENT || ' , A.SQUAL_NUM16' || g_newline ||
2113 G_INDENT || ' , A.SQUAL_NUM17' || g_newline ||
2114 G_INDENT || ' , A.SQUAL_NUM18' || g_newline ||
2115 G_INDENT || ' , A.SQUAL_NUM19' || g_newline ||
2116 G_INDENT || ' , A.SQUAL_NUM20' || g_newline ||
2117 G_INDENT || ' , A.SQUAL_NUM21' || g_newline ||
2118 G_INDENT || ' , A.SQUAL_NUM22' || g_newline ||
2119 G_INDENT || ' , A.SQUAL_NUM23' || g_newline ||
2120 G_INDENT || ' , A.SQUAL_NUM24' || g_newline ||
2121 G_INDENT || ' , A.SQUAL_NUM25' || g_newline ||
2122 G_INDENT || ' , A.SQUAL_NUM26' || g_newline ||
2123 G_INDENT || ' , A.SQUAL_NUM27' || g_newline ||
2124 G_INDENT || ' , A.SQUAL_NUM28' || g_newline ||
2125 G_INDENT || ' , A.SQUAL_NUM29' || g_newline ||
2126 G_INDENT || ' , A.SQUAL_NUM30' || g_newline ||
2127 G_INDENT || ' , A.SQUAL_NUM31' || g_newline ||
2128 G_INDENT || ' , A.SQUAL_NUM32' || g_newline ||
2129 G_INDENT || ' , A.SQUAL_NUM33' || g_newline ||
2130 G_INDENT || ' , A.SQUAL_NUM34' || g_newline ||
2131 G_INDENT || ' , A.SQUAL_NUM35' || g_newline ||
2132 G_INDENT || ' , A.SQUAL_NUM36' || g_newline ||
2133 G_INDENT || ' , A.SQUAL_NUM37' || g_newline ||
2134 G_INDENT || ' , A.SQUAL_NUM38' || g_newline ||
2135 G_INDENT || ' , A.SQUAL_NUM39' || g_newline ||
2136 G_INDENT || ' , A.SQUAL_NUM40' || g_newline ||
2137 G_INDENT || ' , A.SQUAL_NUM41' || g_newline ||
2138 G_INDENT || ' , A.SQUAL_NUM42' || g_newline ||
2139 G_INDENT || ' , A.SQUAL_NUM43' || g_newline ||
2140 G_INDENT || ' , A.SQUAL_NUM44' || g_newline ||
2141 G_INDENT || ' , A.SQUAL_NUM45' || g_newline ||
2142 G_INDENT || ' , A.SQUAL_NUM46' || g_newline ||
2143 G_INDENT || ' , A.SQUAL_NUM47' || g_newline ||
2144 G_INDENT || ' , A.SQUAL_NUM48' || g_newline ||
2145 G_INDENT || ' , A.SQUAL_NUM49' || g_newline ||
2146 G_INDENT || ' , A.SQUAL_NUM50' || g_newline ||
2147 G_INDENT || ' , A.SQUAL_NUM51' || g_newline ||
2148 G_INDENT || ' , A.SQUAL_NUM52' || g_newline ||
2149 G_INDENT || ' , A.SQUAL_NUM53' || g_newline ||
2150 G_INDENT || ' , A.SQUAL_NUM54' || g_newline ||
2151 G_INDENT || ' , A.SQUAL_NUM55' || g_newline ||
2152 G_INDENT || ' , A.SQUAL_NUM56' || g_newline ||
2153 G_INDENT || ' , A.SQUAL_NUM57' || g_newline ||
2154 G_INDENT || ' , A.SQUAL_NUM58' || g_newline ||
2155 G_INDENT || ' , A.SQUAL_NUM59' || g_newline ||
2156 G_INDENT || ' , A.SQUAL_NUM60' || g_newline ||
2157 G_INDENT || ' , A.ASSIGNED_FLAG' || g_newline ||
2158 G_INDENT || ' , A.PROCESSED_FLAG' || g_newline ||
2159 G_INDENT || ' , A.ORG_ID' || g_newline ||
2160 G_INDENT || ' , A.SECURITY_GROUP_ID' || g_newline ||
2161 G_INDENT || ' , A.OBJECT_VERSION_NUMBER' || g_newline ||
2162 G_INDENT || ' , A.WORKER_ID' || g_newline ||
2163 G_INDENT || ' , ILV.terr_id ' || g_newline ||
2164 G_INDENT || ' , ILV.absolute_rank ' || g_newline ||
2165 G_INDENT || ' , ILV.top_level_terr_id '|| g_newline ||
2166 G_INDENT || ' , ILV.num_winners ' || g_newline;
2167
2168
2169 lp_close_outermost_ILV := ') A; -- jtf_tae_sql_lib_pvt_nm826 line 841 ';
2170 ELSE
2171 l_select_ilv2 :=
2172 G_INDENT5 || 'SELECT DISTINCT ' || g_newline ||
2173 G_INDENT5 ||'ILV2.trans_object_id' || g_newline ||
2174 G_INDENT5 ||', ILV2.trans_detail_object_id' || g_newline ||
2175 -- eihsu 06/19/2003 worker_id
2176 G_INDENT5 ||', ILV2.worker_id' || g_newline ||
2177 G_INDENT5 ||',ILV2.header_id1' || g_newline ||
2178 G_INDENT5 ||',ILV2.header_id2' || g_newline ||
2179 G_INDENT5 ||', p_source_id' || g_newline ||
2180 G_INDENT5 ||', p_trans_object_type_id' || g_newline ||
2181 G_INDENT5 ||', l_sysdate' || g_newline ||
2182 G_INDENT5 ||', L_USER_ID' || g_newline ||
2183 G_INDENT5 ||', l_sysdate' || g_newline ||
2184 G_INDENT5 ||', L_USER_ID' || g_newline ||
2185 G_INDENT5 ||', L_USER_ID' || g_newline ||
2186 G_INDENT5 ||', L_REQUEST_ID' || g_newline ||
2187 G_INDENT5 ||', L_PROGRAM_APPL_ID' || g_newline ||
2188 G_INDENT5 ||', L_PROGRAM_ID' || g_newline ||
2189 G_INDENT5 ||', l_sysdate' || g_newline ||
2190 G_INDENT5 ||', ILV2.terr_id' || g_newline ||
2191 G_INDENT5 ||', ILV2.absolute_rank' || g_newline ||
2192 G_INDENT5 ||', ILV2.top_level_terr_id' || g_newline ||
2193 G_INDENT5 ||', ILV2.num_winners' || g_newline ||
2194 G_INDENT5 ||', ILV2.org_id' || g_newline ;
2195
2196 lp_SELECT_cols :=
2197 G_INDENT5 || 'A.trans_object_id, A.trans_detail_object_id, ' || g_newline ||
2198 -- eihsu 06/19/2003 worker_id
2199 G_INDENT5 || 'A.worker_id, ' || g_newline ||
2200 G_INDENT5 || 'A.header_id1, A.header_id2, ' || g_newline ||
2201 G_INDENT5 || 'ILV.terr_id, ILV.absolute_rank, ' || g_newline ||
2202 G_INDENT5 || 'ILV.top_level_terr_id, ILV.num_winners, ILV.org_id ';
2203
2204 lp_close_outermost_ILV := ') ILV2; ';
2205 END IF; -- p_new_mode_fetch = 'Y'
2206
2207 lp_pc_cntry_predicate := ' 1 = 1 ' || g_newline;
2208
2209 IF p_new_mode_fetch <> 'Y' THEN
2210 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
2211 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
2212 END IF;
2213
2214 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
2215 G_INDENT5 || ' AND ( ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
2216 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
2217 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
2218 G_INDENT5 || ' OR ' || g_newline ||
2219 G_INDENT5 || ' ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
2220 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
2221 G_INDENT5 || ' ) ' || g_newline ||
2222 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
2223 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
2224 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
2225 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
2226 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
2227 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
2228 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
2229
2230 --ARPATEL 10/14 bug#3207518
2231 JTF_TAE_GEN_PVT.write_buffer_content(
2232 l_qual_rules => l_select_ilv2
2233 );
2234
2235 --bug#3373462 ARPATEL: 01/30/2004
2236 JTF_TAE_GEN_PVT.write_buffer_content(
2237 G_INDENT5 || 'FROM ( ' || g_newline || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
2238 );
2239
2240 lx_934313_sql :=
2241 -- G_INDENT || l_select_ilv2 || g_newline ||
2242 -- G_INDENT || 'FROM ( ' || g_newline ||
2243 -- G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) ' || g_newline ||
2244 -- G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
2245 -- G_INDENT || ' ILV2.trans_object_id' || g_newline ||
2246 -- G_INDENT || ' , ILV2.trans_detail_object_id' || g_newline ||
2247 -- eihsu 06/19/2003 worker_id
2248 -- G_INDENT || ' , ILV2.worker_id' || g_newline ||
2249 -- G_INDENT || ' , ILV2.header_id1' || g_newline ||
2250 -- G_INDENT || ' , ILV2.header_id2' || g_newline ||
2251 -- G_INDENT || ' , ILV2.terr_id' || g_newline ||
2252 -- G_INDENT || ' , ILV2.absolute_rank' || g_newline ||
2253 -- G_INDENT || ' , ILV2.top_level_terr_id' || g_newline ||
2254 -- G_INDENT || ' , ILV2.num_winners' || g_newline ||
2255 -- G_INDENT || ' , ILV2.org_id' || g_newline ||
2256 -- G_INDENT || ' FROM'|| g_newline ||
2257 /************************/
2258 /* = ILV1 */
2259 /************************/
2260 G_INDENT5 || '( /* INLINE VIEW1 */' || g_newline ||
2261 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
2262 G_INDENT5 || ' USE_NL(ILV Q1142R1 ALLP) ' || g_newline ||
2263 G_INDENT5 || ' INDEX(ALLP AS_LEAD_LINES_N2)' || g_newline ||
2264 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
2265 G_INDENT5 || ' */ ' || g_newline ||
2266 G_INDENT5 || ' ALLP.lead_id' || g_newline ||
2267 G_INDENT5 || ' , ALLP.lead_line_id' || g_newline ||
2268 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
2269 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
2270 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
2271 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
2272 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
2273 G_INDENT5 || ' FROM AS_LEAD_LINES ALLP, eni_prod_denorm_hrchy_v prd, ' || g_newline ||
2274 G_INDENT5 || ' jtf_terr_qual_rules_mv Q1142R1, ' || g_newline ||
2275
2276 /* STATIC INLINE VIEW */
2277 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch) ||
2278
2279 G_INDENT5 || ' WHERE ( Q1142R1.qual_usg_id = -1142 AND Q1142R1.terr_id = ILV.terr_id )' || g_newline ||
2280 G_INDENT5 || ' AND Q1142R1.value1_id = PRD.child_id ' || g_newline ||
2281 G_INDENT5 || ' AND Q1142R1.value2_id = PRD.category_set_id ' || g_newline ||
2282 G_INDENT5 || ' AND PRD.parent_id = ALLP.product_category_id ' || g_newline ||
2283 G_INDENT5 || ' AND PRD.category_set_id = ALLP.product_cat_set_id ' || g_newline ||
2284 G_INDENT5 || ' AND Q1142R1.comparison_operator = ''=''' || g_newline ||
2285 G_INDENT5 || ' ) ILV1,' || g_newline ||
2286
2287 /************************/
2288 /* = XYZ ILV2 */
2289 /************************/
2290 G_INDENT5 || ' ( ' || g_newline ||
2291 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
2292 G_INDENT5 || ' NO_MERGE ' || g_newline ||
2293 G_INDENT5 || ' ORDERED ' || g_newline ||
2294 G_INDENT5 || ' USE_CONCAT ' || g_newline;
2295
2296 IF p_new_mode_fetch <> 'Y' THEN
2297 lx_934313_sql := lx_934313_sql ||
2298 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 A) ' || g_newline ||
2299 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
2300 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
2301 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
2302 '_4841_ND)' || g_newline ||
2303
2304 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
2305 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline;
2306 END IF;
2307
2308 lx_934313_sql := lx_934313_sql ||
2309 G_INDENT5 || ' */ ' || g_newline ; --||
2310
2311 /* Add SELECT columns */
2312 JTF_TAE_GEN_PVT.write_buffer_content(
2313 l_qual_rules => lx_934313_sql
2314 );
2315 --lp_SELECT_cols || g_newline ; ||
2316
2317 JTF_TAE_GEN_PVT.write_buffer_content(
2318 l_qual_rules => lp_SELECT_cols || g_newline
2319 );
2320
2321 lx_934313_sql_2 :=
2322 G_INDENT5 || 'FROM ';
2323
2324 IF p_new_mode_fetch = 'Y' THEN
2325 lx_934313_sql_2 := lx_934313_sql_2 ||
2326 /* STATIC INLINE VIEW */
2327 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
2328 ELSE
2329 lx_934313_sql_2 := lx_934313_sql_2 ||
2330 /* STATIC INLINE VIEW */
2331 add_ILV(l_sql, p_new_mode_fetch);
2332 END IF;
2333
2334 lx_934313_sql_2 := lx_934313_sql_2 ||
2335 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
2336 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
2337
2338 /* DYNAMIC BASED ON TRANSACTION TYPE */
2339 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
2340
2341 G_INDENT5 || 'WHERE ' || g_newline ||
2342
2343 lp_pc_cntry_predicate || g_newline ||
2344 G_INDENT5 || ') ILV2' || g_newline ||
2345 G_INDENT5 || 'WHERE ILV1.terr_id = ILV2.terr_id' || g_newline ||
2346 G_INDENT5 || 'AND ILV1.lead_id = ILV2.trans_object_id' || g_newline ||
2347 G_INDENT || lp_close_outermost_ILV || g_newline;
2348
2349 RETURN lx_934313_sql_2;
2350
2351 EXCEPTION
2352 WHEN OTHERS THEN
2353 g_ProgramStatus := 1;
2354 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_934313_SQL');
2355
2356 END add_934313_SQL;
2357
2358
2359 --** OPPORTUNITY PRODUCT CATEGORY + CNR + Country + Postal Code ***
2360 FUNCTION add_62598971_SQL( p_trans_object_type_id IN NUMBER
2361 , p_table_name IN VARCHAR2
2362 -- dblee 08/26/03 added new mode flag
2363 , p_new_mode_fetch IN CHAR)
2364 RETURN VARCHAR2 AS
2365
2366 lp_close_outermost_ILV VARCHAR2(255);
2367 l_select_ilv2 VARCHAR2(32767) := NULL;
2368 lp_SELECT_cols VARCHAR2(32767) := NULL;
2369 lx_62598971_sql VARCHAR2(32767) := NULL;
2370 --ARPATEL
2371 lx_62598971_sql_2 VARCHAR2(32767) := NULL;
2372 lx_62598971_sql_3 VARCHAR2(32767) := NULL;
2373 lx_62598971_sql_4 VARCHAR2(32767) := NULL;
2374 lx_62598971_sql_5 VARCHAR2(32767) := NULL;
2375 lx_62598971_sql_6 VARCHAR2(32767) := NULL;
2376
2377 lp_pc_cntry_predicate_eq VARCHAR2(32767) := NULL;
2378 lp_pc_cntry_predicate VARCHAR2(32767) := NULL;
2379 lp_pc_cntry_predicate_btwn VARCHAR2(32767) := NULL;
2380 l_sql VARCHAR2(32767) := NULL;
2381
2382 BEGIN
2383 --** OPPORTUNITY EXPECTED PURCHASE + CNR + Country + Postal Code ***
2384
2385 -- dblee: 08/27/03 new mode support
2386 IF p_new_mode_fetch = 'Y' THEN
2387 l_select_ilv2 := add_SELECT_clause(p_new_mode_fetch);
2388
2389 lp_SELECT_cols :=
2390 --G_INDENT5 || add_SELECT_cols(p_new_mode_fetch) || g_newline;
2391 /* ARPATEL: bug#3373462 */
2392 G_INDENT || ' A.TRANS_OBJECT_ID' || g_newline ||
2393 G_INDENT || ' , A.TRANS_DETAIL_OBJECT_ID' || g_newline ||
2394 G_INDENT || ' , A.HEADER_ID1' || g_newline ||
2395 G_INDENT || ' , A.HEADER_ID2' || g_newline ||
2396 G_INDENT || ' , A.SQUAL_FC01' || g_newline ||
2397 G_INDENT || ' , A.SQUAL_FC02' || g_newline ||
2398 G_INDENT || ' , A.SQUAL_FC03' || g_newline ||
2399 G_INDENT || ' , A.SQUAL_FC04' || g_newline ||
2400 G_INDENT || ' , A.SQUAL_FC05' || g_newline ||
2401 G_INDENT || ' , A.SQUAL_CURC01' || g_newline ||
2402 G_INDENT || ' , A.SQUAL_CURC02' || g_newline ||
2403 G_INDENT || ' , A.SQUAL_CURC03' || g_newline ||
2404 G_INDENT || ' , A.SQUAL_CURC04' || g_newline ||
2405 G_INDENT || ' , A.SQUAL_CURC05' || g_newline ||
2406 G_INDENT || ' , A.SQUAL_CURC06' || g_newline ||
2407 G_INDENT || ' , A.SQUAL_CURC07' || g_newline ||
2408 G_INDENT || ' , A.SQUAL_CURC08' || g_newline ||
2409 G_INDENT || ' , A.SQUAL_CURC09' || g_newline ||
2410 G_INDENT || ' , A.SQUAL_CURC10' || g_newline ||
2411 G_INDENT || ' , A.SQUAL_CHAR01' || g_newline ||
2412 G_INDENT || ' , A.SQUAL_CHAR02' || g_newline ||
2413 G_INDENT || ' , A.SQUAL_CHAR03' || g_newline ||
2414 G_INDENT || ' , A.SQUAL_CHAR04' || g_newline ||
2415 G_INDENT || ' , A.SQUAL_CHAR05' || g_newline ||
2416 G_INDENT || ' , A.SQUAL_CHAR06' || g_newline ||
2417 G_INDENT || ' , A.SQUAL_CHAR07' || g_newline ||
2418 G_INDENT || ' , A.SQUAL_CHAR08' || g_newline ||
2419 G_INDENT || ' , A.SQUAL_CHAR09' || g_newline ||
2420 G_INDENT || ' , A.SQUAL_CHAR10' || g_newline ||
2421 G_INDENT || ' , A.SQUAL_CHAR11' || g_newline ||
2422 G_INDENT || ' , A.SQUAL_CHAR12' || g_newline ||
2423 G_INDENT || ' , A.SQUAL_CHAR13' || g_newline ||
2424 G_INDENT || ' , A.SQUAL_CHAR14' || g_newline ||
2425 G_INDENT || ' , A.SQUAL_CHAR15' || g_newline ||
2426 G_INDENT || ' , A.SQUAL_CHAR16' || g_newline ||
2427 G_INDENT || ' , A.SQUAL_CHAR17' || g_newline ||
2428 G_INDENT || ' , A.SQUAL_CHAR18' || g_newline ||
2429 G_INDENT || ' , A.SQUAL_CHAR19' || g_newline ||
2430 G_INDENT || ' , A.SQUAL_CHAR20' || g_newline ||
2431 G_INDENT || ' , A.SQUAL_CHAR21' || g_newline ||
2432 G_INDENT || ' , A.SQUAL_CHAR22' || g_newline ||
2433 G_INDENT || ' , A.SQUAL_CHAR23' || g_newline ||
2434 G_INDENT || ' , A.SQUAL_CHAR24' || g_newline ||
2435 G_INDENT || ' , A.SQUAL_CHAR25' || g_newline ||
2436 G_INDENT || ' , A.SQUAL_CHAR26' || g_newline ||
2437 G_INDENT || ' , A.SQUAL_CHAR27' || g_newline ||
2438 G_INDENT || ' , A.SQUAL_CHAR28' || g_newline ||
2439 G_INDENT || ' , A.SQUAL_CHAR30' || g_newline ||
2440 G_INDENT || ' , A.SQUAL_CHAR31' || g_newline ||
2441 G_INDENT || ' , A.SQUAL_CHAR32' || g_newline ||
2442 G_INDENT || ' , A.SQUAL_CHAR33' || g_newline ||
2443 G_INDENT || ' , A.SQUAL_CHAR34' || g_newline ||
2444 G_INDENT || ' , A.SQUAL_CHAR35' || g_newline ||
2445 G_INDENT || ' , A.SQUAL_CHAR36' || g_newline ||
2446 G_INDENT || ' , A.SQUAL_CHAR37' || g_newline ||
2447 G_INDENT || ' , A.SQUAL_CHAR38' || g_newline ||
2448 G_INDENT || ' , A.SQUAL_CHAR39' || g_newline ||
2449 G_INDENT || ' , A.SQUAL_CHAR40' || g_newline ||
2450 G_INDENT || ' , A.SQUAL_CHAR41' || g_newline ||
2451 G_INDENT || ' , A.SQUAL_CHAR42' || g_newline ||
2452 G_INDENT || ' , A.SQUAL_CHAR43' || g_newline ||
2453 G_INDENT || ' , A.SQUAL_CHAR44' || g_newline ||
2454 G_INDENT || ' , A.SQUAL_CHAR45' || g_newline ||
2455 G_INDENT || ' , A.SQUAL_CHAR46' || g_newline ||
2456 G_INDENT || ' , A.SQUAL_CHAR47' || g_newline ||
2457 G_INDENT || ' , A.SQUAL_CHAR48' || g_newline ||
2458 G_INDENT || ' , A.SQUAL_CHAR49' || g_newline ||
2459 G_INDENT || ' , A.SQUAL_CHAR50' || g_newline ||
2460 G_INDENT || ' , A.SQUAL_CHAR51' || g_newline ||
2461 G_INDENT || ' , A.SQUAL_CHAR52' || g_newline ||
2462 G_INDENT || ' , A.SQUAL_CHAR53' || g_newline ||
2463 G_INDENT || ' , A.SQUAL_CHAR54' || g_newline ||
2464 G_INDENT || ' , A.SQUAL_CHAR55' || g_newline ||
2465 G_INDENT || ' , A.SQUAL_CHAR56' || g_newline ||
2466 G_INDENT || ' , A.SQUAL_CHAR57' || g_newline ||
2467 G_INDENT || ' , A.SQUAL_CHAR58' || g_newline ||
2468 G_INDENT || ' , A.SQUAL_CHAR59' || g_newline ||
2469 G_INDENT || ' , A.SQUAL_CHAR60' || g_newline ||
2470 G_INDENT || ' , A.SQUAL_NUM01' || g_newline ||
2471 G_INDENT || ' , A.SQUAL_NUM02' || g_newline ||
2472 G_INDENT || ' , A.SQUAL_NUM03' || g_newline ||
2473 G_INDENT || ' , A.SQUAL_NUM04' || g_newline ||
2474 G_INDENT || ' , A.SQUAL_NUM05' || g_newline ||
2475 G_INDENT || ' , A.SQUAL_NUM06' || g_newline ||
2476 G_INDENT || ' , A.SQUAL_NUM07' || g_newline ||
2477 G_INDENT || ' , A.SQUAL_NUM08' || g_newline ||
2478 G_INDENT || ' , A.SQUAL_NUM09' || g_newline ||
2479 G_INDENT || ' , A.SQUAL_NUM10' || g_newline ||
2480 G_INDENT || ' , A.SQUAL_NUM11' || g_newline ||
2481 G_INDENT || ' , A.SQUAL_NUM12' || g_newline ||
2482 G_INDENT || ' , A.SQUAL_NUM13' || g_newline ||
2483 G_INDENT || ' , A.SQUAL_NUM14' || g_newline ||
2484 G_INDENT || ' , A.SQUAL_NUM15' || g_newline ||
2485 G_INDENT || ' , A.SQUAL_NUM16' || g_newline ||
2486 G_INDENT || ' , A.SQUAL_NUM17' || g_newline ||
2487 G_INDENT || ' , A.SQUAL_NUM18' || g_newline ||
2488 G_INDENT || ' , A.SQUAL_NUM19' || g_newline ||
2489 G_INDENT || ' , A.SQUAL_NUM20' || g_newline ||
2490 G_INDENT || ' , A.SQUAL_NUM21' || g_newline ||
2491 G_INDENT || ' , A.SQUAL_NUM22' || g_newline ||
2492 G_INDENT || ' , A.SQUAL_NUM23' || g_newline ||
2493 G_INDENT || ' , A.SQUAL_NUM24' || g_newline ||
2494 G_INDENT || ' , A.SQUAL_NUM25' || g_newline ||
2495 G_INDENT || ' , A.SQUAL_NUM26' || g_newline ||
2496 G_INDENT || ' , A.SQUAL_NUM27' || g_newline ||
2497 G_INDENT || ' , A.SQUAL_NUM28' || g_newline ||
2498 G_INDENT || ' , A.SQUAL_NUM29' || g_newline ||
2499 G_INDENT || ' , A.SQUAL_NUM30' || g_newline ||
2500 G_INDENT || ' , A.SQUAL_NUM31' || g_newline ||
2501 G_INDENT || ' , A.SQUAL_NUM32' || g_newline ||
2502 G_INDENT || ' , A.SQUAL_NUM33' || g_newline ||
2503 G_INDENT || ' , A.SQUAL_NUM34' || g_newline ||
2504 G_INDENT || ' , A.SQUAL_NUM35' || g_newline ||
2505 G_INDENT || ' , A.SQUAL_NUM36' || g_newline ||
2506 G_INDENT || ' , A.SQUAL_NUM37' || g_newline ||
2507 G_INDENT || ' , A.SQUAL_NUM38' || g_newline ||
2508 G_INDENT || ' , A.SQUAL_NUM39' || g_newline ||
2509 G_INDENT || ' , A.SQUAL_NUM40' || g_newline ||
2510 G_INDENT || ' , A.SQUAL_NUM41' || g_newline ||
2511 G_INDENT || ' , A.SQUAL_NUM42' || g_newline ||
2512 G_INDENT || ' , A.SQUAL_NUM43' || g_newline ||
2513 G_INDENT || ' , A.SQUAL_NUM44' || g_newline ||
2514 G_INDENT || ' , A.SQUAL_NUM45' || g_newline ||
2515 G_INDENT || ' , A.SQUAL_NUM46' || g_newline ||
2516 G_INDENT || ' , A.SQUAL_NUM47' || g_newline ||
2517 G_INDENT || ' , A.SQUAL_NUM48' || g_newline ||
2518 G_INDENT || ' , A.SQUAL_NUM49' || g_newline ||
2519 G_INDENT || ' , A.SQUAL_NUM50' || g_newline ||
2520 G_INDENT || ' , A.SQUAL_NUM51' || g_newline ||
2521 G_INDENT || ' , A.SQUAL_NUM52' || g_newline ||
2522 G_INDENT || ' , A.SQUAL_NUM53' || g_newline ||
2523 G_INDENT || ' , A.SQUAL_NUM54' || g_newline ||
2524 G_INDENT || ' , A.SQUAL_NUM55' || g_newline ||
2525 G_INDENT || ' , A.SQUAL_NUM56' || g_newline ||
2526 G_INDENT || ' , A.SQUAL_NUM57' || g_newline ||
2527 G_INDENT || ' , A.SQUAL_NUM58' || g_newline ||
2528 G_INDENT || ' , A.SQUAL_NUM59' || g_newline ||
2529 G_INDENT || ' , A.SQUAL_NUM60' || g_newline ||
2530 G_INDENT || ' , A.ASSIGNED_FLAG' || g_newline ||
2531 G_INDENT || ' , A.PROCESSED_FLAG' || g_newline ||
2532 G_INDENT || ' , A.ORG_ID' || g_newline ||
2533 G_INDENT || ' , A.SECURITY_GROUP_ID' || g_newline ||
2534 G_INDENT || ' , A.OBJECT_VERSION_NUMBER' || g_newline ||
2535 G_INDENT || ' , A.WORKER_ID' || g_newline ||
2536 G_INDENT || ' , ILV.terr_id ' || g_newline ||
2537 G_INDENT || ' , ILV.absolute_rank ' || g_newline ||
2538 G_INDENT || ' , ILV.top_level_terr_id '|| g_newline ||
2539 G_INDENT || ' , ILV.num_winners ' || g_newline;
2540
2541
2542 lp_close_outermost_ILV := ') A; -- jtf_tae_sql_lib_pvt_nm826 line 841 ';
2543 ELSE
2544 l_select_ilv2 :=
2545 G_INDENT5 || 'SELECT DISTINCT ' || g_newline ||
2546 G_INDENT5 ||'ILV2.trans_object_id' || g_newline ||
2547 G_INDENT5 ||', ILV2.trans_detail_object_id' || g_newline ||
2548 -- eihsu 06/19/2003 worker_id
2549 G_INDENT5 ||', ILV2.worker_id' || g_newline ||
2550 G_INDENT5 ||',ILV2.header_id1' || g_newline ||
2551 G_INDENT5 ||',ILV2.header_id2' || g_newline ||
2552 G_INDENT5 ||', p_source_id' || g_newline ||
2553 G_INDENT5 ||', p_trans_object_type_id' || g_newline ||
2554 G_INDENT5 ||', l_sysdate' || g_newline ||
2555 G_INDENT5 ||', L_USER_ID' || g_newline ||
2556 G_INDENT5 ||', l_sysdate' || g_newline ||
2557 G_INDENT5 ||', L_USER_ID' || g_newline ||
2558 G_INDENT5 ||', L_USER_ID' || g_newline ||
2559 G_INDENT5 ||', L_REQUEST_ID' || g_newline ||
2560 G_INDENT5 ||', L_PROGRAM_APPL_ID' || g_newline ||
2561 G_INDENT5 ||', L_PROGRAM_ID' || g_newline ||
2562 G_INDENT5 ||', l_sysdate' || g_newline ||
2563 G_INDENT5 ||', ILV2.terr_id' || g_newline ||
2564 G_INDENT5 ||', ILV2.absolute_rank' || g_newline ||
2565 G_INDENT5 ||', ILV2.top_level_terr_id' || g_newline ||
2566 G_INDENT5 ||', ILV2.num_winners' || g_newline ||
2567 G_INDENT5 ||', ILV2.org_id' || g_newline ;
2568
2569 lp_SELECT_cols :=
2570 G_INDENT5 || 'A.trans_object_id, A.trans_detail_object_id, ' || g_newline ||
2571 -- eihsu 06/19/2003 worker_id
2572 G_INDENT5 || 'A.worker_id, ' || g_newline ||
2573 G_INDENT5 || 'A.header_id1, A.header_id2, ' || g_newline ||
2574 G_INDENT5 || 'ILV.terr_id, ILV.absolute_rank, ' || g_newline ||
2575 G_INDENT5 || 'ILV.top_level_terr_id, ILV.num_winners, ILV.org_id ';
2576
2577 lp_close_outermost_ILV := ') ILV2; ';
2578 END IF; -- p_new_mode_fetch = 'Y'
2579
2580 lp_pc_cntry_predicate := ' 1 = 1 ' || g_newline;
2581
2582 IF p_new_mode_fetch <> 'Y' THEN
2583 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
2584 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
2585 END IF;
2586
2587 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
2588 G_INDENT5 || ' AND ( ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
2589 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
2590 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
2591 G_INDENT5 || ' OR ' || g_newline ||
2592 G_INDENT5 || ' ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
2593 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
2594 G_INDENT5 || ' ) ' || g_newline ||
2595 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
2596 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
2597 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
2598 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
2599 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
2600 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
2601 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
2602
2603 lp_pc_cntry_predicate_eq := ' 1 = 1 ' || g_newline;
2604
2605 IF p_new_mode_fetch <> 'Y' THEN
2606 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
2607 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
2608 END IF;
2609
2610 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
2611 G_INDENT5 || ' AND ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
2612 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
2613 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
2614 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
2615 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
2616 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
2617 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
2618 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
2619 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
2620
2621 lp_pc_cntry_predicate_btwn := ' 1 = 1 ' || g_newline;
2622
2623 IF p_new_mode_fetch <> 'Y' THEN
2624 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
2625 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
2626 END IF;
2627
2628 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
2629 G_INDENT5 || ' AND ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
2630 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
2631 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
2632 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
2633 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
2634 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
2635 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
2636 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
2637 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
2638 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
2639
2640 --ARPATEL 10/14 bug#3207518
2641 JTF_TAE_GEN_PVT.write_buffer_content(
2642 l_qual_rules => l_select_ilv2
2643 );
2644
2645 --bug#3373462 ARPATEL: 01/30/2004
2646 JTF_TAE_GEN_PVT.write_buffer_content(
2647 G_INDENT5 || 'FROM ( ' || g_newline || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
2648 );
2649
2650 lx_62598971_sql :=
2651 -- G_INDENT || l_select_ilv2 || g_newline ||
2652 -- G_INDENT || 'FROM ( ' || g_newline ||
2653 -- G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) ' || g_newline ||
2654 -- G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
2655 -- G_INDENT || ' ILV2.trans_object_id' || g_newline ||
2656 -- G_INDENT || ' , ILV2.trans_detail_object_id' || g_newline ||
2657 -- eihsu 06/19/2003 worker_id
2658 -- G_INDENT || ' , ILV2.worker_id' || g_newline ||
2659 -- G_INDENT || ' , ILV2.header_id1' || g_newline ||
2660 -- G_INDENT || ' , ILV2.header_id2' || g_newline ||
2661 -- G_INDENT || ' , ILV2.terr_id' || g_newline ||
2662 -- G_INDENT || ' , ILV2.absolute_rank' || g_newline ||
2663 -- G_INDENT || ' , ILV2.top_level_terr_id' || g_newline ||
2664 -- G_INDENT || ' , ILV2.num_winners' || g_newline ||
2665 -- G_INDENT || ' , ILV2.org_id' || g_newline ||
2666 -- G_INDENT || ' FROM'|| g_newline ||
2667 /************************/
2668 /* = ILV1 */
2669 /************************/
2670 G_INDENT5 || '( /* INLINE VIEW1 */' || g_newline ||
2671 G_INDENT5 || 'SELECT /*+ ' || g_newline;
2672
2673 IF p_new_mode_fetch = 'Y' THEN
2674 lx_62598971_sql := lx_62598971_sql || G_INDENT5 || ' ORDERED ' || g_newline;
2675 END IF;
2676
2677 lx_62598971_sql := lx_62598971_sql ||
2678
2679 G_INDENT5 || ' USE_NL(ILV Q1142R1 ALLP) ' || g_newline ||
2680 G_INDENT5 || ' INDEX(ALLP AS_LEAD_LINES_N2)' || g_newline ||
2681 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
2682 G_INDENT5 || ' */ ' || g_newline ||
2683 G_INDENT5 || ' ALLP.lead_id' || g_newline ||
2684 G_INDENT5 || ' , ALLP.lead_line_id' || g_newline ||
2685 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
2686 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
2687 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
2688 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
2689 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
2690
2691 G_INDENT5 || ' FROM ' || g_newline;
2692
2693 IF p_new_mode_fetch = 'Y' THEN
2694 lx_62598971_sql := lx_62598971_sql ||
2695 /* STATIC INLINE VIEW */
2696 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
2697 ELSE
2698 lx_62598971_sql := lx_62598971_sql ||
2699 /* STATIC INLINE VIEW */
2700 add_ILV(l_sql, p_new_mode_fetch);
2701 END IF;
2702
2703 lx_62598971_sql := lx_62598971_sql ||
2704 G_INDENT5 || ' ,jtf_terr_qual_rules_mv Q1142R1 ' || g_newline ||
2705 G_INDENT5 || ' ,ENI_PROD_DENORM_HRCHY_V PRD,AS_LEAD_LINES ALLP ' || g_newline ||
2706
2707 G_INDENT5 || ' WHERE ( Q1142R1.qual_usg_id = -1142 AND Q1142R1.terr_id = ILV.terr_id )' || g_newline ||
2708 G_INDENT5 || ' AND Q1142R1.value1_id = PRD.child_id ' || g_newline ||
2709 G_INDENT5 || ' AND Q1142R1.value2_id = PRD.category_set_id ' || g_newline ||
2710 G_INDENT5 || ' AND PRD.parent_id = ALLP.product_category_id ' || g_newline ||
2711 G_INDENT5 || ' AND PRD.category_set_id = ALLP.product_cat_set_id ' || g_newline ||
2712 G_INDENT5 || ' AND Q1142R1.comparison_operator = ''=''' || g_newline ||
2713 G_INDENT5 || ' ) ILV1,' || g_newline ||
2714
2715 /************************/
2716 /* = XYZ ILV2 */
2717 /************************/
2718 G_INDENT5 || ' ( ' || g_newline ||
2719 G_INDENT5 || 'SELECT /*+ ' || g_newline;
2720
2721 IF p_new_mode_fetch <> 'Y' THEN
2722 lx_62598971_sql := lx_62598971_sql ||
2723 G_INDENT5 || ' ORDERED ' || g_newline ||
2724 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
2725 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012R1 A) ' || g_newline ||
2726 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
2727 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
2728 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
2729 '_324347_ND)' || g_newline ||
2730
2731 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
2732 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
2733 G_INDENT5 || ' INDEX(Q1012R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
2734 G_INDENT5 || ' */ ' || g_newline ; --||
2735 ELSE
2736 lx_62598971_sql := lx_62598971_sql ||
2737 G_INDENT5 || ' ORDERED ' || g_newline ||
2738 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
2739 G_INDENT5 || ' NO_MERGE ' || g_newline ||
2740 G_INDENT5 || ' */ ' || g_newline ; --||
2741 END IF;
2742
2743 /* Add SELECT columns */
2744 JTF_TAE_GEN_PVT.write_buffer_content(
2745 l_qual_rules => lx_62598971_sql
2746 );
2747 --lp_SELECT_cols || g_newline ; ||
2748
2749 JTF_TAE_GEN_PVT.write_buffer_content(
2750 l_qual_rules => lp_SELECT_cols || g_newline
2751 );
2752
2753 lx_62598971_sql_2 :=
2754 G_INDENT5 || 'FROM ';
2755
2756 IF p_new_mode_fetch = 'Y' THEN
2757 lx_62598971_sql_2 := lx_62598971_sql_2 ||
2758 /* STATIC INLINE VIEW */
2759 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
2760 ELSE
2761 lx_62598971_sql_2 := lx_62598971_sql_2 ||
2762 /* STATIC INLINE VIEW */
2763 add_ILV(l_sql, p_new_mode_fetch);
2764 END IF;
2765
2766 lx_62598971_sql_2 := lx_62598971_sql_2 ||
2767 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1012R1 ' || g_newline ||
2768 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
2769 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
2770
2771 /* DYNAMIC BASED ON TRANSACTION TYPE */
2772 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
2773
2774 G_INDENT5 || 'WHERE ' || g_newline ||
2775
2776 lp_pc_cntry_predicate || g_newline ||
2777 --G_INDENT5 || ' AND Q1003R1.terr_id = Q1012R1.terr_id ' || g_newline ||
2778 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012R1.terr_id ' || g_newline ||
2779 G_INDENT5 || ' AND ( Q1012R1.comparison_operator = ''='' AND ' || g_newline ||
2780 G_INDENT5 || ' a.squal_fc01 = SUBSTR(Q1012R1.low_value_char, 1, 1) AND ' || g_newline ||
2781 G_INDENT5 || ' a.squal_char01 = Q1012R1.low_value_char ' || g_newline ||
2782 G_INDENT5 || ' ) ' || g_newline ||
2783 G_INDENT5 || ' AND Q1012R1.qual_usg_id = -1012 ' || g_newline ||
2784 G_INDENT5 || ' AND Q1012R1.terr_id = ILV.terr_id ' || g_newline ||
2785 G_INDENT5 || ' AND Q1012R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
2786 G_INDENT5 || ') ILV2' || g_newline ||
2787 G_INDENT5 || 'WHERE ILV1.terr_id = ILV2.terr_id' || g_newline ||
2788 G_INDENT5 || 'AND ILV1.lead_id = ILV2.trans_object_id' || g_newline ||
2789
2790 G_INDENT5 || 'UNION ALL ' || g_newline ; --||
2791
2792 --ARPATEL 10/14 bug#3207518
2793 JTF_TAE_GEN_PVT.write_buffer_content(
2794 l_qual_rules => lx_62598971_sql_2
2795 );
2796
2797 --bug#3373462 ARPATEL: 01/30/2004
2798 JTF_TAE_GEN_PVT.write_buffer_content(
2799 G_INDENT || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
2800 );
2801
2802 lx_62598971_sql_3 :=
2803
2804 --G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) ' || g_newline ||
2805 --G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
2806 --G_INDENT || ' ILV2.trans_object_id' || g_newline ||
2807 --G_INDENT || ' , ILV2.trans_detail_object_id' || g_newline ||
2808 -- eihsu 06/19/2003 worker_id
2809 --G_INDENT || ' , ILV2.worker_id' || g_newline ||
2810 --G_INDENT || ' , ILV2.header_id1' || g_newline ||
2811 --G_INDENT || ' , ILV2.header_id2' || g_newline ||
2812 --G_INDENT || ' , ILV2.terr_id' || g_newline ||
2813 --G_INDENT || ' , ILV2.absolute_rank' || g_newline ||
2814 --G_INDENT || ' , ILV2.top_level_terr_id' || g_newline ||
2815 --G_INDENT || ' , ILV2.num_winners' || g_newline ||
2816 --G_INDENT || ' , ILV2.org_id' || g_newline ||
2817 --G_INDENT || ' FROM'|| g_newline ||
2818 /************************/
2819 /* = ILV1 */
2820 /************************/
2821 G_INDENT5 || '( /* INLINE VIEW1 */' || g_newline ||
2822 G_INDENT5 || 'SELECT /*+ ' || g_newline;
2823
2824 IF p_new_mode_fetch = 'Y' THEN
2825 lx_62598971_sql_3 := lx_62598971_sql_3 || G_INDENT5 || ' ORDERED ' || g_newline;
2826 END IF;
2827
2828 lx_62598971_sql_3 := lx_62598971_sql_3 ||
2829 G_INDENT5 || ' USE_NL(ILV Q1142R1 ALLP) ' || g_newline ||
2830 G_INDENT5 || ' INDEX(ALLP AS_LEAD_LINES_N2)' || g_newline ||
2831 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
2832 G_INDENT5 || ' */ ' || g_newline ||
2833 G_INDENT5 || ' ALLP.lead_id' || g_newline ||
2834 G_INDENT5 || ' , ALLP.lead_line_id' || g_newline ||
2835 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
2836 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
2837 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
2838 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
2839 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
2840
2841 G_INDENT5 || ' FROM ' || g_newline;
2842
2843 IF p_new_mode_fetch = 'Y' THEN
2844 lx_62598971_sql_3 := lx_62598971_sql_3 ||
2845 /* STATIC INLINE VIEW */
2846 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
2847 ELSE
2848 lx_62598971_sql_3 := lx_62598971_sql_3 ||
2849 /* STATIC INLINE VIEW */
2850 add_ILV(l_sql, p_new_mode_fetch);
2851 END IF;
2852
2853 lx_62598971_sql_3 := lx_62598971_sql_3 ||
2854 G_INDENT5 || ' ,jtf_terr_qual_rules_mv Q1142R1 ' || g_newline ||
2855 G_INDENT5 || ' ,ENI_PROD_DENORM_HRCHY_V PRD,AS_LEAD_LINES ALLP ' || g_newline ||
2856
2857 G_INDENT5 || ' WHERE ( Q1142R1.qual_usg_id = -1142 AND Q1142R1.terr_id = ILV.terr_id )' || g_newline ||
2858 G_INDENT5 || ' AND Q1142R1.value1_id = PRD.child_id ' || g_newline ||
2859 G_INDENT5 || ' AND Q1142R1.value2_id = PRD.category_set_id ' || g_newline ||
2860 G_INDENT5 || ' AND PRD.parent_id = ALLP.product_category_id ' || g_newline ||
2861 G_INDENT5 || ' AND PRD.category_set_id = ALLP.product_cat_set_id ' || g_newline ||
2862 G_INDENT5 || ' AND Q1142R1.comparison_operator = ''=''' || g_newline ||
2863 G_INDENT5 || ' ) ILV1,' || g_newline ||
2864
2865
2866 /************************/
2867 /* LIKE XYZ% */
2868 /************************/
2869 G_INDENT5 || ' ( ' || g_newline ||
2870 G_INDENT5 || 'SELECT /*+ ' || g_newline;
2871
2872 IF p_new_mode_fetch <> 'Y' THEN
2873 lx_62598971_sql_3 := lx_62598971_sql_3 ||
2874 G_INDENT5 || ' ORDERED ' || g_newline ||
2875 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
2876 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
2877 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
2878
2879 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
2880 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
2881 '_324347_ND)' || g_newline ||
2882 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
2883 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
2884 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
2885 G_INDENT5 || ' */ ' || g_newline ; -- ||
2886 ELSE
2887 lx_62598971_sql_3 := lx_62598971_sql_3 ||
2888 G_INDENT5 || ' ORDERED ' || g_newline ||
2889 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
2890 G_INDENT5 || ' NO_MERGE ' || g_newline ||
2891 G_INDENT5 || ' */ ' || g_newline ; -- ||
2892 END IF;
2893
2894 JTF_TAE_GEN_PVT.write_buffer_content(
2895 l_qual_rules => lx_62598971_sql_3
2896 );
2897
2898 /* Add SELECT columns */
2899 JTF_TAE_GEN_PVT.write_buffer_content(
2900 l_qual_rules => lp_SELECT_cols || g_newline
2901 );
2902 --lp_SELECT_cols || g_newline ||
2903
2904 lx_62598971_sql_4 :=
2905 G_INDENT5 || 'FROM ';
2906
2907 IF p_new_mode_fetch = 'Y' THEN
2908 lx_62598971_sql_4 := lx_62598971_sql_4 ||
2909 /* STATIC INLINE VIEW */
2910 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
2911 ELSE
2912 lx_62598971_sql_4 := lx_62598971_sql_4 ||
2913 /* STATIC INLINE VIEW */
2914 add_ILV(l_sql, p_new_mode_fetch);
2915 END IF;
2916
2917 lx_62598971_sql_4 := lx_62598971_sql_4 ||
2918 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
2919 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
2920 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
2921
2922 /* DYNAMIC BASED ON TRANSACTION TYPE */
2923 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
2924
2925 G_INDENT5 || 'WHERE ' || g_newline ||
2926
2927 lp_pc_cntry_predicate || g_newline ||
2928
2929 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
2930 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
2931 G_INDENT5 || ' a.squal_fc01 = Q1012LK.first_char ' || g_newline ||
2932 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
2933 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
2934 G_INDENT5 || ') ILV2' || g_newline ||
2935 G_INDENT5 || 'WHERE ILV1.terr_id = ILV2.terr_id' || g_newline ||
2936 G_INDENT5 || 'AND ILV1.lead_id = ILV2.trans_object_id' || g_newline ||
2937
2938 G_INDENT5 || 'UNION ALL ' || g_newline;
2939
2940 --ARPATEL 10/14 bug#3207518
2941 JTF_TAE_GEN_PVT.write_buffer_content(
2942 l_qual_rules => lx_62598971_sql_4
2943 );
2944
2945 --bug#3373462 ARPATEL: 01/30/2004
2946 JTF_TAE_GEN_PVT.write_buffer_content(
2947 G_INDENT || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
2948 );
2949
2950 --G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) ' || g_newline ||
2951 --G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
2952 --G_INDENT || ' ILV2.trans_object_id' || g_newline ||
2953 --G_INDENT || ' , ILV2.trans_detail_object_id' || g_newline ||
2954 -- eihsu 06/19/2003 worker_id
2955 --G_INDENT || ' , ILV2.worker_id' || g_newline ||
2956 --G_INDENT || ' , ILV2.header_id1' || g_newline ||
2957 --G_INDENT || ' , ILV2.header_id2' || g_newline ||
2958 --G_INDENT || ' , ILV2.terr_id' || g_newline ||
2959 --G_INDENT || ' , ILV2.absolute_rank' || g_newline ||
2960 --G_INDENT || ' , ILV2.top_level_terr_id' || g_newline ||
2961 --G_INDENT || ' , ILV2.num_winners' || g_newline ||
2962 --G_INDENT || ' , ILV2.org_id' || g_newline ||
2963 --G_INDENT || ' FROM'|| g_newline ||
2964 /************************/
2965 /* = ILV1 */
2966 /************************/
2967 lx_62598971_sql_5 :=
2968 G_INDENT5 || '( /* INLINE VIEW1 */' || g_newline ||
2969 G_INDENT5 || 'SELECT /*+ ' || g_newline;
2970
2971 IF p_new_mode_fetch = 'Y' THEN
2972 lx_62598971_sql_5 := lx_62598971_sql_5 || G_INDENT5 || ' ORDERED ' || g_newline;
2973 END IF;
2974
2975 lx_62598971_sql_5 := lx_62598971_sql_5 ||
2976 G_INDENT5 || ' USE_NL(ILV Q1142R1 ALLP) ' || g_newline ||
2977 G_INDENT5 || ' INDEX(ALLP AS_LEAD_LINES_N2)' || g_newline ||
2978 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
2979 G_INDENT5 || ' */ ' || g_newline ||
2980 G_INDENT5 || ' ALLP.lead_id' || g_newline ||
2981 G_INDENT5 || ' , ALLP.lead_line_id' || g_newline ||
2982 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
2983 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
2984 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
2985 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
2986 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
2987
2988 G_INDENT5 || ' FROM ' || g_newline;
2989
2990 IF p_new_mode_fetch = 'Y' THEN
2991 lx_62598971_sql_5 := lx_62598971_sql_5 ||
2992 /* STATIC INLINE VIEW */
2993 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
2994 ELSE
2995 lx_62598971_sql_5 := lx_62598971_sql_5 ||
2996 /* STATIC INLINE VIEW */
2997 add_ILV(l_sql, p_new_mode_fetch);
2998 END IF;
2999
3000 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3001 G_INDENT5 || ' ,jtf_terr_qual_rules_mv Q1142R1 ' || g_newline ||
3002 G_INDENT5 || ' ,ENI_PROD_DENORM_HRCHY_V PRD,AS_LEAD_LINES ALLP ' || g_newline ||
3003 G_INDENT5 || ' WHERE ( Q1142R1.qual_usg_id = -1142 AND Q1142R1.terr_id = ILV.terr_id )' || g_newline ||
3004 G_INDENT5 || ' AND Q1142R1.value1_id = PRD.child_id ' || g_newline ||
3005 G_INDENT5 || ' AND Q1142R1.value2_id = PRD.category_set_id ' || g_newline ||
3006 G_INDENT5 || ' AND PRD.parent_id = ALLP.product_category_id ' || g_newline ||
3007 G_INDENT5 || ' AND PRD.category_set_id = ALLP.product_cat_set_id ' || g_newline ||
3008 G_INDENT5 || ' AND Q1142R1.comparison_operator = ''=''' || g_newline ||
3009 G_INDENT5 || ' ) ILV1,' || g_newline ||
3010
3011 /************************/
3012 /* LIKE %XYZ */
3013 /************************/
3014 G_INDENT5 || ' ( ' || g_newline ||
3015 G_INDENT5 || 'SELECT /*+ ' || g_newline;
3016
3017 IF p_new_mode_fetch <> 'Y' THEN
3018 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3019 G_INDENT5 || ' ORDERED ' || g_newline ||
3020 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
3021 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
3022 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3023 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
3024 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
3025 '_324347X_ND)' || g_newline ||
3026 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3027 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3028 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
3029 G_INDENT5 || ' */ ' || g_newline;
3030 ELSE
3031 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3032 G_INDENT5 || ' ORDERED ' || g_newline ||
3033 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
3034 G_INDENT5 || ' NO_MERGE ' || g_newline ||
3035 G_INDENT5 || ' */ ' || g_newline;
3036 END IF;
3037
3038 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3039 /* Add SELECT columns */
3040 lp_SELECT_cols || g_newline ||
3041
3042 G_INDENT5 || 'FROM ';
3043
3044 IF p_new_mode_fetch = 'Y' THEN
3045 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3046 /* STATIC INLINE VIEW */
3047 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
3048 ELSE
3049 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3050 /* STATIC INLINE VIEW */
3051 add_ILV(l_sql, p_new_mode_fetch);
3052 END IF;
3053
3054 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3055 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
3056 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
3057 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
3058
3059 /* DYNAMIC BASED ON TRANSACTION TYPE */
3060 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
3061
3062 G_INDENT5 || 'WHERE ' || g_newline ||
3063
3064 lp_pc_cntry_predicate_eq || g_newline ||
3065
3066 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
3067 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
3068 G_INDENT5 || ' Q1012LK.first_char = ''%'' ' || g_newline ||
3069 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
3070 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
3071 G_INDENT5 || 'UNION ALL ' || g_newline ||
3072 G_INDENT5 || 'SELECT /*+ ' || g_newline;
3073
3074 IF p_new_mode_fetch <> 'Y' THEN
3075 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3076 G_INDENT5 || ' ORDERED ' || g_newline ||
3077 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
3078 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
3079 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3080 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
3081 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
3082 '_324347X_ND)' || g_newline ||
3083 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3084 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3085 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
3086 G_INDENT5 || ' */ ' || g_newline;
3087 ELSE
3088 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3089 G_INDENT5 || ' ORDERED ' || g_newline ||
3090 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
3091 G_INDENT5 || ' NO_MERGE ' || g_newline ||
3092 G_INDENT5 || ' */ ' || g_newline;
3093 END IF;
3094
3095 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3096 /* Add SELECT columns */
3097 lp_SELECT_cols || g_newline ||
3098
3099 G_INDENT5 || 'FROM ';
3100
3101 IF p_new_mode_fetch = 'Y' THEN
3102 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3103 /* STATIC INLINE VIEW */
3104 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
3105 ELSE
3106 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3107 /* STATIC INLINE VIEW */
3108 add_ILV(l_sql, p_new_mode_fetch);
3109 END IF;
3110
3111 lx_62598971_sql_5 := lx_62598971_sql_5 ||
3112 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
3113 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
3114 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
3115
3116 /* DYNAMIC BASED ON TRANSACTION TYPE */
3117 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
3118
3119 G_INDENT5 || 'WHERE ' || g_newline ||
3120
3121 lp_pc_cntry_predicate_btwn || g_newline ||
3122
3123 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
3124 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
3125 G_INDENT5 || ' Q1012LK.first_char = ''%'' ' || g_newline ||
3126 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
3127 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
3128
3129 G_INDENT5 || ') ILV2' || g_newline ||
3130 G_INDENT5 || 'WHERE ILV1.terr_id = ILV2.terr_id' || g_newline ||
3131 G_INDENT5 || 'AND ILV1.lead_id = ILV2.trans_object_id' || g_newline ||
3132
3133 G_INDENT5 || 'UNION ALL ' || g_newline ;--||
3134
3135 --ARPATEL 10/14 bug#3207518
3136 JTF_TAE_GEN_PVT.write_buffer_content(
3137 l_qual_rules => lx_62598971_sql_5
3138 );
3139
3140 --bug#3373462 ARPATEL: 01/30/2004
3141 JTF_TAE_GEN_PVT.write_buffer_content(
3142 G_INDENT || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
3143 );
3144
3145 lx_62598971_sql_6 :=
3146 --G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) ' || g_newline ||
3147 --G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
3148 --G_INDENT || ' ILV2.trans_object_id' || g_newline ||
3149 --G_INDENT || ' , ILV2.trans_detail_object_id' || g_newline ||
3150 -- eihsu 06/19/2003 worker_id
3151 --G_INDENT || ' , ILV2.worker_id' || g_newline ||
3152 --G_INDENT || ' , ILV2.header_id1' || g_newline ||
3153 --G_INDENT || ' , ILV2.header_id2' || g_newline ||
3154 --G_INDENT || ' , ILV2.terr_id' || g_newline ||
3155 --G_INDENT || ' , ILV2.absolute_rank' || g_newline ||
3156 --G_INDENT || ' , ILV2.top_level_terr_id' || g_newline ||
3157 --G_INDENT || ' , ILV2.num_winners' || g_newline ||
3158 --G_INDENT || ' , ILV2.org_id' || g_newline ||
3159 --G_INDENT || ' FROM'|| g_newline ||
3160 /************************/
3161 /* = ILV1 */
3162 /************************/
3163 G_INDENT5 || '( /* INLINE VIEW1 */' || g_newline ||
3164 G_INDENT5 || 'SELECT /*+ ' || g_newline;
3165
3166 IF p_new_mode_fetch = 'Y' THEN
3167 lx_62598971_sql_6 := lx_62598971_sql_6 || G_INDENT5 || ' ORDERED ' || g_newline;
3168 END IF;
3169
3170 lx_62598971_sql_6 := lx_62598971_sql_6 ||
3171 G_INDENT5 || ' USE_NL(ILV Q1142R1 ALLP) ' || g_newline ||
3172 G_INDENT5 || ' INDEX(ALLP AS_LEAD_LINES_N2)' || g_newline ||
3173 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3174 G_INDENT5 || ' */ ' || g_newline ||
3175 G_INDENT5 || ' ALLP.lead_id' || g_newline ||
3176 G_INDENT5 || ' , ALLP.lead_line_id' || g_newline ||
3177 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
3178 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
3179 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
3180 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
3181 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
3182
3183 G_INDENT5 || ' FROM ' || g_newline;
3184
3185 IF p_new_mode_fetch = 'Y' THEN
3186 lx_62598971_sql_6 := lx_62598971_sql_6 ||
3187 /* STATIC INLINE VIEW */
3188 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
3189 ELSE
3190 lx_62598971_sql_6 := lx_62598971_sql_6 ||
3191 /* STATIC INLINE VIEW */
3192 add_ILV(l_sql, p_new_mode_fetch);
3193 END IF;
3194
3195 lx_62598971_sql_6 := lx_62598971_sql_6 ||
3196 G_INDENT5 || ' ,jtf_terr_qual_rules_mv Q1142R1 ' || g_newline ||
3197 G_INDENT5 || ' ,ENI_PROD_DENORM_HRCHY_V PRD,AS_LEAD_LINES ALLP ' || g_newline ||
3198 G_INDENT5 || ' WHERE ( Q1142R1.qual_usg_id = -1142 AND Q1142R1.terr_id = ILV.terr_id )' || g_newline ||
3199 G_INDENT5 || ' AND Q1142R1.value1_id = PRD.child_id ' || g_newline ||
3200 G_INDENT5 || ' AND Q1142R1.value2_id = PRD.category_set_id ' || g_newline ||
3201 G_INDENT5 || ' AND PRD.parent_id = ALLP.product_category_id ' || g_newline ||
3202 G_INDENT5 || ' AND PRD.category_set_id = ALLP.product_cat_set_id ' || g_newline ||
3203 G_INDENT5 || ' AND Q1142R1.comparison_operator = ''=''' || g_newline ||
3204 G_INDENT5 || ' ) ILV1,' || g_newline ||
3205
3206 G_INDENT5 || ' ( ' || g_newline ||
3207 G_INDENT5 || 'SELECT /*+ ' || g_newline;
3208
3209 IF p_new_mode_fetch <> 'Y' THEN
3210 lx_62598971_sql_6 := lx_62598971_sql_6 ||
3211 G_INDENT5 || ' ORDERED ' || g_newline ||
3212 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
3213 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012BT A) ' || g_newline ||
3214 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3215 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
3216 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
3217 '_324347_ND)' || g_newline ||
3218
3219 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3220 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3221 G_INDENT5 || ' INDEX(Q1012BT JTF_TERR_CNR_QUAL_BTWN_MV_N10) ' || g_newline ||
3222 G_INDENT5 || ' */ ' || g_newline;
3223 ELSE
3224 lx_62598971_sql_6 := lx_62598971_sql_6 ||
3225 G_INDENT5 || ' ORDERED ' || g_newline ||
3226 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
3227 G_INDENT5 || ' NO_MERGE ' || g_newline ||
3228 G_INDENT5 || ' */ ' || g_newline;
3229 END IF;
3230
3231
3232 lx_62598971_sql_6 := lx_62598971_sql_6 ||
3233 /* Add SELECT columns */
3234 lp_SELECT_cols || g_newline ||
3235
3236 G_INDENT5 || 'FROM ';
3237
3238 IF p_new_mode_fetch = 'Y' THEN
3239 lx_62598971_sql_6 := lx_62598971_sql_6 ||
3240 /* STATIC INLINE VIEW */
3241 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
3242 ELSE
3243 lx_62598971_sql_6 := lx_62598971_sql_6 ||
3244 /* STATIC INLINE VIEW */
3245 add_ILV(l_sql, p_new_mode_fetch);
3246 END IF;
3247
3248 lx_62598971_sql_6 := lx_62598971_sql_6 ||
3249 G_INDENT5 || ' , jtf_terr_cnr_qual_btwn_mv Q1012BT ' || g_newline ||
3250 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
3251 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
3252
3253 /* DYNAMIC BASED ON TRANSACTION TYPE */
3254 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
3255
3256 G_INDENT5 || 'WHERE ' || g_newline ||
3257
3258 lp_pc_cntry_predicate || g_newline ||
3259
3260 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012BT.terr_id ' || g_newline ||
3261 G_INDENT5 || ' AND a.squal_char01 <= Q1012BT.high_value_char AND ' || g_newline ||
3262 G_INDENT5 || ' a.squal_char01 >= Q1012BT.low_value_char AND ' || g_newline ||
3263 G_INDENT5 || ' a.squal_fc01 >= SUBSTR(Q1012BT.low_value_char, 1, 1) ' || g_newline ||
3264 G_INDENT5 || ' AND Q1012BT.qual_usg_id = -1012 ' || g_newline ||
3265 G_INDENT5 || ' AND Q1012BT.terr_id = ILV.terr_id ' || g_newline ||
3266 G_INDENT5 || ' AND Q1012BT.terr_id = Q1003R1.terr_id ' || g_newline ||
3267 G_INDENT5 || ') ILV2' || g_newline ||
3268 G_INDENT5 || 'WHERE ILV1.terr_id = ILV2.terr_id' || g_newline ||
3269 G_INDENT5 || 'AND ILV1.lead_id = ILV2.trans_object_id' || g_newline ||
3270 G_INDENT || lp_close_outermost_ILV || g_newline;
3271
3272 RETURN lx_62598971_sql_6;
3273
3274 EXCEPTION
3275 WHEN OTHERS THEN
3276 g_ProgramStatus := 1;
3277 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_62598971_SQL');
3278
3279 END add_62598971_SQL;
3280
3281
3282 --** OPPORTUNITY EXPECTED PURCHASE ***
3283 FUNCTION add_45084233_SQL( p_trans_object_type_id IN NUMBER
3284 , p_table_name IN VARCHAR2
3285 -- dblee 08/26/03 added new mode flag
3286 , p_new_mode_fetch IN CHAR)
3287 RETURN VARCHAR2 AS
3288
3289 lp_close_outermost_ILV VARCHAR2(255);
3290 l_select_ilv2 VARCHAR2(32767) := NULL;
3291 lp_SELECT_cols VARCHAR2(32767) := NULL;
3292 lx_45084233_sql VARCHAR2(32767) := NULL;
3293 --ARPATEL
3294 lx_45084233_sql_2 VARCHAR2(32767) := NULL;
3295 lx_45084233_sql_3 VARCHAR2(32767) := NULL;
3296 lx_45084233_sql_4 VARCHAR2(32767) := NULL;
3297 lx_45084233_sql_5 VARCHAR2(32767) := NULL;
3298 lx_45084233_sql_6 VARCHAR2(32767) := NULL;
3299
3300 lp_pc_cntry_predicate_eq VARCHAR2(32767) := NULL;
3301 lp_pc_cntry_predicate VARCHAR2(32767) := NULL;
3302 lp_pc_cntry_predicate_btwn VARCHAR2(32767) := NULL;
3303 l_sql VARCHAR2(32767) := NULL;
3304
3305 BEGIN
3306 --** OPPORTUNITY EXPECTED PURCHASE ***
3307
3308 -- dblee: 08/27/03 new mode support
3309 IF p_new_mode_fetch = 'Y' THEN
3310 l_select_ilv2 := add_SELECT_clause(p_new_mode_fetch);
3311
3312 lp_SELECT_cols :=
3313 --G_INDENT5 || add_SELECT_cols(p_new_mode_fetch) || g_newline;
3314 /* ARPATEL: bug#3373462 */
3315 G_INDENT || ' A.TRANS_OBJECT_ID' || g_newline ||
3316 G_INDENT || ' , A.TRANS_DETAIL_OBJECT_ID' || g_newline ||
3317 G_INDENT || ' , A.HEADER_ID1' || g_newline ||
3318 G_INDENT || ' , A.HEADER_ID2' || g_newline ||
3319 G_INDENT || ' , A.SQUAL_FC01' || g_newline ||
3320 G_INDENT || ' , A.SQUAL_FC02' || g_newline ||
3321 G_INDENT || ' , A.SQUAL_FC03' || g_newline ||
3322 G_INDENT || ' , A.SQUAL_FC04' || g_newline ||
3323 G_INDENT || ' , A.SQUAL_FC05' || g_newline ||
3324 G_INDENT || ' , A.SQUAL_CURC01' || g_newline ||
3325 G_INDENT || ' , A.SQUAL_CURC02' || g_newline ||
3326 G_INDENT || ' , A.SQUAL_CURC03' || g_newline ||
3327 G_INDENT || ' , A.SQUAL_CURC04' || g_newline ||
3328 G_INDENT || ' , A.SQUAL_CURC05' || g_newline ||
3329 G_INDENT || ' , A.SQUAL_CURC06' || g_newline ||
3330 G_INDENT || ' , A.SQUAL_CURC07' || g_newline ||
3331 G_INDENT || ' , A.SQUAL_CURC08' || g_newline ||
3332 G_INDENT || ' , A.SQUAL_CURC09' || g_newline ||
3333 G_INDENT || ' , A.SQUAL_CURC10' || g_newline ||
3334 G_INDENT || ' , A.SQUAL_CHAR01' || g_newline ||
3335 G_INDENT || ' , A.SQUAL_CHAR02' || g_newline ||
3336 G_INDENT || ' , A.SQUAL_CHAR03' || g_newline ||
3337 G_INDENT || ' , A.SQUAL_CHAR04' || g_newline ||
3338 G_INDENT || ' , A.SQUAL_CHAR05' || g_newline ||
3339 G_INDENT || ' , A.SQUAL_CHAR06' || g_newline ||
3340 G_INDENT || ' , A.SQUAL_CHAR07' || g_newline ||
3341 G_INDENT || ' , A.SQUAL_CHAR08' || g_newline ||
3342 G_INDENT || ' , A.SQUAL_CHAR09' || g_newline ||
3343 G_INDENT || ' , A.SQUAL_CHAR10' || g_newline ||
3344 G_INDENT || ' , A.SQUAL_CHAR11' || g_newline ||
3345 G_INDENT || ' , A.SQUAL_CHAR12' || g_newline ||
3346 G_INDENT || ' , A.SQUAL_CHAR13' || g_newline ||
3347 G_INDENT || ' , A.SQUAL_CHAR14' || g_newline ||
3348 G_INDENT || ' , A.SQUAL_CHAR15' || g_newline ||
3349 G_INDENT || ' , A.SQUAL_CHAR16' || g_newline ||
3350 G_INDENT || ' , A.SQUAL_CHAR17' || g_newline ||
3351 G_INDENT || ' , A.SQUAL_CHAR18' || g_newline ||
3352 G_INDENT || ' , A.SQUAL_CHAR19' || g_newline ||
3353 G_INDENT || ' , A.SQUAL_CHAR20' || g_newline ||
3354 G_INDENT || ' , A.SQUAL_CHAR21' || g_newline ||
3355 G_INDENT || ' , A.SQUAL_CHAR22' || g_newline ||
3356 G_INDENT || ' , A.SQUAL_CHAR23' || g_newline ||
3357 G_INDENT || ' , A.SQUAL_CHAR24' || g_newline ||
3358 G_INDENT || ' , A.SQUAL_CHAR25' || g_newline ||
3359 G_INDENT || ' , A.SQUAL_CHAR26' || g_newline ||
3360 G_INDENT || ' , A.SQUAL_CHAR27' || g_newline ||
3361 G_INDENT || ' , A.SQUAL_CHAR28' || g_newline ||
3362 G_INDENT || ' , A.SQUAL_CHAR30' || g_newline ||
3363 G_INDENT || ' , A.SQUAL_CHAR31' || g_newline ||
3364 G_INDENT || ' , A.SQUAL_CHAR32' || g_newline ||
3365 G_INDENT || ' , A.SQUAL_CHAR33' || g_newline ||
3366 G_INDENT || ' , A.SQUAL_CHAR34' || g_newline ||
3367 G_INDENT || ' , A.SQUAL_CHAR35' || g_newline ||
3368 G_INDENT || ' , A.SQUAL_CHAR36' || g_newline ||
3369 G_INDENT || ' , A.SQUAL_CHAR37' || g_newline ||
3370 G_INDENT || ' , A.SQUAL_CHAR38' || g_newline ||
3371 G_INDENT || ' , A.SQUAL_CHAR39' || g_newline ||
3372 G_INDENT || ' , A.SQUAL_CHAR40' || g_newline ||
3373 G_INDENT || ' , A.SQUAL_CHAR41' || g_newline ||
3374 G_INDENT || ' , A.SQUAL_CHAR42' || g_newline ||
3375 G_INDENT || ' , A.SQUAL_CHAR43' || g_newline ||
3376 G_INDENT || ' , A.SQUAL_CHAR44' || g_newline ||
3377 G_INDENT || ' , A.SQUAL_CHAR45' || g_newline ||
3378 G_INDENT || ' , A.SQUAL_CHAR46' || g_newline ||
3379 G_INDENT || ' , A.SQUAL_CHAR47' || g_newline ||
3380 G_INDENT || ' , A.SQUAL_CHAR48' || g_newline ||
3381 G_INDENT || ' , A.SQUAL_CHAR49' || g_newline ||
3382 G_INDENT || ' , A.SQUAL_CHAR50' || g_newline ||
3383 G_INDENT || ' , A.SQUAL_CHAR51' || g_newline ||
3384 G_INDENT || ' , A.SQUAL_CHAR52' || g_newline ||
3385 G_INDENT || ' , A.SQUAL_CHAR53' || g_newline ||
3386 G_INDENT || ' , A.SQUAL_CHAR54' || g_newline ||
3387 G_INDENT || ' , A.SQUAL_CHAR55' || g_newline ||
3388 G_INDENT || ' , A.SQUAL_CHAR56' || g_newline ||
3389 G_INDENT || ' , A.SQUAL_CHAR57' || g_newline ||
3390 G_INDENT || ' , A.SQUAL_CHAR58' || g_newline ||
3391 G_INDENT || ' , A.SQUAL_CHAR59' || g_newline ||
3392 G_INDENT || ' , A.SQUAL_CHAR60' || g_newline ||
3393 G_INDENT || ' , A.SQUAL_NUM01' || g_newline ||
3394 G_INDENT || ' , A.SQUAL_NUM02' || g_newline ||
3395 G_INDENT || ' , A.SQUAL_NUM03' || g_newline ||
3396 G_INDENT || ' , A.SQUAL_NUM04' || g_newline ||
3397 G_INDENT || ' , A.SQUAL_NUM05' || g_newline ||
3398 G_INDENT || ' , A.SQUAL_NUM06' || g_newline ||
3399 G_INDENT || ' , A.SQUAL_NUM07' || g_newline ||
3400 G_INDENT || ' , A.SQUAL_NUM08' || g_newline ||
3401 G_INDENT || ' , A.SQUAL_NUM09' || g_newline ||
3402 G_INDENT || ' , A.SQUAL_NUM10' || g_newline ||
3403 G_INDENT || ' , A.SQUAL_NUM11' || g_newline ||
3404 G_INDENT || ' , A.SQUAL_NUM12' || g_newline ||
3405 G_INDENT || ' , A.SQUAL_NUM13' || g_newline ||
3406 G_INDENT || ' , A.SQUAL_NUM14' || g_newline ||
3407 G_INDENT || ' , A.SQUAL_NUM15' || g_newline ||
3408 G_INDENT || ' , A.SQUAL_NUM16' || g_newline ||
3409 G_INDENT || ' , A.SQUAL_NUM17' || g_newline ||
3410 G_INDENT || ' , A.SQUAL_NUM18' || g_newline ||
3411 G_INDENT || ' , A.SQUAL_NUM19' || g_newline ||
3412 G_INDENT || ' , A.SQUAL_NUM20' || g_newline ||
3413 G_INDENT || ' , A.SQUAL_NUM21' || g_newline ||
3414 G_INDENT || ' , A.SQUAL_NUM22' || g_newline ||
3415 G_INDENT || ' , A.SQUAL_NUM23' || g_newline ||
3416 G_INDENT || ' , A.SQUAL_NUM24' || g_newline ||
3417 G_INDENT || ' , A.SQUAL_NUM25' || g_newline ||
3418 G_INDENT || ' , A.SQUAL_NUM26' || g_newline ||
3419 G_INDENT || ' , A.SQUAL_NUM27' || g_newline ||
3420 G_INDENT || ' , A.SQUAL_NUM28' || g_newline ||
3421 G_INDENT || ' , A.SQUAL_NUM29' || g_newline ||
3422 G_INDENT || ' , A.SQUAL_NUM30' || g_newline ||
3423 G_INDENT || ' , A.SQUAL_NUM31' || g_newline ||
3424 G_INDENT || ' , A.SQUAL_NUM32' || g_newline ||
3425 G_INDENT || ' , A.SQUAL_NUM33' || g_newline ||
3426 G_INDENT || ' , A.SQUAL_NUM34' || g_newline ||
3427 G_INDENT || ' , A.SQUAL_NUM35' || g_newline ||
3428 G_INDENT || ' , A.SQUAL_NUM36' || g_newline ||
3429 G_INDENT || ' , A.SQUAL_NUM37' || g_newline ||
3430 G_INDENT || ' , A.SQUAL_NUM38' || g_newline ||
3431 G_INDENT || ' , A.SQUAL_NUM39' || g_newline ||
3432 G_INDENT || ' , A.SQUAL_NUM40' || g_newline ||
3433 G_INDENT || ' , A.SQUAL_NUM41' || g_newline ||
3434 G_INDENT || ' , A.SQUAL_NUM42' || g_newline ||
3435 G_INDENT || ' , A.SQUAL_NUM43' || g_newline ||
3436 G_INDENT || ' , A.SQUAL_NUM44' || g_newline ||
3437 G_INDENT || ' , A.SQUAL_NUM45' || g_newline ||
3438 G_INDENT || ' , A.SQUAL_NUM46' || g_newline ||
3439 G_INDENT || ' , A.SQUAL_NUM47' || g_newline ||
3440 G_INDENT || ' , A.SQUAL_NUM48' || g_newline ||
3441 G_INDENT || ' , A.SQUAL_NUM49' || g_newline ||
3442 G_INDENT || ' , A.SQUAL_NUM50' || g_newline ||
3443 G_INDENT || ' , A.SQUAL_NUM51' || g_newline ||
3444 G_INDENT || ' , A.SQUAL_NUM52' || g_newline ||
3445 G_INDENT || ' , A.SQUAL_NUM53' || g_newline ||
3446 G_INDENT || ' , A.SQUAL_NUM54' || g_newline ||
3447 G_INDENT || ' , A.SQUAL_NUM55' || g_newline ||
3448 G_INDENT || ' , A.SQUAL_NUM56' || g_newline ||
3449 G_INDENT || ' , A.SQUAL_NUM57' || g_newline ||
3450 G_INDENT || ' , A.SQUAL_NUM58' || g_newline ||
3451 G_INDENT || ' , A.SQUAL_NUM59' || g_newline ||
3452 G_INDENT || ' , A.SQUAL_NUM60' || g_newline ||
3453 G_INDENT || ' , A.ASSIGNED_FLAG' || g_newline ||
3454 G_INDENT || ' , A.PROCESSED_FLAG' || g_newline ||
3455 G_INDENT || ' , A.ORG_ID' || g_newline ||
3456 G_INDENT || ' , A.SECURITY_GROUP_ID' || g_newline ||
3457 G_INDENT || ' , A.OBJECT_VERSION_NUMBER' || g_newline ||
3458 G_INDENT || ' , A.WORKER_ID' || g_newline ||
3459 G_INDENT || ' , ILV.terr_id ' || g_newline ||
3460 G_INDENT || ' , ILV.absolute_rank ' || g_newline ||
3461 G_INDENT || ' , ILV.top_level_terr_id '|| g_newline ||
3462 G_INDENT || ' , ILV.num_winners ' || g_newline;
3463
3464
3465 lp_close_outermost_ILV := ') A; -- jtf_tae_sql_lib_pvt_nm826 line 841 ';
3466 ELSE
3467 l_select_ilv2 :=
3468 G_INDENT5 || 'SELECT DISTINCT ' || g_newline ||
3469 G_INDENT5 ||'ILV2.trans_object_id' || g_newline ||
3470 G_INDENT5 ||', ILV2.trans_detail_object_id' || g_newline ||
3471 -- eihsu 06/19/2003 worker_id
3472 G_INDENT5 ||', ILV2.worker_id' || g_newline ||
3473 G_INDENT5 ||',ILV2.header_id1' || g_newline ||
3474 G_INDENT5 ||',ILV2.header_id2' || g_newline ||
3475 G_INDENT5 ||', p_source_id' || g_newline ||
3476 G_INDENT5 ||', p_trans_object_type_id' || g_newline ||
3477 G_INDENT5 ||', l_sysdate' || g_newline ||
3478 G_INDENT5 ||', L_USER_ID' || g_newline ||
3479 G_INDENT5 ||', l_sysdate' || g_newline ||
3480 G_INDENT5 ||', L_USER_ID' || g_newline ||
3481 G_INDENT5 ||', L_USER_ID' || g_newline ||
3482 G_INDENT5 ||', L_REQUEST_ID' || g_newline ||
3483 G_INDENT5 ||', L_PROGRAM_APPL_ID' || g_newline ||
3484 G_INDENT5 ||', L_PROGRAM_ID' || g_newline ||
3485 G_INDENT5 ||', l_sysdate' || g_newline ||
3486 G_INDENT5 ||', ILV2.terr_id' || g_newline ||
3487 G_INDENT5 ||', ILV2.absolute_rank' || g_newline ||
3488 G_INDENT5 ||', ILV2.top_level_terr_id' || g_newline ||
3489 G_INDENT5 ||', ILV2.num_winners' || g_newline ||
3490 G_INDENT5 ||', ILV2.org_id' || g_newline ;
3491
3492 lp_SELECT_cols :=
3493 G_INDENT5 || 'A.trans_object_id, A.trans_detail_object_id, ' || g_newline ||
3494 -- eihsu 06/19/2003 worker_id
3495 G_INDENT5 || 'A.worker_id, ' || g_newline ||
3496 G_INDENT5 || 'A.header_id1, A.header_id2, ' || g_newline ||
3497 G_INDENT5 || 'ILV.terr_id, ILV.absolute_rank, ' || g_newline ||
3498 G_INDENT5 || 'ILV.top_level_terr_id, ILV.num_winners, ILV.org_id ';
3499
3500 lp_close_outermost_ILV := ') ILV2; ';
3501 END IF; -- p_new_mode_fetch = 'Y'
3502
3503 lp_pc_cntry_predicate := ' 1 = 1 ' || g_newline;
3504
3505 IF p_new_mode_fetch <> 'Y' THEN
3506 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
3507 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
3508 END IF;
3509
3510 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
3511 G_INDENT5 || ' AND ( ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
3512 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
3513 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
3514 G_INDENT5 || ' OR ' || g_newline ||
3515 G_INDENT5 || ' ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
3516 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
3517 G_INDENT5 || ' ) ' || g_newline ||
3518 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
3519 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
3520 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
3521 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
3522 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
3523 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
3524 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
3525
3526 lp_pc_cntry_predicate_eq := ' 1 = 1 ' || g_newline;
3527
3528 IF p_new_mode_fetch <> 'Y' THEN
3529 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
3530 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
3531 END IF;
3532
3533 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
3534 G_INDENT5 || ' AND ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
3535 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
3536 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
3537 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
3538 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
3539 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
3540 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
3541 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
3542 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
3543
3544 lp_pc_cntry_predicate_btwn := ' 1 = 1 ' || g_newline;
3545
3546 IF p_new_mode_fetch <> 'Y' THEN
3547 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
3548 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
3549 END IF;
3550
3551 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
3552 G_INDENT5 || ' AND ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
3553 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
3554 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
3555 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
3556 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
3557 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
3558 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
3559 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
3560 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
3561 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
3562
3563 --ARPATEL 10/14 bug#3207518
3564 JTF_TAE_GEN_PVT.write_buffer_content(
3565 l_qual_rules => l_select_ilv2
3566 );
3567
3568 --bug#3373462 ARPATEL: 01/30/2004
3569 JTF_TAE_GEN_PVT.write_buffer_content(
3570 G_INDENT5 || 'FROM ( ' || g_newline || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
3571 );
3572
3573 lx_45084233_sql :=
3574 -- G_INDENT || l_select_ilv2 || g_newline ||
3575 -- G_INDENT || 'FROM ( ' || g_newline ||
3576 -- G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) ' || g_newline ||
3577 -- G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
3578 -- G_INDENT || ' ILV2.trans_object_id' || g_newline ||
3579 -- G_INDENT || ' , ILV2.trans_detail_object_id' || g_newline ||
3580 -- eihsu 06/19/2003 worker_id
3581 -- G_INDENT || ' , ILV2.worker_id' || g_newline ||
3582 -- G_INDENT || ' , ILV2.header_id1' || g_newline ||
3583 -- G_INDENT || ' , ILV2.header_id2' || g_newline ||
3584 -- G_INDENT || ' , ILV2.terr_id' || g_newline ||
3585 -- G_INDENT || ' , ILV2.absolute_rank' || g_newline ||
3586 -- G_INDENT || ' , ILV2.top_level_terr_id' || g_newline ||
3587 -- G_INDENT || ' , ILV2.num_winners' || g_newline ||
3588 -- G_INDENT || ' , ILV2.org_id' || g_newline ||
3589 -- G_INDENT || ' FROM'|| g_newline ||
3590 /************************/
3591 /* = ILV1 */
3592 /************************/
3593 G_INDENT5 || '( /* INLINE VIEW1 */' || g_newline ||
3594 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
3595 G_INDENT5 || ' USE_NL(ILV Q1023R1 ALLP) ' || g_newline ||
3596 G_INDENT5 || ' INDEX(ALLP AS_LEAD_LINES_N2)' || g_newline ||
3597 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3598 G_INDENT5 || ' INDEX(Q1023R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3599 G_INDENT5 || ' */ ' || g_newline ||
3600 G_INDENT5 || ' ALLP.lead_id' || g_newline ||
3601 G_INDENT5 || ' , ALLP.lead_line_id' || g_newline ||
3602 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
3603 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
3604 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
3605 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
3606 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
3607 G_INDENT5 || ' FROM AS_LEAD_LINES ALLP, jtf_terr_qual_rules_mv Q1023R1' || g_newline ||
3608 G_INDENT5 || ' , /* INLINE VIEW */' || g_newline ||
3609 G_INDENT5 || ' ( SELECT /*+ NO_MERGE */' || g_newline ||
3610 G_INDENT5 || ' jtdr.terr_id ' || g_newline ||
3611 G_INDENT5 || ' , jtdr.source_id' || g_newline ||
3612 G_INDENT5 || ' , jtdr.qual_type_id' || g_newline ||
3613 G_INDENT5 || ' , jtdr.top_level_terr_id' || g_newline ||
3614 G_INDENT5 || ' , jtdr.absolute_rank ' || g_newline ||
3615 G_INDENT5 || ' , jtdr.num_winners ' || g_newline ||
3616 G_INDENT5 || ' , jtdr.org_id' || g_newline ||
3617 G_INDENT5 || ' FROM jtf_terr_denorm_rules_all jtdr' || g_newline ||
3618 G_INDENT5 || ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
3619 G_INDENT5 || ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
3620 G_INDENT5 || ' WHERE jtdr.source_id = p_source_id' || g_newline ||
3621 G_INDENT5 || ' AND jtdr.terr_id= jtdr.related_terr_id' || g_newline ||
3622 G_INDENT5 || ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
3623 G_INDENT5 || ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
3624 G_INDENT5 || ' AND jtdr.terr_id = jtqu.terr_id ' || g_newline ||
3625 G_INDENT5 || ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
3626 G_INDENT5 || ' AND jtdr.resource_exists_flag = ''Y''' || g_newline ||
3627 G_INDENT5 || ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i)' || g_newline ||
3628 G_INDENT5 || ' ) ILV' || g_newline ||
3629 G_INDENT5 || ' WHERE ( Q1023R1.qual_usg_id = -1023 AND Q1023R1.terr_id = ILV.terr_id )' || g_newline ||
3630 G_INDENT5 || ' AND ( Q1023R1.secondary_interest_code_id IS NULL' || g_newline ||
3631 G_INDENT5 || ' OR (ALLP.secondary_interest_code_id = Q1023R1.secondary_interest_code_id))' || g_newline ||
3632 G_INDENT5 || ' AND ( Q1023R1.primary_interest_code_id IS NULL' || g_newline ||
3633 G_INDENT5 || ' OR ( ALLP.primary_interest_code_id = Q1023R1.primary_interest_code_id ))' || g_newline ||
3634 G_INDENT5 || ' AND ALLP.interest_type_id = Q1023R1.interest_type_id' || g_newline ||
3635 G_INDENT5 || ' AND Q1023R1.comparison_operator = ''=''' || g_newline ||
3636 G_INDENT5 || ' ) ILV1,' || g_newline ||
3637
3638 /************************/
3639 /* = XYZ ILV2 */
3640 /************************/
3641 G_INDENT5 || ' ( ' || g_newline ||
3642 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
3643 G_INDENT5 || ' ORDERED ' || g_newline ||
3644 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
3645 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012R1 A) ' || g_newline ||
3646 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3647 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
3648 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
3649 '_324347_ND)' || g_newline ||
3650
3651 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3652 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3653 G_INDENT5 || ' INDEX(Q1012R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3654 G_INDENT5 || ' */ ' || g_newline ; --||
3655
3656 /* Add SELECT columns */
3657 JTF_TAE_GEN_PVT.write_buffer_content(
3658 l_qual_rules => lx_45084233_sql
3659 );
3660 --lp_SELECT_cols || g_newline ; ||
3661
3662 JTF_TAE_GEN_PVT.write_buffer_content(
3663 l_qual_rules => lp_SELECT_cols || g_newline
3664 );
3665
3666 lx_45084233_sql_2 :=
3667 G_INDENT5 || 'FROM ' ||
3668
3669 /* STATIC INLINE VIEW */
3670 add_ILV(l_sql, p_new_mode_fetch) ||
3671
3672 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1012R1 ' || g_newline ||
3673 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
3674 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
3675
3676 /* DYNAMIC BASED ON TRANSACTION TYPE */
3677 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
3678
3679 G_INDENT5 || 'WHERE ' || g_newline ||
3680
3681 lp_pc_cntry_predicate || g_newline ||
3682 --G_INDENT5 || ' AND Q1003R1.terr_id = Q1012R1.terr_id ' || g_newline ||
3683 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012R1.terr_id ' || g_newline ||
3684 G_INDENT5 || ' AND ( Q1012R1.comparison_operator = ''='' AND ' || g_newline ||
3685 G_INDENT5 || ' a.squal_fc01 = SUBSTR(Q1012R1.low_value_char, 1, 1) AND ' || g_newline ||
3686 G_INDENT5 || ' a.squal_char01 = Q1012R1.low_value_char ' || g_newline ||
3687 G_INDENT5 || ' ) ' || g_newline ||
3688 G_INDENT5 || ' AND Q1012R1.qual_usg_id = -1012 ' || g_newline ||
3689 G_INDENT5 || ' AND Q1012R1.terr_id = ILV.terr_id ' || g_newline ||
3690 G_INDENT5 || ' AND Q1012R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
3691 G_INDENT5 || ') ILV2' || g_newline ||
3692 G_INDENT5 || 'WHERE ILV1.terr_id = ILV2.terr_id' || g_newline ||
3693 G_INDENT5 || 'AND ILV1.lead_id = ILV2.trans_object_id' || g_newline ||
3694
3695 G_INDENT5 || 'UNION ALL ' || g_newline ; --||
3696
3697 --ARPATEL 10/14 bug#3207518
3698 JTF_TAE_GEN_PVT.write_buffer_content(
3699 l_qual_rules => lx_45084233_sql_2
3700 );
3701
3702 --bug#3373462 ARPATEL: 01/30/2004
3703 JTF_TAE_GEN_PVT.write_buffer_content(
3704 G_INDENT || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
3705 );
3706
3707 lx_45084233_sql_3 :=
3708
3709 --G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) ' || g_newline ||
3710 --G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
3711 --G_INDENT || ' ILV2.trans_object_id' || g_newline ||
3712 --G_INDENT || ' , ILV2.trans_detail_object_id' || g_newline ||
3713 -- eihsu 06/19/2003 worker_id
3714 --G_INDENT || ' , ILV2.worker_id' || g_newline ||
3715 --G_INDENT || ' , ILV2.header_id1' || g_newline ||
3716 --G_INDENT || ' , ILV2.header_id2' || g_newline ||
3717 --G_INDENT || ' , ILV2.terr_id' || g_newline ||
3718 --G_INDENT || ' , ILV2.absolute_rank' || g_newline ||
3719 --G_INDENT || ' , ILV2.top_level_terr_id' || g_newline ||
3720 --G_INDENT || ' , ILV2.num_winners' || g_newline ||
3721 --G_INDENT || ' , ILV2.org_id' || g_newline ||
3722 --G_INDENT || ' FROM'|| g_newline ||
3723 /************************/
3724 /* = ILV1 */
3725 /************************/
3726 G_INDENT5 || '( /* INLINE VIEW1 */' || g_newline ||
3727 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
3728 G_INDENT5 || ' USE_NL(ILV Q1023R1 ALLP) ' || g_newline ||
3729 G_INDENT5 || ' INDEX(ALLP AS_LEAD_LINES_N2)' || g_newline ||
3730 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3731 G_INDENT5 || ' INDEX(Q1023R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3732 G_INDENT5 || ' */ ' || g_newline ||
3733 G_INDENT5 || ' ALLP.lead_id' || g_newline ||
3734 G_INDENT5 || ' , ALLP.lead_line_id' || g_newline ||
3735 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
3736 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
3737 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
3738 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
3739 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
3740 G_INDENT5 || ' FROM AS_LEAD_LINES ALLP, jtf_terr_qual_rules_mv Q1023R1' || g_newline ||
3741 G_INDENT5 || ' , /* INLINE VIEW */' || g_newline ||
3742 G_INDENT5 || ' ( SELECT /*+ NO_MERGE */' || g_newline ||
3743 G_INDENT5 || ' jtdr.terr_id ' || g_newline ||
3744 G_INDENT5 || ' , jtdr.source_id' || g_newline ||
3745 G_INDENT5 || ' , jtdr.qual_type_id' || g_newline ||
3746 G_INDENT5 || ' , jtdr.top_level_terr_id' || g_newline ||
3747 G_INDENT5 || ' , jtdr.absolute_rank ' || g_newline ||
3748 G_INDENT5 || ' , jtdr.num_winners ' || g_newline ||
3749 G_INDENT5 || ' , jtdr.org_id' || g_newline ||
3750 G_INDENT5 || ' FROM jtf_terr_denorm_rules_all jtdr' || g_newline ||
3751 G_INDENT5 || ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
3752 G_INDENT5 || ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
3753 G_INDENT5 || ' WHERE jtdr.source_id = p_source_id' || g_newline ||
3754 G_INDENT5 || ' AND jtdr.terr_id= jtdr.related_terr_id' || g_newline ||
3755 G_INDENT5 || ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
3756 G_INDENT5 || ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
3757 G_INDENT5 || ' AND jtdr.terr_id = jtqu.terr_id ' || g_newline ||
3758 G_INDENT5 || ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
3759 G_INDENT5 || ' AND jtdr.resource_exists_flag = ''Y''' || g_newline ||
3760 G_INDENT5 || ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i)' || g_newline ||
3761 G_INDENT5 || ' ) ILV' || g_newline ||
3762 G_INDENT5 || ' WHERE ( Q1023R1.qual_usg_id = -1023 AND Q1023R1.terr_id = ILV.terr_id )' || g_newline ||
3763 G_INDENT5 || ' AND ( Q1023R1.secondary_interest_code_id IS NULL' || g_newline ||
3764 G_INDENT5 || ' OR (ALLP.secondary_interest_code_id = Q1023R1.secondary_interest_code_id))' || g_newline ||
3765 G_INDENT5 || ' AND ( Q1023R1.primary_interest_code_id IS NULL' || g_newline ||
3766 G_INDENT5 || ' OR ( ALLP.primary_interest_code_id = Q1023R1.primary_interest_code_id ))' || g_newline ||
3767 G_INDENT5 || ' AND ALLP.interest_type_id = Q1023R1.interest_type_id' || g_newline ||
3768 G_INDENT5 || ' AND Q1023R1.comparison_operator = ''=''' || g_newline ||
3769 G_INDENT5 || ' ) ILV1,' || g_newline ||
3770
3771
3772 /************************/
3773 /* LIKE XYZ% */
3774 /************************/
3775 G_INDENT5 || ' ( ' || g_newline ||
3776 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
3777
3778 G_INDENT5 || ' ORDERED ' || g_newline ||
3779 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
3780 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
3781 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3782
3783 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
3784 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
3785 '_324347_ND)' || g_newline ||
3786 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3787 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3788 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
3789 G_INDENT5 || ' */ ' || g_newline ; -- ||
3790
3791 JTF_TAE_GEN_PVT.write_buffer_content(
3792 l_qual_rules => lx_45084233_sql_3
3793 );
3794
3795 /* Add SELECT columns */
3796 JTF_TAE_GEN_PVT.write_buffer_content(
3797 l_qual_rules => lp_SELECT_cols || g_newline
3798 );
3799 --lp_SELECT_cols || g_newline ||
3800
3801 lx_45084233_sql_4 :=
3802 G_INDENT5 || 'FROM '||
3803
3804 /* STATIC INLINE VIEW */
3805 add_ILV(l_sql, p_new_mode_fetch) ||
3806
3807 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
3808 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
3809 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
3810
3811 /* DYNAMIC BASED ON TRANSACTION TYPE */
3812 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
3813
3814 G_INDENT5 || 'WHERE ' || g_newline ||
3815
3816 lp_pc_cntry_predicate || g_newline ||
3817
3818 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
3819 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
3820 G_INDENT5 || ' a.squal_fc01 = Q1012LK.first_char ' || g_newline ||
3821 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
3822 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
3823 G_INDENT5 || ') ILV2' || g_newline ||
3824 G_INDENT5 || 'WHERE ILV1.terr_id = ILV2.terr_id' || g_newline ||
3825 G_INDENT5 || 'AND ILV1.lead_id = ILV2.trans_object_id' || g_newline ||
3826
3827 G_INDENT5 || 'UNION ALL ' || g_newline;
3828
3829 --ARPATEL 10/14 bug#3207518
3830 JTF_TAE_GEN_PVT.write_buffer_content(
3831 l_qual_rules => lx_45084233_sql_4
3832 );
3833
3834 --bug#3373462 ARPATEL: 01/30/2004
3835 JTF_TAE_GEN_PVT.write_buffer_content(
3836 G_INDENT || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
3837 );
3838
3839 --G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) ' || g_newline ||
3840 --G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
3841 --G_INDENT || ' ILV2.trans_object_id' || g_newline ||
3842 --G_INDENT || ' , ILV2.trans_detail_object_id' || g_newline ||
3843 -- eihsu 06/19/2003 worker_id
3844 --G_INDENT || ' , ILV2.worker_id' || g_newline ||
3845 --G_INDENT || ' , ILV2.header_id1' || g_newline ||
3846 --G_INDENT || ' , ILV2.header_id2' || g_newline ||
3847 --G_INDENT || ' , ILV2.terr_id' || g_newline ||
3848 --G_INDENT || ' , ILV2.absolute_rank' || g_newline ||
3849 --G_INDENT || ' , ILV2.top_level_terr_id' || g_newline ||
3850 --G_INDENT || ' , ILV2.num_winners' || g_newline ||
3851 --G_INDENT || ' , ILV2.org_id' || g_newline ||
3852 --G_INDENT || ' FROM'|| g_newline ||
3853 /************************/
3854 /* = ILV1 */
3855 /************************/
3856 lx_45084233_sql_5 :=
3857 G_INDENT5 || '( /* INLINE VIEW1 */' || g_newline ||
3858 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
3859 G_INDENT5 || ' USE_NL(ILV Q1023R1 ALLP) ' || g_newline ||
3860 G_INDENT5 || ' INDEX(ALLP AS_LEAD_LINES_N2)' || g_newline ||
3861 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3862 G_INDENT5 || ' INDEX(Q1023R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3863 G_INDENT5 || ' */ ' || g_newline ||
3864 G_INDENT5 || ' ALLP.lead_id' || g_newline ||
3865 G_INDENT5 || ' , ALLP.lead_line_id' || g_newline ||
3866 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
3867 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
3868 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
3869 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
3870 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
3871 G_INDENT5 || ' FROM AS_LEAD_LINES ALLP, jtf_terr_qual_rules_mv Q1023R1' || g_newline ||
3872 G_INDENT5 || ' , /* INLINE VIEW */' || g_newline ||
3873 G_INDENT5 || ' ( SELECT /*+ NO_MERGE */' || g_newline ||
3874 G_INDENT5 || ' jtdr.terr_id ' || g_newline ||
3875 G_INDENT5 || ' , jtdr.source_id' || g_newline ||
3876 G_INDENT5 || ' , jtdr.qual_type_id' || g_newline ||
3877 G_INDENT5 || ' , jtdr.top_level_terr_id' || g_newline ||
3878 G_INDENT5 || ' , jtdr.absolute_rank ' || g_newline ||
3879 G_INDENT5 || ' , jtdr.num_winners ' || g_newline ||
3880 G_INDENT5 || ' , jtdr.org_id' || g_newline ||
3881 G_INDENT5 || ' FROM jtf_terr_denorm_rules_all jtdr' || g_newline ||
3882 G_INDENT5 || ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
3883 G_INDENT5 || ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
3884 G_INDENT5 || ' WHERE jtdr.source_id = p_source_id' || g_newline ||
3885 G_INDENT5 || ' AND jtdr.terr_id= jtdr.related_terr_id' || g_newline ||
3886 G_INDENT5 || ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
3887 G_INDENT5 || ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
3888 G_INDENT5 || ' AND jtdr.terr_id = jtqu.terr_id ' || g_newline ||
3889 G_INDENT5 || ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
3890 G_INDENT5 || ' AND jtdr.resource_exists_flag = ''Y''' || g_newline ||
3891 G_INDENT5 || ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i)' || g_newline ||
3892 G_INDENT5 || ' ) ILV' || g_newline ||
3893 G_INDENT5 || ' WHERE ( Q1023R1.qual_usg_id = -1023 AND Q1023R1.terr_id = ILV.terr_id )' || g_newline ||
3894 G_INDENT5 || ' AND ( Q1023R1.secondary_interest_code_id IS NULL' || g_newline ||
3895 G_INDENT5 || ' OR (ALLP.secondary_interest_code_id = Q1023R1.secondary_interest_code_id))' || g_newline ||
3896 G_INDENT5 || ' AND ( Q1023R1.primary_interest_code_id IS NULL' || g_newline ||
3897 G_INDENT5 || ' OR ( ALLP.primary_interest_code_id = Q1023R1.primary_interest_code_id ))' || g_newline ||
3898 G_INDENT5 || ' AND ALLP.interest_type_id = Q1023R1.interest_type_id' || g_newline ||
3899 G_INDENT5 || ' AND Q1023R1.comparison_operator = ''=''' || g_newline ||
3900 G_INDENT5 || ' ) ILV1,' || g_newline ||
3901
3902 /************************/
3903 /* LIKE %XYZ */
3904 /************************/
3905 G_INDENT5 || ' ( ' || g_newline ||
3906 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
3907
3908 G_INDENT5 || ' ORDERED ' || g_newline ||
3909 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
3910 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
3911 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3912 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
3913 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
3914 '_324347X_ND)' || g_newline ||
3915 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3916 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3917 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
3918 G_INDENT5 || ' */ ' || g_newline ||
3919
3920 /* Add SELECT columns */
3921 lp_SELECT_cols || g_newline ||
3922
3923 G_INDENT5 || 'FROM '||
3924
3925 /* STATIC INLINE VIEW */
3926 add_ILV(l_sql, p_new_mode_fetch) ||
3927
3928 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
3929 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
3930 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
3931
3932 /* DYNAMIC BASED ON TRANSACTION TYPE */
3933 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
3934
3935 G_INDENT5 || 'WHERE ' || g_newline ||
3936
3937 lp_pc_cntry_predicate_eq || g_newline ||
3938
3939 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
3940 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
3941 G_INDENT5 || ' Q1012LK.first_char = ''%'' ' || g_newline ||
3942 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
3943 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
3944 G_INDENT5 || 'UNION ALL ' || g_newline ||
3945 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
3946
3947 G_INDENT5 || ' ORDERED ' || g_newline ||
3948 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
3949 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
3950 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
3951 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
3952 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
3953 '_324347X_ND)' || g_newline ||
3954 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3955 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
3956 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
3957 G_INDENT5 || ' */ ' || g_newline ||
3958
3959 /* Add SELECT columns */
3960 lp_SELECT_cols || g_newline ||
3961
3962 G_INDENT5 || 'FROM '||
3963
3964 /* STATIC INLINE VIEW */
3965 add_ILV(l_sql, p_new_mode_fetch) ||
3966
3967 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
3968 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
3969 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
3970
3971 /* DYNAMIC BASED ON TRANSACTION TYPE */
3972 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
3973
3974 G_INDENT5 || 'WHERE ' || g_newline ||
3975
3976 lp_pc_cntry_predicate_btwn || g_newline ||
3977
3978 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
3979 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
3980 G_INDENT5 || ' Q1012LK.first_char = ''%'' ' || g_newline ||
3981 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
3982 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
3983
3984 G_INDENT5 || ') ILV2' || g_newline ||
3985 G_INDENT5 || 'WHERE ILV1.terr_id = ILV2.terr_id' || g_newline ||
3986 G_INDENT5 || 'AND ILV1.lead_id = ILV2.trans_object_id' || g_newline ||
3987
3988 G_INDENT5 || 'UNION ALL ' || g_newline ;--||
3989
3990 --ARPATEL 10/14 bug#3207518
3991 JTF_TAE_GEN_PVT.write_buffer_content(
3992 l_qual_rules => lx_45084233_sql_5
3993 );
3994
3995 --bug#3373462 ARPATEL: 01/30/2004
3996 JTF_TAE_GEN_PVT.write_buffer_content(
3997 G_INDENT || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
3998 );
3999
4000 lx_45084233_sql_6 :=
4001 --G_INDENT || 'SELECT /*+ NO_MERGE(ILV1) NO_MERGE(ILV2) ' || g_newline ||
4002 --G_INDENT || ' USE_HASH(ILV1 ILV2) */' || g_newline ||
4003 --G_INDENT || ' ILV2.trans_object_id' || g_newline ||
4004 --G_INDENT || ' , ILV2.trans_detail_object_id' || g_newline ||
4005 -- eihsu 06/19/2003 worker_id
4006 --G_INDENT || ' , ILV2.worker_id' || g_newline ||
4007 --G_INDENT || ' , ILV2.header_id1' || g_newline ||
4008 --G_INDENT || ' , ILV2.header_id2' || g_newline ||
4009 --G_INDENT || ' , ILV2.terr_id' || g_newline ||
4010 --G_INDENT || ' , ILV2.absolute_rank' || g_newline ||
4011 --G_INDENT || ' , ILV2.top_level_terr_id' || g_newline ||
4012 --G_INDENT || ' , ILV2.num_winners' || g_newline ||
4013 --G_INDENT || ' , ILV2.org_id' || g_newline ||
4014 --G_INDENT || ' FROM'|| g_newline ||
4015 /************************/
4016 /* = ILV1 */
4017 /************************/
4018 G_INDENT5 || '( /* INLINE VIEW1 */' || g_newline ||
4019 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
4020 G_INDENT5 || ' USE_NL(ILV Q1023R1 ALLP) ' || g_newline ||
4021 G_INDENT5 || ' INDEX(ALLP AS_LEAD_LINES_N2)' || g_newline ||
4022 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
4023 G_INDENT5 || ' INDEX(Q1023R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4024 G_INDENT5 || ' */ ' || g_newline ||
4025 G_INDENT5 || ' ALLP.lead_id' || g_newline ||
4026 G_INDENT5 || ' , ALLP.lead_line_id' || g_newline ||
4027 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
4028 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
4029 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
4030 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
4031 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
4032 G_INDENT5 || ' FROM AS_LEAD_LINES ALLP, jtf_terr_qual_rules_mv Q1023R1' || g_newline ||
4033 G_INDENT5 || ' , /* INLINE VIEW */' || g_newline ||
4034 G_INDENT5 || ' ( SELECT /*+ NO_MERGE */' || g_newline ||
4035 G_INDENT5 || ' jtdr.terr_id ' || g_newline ||
4036 G_INDENT5 || ' , jtdr.source_id' || g_newline ||
4037 G_INDENT5 || ' , jtdr.qual_type_id' || g_newline ||
4038 G_INDENT5 || ' , jtdr.top_level_terr_id' || g_newline ||
4039 G_INDENT5 || ' , jtdr.absolute_rank ' || g_newline ||
4040 G_INDENT5 || ' , jtdr.num_winners ' || g_newline ||
4041 G_INDENT5 || ' , jtdr.org_id' || g_newline ||
4042 G_INDENT5 || ' FROM jtf_terr_denorm_rules_all jtdr' || g_newline ||
4043 G_INDENT5 || ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
4044 G_INDENT5 || ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
4045 G_INDENT5 || ' WHERE jtdr.source_id = p_source_id' || g_newline ||
4046 G_INDENT5 || ' AND jtdr.terr_id= jtdr.related_terr_id' || g_newline ||
4047 G_INDENT5 || ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
4048 G_INDENT5 || ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
4049 G_INDENT5 || ' AND jtdr.terr_id = jtqu.terr_id ' || g_newline ||
4050 G_INDENT5 || ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
4051 G_INDENT5 || ' AND jtdr.resource_exists_flag = ''Y''' || g_newline ||
4052 G_INDENT5 || ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i)' || g_newline ||
4053 G_INDENT5 || ' ) ILV' || g_newline ||
4054 G_INDENT5 || ' WHERE ( Q1023R1.qual_usg_id = -1023 AND Q1023R1.terr_id = ILV.terr_id )' || g_newline ||
4055 G_INDENT5 || ' AND ( Q1023R1.secondary_interest_code_id IS NULL' || g_newline ||
4056 G_INDENT5 || ' OR (ALLP.secondary_interest_code_id = Q1023R1.secondary_interest_code_id))' || g_newline ||
4057 G_INDENT5 || ' AND ( Q1023R1.primary_interest_code_id IS NULL' || g_newline ||
4058 G_INDENT5 || ' OR ( ALLP.primary_interest_code_id = Q1023R1.primary_interest_code_id ))' || g_newline ||
4059 G_INDENT5 || ' AND ALLP.interest_type_id = Q1023R1.interest_type_id' || g_newline ||
4060 G_INDENT5 || ' AND Q1023R1.comparison_operator = ''=''' || g_newline ||
4061 G_INDENT5 || ' ) ILV1,' || g_newline ||
4062
4063 G_INDENT5 || ' ( ' || g_newline ||
4064 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
4065 G_INDENT5 || ' ORDERED ' || g_newline ||
4066 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
4067 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012BT A) ' || g_newline ||
4068 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
4069 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
4070 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
4071 '_324347_ND)' || g_newline ||
4072
4073 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4074 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4075 G_INDENT5 || ' INDEX(Q1012BT JTF_TERR_CNR_QUAL_BTWN_MV_N10) ' || g_newline ||
4076 G_INDENT5 || ' */ ' || g_newline ||
4077
4078 /* Add SELECT columns */
4079 lp_SELECT_cols || g_newline ||
4080
4081 G_INDENT5 || 'FROM '||
4082
4083 /* STATIC INLINE VIEW */
4084 add_ILV(l_sql, p_new_mode_fetch) ||
4085
4086 G_INDENT5 || ' , jtf_terr_cnr_qual_btwn_mv Q1012BT ' || g_newline ||
4087 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
4088 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
4089
4090 /* DYNAMIC BASED ON TRANSACTION TYPE */
4091 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
4092
4093 G_INDENT5 || 'WHERE ' || g_newline ||
4094
4095 lp_pc_cntry_predicate || g_newline ||
4096
4097 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012BT.terr_id ' || g_newline ||
4098 G_INDENT5 || ' AND a.squal_char01 <= Q1012BT.high_value_char AND ' || g_newline ||
4099 G_INDENT5 || ' a.squal_char01 >= Q1012BT.low_value_char AND ' || g_newline ||
4100 G_INDENT5 || ' a.squal_fc01 >= SUBSTR(Q1012BT.low_value_char, 1, 1) ' || g_newline ||
4101 G_INDENT5 || ' AND Q1012BT.qual_usg_id = -1012 ' || g_newline ||
4102 G_INDENT5 || ' AND Q1012BT.terr_id = ILV.terr_id ' || g_newline ||
4103 G_INDENT5 || ' AND Q1012BT.terr_id = Q1003R1.terr_id ' || g_newline ||
4104 G_INDENT5 || ') ILV2' || g_newline ||
4105 G_INDENT5 || 'WHERE ILV1.terr_id = ILV2.terr_id' || g_newline ||
4106 G_INDENT5 || 'AND ILV1.lead_id = ILV2.trans_object_id' || g_newline ||
4107 G_INDENT || lp_close_outermost_ILV || g_newline;
4108
4109 RETURN lx_45084233_sql_6;
4110
4111 EXCEPTION
4112 WHEN OTHERS THEN
4113 g_ProgramStatus := 1;
4114 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_45084233_SQL');
4115
4116 END add_45084233_SQL;
4117
4118
4119 --** LEAD PRODUCT CATEGORY + COUNTRY + POSTAL CODE ***
4120 FUNCTION add_924631_SQL( p_trans_object_type_id IN NUMBER
4121 , p_table_name IN VARCHAR2
4122 , p_new_mode_fetch IN CHAR)
4123
4124 RETURN VARCHAR2 AS
4125
4126 lp_close_outermost_ILV VARCHAR2(255);
4127 l_select_ilv2 VARCHAR2(32767) := NULL;
4128 lp_SELECT_cols VARCHAR2(32767) := NULL;
4129 lp_pc_cntry_predicate VARCHAR2(32767) := NULL;
4130 lx_924631_sql VARCHAR2(32767) := NULL;
4131 lx_924631_sql_1 VARCHAR2(32767) := NULL;
4132 lx_924631_sql_2 VARCHAR2(32767) := NULL;
4133 lx_924631_sql_3 VARCHAR2(32767) := NULL;
4134 lx_924631_sql_4 VARCHAR2(32767) := NULL;
4135 lx_924631_sql_5 VARCHAR2(32767) := NULL;
4136 lx_924631_sql_A VARCHAR2(32767) := NULL;
4137 lx_924631_sql_B VARCHAR2(32767) := NULL;
4138 lx_924631_sql_C VARCHAR2(32767) := NULL;
4139 l_sql VARCHAR2(32767) := NULL;
4140
4141 BEGIN
4142 --** LEAD PRODUCT CATEGORY + COUNTRY + POSTAL CODE ***
4143
4144 IF p_new_mode_fetch = 'Y' THEN
4145 l_select_ilv2 := add_SELECT_clause(p_new_mode_fetch);
4146 lp_close_outermost_ILV := ') A; ';
4147
4148 lp_SELECT_cols :=
4149 --G_INDENT5 || add_SELECT_cols(p_new_mode_fetch) || g_newline;
4150
4151 /* ARPATEL: bug#3373462 */
4152 G_INDENT || ' A.TRANS_OBJECT_ID' || g_newline ||
4153 G_INDENT || ' , A.TRANS_DETAIL_OBJECT_ID' || g_newline ||
4154 G_INDENT || ' , A.HEADER_ID1' || g_newline ||
4155 G_INDENT || ' , A.HEADER_ID2' || g_newline ||
4156 G_INDENT || ' , A.SQUAL_FC01' || g_newline ||
4157 G_INDENT || ' , A.SQUAL_FC02' || g_newline ||
4158 G_INDENT || ' , A.SQUAL_FC03' || g_newline ||
4159 G_INDENT || ' , A.SQUAL_FC04' || g_newline ||
4160 G_INDENT || ' , A.SQUAL_FC05' || g_newline ||
4161 G_INDENT || ' , A.SQUAL_CURC01' || g_newline ||
4162 G_INDENT || ' , A.SQUAL_CURC02' || g_newline ||
4163 G_INDENT || ' , A.SQUAL_CURC03' || g_newline ||
4164 G_INDENT || ' , A.SQUAL_CURC04' || g_newline ||
4165 G_INDENT || ' , A.SQUAL_CURC05' || g_newline ||
4166 G_INDENT || ' , A.SQUAL_CURC06' || g_newline ||
4167 G_INDENT || ' , A.SQUAL_CURC07' || g_newline ||
4168 G_INDENT || ' , A.SQUAL_CURC08' || g_newline ||
4169 G_INDENT || ' , A.SQUAL_CURC09' || g_newline ||
4170 G_INDENT || ' , A.SQUAL_CURC10' || g_newline ||
4171 G_INDENT || ' , A.SQUAL_CHAR01' || g_newline ||
4172 G_INDENT || ' , A.SQUAL_CHAR02' || g_newline ||
4173 G_INDENT || ' , A.SQUAL_CHAR03' || g_newline ||
4174 G_INDENT || ' , A.SQUAL_CHAR04' || g_newline ||
4175 G_INDENT || ' , A.SQUAL_CHAR05' || g_newline ||
4176 G_INDENT || ' , A.SQUAL_CHAR06' || g_newline ||
4177 G_INDENT || ' , A.SQUAL_CHAR07' || g_newline ||
4178 G_INDENT || ' , A.SQUAL_CHAR08' || g_newline ||
4179 G_INDENT || ' , A.SQUAL_CHAR09' || g_newline ||
4180 G_INDENT || ' , A.SQUAL_CHAR10' || g_newline ||
4181 G_INDENT || ' , A.SQUAL_CHAR11' || g_newline ||
4182 G_INDENT || ' , A.SQUAL_CHAR12' || g_newline ||
4183 G_INDENT || ' , A.SQUAL_CHAR13' || g_newline ||
4184 G_INDENT || ' , A.SQUAL_CHAR14' || g_newline ||
4185 G_INDENT || ' , A.SQUAL_CHAR15' || g_newline ||
4186 G_INDENT || ' , A.SQUAL_CHAR16' || g_newline ||
4187 G_INDENT || ' , A.SQUAL_CHAR17' || g_newline ||
4188 G_INDENT || ' , A.SQUAL_CHAR18' || g_newline ||
4189 G_INDENT || ' , A.SQUAL_CHAR19' || g_newline ||
4190 G_INDENT || ' , A.SQUAL_CHAR20' || g_newline ||
4191 G_INDENT || ' , A.SQUAL_CHAR21' || g_newline ||
4192 G_INDENT || ' , A.SQUAL_CHAR22' || g_newline ||
4193 G_INDENT || ' , A.SQUAL_CHAR23' || g_newline ||
4194 G_INDENT || ' , A.SQUAL_CHAR24' || g_newline ||
4195 G_INDENT || ' , A.SQUAL_CHAR25' || g_newline ||
4196 G_INDENT || ' , A.SQUAL_CHAR26' || g_newline ||
4197 G_INDENT || ' , A.SQUAL_CHAR27' || g_newline ||
4198 G_INDENT || ' , A.SQUAL_CHAR28' || g_newline ||
4199 G_INDENT || ' , A.SQUAL_CHAR30' || g_newline ||
4200 G_INDENT || ' , A.SQUAL_CHAR31' || g_newline ||
4201 G_INDENT || ' , A.SQUAL_CHAR32' || g_newline ||
4202 G_INDENT || ' , A.SQUAL_CHAR33' || g_newline ||
4203 G_INDENT || ' , A.SQUAL_CHAR34' || g_newline ||
4204 G_INDENT || ' , A.SQUAL_CHAR35' || g_newline ||
4205 G_INDENT || ' , A.SQUAL_CHAR36' || g_newline ||
4206 G_INDENT || ' , A.SQUAL_CHAR37' || g_newline ||
4207 G_INDENT || ' , A.SQUAL_CHAR38' || g_newline ||
4208 G_INDENT || ' , A.SQUAL_CHAR39' || g_newline ||
4209 G_INDENT || ' , A.SQUAL_CHAR40' || g_newline ||
4210 G_INDENT || ' , A.SQUAL_CHAR41' || g_newline ||
4211 G_INDENT || ' , A.SQUAL_CHAR42' || g_newline ||
4212 G_INDENT || ' , A.SQUAL_CHAR43' || g_newline ||
4213 G_INDENT || ' , A.SQUAL_CHAR44' || g_newline ||
4214 G_INDENT || ' , A.SQUAL_CHAR45' || g_newline ||
4215 G_INDENT || ' , A.SQUAL_CHAR46' || g_newline ||
4216 G_INDENT || ' , A.SQUAL_CHAR47' || g_newline ||
4217 G_INDENT || ' , A.SQUAL_CHAR48' || g_newline ||
4218 G_INDENT || ' , A.SQUAL_CHAR49' || g_newline ||
4219 G_INDENT || ' , A.SQUAL_CHAR50' || g_newline ||
4220 G_INDENT || ' , A.SQUAL_CHAR51' || g_newline ||
4221 G_INDENT || ' , A.SQUAL_CHAR52' || g_newline ||
4222 G_INDENT || ' , A.SQUAL_CHAR53' || g_newline ||
4223 G_INDENT || ' , A.SQUAL_CHAR54' || g_newline ||
4224 G_INDENT || ' , A.SQUAL_CHAR55' || g_newline ||
4225 G_INDENT || ' , A.SQUAL_CHAR56' || g_newline ||
4226 G_INDENT || ' , A.SQUAL_CHAR57' || g_newline ||
4227 G_INDENT || ' , A.SQUAL_CHAR58' || g_newline ||
4228 G_INDENT || ' , A.SQUAL_CHAR59' || g_newline ||
4229 G_INDENT || ' , A.SQUAL_CHAR60' || g_newline ||
4230 G_INDENT || ' , A.SQUAL_NUM01' || g_newline ||
4231 G_INDENT || ' , A.SQUAL_NUM02' || g_newline ||
4232 G_INDENT || ' , A.SQUAL_NUM03' || g_newline ||
4233 G_INDENT || ' , A.SQUAL_NUM04' || g_newline ||
4234 G_INDENT || ' , A.SQUAL_NUM05' || g_newline ||
4235 G_INDENT || ' , A.SQUAL_NUM06' || g_newline ||
4236 G_INDENT || ' , A.SQUAL_NUM07' || g_newline ||
4237 G_INDENT || ' , A.SQUAL_NUM08' || g_newline ||
4238 G_INDENT || ' , A.SQUAL_NUM09' || g_newline ||
4239 G_INDENT || ' , A.SQUAL_NUM10' || g_newline ||
4240 G_INDENT || ' , A.SQUAL_NUM11' || g_newline ||
4241 G_INDENT || ' , A.SQUAL_NUM12' || g_newline ||
4242 G_INDENT || ' , A.SQUAL_NUM13' || g_newline ||
4243 G_INDENT || ' , A.SQUAL_NUM14' || g_newline ||
4244 G_INDENT || ' , A.SQUAL_NUM15' || g_newline ||
4245 G_INDENT || ' , A.SQUAL_NUM16' || g_newline ||
4246 G_INDENT || ' , A.SQUAL_NUM17' || g_newline ||
4247 G_INDENT || ' , A.SQUAL_NUM18' || g_newline ||
4248 G_INDENT || ' , A.SQUAL_NUM19' || g_newline ||
4249 G_INDENT || ' , A.SQUAL_NUM20' || g_newline ||
4250 G_INDENT || ' , A.SQUAL_NUM21' || g_newline ||
4251 G_INDENT || ' , A.SQUAL_NUM22' || g_newline ||
4252 G_INDENT || ' , A.SQUAL_NUM23' || g_newline ||
4253 G_INDENT || ' , A.SQUAL_NUM24' || g_newline ||
4254 G_INDENT || ' , A.SQUAL_NUM25' || g_newline ||
4255 G_INDENT || ' , A.SQUAL_NUM26' || g_newline ||
4256 G_INDENT || ' , A.SQUAL_NUM27' || g_newline ||
4257 G_INDENT || ' , A.SQUAL_NUM28' || g_newline ||
4258 G_INDENT || ' , A.SQUAL_NUM29' || g_newline ||
4259 G_INDENT || ' , A.SQUAL_NUM30' || g_newline ||
4260 G_INDENT || ' , A.SQUAL_NUM31' || g_newline ||
4261 G_INDENT || ' , A.SQUAL_NUM32' || g_newline ||
4262 G_INDENT || ' , A.SQUAL_NUM33' || g_newline ||
4263 G_INDENT || ' , A.SQUAL_NUM34' || g_newline ||
4264 G_INDENT || ' , A.SQUAL_NUM35' || g_newline ||
4265 G_INDENT || ' , A.SQUAL_NUM36' || g_newline ||
4266 G_INDENT || ' , A.SQUAL_NUM37' || g_newline ||
4267 G_INDENT || ' , A.SQUAL_NUM38' || g_newline ||
4268 G_INDENT || ' , A.SQUAL_NUM39' || g_newline ||
4269 G_INDENT || ' , A.SQUAL_NUM40' || g_newline ||
4270 G_INDENT || ' , A.SQUAL_NUM41' || g_newline ||
4271 G_INDENT || ' , A.SQUAL_NUM42' || g_newline ||
4272 G_INDENT || ' , A.SQUAL_NUM43' || g_newline ||
4273 G_INDENT || ' , A.SQUAL_NUM44' || g_newline ||
4274 G_INDENT || ' , A.SQUAL_NUM45' || g_newline ||
4275 G_INDENT || ' , A.SQUAL_NUM46' || g_newline ||
4276 G_INDENT || ' , A.SQUAL_NUM47' || g_newline ||
4277 G_INDENT || ' , A.SQUAL_NUM48' || g_newline ||
4278 G_INDENT || ' , A.SQUAL_NUM49' || g_newline ||
4279 G_INDENT || ' , A.SQUAL_NUM50' || g_newline ||
4280 G_INDENT || ' , A.SQUAL_NUM51' || g_newline ||
4281 G_INDENT || ' , A.SQUAL_NUM52' || g_newline ||
4282 G_INDENT || ' , A.SQUAL_NUM53' || g_newline ||
4283 G_INDENT || ' , A.SQUAL_NUM54' || g_newline ||
4284 G_INDENT || ' , A.SQUAL_NUM55' || g_newline ||
4285 G_INDENT || ' , A.SQUAL_NUM56' || g_newline ||
4286 G_INDENT || ' , A.SQUAL_NUM57' || g_newline ||
4287 G_INDENT || ' , A.SQUAL_NUM58' || g_newline ||
4288 G_INDENT || ' , A.SQUAL_NUM59' || g_newline ||
4289 G_INDENT || ' , A.SQUAL_NUM60' || g_newline ||
4290 G_INDENT || ' , A.ASSIGNED_FLAG' || g_newline ||
4291 G_INDENT || ' , A.PROCESSED_FLAG' || g_newline ||
4292 G_INDENT || ' , A.ORG_ID' || g_newline ||
4293 G_INDENT || ' , A.SECURITY_GROUP_ID' || g_newline ||
4294 G_INDENT || ' , A.OBJECT_VERSION_NUMBER' || g_newline ||
4295 G_INDENT || ' , A.WORKER_ID' || g_newline ||
4296 G_INDENT || ' , ILV.terr_id ' || g_newline ||
4297 G_INDENT || ' , ILV.absolute_rank ' || g_newline ||
4298 G_INDENT || ' , ILV.top_level_terr_id '|| g_newline ||
4299 G_INDENT || ' , ILV.num_winners ' || g_newline;
4300
4301
4302
4303 ELSE
4304 l_select_ilv2 :=
4305 G_INDENT5 || 'SELECT DISTINCT ' || g_newline ||
4306 G_INDENT5 ||'ILV2.trans_object_id' || g_newline ||
4307 G_INDENT5 ||', ILV2.trans_detail_object_id' || g_newline ||
4308 -- eihsu 06/19/2003 worker_id
4309 G_INDENT5 ||',ILV2.worker_id' || g_newline ||
4310 G_INDENT5 ||',ILV2.header_id1' || g_newline ||
4311 G_INDENT5 ||',ILV2.header_id2' || g_newline ||
4312 G_INDENT5 ||', p_source_id' || g_newline ||
4313 G_INDENT5 ||', p_trans_object_type_id' || g_newline ||
4314 G_INDENT5 ||', l_sysdate' || g_newline ||
4315 G_INDENT5 ||', L_USER_ID' || g_newline ||
4316 G_INDENT5 ||', l_sysdate' || g_newline ||
4317 G_INDENT5 ||', L_USER_ID' || g_newline ||
4318 G_INDENT5 ||', L_USER_ID' || g_newline ||
4319 G_INDENT5 ||', L_REQUEST_ID' || g_newline ||
4320 G_INDENT5 ||', L_PROGRAM_APPL_ID' || g_newline ||
4321 G_INDENT5 ||', L_PROGRAM_ID' || g_newline ||
4322 G_INDENT5 ||', l_sysdate' || g_newline ||
4323 G_INDENT5 ||', ILV2.terr_id' || g_newline ||
4324 G_INDENT5 ||', ILV2.absolute_rank' || g_newline ||
4325 G_INDENT5 ||', ILV2.top_level_terr_id' || g_newline ||
4326 G_INDENT5 ||', ILV2.num_winners' || g_newline ||
4327 G_INDENT5 ||', ILV2.org_id' || g_newline ;
4328
4329 lp_close_outermost_ILV := ' ; ';
4330
4331 lp_SELECT_cols :=
4332 G_INDENT5 || 'A.trans_object_id, A.trans_detail_object_id, ' || g_newline ||
4333 -- eihsu 06/19/2003 worker_id
4334 G_INDENT5 || 'A.worker_id, ' || g_newline ||
4335 G_INDENT5 || 'A.header_id1, A.header_id2, ' || g_newline ||
4336 G_INDENT5 || 'ILV.terr_id, ILV.absolute_rank, ' || g_newline ||
4337 G_INDENT5 || 'ILV.top_level_terr_id, ILV.num_winners, ILV.org_id ';
4338 END IF;
4339
4340 lp_pc_cntry_predicate := ' 1 = 1 ' || g_newline;
4341
4342 IF p_new_mode_fetch <> 'Y' THEN
4343 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
4344 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
4345 END IF;
4346
4347 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
4348 G_INDENT5 || ' AND ( ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
4349 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
4350 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
4351 G_INDENT5 || ' OR ' || g_newline ||
4352 G_INDENT5 || ' ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
4353 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
4354 G_INDENT5 || ' ) ' || g_newline ||
4355 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
4356 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
4357 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
4358 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
4359 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
4360 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
4361 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
4362
4363 --ARPATEL 10/14 bug#3207518
4364 JTF_TAE_GEN_PVT.write_buffer_content(
4365 l_qual_rules => l_select_ilv2
4366 );
4367
4368 --bug#3373462 ARPATEL: 01/30/2004
4369 IF p_new_mode_fetch = 'Y'
4370 THEN
4371 JTF_TAE_GEN_PVT.write_buffer_content(
4372 G_INDENT5 || 'FROM ( ' || g_newline || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
4373 );
4374 ELSE
4375 JTF_TAE_GEN_PVT.write_buffer_content(
4376 G_INDENT5 || 'FROM ' || g_newline
4377 );
4378 END IF;
4379
4380 lx_924631_sql_1 :=
4381
4382 /************************/
4383 /* = XYZ ILV2 1 */
4384 /************************/
4385 G_INDENT5 || ' ( ' || g_newline ||
4386 G_INDENT5 || 'SELECT /*+ ' || g_newline;
4387
4388 IF p_new_mode_fetch = 'Y' THEN
4389 lx_924631_sql_1 := lx_924631_sql_1 ||
4390 G_INDENT5 || ' NO_MERGE ' || g_newline ||
4391 G_INDENT5 || ' ORDERED ' || g_newline ||
4392 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
4393 G_INDENT5 || ' */ ' || g_newline ; --||
4394 ELSE
4395 lx_924631_sql_1 := lx_924631_sql_1 ||
4396 G_INDENT5 || ' NO_MERGE ' || g_newline ||
4397 G_INDENT5 || ' ORDERED ' || g_newline ||
4398 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
4399 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 A) ' || g_newline ||
4400 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
4401 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
4402 '_4841_ND)' || g_newline ||
4403
4404 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4405 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4406 G_INDENT5 || ' */ ' || g_newline ; --||
4407 END IF;
4408
4409
4410 --ARPATEL 10/14 bug#3207518
4411 JTF_TAE_GEN_PVT.write_buffer_content(
4412 l_qual_rules => lx_924631_sql_1
4413 );
4414
4415 /* Add SELECT columns */
4416 --ARPATEL 10/14 bug#3207518
4417 JTF_TAE_GEN_PVT.write_buffer_content(
4418 l_qual_rules => lp_SELECT_cols || g_newline
4419 );
4420 --lp_SELECT_cols || g_newline
4421
4422 lx_924631_sql :=
4423 G_INDENT5 || 'FROM ';
4424
4425 IF p_new_mode_fetch = 'Y' THEN
4426 lx_924631_sql := lx_924631_sql ||
4427 /* STATIC INLINE VIEW */
4428 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
4429 ELSE
4430 lx_924631_sql := lx_924631_sql ||
4431 /* STATIC INLINE VIEW */
4432 add_ILV(l_sql, p_new_mode_fetch);
4433 END IF;
4434
4435 lx_924631_sql := lx_924631_sql ||
4436 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
4437 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
4438
4439 /* DYNAMIC BASED ON TRANSACTION TYPE */
4440 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
4441
4442 G_INDENT5 || 'WHERE ' || g_newline ||
4443
4444 lp_pc_cntry_predicate || g_newline ||
4445
4446 G_INDENT5 || ' ) ILV2,' || g_newline ||
4447
4448 /************************/
4449 /* = ILV1 */
4450 /************************/
4451 G_INDENT5 || '( ' || g_newline ||
4452 G_INDENT5 || 'SELECT /*+ ' || g_newline;
4453
4454 IF p_new_mode_fetch = 'Y' THEN
4455 lx_924631_sql := lx_924631_sql || G_INDENT5 || ' ORDERED ' || g_newline;
4456 END IF;
4457
4458 lx_924631_sql := lx_924631_sql ||
4459 G_INDENT5 || ' USE_NL(ILV Q1131R1 ASLLP) ' || g_newline ||
4460 G_INDENT5 || ' USE_HASH(Q1131R1 ASLLP) ' || g_newline ||
4461 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
4462 G_INDENT5 || ' */ ' || g_newline ||
4463
4464 G_INDENT5 || ' ASLLP.sales_lead_id' || g_newline ||
4465 G_INDENT5 || ' , ASLLP.sales_lead_line_id' || g_newline ||
4466 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
4467 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
4468 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
4469 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
4470 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
4471 G_INDENT5 || ' FROM ' || g_newline;
4472
4473 IF p_new_mode_fetch = 'Y' THEN
4474 lx_924631_sql := lx_924631_sql ||
4475 /* STATIC INLINE VIEW */
4476 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
4477 ELSE
4478 lx_924631_sql := lx_924631_sql ||
4479 /* STATIC INLINE VIEW */
4480 add_ILV(l_sql, p_new_mode_fetch);
4481 END IF;
4482
4483 lx_924631_sql := lx_924631_sql ||
4484 G_INDENT5 || ' ,jtf_terr_qual_rules_mv Q1131R1 ' || g_newline ||
4485 G_INDENT5 || ' ,ENI_PROD_DENORM_HRCHY_V PRD,AS_SALES_LEAD_LINES ASLLP ' || g_newline ||
4486 G_INDENT5 || ' WHERE ( Q1131R1.qual_usg_id = -1131 AND Q1131R1.terr_id = ILV.terr_id )' || g_newline ||
4487 G_INDENT5 || ' AND Q1131R1.value1_id = PRD.child_id ' || g_newline ||
4488 G_INDENT5 || ' AND Q1131R1.value2_id = PRD.category_set_id ' || g_newline ||
4489 G_INDENT5 || ' AND PRD.parent_id = ASLLP.category_id ' || g_newline ||
4490 G_INDENT5 || ' AND PRD.category_set_id = ASLLP.category_set_id ' || g_newline ||
4491 G_INDENT5 || ' AND Q1131R1.comparison_operator = ''=''' || g_newline ||
4492 G_INDENT5 || ' ) ILV1 ' || g_newline ||
4493 G_INDENT5 || ' WHERE ILV1.terr_id = ILV2.terr_id ' || g_newline ||
4494 G_INDENT5 || ' AND ILV1.sales_lead_id = ILV2.trans_object_id ' || g_newline ||
4495 G_INDENT5 || lp_close_outermost_ILV || g_newline;
4496
4497 RETURN lx_924631_sql;
4498
4499 EXCEPTION
4500 WHEN OTHERS THEN
4501 g_ProgramStatus := 1;
4502 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_924631_SQL');
4503
4504 END add_924631_SQL;
4505
4506 --** LEAD PRODUCT CATEGORY + CNR + Country + Postal Code ***
4507 FUNCTION add_61950277_SQL( p_trans_object_type_id IN NUMBER
4508 , p_table_name IN VARCHAR2
4509 -- dblee: 08/26/03 added new mode flag
4510 , p_new_mode_fetch IN CHAR)
4511
4512 RETURN VARCHAR2 AS
4513
4514 lp_close_outermost_ILV VARCHAR2(255);
4515 l_select_ilv2 VARCHAR2(32767) := NULL;
4516 lp_SELECT_cols VARCHAR2(32767) := NULL;
4517 lp_pc_cntry_predicate_eq VARCHAR2(32767) := NULL;
4518 lp_pc_cntry_predicate VARCHAR2(32767) := NULL;
4519 lp_pc_cntry_predicate_btwn VARCHAR2(32767) := NULL;
4520 lx_61950277_sql VARCHAR2(32767) := NULL;
4521 lx_61950277_sql_1 VARCHAR2(32767) := NULL;
4522 lx_61950277_sql_2 VARCHAR2(32767) := NULL;
4523 lx_61950277_sql_3 VARCHAR2(32767) := NULL;
4524 lx_61950277_sql_4 VARCHAR2(32767) := NULL;
4525 lx_61950277_sql_5 VARCHAR2(32767) := NULL;
4526 lx_61950277_sql_A VARCHAR2(32767) := NULL;
4527 lx_61950277_sql_B VARCHAR2(32767) := NULL;
4528 lx_61950277_sql_C VARCHAR2(32767) := NULL;
4529 l_sql VARCHAR2(32767) := NULL;
4530
4531 BEGIN
4532 --** LEAD PRODUCT CATEGORY + CNR + Country + Postal Code ***
4533
4534 -- dblee: 08/27/03 new mode support
4535 IF p_new_mode_fetch = 'Y' THEN
4536 l_select_ilv2 := add_SELECT_clause(p_new_mode_fetch);
4537 lp_close_outermost_ILV := ') A; ';
4538
4539 lp_SELECT_cols :=
4540 --G_INDENT5 || add_SELECT_cols(p_new_mode_fetch) || g_newline;
4541
4542 /* ARPATEL: bug#3373462 */
4543 G_INDENT || ' A.TRANS_OBJECT_ID' || g_newline ||
4544 G_INDENT || ' , A.TRANS_DETAIL_OBJECT_ID' || g_newline ||
4545 G_INDENT || ' , A.HEADER_ID1' || g_newline ||
4546 G_INDENT || ' , A.HEADER_ID2' || g_newline ||
4547 G_INDENT || ' , A.SQUAL_FC01' || g_newline ||
4548 G_INDENT || ' , A.SQUAL_FC02' || g_newline ||
4549 G_INDENT || ' , A.SQUAL_FC03' || g_newline ||
4550 G_INDENT || ' , A.SQUAL_FC04' || g_newline ||
4551 G_INDENT || ' , A.SQUAL_FC05' || g_newline ||
4552 G_INDENT || ' , A.SQUAL_CURC01' || g_newline ||
4553 G_INDENT || ' , A.SQUAL_CURC02' || g_newline ||
4554 G_INDENT || ' , A.SQUAL_CURC03' || g_newline ||
4555 G_INDENT || ' , A.SQUAL_CURC04' || g_newline ||
4556 G_INDENT || ' , A.SQUAL_CURC05' || g_newline ||
4557 G_INDENT || ' , A.SQUAL_CURC06' || g_newline ||
4558 G_INDENT || ' , A.SQUAL_CURC07' || g_newline ||
4559 G_INDENT || ' , A.SQUAL_CURC08' || g_newline ||
4560 G_INDENT || ' , A.SQUAL_CURC09' || g_newline ||
4561 G_INDENT || ' , A.SQUAL_CURC10' || g_newline ||
4562 G_INDENT || ' , A.SQUAL_CHAR01' || g_newline ||
4563 G_INDENT || ' , A.SQUAL_CHAR02' || g_newline ||
4564 G_INDENT || ' , A.SQUAL_CHAR03' || g_newline ||
4565 G_INDENT || ' , A.SQUAL_CHAR04' || g_newline ||
4566 G_INDENT || ' , A.SQUAL_CHAR05' || g_newline ||
4567 G_INDENT || ' , A.SQUAL_CHAR06' || g_newline ||
4568 G_INDENT || ' , A.SQUAL_CHAR07' || g_newline ||
4569 G_INDENT || ' , A.SQUAL_CHAR08' || g_newline ||
4570 G_INDENT || ' , A.SQUAL_CHAR09' || g_newline ||
4571 G_INDENT || ' , A.SQUAL_CHAR10' || g_newline ||
4572 G_INDENT || ' , A.SQUAL_CHAR11' || g_newline ||
4573 G_INDENT || ' , A.SQUAL_CHAR12' || g_newline ||
4574 G_INDENT || ' , A.SQUAL_CHAR13' || g_newline ||
4575 G_INDENT || ' , A.SQUAL_CHAR14' || g_newline ||
4576 G_INDENT || ' , A.SQUAL_CHAR15' || g_newline ||
4577 G_INDENT || ' , A.SQUAL_CHAR16' || g_newline ||
4578 G_INDENT || ' , A.SQUAL_CHAR17' || g_newline ||
4579 G_INDENT || ' , A.SQUAL_CHAR18' || g_newline ||
4580 G_INDENT || ' , A.SQUAL_CHAR19' || g_newline ||
4581 G_INDENT || ' , A.SQUAL_CHAR20' || g_newline ||
4582 G_INDENT || ' , A.SQUAL_CHAR21' || g_newline ||
4583 G_INDENT || ' , A.SQUAL_CHAR22' || g_newline ||
4584 G_INDENT || ' , A.SQUAL_CHAR23' || g_newline ||
4585 G_INDENT || ' , A.SQUAL_CHAR24' || g_newline ||
4586 G_INDENT || ' , A.SQUAL_CHAR25' || g_newline ||
4587 G_INDENT || ' , A.SQUAL_CHAR26' || g_newline ||
4588 G_INDENT || ' , A.SQUAL_CHAR27' || g_newline ||
4589 G_INDENT || ' , A.SQUAL_CHAR28' || g_newline ||
4590 G_INDENT || ' , A.SQUAL_CHAR30' || g_newline ||
4591 G_INDENT || ' , A.SQUAL_CHAR31' || g_newline ||
4592 G_INDENT || ' , A.SQUAL_CHAR32' || g_newline ||
4593 G_INDENT || ' , A.SQUAL_CHAR33' || g_newline ||
4594 G_INDENT || ' , A.SQUAL_CHAR34' || g_newline ||
4595 G_INDENT || ' , A.SQUAL_CHAR35' || g_newline ||
4596 G_INDENT || ' , A.SQUAL_CHAR36' || g_newline ||
4597 G_INDENT || ' , A.SQUAL_CHAR37' || g_newline ||
4598 G_INDENT || ' , A.SQUAL_CHAR38' || g_newline ||
4599 G_INDENT || ' , A.SQUAL_CHAR39' || g_newline ||
4600 G_INDENT || ' , A.SQUAL_CHAR40' || g_newline ||
4601 G_INDENT || ' , A.SQUAL_CHAR41' || g_newline ||
4602 G_INDENT || ' , A.SQUAL_CHAR42' || g_newline ||
4603 G_INDENT || ' , A.SQUAL_CHAR43' || g_newline ||
4604 G_INDENT || ' , A.SQUAL_CHAR44' || g_newline ||
4605 G_INDENT || ' , A.SQUAL_CHAR45' || g_newline ||
4606 G_INDENT || ' , A.SQUAL_CHAR46' || g_newline ||
4607 G_INDENT || ' , A.SQUAL_CHAR47' || g_newline ||
4608 G_INDENT || ' , A.SQUAL_CHAR48' || g_newline ||
4609 G_INDENT || ' , A.SQUAL_CHAR49' || g_newline ||
4610 G_INDENT || ' , A.SQUAL_CHAR50' || g_newline ||
4611 G_INDENT || ' , A.SQUAL_CHAR51' || g_newline ||
4612 G_INDENT || ' , A.SQUAL_CHAR52' || g_newline ||
4613 G_INDENT || ' , A.SQUAL_CHAR53' || g_newline ||
4614 G_INDENT || ' , A.SQUAL_CHAR54' || g_newline ||
4615 G_INDENT || ' , A.SQUAL_CHAR55' || g_newline ||
4616 G_INDENT || ' , A.SQUAL_CHAR56' || g_newline ||
4617 G_INDENT || ' , A.SQUAL_CHAR57' || g_newline ||
4618 G_INDENT || ' , A.SQUAL_CHAR58' || g_newline ||
4619 G_INDENT || ' , A.SQUAL_CHAR59' || g_newline ||
4620 G_INDENT || ' , A.SQUAL_CHAR60' || g_newline ||
4621 G_INDENT || ' , A.SQUAL_NUM01' || g_newline ||
4622 G_INDENT || ' , A.SQUAL_NUM02' || g_newline ||
4623 G_INDENT || ' , A.SQUAL_NUM03' || g_newline ||
4624 G_INDENT || ' , A.SQUAL_NUM04' || g_newline ||
4625 G_INDENT || ' , A.SQUAL_NUM05' || g_newline ||
4626 G_INDENT || ' , A.SQUAL_NUM06' || g_newline ||
4627 G_INDENT || ' , A.SQUAL_NUM07' || g_newline ||
4628 G_INDENT || ' , A.SQUAL_NUM08' || g_newline ||
4629 G_INDENT || ' , A.SQUAL_NUM09' || g_newline ||
4630 G_INDENT || ' , A.SQUAL_NUM10' || g_newline ||
4631 G_INDENT || ' , A.SQUAL_NUM11' || g_newline ||
4632 G_INDENT || ' , A.SQUAL_NUM12' || g_newline ||
4633 G_INDENT || ' , A.SQUAL_NUM13' || g_newline ||
4634 G_INDENT || ' , A.SQUAL_NUM14' || g_newline ||
4635 G_INDENT || ' , A.SQUAL_NUM15' || g_newline ||
4636 G_INDENT || ' , A.SQUAL_NUM16' || g_newline ||
4637 G_INDENT || ' , A.SQUAL_NUM17' || g_newline ||
4638 G_INDENT || ' , A.SQUAL_NUM18' || g_newline ||
4639 G_INDENT || ' , A.SQUAL_NUM19' || g_newline ||
4640 G_INDENT || ' , A.SQUAL_NUM20' || g_newline ||
4641 G_INDENT || ' , A.SQUAL_NUM21' || g_newline ||
4642 G_INDENT || ' , A.SQUAL_NUM22' || g_newline ||
4643 G_INDENT || ' , A.SQUAL_NUM23' || g_newline ||
4644 G_INDENT || ' , A.SQUAL_NUM24' || g_newline ||
4645 G_INDENT || ' , A.SQUAL_NUM25' || g_newline ||
4646 G_INDENT || ' , A.SQUAL_NUM26' || g_newline ||
4647 G_INDENT || ' , A.SQUAL_NUM27' || g_newline ||
4648 G_INDENT || ' , A.SQUAL_NUM28' || g_newline ||
4649 G_INDENT || ' , A.SQUAL_NUM29' || g_newline ||
4650 G_INDENT || ' , A.SQUAL_NUM30' || g_newline ||
4651 G_INDENT || ' , A.SQUAL_NUM31' || g_newline ||
4652 G_INDENT || ' , A.SQUAL_NUM32' || g_newline ||
4653 G_INDENT || ' , A.SQUAL_NUM33' || g_newline ||
4654 G_INDENT || ' , A.SQUAL_NUM34' || g_newline ||
4655 G_INDENT || ' , A.SQUAL_NUM35' || g_newline ||
4656 G_INDENT || ' , A.SQUAL_NUM36' || g_newline ||
4657 G_INDENT || ' , A.SQUAL_NUM37' || g_newline ||
4658 G_INDENT || ' , A.SQUAL_NUM38' || g_newline ||
4659 G_INDENT || ' , A.SQUAL_NUM39' || g_newline ||
4660 G_INDENT || ' , A.SQUAL_NUM40' || g_newline ||
4661 G_INDENT || ' , A.SQUAL_NUM41' || g_newline ||
4662 G_INDENT || ' , A.SQUAL_NUM42' || g_newline ||
4663 G_INDENT || ' , A.SQUAL_NUM43' || g_newline ||
4664 G_INDENT || ' , A.SQUAL_NUM44' || g_newline ||
4665 G_INDENT || ' , A.SQUAL_NUM45' || g_newline ||
4666 G_INDENT || ' , A.SQUAL_NUM46' || g_newline ||
4667 G_INDENT || ' , A.SQUAL_NUM47' || g_newline ||
4668 G_INDENT || ' , A.SQUAL_NUM48' || g_newline ||
4669 G_INDENT || ' , A.SQUAL_NUM49' || g_newline ||
4670 G_INDENT || ' , A.SQUAL_NUM50' || g_newline ||
4671 G_INDENT || ' , A.SQUAL_NUM51' || g_newline ||
4672 G_INDENT || ' , A.SQUAL_NUM52' || g_newline ||
4673 G_INDENT || ' , A.SQUAL_NUM53' || g_newline ||
4674 G_INDENT || ' , A.SQUAL_NUM54' || g_newline ||
4675 G_INDENT || ' , A.SQUAL_NUM55' || g_newline ||
4676 G_INDENT || ' , A.SQUAL_NUM56' || g_newline ||
4677 G_INDENT || ' , A.SQUAL_NUM57' || g_newline ||
4678 G_INDENT || ' , A.SQUAL_NUM58' || g_newline ||
4679 G_INDENT || ' , A.SQUAL_NUM59' || g_newline ||
4680 G_INDENT || ' , A.SQUAL_NUM60' || g_newline ||
4681 G_INDENT || ' , A.ASSIGNED_FLAG' || g_newline ||
4682 G_INDENT || ' , A.PROCESSED_FLAG' || g_newline ||
4683 G_INDENT || ' , A.ORG_ID' || g_newline ||
4684 G_INDENT || ' , A.SECURITY_GROUP_ID' || g_newline ||
4685 G_INDENT || ' , A.OBJECT_VERSION_NUMBER' || g_newline ||
4686 G_INDENT || ' , A.WORKER_ID' || g_newline ||
4687 G_INDENT || ' , ILV.terr_id ' || g_newline ||
4688 G_INDENT || ' , ILV.absolute_rank ' || g_newline ||
4689 G_INDENT || ' , ILV.top_level_terr_id '|| g_newline ||
4690 G_INDENT || ' , ILV.num_winners ' || g_newline;
4691
4692
4693
4694 ELSE
4695 l_select_ilv2 :=
4696 G_INDENT5 || 'SELECT DISTINCT ' || g_newline ||
4697 G_INDENT5 ||'ILV2.trans_object_id' || g_newline ||
4698 G_INDENT5 ||', ILV2.trans_detail_object_id' || g_newline ||
4699 -- eihsu 06/19/2003 worker_id
4700 G_INDENT5 ||',ILV2.worker_id' || g_newline ||
4701 G_INDENT5 ||',ILV2.header_id1' || g_newline ||
4702 G_INDENT5 ||',ILV2.header_id2' || g_newline ||
4703 G_INDENT5 ||', p_source_id' || g_newline ||
4704 G_INDENT5 ||', p_trans_object_type_id' || g_newline ||
4705 G_INDENT5 ||', l_sysdate' || g_newline ||
4706 G_INDENT5 ||', L_USER_ID' || g_newline ||
4707 G_INDENT5 ||', l_sysdate' || g_newline ||
4708 G_INDENT5 ||', L_USER_ID' || g_newline ||
4709 G_INDENT5 ||', L_USER_ID' || g_newline ||
4710 G_INDENT5 ||', L_REQUEST_ID' || g_newline ||
4711 G_INDENT5 ||', L_PROGRAM_APPL_ID' || g_newline ||
4712 G_INDENT5 ||', L_PROGRAM_ID' || g_newline ||
4713 G_INDENT5 ||', l_sysdate' || g_newline ||
4714 G_INDENT5 ||', ILV2.terr_id' || g_newline ||
4715 G_INDENT5 ||', ILV2.absolute_rank' || g_newline ||
4716 G_INDENT5 ||', ILV2.top_level_terr_id' || g_newline ||
4717 G_INDENT5 ||', ILV2.num_winners' || g_newline ||
4718 G_INDENT5 ||', ILV2.org_id' || g_newline ;
4719
4720 lp_close_outermost_ILV := ' ; ';
4721
4722 lp_SELECT_cols :=
4723 G_INDENT5 || 'A.trans_object_id, A.trans_detail_object_id, ' || g_newline ||
4724 -- eihsu 06/19/2003 worker_id
4725 G_INDENT5 || 'A.worker_id, ' || g_newline ||
4726 G_INDENT5 || 'A.header_id1, A.header_id2, ' || g_newline ||
4727 G_INDENT5 || 'ILV.terr_id, ILV.absolute_rank, ' || g_newline ||
4728 G_INDENT5 || 'ILV.top_level_terr_id, ILV.num_winners, ILV.org_id ';
4729 END IF;
4730
4731 lp_pc_cntry_predicate := ' 1 = 1 ' || g_newline;
4732
4733 IF p_new_mode_fetch <> 'Y' THEN
4734 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
4735 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
4736 END IF;
4737
4738 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
4739 G_INDENT5 || ' AND ( ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
4740 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
4741 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
4742 G_INDENT5 || ' OR ' || g_newline ||
4743 G_INDENT5 || ' ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
4744 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
4745 G_INDENT5 || ' ) ' || g_newline ||
4746 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
4747 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
4748 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
4749 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
4750 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
4751 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
4752 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
4753
4754 lp_pc_cntry_predicate_eq := ' 1 = 1 ' || g_newline;
4755
4756 IF p_new_mode_fetch <> 'Y' THEN
4757 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
4758 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
4759 END IF;
4760
4761 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
4762 G_INDENT5 || ' AND ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
4763 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
4764 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
4765 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
4766 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
4767 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
4768 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
4769 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
4770 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
4771
4772 lp_pc_cntry_predicate_btwn := ' 1 = 1 ' || g_newline;
4773
4774 IF p_new_mode_fetch <> 'Y' THEN
4775 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
4776 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
4777 END IF;
4778
4779 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
4780 G_INDENT5 || ' AND ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
4781 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
4782 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
4783 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
4784 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
4785 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
4786 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
4787 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
4788 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
4789 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
4790
4791 --ARPATEL 10/14 bug#3207518
4792 JTF_TAE_GEN_PVT.write_buffer_content(
4793 l_qual_rules => l_select_ilv2
4794 );
4795
4796 --bug#3373462 ARPATEL: 01/30/2004
4797 IF p_new_mode_fetch = 'Y'
4798 THEN
4799 JTF_TAE_GEN_PVT.write_buffer_content(
4800 G_INDENT5 || 'FROM ( ' || g_newline || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
4801 );
4802 ELSE
4803 JTF_TAE_GEN_PVT.write_buffer_content(
4804 G_INDENT5 || 'FROM ' || g_newline
4805 );
4806 END IF;
4807
4808 lx_61950277_sql_1 :=
4809
4810 /************************/
4811 /* = XYZ ILV2 1 */
4812 /************************/
4813 G_INDENT5 || ' ( ' || g_newline;
4814
4815 IF p_new_mode_fetch = 'Y' THEN
4816 lx_61950277_sql_1 := lx_61950277_sql_1 ||
4817 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
4818 G_INDENT5 || ' ORDERED ' || g_newline ||
4819 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
4820 G_INDENT5 || ' NO_MERGE ' || g_newline ||
4821 G_INDENT5 || ' */ ' || g_newline ; --||
4822 ELSE
4823 lx_61950277_sql_1 := lx_61950277_sql_1 ||
4824 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
4825 G_INDENT5 || ' ORDERED ' || g_newline ||
4826 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
4827 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012R1 A) ' || g_newline ||
4828 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
4829 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
4830 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
4831 '_324347_ND)' || g_newline ||
4832
4833 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4834 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4835 G_INDENT5 || ' INDEX(Q1012R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4836 G_INDENT5 || ' */ ' || g_newline ; --||
4837 END IF;
4838
4839
4840 --ARPATEL 10/14 bug#3207518
4841 JTF_TAE_GEN_PVT.write_buffer_content(
4842 l_qual_rules => lx_61950277_sql_1
4843 );
4844
4845 /* Add SELECT columns */
4846 --ARPATEL 10/14 bug#3207518
4847 JTF_TAE_GEN_PVT.write_buffer_content(
4848 l_qual_rules => lp_SELECT_cols || g_newline
4849 );
4850 --lp_SELECT_cols || g_newline
4851
4852 lx_61950277_sql :=
4853 G_INDENT5 || 'FROM ';
4854
4855 IF p_new_mode_fetch = 'Y' THEN
4856 lx_61950277_sql := lx_61950277_sql ||
4857 /* STATIC INLINE VIEW */
4858 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
4859 ELSE
4860 lx_61950277_sql := lx_61950277_sql ||
4861 /* STATIC INLINE VIEW */
4862 add_ILV(l_sql, p_new_mode_fetch);
4863 END IF;
4864
4865 lx_61950277_sql := lx_61950277_sql ||
4866 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1012R1 ' || g_newline ||
4867 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
4868 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
4869
4870 /* DYNAMIC BASED ON TRANSACTION TYPE */
4871 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
4872
4873 G_INDENT5 || 'WHERE ' || g_newline ||
4874
4875 lp_pc_cntry_predicate || g_newline ||
4876 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012R1.terr_id ' || g_newline ||
4877 G_INDENT5 || ' AND ( Q1012R1.comparison_operator = ''='' AND ' || g_newline ||
4878 G_INDENT5 || ' a.squal_fc01 = SUBSTR(Q1012R1.low_value_char, 1, 1) AND ' || g_newline ||
4879 G_INDENT5 || ' a.squal_char01 = Q1012R1.low_value_char ' || g_newline ||
4880 G_INDENT5 || ' ) ' || g_newline ||
4881 G_INDENT5 || ' AND Q1012R1.qual_usg_id = -1012 ' || g_newline ||
4882 G_INDENT5 || ' AND Q1012R1.terr_id = ILV.terr_id ' || g_newline ||
4883 G_INDENT5 || ' AND Q1012R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
4884
4885 G_INDENT5 || ' UNION ALL ' || g_newline ||
4886
4887 /************************/
4888 /* LIKE XYZ% 2 */
4889 /************************/
4890 G_INDENT5 || 'SELECT /*+ ' || g_newline;
4891
4892 IF p_new_mode_fetch = 'Y' THEN
4893 lx_61950277_sql := lx_61950277_sql ||
4894 G_INDENT5 || ' ORDERED ' || g_newline ||
4895 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
4896 G_INDENT5 || ' NO_MERGE ' || g_newline ||
4897 G_INDENT5 || ' */ ' || g_newline ; --||
4898 ELSE
4899 lx_61950277_sql := lx_61950277_sql ||
4900 G_INDENT5 || ' ORDERED ' || g_newline ||
4901 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
4902 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
4903 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
4904
4905 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
4906 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
4907 '_324347_ND)' || g_newline ||
4908 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4909 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4910 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
4911 G_INDENT5 || ' */ ' || g_newline ; --||
4912 END IF;
4913
4914 --ARPATEL 10/14 bug#3207518
4915 JTF_TAE_GEN_PVT.write_buffer_content(
4916 l_qual_rules => lx_61950277_sql
4917 );
4918
4919 /* Add SELECT columns */
4920 --ARPATEL 10/14 bug#3207518
4921 JTF_TAE_GEN_PVT.write_buffer_content(
4922 l_qual_rules => lp_SELECT_cols || g_newline
4923 );
4924 --lp_SELECT_cols || g_newline ||
4925
4926 lx_61950277_sql_2 :=
4927 G_INDENT5 || 'FROM ';
4928
4929 IF p_new_mode_fetch = 'Y' THEN
4930 lx_61950277_sql_2 := lx_61950277_sql_2 ||
4931 /* STATIC INLINE VIEW */
4932 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
4933 ELSE
4934 lx_61950277_sql_2 := lx_61950277_sql_2 ||
4935 /* STATIC INLINE VIEW */
4936 add_ILV(l_sql, p_new_mode_fetch);
4937 END IF;
4938
4939 lx_61950277_sql_2 := lx_61950277_sql_2 ||
4940 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
4941 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
4942 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
4943
4944 /* DYNAMIC BASED ON TRANSACTION TYPE */
4945 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
4946
4947 G_INDENT5 || 'WHERE ' || g_newline ||
4948
4949 lp_pc_cntry_predicate || g_newline ||
4950
4951 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
4952 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
4953 G_INDENT5 || ' a.squal_fc01 = Q1012LK.first_char ' || g_newline ||
4954 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
4955 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
4956
4957 G_INDENT5 || ' UNION ALL ' || g_newline ||
4958
4959 /************************/
4960 /* LIKE %XYZ 3 */
4961 /************************/
4962 G_INDENT5 || 'SELECT /*+ ' || g_newline;
4963
4964 IF p_new_mode_fetch = 'Y' THEN
4965 lx_61950277_sql_2 := lx_61950277_sql_2 ||
4966 G_INDENT5 || ' ORDERED ' || g_newline ||
4967 G_INDENT5 || ' NO_MERGE ' || g_newline ||
4968 G_INDENT5 || ' */ ' || g_newline ; --||
4969 ELSE
4970 lx_61950277_sql_2 := lx_61950277_sql_2 ||
4971 G_INDENT5 || ' ORDERED ' || g_newline ||
4972 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
4973
4974 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
4975 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
4976 '_324347X_ND)' || g_newline ||
4977 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
4978 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4979 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
4980 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
4981 G_INDENT5 || ' */ ' || g_newline ; --||
4982 END IF;
4983
4984
4985 --ARPATEL 10/14 bug#3207518
4986 JTF_TAE_GEN_PVT.write_buffer_content(
4987 l_qual_rules => lx_61950277_sql_2
4988 );
4989
4990 /* Add SELECT columns */
4991 --ARPATEL 10/14 bug#3207518
4992 JTF_TAE_GEN_PVT.write_buffer_content(
4993 l_qual_rules => lp_SELECT_cols || g_newline
4994 );
4995 --lp_SELECT_cols || g_newline ||
4996
4997 lx_61950277_sql_3 :=
4998 G_INDENT5 || 'FROM ';
4999
5000 IF p_new_mode_fetch = 'Y' THEN
5001 lx_61950277_sql_3 := lx_61950277_sql_3 ||
5002 /* STATIC INLINE VIEW */
5003 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
5004 ELSE
5005 lx_61950277_sql_3 := lx_61950277_sql_3 ||
5006 /* STATIC INLINE VIEW */
5007 add_ILV(l_sql, p_new_mode_fetch);
5008 END IF;
5009
5010 lx_61950277_sql_3 := lx_61950277_sql_3 ||
5011 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
5012 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
5013 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
5014
5015 /* DYNAMIC BASED ON TRANSACTION TYPE */
5016 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
5017
5018 G_INDENT5 || 'WHERE ' || g_newline ||
5019
5020 lp_pc_cntry_predicate_eq || g_newline ||
5021
5022 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
5023 G_INDENT5 || ' AND ( ' || g_newline ||
5024 G_INDENT5 || ' a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
5025 G_INDENT5 || ' Q1012LK.low_value_char = ''%'' ' || g_newline ||
5026 G_INDENT5 || ' ) ' || g_newline ||
5027 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
5028 G_INDENT5 || 'UNION ALL' || g_newline ||
5029 G_INDENT5 || 'SELECT /*+ ' || g_newline;
5030
5031 IF p_new_mode_fetch = 'Y' THEN
5032 lx_61950277_sql_3 := lx_61950277_sql_3 ||
5033 G_INDENT5 || ' ORDERED ' || g_newline ||
5034 G_INDENT5 || ' NO_MERGE ' || g_newline ||
5035 G_INDENT5 || ' */ ' || g_newline ; --||
5036 ELSE
5037 lx_61950277_sql_3 := lx_61950277_sql_3 ||
5038 G_INDENT5 || ' ORDERED ' || g_newline ||
5039 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
5040
5041 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
5042 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
5043 '_324347X_ND)' || g_newline ||
5044 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
5045 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5046 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5047 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
5048 G_INDENT5 || ' */ ' || g_newline ; --||
5049 END IF;
5050
5051 --ARPATEL 10/14 bug#3207518
5052 JTF_TAE_GEN_PVT.write_buffer_content(
5053 l_qual_rules => lx_61950277_sql_3
5054 );
5055
5056 /* Add SELECT columns */
5057 --ARPATEL 10/14 bug#3207518
5058 JTF_TAE_GEN_PVT.write_buffer_content(
5059 l_qual_rules => lp_SELECT_cols || g_newline
5060 );
5061 --lp_SELECT_cols || g_newline ||
5062
5063 lx_61950277_sql_4 :=
5064 G_INDENT5 || 'FROM ';
5065
5066 IF p_new_mode_fetch = 'Y' THEN
5067 lx_61950277_sql_4 := lx_61950277_sql_4 ||
5068 /* STATIC INLINE VIEW */
5069 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
5070 ELSE
5071 lx_61950277_sql_4 := lx_61950277_sql_4 ||
5072 /* STATIC INLINE VIEW */
5073 add_ILV(l_sql, p_new_mode_fetch);
5074 END IF;
5075
5076 lx_61950277_sql_4 := lx_61950277_sql_4 ||
5077 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
5078 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
5079 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
5080
5081 /* DYNAMIC BASED ON TRANSACTION TYPE */
5082 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
5083
5084 G_INDENT5 || 'WHERE ' || g_newline ||
5085
5086 lp_pc_cntry_predicate_btwn || g_newline ||
5087
5088 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
5089 G_INDENT5 || ' AND ( ' || g_newline ||
5090 G_INDENT5 || ' a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
5091 G_INDENT5 || ' Q1012LK.low_value_char = ''%'' ' || g_newline ||
5092 G_INDENT5 || ' ) ' || g_newline ||
5093 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
5094
5095 G_INDENT5 || ' UNION ALL ' || g_newline ||
5096
5097 G_INDENT5 || 'SELECT /*+ ' || g_newline;
5098
5099 IF p_new_mode_fetch = 'Y' THEN
5100 lx_61950277_sql_4 := lx_61950277_sql_4 ||
5101 G_INDENT5 || ' ORDERED ' || g_newline ||
5102 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
5103 G_INDENT5 || ' NO_MERGE ' || g_newline ||
5104 G_INDENT5 || ' */ ' || g_newline ; --||
5105 ELSE
5106 lx_61950277_sql_4 := lx_61950277_sql_4 ||
5107 G_INDENT5 || ' ORDERED ' || g_newline ||
5108 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
5109 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012BT A) ' || g_newline ||
5110 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
5111 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
5112 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
5113 '_324347_ND)' || g_newline ||
5114
5115 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5116 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5117 G_INDENT5 || ' INDEX(Q1012BT JTF_TERR_CNR_QUAL_BTWN_MV_N10) ' || g_newline ||
5118 G_INDENT5 || ' */ ' || g_newline ; --||
5119 END IF;
5120
5121 --ARPATEL 10/14 bug#3207518
5122 JTF_TAE_GEN_PVT.write_buffer_content(
5123 l_qual_rules => lx_61950277_sql_4
5124 );
5125
5126 /* Add SELECT columns */
5127 --ARPATEL 10/14 bug#3207518
5128 JTF_TAE_GEN_PVT.write_buffer_content(
5129 l_qual_rules => lp_SELECT_cols || g_newline
5130 );
5131 /* Add SELECT columns */
5132 --lp_SELECT_cols || g_newline ||
5133
5134 lx_61950277_sql_5 :=
5135 G_INDENT5 || 'FROM ';
5136
5137 IF p_new_mode_fetch = 'Y' THEN
5138 lx_61950277_sql_5 := lx_61950277_sql_5 ||
5139 /* STATIC INLINE VIEW */
5140 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
5141 ELSE
5142 lx_61950277_sql_5 := lx_61950277_sql_5 ||
5143 /* STATIC INLINE VIEW */
5144 add_ILV(l_sql, p_new_mode_fetch);
5145 END IF;
5146
5147 lx_61950277_sql_5 := lx_61950277_sql_5 ||
5148 G_INDENT5 || ' , jtf_terr_cnr_qual_btwn_mv Q1012BT ' || g_newline ||
5149 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
5150 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
5151
5152 /* DYNAMIC BASED ON TRANSACTION TYPE */
5153 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
5154
5155 G_INDENT5 || 'WHERE ' || g_newline ||
5156
5157 lp_pc_cntry_predicate || g_newline ||
5158
5159 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012BT.terr_id ' || g_newline ||
5160 G_INDENT5 || ' AND a.squal_char01 <= Q1012BT.high_value_char AND ' || g_newline ||
5161 G_INDENT5 || ' a.squal_char01 >= Q1012BT.low_value_char AND ' || g_newline ||
5162 G_INDENT5 || ' a.squal_fc01 >= SUBSTR(Q1012BT.low_value_char, 1, 1) ' || g_newline ||
5163 G_INDENT5 || ' AND Q1012BT.qual_usg_id = -1012 ' || g_newline ||
5164 G_INDENT5 || ' AND Q1012BT.terr_id = ILV.terr_id ' || g_newline ||
5165 G_INDENT5 || ' AND Q1012BT.terr_id = Q1003R1.terr_id ) ILV2,' || g_newline ||
5166
5167 /************************/
5168 /* = ILV1 */
5169 /************************/
5170 G_INDENT5 || '( ' || g_newline ||
5171 G_INDENT5 || 'SELECT /*+ ' || g_newline;
5172
5173 IF p_new_mode_fetch = 'Y' THEN
5174 lx_61950277_sql_5 := lx_61950277_sql_5 || G_INDENT5 || ' ORDERED ' || g_newline;
5175 END IF;
5176
5177 lx_61950277_sql_5 := lx_61950277_sql_5 ||
5178
5179 G_INDENT5 || ' USE_NL(ILV Q1131R1 ASLLP) ' || g_newline ||
5180 G_INDENT5 || ' USE_HASH(Q1131R1 ASLLP) ' || g_newline ||
5181 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
5182 G_INDENT5 || ' */ ' || g_newline ||
5183
5184 G_INDENT5 || ' ASLLP.sales_lead_id' || g_newline ||
5185 G_INDENT5 || ' , ASLLP.sales_lead_line_id' || g_newline ||
5186 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
5187 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
5188 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
5189 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
5190 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
5191 G_INDENT5 || ' FROM ' || g_newline;
5192
5193 IF p_new_mode_fetch = 'Y' THEN
5194 lx_61950277_sql_5 := lx_61950277_sql_5 ||
5195 /* STATIC INLINE VIEW */
5196 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
5197 ELSE
5198 lx_61950277_sql_5 := lx_61950277_sql_5 ||
5199 /* STATIC INLINE VIEW */
5200 add_ILV(l_sql, p_new_mode_fetch);
5201 END IF;
5202
5203 lx_61950277_sql_5 := lx_61950277_sql_5 ||
5204 G_INDENT5 || ' ,jtf_terr_qual_rules_mv Q1131R1 ' || g_newline ||
5205 G_INDENT5 || ' ,ENI_PROD_DENORM_HRCHY_V PRD,AS_SALES_LEAD_LINES ASLLP ' || g_newline ||
5206 G_INDENT5 || ' WHERE ( Q1131R1.qual_usg_id = -1131 AND Q1131R1.terr_id = ILV.terr_id )' || g_newline ||
5207 G_INDENT5 || ' AND Q1131R1.value1_id = PRD.child_id ' || g_newline ||
5208 G_INDENT5 || ' AND Q1131R1.value2_id = PRD.category_set_id ' || g_newline ||
5209 G_INDENT5 || ' AND PRD.parent_id = ASLLP.category_id ' || g_newline ||
5210 G_INDENT5 || ' AND PRD.category_set_id = ASLLP.category_set_id ' || g_newline ||
5211 G_INDENT5 || ' AND Q1131R1.comparison_operator = ''=''' || g_newline ||
5212 G_INDENT5 || ' ) ILV1 ' || g_newline ||
5213 G_INDENT5 || ' WHERE ILV1.terr_id = ILV2.terr_id ' || g_newline ||
5214 G_INDENT5 || ' AND ILV1.sales_lead_id = ILV2.trans_object_id ' || g_newline ||
5215 G_INDENT5 || lp_close_outermost_ILV || g_newline;
5216
5217 RETURN lx_61950277_sql_5;
5218
5219 EXCEPTION
5220 WHEN OTHERS THEN
5221 g_ProgramStatus := 1;
5222 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_61950277_SQL');
5223
5224 END add_61950277_SQL;
5225
5226
5227 --** LEAD EXPECTED PURCHASE ***
5228 FUNCTION add_44435539_SQL( p_trans_object_type_id IN NUMBER
5229 , p_table_name IN VARCHAR2
5230 -- dblee: 08/26/03 added new mode flag
5231 , p_new_mode_fetch IN CHAR)
5232
5233 RETURN VARCHAR2 AS
5234
5235 lp_close_outermost_ILV VARCHAR2(255);
5236 l_select_ilv2 VARCHAR2(32767) := NULL;
5237 lp_SELECT_cols VARCHAR2(32767) := NULL;
5238 lp_pc_cntry_predicate_eq VARCHAR2(32767) := NULL;
5239 lp_pc_cntry_predicate VARCHAR2(32767) := NULL;
5240 lp_pc_cntry_predicate_btwn VARCHAR2(32767) := NULL;
5241 lx_44435539_sql VARCHAR2(32767) := NULL;
5242 lx_44435539_sql_1 VARCHAR2(32767) := NULL;
5243 lx_44435539_sql_2 VARCHAR2(32767) := NULL;
5244 lx_44435539_sql_3 VARCHAR2(32767) := NULL;
5245 lx_44435539_sql_4 VARCHAR2(32767) := NULL;
5246 lx_44435539_sql_5 VARCHAR2(32767) := NULL;
5247 lx_44435539_sql_A VARCHAR2(32767) := NULL;
5248 lx_44435539_sql_B VARCHAR2(32767) := NULL;
5249 lx_44435539_sql_C VARCHAR2(32767) := NULL;
5250 l_sql VARCHAR2(32767) := NULL;
5251
5252 BEGIN
5253 --** LEAD EXPECTED PURCHASE ***
5254
5255 -- dblee: 08/27/03 new mode support
5256 IF p_new_mode_fetch = 'Y' THEN
5257 l_select_ilv2 := add_SELECT_clause(p_new_mode_fetch);
5258 lp_close_outermost_ILV := ') A; ';
5259
5260 lp_SELECT_cols :=
5261 --G_INDENT5 || add_SELECT_cols(p_new_mode_fetch) || g_newline;
5262
5263 /* ARPATEL: bug#3373462 */
5264 G_INDENT || ' A.TRANS_OBJECT_ID' || g_newline ||
5265 G_INDENT || ' , A.TRANS_DETAIL_OBJECT_ID' || g_newline ||
5266 G_INDENT || ' , A.HEADER_ID1' || g_newline ||
5267 G_INDENT || ' , A.HEADER_ID2' || g_newline ||
5268 G_INDENT || ' , A.SQUAL_FC01' || g_newline ||
5269 G_INDENT || ' , A.SQUAL_FC02' || g_newline ||
5270 G_INDENT || ' , A.SQUAL_FC03' || g_newline ||
5271 G_INDENT || ' , A.SQUAL_FC04' || g_newline ||
5272 G_INDENT || ' , A.SQUAL_FC05' || g_newline ||
5273 G_INDENT || ' , A.SQUAL_CURC01' || g_newline ||
5274 G_INDENT || ' , A.SQUAL_CURC02' || g_newline ||
5275 G_INDENT || ' , A.SQUAL_CURC03' || g_newline ||
5276 G_INDENT || ' , A.SQUAL_CURC04' || g_newline ||
5277 G_INDENT || ' , A.SQUAL_CURC05' || g_newline ||
5278 G_INDENT || ' , A.SQUAL_CURC06' || g_newline ||
5279 G_INDENT || ' , A.SQUAL_CURC07' || g_newline ||
5280 G_INDENT || ' , A.SQUAL_CURC08' || g_newline ||
5281 G_INDENT || ' , A.SQUAL_CURC09' || g_newline ||
5282 G_INDENT || ' , A.SQUAL_CURC10' || g_newline ||
5283 G_INDENT || ' , A.SQUAL_CHAR01' || g_newline ||
5284 G_INDENT || ' , A.SQUAL_CHAR02' || g_newline ||
5285 G_INDENT || ' , A.SQUAL_CHAR03' || g_newline ||
5286 G_INDENT || ' , A.SQUAL_CHAR04' || g_newline ||
5287 G_INDENT || ' , A.SQUAL_CHAR05' || g_newline ||
5288 G_INDENT || ' , A.SQUAL_CHAR06' || g_newline ||
5289 G_INDENT || ' , A.SQUAL_CHAR07' || g_newline ||
5290 G_INDENT || ' , A.SQUAL_CHAR08' || g_newline ||
5291 G_INDENT || ' , A.SQUAL_CHAR09' || g_newline ||
5292 G_INDENT || ' , A.SQUAL_CHAR10' || g_newline ||
5293 G_INDENT || ' , A.SQUAL_CHAR11' || g_newline ||
5294 G_INDENT || ' , A.SQUAL_CHAR12' || g_newline ||
5295 G_INDENT || ' , A.SQUAL_CHAR13' || g_newline ||
5296 G_INDENT || ' , A.SQUAL_CHAR14' || g_newline ||
5297 G_INDENT || ' , A.SQUAL_CHAR15' || g_newline ||
5298 G_INDENT || ' , A.SQUAL_CHAR16' || g_newline ||
5299 G_INDENT || ' , A.SQUAL_CHAR17' || g_newline ||
5300 G_INDENT || ' , A.SQUAL_CHAR18' || g_newline ||
5301 G_INDENT || ' , A.SQUAL_CHAR19' || g_newline ||
5302 G_INDENT || ' , A.SQUAL_CHAR20' || g_newline ||
5303 G_INDENT || ' , A.SQUAL_CHAR21' || g_newline ||
5304 G_INDENT || ' , A.SQUAL_CHAR22' || g_newline ||
5305 G_INDENT || ' , A.SQUAL_CHAR23' || g_newline ||
5306 G_INDENT || ' , A.SQUAL_CHAR24' || g_newline ||
5307 G_INDENT || ' , A.SQUAL_CHAR25' || g_newline ||
5308 G_INDENT || ' , A.SQUAL_CHAR26' || g_newline ||
5309 G_INDENT || ' , A.SQUAL_CHAR27' || g_newline ||
5310 G_INDENT || ' , A.SQUAL_CHAR28' || g_newline ||
5311 G_INDENT || ' , A.SQUAL_CHAR30' || g_newline ||
5312 G_INDENT || ' , A.SQUAL_CHAR31' || g_newline ||
5313 G_INDENT || ' , A.SQUAL_CHAR32' || g_newline ||
5314 G_INDENT || ' , A.SQUAL_CHAR33' || g_newline ||
5315 G_INDENT || ' , A.SQUAL_CHAR34' || g_newline ||
5316 G_INDENT || ' , A.SQUAL_CHAR35' || g_newline ||
5317 G_INDENT || ' , A.SQUAL_CHAR36' || g_newline ||
5318 G_INDENT || ' , A.SQUAL_CHAR37' || g_newline ||
5319 G_INDENT || ' , A.SQUAL_CHAR38' || g_newline ||
5320 G_INDENT || ' , A.SQUAL_CHAR39' || g_newline ||
5321 G_INDENT || ' , A.SQUAL_CHAR40' || g_newline ||
5322 G_INDENT || ' , A.SQUAL_CHAR41' || g_newline ||
5323 G_INDENT || ' , A.SQUAL_CHAR42' || g_newline ||
5324 G_INDENT || ' , A.SQUAL_CHAR43' || g_newline ||
5325 G_INDENT || ' , A.SQUAL_CHAR44' || g_newline ||
5326 G_INDENT || ' , A.SQUAL_CHAR45' || g_newline ||
5327 G_INDENT || ' , A.SQUAL_CHAR46' || g_newline ||
5328 G_INDENT || ' , A.SQUAL_CHAR47' || g_newline ||
5329 G_INDENT || ' , A.SQUAL_CHAR48' || g_newline ||
5330 G_INDENT || ' , A.SQUAL_CHAR49' || g_newline ||
5331 G_INDENT || ' , A.SQUAL_CHAR50' || g_newline ||
5332 G_INDENT || ' , A.SQUAL_CHAR51' || g_newline ||
5333 G_INDENT || ' , A.SQUAL_CHAR52' || g_newline ||
5334 G_INDENT || ' , A.SQUAL_CHAR53' || g_newline ||
5335 G_INDENT || ' , A.SQUAL_CHAR54' || g_newline ||
5336 G_INDENT || ' , A.SQUAL_CHAR55' || g_newline ||
5337 G_INDENT || ' , A.SQUAL_CHAR56' || g_newline ||
5338 G_INDENT || ' , A.SQUAL_CHAR57' || g_newline ||
5339 G_INDENT || ' , A.SQUAL_CHAR58' || g_newline ||
5340 G_INDENT || ' , A.SQUAL_CHAR59' || g_newline ||
5341 G_INDENT || ' , A.SQUAL_CHAR60' || g_newline ||
5342 G_INDENT || ' , A.SQUAL_NUM01' || g_newline ||
5343 G_INDENT || ' , A.SQUAL_NUM02' || g_newline ||
5344 G_INDENT || ' , A.SQUAL_NUM03' || g_newline ||
5345 G_INDENT || ' , A.SQUAL_NUM04' || g_newline ||
5346 G_INDENT || ' , A.SQUAL_NUM05' || g_newline ||
5347 G_INDENT || ' , A.SQUAL_NUM06' || g_newline ||
5348 G_INDENT || ' , A.SQUAL_NUM07' || g_newline ||
5349 G_INDENT || ' , A.SQUAL_NUM08' || g_newline ||
5350 G_INDENT || ' , A.SQUAL_NUM09' || g_newline ||
5351 G_INDENT || ' , A.SQUAL_NUM10' || g_newline ||
5352 G_INDENT || ' , A.SQUAL_NUM11' || g_newline ||
5353 G_INDENT || ' , A.SQUAL_NUM12' || g_newline ||
5354 G_INDENT || ' , A.SQUAL_NUM13' || g_newline ||
5355 G_INDENT || ' , A.SQUAL_NUM14' || g_newline ||
5356 G_INDENT || ' , A.SQUAL_NUM15' || g_newline ||
5357 G_INDENT || ' , A.SQUAL_NUM16' || g_newline ||
5358 G_INDENT || ' , A.SQUAL_NUM17' || g_newline ||
5359 G_INDENT || ' , A.SQUAL_NUM18' || g_newline ||
5360 G_INDENT || ' , A.SQUAL_NUM19' || g_newline ||
5361 G_INDENT || ' , A.SQUAL_NUM20' || g_newline ||
5362 G_INDENT || ' , A.SQUAL_NUM21' || g_newline ||
5363 G_INDENT || ' , A.SQUAL_NUM22' || g_newline ||
5364 G_INDENT || ' , A.SQUAL_NUM23' || g_newline ||
5365 G_INDENT || ' , A.SQUAL_NUM24' || g_newline ||
5366 G_INDENT || ' , A.SQUAL_NUM25' || g_newline ||
5367 G_INDENT || ' , A.SQUAL_NUM26' || g_newline ||
5368 G_INDENT || ' , A.SQUAL_NUM27' || g_newline ||
5369 G_INDENT || ' , A.SQUAL_NUM28' || g_newline ||
5370 G_INDENT || ' , A.SQUAL_NUM29' || g_newline ||
5371 G_INDENT || ' , A.SQUAL_NUM30' || g_newline ||
5372 G_INDENT || ' , A.SQUAL_NUM31' || g_newline ||
5373 G_INDENT || ' , A.SQUAL_NUM32' || g_newline ||
5374 G_INDENT || ' , A.SQUAL_NUM33' || g_newline ||
5375 G_INDENT || ' , A.SQUAL_NUM34' || g_newline ||
5376 G_INDENT || ' , A.SQUAL_NUM35' || g_newline ||
5377 G_INDENT || ' , A.SQUAL_NUM36' || g_newline ||
5378 G_INDENT || ' , A.SQUAL_NUM37' || g_newline ||
5379 G_INDENT || ' , A.SQUAL_NUM38' || g_newline ||
5380 G_INDENT || ' , A.SQUAL_NUM39' || g_newline ||
5381 G_INDENT || ' , A.SQUAL_NUM40' || g_newline ||
5382 G_INDENT || ' , A.SQUAL_NUM41' || g_newline ||
5383 G_INDENT || ' , A.SQUAL_NUM42' || g_newline ||
5384 G_INDENT || ' , A.SQUAL_NUM43' || g_newline ||
5385 G_INDENT || ' , A.SQUAL_NUM44' || g_newline ||
5386 G_INDENT || ' , A.SQUAL_NUM45' || g_newline ||
5387 G_INDENT || ' , A.SQUAL_NUM46' || g_newline ||
5388 G_INDENT || ' , A.SQUAL_NUM47' || g_newline ||
5389 G_INDENT || ' , A.SQUAL_NUM48' || g_newline ||
5390 G_INDENT || ' , A.SQUAL_NUM49' || g_newline ||
5391 G_INDENT || ' , A.SQUAL_NUM50' || g_newline ||
5392 G_INDENT || ' , A.SQUAL_NUM51' || g_newline ||
5393 G_INDENT || ' , A.SQUAL_NUM52' || g_newline ||
5394 G_INDENT || ' , A.SQUAL_NUM53' || g_newline ||
5395 G_INDENT || ' , A.SQUAL_NUM54' || g_newline ||
5396 G_INDENT || ' , A.SQUAL_NUM55' || g_newline ||
5397 G_INDENT || ' , A.SQUAL_NUM56' || g_newline ||
5398 G_INDENT || ' , A.SQUAL_NUM57' || g_newline ||
5399 G_INDENT || ' , A.SQUAL_NUM58' || g_newline ||
5400 G_INDENT || ' , A.SQUAL_NUM59' || g_newline ||
5401 G_INDENT || ' , A.SQUAL_NUM60' || g_newline ||
5402 G_INDENT || ' , A.ASSIGNED_FLAG' || g_newline ||
5403 G_INDENT || ' , A.PROCESSED_FLAG' || g_newline ||
5404 G_INDENT || ' , A.ORG_ID' || g_newline ||
5405 G_INDENT || ' , A.SECURITY_GROUP_ID' || g_newline ||
5406 G_INDENT || ' , A.OBJECT_VERSION_NUMBER' || g_newline ||
5407 G_INDENT || ' , A.WORKER_ID' || g_newline ||
5408 G_INDENT || ' , ILV.terr_id ' || g_newline ||
5409 G_INDENT || ' , ILV.absolute_rank ' || g_newline ||
5410 G_INDENT || ' , ILV.top_level_terr_id '|| g_newline ||
5411 G_INDENT || ' , ILV.num_winners ' || g_newline;
5412
5413
5414
5415 ELSE
5416 l_select_ilv2 :=
5417 G_INDENT5 || 'SELECT DISTINCT ' || g_newline ||
5418 G_INDENT5 ||'ILV2.trans_object_id' || g_newline ||
5419 G_INDENT5 ||', ILV2.trans_detail_object_id' || g_newline ||
5420 -- eihsu 06/19/2003 worker_id
5421 G_INDENT5 ||',ILV2.worker_id' || g_newline ||
5422 G_INDENT5 ||',ILV2.header_id1' || g_newline ||
5423 G_INDENT5 ||',ILV2.header_id2' || g_newline ||
5424 G_INDENT5 ||', p_source_id' || g_newline ||
5425 G_INDENT5 ||', p_trans_object_type_id' || g_newline ||
5426 G_INDENT5 ||', l_sysdate' || g_newline ||
5427 G_INDENT5 ||', L_USER_ID' || g_newline ||
5428 G_INDENT5 ||', l_sysdate' || g_newline ||
5429 G_INDENT5 ||', L_USER_ID' || g_newline ||
5430 G_INDENT5 ||', L_USER_ID' || g_newline ||
5431 G_INDENT5 ||', L_REQUEST_ID' || g_newline ||
5432 G_INDENT5 ||', L_PROGRAM_APPL_ID' || g_newline ||
5433 G_INDENT5 ||', L_PROGRAM_ID' || g_newline ||
5434 G_INDENT5 ||', l_sysdate' || g_newline ||
5435 G_INDENT5 ||', ILV2.terr_id' || g_newline ||
5436 G_INDENT5 ||', ILV2.absolute_rank' || g_newline ||
5437 G_INDENT5 ||', ILV2.top_level_terr_id' || g_newline ||
5438 G_INDENT5 ||', ILV2.num_winners' || g_newline ||
5439 G_INDENT5 ||', ILV2.org_id' || g_newline ;
5440
5441 lp_close_outermost_ILV := ' ; ';
5442
5443 lp_SELECT_cols :=
5444 G_INDENT5 || 'A.trans_object_id, A.trans_detail_object_id, ' || g_newline ||
5445 -- eihsu 06/19/2003 worker_id
5446 G_INDENT5 || 'A.worker_id, ' || g_newline ||
5447 G_INDENT5 || 'A.header_id1, A.header_id2, ' || g_newline ||
5448 G_INDENT5 || 'ILV.terr_id, ILV.absolute_rank, ' || g_newline ||
5449 G_INDENT5 || 'ILV.top_level_terr_id, ILV.num_winners, ILV.org_id ';
5450 END IF;
5451
5452 lp_pc_cntry_predicate := ' 1 = 1 ' || g_newline;
5453
5454 IF p_new_mode_fetch <> 'Y' THEN
5455 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
5456 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
5457 END IF;
5458
5459 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
5460 G_INDENT5 || ' AND ( ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
5461 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
5462 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
5463 G_INDENT5 || ' OR ' || g_newline ||
5464 G_INDENT5 || ' ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
5465 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
5466 G_INDENT5 || ' ) ' || g_newline ||
5467 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
5468 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
5469 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
5470 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
5471 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
5472 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
5473 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
5474
5475 lp_pc_cntry_predicate_eq := ' 1 = 1 ' || g_newline;
5476
5477 IF p_new_mode_fetch <> 'Y' THEN
5478 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
5479 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
5480 END IF;
5481
5482 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
5483 G_INDENT5 || ' AND ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
5484 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
5485 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
5486 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
5487 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
5488 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
5489 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
5490 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
5491 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
5492
5493 lp_pc_cntry_predicate_btwn := ' 1 = 1 ' || g_newline;
5494
5495 IF p_new_mode_fetch <> 'Y' THEN
5496 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
5497 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
5498 END IF;
5499
5500 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
5501 G_INDENT5 || ' AND ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
5502 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
5503 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
5504 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
5505 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
5506 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
5507 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
5508 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
5509 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
5510 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
5511
5512 --ARPATEL 10/14 bug#3207518
5513 JTF_TAE_GEN_PVT.write_buffer_content(
5514 l_qual_rules => l_select_ilv2
5515 );
5516
5517 --bug#3373462 ARPATEL: 01/30/2004
5518 IF p_new_mode_fetch = 'Y'
5519 THEN
5520 JTF_TAE_GEN_PVT.write_buffer_content(
5521 G_INDENT5 || 'FROM ( ' || g_newline || EXP_PURCHASE_UNION_SELECT(p_new_mode_fetch)
5522 );
5523 ELSE
5524 JTF_TAE_GEN_PVT.write_buffer_content(
5525 G_INDENT5 || 'FROM ' || g_newline
5526 );
5527 END IF;
5528
5529 lx_44435539_sql_1 :=
5530
5531 /************************/
5532 /* = XYZ ILV2 1 */
5533 /************************/
5534 G_INDENT5 || ' ( ' || g_newline ||
5535 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
5536 G_INDENT5 || ' ORDERED ' || g_newline ||
5537 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
5538 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012R1 A) ' || g_newline ||
5539 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
5540 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
5541 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
5542 '_324347_ND)' || g_newline ||
5543
5544 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5545 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5546 G_INDENT5 || ' INDEX(Q1012R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5547 G_INDENT5 || ' */ ' || g_newline ; --||
5548
5549
5550 --ARPATEL 10/14 bug#3207518
5551 JTF_TAE_GEN_PVT.write_buffer_content(
5552 l_qual_rules => lx_44435539_sql_1
5553 );
5554
5555 /* Add SELECT columns */
5556 --ARPATEL 10/14 bug#3207518
5557 JTF_TAE_GEN_PVT.write_buffer_content(
5558 l_qual_rules => lp_SELECT_cols || g_newline
5559 );
5560 --lp_SELECT_cols || g_newline
5561
5562 lx_44435539_sql :=
5563 G_INDENT5 || 'FROM ' ||
5564
5565 /* STATIC INLINE VIEW */
5566 add_ILV(l_sql, p_new_mode_fetch) ||
5567
5568 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1012R1 ' || g_newline ||
5569 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
5570 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
5571
5572 /* DYNAMIC BASED ON TRANSACTION TYPE */
5573 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
5574
5575 G_INDENT5 || 'WHERE ' || g_newline ||
5576
5577 lp_pc_cntry_predicate || g_newline ||
5578 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012R1.terr_id ' || g_newline ||
5579 G_INDENT5 || ' AND ( Q1012R1.comparison_operator = ''='' AND ' || g_newline ||
5580 G_INDENT5 || ' a.squal_fc01 = SUBSTR(Q1012R1.low_value_char, 1, 1) AND ' || g_newline ||
5581 G_INDENT5 || ' a.squal_char01 = Q1012R1.low_value_char ' || g_newline ||
5582 G_INDENT5 || ' ) ' || g_newline ||
5583 G_INDENT5 || ' AND Q1012R1.qual_usg_id = -1012 ' || g_newline ||
5584 G_INDENT5 || ' AND Q1012R1.terr_id = ILV.terr_id ' || g_newline ||
5585 G_INDENT5 || ' AND Q1012R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
5586
5587 G_INDENT5 || ' UNION ALL ' || g_newline ||
5588
5589 /************************/
5590 /* LIKE XYZ% 2 */
5591 /************************/
5592 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
5593
5594 G_INDENT5 || ' ORDERED ' || g_newline ||
5595 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
5596 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
5597 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
5598
5599 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
5600 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
5601 '_324347_ND)' || g_newline ||
5602 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5603 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5604 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
5605 G_INDENT5 || ' */ ' || g_newline ; --||
5606
5607 --ARPATEL 10/14 bug#3207518
5608 JTF_TAE_GEN_PVT.write_buffer_content(
5609 l_qual_rules => lx_44435539_sql
5610 );
5611
5612 /* Add SELECT columns */
5613 --ARPATEL 10/14 bug#3207518
5614 JTF_TAE_GEN_PVT.write_buffer_content(
5615 l_qual_rules => lp_SELECT_cols || g_newline
5616 );
5617 --lp_SELECT_cols || g_newline ||
5618
5619 lx_44435539_sql_2 :=
5620 G_INDENT5 || 'FROM '||
5621
5622 /* STATIC INLINE VIEW */
5623 add_ILV(l_sql, p_new_mode_fetch) ||
5624
5625 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
5626 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
5627 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
5628
5629 /* DYNAMIC BASED ON TRANSACTION TYPE */
5630 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
5631
5632 G_INDENT5 || 'WHERE ' || g_newline ||
5633
5634 lp_pc_cntry_predicate || g_newline ||
5635
5636 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
5637 G_INDENT5 || ' AND a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
5638 G_INDENT5 || ' a.squal_fc01 = Q1012LK.first_char ' || g_newline ||
5639 G_INDENT5 || ' AND Q1012LK.qual_usg_id = -1012 ' || g_newline ||
5640 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
5641
5642 G_INDENT5 || ' UNION ALL ' || g_newline ||
5643
5644 /************************/
5645 /* LIKE %XYZ 3 */
5646 /************************/
5647 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
5648
5649 G_INDENT5 || ' ORDERED ' || g_newline ||
5650 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
5651
5652 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
5653 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
5654 '_324347X_ND)' || g_newline ||
5655 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
5656 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5657 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5658 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
5659 G_INDENT5 || ' */ ' || g_newline ; --||
5660
5661
5662 --ARPATEL 10/14 bug#3207518
5663 JTF_TAE_GEN_PVT.write_buffer_content(
5664 l_qual_rules => lx_44435539_sql_2
5665 );
5666
5667 /* Add SELECT columns */
5668 --ARPATEL 10/14 bug#3207518
5669 JTF_TAE_GEN_PVT.write_buffer_content(
5670 l_qual_rules => lp_SELECT_cols || g_newline
5671 );
5672 --lp_SELECT_cols || g_newline ||
5673
5674 lx_44435539_sql_3 :=
5675 G_INDENT5 || 'FROM '||
5676
5677 /* STATIC INLINE VIEW */
5678 add_ILV(l_sql, p_new_mode_fetch) ||
5679
5680 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
5681 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
5682 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
5683
5684 /* DYNAMIC BASED ON TRANSACTION TYPE */
5685 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
5686
5687 G_INDENT5 || 'WHERE ' || g_newline ||
5688
5689 lp_pc_cntry_predicate_eq || g_newline ||
5690
5691 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
5692 G_INDENT5 || ' AND ( ' || g_newline ||
5693 G_INDENT5 || ' a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
5694 G_INDENT5 || ' Q1012LK.low_value_char = ''%'' ' || g_newline ||
5695 G_INDENT5 || ' ) ' || g_newline ||
5696 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
5697 G_INDENT5 || 'UNION ALL' || g_newline ||
5698 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
5699
5700 G_INDENT5 || ' ORDERED ' || g_newline ||
5701 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012LK A) ' || g_newline ||
5702
5703 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
5704 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
5705 '_324347X_ND)' || g_newline ||
5706 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
5707 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5708 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5709 G_INDENT5 || ' INDEX(Q1012LK JTF_TERR_CNR_QUAL_LIKE_MV_N10) ' || g_newline ||
5710 G_INDENT5 || ' */ ' || g_newline ; --||
5711
5712 --ARPATEL 10/14 bug#3207518
5713 JTF_TAE_GEN_PVT.write_buffer_content(
5714 l_qual_rules => lx_44435539_sql_3
5715 );
5716
5717 /* Add SELECT columns */
5718 --ARPATEL 10/14 bug#3207518
5719 JTF_TAE_GEN_PVT.write_buffer_content(
5720 l_qual_rules => lp_SELECT_cols || g_newline
5721 );
5722 --lp_SELECT_cols || g_newline ||
5723
5724 lx_44435539_sql_4 :=
5725 G_INDENT5 || 'FROM '||
5726
5727 /* STATIC INLINE VIEW */
5728 add_ILV(l_sql, p_new_mode_fetch) ||
5729
5730 G_INDENT5 || ' , jtf_terr_cnr_qual_like_mv Q1012LK ' || g_newline ||
5731 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
5732 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
5733
5734 /* DYNAMIC BASED ON TRANSACTION TYPE */
5735 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
5736
5737 G_INDENT5 || 'WHERE ' || g_newline ||
5738
5739 lp_pc_cntry_predicate_btwn || g_newline ||
5740
5741 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012LK.terr_id ' || g_newline ||
5742 G_INDENT5 || ' AND ( ' || g_newline ||
5743 G_INDENT5 || ' a.squal_char01 LIKE Q1012LK.low_value_char AND ' || g_newline ||
5744 G_INDENT5 || ' Q1012LK.low_value_char = ''%'' ' || g_newline ||
5745 G_INDENT5 || ' ) ' || g_newline ||
5746 G_INDENT5 || ' AND Q1012LK.terr_id = ILV.terr_id ' || g_newline ||
5747
5748 G_INDENT5 || ' UNION ALL ' || g_newline ||
5749
5750 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
5751 G_INDENT5 || ' ORDERED ' || g_newline ||
5752 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
5753 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1012BT A) ' || g_newline ||
5754 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
5755 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
5756 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
5757 '_324347_ND)' || g_newline ||
5758
5759 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5760 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5761 G_INDENT5 || ' INDEX(Q1012BT JTF_TERR_CNR_QUAL_BTWN_MV_N10) ' || g_newline ||
5762 G_INDENT5 || ' */ ' || g_newline ; --||
5763
5764 --ARPATEL 10/14 bug#3207518
5765 JTF_TAE_GEN_PVT.write_buffer_content(
5766 l_qual_rules => lx_44435539_sql_4
5767 );
5768
5769 /* Add SELECT columns */
5770 --ARPATEL 10/14 bug#3207518
5771 JTF_TAE_GEN_PVT.write_buffer_content(
5772 l_qual_rules => lp_SELECT_cols || g_newline
5773 );
5774 /* Add SELECT columns */
5775 --lp_SELECT_cols || g_newline ||
5776
5777 lx_44435539_sql_5 :=
5778 G_INDENT5 || 'FROM '||
5779
5780 /* STATIC INLINE VIEW */
5781 add_ILV(l_sql, p_new_mode_fetch) ||
5782
5783 G_INDENT5 || ' , jtf_terr_cnr_qual_btwn_mv Q1012BT ' || g_newline ||
5784 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
5785 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
5786
5787 /* DYNAMIC BASED ON TRANSACTION TYPE */
5788 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
5789
5790 G_INDENT5 || 'WHERE ' || g_newline ||
5791
5792 lp_pc_cntry_predicate || g_newline ||
5793
5794 G_INDENT5 || ' AND Q1007R1.terr_id = Q1012BT.terr_id ' || g_newline ||
5795 G_INDENT5 || ' AND a.squal_char01 <= Q1012BT.high_value_char AND ' || g_newline ||
5796 G_INDENT5 || ' a.squal_char01 >= Q1012BT.low_value_char AND ' || g_newline ||
5797 G_INDENT5 || ' a.squal_fc01 >= SUBSTR(Q1012BT.low_value_char, 1, 1) ' || g_newline ||
5798 G_INDENT5 || ' AND Q1012BT.qual_usg_id = -1012 ' || g_newline ||
5799 G_INDENT5 || ' AND Q1012BT.terr_id = ILV.terr_id ' || g_newline ||
5800 G_INDENT5 || ' AND Q1012BT.terr_id = Q1003R1.terr_id ) ILV2,' || g_newline ||
5801
5802 /************************/
5803 /* = ILV1 */
5804 /************************/
5805 G_INDENT5 || '( ' || g_newline ||
5806 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
5807 G_INDENT5 || ' USE_NL(ILV Q1018R1 ASLLP) ' || g_newline ||
5808 G_INDENT5 || ' USE_HASH(Q1018R1 ASLLP) ' || g_newline ||
5809 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
5810 G_INDENT5 || ' INDEX(Q1018R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
5811 G_INDENT5 || ' */ ' || g_newline ||
5812
5813 G_INDENT5 || ' ASLLP.sales_lead_id' || g_newline ||
5814 G_INDENT5 || ' , ASLLP.sales_lead_line_id' || g_newline ||
5815 G_INDENT5 || ' , ILV.terr_id ' || g_newline ||
5816 G_INDENT5 || ' , ILV.top_level_terr_id ' || g_newline ||
5817 G_INDENT5 || ' , ILV.absolute_rank ' || g_newline ||
5818 G_INDENT5 || ' , ILV.num_winners ' || g_newline ||
5819 G_INDENT5 || ' , ILV.org_id ' || g_newline ||
5820 G_INDENT5 || ' FROM AS_SALES_LEAD_LINES ASLLP, jtf_terr_qual_rules_mv Q1018R1' || g_newline ||
5821 G_INDENT5 || ' , /* INLINE VIEW */' || g_newline ||
5822 G_INDENT5 || ' ( SELECT /*+ NO_MERGE */' || g_newline ||
5823 G_INDENT5 || ' jtdr.terr_id ' || g_newline ||
5824 G_INDENT5 || ' , jtdr.source_id' || g_newline ||
5825 G_INDENT5 || ' , jtdr.qual_type_id' || g_newline ||
5826 G_INDENT5 || ' , jtdr.top_level_terr_id' || g_newline ||
5827 G_INDENT5 || ' , jtdr.absolute_rank ' || g_newline ||
5828 G_INDENT5 || ' , jtdr.num_winners ' || g_newline ||
5829 G_INDENT5 || ' , jtdr.org_id' || g_newline ||
5830 G_INDENT5 || ' FROM jtf_terr_denorm_rules_all jtdr' || g_newline ||
5831 G_INDENT5 || ' ,jtf_terr_qtype_usgs_all jtqu ' || g_newline ||
5832 G_INDENT5 || ' ,jtf_qual_type_usgs_all jqtu ' || g_newline ||
5833 G_INDENT5 || ' WHERE jtdr.source_id = p_source_id' || g_newline ||
5834 G_INDENT5 || ' AND jtdr.terr_id= jtdr.related_terr_id' || g_newline ||
5835 G_INDENT5 || ' AND jqtu.source_id = jtdr.source_id ' || g_newline ||
5836 G_INDENT5 || ' AND jqtu.qual_type_id = p_trans_object_type_id ' || g_newline ||
5837 G_INDENT5 || ' AND jtdr.terr_id = jtqu.terr_id ' || g_newline ||
5838 G_INDENT5 || ' AND jtqu.qual_type_usg_id = jqtu.qual_type_usg_id ' || g_newline ||
5839 G_INDENT5 || ' AND jtdr.resource_exists_flag = ''Y''' || g_newline ||
5840 G_INDENT5 || ' AND jtqu.qual_relation_product = lp_qual_combination_tbl(i)' || g_newline ||
5841 G_INDENT5 || ' ) ILV' || g_newline ||
5842 /* ARPATEL BUG#3531955 03/24/2004 change 1023 to 1018 */
5843 G_INDENT5 || ' WHERE ( Q1018R1.qual_usg_id = -1018 AND Q1018R1.terr_id = ILV.terr_id )' || g_newline ||
5844 G_INDENT5 || ' AND ( Q1018R1.secondary_interest_code_id IS NULL' || g_newline ||
5845 G_INDENT5 || ' OR (ASLLP.secondary_interest_code_id = Q1018R1.secondary_interest_code_id))' || g_newline ||
5846 G_INDENT5 || ' AND ( Q1018R1.primary_interest_code_id IS NULL' || g_newline ||
5847 G_INDENT5 || ' OR ( ASLLP.primary_interest_code_id = Q1018R1.primary_interest_code_id ))' || g_newline ||
5848 G_INDENT5 || ' AND ASLLP.interest_type_id = Q1018R1.interest_type_id' || g_newline ||
5849 G_INDENT5 || ' AND Q1018R1.comparison_operator = ''=''' || g_newline ||
5850 G_INDENT5 || ' ) ILV1 ' || g_newline ||
5851 G_INDENT5 || ' WHERE ILV1.terr_id = ILV2.terr_id ' || g_newline ||
5852 G_INDENT5 || ' AND ILV1.sales_lead_id = ILV2.trans_object_id ' || g_newline ||
5853 G_INDENT5 || lp_close_outermost_ILV || g_newline;
5854
5855 RETURN lx_44435539_sql_5;
5856
5857 EXCEPTION
5858 WHEN OTHERS THEN
5859 g_ProgramStatus := 1;
5860 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_44435539_SQL');
5861
5862 END add_44435539_SQL;
5863
5864
5865 --** LEAD INTEREST TYPE *** /* ARPATEL BUG#3508485 03/18/2004 */
5866 FUNCTION add_663217_SQL( p_trans_object_type_id IN NUMBER
5867 , p_table_name IN VARCHAR2
5868 -- dblee: 08/26/03 added new mode flag
5869 , p_new_mode_fetch IN CHAR)
5870
5871 RETURN VARCHAR2 AS
5872 lx_663217_sql VARCHAR2(32767) := NULL;
5873 lx_663217_sql_1 VARCHAR2(32767) := NULL;
5874 lx_663217_sql_2 VARCHAR2(32767) := NULL;
5875 l_select_ilv2 VARCHAR2(32767) := NULL;
5876 lp_SELECT_cols VARCHAR2(32767) := NULL;
5877 l_sql VARCHAR2(32767) := NULL;
5878 BEGIN
5879
5880 IF p_new_mode_fetch = 'Y' THEN
5881 l_select_ilv2 := --add_SELECT_clause(p_new_mode_fetch);
5882 G_INDENT || ' SELECT DISTINCT ' || g_newline ||
5883 G_INDENT || ' ILV2.TRANS_OBJECT_ID' || g_newline ||
5884 G_INDENT || ' , ILV2.TRANS_DETAIL_OBJECT_ID' || g_newline ||
5885 G_INDENT || ' , ILV2.HEADER_ID1' || g_newline ||
5886 G_INDENT || ' , ILV2.HEADER_ID2' || g_newline ||
5887 G_INDENT || ' , p_source_id' || g_newline ||
5888 G_INDENT || ' , p_trans_object_type_id' || g_newline ||
5889 G_INDENT || ' , l_sysdate' || g_newline ||
5890 G_INDENT || ' , L_USER_ID' || g_newline ||
5891 G_INDENT || ' , l_sysdate' || g_newline ||
5892 G_INDENT || ' , L_USER_ID' || g_newline ||
5893 G_INDENT || ' , L_USER_ID' || g_newline ||
5894 G_INDENT || ' , L_REQUEST_ID' || g_newline ||
5895 G_INDENT || ' , L_PROGRAM_APPL_ID' || g_newline ||
5896 G_INDENT || ' , L_PROGRAM_ID' || g_newline ||
5897 G_INDENT || ' , l_sysdate' || g_newline ||
5898 G_INDENT || ' , ILV2.SQUAL_FC01' || g_newline ||
5899 G_INDENT || ' , ILV2.SQUAL_FC02' || g_newline ||
5900 G_INDENT || ' , ILV2.SQUAL_FC03' || g_newline ||
5901 G_INDENT || ' , ILV2.SQUAL_FC04' || g_newline ||
5902 G_INDENT || ' , ILV2.SQUAL_FC05' || g_newline ||
5903 G_INDENT || ' , ILV2.SQUAL_CURC01' || g_newline ||
5904 G_INDENT || ' , ILV2.SQUAL_CURC02' || g_newline ||
5905 G_INDENT || ' , ILV2.SQUAL_CURC03' || g_newline ||
5906 G_INDENT || ' , ILV2.SQUAL_CURC04' || g_newline ||
5907 G_INDENT || ' , ILV2.SQUAL_CURC05' || g_newline ||
5908 G_INDENT || ' , ILV2.SQUAL_CURC06' || g_newline ||
5909 G_INDENT || ' , ILV2.SQUAL_CURC07' || g_newline ||
5910 G_INDENT || ' , ILV2.SQUAL_CURC08' || g_newline ||
5911 G_INDENT || ' , ILV2.SQUAL_CURC09' || g_newline ||
5912 G_INDENT || ' , ILV2.SQUAL_CURC10' || g_newline ||
5913 G_INDENT || ' , ILV2.SQUAL_CHAR01' || g_newline ||
5914 G_INDENT || ' , ILV2.SQUAL_CHAR02' || g_newline ||
5915 G_INDENT || ' , ILV2.SQUAL_CHAR03' || g_newline ||
5916 G_INDENT || ' , ILV2.SQUAL_CHAR04' || g_newline ||
5917 G_INDENT || ' , ILV2.SQUAL_CHAR05' || g_newline ||
5918 G_INDENT || ' , ILV2.SQUAL_CHAR06' || g_newline ||
5919 G_INDENT || ' , ILV2.SQUAL_CHAR07' || g_newline ||
5920 G_INDENT || ' , ILV2.SQUAL_CHAR08' || g_newline ||
5921 G_INDENT || ' , ILV2.SQUAL_CHAR09' || g_newline ||
5922 G_INDENT || ' , ILV2.SQUAL_CHAR10' || g_newline ||
5923 G_INDENT || ' , ILV2.SQUAL_CHAR11' || g_newline ||
5924 G_INDENT || ' , ILV2.SQUAL_CHAR12' || g_newline ||
5925 G_INDENT || ' , ILV2.SQUAL_CHAR13' || g_newline ||
5926 G_INDENT || ' , ILV2.SQUAL_CHAR14' || g_newline ||
5927 G_INDENT || ' , ILV2.SQUAL_CHAR15' || g_newline ||
5928 G_INDENT || ' , ILV2.SQUAL_CHAR16' || g_newline ||
5929 G_INDENT || ' , ILV2.SQUAL_CHAR17' || g_newline ||
5930 G_INDENT || ' , ILV2.SQUAL_CHAR18' || g_newline ||
5931 G_INDENT || ' , ILV2.SQUAL_CHAR19' || g_newline ||
5932 G_INDENT || ' , ILV2.SQUAL_CHAR20' || g_newline ||
5933 G_INDENT || ' , ILV2.SQUAL_CHAR21' || g_newline ||
5934 G_INDENT || ' , ILV2.SQUAL_CHAR22' || g_newline ||
5935 G_INDENT || ' , ILV2.SQUAL_CHAR23' || g_newline ||
5936 G_INDENT || ' , ILV2.SQUAL_CHAR24' || g_newline ||
5937 G_INDENT || ' , ILV2.SQUAL_CHAR25' || g_newline ||
5938 G_INDENT || ' , ILV2.SQUAL_CHAR26' || g_newline ||
5939 G_INDENT || ' , ILV2.SQUAL_CHAR27' || g_newline ||
5940 G_INDENT || ' , ILV2.SQUAL_CHAR28' || g_newline ||
5941 G_INDENT || ' , ILV2.SQUAL_CHAR30' || g_newline ||
5942 G_INDENT || ' , ILV2.SQUAL_CHAR31' || g_newline ||
5943 G_INDENT || ' , ILV2.SQUAL_CHAR32' || g_newline ||
5944 G_INDENT || ' , ILV2.SQUAL_CHAR33' || g_newline ||
5945 G_INDENT || ' , ILV2.SQUAL_CHAR34' || g_newline ||
5946 G_INDENT || ' , ILV2.SQUAL_CHAR35' || g_newline ||
5947 G_INDENT || ' , ILV2.SQUAL_CHAR36' || g_newline ||
5948 G_INDENT || ' , ILV2.SQUAL_CHAR37' || g_newline ||
5949 G_INDENT || ' , ILV2.SQUAL_CHAR38' || g_newline ||
5950 G_INDENT || ' , ILV2.SQUAL_CHAR39' || g_newline ||
5951 G_INDENT || ' , ILV2.SQUAL_CHAR40' || g_newline ||
5952 G_INDENT || ' , ILV2.SQUAL_CHAR41' || g_newline ||
5953 G_INDENT || ' , ILV2.SQUAL_CHAR42' || g_newline ||
5954 G_INDENT || ' , ILV2.SQUAL_CHAR43' || g_newline ||
5955 G_INDENT || ' , ILV2.SQUAL_CHAR44' || g_newline ||
5956 G_INDENT || ' , ILV2.SQUAL_CHAR45' || g_newline ||
5957 G_INDENT || ' , ILV2.SQUAL_CHAR46' || g_newline ||
5958 G_INDENT || ' , ILV2.SQUAL_CHAR47' || g_newline ||
5959 G_INDENT || ' , ILV2.SQUAL_CHAR48' || g_newline ||
5960 G_INDENT || ' , ILV2.SQUAL_CHAR49' || g_newline ||
5961 G_INDENT || ' , ILV2.SQUAL_CHAR50' || g_newline ||
5962 G_INDENT || ' , ILV2.SQUAL_CHAR51' || g_newline ||
5963 G_INDENT || ' , ILV2.SQUAL_CHAR52' || g_newline ||
5964 G_INDENT || ' , ILV2.SQUAL_CHAR53' || g_newline ||
5965 G_INDENT || ' , ILV2.SQUAL_CHAR54' || g_newline ||
5966 G_INDENT || ' , ILV2.SQUAL_CHAR55' || g_newline ||
5967 G_INDENT || ' , ILV2.SQUAL_CHAR56' || g_newline ||
5968 G_INDENT || ' , ILV2.SQUAL_CHAR57' || g_newline ||
5969 G_INDENT || ' , ILV2.SQUAL_CHAR58' || g_newline ||
5970 G_INDENT || ' , ILV2.SQUAL_CHAR59' || g_newline ||
5971 G_INDENT || ' , ILV2.SQUAL_CHAR60' || g_newline ||
5972 G_INDENT || ' , ILV2.SQUAL_NUM01' || g_newline ||
5973 G_INDENT || ' , ILV2.SQUAL_NUM02' || g_newline ||
5974 G_INDENT || ' , ILV2.SQUAL_NUM03' || g_newline ||
5975 G_INDENT || ' , ILV2.SQUAL_NUM04' || g_newline ||
5976 G_INDENT || ' , ILV2.SQUAL_NUM05' || g_newline ||
5977 G_INDENT || ' , ILV2.SQUAL_NUM06' || g_newline ||
5978 G_INDENT || ' , ILV2.SQUAL_NUM07' || g_newline ||
5979 G_INDENT || ' , ILV2.SQUAL_NUM08' || g_newline ||
5980 G_INDENT || ' , ILV2.SQUAL_NUM09' || g_newline ||
5981 G_INDENT || ' , ILV2.SQUAL_NUM10' || g_newline ||
5982 G_INDENT || ' , ILV2.SQUAL_NUM11' || g_newline ||
5983 G_INDENT || ' , ILV2.SQUAL_NUM12' || g_newline ||
5984 G_INDENT || ' , ILV2.SQUAL_NUM13' || g_newline ||
5985 G_INDENT || ' , ILV2.SQUAL_NUM14' || g_newline ||
5986 G_INDENT || ' , ILV2.SQUAL_NUM15' || g_newline ||
5987 G_INDENT || ' , ILV2.SQUAL_NUM16' || g_newline ||
5988 G_INDENT || ' , ILV2.SQUAL_NUM17' || g_newline ||
5989 G_INDENT || ' , ILV2.SQUAL_NUM18' || g_newline ||
5990 G_INDENT || ' , ILV2.SQUAL_NUM19' || g_newline ||
5991 G_INDENT || ' , ILV2.SQUAL_NUM20' || g_newline ||
5992 G_INDENT || ' , ILV2.SQUAL_NUM21' || g_newline ||
5993 G_INDENT || ' , ILV2.SQUAL_NUM22' || g_newline ||
5994 G_INDENT || ' , ILV2.SQUAL_NUM23' || g_newline ||
5995 G_INDENT || ' , ILV2.SQUAL_NUM24' || g_newline ||
5996 G_INDENT || ' , ILV2.SQUAL_NUM25' || g_newline ||
5997 G_INDENT || ' , ILV2.SQUAL_NUM26' || g_newline ||
5998 G_INDENT || ' , ILV2.SQUAL_NUM27' || g_newline ||
5999 G_INDENT || ' , ILV2.SQUAL_NUM28' || g_newline ||
6000 G_INDENT || ' , ILV2.SQUAL_NUM29' || g_newline ||
6001 G_INDENT || ' , ILV2.SQUAL_NUM30' || g_newline ||
6002 G_INDENT || ' , ILV2.SQUAL_NUM31' || g_newline ||
6003 G_INDENT || ' , ILV2.SQUAL_NUM32' || g_newline ||
6004 G_INDENT || ' , ILV2.SQUAL_NUM33' || g_newline ||
6005 G_INDENT || ' , ILV2.SQUAL_NUM34' || g_newline ||
6006 G_INDENT || ' , ILV2.SQUAL_NUM35' || g_newline ||
6007 G_INDENT || ' , ILV2.SQUAL_NUM36' || g_newline ||
6008 G_INDENT || ' , ILV2.SQUAL_NUM37' || g_newline ||
6009 G_INDENT || ' , ILV2.SQUAL_NUM38' || g_newline ||
6010 G_INDENT || ' , ILV2.SQUAL_NUM39' || g_newline ||
6011 G_INDENT || ' , ILV2.SQUAL_NUM40' || g_newline ||
6012 G_INDENT || ' , ILV2.SQUAL_NUM41' || g_newline ||
6013 G_INDENT || ' , ILV2.SQUAL_NUM42' || g_newline ||
6014 G_INDENT || ' , ILV2.SQUAL_NUM43' || g_newline ||
6015 G_INDENT || ' , ILV2.SQUAL_NUM44' || g_newline ||
6016 G_INDENT || ' , ILV2.SQUAL_NUM45' || g_newline ||
6017 G_INDENT || ' , ILV2.SQUAL_NUM46' || g_newline ||
6018 G_INDENT || ' , ILV2.SQUAL_NUM47' || g_newline ||
6019 G_INDENT || ' , ILV2.SQUAL_NUM48' || g_newline ||
6020 G_INDENT || ' , ILV2.SQUAL_NUM49' || g_newline ||
6021 G_INDENT || ' , ILV2.SQUAL_NUM50' || g_newline ||
6022 G_INDENT || ' , ILV2.SQUAL_NUM51' || g_newline ||
6023 G_INDENT || ' , ILV2.SQUAL_NUM52' || g_newline ||
6024 G_INDENT || ' , ILV2.SQUAL_NUM53' || g_newline ||
6025 G_INDENT || ' , ILV2.SQUAL_NUM54' || g_newline ||
6026 G_INDENT || ' , ILV2.SQUAL_NUM55' || g_newline ||
6027 G_INDENT || ' , ILV2.SQUAL_NUM56' || g_newline ||
6028 G_INDENT || ' , ILV2.SQUAL_NUM57' || g_newline ||
6029 G_INDENT || ' , ILV2.SQUAL_NUM58' || g_newline ||
6030 G_INDENT || ' , ILV2.SQUAL_NUM59' || g_newline ||
6031 G_INDENT || ' , ILV2.SQUAL_NUM60' || g_newline ||
6032 G_INDENT || ' , ILV2.ASSIGNED_FLAG' || g_newline ||
6033 G_INDENT || ' , ILV2.PROCESSED_FLAG' || g_newline ||
6034 G_INDENT || ' , ILV2.ORG_ID' || g_newline ||
6035 G_INDENT || ' , ILV2.SECURITY_GROUP_ID' || g_newline ||
6036 G_INDENT || ' , ILV2.OBJECT_VERSION_NUMBER' || g_newline ||
6037 G_INDENT || ' , ILV2.WORKER_ID' || g_newline ;
6038
6039 lp_SELECT_cols :=
6040 --G_INDENT5 || add_SELECT_cols(p_new_mode_fetch) || g_newline;
6041
6042 /* ARPATEL: bug#3373462 */
6043 G_INDENT || ' A.TRANS_OBJECT_ID' || g_newline ||
6044 G_INDENT || ' , A.TRANS_DETAIL_OBJECT_ID' || g_newline ||
6045 G_INDENT || ' , A.HEADER_ID1' || g_newline ||
6046 G_INDENT || ' , A.HEADER_ID2' || g_newline ||
6047 G_INDENT || ' , A.SQUAL_FC01' || g_newline ||
6048 G_INDENT || ' , A.SQUAL_FC02' || g_newline ||
6049 G_INDENT || ' , A.SQUAL_FC03' || g_newline ||
6050 G_INDENT || ' , A.SQUAL_FC04' || g_newline ||
6051 G_INDENT || ' , A.SQUAL_FC05' || g_newline ||
6052 G_INDENT || ' , A.SQUAL_CURC01' || g_newline ||
6053 G_INDENT || ' , A.SQUAL_CURC02' || g_newline ||
6054 G_INDENT || ' , A.SQUAL_CURC03' || g_newline ||
6055 G_INDENT || ' , A.SQUAL_CURC04' || g_newline ||
6056 G_INDENT || ' , A.SQUAL_CURC05' || g_newline ||
6057 G_INDENT || ' , A.SQUAL_CURC06' || g_newline ||
6058 G_INDENT || ' , A.SQUAL_CURC07' || g_newline ||
6059 G_INDENT || ' , A.SQUAL_CURC08' || g_newline ||
6060 G_INDENT || ' , A.SQUAL_CURC09' || g_newline ||
6061 G_INDENT || ' , A.SQUAL_CURC10' || g_newline ||
6062 G_INDENT || ' , A.SQUAL_CHAR01' || g_newline ||
6063 G_INDENT || ' , A.SQUAL_CHAR02' || g_newline ||
6064 G_INDENT || ' , A.SQUAL_CHAR03' || g_newline ||
6065 G_INDENT || ' , A.SQUAL_CHAR04' || g_newline ||
6066 G_INDENT || ' , A.SQUAL_CHAR05' || g_newline ||
6067 G_INDENT || ' , A.SQUAL_CHAR06' || g_newline ||
6068 G_INDENT || ' , A.SQUAL_CHAR07' || g_newline ||
6069 G_INDENT || ' , A.SQUAL_CHAR08' || g_newline ||
6070 G_INDENT || ' , A.SQUAL_CHAR09' || g_newline ||
6071 G_INDENT || ' , A.SQUAL_CHAR10' || g_newline ||
6072 G_INDENT || ' , A.SQUAL_CHAR11' || g_newline ||
6073 G_INDENT || ' , A.SQUAL_CHAR12' || g_newline ||
6074 G_INDENT || ' , A.SQUAL_CHAR13' || g_newline ||
6075 G_INDENT || ' , A.SQUAL_CHAR14' || g_newline ||
6076 G_INDENT || ' , A.SQUAL_CHAR15' || g_newline ||
6077 G_INDENT || ' , A.SQUAL_CHAR16' || g_newline ||
6078 G_INDENT || ' , A.SQUAL_CHAR17' || g_newline ||
6079 G_INDENT || ' , A.SQUAL_CHAR18' || g_newline ||
6080 G_INDENT || ' , A.SQUAL_CHAR19' || g_newline ||
6081 G_INDENT || ' , A.SQUAL_CHAR20' || g_newline ||
6082 G_INDENT || ' , A.SQUAL_CHAR21' || g_newline ||
6083 G_INDENT || ' , A.SQUAL_CHAR22' || g_newline ||
6084 G_INDENT || ' , A.SQUAL_CHAR23' || g_newline ||
6085 G_INDENT || ' , A.SQUAL_CHAR24' || g_newline ||
6086 G_INDENT || ' , A.SQUAL_CHAR25' || g_newline ||
6087 G_INDENT || ' , A.SQUAL_CHAR26' || g_newline ||
6088 G_INDENT || ' , A.SQUAL_CHAR27' || g_newline ||
6089 G_INDENT || ' , A.SQUAL_CHAR28' || g_newline ||
6090 G_INDENT || ' , A.SQUAL_CHAR30' || g_newline ||
6091 G_INDENT || ' , A.SQUAL_CHAR31' || g_newline ||
6092 G_INDENT || ' , A.SQUAL_CHAR32' || g_newline ||
6093 G_INDENT || ' , A.SQUAL_CHAR33' || g_newline ||
6094 G_INDENT || ' , A.SQUAL_CHAR34' || g_newline ||
6095 G_INDENT || ' , A.SQUAL_CHAR35' || g_newline ||
6096 G_INDENT || ' , A.SQUAL_CHAR36' || g_newline ||
6097 G_INDENT || ' , A.SQUAL_CHAR37' || g_newline ||
6098 G_INDENT || ' , A.SQUAL_CHAR38' || g_newline ||
6099 G_INDENT || ' , A.SQUAL_CHAR39' || g_newline ||
6100 G_INDENT || ' , A.SQUAL_CHAR40' || g_newline ||
6101 G_INDENT || ' , A.SQUAL_CHAR41' || g_newline ||
6102 G_INDENT || ' , A.SQUAL_CHAR42' || g_newline ||
6103 G_INDENT || ' , A.SQUAL_CHAR43' || g_newline ||
6104 G_INDENT || ' , A.SQUAL_CHAR44' || g_newline ||
6105 G_INDENT || ' , A.SQUAL_CHAR45' || g_newline ||
6106 G_INDENT || ' , A.SQUAL_CHAR46' || g_newline ||
6107 G_INDENT || ' , A.SQUAL_CHAR47' || g_newline ||
6108 G_INDENT || ' , A.SQUAL_CHAR48' || g_newline ||
6109 G_INDENT || ' , A.SQUAL_CHAR49' || g_newline ||
6110 G_INDENT || ' , A.SQUAL_CHAR50' || g_newline ||
6111 G_INDENT || ' , A.SQUAL_CHAR51' || g_newline ||
6112 G_INDENT || ' , A.SQUAL_CHAR52' || g_newline ||
6113 G_INDENT || ' , A.SQUAL_CHAR53' || g_newline ||
6114 G_INDENT || ' , A.SQUAL_CHAR54' || g_newline ||
6115 G_INDENT || ' , A.SQUAL_CHAR55' || g_newline ||
6116 G_INDENT || ' , A.SQUAL_CHAR56' || g_newline ||
6117 G_INDENT || ' , A.SQUAL_CHAR57' || g_newline ||
6118 G_INDENT || ' , A.SQUAL_CHAR58' || g_newline ||
6119 G_INDENT || ' , A.SQUAL_CHAR59' || g_newline ||
6120 G_INDENT || ' , A.SQUAL_CHAR60' || g_newline ||
6121 G_INDENT || ' , A.SQUAL_NUM01' || g_newline ||
6122 G_INDENT || ' , A.SQUAL_NUM02' || g_newline ||
6123 G_INDENT || ' , A.SQUAL_NUM03' || g_newline ||
6124 G_INDENT || ' , A.SQUAL_NUM04' || g_newline ||
6125 G_INDENT || ' , A.SQUAL_NUM05' || g_newline ||
6126 G_INDENT || ' , A.SQUAL_NUM06' || g_newline ||
6127 G_INDENT || ' , A.SQUAL_NUM07' || g_newline ||
6128 G_INDENT || ' , A.SQUAL_NUM08' || g_newline ||
6129 G_INDENT || ' , A.SQUAL_NUM09' || g_newline ||
6130 G_INDENT || ' , A.SQUAL_NUM10' || g_newline ||
6131 G_INDENT || ' , A.SQUAL_NUM11' || g_newline ||
6132 G_INDENT || ' , A.SQUAL_NUM12' || g_newline ||
6133 G_INDENT || ' , A.SQUAL_NUM13' || g_newline ||
6134 G_INDENT || ' , A.SQUAL_NUM14' || g_newline ||
6135 G_INDENT || ' , A.SQUAL_NUM15' || g_newline ||
6136 G_INDENT || ' , A.SQUAL_NUM16' || g_newline ||
6137 G_INDENT || ' , A.SQUAL_NUM17' || g_newline ||
6138 G_INDENT || ' , A.SQUAL_NUM18' || g_newline ||
6139 G_INDENT || ' , A.SQUAL_NUM19' || g_newline ||
6140 G_INDENT || ' , A.SQUAL_NUM20' || g_newline ||
6141 G_INDENT || ' , A.SQUAL_NUM21' || g_newline ||
6142 G_INDENT || ' , A.SQUAL_NUM22' || g_newline ||
6143 G_INDENT || ' , A.SQUAL_NUM23' || g_newline ||
6144 G_INDENT || ' , A.SQUAL_NUM24' || g_newline ||
6145 G_INDENT || ' , A.SQUAL_NUM25' || g_newline ||
6146 G_INDENT || ' , A.SQUAL_NUM26' || g_newline ||
6147 G_INDENT || ' , A.SQUAL_NUM27' || g_newline ||
6148 G_INDENT || ' , A.SQUAL_NUM28' || g_newline ||
6149 G_INDENT || ' , A.SQUAL_NUM29' || g_newline ||
6150 G_INDENT || ' , A.SQUAL_NUM30' || g_newline ||
6151 G_INDENT || ' , A.SQUAL_NUM31' || g_newline ||
6152 G_INDENT || ' , A.SQUAL_NUM32' || g_newline ||
6153 G_INDENT || ' , A.SQUAL_NUM33' || g_newline ||
6154 G_INDENT || ' , A.SQUAL_NUM34' || g_newline ||
6155 G_INDENT || ' , A.SQUAL_NUM35' || g_newline ||
6156 G_INDENT || ' , A.SQUAL_NUM36' || g_newline ||
6157 G_INDENT || ' , A.SQUAL_NUM37' || g_newline ||
6158 G_INDENT || ' , A.SQUAL_NUM38' || g_newline ||
6159 G_INDENT || ' , A.SQUAL_NUM39' || g_newline ||
6160 G_INDENT || ' , A.SQUAL_NUM40' || g_newline ||
6161 G_INDENT || ' , A.SQUAL_NUM41' || g_newline ||
6162 G_INDENT || ' , A.SQUAL_NUM42' || g_newline ||
6163 G_INDENT || ' , A.SQUAL_NUM43' || g_newline ||
6164 G_INDENT || ' , A.SQUAL_NUM44' || g_newline ||
6165 G_INDENT || ' , A.SQUAL_NUM45' || g_newline ||
6166 G_INDENT || ' , A.SQUAL_NUM46' || g_newline ||
6167 G_INDENT || ' , A.SQUAL_NUM47' || g_newline ||
6168 G_INDENT || ' , A.SQUAL_NUM48' || g_newline ||
6169 G_INDENT || ' , A.SQUAL_NUM49' || g_newline ||
6170 G_INDENT || ' , A.SQUAL_NUM50' || g_newline ||
6171 G_INDENT || ' , A.SQUAL_NUM51' || g_newline ||
6172 G_INDENT || ' , A.SQUAL_NUM52' || g_newline ||
6173 G_INDENT || ' , A.SQUAL_NUM53' || g_newline ||
6174 G_INDENT || ' , A.SQUAL_NUM54' || g_newline ||
6175 G_INDENT || ' , A.SQUAL_NUM55' || g_newline ||
6176 G_INDENT || ' , A.SQUAL_NUM56' || g_newline ||
6177 G_INDENT || ' , A.SQUAL_NUM57' || g_newline ||
6178 G_INDENT || ' , A.SQUAL_NUM58' || g_newline ||
6179 G_INDENT || ' , A.SQUAL_NUM59' || g_newline ||
6180 G_INDENT || ' , A.SQUAL_NUM60' || g_newline ||
6181 G_INDENT || ' , A.ASSIGNED_FLAG' || g_newline ||
6182 G_INDENT || ' , A.PROCESSED_FLAG' || g_newline ||
6183 G_INDENT || ' , A.ORG_ID' || g_newline ||
6184 G_INDENT || ' , A.SECURITY_GROUP_ID' || g_newline ||
6185 G_INDENT || ' , A.OBJECT_VERSION_NUMBER' || g_newline ||
6186 G_INDENT || ' , A.WORKER_ID' || g_newline ||
6187 G_INDENT || ' , ILV.terr_id ' || g_newline ||
6188 G_INDENT || ' , ILV.absolute_rank ' || g_newline ||
6189 G_INDENT || ' , ILV.top_level_terr_id '|| g_newline ||
6190 G_INDENT || ' , ILV.num_winners ' || g_newline;
6191
6192
6193
6194 ELSE
6195 l_select_ilv2 :=
6196 G_INDENT5 || 'SELECT /*+ USE_HASH(ILV2 ASLLP) */ ' || g_newline ||
6197 G_INDENT5 || ' DISTINCT ' || g_newline ||
6198 G_INDENT5 ||'ILV2.trans_object_id' || g_newline ||
6199 G_INDENT5 ||', ILV2.trans_detail_object_id' || g_newline ||
6200 -- eihsu 06/19/2003 worker_id
6201 G_INDENT5 ||',ILV2.worker_id' || g_newline ||
6202 G_INDENT5 ||',ILV2.header_id1' || g_newline ||
6203 G_INDENT5 ||',ILV2.header_id2' || g_newline ||
6204 G_INDENT5 ||', p_source_id' || g_newline ||
6205 G_INDENT5 ||', p_trans_object_type_id' || g_newline ||
6206 G_INDENT5 ||', l_sysdate' || g_newline ||
6207 G_INDENT5 ||', L_USER_ID' || g_newline ||
6208 G_INDENT5 ||', l_sysdate' || g_newline ||
6209 G_INDENT5 ||', L_USER_ID' || g_newline ||
6210 G_INDENT5 ||', L_USER_ID' || g_newline ||
6211 G_INDENT5 ||', L_REQUEST_ID' || g_newline ||
6212 G_INDENT5 ||', L_PROGRAM_APPL_ID' || g_newline ||
6213 G_INDENT5 ||', L_PROGRAM_ID' || g_newline ||
6214 G_INDENT5 ||', l_sysdate' || g_newline ||
6215 G_INDENT5 ||', ILV2.terr_id' || g_newline ||
6216 G_INDENT5 ||', ILV2.absolute_rank' || g_newline ||
6217 G_INDENT5 ||', ILV2.top_level_terr_id' || g_newline ||
6218 G_INDENT5 ||', ILV2.num_winners' || g_newline ||
6219 G_INDENT5 ||', ILV2.org_id' || g_newline ;
6220
6221 lp_SELECT_cols :=
6222 G_INDENT5 || 'A.trans_object_id, A.trans_detail_object_id, ' || g_newline ||
6223 -- eihsu 06/19/2003 worker_id
6224 G_INDENT5 || 'A.worker_id, ' || g_newline ||
6225 G_INDENT5 || 'A.header_id1, A.header_id2, ' || g_newline ||
6226 G_INDENT5 || 'ILV.terr_id, ILV.absolute_rank, ' || g_newline ||
6227 G_INDENT5 || 'ILV.top_level_terr_id, ILV.num_winners, ILV.org_id ';
6228 END IF;
6229
6230
6231 JTF_TAE_GEN_PVT.write_buffer_content(
6232 l_qual_rules => l_select_ilv2 || ' FROM ' ||g_newline ||
6233 G_INDENT5 || '( SELECT /*+ NO_MERGE USE_CONCAT */ ' || g_newline
6234 );
6235
6236 lx_663217_sql := lp_SELECT_cols || g_newline ||
6237 G_INDENT5 || ' FROM JTF_TAE_1001_LEAD_TRANS A, ' || g_newline ||
6238 G_INDENT5 || ' jtf_terr_qual_rules_mv Q1007R1, ' || g_newline ||
6239 G_INDENT5 || ' jtf_terr_qual_rules_mv Q1003R1, ' || g_newline ||
6240
6241 /* STATIC INLINE VIEW */
6242 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
6243
6244 JTF_TAE_GEN_PVT.write_buffer_content(
6245 l_qual_rules => lx_663217_sql
6246 );
6247
6248 lx_663217_sql_1 :=
6249 G_INDENT5 || 'WHERE 1 = 1 ' || g_newline;
6250
6251 IF p_new_mode_fetch <> 'Y' THEN
6252 lx_663217_sql_1 := lx_663217_sql_1 ||
6253 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
6254 END IF;
6255
6256 lx_663217_sql_1 := lx_663217_sql_1 ||
6257 G_INDENT5 || ' AND ( Q1007R1.qual_usg_id = -1007 AND' || g_newline ||
6258 G_INDENT5 || ' Q1007R1.terr_id = ILV.terr_id )' || g_newline ||
6259 G_INDENT5 || ' AND ( ( a.squal_char06 = Q1007R1.low_value_char AND' || g_newline ||
6260 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' )' || g_newline ||
6261 G_INDENT5 || ' OR' || g_newline ||
6262 G_INDENT5 || ' ( a.squal_char06 LIKE Q1007R1.low_value_char AND' || g_newline ||
6263 G_INDENT5 || ' Q1007R1.comparison_operator = ''LIKE'' )' || g_newline ||
6264 G_INDENT5 || ' OR' || g_newline ||
6265 G_INDENT5 || ' ( a.squal_char06 <= Q1007R1.high_value_char AND' || g_newline ||
6266 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND' || g_newline ||
6267 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' )' || g_newline ||
6268 G_INDENT5 || ' )' || g_newline ||
6269 G_INDENT5 || ' AND ( Q1003R1.qual_usg_id = -1003 AND' || g_newline ||
6270 G_INDENT5 || ' Q1003R1.terr_id = ILV.terr_id )' || g_newline ||
6271 G_INDENT5 || ' AND ( ( a.squal_char07 = Q1003R1.low_value_char AND' || g_newline ||
6272 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' )' || g_newline ||
6273 G_INDENT5 || ' ) ) ILV2,' || g_newline ||
6274 G_INDENT5 || ' AS_SALES_LEAD_LINES ASLLP,' || g_newline ||
6275 G_INDENT5 || ' (SELECT /*+ NO_MERGE */' || g_newline ||
6276 G_INDENT5 || ' Q1018R1.secondary_interest_code_id,' || g_newline ||
6277 G_INDENT5 || ' Q1018R1.primary_interest_code_id,' || g_newline ||
6278 G_INDENT5 || ' Q1018R1.interest_type_id' || g_newline ||
6279 G_INDENT5 || ' , ILV.terr_id' || g_newline ||
6280 G_INDENT5 || ' , ILV.top_level_terr_id' || g_newline ||
6281 G_INDENT5 || ' , ILV.absolute_rank' || g_newline ||
6282 G_INDENT5 || ' , ILV.num_winners' || g_newline ||
6283 G_INDENT5 || ' , ILV.org_id' || g_newline ||
6284 G_INDENT5 || ' FROM jtf_terr_qual_rules_mv Q1018R1, ' || g_newline;
6285
6286 JTF_TAE_GEN_PVT.write_buffer_content(
6287 l_qual_rules => lx_663217_sql_1
6288 );
6289
6290 /* STATIC INLINE VIEW */
6291 JTF_TAE_GEN_PVT.write_buffer_content(
6292 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch)
6293 );
6294
6295 lx_663217_sql_2 :=
6296 G_INDENT5 || ' WHERE 1 = 1 ' || g_newline ||
6297
6298 G_INDENT5 || ' AND Q1018R1.qual_usg_id = -1018' || g_newline ||
6299 G_INDENT5 || ' AND Q1018R1.terr_id = ILV.terr_id' || g_newline ||
6300 G_INDENT5 || ' AND Q1018R1.comparison_operator = ''='' ) ILV_INTEREST' || g_newline ||
6301 G_INDENT5 || 'WHERE asllp.sales_lead_id = ILV2.trans_object_id' || g_newline ||
6302 G_INDENT5 || ' AND ( ILV_INTEREST.secondary_interest_code_id IS NULL' || g_newline ||
6303 G_INDENT5 || ' OR (ASLLP.secondary_interest_code_id = ILV_INTEREST.secondary_interest_code_id)' || g_newline ||
6304 G_INDENT5 || ' )' || g_newline ||
6305 G_INDENT5 || ' AND ( ILV_INTEREST.primary_interest_code_id IS NULL' || g_newline ||
6306 G_INDENT5 || ' OR (ASLLP.primary_interest_code_id = ILV_INTEREST.primary_interest_code_id )' || g_newline ||
6307 G_INDENT5 || ' )' || g_newline ||
6308 G_INDENT5 || ' AND ASLLP.interest_type_id = ILV_INTEREST.interest_type_id' || g_newline ||
6309 G_INDENT5 || ' AND ILV_INTEREST.terr_id = ILV2.terr_id ;' || g_newline;
6310
6311
6312 RETURN lx_663217_sql_2;
6313 EXCEPTION
6314 WHEN OTHERS THEN
6315 g_ProgramStatus := 1;
6316 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_663217_SQL');
6317
6318 END add_663217_SQL;
6319
6320
6321 /*********************************************************
6322 ** ARPATEL: 04/15/2004
6323 ** Function to return customer name range GROUP + Postal Code + Country SQL
6324 *********************************************************/
6325 FUNCTION add_353393_SQL( p_trans_object_type_id IN NUMBER
6326 , p_table_name IN VARCHAR2
6327 -- dblee 08/26/03 added new mode flag
6328 , p_new_mode_fetch IN CHAR)
6329 RETURN VARCHAR2 AS
6330
6331 lp_close_outermost_ILV VARCHAR2(255);
6332 lp_SELECT_cols VARCHAR2(32767) := NULL;
6333 lx_353393_sql VARCHAR2(32767) := NULL;
6334 lx_353393_sql_1 VARCHAR2(32767) := NULL;
6335 lx_353393_sql_2 VARCHAR2(32767) := NULL;
6336 lx_353393_sql_3 VARCHAR2(32767) := NULL;
6337 lp_pc_cntry_predicate_eq VARCHAR2(32767) := NULL;
6338 lp_pc_cntry_predicate VARCHAR2(32767) := NULL;
6339 lp_pc_cntry_predicate_btwn VARCHAR2(32767) := NULL;
6340 l_sql VARCHAR2(32767) := NULL;
6341 BEGIN
6342
6343 -- dblee: 08/27/03 new mode support
6344 IF p_new_mode_fetch = 'Y' THEN
6345 lp_SELECT_cols :=
6346 /* ARPATEL: 01/15/2004 bug#3373462 */
6347 G_INDENT5 || ' A.TRANS_OBJECT_ID' || g_newline ||
6348 G_INDENT5 || ' , A.TRANS_DETAIL_OBJECT_ID' || g_newline ||
6349 G_INDENT5 || ' , A.HEADER_ID1' || g_newline ||
6350 G_INDENT5 || ' , A.HEADER_ID2' || g_newline ||
6351 G_INDENT5 || ' , A.SQUAL_FC01' || g_newline ||
6352 G_INDENT5 || ' , A.SQUAL_FC02' || g_newline ||
6353 G_INDENT5 || ' , A.SQUAL_FC03' || g_newline ||
6354 G_INDENT5 || ' , A.SQUAL_FC04' || g_newline ||
6355 G_INDENT5 || ' , A.SQUAL_FC05' || g_newline ||
6356 G_INDENT5 || ' , A.SQUAL_CURC01' || g_newline ||
6357 G_INDENT5 || ' , A.SQUAL_CURC02' || g_newline ||
6358 G_INDENT5 || ' , A.SQUAL_CURC03' || g_newline ||
6359 G_INDENT5 || ' , A.SQUAL_CURC04' || g_newline ||
6360 G_INDENT5 || ' , A.SQUAL_CURC05' || g_newline ||
6361 G_INDENT5 || ' , A.SQUAL_CURC06' || g_newline ||
6362 G_INDENT5 || ' , A.SQUAL_CURC07' || g_newline ||
6363 G_INDENT5 || ' , A.SQUAL_CURC08' || g_newline ||
6364 G_INDENT5 || ' , A.SQUAL_CURC09' || g_newline ||
6365 G_INDENT5 || ' , A.SQUAL_CURC10' || g_newline ||
6366 G_INDENT5 || ' , A.SQUAL_CHAR01' || g_newline ||
6367 G_INDENT5 || ' , A.SQUAL_CHAR02' || g_newline ||
6368 G_INDENT5 || ' , A.SQUAL_CHAR03' || g_newline ||
6369 G_INDENT5 || ' , A.SQUAL_CHAR04' || g_newline ||
6370 G_INDENT5 || ' , A.SQUAL_CHAR05' || g_newline ||
6371 G_INDENT5 || ' , A.SQUAL_CHAR06' || g_newline ||
6372 G_INDENT5 || ' , A.SQUAL_CHAR07' || g_newline ||
6373 G_INDENT5 || ' , A.SQUAL_CHAR08' || g_newline ||
6374 G_INDENT5 || ' , A.SQUAL_CHAR09' || g_newline ||
6375 G_INDENT5 || ' , A.SQUAL_CHAR10' || g_newline ||
6376 G_INDENT5 || ' , A.SQUAL_CHAR11' || g_newline ||
6377 G_INDENT5 || ' , A.SQUAL_CHAR12' || g_newline ||
6378 G_INDENT5 || ' , A.SQUAL_CHAR13' || g_newline ||
6379 G_INDENT5 || ' , A.SQUAL_CHAR14' || g_newline ||
6380 G_INDENT5 || ' , A.SQUAL_CHAR15' || g_newline ||
6381 G_INDENT5 || ' , A.SQUAL_CHAR16' || g_newline ||
6382 G_INDENT5 || ' , A.SQUAL_CHAR17' || g_newline ||
6383 G_INDENT5 || ' , A.SQUAL_CHAR18' || g_newline ||
6384 G_INDENT5 || ' , A.SQUAL_CHAR19' || g_newline ||
6385 G_INDENT5 || ' , A.SQUAL_CHAR20' || g_newline ||
6386 G_INDENT5 || ' , A.SQUAL_CHAR21' || g_newline ||
6387 G_INDENT5 || ' , A.SQUAL_CHAR22' || g_newline ||
6388 G_INDENT5 || ' , A.SQUAL_CHAR23' || g_newline ||
6389 G_INDENT5 || ' , A.SQUAL_CHAR24' || g_newline ||
6390 G_INDENT5 || ' , A.SQUAL_CHAR25' || g_newline ||
6391 G_INDENT5 || ' , A.SQUAL_CHAR26' || g_newline ||
6392 G_INDENT5 || ' , A.SQUAL_CHAR27' || g_newline ||
6393 G_INDENT5 || ' , A.SQUAL_CHAR28' || g_newline ||
6394 G_INDENT5 || ' , A.SQUAL_CHAR30' || g_newline ||
6395 G_INDENT5 || ' , A.SQUAL_CHAR31' || g_newline ||
6396 G_INDENT5 || ' , A.SQUAL_CHAR32' || g_newline ||
6397 G_INDENT5 || ' , A.SQUAL_CHAR33' || g_newline ||
6398 G_INDENT5 || ' , A.SQUAL_CHAR34' || g_newline ||
6399 G_INDENT5 || ' , A.SQUAL_CHAR35' || g_newline ||
6400 G_INDENT5 || ' , A.SQUAL_CHAR36' || g_newline ||
6401 G_INDENT5 || ' , A.SQUAL_CHAR37' || g_newline ||
6402 G_INDENT5 || ' , A.SQUAL_CHAR38' || g_newline ||
6403 G_INDENT5 || ' , A.SQUAL_CHAR39' || g_newline ||
6404 G_INDENT5 || ' , A.SQUAL_CHAR40' || g_newline ||
6405 G_INDENT5 || ' , A.SQUAL_CHAR41' || g_newline ||
6406 G_INDENT5 || ' , A.SQUAL_CHAR42' || g_newline ||
6407 G_INDENT5 || ' , A.SQUAL_CHAR43' || g_newline ||
6408 G_INDENT5 || ' , A.SQUAL_CHAR44' || g_newline ||
6409 G_INDENT5 || ' , A.SQUAL_CHAR45' || g_newline ||
6410 G_INDENT5 || ' , A.SQUAL_CHAR46' || g_newline ||
6411 G_INDENT5 || ' , A.SQUAL_CHAR47' || g_newline ||
6412 G_INDENT5 || ' , A.SQUAL_CHAR48' || g_newline ||
6413 G_INDENT5 || ' , A.SQUAL_CHAR49' || g_newline ||
6414 G_INDENT5 || ' , A.SQUAL_CHAR50' || g_newline ||
6415 G_INDENT5 || ' , A.SQUAL_CHAR51' || g_newline ||
6416 G_INDENT5 || ' , A.SQUAL_CHAR52' || g_newline ||
6417 G_INDENT5 || ' , A.SQUAL_CHAR53' || g_newline ||
6418 G_INDENT5 || ' , A.SQUAL_CHAR54' || g_newline ||
6419 G_INDENT5 || ' , A.SQUAL_CHAR55' || g_newline ||
6420 G_INDENT5 || ' , A.SQUAL_CHAR56' || g_newline ||
6421 G_INDENT5 || ' , A.SQUAL_CHAR57' || g_newline ||
6422 G_INDENT5 || ' , A.SQUAL_CHAR58' || g_newline ||
6423 G_INDENT5 || ' , A.SQUAL_CHAR59' || g_newline ||
6424 G_INDENT5 || ' , A.SQUAL_CHAR60' || g_newline ||
6425 G_INDENT5 || ' , A.SQUAL_NUM01' || g_newline ||
6426 G_INDENT5 || ' , A.SQUAL_NUM02' || g_newline ||
6427 G_INDENT5 || ' , A.SQUAL_NUM03' || g_newline ||
6428 G_INDENT5 || ' , A.SQUAL_NUM04' || g_newline ||
6429 G_INDENT5 || ' , A.SQUAL_NUM05' || g_newline ||
6430 G_INDENT5 || ' , A.SQUAL_NUM06' || g_newline ||
6431 G_INDENT5 || ' , A.SQUAL_NUM07' || g_newline ||
6432 G_INDENT5 || ' , A.SQUAL_NUM08' || g_newline ||
6433 G_INDENT5 || ' , A.SQUAL_NUM09' || g_newline ||
6434 G_INDENT5 || ' , A.SQUAL_NUM10' || g_newline ||
6435 G_INDENT5 || ' , A.SQUAL_NUM11' || g_newline ||
6436 G_INDENT5 || ' , A.SQUAL_NUM12' || g_newline ||
6437 G_INDENT5 || ' , A.SQUAL_NUM13' || g_newline ||
6438 G_INDENT5 || ' , A.SQUAL_NUM14' || g_newline ||
6439 G_INDENT5 || ' , A.SQUAL_NUM15' || g_newline ||
6440 G_INDENT5 || ' , A.SQUAL_NUM16' || g_newline ||
6441 G_INDENT5 || ' , A.SQUAL_NUM17' || g_newline ||
6442 G_INDENT5 || ' , A.SQUAL_NUM18' || g_newline ||
6443 G_INDENT5 || ' , A.SQUAL_NUM19' || g_newline ||
6444 G_INDENT5 || ' , A.SQUAL_NUM20' || g_newline ||
6445 G_INDENT5 || ' , A.SQUAL_NUM21' || g_newline ||
6446 G_INDENT5 || ' , A.SQUAL_NUM22' || g_newline ||
6447 G_INDENT5 || ' , A.SQUAL_NUM23' || g_newline ||
6448 G_INDENT5 || ' , A.SQUAL_NUM24' || g_newline ||
6449 G_INDENT5 || ' , A.SQUAL_NUM25' || g_newline ||
6450 G_INDENT5 || ' , A.SQUAL_NUM26' || g_newline ||
6451 G_INDENT5 || ' , A.SQUAL_NUM27' || g_newline ||
6452 G_INDENT5 || ' , A.SQUAL_NUM28' || g_newline ||
6453 G_INDENT5 || ' , A.SQUAL_NUM29' || g_newline ||
6454 G_INDENT5 || ' , A.SQUAL_NUM30' || g_newline ||
6455 G_INDENT5 || ' , A.SQUAL_NUM31' || g_newline ||
6456 G_INDENT5 || ' , A.SQUAL_NUM32' || g_newline ||
6457 G_INDENT5 || ' , A.SQUAL_NUM33' || g_newline ||
6458 G_INDENT5 || ' , A.SQUAL_NUM34' || g_newline ||
6459 G_INDENT5 || ' , A.SQUAL_NUM35' || g_newline ||
6460 G_INDENT5 || ' , A.SQUAL_NUM36' || g_newline ||
6461 G_INDENT5 || ' , A.SQUAL_NUM37' || g_newline ||
6462 G_INDENT5 || ' , A.SQUAL_NUM38' || g_newline ||
6463 G_INDENT5 || ' , A.SQUAL_NUM39' || g_newline ||
6464 G_INDENT5 || ' , A.SQUAL_NUM40' || g_newline ||
6465 G_INDENT5 || ' , A.SQUAL_NUM41' || g_newline ||
6466 G_INDENT5 || ' , A.SQUAL_NUM42' || g_newline ||
6467 G_INDENT5 || ' , A.SQUAL_NUM43' || g_newline ||
6468 G_INDENT5 || ' , A.SQUAL_NUM44' || g_newline ||
6469 G_INDENT5 || ' , A.SQUAL_NUM45' || g_newline ||
6470 G_INDENT5 || ' , A.SQUAL_NUM46' || g_newline ||
6471 G_INDENT5 || ' , A.SQUAL_NUM47' || g_newline ||
6472 G_INDENT5 || ' , A.SQUAL_NUM48' || g_newline ||
6473 G_INDENT5 || ' , A.SQUAL_NUM49' || g_newline ||
6474 G_INDENT5 || ' , A.SQUAL_NUM50' || g_newline ||
6475 G_INDENT5 || ' , A.SQUAL_NUM51' || g_newline ||
6476 G_INDENT5 || ' , A.SQUAL_NUM52' || g_newline ||
6477 G_INDENT5 || ' , A.SQUAL_NUM53' || g_newline ||
6478 G_INDENT5 || ' , A.SQUAL_NUM54' || g_newline ||
6479 G_INDENT5 || ' , A.SQUAL_NUM55' || g_newline ||
6480 G_INDENT5 || ' , A.SQUAL_NUM56' || g_newline ||
6481 G_INDENT5 || ' , A.SQUAL_NUM57' || g_newline ||
6482 G_INDENT5 || ' , A.SQUAL_NUM58' || g_newline ||
6483 G_INDENT5 || ' , A.SQUAL_NUM59' || g_newline ||
6484 G_INDENT5 || ' , A.SQUAL_NUM60' || g_newline ||
6485 G_INDENT5 || ' , A.ASSIGNED_FLAG' || g_newline ||
6486 G_INDENT5 || ' , A.PROCESSED_FLAG' || g_newline ||
6487 G_INDENT5 || ' , A.ORG_ID' || g_newline ||
6488 G_INDENT5 || ' , A.SECURITY_GROUP_ID' || g_newline ||
6489 G_INDENT5 || ' , A.OBJECT_VERSION_NUMBER' || g_newline ||
6490 G_INDENT5 || ' , A.WORKER_ID' || g_newline ;
6491
6492 lp_close_outermost_ILV := ') A; ';
6493 ELSE
6494 lp_SELECT_cols :=
6495 G_INDENT5 || 'A.trans_object_id, A.trans_detail_object_id, ' || g_newline ||
6496 -- eihsu: 06/19/2003 worker_id
6497 G_INDENT5 || 'A.worker_id, ' || g_newline ||
6498 G_INDENT5 || 'A.header_id1, A.header_id2, ' || g_newline ||
6499 G_INDENT5 || 'ILV.terr_id, ILV.absolute_rank, ' || g_newline ||
6500 G_INDENT5 || 'ILV.top_level_terr_id, ILV.num_winners, ILV.org_id ';
6501
6502 lp_close_outermost_ILV := ') ILV; ';
6503 END IF;
6504
6505 lp_pc_cntry_predicate := ' 1 = 1 ' || g_newline;
6506
6507 IF p_new_mode_fetch <> 'Y' THEN
6508 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
6509 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
6510 END IF;
6511
6512 lp_pc_cntry_predicate := lp_pc_cntry_predicate ||
6513 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
6514 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
6515 G_INDENT5 || ' AND ( ' || g_newline ||
6516 G_INDENT5 || ' ( a.squal_char06 LIKE Q1007R1.low_value_char AND ' || g_newline ||
6517 G_INDENT5 || ' Q1007R1.comparison_operator = ''LIKE'' ) ' || g_newline ||
6518 G_INDENT5 || ' OR ' || g_newline ||
6519 G_INDENT5 || ' ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
6520 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
6521 G_INDENT5 || ' OR ' || g_newline ||
6522 G_INDENT5 || ' ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
6523 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
6524 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
6525 G_INDENT5 || ' ) ' || g_newline ||
6526 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
6527 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ||
6528 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
6529 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline;
6530
6531 lp_pc_cntry_predicate_eq := ' 1 = 1 ' || g_newline;
6532
6533 IF p_new_mode_fetch <> 'Y' THEN
6534 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
6535 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
6536 END IF;
6537
6538 lp_pc_cntry_predicate_eq := lp_pc_cntry_predicate_eq ||
6539 G_INDENT5 || ' AND ( a.squal_char06 = Q1007R1.low_value_char AND ' || g_newline ||
6540 G_INDENT5 || ' Q1007R1.comparison_operator = ''='' ) ' || g_newline ||
6541 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
6542 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
6543 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
6544 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
6545 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
6546 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
6547 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
6548
6549 lp_pc_cntry_predicate_btwn := ' 1 = 1 ' || g_newline;
6550
6551 IF p_new_mode_fetch <> 'Y' THEN
6552 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
6553 ' AND A.worker_id = P_WORKER_ID ' || g_newline;
6554 END IF;
6555
6556 lp_pc_cntry_predicate_btwn := lp_pc_cntry_predicate_btwn ||
6557 G_INDENT5 || ' AND ( a.squal_char06 <= Q1007R1.high_value_char AND ' || g_newline ||
6558 G_INDENT5 || ' a.squal_char06 >= Q1007R1.low_value_char AND ' || g_newline ||
6559 G_INDENT5 || ' Q1007R1.comparison_operator = ''BETWEEN'' ) ' || g_newline ||
6560 G_INDENT5 || ' AND Q1007R1.qual_usg_id = -1007 ' || g_newline ||
6561 G_INDENT5 || ' AND Q1007R1.terr_id = ILV.terr_id ' || g_newline ||
6562 G_INDENT5 || ' AND Q1007R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
6563 G_INDENT5 || ' AND ( a.squal_char07 = Q1003R1.low_value_char AND ' || g_newline ||
6564 G_INDENT5 || ' Q1003R1.comparison_operator = ''='' ) ' || g_newline ||
6565 G_INDENT5 || ' AND Q1003R1.qual_usg_id = -1003 ' || g_newline ||
6566 G_INDENT5 || ' AND Q1003R1.terr_id = ILV.terr_id ' || g_newline ;
6567
6568 --ARPATEL 10/14 bug#3194930
6569 JTF_TAE_GEN_PVT.write_buffer_content(
6570 l_qual_rules => G_INDENT || add_SELECT_clause(p_new_mode_fetch) || g_newline
6571 );
6572
6573 lx_353393_sql := lx_353393_sql ||
6574 --ARPATEL 10/14 bug#3194930
6575 --G_INDENT || add_SELECT_clause(p_new_mode_fetch) || g_newline ||
6576 G_INDENT || 'FROM ( ' || g_newline;
6577
6578 /* START OF INLINE VIEW WITH 4 UNION ALLS */
6579
6580 /************************/
6581 /* = XYZ */
6582 /************************/
6583 IF p_new_mode_fetch <> 'Y' THEN
6584 lx_353393_sql := lx_353393_sql ||
6585 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
6586 G_INDENT5 || ' ORDERED ' || g_newline ||
6587 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
6588 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1102R1 A) ' || g_newline ||
6589 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
6590 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
6591 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
6592 '_324347_ND)' || g_newline ||
6593
6594 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
6595 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
6596 G_INDENT5 || ' INDEX(Q1102R1 JTF_TERR_CNRG_EQUAL_MV_N10) ' || g_newline ||
6597 G_INDENT5 || ' */ ' || g_newline;
6598 ELSE
6599 lx_353393_sql := lx_353393_sql ||
6600 G_INDENT5 || 'SELECT /*+ ' || g_newline ||
6601 G_INDENT5 || ' ORDERED ' || g_newline ||
6602 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
6603 G_INDENT5 || ' NO_MERGE ' || g_newline ||
6604 G_INDENT5 || ' */ ' || g_newline;
6605 END IF;
6606
6607 lx_353393_sql := lx_353393_sql ||
6608 /* Add SELECT columns */
6609 lp_SELECT_cols || g_newline ||
6610
6611 G_INDENT5 || 'FROM ';
6612
6613 IF p_new_mode_fetch = 'Y' THEN
6614 lx_353393_sql := lx_353393_sql ||
6615 /* STATIC INLINE VIEW */
6616 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
6617 ELSE
6618 lx_353393_sql := lx_353393_sql ||
6619 /* STATIC INLINE VIEW */
6620 add_ILV(l_sql, p_new_mode_fetch);
6621 END IF;
6622
6623 lx_353393_sql := lx_353393_sql ||
6624 G_INDENT5 || ' , JTF_TERR_CNRG_EQUAL_MV Q1102R1 ' || g_newline ||
6625 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
6626 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
6627
6628 /* DYNAMIC BASED ON TRANSACTION TYPE */
6629 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
6630
6631 G_INDENT5 || 'WHERE ' || g_newline ||
6632
6633 lp_pc_cntry_predicate || g_newline ||
6634 G_INDENT5 || ' AND Q1007R1.terr_id = Q1102R1.terr_id ' || g_newline ||
6635 G_INDENT5 || ' AND ( Q1102R1.comparison_operator = ''='' AND ' || g_newline ||
6636 G_INDENT5 || ' a.squal_fc01 = SUBSTR(Q1102R1.low_value_char, 1, 1) AND ' || g_newline ||
6637 G_INDENT5 || ' a.squal_char01 = Q1102R1.low_value_char ' || g_newline ||
6638 G_INDENT5 || ' ) ' || g_newline ||
6639 G_INDENT5 || ' AND Q1102R1.qual_usg_id = -1102 ' || g_newline ||
6640 G_INDENT5 || ' AND Q1102R1.terr_id = ILV.terr_id ' || g_newline ||
6641 G_INDENT5 || ' AND Q1102R1.TERR_ID = Q1003R1.TERR_ID ' || g_newline ||
6642
6643
6644 G_INDENT5 || 'UNION ALL ' || g_newline ||
6645
6646 /************************/
6647 /* LIKE XYZ% */
6648 /************************/
6649
6650 G_INDENT5 || 'SELECT /*+ ' || g_newline;
6651
6652 IF p_new_mode_fetch <> 'Y' THEN
6653 lx_353393_sql := lx_353393_sql ||
6654 G_INDENT5 || ' ORDERED ' || g_newline ||
6655 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
6656 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1102LK A) ' || g_newline ||
6657 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
6658
6659 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
6660 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
6661 '_324347_ND)' || g_newline ||
6662 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
6663 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
6664 G_INDENT5 || ' INDEX(Q1102LK JTF_TERR_CNRG_LIKE_MV_N10) ' || g_newline ||
6665 G_INDENT5 || ' */ ' || g_newline;
6666 ELSE
6667 lx_353393_sql := lx_353393_sql ||
6668 G_INDENT5 || ' ORDERED ' || g_newline ||
6669 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
6670 G_INDENT5 || ' NO_MERGE ' || g_newline ||
6671 G_INDENT5 || ' */ ' || g_newline;
6672 END IF;
6673
6674 lx_353393_sql := lx_353393_sql ||
6675 /* Add SELECT columns */
6676 lp_SELECT_cols || g_newline ||
6677
6678 G_INDENT5 || 'FROM ';
6679
6680 IF p_new_mode_fetch = 'Y' THEN
6681 lx_353393_sql := lx_353393_sql ||
6682 /* STATIC INLINE VIEW */
6683 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
6684 ELSE
6685 lx_353393_sql := lx_353393_sql ||
6686 /* STATIC INLINE VIEW */
6687 add_ILV(l_sql, p_new_mode_fetch);
6688 END IF;
6689
6690 lx_353393_sql := lx_353393_sql ||
6691 G_INDENT5 || ' , jtf_terr_cnrg_like_mv Q1102LK ' || g_newline ||
6692 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
6693 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
6694
6695 /* DYNAMIC BASED ON TRANSACTION TYPE */
6696 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
6697
6698 G_INDENT5 || 'WHERE ' || g_newline ||
6699
6700 lp_pc_cntry_predicate || g_newline ||
6701
6702 G_INDENT5 || ' AND Q1007R1.terr_id = Q1102LK.terr_id ' || g_newline ||
6703 G_INDENT5 || ' AND a.squal_char01 LIKE Q1102LK.low_value_char AND ' || g_newline ||
6704 G_INDENT5 || ' a.squal_fc01 = Q1102LK.first_char ' || g_newline ||
6705 G_INDENT5 || ' AND Q1102LK.qual_usg_id = -1102 ' || g_newline ||
6706 G_INDENT5 || ' AND Q1102LK.terr_id = ILV.terr_id ' || g_newline ||
6707 G_INDENT5 || 'UNION ALL ' || g_newline --||
6708 ;
6709
6710 --ARPATEL 10/14 bug#3194930
6711 JTF_TAE_GEN_PVT.write_buffer_content(
6712 l_qual_rules => lx_353393_sql
6713 );
6714
6715 /************************/
6716 /* LIKE %XYZ */
6717 /************************/
6718
6719 lx_353393_sql_1 :=
6720 G_INDENT5 || 'SELECT /*+ ' || g_newline;
6721
6722 IF p_new_mode_fetch <> 'Y' THEN
6723 lx_353393_sql_1 := lx_353393_sql_1 ||
6724 G_INDENT5 || ' ORDERED ' || g_newline ||
6725 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
6726 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1102LK A) ' || g_newline ||
6727 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
6728 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
6729 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
6730 '_324347X_ND)' || g_newline ||
6731 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
6732 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
6733 G_INDENT5 || ' INDEX(Q1102LK JTF_TERR_CNRG_LIKE_MV_N10) ' || g_newline ||
6734 G_INDENT5 || ' */ ' || g_newline;
6735 ELSE
6736 lx_353393_sql_1 := lx_353393_sql_1 ||
6737 G_INDENT5 || ' ORDERED ' || g_newline ||
6738 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
6739 G_INDENT5 || ' NO_MERGE ' || g_newline ||
6740 G_INDENT5 || ' */ ' || g_newline;
6741 END IF;
6742
6743 lx_353393_sql_1 := lx_353393_sql_1 ||
6744 /* Add SELECT columns */
6745 lp_SELECT_cols || g_newline ||
6746
6747 G_INDENT5 || 'FROM ';
6748
6749 IF p_new_mode_fetch = 'Y' THEN
6750 lx_353393_sql_1 := lx_353393_sql_1 ||
6751 /* STATIC INLINE VIEW */
6752 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
6753 ELSE
6754 lx_353393_sql_1 := lx_353393_sql_1 ||
6755 /* STATIC INLINE VIEW */
6756 add_ILV(l_sql, p_new_mode_fetch);
6757 END IF;
6758
6759 lx_353393_sql_1 := lx_353393_sql_1 ||
6760 G_INDENT5 || ' , jtf_terr_cnrg_like_mv Q1102LK ' || g_newline ||
6761 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
6762 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
6763
6764 /* DYNAMIC BASED ON TRANSACTION TYPE */
6765 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
6766
6767 G_INDENT5 || 'WHERE ' || g_newline ||
6768
6769 lp_pc_cntry_predicate_eq || g_newline ||
6770
6771 G_INDENT5 || ' AND Q1007R1.terr_id = Q1102LK.terr_id ' || g_newline ||
6772 G_INDENT5 || ' AND a.squal_char01 LIKE Q1102LK.low_value_char AND ' || g_newline ||
6773 G_INDENT5 || ' Q1102LK.first_char = ''%'' ' || g_newline ||
6774 G_INDENT5 || ' AND Q1102LK.qual_usg_id = -1102 ' || g_newline ||
6775 G_INDENT5 || ' AND Q1102LK.terr_id = ILV.terr_id ' || g_newline;
6776
6777 JTF_TAE_GEN_PVT.write_buffer_content(
6778 l_qual_rules => lx_353393_sql_1
6779 );
6780
6781 lx_353393_sql_2 :=
6782 G_INDENT5 || 'UNION ALL ' || g_newline ||
6783 G_INDENT5 || 'SELECT /*+ ' || g_newline;
6784
6785 IF p_new_mode_fetch <> 'Y' THEN
6786 lx_353393_sql_2 := lx_353393_sql_2 ||
6787 G_INDENT5 || ' ORDERED ' || g_newline ||
6788 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
6789 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1102LK A) ' || g_newline ||
6790 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
6791 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
6792 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
6793 '_324347X_ND)' || g_newline ||
6794 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
6795 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
6796 G_INDENT5 || ' INDEX(Q1102LK JTF_TERR_CNRG_LIKE_MV_N10) ' || g_newline ||
6797 G_INDENT5 || ' */ ' || g_newline;
6798 ELSE
6799 lx_353393_sql_2 := lx_353393_sql_2 ||
6800 G_INDENT5 || ' ORDERED ' || g_newline ||
6801 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
6802 G_INDENT5 || ' NO_MERGE ' || g_newline ||
6803 G_INDENT5 || ' */ ' || g_newline;
6804 END IF;
6805
6806 lx_353393_sql_2 := lx_353393_sql_2 ||
6807 /* Add SELECT columns */
6808 lp_SELECT_cols || g_newline ||
6809
6810 G_INDENT5 || 'FROM ';
6811
6812 IF p_new_mode_fetch = 'Y' THEN
6813 lx_353393_sql_2 := lx_353393_sql_2 ||
6814 /* STATIC INLINE VIEW */
6815 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
6816 ELSE
6817 lx_353393_sql_2 := lx_353393_sql_2 ||
6818 /* STATIC INLINE VIEW */
6819 add_ILV(l_sql, p_new_mode_fetch);
6820 END IF;
6821
6822 lx_353393_sql_2 := lx_353393_sql_2 ||
6823 G_INDENT5 || ' , jtf_terr_cnrg_like_mv Q1102LK ' || g_newline ||
6824 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
6825 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
6826
6827 /* DYNAMIC BASED ON TRANSACTION TYPE */
6828 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
6829
6830 G_INDENT5 || 'WHERE ' || g_newline ||
6831
6832 lp_pc_cntry_predicate_btwn || g_newline ||
6833
6834 G_INDENT5 || ' AND Q1007R1.terr_id = Q1102LK.terr_id ' || g_newline ||
6835 G_INDENT5 || ' AND a.squal_char01 LIKE Q1102LK.low_value_char AND ' || g_newline ||
6836 G_INDENT5 || ' Q1102LK.first_char = ''%'' ' || g_newline ||
6837 G_INDENT5 || ' AND Q1102LK.qual_usg_id = -1102 ' || g_newline ||
6838 G_INDENT5 || ' AND Q1102LK.terr_id = ILV.terr_id ' || g_newline;
6839
6840 JTF_TAE_GEN_PVT.write_buffer_content(
6841 l_qual_rules => lx_353393_sql_2
6842 );
6843
6844 lx_353393_sql_3 :=
6845 G_INDENT5 || 'UNION ALL ' || g_newline ||
6846
6847 G_INDENT5 || 'SELECT /*+ ' || g_newline;
6848
6849 IF p_new_mode_fetch <> 'Y' THEN
6850 lx_353393_sql_3 := lx_353393_sql_3 ||
6851 G_INDENT5 || ' ORDERED ' || g_newline ||
6852 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
6853 G_INDENT5 || ' USE_NL(ILV Q1003R1 Q1007R1 Q1102BT A) ' || g_newline ||
6854 G_INDENT5 || ' INDEX(ILV JTF_TERR_DENORM_RULES_N4) ' || g_newline ||
6855 /* DYNAMIC HINT BASED ON TRANSACTION TYPE */
6856 G_INDENT5 || ' INDEX(A JTF_TAE_TN' || ABS(p_trans_object_type_id) ||
6857 '_324347_ND)' || g_newline ||
6858
6859 G_INDENT5 || ' INDEX(Q1003R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
6860 G_INDENT5 || ' INDEX(Q1007R1 JTF_TERR_QUAL_RULES_MV_N10) ' || g_newline ||
6861 G_INDENT5 || ' INDEX(Q1102BT JTF_TERR_CNRG_BTWN_MV_N10) ' || g_newline ||
6862 G_INDENT5 || ' */ ' || g_newline;
6863 ELSE
6864 lx_353393_sql_3 := lx_353393_sql_3 ||
6865 G_INDENT5 || ' ORDERED ' || g_newline ||
6866 G_INDENT5 || ' USE_CONCAT ' || g_newline ||
6867 G_INDENT5 || ' NO_MERGE ' || g_newline ||
6868 G_INDENT5 || ' */ ' || g_newline;
6869 END IF;
6870
6871 lx_353393_sql_3 := lx_353393_sql_3 ||
6872 /* Add SELECT columns */
6873 lp_SELECT_cols || g_newline ||
6874
6875 G_INDENT5 || 'FROM ';
6876
6877 IF p_new_mode_fetch = 'Y' THEN
6878 lx_353393_sql_3 := lx_353393_sql_3 ||
6879 /* STATIC INLINE VIEW */
6880 add_ILV_with_NOMERGE_hint(l_sql, p_new_mode_fetch);
6881 ELSE
6882 lx_353393_sql_3 := lx_353393_sql_3 ||
6883 /* STATIC INLINE VIEW */
6884 add_ILV(l_sql, p_new_mode_fetch);
6885 END IF;
6886
6887 lx_353393_sql_3 := lx_353393_sql_3 ||
6888 G_INDENT5 || ' , jtf_terr_cnrg_btwn_mv Q1102BT ' || g_newline ||
6889 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1007R1 ' || g_newline ||
6890 G_INDENT5 || ' , jtf_terr_qual_rules_mv Q1003R1 ' || g_newline ||
6891
6892 /* DYNAMIC BASED ON TRANSACTION TYPE */
6893 G_INDENT || ' ,' || P_TABLE_NAME || ' A ' || g_newline ||
6894
6895 G_INDENT5 || 'WHERE ' || g_newline ||
6896
6897 lp_pc_cntry_predicate || g_newline ||
6898
6899 G_INDENT5 || ' AND Q1007R1.terr_id = Q1102BT.terr_id ' || g_newline ||
6900 G_INDENT5 || ' AND a.squal_char01 <= Q1102BT.high_value_char AND ' || g_newline ||
6901 G_INDENT5 || ' a.squal_char01 >= Q1102BT.low_value_char AND ' || g_newline ||
6902 G_INDENT5 || ' a.squal_fc01 >= SUBSTR(Q1102BT.low_value_char, 1, 1) ' || g_newline ||
6903 G_INDENT5 || ' AND Q1102BT.qual_usg_id = -1102 ' || g_newline ||
6904 G_INDENT5 || ' AND Q1102BT.terr_id = ILV.terr_id ' || g_newline ||
6905 G_INDENT5 || ' AND Q1102BT.terr_id = Q1003R1.terr_id ' || g_newline ||
6906
6907 /* END OF INLINE VIEW WITH 4 UNION ALLS */
6908 G_INDENT || lp_close_outermost_ILV || g_newline;
6909
6910 return lx_353393_sql_3;
6911 EXCEPTION
6912 WHEN OTHERS THEN
6913 g_ProgramStatus := 1;
6914 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.add_353393_SQL');
6915
6916 END add_353393_SQL;
6917
6918
6919 /*************************************************
6920 ** Gets the Static pre-built, hand-tuned SQL
6921 ** for certain Qualifier Combinations
6922 **************************************************/
6923 PROCEDURE get_qual_comb_sql (
6924 p_rel_prod IN NUMBER,
6925 p_source_id IN NUMBER,
6926 p_trans_object_type_id IN NUMBER,
6927 p_table_name IN VARCHAR2,
6928 /* ARPATEL 03/11/2004 BUG#3489240 */
6929 p_match_table_name IN VARCHAR2 := NULL,
6930 -- dblee: 08/26/03 added new mode flag
6931 p_new_mode_fetch IN CHAR := 'N',
6932 x_sql OUT NOCOPY VARCHAR2) AS
6933
6934 l_sql VARCHAR2(32767);
6935
6936 BEGIN
6937
6938 /* Postal Code + Country Combination */
6939 IF ( p_rel_prod = 4841 ) THEN
6940
6941 x_sql := add_4841_SQL( p_trans_object_type_id => p_trans_object_type_id
6942 , p_table_name => p_table_name
6943 /* ARPATEL 03/11/2004 BUG#3489240 */
6944 , p_match_table_name => p_match_table_name
6945 -- dblee: 08/26/03 added new mode flag
6946 , p_new_mode_fetch => p_new_mode_fetch );
6947
6948 /* Customer Name Range + Postal Code + Country Combination */
6949 ELSIF ( p_rel_prod = 324347 ) THEN
6950
6951 x_sql := add_324347_SQL( p_trans_object_type_id => p_trans_object_type_id
6952 , p_table_name => p_table_name
6953 -- dblee: 08/26/03 added new mode flag
6954 , p_new_mode_fetch => p_new_mode_fetch );
6955
6956 /* oppor exp. purchase + Customer Name Range + Postal Code + Country Combination */
6957 ELSIF ( p_rel_prod = 45084233 ) THEN
6958
6959 x_sql := add_45084233_SQL( p_trans_object_type_id => p_trans_object_type_id
6960 , p_table_name => p_table_name
6961 -- dblee: 08/26/03 added new mode flag
6962 , p_new_mode_fetch => p_new_mode_fetch );
6963
6964 /* oppor product category + Customer Name Range + Postal Code + Country Combination */
6965 ELSIF ( p_rel_prod = 62598971 ) THEN
6966
6967 x_sql := add_62598971_SQL( p_trans_object_type_id => p_trans_object_type_id
6968 , p_table_name => p_table_name
6969 -- dblee: 08/26/03 added new mode flag
6970 , p_new_mode_fetch => p_new_mode_fetch );
6971
6972 /* opportunity product category + Postal Code + Country Combination */
6973 ELSIF ( p_rel_prod = 934313 ) THEN
6974
6975 x_sql := add_934313_SQL( p_trans_object_type_id => p_trans_object_type_id
6976 , p_table_name => p_table_name
6977 , p_new_mode_fetch => p_new_mode_fetch );
6978
6979 /* lead exp. purchase +Customer Name Range + Postal Code + Country Combination */
6980 ELSIF ( p_rel_prod = 44435539 ) THEN
6981
6982 x_sql := add_44435539_SQL( p_trans_object_type_id => p_trans_object_type_id
6983 , p_table_name => p_table_name
6984 -- dblee: 08/26/03 added new mode flag
6985 , p_new_mode_fetch => p_new_mode_fetch );
6986
6987 /* lead product category + Customer Name Range + Postal Code + Country Combination */
6988 ELSIF ( p_rel_prod = 61950277 ) THEN
6989
6990 x_sql := add_61950277_SQL( p_trans_object_type_id => p_trans_object_type_id
6991 , p_table_name => p_table_name
6992 -- dblee: 08/26/03 added new mode flag
6993 , p_new_mode_fetch => p_new_mode_fetch );
6994
6995 /* lead product category + Postal Code + Country Combination */
6996 ELSIF ( p_rel_prod = 924631 ) THEN
6997
6998 x_sql := add_924631_SQL( p_trans_object_type_id => p_trans_object_type_id
6999 , p_table_name => p_table_name
7000 -- dblee: 08/26/03 added new mode flag
7001 , p_new_mode_fetch => p_new_mode_fetch );
7002
7003 /* lead interest type + Postal Code + Country Combination */
7004 ELSIF ( p_rel_prod = 663217 ) THEN
7005
7006 x_sql := add_663217_SQL( p_trans_object_type_id => p_trans_object_type_id
7007 , p_table_name => p_table_name
7008 -- dblee: 08/26/03 added new mode flag
7009 , p_new_mode_fetch => p_new_mode_fetch );
7010
7011 /* Customer Name Range GROUP + Postal Code + Country Combination */
7012 ELSIF ( p_rel_prod = 353393 ) THEN
7013
7014 x_sql := add_353393_SQL( p_trans_object_type_id => p_trans_object_type_id
7015 , p_table_name => p_table_name
7016 -- dblee: 08/26/03 added new mode flag
7017 , p_new_mode_fetch => p_new_mode_fetch );
7018
7019 END IF;
7020
7021
7022
7023 EXCEPTION
7024 WHEN OTHERS THEN
7025 g_ProgramStatus := 1;
7026 JTF_TAE_CONTROL_PVT.WRITE_LOG(2, 'ERROR: JTF_TAE_SQL_LIBRARY_PVT.get_qual_comb_sql');
7027
7028 END get_qual_comb_sql;
7029
7030
7031 END JTF_TAE_SQL_LIB_PVT;