9419: | PROCEDURE |
9420: | create_rules |
9421: | |
9422: | DESCRIPTION |
9423: | This routine inserts data into ZX_RULES_B,_TL,ZX_PROCESS_RESULTS |
9424: | Based on AP recovery rules and associated rates. |
9425: | |
9426: | SCOPE - PUBLIC |
9427: | |
9448:
9449: IF L_MULTI_ORG_FLAG = 'Y'
9450: THEN
9451:
9452: INSERT INTO ZX_RULES_B_TMP
9453: (
9454: TAX_RULE_CODE ,
9455: TAX ,
9456: TAX_REGIME_CODE ,
9493: 'Y' ,--ENABLED_FLAG
9494: 'MIGRATED' ,--RECORD_TYPE_CODE
9495: 'EX Acct String Range-Party FC' ,--DET_FACTOR_TEMPL_CODE
9496: CONTENT_OWNER_ID ,
9497: zx_rules_b_s.nextval ,--TAX_RULE_ID
9498: fnd_global.user_id ,
9499: SYSDATE ,
9500: fnd_global.user_id ,
9501: SYSDATE ,
9517: --check if ap_tax_recvry_rules_all.NAME || rates.TAX is more than 30 characters in length
9518:
9519: DECODE(SIGN(LENGTHB(RULES.NAME||RATES.TAX)-30),
9520: 1,
9521: SUBSTRB(RULES.NAME,1,24)||ZX_MIGRATE_UTIL.GET_NEXT_SEQID('ZX_RULES_B_S'),
9522: RULES.NAME||RATES.TAX)
9523:
9524: ELSE -- else for GROUP BY CHECKING
9525: RULES.NAME
9541: AND CODES.ORG_ID = PTP.PARTY_ID
9542: AND PTP.PARTY_TYPE_CODE ='OU'
9543: --Added following conditions for Sync process
9544: AND codes.tax_id = nvl(p_tax_id,codes.tax_id)
9545: AND not exists (select 1 from zx_rules_b
9546: where substrb(tax_rule_code,1,24)
9547: = ( --check if there exists multiple rows in ap_tax_recvry_rules_all with the same name.
9548:
9549: CASE WHEN EXISTS(select NULL from ap_tax_recvry_rules_all where name=RULES.NAME
9564: )
9565: );
9566: ELSE
9567:
9568: INSERT INTO ZX_RULES_B_TMP
9569: (
9570: TAX_RULE_CODE ,
9571: TAX ,
9572: TAX_REGIME_CODE ,
9609: 'Y' ,--ENABLED_FLAG
9610: 'MIGRATED' ,--RECORD_TYPE_CODE
9611: 'EX Acct String Range-Party FC' ,--DET_FACTOR_TEMPL_CODE
9612: CONTENT_OWNER_ID ,
9613: zx_rules_b_s.nextval ,--TAX_RULE_ID
9614: fnd_global.user_id ,
9615: SYSDATE ,
9616: fnd_global.user_id ,
9617: SYSDATE ,
9633: --check if ap_tax_recvry_rules_all.NAME || rates.TAX is more than 30 characters in length
9634:
9635: DECODE(SIGN(LENGTHB(RULES.NAME||RATES.TAX)-30),
9636: 1,
9637: SUBSTRB(RULES.NAME,1,24)||ZX_MIGRATE_UTIL.GET_NEXT_SEQID('ZX_RULES_B_S'),
9638: RULES.NAME||RATES.TAX)
9639:
9640: ELSE -- else for GROUP BY CHECKING
9641: RULES.NAME
9658: AND CODES.ORG_ID = PTP.PARTY_ID
9659: AND PTP.PARTY_TYPE_CODE ='OU'
9660: --Added following conditions for Sync process
9661: AND codes.tax_id = nvl(p_tax_id,codes.tax_id)
9662: AND not exists (select 1 from zx_rules_b
9663: where substrb(tax_rule_code,1,24)
9664: = ( --check if there exists multiple rows in ap_tax_recvry_rules_all with the same name.
9665:
9666: CASE WHEN EXISTS(select NULL from ap_tax_recvry_rules_all where name=RULES.NAME
9715: fnd_global.user_id ,
9716: fnd_global.conc_login_id
9717: FROM
9718: FND_LANGUAGES L,
9719: ZX_RULES_B B
9720: WHERE
9721: L.INSTALLED_FLAG in ('I', 'B')
9722: AND RECORD_TYPE_CODE = 'MIGRATED'
9723: AND not exists
9824: AP_TAX_CODES_ALL CODES,
9825: ap_tax_recvry_rules_all AP_RULES,
9826: ap_tax_recvry_rates_all AP_RATES,
9827: ZX_RATES_B ZX_RATES,
9828: ZX_RULES_B ZX_RULES,
9829: ZX_CONDITION_GROUPS_B GROUPS,
9830: zx_party_tax_profile ptp
9831: WHERE
9832: CODES.TAX_ID = NVL(ZX_RATES.SOURCE_ID, ZX_RATES.TAX_RATE_ID)
9963: AP_TAX_CODES_ALL CODES,
9964: ap_tax_recvry_rules_all AP_RULES,
9965: ap_tax_recvry_rates_all AP_RATES,
9966: ZX_RATES_B ZX_RATES,
9967: ZX_RULES_B ZX_RULES,
9968: ZX_CONDITION_GROUPS_B GROUPS,
9969: zx_party_tax_profile ptp
9970: WHERE
9971: CODES.TAX_ID = NVL(ZX_RATES.SOURCE_ID, ZX_RATES.TAX_RATE_ID)