1 PACKAGE ZX_TPI_SERVICES_PKG AUTHID CURRENT_USER AS
2 /* $Header: zxiftpisrvcpkgs.pls 120.13.12010000.2 2009/04/01 13:07:24 tsen ship $ */
3 /* ======================================================================*
4 | Global Data Types |
5 * ======================================================================*/
6
7 /* Bug 5515283: To determine if provider is applicable (get_service_subscriber procedure) for a given regime,
8 we are currently looping over the detail tax lines since it returns the regimes applicable
9 for a transaction line. In order to avoid unwanted multiple calls to the procedure for same regime
10 we are storing hit regimes in a temporary structure*/
11 TYPE tax_regime_prvdr_rec_type is record(
12 srvc_provider_id zx_srvc_subscriptions.SRVC_PROVIDER_ID%type,
13 application_id zx_lines.application_id%type,
14 entity_code zx_lines.entity_code%type,
15 event_class_code zx_lines.event_class_code%type,
16 first_pty_org_id zx_party_tax_profile.party_tax_profile_id%type,
17 tax_regime_code zx_regimes_b.tax_regime_code%type
18 );
19 TYPE tax_regime_tmp_tbl_type is table of tax_regime_prvdr_rec_type index by BINARY_INTEGER;
20 tax_regime_tmp_tbl tax_regime_tmp_tbl_type;
21
22
23 /* ==============================================*
24 | Procedure definition |
25 * ==============================================*/
26
27 PROCEDURE popl_pvrdr_info_tax_reg_tbl (
28 p_event_class_rec IN ZX_API_PUB.event_class_rec_type,
29 p_trx_line_index IN BINARY_INTEGER,
30 x_return_status OUT NOCOPY VARCHAR2
31 ) ;
32
33 PROCEDURE derive_ext_attrs (
34 p_event_class_rec IN ZX_API_PUB.event_class_rec_type,
35 p_tax_regime_code IN VARCHAR2,
36 p_provider_id IN NUMBER,
37 p_service_type_code IN VARCHAR2,
38 x_return_status OUT NOCOPY VARCHAR2
39 );
40
41 PROCEDURE partner_pre_processing(
42 p_tax_regime_id IN NUMBER,
43 p_tax_regime_code IN VARCHAR2,
44 p_tax_provider_id IN NUMBER,
45 p_ptnr_processing_flag IN VARCHAR2,
46 p_event_class_rec IN ZX_API_PUB.event_class_rec_type,
47 x_return_status OUT NOCOPY VARCHAR2
48 );
49
50
51 PROCEDURE call_partner_service(
52 p_tax_regime_code IN VARCHAR2,
53 p_tax_provider_id IN NUMBER,
54 p_service_type_code IN VARCHAR2,
55 p_event_class_rec IN ZX_API_PUB.event_class_rec_type,
56 x_return_status OUT NOCOPY VARCHAR2
57 );
58
59 PROCEDURE ptnr_post_processing_calc_tax(
60 p_tax_regime_code IN VARCHAR2,
61 p_tax_provider_id IN NUMBER,
62 p_event_class_rec IN ZX_API_PUB.event_class_rec_type,
63 x_return_status OUT NOCOPY VARCHAR2
64 );
65
66 PROCEDURE ptnr_post_proc_sync_tax(
67 p_tax_regime_code IN VARCHAR2,
68 p_tax_provider_id IN NUMBER,
69 p_event_class_rec IN ZX_API_PUB.event_class_rec_type,
70 x_return_status OUT NOCOPY VARCHAR2
71 );
72
73 /* Table handler routines to insert/update/delete on zx_trx_line_app_Regimes*/
74 PROCEDURE trx_line_app_regimes_tbl_hdl(
75 p_event_class_rec IN ZX_API_PUB.event_class_rec_type,
76 p_event IN VARCHAR2,
77 p_tax_regime_code IN VARCHAR2,
78 p_provider_id IN NUMBER,
79 p_trx_line_id IN NUMBER,
80 p_trx_level_type IN VARCHAR2,
81 x_return_status OUT NOCOPY VARCHAR2
82 );
83
84
85 PROCEDURE get_service_provider (
86 p_application_id IN NUMBER,
87 p_entity_code IN VARCHAR2,
88 p_event_class_code IN VARCHAR2,
89 p_tax_regime_code IN VARCHAR2,
90 x_provider_id OUT NOCOPY NUMBER,
91 x_return_status OUT NOCOPY VARCHAR2
92 );
93
94 /*Overloaded version of above*/
95 PROCEDURE get_service_provider(
96 p_tax_regime_code IN VARCHAR2,
97 x_provider_id OUT NOCOPY NUMBER,
98 x_return_status OUT NOCOPY VARCHAR2
99 );
100
101 FUNCTION get_incl_tax_amt (
102 p_application_id IN NUMBER,
103 p_entity_code IN VARCHAR2,
104 p_event_class_code IN VARCHAR2,
105 p_trx_id IN NUMBER,
106 p_trx_line_id IN NUMBER,
107 p_trx_level_type IN VARCHAR2,
108 p_tax_provider_id IN NUMBER
109 )RETURN NUMBER;
110
111 END ZX_TPI_SERVICES_PKG;