[Home] [Help]
PACKAGE: APPS.IBY_FNDCPT_COMMON_PUB
Source
1 PACKAGE IBY_FNDCPT_COMMON_PUB AUTHID CURRENT_USER AS
2 /*$Header: ibyfccms.pls 120.11.12020000.3 2012/10/15 20:46:30 dhati ship $*/
3
4
5 G_DEBUG_MODULE CONSTANT VARCHAR2(100) := 'iby.plsql.IBY_FNDCPT_COMMON';
6
7 G_INTERFACE_CODE CONSTANT VARCHAR2(30) := 'FNDCPT_PUB';
8
9 ------------------------------------------------------------------------
10 -- I. Constant Declarations
11 ------------------------------------------------------------------------
12
13 -- Payer context equivalency contants
14 --
15 G_PAYER_EQUIV_IMMEDIATE CONSTANT VARCHAR2(20) := 'IMMEDIATE';
16 G_PAYER_EQUIV_UPWARD CONSTANT VARCHAR2(20) := 'UPWARD';
17 G_PAYER_EQUIV_DOWNWARD CONSTANT VARCHAR2(20) := 'DOWNWARD';
18 G_PAYER_EQUIV_FULL CONSTANT VARCHAR2(20) := 'FULL';
19
20 -- Payer context levels
21 G_PAYER_LEVEL_PARTY CONSTANT VARCHAR2(30) := 'PARTY_LEVEL';
22 G_PAYER_LEVEL_CUSTOMER_ACCT CONSTANT VARCHAR2(30) := 'CUSTOMER_ACCT_LEVEL';
23 G_PAYER_LEVEL_CUSTOMER_SITE CONSTANT VARCHAR2(30) := 'CUSTOMER_SITE_LEVEL';
24
25
26 -- Result Categories
27 --
28 G_RCAT_SUCCESS CONSTANT VARCHAR2(30) := 'SUCCESS';
29 G_RCAT_SUCCESS_RISK CONSTANT VARCHAR2(30) := 'SUCCESS_WITH_RISK';
30 G_RCAT_PENDING CONSTANT VARCHAR2(30) := 'PENDING';
31 G_RCAT_SYS_ERROR CONSTANT VARCHAR2(30) := 'SYSTEM_ERROR';
32 G_RCAT_NOOP CONSTANT VARCHAR2(30) := 'OPERATION_UNSUPPORTED';
33 G_RCAT_INV_PARAM CONSTANT VARCHAR2(30) := 'INVALID_PARAM';
34 G_RCAT_INV_FLOW CONSTANT VARCHAR2(30) := 'INCORRECT_FLOW';
35 G_RCAT_FIN_ERROR CONSTANT VARCHAR2(30) := 'FINANCIAL_ERROR';
36 G_RCAT_DUP_REQ CONSTANT VARCHAR2(30) := 'DUPLICATE_REQUEST';
37 G_RCAT_DATA_CORRUPT CONSTANT VARCHAR2(30) := 'DATA_CORRUPTION';
38 G_RCAT_CONFIG_ERR CONSTANT VARCHAR2(30) := 'CONFIG_ERROR';
39 G_RCAT_CANCELLED CONSTANT VARCHAR2(30) := 'CANCELLED';
40
41
42 -- Result Codes
43 --
44 G_RC_SUCCESS CONSTANT VARCHAR2(30) := 'SUCCESS';
45 G_RC_INVALID_PAYER CONSTANT VARCHAR2(30) := 'INVALID_PARTY_CONTEXT';
46 G_RC_GENERIC_SYS_ERROR CONSTANT VARCHAR2(30) := 'GENERAL_SYS_ERROR';
47 G_RC_GENERIC_CONFIG_ERROR CONSTANT VARCHAR2(30) := 'GENERAL_CONFIG_ERROR';
48 G_RC_GENERIC_INVALID_PARAM CONSTANT VARCHAR2(30) := 'GENERAL_INVALID_PARAM';
49 G_RC_GENERIC_DATA_CORRUPTION CONSTANT VARCHAR2(30) := 'GENERAL_DATA_CORRUPTION';
50 G_RC_SETTLE_PENDING CONSTANT VARCHAR2(30) := 'SETTLEMENT_PENDING';
51
52
53 -- Lookups
54 --
55 G_LKUP_PMT_FUNCTION CONSTANT VARCHAR2(30) := 'IBY_PAYMENT_FUNCTIONS';
56
57 G_PMT_FUNCTION_CUST_PMT CONSTANT VARCHAR2(30) := 'CUSTOMER_PAYMENT';
58
59
60 G_INSTR_TYPE_CREDITCARD CONSTANT VARCHAR2(30) := 'CREDITCARD';
61 G_INSTR_TYPE_PAYMENTCARD CONSTANT VARCHAR2(30) := 'PAYMENTCARD';
62 G_INSTR_TYPE_BANKACCT CONSTANT VARCHAR2(30) := 'BANKACCOUNT';
63 G_INSTR_TYPE_MANUAL CONSTANT VARCHAR2(30) := 'MANUAL';
64
65
66 -------------------------------------------------------------------------
67 -- II. Common Record Types
68 -------------------------------------------------------------------------
69
70
71 TYPE PayerContext_rec_type IS RECORD
72 (
73 Payment_Function VARCHAR2(30),
74 Party_Id NUMBER,
75 Org_Type VARCHAR2(30),
76 Org_Id NUMBER,
77 Cust_Account_Id NUMBER,
78 Account_Site_Id NUMBER,
79 Debit_Advice_Delivery_Method VARCHAR2(30),
80 Debit_Advice_Email VARCHAR2(255),
81 Debit_Advice_Fax VARCHAR2(100)
82 );
83
84 TYPE TrxnContext_rec_type IS RECORD
85 (
86 Application_Id NUMBER,
87 Transaction_Type VARCHAR2(30),
88 Org_Type VARCHAR2(30),
89 Org_Id NUMBER,
90 Currency_Code VARCHAR2(15),
91 Payment_Amount NUMBER,
92 Payment_InstrType VARCHAR2(30)
93 );
94
95 TYPE ResultLimit_rec_type IS RECORD
96 (
97 Default_Flag VARCHAR2(1)
98 );
99
100 TYPE Result_rec_type IS RECORD
101 (
102 Result_Code VARCHAR2(30),
103 Result_Category VARCHAR2(30),
104 Result_Message VARCHAR2(2000)
105 );
106
107
108 TYPE Id_tbl_type IS TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER;
109
110 -------------------------------------------------------------------------------
111 -- III. Utility Functions
112 -------------------------------------------------------------------------------
113
114 --
115 -- Return: The party context level; if not a valid context then
116 -- G_RC_INVALID_PAYER is returned
117 --
118 FUNCTION Validate_Payer
119 (
120 p_payer IN PayerContext_rec_type,
121 p_val_level IN VARCHAR2
122 )
123 RETURN VARCHAR2;
124
125 --
126 -- Return: 'T' if the 2 payer contexts have equivalency
127 -- Note: Equivalent payers will always share the same party id
128 -- and payment function attributes; thus they are not passed in
129 -- as arguments and should be used in the condition of the SQL
130 -- query to limit the result set (and calls to this function)
131 --
132 FUNCTION Compare_Payer
133 (
134 p_payer_org_type IN iby_external_payers_all.org_type%TYPE,
135 p_payer_org_id IN iby_external_payers_all.org_id%TYPE,
136 p_payer_cust_acct_id IN iby_external_payers_all.cust_account_id%TYPE,
137 p_payer_acct_site_id IN iby_external_payers_all.acct_site_use_id%TYPE,
138 p_payer_level IN VARCHAR2,
139 p_equiv_type IN VARCHAR2,
140 p_compare_org_type IN iby_external_payers_all.org_type%TYPE,
141 p_compare_org_id IN iby_external_payers_all.org_id%TYPE,
142 p_compare_cust_acct_id IN iby_external_payers_all.cust_account_id%TYPE,
143 p_compare_acct_site_id IN iby_external_payers_all.acct_site_use_id%TYPE
144 )
145 RETURN VARCHAR2;
146
147 --
148 -- Purpose: Prepares various result out parameters based upon an API
149 -- result code
150 -- Args: x_result => Field result code must be set to a valid value
151 --
152 PROCEDURE Prepare_Result
153 (
154 p_interface_code IN VARCHAR2 := G_INTERFACE_CODE,
155 p_existing_msg IN VARCHAR2,
156 p_prev_msg_count IN NUMBER,
157 x_return_status OUT NOCOPY VARCHAR2,
158 x_msg_count OUT NOCOPY NUMBER,
159 x_msg_data OUT NOCOPY VARCHAR2,
160 x_result IN OUT NOCOPY Result_rec_type
161 );
162
163 --
164 -- Purpose: Prepares various result out parameters based upon an API
165 -- result code
166 -- Args: x_result => Field result code must be set to a valid value
167 --
168 PROCEDURE Prepare_Result
169 (
170 p_prev_msg_count IN NUMBER,
171 x_return_status OUT NOCOPY VARCHAR2,
172 x_msg_count OUT NOCOPY NUMBER,
173 x_msg_data OUT NOCOPY VARCHAR2,
174 x_result IN OUT NOCOPY Result_rec_type
175 );
176
177 --
178 -- Purpose: Gets the category of a particular interface result
179 --
180 FUNCTION Get_Result_Category
181 (p_result IN iby_result_codes.result_code%TYPE,
182 p_interface IN iby_result_codes.request_interface_code%TYPE)
183 RETURN iby_result_codes.result_category%TYPE;
184
185 PROCEDURE Clear_Msg_Stack( p_prev_msg_count IN NUMBER );
186
187 END IBY_FNDCPT_COMMON_PUB;