71: is
72: l_era_code varchar2(1);
73: l_char_date varchar2(7);
74: begin
75: hr_utility.trace('jp_date: ' || p_date);
76: --
77: if p_date is not null then
78: l_char_date := hr_jp_standard_pkg.to_jp_char(p_date, 'EYYMMDD');
79: l_era_code := substr(l_char_date, 1, 1);
96: IS
97: c_proc CONSTANT VARCHAR2(61) := c_package || 'INITIALIZATION_CODE';
98: l_legislative_parameters pay_payroll_actions.legislative_parameters%type;
99: BEGIN
100: hr_utility.set_location('Entering: ' || c_proc, 10);
101: --
102: if g_payroll_action_id is null or g_payroll_action_id <> p_payroll_action_id then
103: hr_utility.trace('cache not available.');
104: --
99: BEGIN
100: hr_utility.set_location('Entering: ' || c_proc, 10);
101: --
102: if g_payroll_action_id is null or g_payroll_action_id <> p_payroll_action_id then
103: hr_utility.trace('cache not available.');
104: --
105: select business_group_id,
106: effective_date,
107: legislative_parameters
130: --
131: g_payroll_action_id := p_payroll_action_id;
132: end if;
133: --
134: hr_utility.set_location('Leaving: ' || c_proc, 20);
135: END INITIALIZATION_CODE;
136: --
137: -- +------------------------------------------------------------------------------------------------+
138: -- |< RANGE_CODE >----------------------------------------------------------------------------------|
143: p_sqlstr OUT NOCOPY VARCHAR2)
144: IS
145: c_proc CONSTANT VARCHAR2(61) := c_package || 'RANGE_CODE';
146: BEGIN
147: hr_utility.set_location('Entering: ' || c_proc, 10);
148: --
149: initialization_code(p_payroll_action_id);
150: --
151: p_sqlstr :=
155: WHERE ppa.payroll_action_id = :payroll_action_id
156: AND per.business_group_id + 0 = ppa.business_group_id
157: ORDER BY per.person_id';
158: --
159: hr_utility.set_location('Leaving: ' || c_proc, 20);
160: END RANGE_CODE;
161: --
162: -- +------------------------------------------------------------------------------------------------+
163: -- |< ASSIGNMENT_ACTION_CODE >----------------------------------------------------------------------|
261: */
262: )
263: );
264: BEGIN
265: hr_utility.set_location('Entering: ' || c_proc, 10);
266: --
267: initialization_code(p_payroll_action_id);
268: --
269: -- RANGE_PERSON_ID, PAY_ACTION_PARAMETER_GROUPS(PAY_REPORT_FORMAT_PARAMETERS)
269: -- RANGE_PERSON_ID, PAY_ACTION_PARAMETER_GROUPS(PAY_REPORT_FORMAT_PARAMETERS)
270: -- is not supported in this release.
271: --
272: FOR l_asg in csr_asg LOOP
273: hr_utility.set_location('Entering: ' || c_proc, 20);
274: --
275: SELECT pay_assignment_actions_s.nextval
276: INTO l_locking_action_id
277: FROM dual;
282: pactid => p_payroll_action_id,
283: chunk => p_chunk);
284: END LOOP;
285: --
286: hr_utility.set_location('Leaving: ' || c_proc, 100);
287: END ASSIGNMENT_ACTION_CODE;
288: -- +------------------------------------------------------------------------------------------------+
289: -- |< create_action_information >-------------------------------------------------------------------|
290: -- |Private procedure.------------------------------------------------------------------------------|
651: fnd_message.set_token('TAX_TYPE', null);
652: fnd_file.put_line(fnd_file.log, fnd_message.get);
653: end delete_archive;
654: BEGIN
655: hr_utility.set_location('Entering: ' || c_proc, 10);
656: --
657: -- Lock first(not latest) record on PER_ALL_ASSIGNMENTS_F
658: -- to suppress other PAYJPITW processes archive the same information
659: -- at the same time.
676: --
677: -- Fetch same year's data
678: --
679: for l_wic_rec in csr_wic(l_assignment_id) loop
680: hr_utility.set_location(c_proc, 20);
681: --
682: l_archive := true;
683: --
684: -- Check whether the wic assact is already archived or not
705: raise no_data_found;
706: end if;
707: close csr_per;
708: --
709: hr_utility.set_location(c_proc, 30);
710: --
711: -- Employer Information
712: --
713: open csr_swot(l_wic_rec.itax_organization_id);
717: raise no_data_found;
718: end if;
719: close csr_swot;
720: --
721: hr_utility.set_location(c_proc, 40);
722: --
723: -- Certificate Information
724: -- Never call "pay_jp_wic_pkg.get_certificate_info" multiple times
725: -- which will cause severe performance loss.
756: --
757: l_wtm_user_desc_kanji := l_wtm_user_desc;
758: l_wtm_user_desc_kana := l_wtm_user_desc;
759: --
760: hr_utility.set_location(c_proc, 50);
761: --
762: -- Get old description and replace system derived description with those if available,
763: -- then delete all archive data.
764: -- This specification seems to be confusing for user, there's possibility to
768: --
769: for l_archive_rec in csr_replace_archive(l_assignment_id,
770: l_wic_rec.itax_organization_id,
771: l_wic_rec.itax_category) loop
772: hr_utility.set_location(c_proc, 61);
773: --
774: if g_inherit_archive_flag = 'Y' then
775: l_itw_user_desc_kanji := l_archive_rec.itw_user_desc_kanji;
776: l_wtm_user_desc_kanji := l_archive_rec.wtm_user_desc_kanji;
793: l_archive_rec.action_context_id,
794: l_archive_rec.effective_date);
795: end loop;
796: --
797: hr_utility.set_location(c_proc, 70);
798: --
799: -- JP_ITAX_PERSON
800: --
801: l_person_rec.action_context_id := p_assignment_action_id;
976: l_other2_rec.effective_date := l_wic_rec.effective_date;
977: l_other2_rec.assignment_id := l_assignment_id;
978: l_other2_rec.action_information1 := fnd_number.canonical_to_number(g_business_group_id);
979: --
980: hr_utility.set_location(c_proc, 80);
981: --
982: -- Construct ITW description
983: --
984: l_itw_system_desc1_kanji := null;
983: --
984: l_itw_system_desc1_kanji := null;
985: l_itw_system_desc2_kanji := null;
986: for i in 1..l_itw_descriptions.count loop
987: hr_utility.trace('itw description: ' || l_itw_descriptions(i).description_type);
988: --
989: -- Following replace is only for PAYJPITW pdf files.
990: --
991: if l_itw_descriptions(i).description_type = 'FIXED_RATE_TAX_REDUCTION' then
1011: --
1012: l_wtm_system_desc_kanji := null;
1013: l_wtm_system_desc_kana := null;
1014: for i in 1..l_wtm_descriptions.count loop
1015: hr_utility.trace('wtm description: ' || l_wtm_descriptions(i).description_type);
1016: --
1017: concat_description(l_wtm_system_desc_kanji, l_wtm_descriptions(i).description_kanji, ',');
1018: concat_description(l_wtm_system_desc_kana, l_wtm_descriptions(i).description_kana, ',');
1019: end loop;
1022: l_wtm_system_desc_kana := hr_jp_standard_pkg.upper_kana(hr_jp_standard_pkg.to_hankaku(l_wtm_system_desc_kana, '?'));
1023: l_wtm_user_desc_kanji := hr_jp_standard_pkg.to_zenkaku(l_wtm_user_desc_kanji);
1024: l_wtm_user_desc_kana := hr_jp_standard_pkg.upper_kana(hr_jp_standard_pkg.to_hankaku(l_wtm_user_desc_kana, '?'));
1025: --
1026: hr_utility.trace('***** original descriptions *****');
1027: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1028: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1029: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1030: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1023: l_wtm_user_desc_kanji := hr_jp_standard_pkg.to_zenkaku(l_wtm_user_desc_kanji);
1024: l_wtm_user_desc_kana := hr_jp_standard_pkg.upper_kana(hr_jp_standard_pkg.to_hankaku(l_wtm_user_desc_kana, '?'));
1025: --
1026: hr_utility.trace('***** original descriptions *****');
1027: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1028: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1029: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1030: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1031: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1024: l_wtm_user_desc_kana := hr_jp_standard_pkg.upper_kana(hr_jp_standard_pkg.to_hankaku(l_wtm_user_desc_kana, '?'));
1025: --
1026: hr_utility.trace('***** original descriptions *****');
1027: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1028: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1029: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1030: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1031: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1032: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1025: --
1026: hr_utility.trace('***** original descriptions *****');
1027: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1028: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1029: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1030: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1031: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1032: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1033: hr_utility.trace('wtm_user_desc_kana : ' || l_wtm_user_desc_kana);
1026: hr_utility.trace('***** original descriptions *****');
1027: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1028: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1029: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1030: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1031: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1032: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1033: hr_utility.trace('wtm_user_desc_kana : ' || l_wtm_user_desc_kana);
1034: --
1027: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1028: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1029: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1030: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1031: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1032: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1033: hr_utility.trace('wtm_user_desc_kana : ' || l_wtm_user_desc_kana);
1034: --
1035: l_itw_system_desc1_kanji := rtrim(substrb(l_itw_system_desc1_kanji, 1, 240));
1028: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1029: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1030: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1031: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1032: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1033: hr_utility.trace('wtm_user_desc_kana : ' || l_wtm_user_desc_kana);
1034: --
1035: l_itw_system_desc1_kanji := rtrim(substrb(l_itw_system_desc1_kanji, 1, 240));
1036: l_itw_system_desc2_kanji := rtrim(substrb(l_itw_system_desc2_kanji, 1, 300));
1029: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1030: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1031: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1032: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1033: hr_utility.trace('wtm_user_desc_kana : ' || l_wtm_user_desc_kana);
1034: --
1035: l_itw_system_desc1_kanji := rtrim(substrb(l_itw_system_desc1_kanji, 1, 240));
1036: l_itw_system_desc2_kanji := rtrim(substrb(l_itw_system_desc2_kanji, 1, 300));
1037: l_itw_user_desc_kanji := rtrim(substrb(l_itw_user_desc_kanji, 1, 300));
1039: l_wtm_system_desc_kana := substr(l_wtm_system_desc_kana, 1, 100);
1040: l_wtm_user_desc_kanji := substr(l_wtm_user_desc_kanji, 1, 100);
1041: l_wtm_user_desc_kana := substr(l_wtm_user_desc_kana, 1, 100);
1042: --
1043: hr_utility.trace('***** truncated descriptions *****');
1044: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1045: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1046: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1047: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1040: l_wtm_user_desc_kanji := substr(l_wtm_user_desc_kanji, 1, 100);
1041: l_wtm_user_desc_kana := substr(l_wtm_user_desc_kana, 1, 100);
1042: --
1043: hr_utility.trace('***** truncated descriptions *****');
1044: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1045: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1046: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1047: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1048: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1041: l_wtm_user_desc_kana := substr(l_wtm_user_desc_kana, 1, 100);
1042: --
1043: hr_utility.trace('***** truncated descriptions *****');
1044: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1045: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1046: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1047: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1048: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1049: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1042: --
1043: hr_utility.trace('***** truncated descriptions *****');
1044: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1045: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1046: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1047: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1048: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1049: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1050: hr_utility.trace('wtm_user_desc_kana : ' || l_wtm_user_desc_kana);
1043: hr_utility.trace('***** truncated descriptions *****');
1044: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1045: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1046: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1047: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1048: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1049: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1050: hr_utility.trace('wtm_user_desc_kana : ' || l_wtm_user_desc_kana);
1051: /*
1044: hr_utility.trace('itw_system_desc1_kanji: ' || l_itw_system_desc1_kanji);
1045: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1046: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1047: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1048: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1049: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1050: hr_utility.trace('wtm_user_desc_kana : ' || l_wtm_user_desc_kana);
1051: /*
1052: --
1045: hr_utility.trace('itw_system_desc2_kanji: ' || l_itw_system_desc2_kanji);
1046: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1047: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1048: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1049: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1050: hr_utility.trace('wtm_user_desc_kana : ' || l_wtm_user_desc_kana);
1051: /*
1052: --
1053: -- If number of characters for WTM exceeds 100, output to log file
1046: hr_utility.trace('itw_user_desc_kanji : ' || l_itw_user_desc_kanji);
1047: hr_utility.trace('wtm_system_desc_kanji : ' || l_wtm_system_desc_kanji);
1048: hr_utility.trace('wtm_system_desc_kana : ' || l_wtm_system_desc_kana);
1049: hr_utility.trace('wtm_user_desc_kanji : ' || l_wtm_user_desc_kanji);
1050: hr_utility.trace('wtm_user_desc_kana : ' || l_wtm_user_desc_kana);
1051: /*
1052: --
1053: -- If number of characters for WTM exceeds 100, output to log file
1054: -- to warn to user.
1085: hr_jp_standard_pkg.to_table(l_wtm_user_desc_kana, 240, l_varchar2_tbl);
1086: l_other2_rec.action_information29 := get_index_at(l_varchar2_tbl, 1);
1087: l_other2_rec.action_information30 := get_index_at(l_varchar2_tbl, 2);
1088: --
1089: hr_utility.set_location(c_proc, 90);
1090: --
1091: -- Create the data
1092: --
1093: create_action_information(l_person_rec);
1109: l_archive_rec.action_context_id,
1110: l_archive_rec.effective_date);
1111: end loop;
1112: --
1113: hr_utility.set_location('Leaving: ' || c_proc, 100);
1114: END ARCHIVE_CODE;
1115: -- +------------------------------------------------------------------------------------------------+
1116: -- |< DEINITIALIZATION_CODE >-----------------------------------------------------------------------|
1117: -- +------------------------------------------------------------------------------------------------+
1140: from pay_action_information pai
1141: where pai.action_context_id = paa.assignment_action_id
1142: and pai.action_context_type = 'AAP');
1143: BEGIN
1144: hr_utility.set_location('Entering: ' || c_proc, 10);
1145: --
1146: open csr_pa_exists;
1147: fetch csr_pa_exists into l_dummy;
1148: if csr_pa_exists%notfound then
1145: --
1146: open csr_pa_exists;
1147: fetch csr_pa_exists into l_dummy;
1148: if csr_pa_exists%notfound then
1149: hr_utility.set_location(c_proc, 20);
1150: --
1151: initialization_code(p_payroll_action_id);
1152: --
1153: -- JP_ITAX_PACT
1173: for l_rec in csr_assacts loop
1174: py_rollback_pkg.rollback_ass_action(l_rec.assignment_action_id);
1175: end loop;
1176: --
1177: hr_utility.set_location('Leaving: ' || c_proc, 100);
1178: END DEINITIALIZATION_CODE;
1179: --
1180: END PAY_JP_ITAX_ARCHIVE_PKG;