DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_JP_MAGTAPE_FORMAT_PKG

Source


1 package body pay_jp_magtape_format_pkg as
2 /* $Header: payjpmgf.pkb 120.0 2005/05/29 02:38:11 appldev noship $ */
3 --
4 -- Global variables.
5 --
6 g_bank_code		pay_jp_banks.bank_code%TYPE;
7 g_transaction_type	hr_lookups.lookup_code%TYPE;
8 --------------------------------------------------------------------------------
9 function header_record(
10 	p_data	in pay_jp_magtape_pkg.header) return varchar2
11 --------------------------------------------------------------------------------
12 is
13 begin
14 	--
15 	-- Set global variable G_BANK_CODE and G_TRANSACTION_TYPE.
16 	--
17 	g_bank_code		:= p_data.bank_code;
18 	g_transaction_type	:= p_data.transaction_type;
19 	--
20 	-- When source account is post office, not bank.
21 	--
22 	if g_bank_code = '9900' then
23 		return	'1' ||
24 			p_data.transaction_type ||
25 			' ' ||
26 /* Bug#2657901          p_data.character_set_code || */
27 			p_data.company_code ||
28 			rpad(p_data.company_name,40,' ') ||
29 			to_char(p_data.direct_deposit_date,'MMDD') ||
30 			p_data.bank_code ||
31 			rpad(p_data.bank_name_kana,15,' ') ||
32 			rpad(' ',20,' ') ||
33 			substr(p_data.account_number,-6,6) ||
34 			rpad(' ',17,' ');
35 	--
36 	-- When source account is bank.
37 	--
38 	else
39 		return	'1' ||
40 			p_data.transaction_type ||
41 			p_data.character_set_code ||
42 			p_data.company_code ||
43 			rpad(p_data.company_name,40,' ') ||
44 			to_char(p_data.direct_deposit_date,'MMDD') ||
45 			p_data.bank_code ||
46 			rpad(p_data.bank_name_kana,15,' ') ||
47 			p_data.branch_code ||
48 			rpad(p_data.branch_name_kana,15,' ') ||
49 			p_data.account_type ||
50 			p_data.account_number ||
51 			rpad(' ',17,' ');
52 	end if;
53 end header_record;
54 --------------------------------------------------------------------------------
55 function data_record(
56 	p_data	in pay_jp_magtape_pkg.data) return varchar2
57 --------------------------------------------------------------------------------
58 is
59 begin
60 	--
61 	-- When source account is post office, not bank.
62 	--
63 	if g_bank_code = '9900' then
64 		return	'2' ||
65 			p_data.bank_code ||
66 			rpad(p_data.bank_name_kana,15,' ') ||
67 			p_data.branch_code ||
68 			rpad(' ',17,' ') ||
69 			g_transaction_type ||
70 			' ' ||
71 			p_data.account_number ||
72 			rpad(p_data.account_name,30,' ') ||
73 			to_char(p_data.payment,'FM0000000000') ||
74 			lpad(' ',30,' ');
75 	--
76 	-- When source account is bank.
77 	--
78 	else
79 		if g_transaction_type = 21 then
80 			return	'2' ||
81 				p_data.bank_code ||
82 				rpad(p_data.bank_name_kana,15,' ') ||
83 				p_data.branch_code ||
84 				rpad(p_data.branch_name_kana,15,' ') ||
85 				rpad(' ',4,' ') ||
86 				p_data.account_type ||
87 				p_data.account_number ||
88 				rpad(p_data.account_name,30,' ') ||
89 				to_char(p_data.payment,'FM0000000000') ||
90 				'0' ||
91 				lpad('0',20,'0') ||
92 				' ' ||
93 				' ' ||
94 				rpad(' ',7,' ');
95 		else
96 			return	'2' ||
97 				p_data.bank_code ||
98 				rpad(p_data.bank_name_kana,15,' ') ||
99 				p_data.branch_code ||
100 				rpad(p_data.branch_name_kana,15,' ') ||
101 				rpad(' ',4,' ') ||
102 				p_data.account_type ||
103 				p_data.account_number ||
104 				rpad(p_data.account_name,30,' ') ||
105 				to_char(p_data.payment,'FM0000000000') ||
106 				'0' ||
107 				lpad('0',20,'0') ||
108 				rpad(' ',9,' ');
109 		end if;
110 	end if;
111 end data_record;
112 --------------------------------------------------------------------------------
113 function trailer_record(
114 	p_data	in pay_jp_magtape_pkg.trailer) return varchar2
115 --------------------------------------------------------------------------------
116 is
117 begin
118 	--
119 	-- When source account is post office, not bank.
120 	--
121 	if g_bank_code = '9900' then
122 		return	'8' ||
123 			to_char(p_data.total_count,'FM000000') ||
124 			to_char(p_data.total_payment,'FM000000000000') ||
125 			rpad(' ',36,' ') ||
126 			lpad('0',6,'0') ||
127 			rpad(' ',59,' ');
128 	--
129 	-- When source account is bank.
130 	--
131 	else
132 		return	'8' ||
133 			to_char(p_data.total_count,'FM000000') ||
134 			to_char(p_data.total_payment,'FM000000000000') ||
135 			rpad(' ',101,' ');
136 	end if;
137 end trailer_record;
138 --------------------------------------------------------------------------------
139 function end_record return varchar2
140 --------------------------------------------------------------------------------
141 is
142 begin
143 	return	'9' ||
144 		rpad(' ',119,' ');
145 end end_record;
146 --
147 end pay_jp_magtape_format_pkg;