DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_MAG_TAPE

Source


1 package body pay_mag_tape as
2 /* $Header: pymagtpe.pkb 120.8.12010000.1 2008/07/27 23:09:00 appldev ship $ */
3   procedure run_proc(comm in varchar2)
4    is
5    sql_curs number;
6    rows_processed integer;
7    statem varchar2(256);
8   begin
9     statem := 'BEGIN '||comm||'; END;';
10     sql_curs := dbms_sql.open_cursor;
11     dbms_sql.parse(sql_curs,
12                    statem,
13                    dbms_sql.v7);
14     rows_processed := dbms_sql.execute(sql_curs);
15     dbms_sql.close_cursor(sql_curs);
16   exception
17       when no_data_found then
18          dbms_sql.close_cursor(sql_curs);
19          raise;
20   end;
21 
22 
23   procedure run_xml_proc(comm in varchar2,
24                          source_id in number,
25                          source_type in varchar2,
26                          file_name in varchar2,
27                          sequence in number)
28    is
29    sql_curs number;
30    rows_processed integer;
31    statem varchar2(256);
32    l_source_type varchar2(30);
33    l_source_id number;
34   begin
35 
36 
37 
38      pay_core_files.open_file
39                     (
40                      p_source_id     => source_id,
41                      p_source_type   => source_type,
42                      p_file_location => file_name,
43                      p_file_type     => 'XML',
44                      p_int_file_name     => 'MAGFILE',
45                      p_sequence      => sequence,
46                      p_file_id       => pay_mag_tape.g_blob_file_id
47                     );
48 
49     select blob_file_fragment
50     into g_blob_value
51     from pay_file_details
52     where file_detail_id = pay_mag_tape.g_blob_file_id;
53 
54     statem := 'BEGIN '||comm||'; END;';
55     sql_curs := dbms_sql.open_cursor;
56     dbms_sql.parse(sql_curs,
57                    statem,
58                    dbms_sql.v7);
59     rows_processed := dbms_sql.execute(sql_curs);
60     dbms_sql.close_cursor(sql_curs);
61 
62       pay_core_files.close_file ( p_file_id       => pay_mag_tape.g_blob_file_id);
63 
64   end;
65 
66 
67 procedure call_leg_xml_proc
68 is
69 
70 pactid number;
71 seq number;
72 mag_block number;
73 leg_code varchar2(30);
74 rep_grp number;
75 proc_name varchar2(250);
76 sql_curs number;
77 rows_processed integer;
78 statem varchar2(256);
79 
80 begin
81 
82 /* get payroll_action,report_group,record_id,legislation_code */
83 pactid:=pay_magtape_generic.get_parameter_value('TRANSFER_PAYROLL_ACTION_ID');
84 if (pactid is NULL)
85 then
86 pactid:=pay_magtape_generic.get_parameter_value('PAYROLL_ACTION_ID');
87 end if;
88 seq:=pay_magtape_generic.get_parameter_value('rec_sequence');
89 mag_block:=pay_magtape_generic.get_parameter_value('magnetic_block_id');
90 
91 
92 select grp.legislation_code,prg.report_group_id
93 into leg_code ,rep_grp
94 from pay_payroll_actions ppa,pay_report_groups prg,per_business_groups_perf grp
95 where ppa.payroll_action_id=pactid
96 and grp.business_group_id=ppa.business_group_id
97 and  pay_core_utils.get_parameter('REP_GROUP', ppa.legislative_parameters)=prg.short_name;
98 
99 
100 /* retrieve procedure */
101 select procedure_name
102 into proc_name
103 from pay_report_magnetic_procedures
104 where  magnetic_block_id=mag_block
105 and sequence=seq
106 and rep_grp=report_group_id
107 and legislation_code=leg_code;
108 
109 /* call procedure */
110     statem := 'BEGIN '||proc_name||'; END;';
111     sql_curs := dbms_sql.open_cursor;
112     dbms_sql.parse(sql_curs,
113                    statem,
114                    dbms_sql.v7);
115     rows_processed := dbms_sql.execute(sql_curs);
116     dbms_sql.close_cursor(sql_curs);
117 
118 EXCEPTION
119   WHEN NO_DATA_FOUND THEN
120     return;
121 end;
122 end pay_mag_tape;