DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_IMP_LOAD_BATCH_COUNTS_PKG

Source


1 PACKAGE BODY HZ_IMP_LOAD_BATCH_COUNTS_PKG AS
2 /*$Header: ARHLBCB.pls 120.13 2008/10/27 09:38:56 idali ship $*/
3 /*
4   Procedure: pre_import_counts()
5   These are the counts of each entity before running
6    the dataload process. This procedure also initializes
7    the post count columns to zero.
8   This procedure is called from
9     hz_imp_batch_summary_v2pub.activate_batch().
10   The above API is called from teh last stage of DNB adapter.
11 */
12 
13 PROCEDURE pre_import_counts
14  ( P_BATCH_ID    IN HZ_IMP_BATCH_SUMMARY.BATCH_ID%TYPE,
15    P_ORIGINAL_SYSTEM IN HZ_IMP_BATCH_SUMMARY.ORIGINAL_SYSTEM%TYPE) IS
16     -- Declare the variables
17   l_ADDRESSUSES_IN_BATCH  NUMBER;
18   l_ADDRESSES_IN_BATCH  NUMBER;
19   l_FINNUMBERS_IN_BATCH  NUMBER;
20   l_CODEASSIGNS_IN_BATCH  NUMBER;
21   l_RELATIONSHIPS_IN_BATCH  NUMBER;
22   l_CONTACTROLES_IN_BATCH  NUMBER;
23   l_CONTACTS_IN_BATCH  NUMBER;
24   l_CONTACTPOINTS_IN_BATCH  NUMBER;
25   l_CREDITRATINGS_IN_BATCH  NUMBER;
26   l_FINREPORTS_IN_BATCH  NUMBER;
27   l_PARTIES_IN_BATCH  NUMBER;
28    l_total_batch_records number;
29 
30 BEGIN
31   SELECT  count(INT.BATCH_ID) into l_ADDRESSUSES_IN_BATCH
32     FROM HZ_IMP_ADDRESSUSES_INT INT
33     WHERE INT.BATCH_ID = P_BATCH_ID AND
34        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
35   SELECT  count(INT.BATCH_ID) into l_ADDRESSES_IN_BATCH
36     FROM HZ_IMP_ADDRESSES_INT INT
37     WHERE INT.BATCH_ID = P_BATCH_ID AND
38        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
39   SELECT  count(INT.BATCH_ID) into l_FINNUMBERS_IN_BATCH
40     FROM HZ_IMP_FINNUMBERS_INT INT
41     WHERE INT.BATCH_ID = P_BATCH_ID AND
42        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
43   SELECT  count(INT.BATCH_ID) into l_CODEASSIGNS_IN_BATCH
44     FROM HZ_IMP_CLASSIFICS_INT INT
45     WHERE INT.BATCH_ID = P_BATCH_ID AND
46        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
47   SELECT  count(INT.BATCH_ID) into l_RELATIONSHIPS_IN_BATCH
48     FROM HZ_IMP_RELSHIPS_INT INT
49     WHERE INT.BATCH_ID = P_BATCH_ID AND
50        INT.SUB_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
51   SELECT  count(INT.BATCH_ID) into l_CONTACTROLES_IN_BATCH
52     FROM HZ_IMP_CONTACTROLES_INT INT
53     WHERE INT.BATCH_ID = P_BATCH_ID AND
54        INT.CONTACT_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
55   SELECT  count(INT.BATCH_ID) into l_CONTACTS_IN_BATCH
56     FROM HZ_IMP_CONTACTS_INT INT
57     WHERE INT.BATCH_ID = P_BATCH_ID AND
58        INT.CONTACT_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
59   SELECT  count(INT.BATCH_ID) into l_CONTACTPOINTS_IN_BATCH
60     FROM HZ_IMP_CONTACTPTS_INT INT
61     WHERE INT.BATCH_ID = P_BATCH_ID AND
62        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
63   SELECT  count(INT.BATCH_ID) into l_CREDITRATINGS_IN_BATCH
64     FROM HZ_IMP_CREDITRTNGS_INT INT
65     WHERE INT.BATCH_ID = P_BATCH_ID AND
66        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
67   SELECT  count(INT.BATCH_ID) into l_FINREPORTS_IN_BATCH
68     FROM HZ_IMP_FINREPORTS_INT INT
69     WHERE INT.BATCH_ID = P_BATCH_ID AND
70        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
71   SELECT  count(INT.BATCH_ID) into l_PARTIES_IN_BATCH
72     FROM HZ_IMP_PARTIES_INT INT
73     WHERE INT.BATCH_ID = P_BATCH_ID AND
74        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM ;
75   l_total_batch_records :=
76    l_ADDRESSUSES_IN_BATCH +
77    l_ADDRESSES_IN_BATCH +
78    l_FINNUMBERS_IN_BATCH +
79    l_CODEASSIGNS_IN_BATCH +
80    l_RELATIONSHIPS_IN_BATCH +
81    l_CONTACTROLES_IN_BATCH +
82    l_CONTACTS_IN_BATCH +
83    l_CONTACTPOINTS_IN_BATCH +
84    l_CREDITRATINGS_IN_BATCH +
85    l_FINREPORTS_IN_BATCH +
86    l_PARTIES_IN_BATCH ;
87 
88  UPDATE HZ_IMP_BATCH_SUMMARY SET
89    ADDRESSUSES_IN_BATCH = l_ADDRESSUSES_IN_BATCH,
90    ADDRESSES_IN_BATCH = l_ADDRESSES_IN_BATCH,
91    FINNUMBERS_IN_BATCH = l_FINNUMBERS_IN_BATCH,
92    CODEASSIGNS_IN_BATCH = l_CODEASSIGNS_IN_BATCH,
93    RELATIONSHIPS_IN_BATCH = l_RELATIONSHIPS_IN_BATCH,
94    CONTACTROLES_IN_BATCH = l_CONTACTROLES_IN_BATCH,
95    CONTACTS_IN_BATCH = l_CONTACTS_IN_BATCH,
96    CONTACTPOINTS_IN_BATCH = l_CONTACTPOINTS_IN_BATCH,
97    CREDITRATINGS_IN_BATCH = l_CREDITRATINGS_IN_BATCH,
98    FINREPORTS_IN_BATCH = l_FINREPORTS_IN_BATCH,
99    PARTIES_IN_BATCH = l_PARTIES_IN_BATCH,
100    TOTAL_BATCH_RECORDS =  l_total_batch_records,
101   ADDRESSUSES_INSERTED = 0,
102   ADDRESSUSES_UPDATED = 0,
103   ADDRESSUSES_IMPORTED = 0,
104   ADDRESSES_INSERTED = 0,
105   ADDRESSES_UPDATED = 0,
106   ADDRESSES_IMPORTED = 0,
107   ADDRESS_MERGE_REQUESTS = 0,
108   FINNUMBERS_INSERTED = 0,
109   FINNUMBERS_UPDATED = 0,
110   FINNUMBERS_IMPORTED = 0,
111   CODEASSIGNS_INSERTED = 0,
112   CODEASSIGNS_UPDATED = 0,
113   CODEASSIGNS_IMPORTED = 0,
114   RELATIONSHIPS_INSERTED = 0,
115   RELATIONSHIPS_UPDATED = 0,
116   RELATIONSHIPS_IMPORTED = 0,
117   CONTACTROLES_INSERTED = 0,
118   CONTACTROLES_UPDATED = 0,
119   CONTACTROLES_IMPORTED = 0,
120   CONTACTS_INSERTED = 0,
121   CONTACTS_UPDATED = 0,
122   CONTACTS_IMPORTED = 0,
123   CONTACT_MERGE_REQUESTS = 0,
124   CONTACTPOINTS_INSERTED = 0,
125   CONTACTPOINTS_UPDATED = 0,
126   CONTACTPOINTS_IMPORTED = 0,
127   CONTACTPOINT_MERGE_REQUESTS = 0,
128   CREDITRATINGS_INSERTED = 0,
129   CREDITRATINGS_UPDATED = 0,
130   CREDITRATINGS_IMPORTED = 0,
131   FINREPORTS_INSERTED = 0,
132   FINREPORTS_UPDATED = 0,
133   FINREPORTS_IMPORTED = 0,
134   PARTIES_INSERTED = 0,
135   PARTIES_UPDATED = 0,
136   PARTIES_IMPORTED = 0,
137   PARTY_MERGE_REQUESTS = 0,
138   PARTIES_AUTO_MERGED    = 0,
139   TOTAL_MERGE_REQUESTS   = 0,
140   TOTAL_ERRORS           = 0,
141   TOTAL_RECORDS_IMPORTED = 0
142  WHERE BATCH_ID = P_BATCH_ID;
143 END pre_import_counts;
144 
145 /*
146   Procedure: post_import_counts()
147   These are the counts after populating the TCA registry.
148   These counts are cumulative i.e., per batch (not per run).
149   This procedure is called from within the dataload process.
150 */
151 
152 procedure post_import_counts
153      (P_BATCH_ID    IN HZ_IMP_BATCH_SUMMARY.BATCH_ID%TYPE,
154        P_ORIGINAL_SYSTEM IN HZ_IMP_BATCH_SUMMARY.ORIGINAL_SYSTEM%TYPE,
155        P_BATCH_MODE_FLAG in VARCHAR2,
156        P_REQUEST_ID      IN NUMBER,
157        P_RERUN_FLAG IN VARCHAR2) IS -- N for First Run any other value is rerun
158 
159 -- Declare the variables
160 
161  l_ADDRESSUSES_INSERTED NUMBER;
162  l_ADDRESSES_INSERTED NUMBER;
163  l_FINNUMBERS_INSERTED NUMBER;
164  l_CODEASSIGNS_INSERTED NUMBER;
165  l_RELATIONSHIPS_INSERTED NUMBER;
166  l_CONTACTROLES_INSERTED NUMBER;
167  l_CONTACTS_INSERTED NUMBER;
168  l_CONTACTPOINTS_INSERTED NUMBER;
169  l_CREDITRATINGS_INSERTED NUMBER;
170  l_FINREPORTS_INSERTED NUMBER;
171  l_PARTIES_INSERTED NUMBER;
172 
173  l_ADDRESSUSES_UPDATED NUMBER;
174  l_ADDRESSES_UPDATED NUMBER;
175  l_FINNUMBERS_UPDATED NUMBER;
176  l_CODEASSIGNS_UPDATED NUMBER;
177  l_RELATIONSHIPS_UPDATED NUMBER;
178  l_CONTACTROLES_UPDATED NUMBER;
179  l_CONTACTS_UPDATED NUMBER;
180  l_CONTACTPOINTS_UPDATED NUMBER;
181  l_CREDITRATINGS_UPDATED NUMBER;
182  l_FINREPORTS_UPDATED NUMBER;
183  l_PARTIES_UPDATED NUMBER;
184 
185  l_ADDRESSUSES_ERRORED NUMBER;
186  l_ADDRESSES_ERRORED NUMBER;
187  l_FINNUMBERS_ERRORED NUMBER;
188  l_CODEASSIGNS_ERRORED NUMBER;
189  l_RELATIONSHIPS_ERRORED NUMBER;
190  l_CONTACTROLES_ERRORED NUMBER;
191  l_CONTACTS_ERRORED NUMBER;
192  l_CONTACTPOINTS_ERRORED NUMBER;
193  l_CREDITRATINGS_ERRORED NUMBER;
194  l_FINREPORTS_ERRORED NUMBER;
195  l_PARTIES_ERRORED NUMBER;
196 
197  l_ADDRESSUSES_IMPORTED NUMBER;
198  l_ADDRESSES_IMPORTED NUMBER;
199  l_FINNUMBERS_IMPORTED NUMBER;
200  l_CODEASSIGNS_IMPORTED NUMBER;
201  l_RELATIONSHIPS_IMPORTED NUMBER;
202  l_CONTACTROLES_IMPORTED NUMBER;
203  l_CONTACTS_IMPORTED NUMBER;
204  l_CONTACTPOINTS_IMPORTED NUMBER;
205  l_CREDITRATINGS_IMPORTED NUMBER;
206  l_FINREPORTS_IMPORTED NUMBER;
207  l_PARTIES_IMPORTED NUMBER;
208 
209  l_total_errors number;
210  l_total_records_imported number;
211 
212 l_bool BOOLEAN;
213 l_status_owner VARCHAR2(255);
214 l_ar_schema_name VARCHAR2(255);
215 l_tmp           VARCHAR2(2000);
216 
217 l_sst_flag            HZ_ORIG_SYSTEMS_B.sst_flag%TYPE := 'N';
218 l_rels_updated  NUMBER := 0;
219 
220 BEGIN
221 
222 -- Bug 3872618
223 l_bool := fnd_installation.GET_APP_INFO('AR',l_status_owner,l_tmp,l_ar_schema_name);
224 
225 /*
226   IF ( p_rerun_flag = 'N') THEN
227     -- compute total_errors in first run
228       l_total_errors :=
229     l_ADDRESSUSES_ERRORED +
230     l_ADDRESSES_ERRORED +
231     l_FINNUMBERS_ERRORED +
232     l_CODEASSIGNS_ERRORED +
233     l_RELATIONSHIPS_ERRORED +
234     l_CONTACTROLES_ERRORED +
235     l_CONTACTS_ERRORED +
236     l_CONTACTPOINTS_ERRORED +
237     l_CREDITRATINGS_ERRORED +
238     l_FINREPORTS_ERRORED +
239     l_PARTIES_ERRORED ;
240   ELSE
241     -- FOR RE-RUN CASES total_errors = total_errors - newly imported recs
242     l_total_errors :=   l_total_records_imported;
243   END IF;
244 */
245 
246 select ct, c01, c02, c03, c04, c05, c06, c07, c08, c09, c10, c11, c12,
247        c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23
248   into l_total_errors, l_relationships_inserted, l_relationships_updated,
249        l_finnumbers_inserted, l_finnumbers_updated, l_finreports_inserted,
250        l_finreports_updated, l_contactpoints_inserted,
251        l_contactpoints_updated, l_addresses_inserted, l_addresses_updated,
252        l_parties_inserted, l_parties_updated, l_contactroles_inserted,
253        l_contactroles_updated, l_addressuses_inserted,
254        l_addressuses_updated, l_contacts_inserted, l_contacts_updated,
255        l_creditratings_inserted, l_creditratings_updated,
256        l_codeassigns_inserted, l_codeassigns_updated, l_total_records_imported
257   from (
258 select ct, rank() over (order by a) r,
259        lead(ct, 1) over (order by a) c01,
260        lead(ct, 2) over (order by a) c02,
261        lead(ct, 3) over (order by a) c03,
262        lead(ct, 4) over (order by a) c04,
263        lead(ct, 5) over (order by a) c05,
264        lead(ct, 6) over (order by a) c06,
265        lead(ct, 7) over (order by a) c07,
266        lead(ct, 8) over (order by a) c08,
267        lead(ct, 9) over (order by a) c09,
268        lead(ct, 10) over (order by a) c10,
269        lead(ct, 11) over (order by a) c11,
270        lead(ct, 12) over (order by a) c12,
271        lead(ct, 13) over (order by a) c13,
272        lead(ct, 14) over (order by a) c14,
273        lead(ct, 15) over (order by a) c15,
274        lead(ct, 16) over (order by a) c16,
275        lead(ct, 17) over (order by a) c17,
276        lead(ct, 18) over (order by a) c18,
277        lead(ct, 19) over (order by a) c19,
278        lead(ct, 20) over (order by a) c20,
279        lead(ct, 21) over (order by a) c21,
280        lead(ct, 22) over (order by a) c22,
281        sum(ct) over (order by a rows between 1 following and 22 following) c23
282   from (
283 select x.a, nvl(y.ct, 0) ct from (
284 select multiplier a from gl_row_multipliers
285  where rownum < 24) x, (
286 select a, count(*) ct from (
287 select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
288        1, nvl2(NVL(rel.relationship_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 2, 3),24)) a
289   from hz_imp_tmp_errors e, hz_imp_relships_sg sg,hz_relationships rel, HZ_IMP_RELSHIPS_INT hzint
290  where sg.batch_mode_flag = p_batch_mode_flag
291    and sg.batch_id = p_batch_id
292    and sg.sub_orig_system = p_original_system
293    and e.int_row_id (+) = sg.int_row_id
294    and e.request_id (+) = p_request_id
295    and e.interface_table_name (+) = 'HZ_IMP_RELSHIPS_INT'
296    and rel.relationship_id (+) = sg.relationship_id
297    and rel.request_id (+) = p_request_id
298    and rel.directional_flag(+) = 'F'
299    and sg.int_row_id = hzint.rowid (+)
300    and hzint.interface_status(+) = 'D'
301    union all
302   select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
303          1, nvl2(NVL(fnn.financial_number_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 4, 5),24)) a
304     from hz_imp_tmp_errors e, hz_imp_finnumbers_sg sg,hz_financial_numbers fnn, HZ_IMP_FINNUMBERS_INT hzint
305    where sg.batch_mode_flag = p_batch_mode_flag
306      and sg.batch_id = p_batch_id
307      and sg.party_orig_system = p_original_system
308      and e.int_row_id (+) = sg.int_row_id
309      and e.request_id (+) = p_request_id
310      and e.interface_table_name (+) = 'HZ_IMP_FINNUMBERS_INT'
311      and fnn.financial_number_id (+) = sg.financial_number_id
312      and fnn.request_id(+) = p_request_id
313      and sg.int_row_id = hzint.rowid (+)
314      and hzint.interface_status(+) = 'D'
315    union all
316   select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
317          1, nvl2(NVL(fnr.financial_report_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 6, 7),24)) a
318     from hz_imp_tmp_errors e, hz_imp_finreports_sg sg,hz_financial_reports fnr, HZ_IMP_FINREPORTS_INT hzint
319    where sg.batch_mode_flag = p_batch_mode_flag
320      and sg.batch_id = p_batch_id
321      and sg.party_orig_system = p_original_system
322      and e.int_row_id (+) = sg.int_row_id
323      and e.request_id (+) = p_request_id
324      and e.interface_table_name (+) = 'HZ_IMP_FINREPORTS_INT'
325      and fnr.financial_report_id(+) = sg.financial_report_id
326      and fnr.request_id(+) = p_request_id
327      and sg.int_row_id = hzint.rowid (+)
328      and hzint.interface_status(+) = 'D'
329    union all
330   select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
331          1, nvl2(NVL(hcp.contact_point_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 8, 9),24)) a
332     from hz_imp_tmp_errors e, hz_imp_contactpts_sg sg,hz_contact_points hcp, HZ_IMP_CONTACTPTS_INT hzint
333    where sg.batch_mode_flag = p_batch_mode_flag
334      and sg.batch_id = p_batch_id
335      and sg.party_orig_system = p_original_system
336      and e.int_row_id (+) = sg.int_row_id
337      and e.request_id (+) = p_request_id
338      and e.interface_table_name (+) = 'HZ_IMP_CONTACTPTS_INT'
339      and hcp.contact_point_id (+) = sg.contact_point_id
340      and hcp.request_id (+) = p_request_id
341      and sg.int_row_id = hzint.rowid (+)
342      and hzint.interface_status(+) = 'D'
343    union all
344    select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
345          1, nvl2(NVL(loc.location_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 10, 11),24)) a
346     from hz_imp_tmp_errors e, hz_imp_addresses_sg sg,hz_party_sites hps,
347          hz_orig_sys_references hosr,hz_locations loc, HZ_IMP_ADDRESSES_INT hzint
348    where sg.batch_mode_flag = p_batch_mode_flag
349      and sg.batch_id = p_batch_id
350      and sg.party_orig_system = p_original_system
351      and hosr.orig_system(+) =sg.party_orig_system
352      and hosr.orig_system_reference(+) =sg.site_orig_system_reference
353      and hosr.owner_table_name(+)  = 'HZ_PARTY_SITES'
354      and hosr.status(+) = 'A'
355      and hosr.owner_table_id = hps.party_site_id(+)
356      and hps.location_id = loc.location_id(+)
357      and e.int_row_id (+) = sg.int_row_id
358      and e.request_id (+) = p_request_id
359      and e.interface_table_name (+) = 'HZ_IMP_ADDRESSES_INT'
363      and hzint.interface_status(+) = 'D'
360      --and hps.party_site_id (+) = sg.party_site_id
361      and loc.request_id (+) = p_request_id
362      and sg.int_row_id = hzint.rowid (+)
364    union all
365   select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
366          1, nvl2(NVL(hp.party_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 12, 13),24)) a
367     from hz_imp_tmp_errors e, hz_imp_parties_sg sg,hz_parties hp, HZ_IMP_PARTIES_INT hzint
368    where sg.batch_mode_flag = p_batch_mode_flag
369      and sg.batch_id = p_batch_id
370      and sg.party_orig_system = p_original_system
371      and e.int_row_id (+) = sg.int_row_id
372      and e.request_id (+) = p_request_id
373      and e.interface_table_name (+) = 'HZ_IMP_PARTIES_INT'
374      and hp.party_id (+) = sg.party_id
375      and hp.request_id (+) = p_request_id
376      and sg.int_row_id = hzint.rowid (+)
377      and hzint.interface_status(+) = 'D'
378    union all
379   select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
380          1, nvl2(NVL(hocr.org_contact_role_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 14, 15),24)) a
381     from hz_imp_tmp_errors e, hz_imp_contactroles_sg sg,hz_org_contact_roles hocr, HZ_IMP_CONTACTROLES_INT hzint
382    where sg.batch_mode_flag = p_batch_mode_flag
383      and sg.batch_id = p_batch_id
384      and sg.sub_orig_system = p_original_system
385      and e.int_row_id (+) = sg.int_row_id
386      and e.request_id (+) = p_request_id
387      and e.interface_table_name (+) = 'HZ_IMP_CONTACTROLES_INT'
388      and hocr.org_contact_role_id (+) = sg.contact_role_id
389 --     and hocr.request_id (+) = p_request_id
390      and sg.int_row_id = hzint.rowid (+)
391      and hzint.interface_status(+) = 'D'
392    union all
393   select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
394          1, nvl2(NVL(hpsu.party_site_use_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 16, 17),24)) a
395     from hz_imp_tmp_errors e, hz_imp_addressuses_sg sg, hz_party_site_uses hpsu, HZ_IMP_ADDRESSUSES_INT hzint
396    where sg.batch_mode_flag = p_batch_mode_flag
397      and sg.batch_id = p_batch_id
398      and sg.party_orig_system = p_original_system
399      and e.int_row_id (+) = sg.int_row_id
400      and e.request_id (+) = p_request_id
401      and e.interface_table_name (+) = 'HZ_IMP_ADDRESSUSES_INT'
402      and hpsu.party_site_use_id (+) = sg.party_site_use_id
403 --     and hpsu.request_id (+) = p_request_id
404      and sg.int_row_id = hzint.rowid (+)
405      and hzint.interface_status(+) = 'D'
406    union all
407   select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
408          1, nvl2(NVL(hoc.org_contact_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 18, 19),24)) a
409     from hz_imp_tmp_errors e, hz_imp_contacts_sg sg, hz_org_contacts hoc, HZ_IMP_CONTACTS_INT hzint
410    where sg.batch_mode_flag = p_batch_mode_flag
411      and sg.batch_id = p_batch_id
412      and sg.contact_orig_system = p_original_system
413      and e.int_row_id (+) = sg.int_row_id
414      and e.request_id (+) = p_request_id
415      and e.interface_table_name (+) = 'HZ_IMP_CONTACTS_INT'
416      and hoc.org_contact_id (+) = sg.contact_id
417      and hoc.request_id (+) = p_request_id
418      and sg.int_row_id = hzint.rowid (+)
419      and hzint.interface_status(+) = 'D'
420    union all
421   select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
422          1, nvl2(NVL(hcr.credit_rating_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 20, 21),24)) a
423     from hz_imp_tmp_errors e, hz_imp_creditrtngs_sg sg,hz_credit_ratings hcr, HZ_IMP_CREDITRTNGS_INT hzint
424    where sg.batch_mode_flag = p_batch_mode_flag
425      and sg.batch_id = p_batch_id
426      and sg.party_orig_system = p_original_system
427      and e.int_row_id (+) = sg.int_row_id
428      and e.request_id (+) = p_request_id
429      and e.interface_table_name (+) = 'HZ_IMP_CREDITRTNGS_INT'
430      and hcr.credit_rating_id(+) = sg.credit_rating_id
431      and hcr.request_id (+) = p_request_id
432      and sg.int_row_id = hzint.rowid (+)
433      and hzint.interface_status(+) = 'D'
434  union all
435 select /*+ full(sg) parallel(sg) */ nvl2(e.int_row_id,
436        1, nvl2(NVL(hca.code_assignment_id,hzint.BATCH_ID),decode(sg.action_flag, 'I', 22, 23),24)) a
437   from hz_imp_tmp_errors e, hz_imp_classifics_sg sg,hz_code_assignments hca, HZ_IMP_CLASSIFICS_INT hzint
438  where sg.batch_mode_flag = p_batch_mode_flag
439    and sg.batch_id = p_batch_id
440    and sg.party_orig_system = p_original_system
441    and e.int_row_id (+) = sg.int_row_id
442    and e.request_id (+) = p_request_id
443    and e.interface_table_name (+) = 'HZ_IMP_CLASSIFICS_INT'
444    and hca.code_assignment_id (+) = sg.code_assignment_id
445    and hca.request_id (+) = p_request_id
446    and sg.int_row_id = hzint.rowid (+)
447    and hzint.interface_status(+) = 'D'
448   )
449  group by a) y
450  where x.a = y.a (+)))
451  where r = 1;
452 
453 
454 IF p_original_system <> 'USER_ENTERED'
455 THEN
456 select sst_flag
457 into l_sst_flag
458 from hz_orig_systems_b
459 where orig_system = p_original_system
460 and status='A';
461 
462 IF l_sst_flag='Y'
463 THEN
464   select count(*)
465   into l_rels_updated
466   from hz_imp_relships_sg
467   where batch_id=p_batch_id
468   and action_flag='U'
469   and relationship_type in
470       ('HEADQUARTERS/DIVISION','PARENT/SUBSIDIARY','DOMESTIC_ULTIMATE','GLOBAL_ULTIMATE')
471   and sub_orig_system = p_original_system
472   and batch_mode_flag=p_batch_mode_flag;
473 END IF;
474 END IF;
475 
476   update hz_imp_batch_summary set
480     addresses_inserted = addresses_inserted + l_addresses_inserted,
477     addressuses_inserted = addressuses_inserted + l_addressuses_inserted,
478     addressuses_updated = addressuses_updated + l_addressuses_updated,
479     addressuses_imported = addressuses_imported + l_addressuses_inserted + l_addressuses_updated,
481     addresses_updated = addresses_updated + l_addresses_updated,
482     addresses_imported = addresses_imported + l_addresses_inserted + l_addresses_updated,
483     address_merge_requests = 0, --l_addresses_merge_requests,
484     finnumbers_inserted = finnumbers_inserted + l_finnumbers_inserted,
485     finnumbers_updated = finnumbers_updated + l_finnumbers_updated,
486     finnumbers_imported = finnumbers_imported + l_finnumbers_inserted + l_finnumbers_updated,
487     codeassigns_inserted = codeassigns_inserted + l_codeassigns_inserted,
488     codeassigns_updated = codeassigns_updated + l_codeassigns_updated,
489     codeassigns_imported = codeassigns_imported + l_codeassigns_inserted + l_codeassigns_updated,
490     relationships_inserted = relationships_inserted + l_relationships_inserted,
491     relationships_updated = relationships_updated + l_relationships_updated + l_rels_updated,
492     relationships_imported = relationships_imported + l_relationships_inserted + l_relationships_updated + l_rels_updated,
493     contactroles_inserted = contactroles_inserted + l_contactroles_inserted,
494     contactroles_updated = contactroles_updated + l_contactroles_updated,
495     contactroles_imported = contactroles_imported + l_contactroles_inserted + l_contactroles_updated,
496     contacts_inserted = contacts_inserted + l_contacts_inserted,
497     contacts_updated = contacts_updated + l_contacts_updated,
498     contacts_imported = contacts_imported + l_contacts_inserted + l_contacts_updated,
499     contact_merge_requests = 0, --l_contacts_merge_requests,
500     contactpoints_inserted = contactpoints_inserted + l_contactpoints_inserted,
501     contactpoints_updated = contactpoints_updated + l_contactpoints_updated,
502     contactpoints_imported = contactpoints_imported + l_contactpoints_inserted + l_contactpoints_updated,
503     contactpoint_merge_requests = 0, --l_contactpoints_merge_requests,
504     creditratings_inserted = creditratings_inserted + l_creditratings_inserted,
505     creditratings_updated = creditratings_updated + l_creditratings_updated,
506     creditratings_imported = creditratings_imported + l_creditratings_inserted + l_creditratings_updated,
507     finreports_inserted = finreports_inserted + l_finreports_inserted,
508     finreports_updated = finreports_updated + l_finreports_updated,
509     finreports_imported = finreports_imported + l_finreports_inserted + l_finreports_updated,
510     parties_inserted = parties_inserted + l_parties_inserted,
511     parties_updated = parties_updated + l_parties_updated,
512     parties_imported = parties_imported + l_parties_inserted + l_parties_updated,
513     total_errors  = decode(p_rerun_flag, 'N', l_total_errors, decode (total_errors, 0, l_total_errors, (total_errors - l_total_records_imported))),
514     total_records_imported = total_records_imported + l_total_records_imported + l_rels_updated
515   where batch_id = p_batch_id;
516 /*
517   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_ADDRESSUSES_INSERTED'|| l_ADDRESSUSES_INSERTED);
518   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_ADDRESSES_INSERTED'|| l_ADDRESSES_INSERTED);
519   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_FINNUMBERS_INSERTED'|| l_FINNUMBERS_INSERTED);
520   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_CODEASSIGNS_INSERTED'|| l_CODEASSIGNS_INSERTED);
521   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_RELATIONSHIPS_INSERTED'|| l_RELATIONSHIPS_INSERTED);
522   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_CONTACTROLES_INSERTED'|| l_CONTACTROLES_INSERTED);
523   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_CONTACTS_INSERTED'|| l_CONTACTS_INSERTED);
524   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_CONTACTPOINTS_INSERTED'|| l_CONTACTPOINTS_INSERTED);
525   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_CREDITRATINGS_INSERTED'|| l_CREDITRATINGS_INSERTED);
526   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_FINREPORTS_INSERTED'|| l_FINREPORTS_INSERTED);
527   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_PARTIES_INSERTED'|| l_PARTIES_INSERTED);
528   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_ADDRESSUSES_UPDATED'|| l_ADDRESSUSES_UPDATED);
529   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_ADDRESSES_UPDATED'|| l_ADDRESSES_UPDATED);
530   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_FINNUMBERS_UPDATED'|| l_FINNUMBERS_UPDATED);
531   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_CODEASSIGNS_UPDATED'|| l_CODEASSIGNS_UPDATED);
532   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_RELATIONSHIPS_UPDATED'|| l_RELATIONSHIPS_UPDATED);
533   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_CONTACTROLES_UPDATED'|| l_CONTACTROLES_UPDATED);
534   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_CONTACTS_UPDATED'|| l_CONTACTS_UPDATED);
535   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_CONTACTPOINTS_UPDATED'|| l_CONTACTPOINTS_UPDATED);
536   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_CREDITRATINGS_UPDATED'|| l_CREDITRATINGS_UPDATED);
537   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_FINREPORTS_UPDATED'|| l_FINREPORTS_UPDATED);
538   FND_FILE.PUT_LINE(FND_FILE.LOG, ' l_PARTIES_UPDATED'|| l_PARTIES_UPDATED);
539   FND_FILE.PUT_LINE(FND_FILE.LOG, 'P_BATCH_MODE_FLAG:'||P_BATCH_MODE_FLAG);
540   FND_FILE.PUT_LINE(FND_FILE.LOG, 'l_total_errors :='||l_total_errors);
541   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_ADDRESSUSES_ERRORED:'||l_ADDRESSUSES_ERRORED);
542   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_ADDRESSES_ERRORED +'||l_ADDRESSES_ERRORED );
543   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_FINNUMBERS_ERRORED +'||l_FINNUMBERS_ERRORED);
544   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_CODEASSIGNS_ERRORED +'||l_CODEASSIGNS_ERRORED);
545   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_RELATIONSHIPS_ERRORED +'||l_RELATIONSHIPS_ERRORED);
546   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_CONTACTROLES_ERRORED +'||l_CONTACTROLES_ERRORED);
550   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_FINREPORTS_ERRORED +'||l_FINREPORTS_ERRORED);
547   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_CONTACTS_ERRORED +'||l_CONTACTS_ERRORED);
548   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_CONTACTPOINTS_ERRORED +'||l_CONTACTPOINTS_ERRORED);
549   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_CREDITRATINGS_ERRORED +'||l_CREDITRATINGS_ERRORED);
551   FND_FILE.PUT_LINE(FND_FILE.LOG, '  l_PARTIES_ERRORED:'||l_PARTIES_ERRORED) ;
552 */
553 
554 /*
555  -- updating the batch summary table
556  -- with all the counts. Also, initializing the merge counts to zero so that
557  -- if and when DQM populates them, the merge counts will have appropriate values
558  -- otherwise, they will show zeros.
559 
560  UPDATE HZ_IMP_BATCH_SUMMARY SET
561   ADDRESSUSES_INSERTED = ADDRESSUSES_INSERTED + l_ADDRESSUSES_INSERTED,
562   ADDRESSUSES_UPDATED = ADDRESSUSES_UPDATED + l_ADDRESSUSES_UPDATED,
563   ADDRESSUSES_IMPORTED = ADDRESSUSES_IMPORTED + l_ADDRESSUSES_IMPORTED,
564   ADDRESSES_INSERTED = ADDRESSES_INSERTED + l_ADDRESSES_INSERTED,
565   ADDRESSES_UPDATED = ADDRESSES_UPDATED + l_ADDRESSES_UPDATED,
566   ADDRESSES_IMPORTED = ADDRESSES_IMPORTED + l_ADDRESSES_IMPORTED,
567   ADDRESS_MERGE_REQUESTS = 0, --l_ADDRESSES_MERGE_REQUESTS,
568   FINNUMBERS_INSERTED = FINNUMBERS_INSERTED + l_FINNUMBERS_INSERTED,
569   FINNUMBERS_UPDATED = FINNUMBERS_UPDATED + l_FINNUMBERS_UPDATED,
570   FINNUMBERS_IMPORTED = FINNUMBERS_IMPORTED + l_FINNUMBERS_IMPORTED,
571   CODEASSIGNS_INSERTED = CODEASSIGNS_INSERTED + l_CODEASSIGNS_INSERTED,
572   CODEASSIGNS_UPDATED = CODEASSIGNS_UPDATED + l_CODEASSIGNS_UPDATED,
573   CODEASSIGNS_IMPORTED = CODEASSIGNS_IMPORTED + l_CODEASSIGNS_IMPORTED,
574   RELATIONSHIPS_INSERTED = RELATIONSHIPS_INSERTED + l_RELATIONSHIPS_INSERTED,
575   RELATIONSHIPS_UPDATED = RELATIONSHIPS_UPDATED + l_RELATIONSHIPS_UPDATED,
576   RELATIONSHIPS_IMPORTED = RELATIONSHIPS_IMPORTED + l_RELATIONSHIPS_IMPORTED,
577   CONTACTROLES_INSERTED = CONTACTROLES_INSERTED + l_CONTACTROLES_INSERTED,
578   CONTACTROLES_UPDATED = CONTACTROLES_UPDATED + l_CONTACTROLES_UPDATED,
579   CONTACTROLES_IMPORTED = CONTACTROLES_IMPORTED + l_CONTACTROLES_IMPORTED,
580   CONTACTS_INSERTED = CONTACTS_INSERTED + l_CONTACTS_INSERTED,
581   CONTACTS_UPDATED = CONTACTS_UPDATED + l_CONTACTS_UPDATED,
582   CONTACTS_IMPORTED = CONTACTS_IMPORTED + l_CONTACTS_IMPORTED,
583   CONTACT_MERGE_REQUESTS = 0, --l_CONTACTS_MERGE_REQUESTS,
584   CONTACTPOINTS_INSERTED = CONTACTPOINTS_INSERTED + l_CONTACTPOINTS_INSERTED,
585   CONTACTPOINTS_UPDATED = CONTACTPOINTS_UPDATED + l_CONTACTPOINTS_UPDATED,
586   CONTACTPOINTS_IMPORTED = CONTACTPOINTS_IMPORTED + l_CONTACTPOINTS_IMPORTED,
587   CONTACTPOINT_MERGE_REQUESTS = 0, --l_CONTACTPOINTS_MERGE_REQUESTS,
588   CREDITRATINGS_INSERTED = CREDITRATINGS_INSERTED + l_CREDITRATINGS_INSERTED,
589   CREDITRATINGS_UPDATED = CREDITRATINGS_UPDATED + l_CREDITRATINGS_UPDATED,
590   CREDITRATINGS_IMPORTED = CREDITRATINGS_IMPORTED + l_CREDITRATINGS_IMPORTED,
591   FINREPORTS_INSERTED = FINREPORTS_INSERTED + l_FINREPORTS_INSERTED,
592   FINREPORTS_UPDATED = FINREPORTS_UPDATED + l_FINREPORTS_UPDATED,
593   FINREPORTS_IMPORTED = FINREPORTS_IMPORTED + l_FINREPORTS_IMPORTED,
594   PARTIES_INSERTED = PARTIES_INSERTED + l_PARTIES_INSERTED,
595   PARTIES_UPDATED = PARTIES_UPDATED + l_PARTIES_UPDATED,
596   PARTIES_IMPORTED = PARTIES_IMPORTED + l_PARTIES_IMPORTED,
597   PARTY_MERGE_REQUESTS = 0, -- l_PARTIES_MERGE_REQUESTS,
598   PARTIES_AUTO_MERGED    = 0, --l_parties_auto_merged,
599   TOTAL_MERGE_REQUESTS   = 0, --l_total_merge_requests,
600   TOTAL_ERRORS  = DECODE (p_rerun_flag, 'N', l_total_errors, (TOTAL_ERRORS - l_total_errors)),
601   TOTAL_RECORDS_IMPORTED = TOTAL_RECORDS_IMPORTED + l_total_records_imported
602  WHERE BATCH_ID = P_BATCH_ID;
603 */
604 END post_import_counts;
605 
606 /*
607   Procedure: what_if_import_counts()
608   These are the counts of potential entries that might
609   happen if the dataload process is allowed to go through to
610   completion.  These are per  per run counts.
611   This procedure is called from stage 2 of teh dataload process only
612   when teh what_IF option is chosen.
613 */
614 
615   PROCEDURE what_if_import_counts
616      ( P_BATCH_ID    IN HZ_IMP_BATCH_SUMMARY.BATCH_ID%TYPE,
617        P_ORIGINAL_SYSTEM IN HZ_IMP_BATCH_SUMMARY.ORIGINAL_SYSTEM%TYPE) IS
618 -- Declare the variables
619  l_NEW_UNIQUE_ADDRESSUSES NUMBER;
620  l_NEW_UNIQUE_ADDRESSES NUMBER;
621  l_NEW_UNIQUE_FINNUMBERS NUMBER;
622  l_NEW_UNIQUE_CODEASSIGNS NUMBER;
623  l_NEW_UNIQUE_RELATIONSHIPS NUMBER;
624  l_NEW_UNIQUE_CONTACTROLES NUMBER;
625  l_NEW_UNIQUE_CONTACTS NUMBER;
626  l_NEW_UNIQUE_CONTACTPOINTS NUMBER;
627  l_NEW_UNIQUE_CREDITRATINGS NUMBER;
628  l_NEW_UNIQUE_FINREPORTS NUMBER;
629  l_NEW_UNIQUE_PARTIES NUMBER;
630  l_EXISTING_ADDRESSUSES NUMBER;
631  l_EXISTING_ADDRESSES NUMBER;
632  l_EXISTING_FINNUMBERS NUMBER;
633  l_EXISTING_CODEASSIGNS NUMBER;
634  l_EXISTING_RELATIONSHIPS NUMBER;
635  l_EXISTING_CONTACTROLES NUMBER;
636  l_EXISTING_CONTACTS NUMBER;
637  l_EXISTING_CONTACTPOINTS NUMBER;
638  l_EXISTING_CREDITRATINGS NUMBER;
639  l_EXISTING_FINREPORTS NUMBER;
640  l_EXISTING_PARTIES NUMBER;
641  l_REMOVED_ADDRESSUSES NUMBER;
642  l_REMOVED_ADDRESSES NUMBER;
643  l_REMOVED_FINNUMBERS NUMBER;
644  l_REMOVED_CODEASSIGNS NUMBER;
645  l_REMOVED_RELATIONSHIPS NUMBER;
646  l_REMOVED_CONTACTROLES NUMBER;
647  l_REMOVED_CONTACTS NUMBER;
648  l_REMOVED_CONTACTPOINTS NUMBER;
649  l_REMOVED_CREDITRATINGS NUMBER;
650  l_REMOVED_FINREPORTS NUMBER;
651  l_REMOVED_PARTIES NUMBER;
652  l_removed_by_user NUMBER;
653 
654 BEGIN
658    FROM HZ_IMP_ADDRESSUSES_SG  INT
655   -- number of new and unique recs
656      -- for l_NEW_UNIQUE_ADDRESSUSES
657   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_ADDRESSUSES
659   WHERE INT.BATCH_ID = P_BATCH_ID AND
660        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
661     AND INT.ACTION_FLAG = 'I' ;
662      -- for l_NEW_UNIQUE_ADDRESSES
663   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_ADDRESSES
664    FROM HZ_IMP_ADDRESSES_INT INT, HZ_IMP_ADDRESSES_SG  SG
665   WHERE INT.BATCH_ID = P_BATCH_ID AND
666      INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM AND
667      INT.BATCH_ID = SG.BATCH_ID AND
668      INT.PARTY_ORIG_SYSTEM = SG.PARTY_ORIG_SYSTEM AND
669      INT.rowid = sg.int_row_id
670   AND INT.DQM_ACTION_FLAG IS NULL  AND SG.ACTION_FLAG = 'I' ;
671     -- for l_NEW_UNIQUE_FINNUMBERS
672   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_FINNUMBERS
673    FROM HZ_IMP_FINNUMBERS_SG  INT
674   WHERE INT.BATCH_ID = P_BATCH_ID AND
675        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
676     AND INT.ACTION_FLAG = 'I' ;
677     -- for l_NEW_UNIQUE_CODEASSIGNS
678   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_CODEASSIGNS
679    FROM HZ_IMP_CLASSIFICS_SG INT
680   WHERE INT.BATCH_ID = P_BATCH_ID AND
681        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
682     AND INT.ACTION_FLAG = 'I' ;
683       -- for l_NEW_UNIQUE_RELATIONSHIPS
684   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_RELATIONSHIPS
685    FROM HZ_IMP_RELSHIPS_SG INT
686   WHERE INT.BATCH_ID = P_BATCH_ID AND
687        INT.SUB_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
688     AND INT.ACTION_FLAG = 'I' ;
689       -- for l_NEW_UNIQUE_CONTACTROLES
690   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_CONTACTROLES
691    FROM HZ_IMP_CONTACTROLES_SG INT
692   WHERE INT.BATCH_ID = P_BATCH_ID AND
693        INT.SUB_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
694     AND INT.ACTION_FLAG = 'I' ;
695       -- for l_NEW_UNIQUE_CONTACTS
696   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_CONTACTS
697    FROM HZ_IMP_CONTACTS_INT INT, HZ_IMP_CONTACTS_SG  SG
698   WHERE INT.BATCH_ID = P_BATCH_ID AND
699        INT.SUB_ORIG_SYSTEM = P_ORIGINAL_SYSTEM AND
700      INT.BATCH_ID = SG.BATCH_ID AND
701      INT.SUB_ORIG_SYSTEM = SG.SUB_ORIG_SYSTEM AND
702      INT.rowid = sg.int_row_id
703   AND INT.DQM_ACTION_FLAG IS NULL  AND SG.ACTION_FLAG = 'I' ;
704     -- for l_NEW_UNIQUE_CONTACTPOINTS
705   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_CONTACTPOINTS
706    FROM HZ_IMP_CONTACTPTS_INT INT, HZ_IMP_CONTACTPTS_SG  SG
707   WHERE INT.BATCH_ID = P_BATCH_ID AND
708        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM AND
709      INT.BATCH_ID = SG.BATCH_ID AND
710      INT.PARTY_ORIG_SYSTEM = SG.PARTY_ORIG_SYSTEM AND
711      INT.rowid = sg.int_row_id
712   AND INT.DQM_ACTION_FLAG IS NULL  AND SG.ACTION_FLAG = 'I' ;
713     -- for l_NEW_UNIQUE_CREDITRATINGS
714   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_CREDITRATINGS
715    FROM HZ_IMP_CREDITRTNGS_SG INT
716   WHERE INT.BATCH_ID = P_BATCH_ID AND
717        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
718     AND INT.ACTION_FLAG = 'I' ;
719     -- for l_NEW_UNIQUE_FINREPORTS
720   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_FINREPORTS
721    FROM HZ_IMP_FINREPORTS_SG INT
722   WHERE INT.BATCH_ID = P_BATCH_ID AND
723        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
724     AND INT.ACTION_FLAG = 'I' ;
725     -- for l_NEW_UNIQUE_PARTIES
726   SELECT  count(INT.BATCH_ID) into  l_NEW_UNIQUE_PARTIES
727    FROM HZ_IMP_PARTIES_INT INT, HZ_IMP_PARTIES_SG  SG
728   WHERE INT.BATCH_ID = P_BATCH_ID AND
729        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM AND
730      INT.BATCH_ID = SG.BATCH_ID AND
731      INT.PARTY_ORIG_SYSTEM = SG.PARTY_ORIG_SYSTEM AND
732      INT.rowid = sg.int_row_id
733   AND INT.DQM_ACTION_FLAG IS NULL  AND SG.ACTION_FLAG = 'I' ;
734   -- counts of existing entity recs
735    -- for l_EXISTING_ADDRESSUSES
736   SELECT  count(INT.BATCH_ID) into  l_EXISTING_ADDRESSUSES
737    FROM HZ_IMP_ADDRESSUSES_SG INT
738   WHERE INT.BATCH_ID = P_BATCH_ID AND
739        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
740     AND INT.ACTION_FLAG = 'U' ;
741     -- for l_EXISTING_ADDRESSES
742   SELECT  count(INT.BATCH_ID) into  l_EXISTING_ADDRESSES
743    FROM HZ_IMP_ADDRESSES_SG INT
744   WHERE INT.BATCH_ID = P_BATCH_ID AND
745        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
746     AND INT.ACTION_FLAG = 'U' ;
747     -- for l_EXISTING_FINNUMBERS
748   SELECT  count(INT.BATCH_ID) into  l_EXISTING_FINNUMBERS
749    FROM HZ_IMP_FINNUMBERS_SG INT
750   WHERE INT.BATCH_ID = P_BATCH_ID AND
751        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
752     AND INT.ACTION_FLAG = 'U' ;
753     -- for l_EXISTING_CODEASSIGNS
754   SELECT  count(INT.BATCH_ID) into  l_EXISTING_CODEASSIGNS
755    FROM HZ_IMP_CLASSIFICS_SG INT
756   WHERE INT.BATCH_ID = P_BATCH_ID AND
757        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
758     AND INT.ACTION_FLAG = 'U' ;
759     -- for l_EXISTING_RELATIONSHIPS
760   SELECT  count(INT.BATCH_ID) into  l_EXISTING_RELATIONSHIPS
761    FROM HZ_IMP_RELSHIPS_SG INT
762   WHERE INT.BATCH_ID = P_BATCH_ID AND
763        INT.SUB_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
764     AND INT.ACTION_FLAG = 'U' ;
765     -- for l_EXISTING_CONTACTROLES
766   SELECT  count(INT.BATCH_ID) into  l_EXISTING_CONTACTROLES
767    FROM HZ_IMP_CONTACTROLES_SG INT
768   WHERE INT.BATCH_ID = P_BATCH_ID AND
772   SELECT  count(INT.BATCH_ID) into  l_EXISTING_CONTACTS
769        INT.SUB_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
770     AND INT.ACTION_FLAG = 'U' ;
771     -- for l_EXISTING_CONTACTS
773    FROM HZ_IMP_CONTACTS_SG INT
774   WHERE INT.BATCH_ID = P_BATCH_ID AND
775        INT.CONTACT_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
776     AND INT.ACTION_FLAG = 'U' ;
777     -- for l_EXISTING_CONTACTPOINTS
778   SELECT  count(INT.BATCH_ID) into  l_EXISTING_CONTACTPOINTS
779    FROM HZ_IMP_CONTACTPTS_SG INT
780   WHERE INT.BATCH_ID = P_BATCH_ID AND
781        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
782     AND INT.ACTION_FLAG = 'U' ;
783     -- for l_EXISTING_CREDITRATINGS
784   SELECT  count(INT.BATCH_ID) into  l_EXISTING_CREDITRATINGS
785    FROM HZ_IMP_CREDITRTNGS_SG INT
786   WHERE INT.BATCH_ID = P_BATCH_ID AND
787        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
788     AND INT.ACTION_FLAG = 'U' ;
789     -- for l_EXISTING_FINREPORTS
790   SELECT  count(INT.BATCH_ID) into  l_EXISTING_FINREPORTS
791    FROM HZ_IMP_FINREPORTS_SG INT
792   WHERE INT.BATCH_ID = P_BATCH_ID AND
793        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
794     AND INT.ACTION_FLAG = 'U' ;
795     -- for l_EXISTING_PARTIES
796   SELECT  count(INT.BATCH_ID) into  l_EXISTING_PARTIES
797    FROM HZ_IMP_PARTIES_SG INT
798   WHERE INT.BATCH_ID = P_BATCH_ID AND
799        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
800     AND INT.ACTION_FLAG = 'U' ;
801 
802   -- counts of removed entity recs
803   SELECT  count(INT.BATCH_ID) into  l_REMOVED_ADDRESSUSES
804    FROM HZ_IMP_ADDRESSUSES_INT INT
805   WHERE INT.BATCH_ID = P_BATCH_ID AND
806        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
807     AND INT.INTERFACE_STATUS = 'R' ;
808   SELECT  count(INT.BATCH_ID) into  l_REMOVED_ADDRESSES
809    FROM HZ_IMP_ADDRESSES_INT INT
810   WHERE INT.BATCH_ID = P_BATCH_ID AND
811        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
812     AND INT.INTERFACE_STATUS = 'R' ;
813   SELECT  count(INT.BATCH_ID) into  l_REMOVED_FINNUMBERS
814    FROM HZ_IMP_FINNUMBERS_INT INT
815   WHERE INT.BATCH_ID = P_BATCH_ID AND
816        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
817     AND INT.INTERFACE_STATUS = 'R' ;
818   SELECT  count(INT.BATCH_ID) into  l_REMOVED_CODEASSIGNS
819    FROM HZ_IMP_CLASSIFICS_INT INT
820   WHERE INT.BATCH_ID = P_BATCH_ID AND
821        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
822     AND INT.INTERFACE_STATUS = 'R' ;
823   SELECT  count(INT.BATCH_ID) into  l_REMOVED_RELATIONSHIPS
824    FROM HZ_IMP_RELSHIPS_INT INT
825   WHERE INT.BATCH_ID = P_BATCH_ID AND
826        INT.SUB_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
827     AND INT.INTERFACE_STATUS = 'R' ;
828   SELECT  count(INT.BATCH_ID) into  l_REMOVED_CONTACTROLES
829    FROM HZ_IMP_CONTACTROLES_INT INT
830   WHERE INT.BATCH_ID = P_BATCH_ID AND
831        INT.CONTACT_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
832     AND INT.INTERFACE_STATUS = 'R' ;
833   SELECT  count(INT.BATCH_ID) into  l_REMOVED_CONTACTS
834    FROM HZ_IMP_CONTACTS_INT INT
835   WHERE INT.BATCH_ID = P_BATCH_ID AND
836        INT.CONTACT_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
837     AND INT.INTERFACE_STATUS = 'R' ;
838   SELECT  count(INT.BATCH_ID) into  l_REMOVED_CONTACTPOINTS
839    FROM HZ_IMP_CONTACTPTS_INT INT
840   WHERE INT.BATCH_ID = P_BATCH_ID AND
841        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
842     AND INT.INTERFACE_STATUS = 'R' ;
843   SELECT  count(INT.BATCH_ID) into  l_REMOVED_CREDITRATINGS
844    FROM HZ_IMP_CREDITRTNGS_INT INT
845   WHERE INT.BATCH_ID = P_BATCH_ID AND
846        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
847     AND INT.INTERFACE_STATUS = 'R' ;
848   SELECT  count(INT.BATCH_ID) into  l_REMOVED_FINREPORTS
849    FROM HZ_IMP_FINREPORTS_INT INT
850   WHERE INT.BATCH_ID = P_BATCH_ID AND
851        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
852     AND INT.INTERFACE_STATUS = 'R' ;
853   SELECT  count(INT.BATCH_ID) into  l_REMOVED_PARTIES
854    FROM HZ_IMP_PARTIES_INT INT
855   WHERE INT.BATCH_ID = P_BATCH_ID AND
856        INT.PARTY_ORIG_SYSTEM = P_ORIGINAL_SYSTEM
857     AND INT.INTERFACE_STATUS = 'R' ;
858 
859   -- compute total number of removed recs
860   l_removed_by_user :=
861     l_REMOVED_ADDRESSUSES +
862     l_REMOVED_ADDRESSES +
863     l_REMOVED_FINNUMBERS +
864     l_REMOVED_CODEASSIGNS +
865     l_REMOVED_RELATIONSHIPS +
866     l_REMOVED_CONTACTROLES +
867     l_REMOVED_CONTACTS +
868     l_REMOVED_CONTACTPOINTS +
869     l_REMOVED_CREDITRATINGS +
870     l_REMOVED_FINREPORTS +
871     l_REMOVED_PARTIES ;
872 
873    -- update stmt
874  UPDATE HZ_IMP_BATCH_SUMMARY SET
875   NEW_UNIQUE_ADDRESSUSES = l_NEW_UNIQUE_ADDRESSUSES,
876   NEW_UNIQUE_ADDRESSES = l_NEW_UNIQUE_ADDRESSES,
877   NEW_UNIQUE_FINNUMBERS = l_NEW_UNIQUE_FINNUMBERS,
878   NEW_UNIQUE_CODEASSIGNS = l_NEW_UNIQUE_CODEASSIGNS,
879   NEW_UNIQUE_RELATIONSHIPS = l_NEW_UNIQUE_RELATIONSHIPS,
880   NEW_UNIQUE_CONTACTROLES = l_NEW_UNIQUE_CONTACTROLES,
881   NEW_UNIQUE_CONTACTS = l_NEW_UNIQUE_CONTACTS,
882   NEW_UNIQUE_CONTACTPOINTS = l_NEW_UNIQUE_CONTACTPOINTS,
883   NEW_UNIQUE_CREDITRATINGS = l_NEW_UNIQUE_CREDITRATINGS,
884   NEW_UNIQUE_FINREPORTS = l_NEW_UNIQUE_FINREPORTS,
885   NEW_UNIQUE_PARTIES = l_NEW_UNIQUE_PARTIES,
886   EXISTING_ADDRESSUSES = l_EXISTING_ADDRESSUSES,
887   EXISTING_ADDRESSES = l_EXISTING_ADDRESSES,
888   EXISTING_FINNUMBERS = l_EXISTING_FINNUMBERS,
889   EXISTING_CODEASSIGNS = l_EXISTING_CODEASSIGNS,
890   EXISTING_RELATIONSHIPS = l_EXISTING_RELATIONSHIPS,
891   EXISTING_CONTACTROLES = l_EXISTING_CONTACTROLES,
892   EXISTING_CONTACTS = l_EXISTING_CONTACTS,
893   EXISTING_CONTACTPOINTS = l_EXISTING_CONTACTPOINTS,
894   EXISTING_CREDITRATINGS = l_EXISTING_CREDITRATINGS,
895   EXISTING_FINREPORTS = l_EXISTING_FINREPORTS,
896   EXISTING_PARTIES = l_EXISTING_PARTIES,
897     removed_by_user = l_removed_by_user
898  WHERE BATCH_ID = P_BATCH_ID;
899 END what_if_import_counts;
900 
901 END HZ_IMP_LOAD_BATCH_COUNTS_PKG;