[Home] [Help]
PACKAGE BODY: APPS.PAY_PAYJPSDD_XMLP_PKG
Source
1 PACKAGE BODY PAY_PAYJPSDD_XMLP_PKG AS
2 /* $Header: PAYJPSDDB.pls 120.2 2008/04/04 11:12:41 amakrish noship $ */
3
4 function BeforeReport return boolean is
5 l_date_era_code NUMBER;
6 l_date_year NUMBER;
7 l_date_month NUMBER;
8 l_date_day NUMBER;
9 l_element_type_id NUMBER;
10 l_legislation_code PER_BUSINESS_GROUPS.LEGISLATION_CODE%TYPE;
11 begin
12 P_PREPARE_DATE_1 := to_char(P_PREPARE_DATE, 'YYYY/MM/DD');
13 --hr_standard.event('BEFORE REPORT');
14 G_REC_COUNT :=0;
15 G_FD_COUNT :=0;
16 G_FD_SERIAL_NUMBER :=0;
17 G_COUNT_OF_RECORD :=0;
18 G_HEADER_OUT :=0;
19
20 CP_REPORT_TITLE := 'Notification of Disqualification Checklist';
21 P_CONC_REQUEST_ID := FND_GLOBAL.conc_request_id;
22 if P_FILE_NAME is NULL then
23 g_magfile_name := 'd' || lpad(to_char(P_CONC_REQUEST_ID - trunc(P_CONC_REQUEST_ID,-7)),7,'0') || '.mf';
24 else
25 g_magfile_name := P_FILE_NAME;
26 end if;
27
28 pay_jp_report_pkg.to_era( P_PREPARE_DATE,
29 l_date_era_code,
30 l_date_year,
31 l_date_month,
32 l_date_day);
33 l_date_year := l_date_year - trunc(l_date_year,-2);
34 G_PREPARE_DATE_YEAR := lpad(to_char(l_date_year),2,'0');
35 G_PREPARE_DATE_MONTH := lpad(to_char(l_date_month),2,'0');
36 G_PREPARE_DATE_DAY := lpad(to_char(l_date_day),2,'0');
37 l_legislation_code := pay_jp_balance_pkg.get_legislation_code(P_BUSINESS_GROUP_ID);
38 l_element_type_id := pay_jp_balance_pkg.get_element_type_id('COM_SI_INFO',P_BUSINESS_GROUP_ID,l_legislation_code);
39 G_BASIC_PENSION_NUMBER_IV_ID := pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'BASIC_PENSION_NUM');
40 l_element_type_id := pay_jp_balance_pkg.get_element_type_id('COM_WP_QUALIFY_INFO',P_BUSINESS_GROUP_ID,l_legislation_code);
41 G_DISQUALIFIED_STATUS_IV_ID := pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'DISQUALIFY_CAUSE');
42 l_element_type_id := pay_jp_balance_pkg.get_element_type_id('COM_WP_SMR_INFO',P_BUSINESS_GROUP_ID,l_legislation_code);
43 G_WP_COMP_DATE_APPLIED_IV_ID := pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'APPLY_MTH');
44 G_WP_NEW_COMP_IV_ID := pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'REVISED_SMR');
45 G_WP_OLD_COMP_IV_ID := pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'PRIOR_SMR');
46 G_WP_NEW_SALARY_IV_ID := pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'REVISED_MR');
47 G_WP_OLD_SALARY_IV_ID := pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'PRIOR_MR');
48 return (TRUE);
49 end;
50
51 function cf_emp_recordformula (TOTAL_REC in number, ASSIGNMENT_ID in number, EFFECTIVE_DATE in date, WP_NUMBER in varchar2, DATE_OF_BIRTH in date) return number is
52 l_date_applied VARCHAR2(6);
53 l_wp_std_monthly_comp VARCHAR2(38);
54 l_iv_id NUMBER;
55 l_sal_iv_id NUMBER;
56 l_emp_failure_item VARCHAR2(100);
57
58 begin
59 G_REC_COUNT := G_REC_COUNT + 1;
60
61 if G_FD_COUNT <> trunc((G_REC_COUNT -1)/5000)+1 then
62 G_FD_COUNT := trunc((G_REC_COUNT -1)/5000)+1;
63 if G_FD_SERIAL_NUMBER = 0 then
64 G_FD_SERIAL_NUMBER := P_FD_SERIAL_NUMBER;
65 CP_MAGFILE_NAME := g_magfile_name;
66 else
67 G_FD_SERIAL_NUMBER := G_FD_SERIAL_NUMBER + 1;
68 if G_FD_SERIAL_NUMBER > 999 then
69 G_FD_SERIAL_NUMBER := 1;
70 end if;
71 CP_MAGFILE_NAME := CP_MAGFILE_NAME || ', ' || g_magfile_name || to_char(G_FD_COUNT);
72 end if;
73
74 if G_FD_COUNT*5000 <= TOTAL_REC then
75 G_COUNT_OF_RECORD := G_FD_COUNT*5000 - (G_FD_COUNT-1)*5000;
76 else
77 G_COUNT_OF_RECORD := TOTAL_REC - (G_FD_COUNT-1)*5000;
78 end if;
79
80 end if;
81
82 CP_RECORD_NUMBER := G_REC_COUNT - (G_FD_COUNT -1)*5000;
83 CP_COUNT_OF_RECORD := G_COUNT_OF_RECORD;
84 CP_FD_SERIAL_NUMBER := lpad(to_char(G_FD_SERIAL_NUMBER ),3,'0');
85 CP_FD_COUNT := G_FD_COUNT;
86
87 CP_BASIC_PENSION_NUMBER := pay_jp_report_pkg.substrb2(pay_jp_balance_pkg.get_entry_value_char(g_basic_pension_number_iv_id,ASSIGNMENT_ID,EFFECTIVE_DATE),1,10);
88
89 CP_DISQUALIFIED_STATUS_CODE := pay_jp_balance_pkg.get_entry_value_char(g_disqualified_status_iv_id,ASSIGNMENT_ID,EFFECTIVE_DATE);
90 CP_DISQUALIFIED_STATUS := hr_general.decode_lookup('JP_WP_DISQUALIFIED_STATUS',CP_DISQUALIFIED_STATUS_CODE);
91
92 CP_WP_STD_MONTHLY_COMP := NULL;
93 CP_WP_SALARY := NULL;
94
95 l_date_applied := nvl(pay_jp_balance_pkg.get_entry_value_char(g_wp_comp_date_applied_iv_id,ASSIGNMENT_ID,EFFECTIVE_DATE),'000101');
96 if to_number(to_char(EFFECTIVE_DATE,'YYYYMM')) - to_number(l_date_applied) < 0 then
97 l_iv_id := G_WP_OLD_COMP_IV_ID;
98 l_sal_iv_id := G_WP_OLD_SALARY_IV_ID;
99 else
100 l_iv_id := G_WP_NEW_COMP_IV_ID;
101 l_sal_iv_id := G_WP_NEW_SALARY_IV_ID;
102 end if;
103 l_wp_std_monthly_comp := pay_jp_report_pkg.substrb2(to_char(pay_jp_balance_pkg.get_entry_value_number(l_iv_id,ASSIGNMENT_ID,EFFECTIVE_DATE)),1,38);
104 if nvl(l_wp_std_monthly_comp,' ') <> ' ' then
105 CP_WP_STD_MONTHLY_COMP := lpad(to_char(floor(to_number(l_wp_std_monthly_comp)/1000)),4,'0');
106 end if;
107 CP_WP_SALARY := nvl(pay_jp_balance_pkg.get_entry_value_number(l_sal_iv_id,ASSIGNMENT_ID,EFFECTIVE_DATE),0);
108
109 l_emp_failure_item := ' ';
110
111 if nvl(WP_NUMBER,' ') = ' ' then
112 l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY','PAY_JP_INS_SERIAL_NUM');
113 end if;
114 if nvl(to_char(DATE_OF_BIRTH),' ') = ' ' then
115 l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY','HR_JP_DATE_OF_BIRTH');
116 end if;
117 if nvl(CP_DISQUALIFIED_STATUS_CODE,' ') = ' ' then
118 l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY','PAY_JP_DISQUALIFY_CAUSE');
119 end if;
120 if nvl(CP_WP_STD_MONTHLY_COMP,' ') = ' ' then
121 l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY','PAY_JP_SMR');
122 end if;
123 CP_EMP_FAILURE_ITEM := l_emp_failure_item;
124 return('');
125 end;
126
127 function AfterReport return boolean is
128 begin
129 -- file_io.close_magfile;
130 -- hr_standard.event('AFTER REPORT');
131 return (TRUE);
132 end;
133
134 --Functions to refer Oracle report placeholders--
135
136 Function CP_BASIC_PENSION_NUMBER_p return varchar2 is
137 Begin
138 return CP_BASIC_PENSION_NUMBER;
139 END;
140 Function CP_DISQUALIFIED_STATUS_p return varchar2 is
141 Begin
142 return CP_DISQUALIFIED_STATUS;
143 END;
144 Function CP_DISQUALIFIED_STATUS_CODE_p return varchar2 is
145 Begin
146 return CP_DISQUALIFIED_STATUS_CODE;
147 END;
148 Function CP_WP_STD_MONTHLY_COMP_p return varchar2 is
149 Begin
150 return CP_WP_STD_MONTHLY_COMP;
151 END;
152 Function CP_WP_SALARY_p return number is
153 Begin
154 return CP_WP_SALARY;
155 END;
156 Function CP_EMP_FAILURE_ITEM_p return varchar2 is
157 Begin
158 return CP_EMP_FAILURE_ITEM;
159 END;
160 Function CP_RECORD_NUMBER_p return number is
161 Begin
162 return CP_RECORD_NUMBER;
163 END;
164 Function CP_COUNT_OF_RECORD_p return number is
165 Begin
166 return CP_COUNT_OF_RECORD;
167 END;
168 Function CP_FD_COUNT_p return number is
169 Begin
170 return CP_FD_COUNT;
171 END;
172 Function CP_FD_SERIAL_NUMBER_p return varchar2 is
173 Begin
174 return CP_FD_SERIAL_NUMBER;
175 END;
176 Function CP_REPORT_TITLE_p return varchar2 is
177 Begin
178 return CP_REPORT_TITLE;
179 END;
180 Function CP_MAGFILE_NAME_p return varchar2 is
181 Begin
182 return CP_MAGFILE_NAME;
183 END;
184 END PAY_PAYJPSDD_XMLP_PKG ;