[Home] [Help]
PACKAGE: APPS.IBY_FNDCPT_COMMON_PUB
Source
1 PACKAGE IBY_FNDCPT_COMMON_PUB AS
2 /*$Header: ibyfccms.pls 120.10.12010000.2 2008/11/21 09:50:15 cjain 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 );
80
81 TYPE TrxnContext_rec_type IS RECORD
82 (
83 Application_Id NUMBER,
84 Transaction_Type VARCHAR2(30),
85 Org_Type VARCHAR2(30),
86 Org_Id NUMBER,
87 Currency_Code VARCHAR2(15),
88 Payment_Amount NUMBER,
89 Payment_InstrType VARCHAR2(30)
90 );
91
92 TYPE ResultLimit_rec_type IS RECORD
93 (
94 Default_Flag VARCHAR2(1)
95 );
96
97 TYPE Result_rec_type IS RECORD
98 (
99 Result_Code VARCHAR2(30),
100 Result_Category VARCHAR2(30),
101 Result_Message VARCHAR2(2000)
102 );
103
104
105 TYPE Id_tbl_type IS TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER;
106
107 -------------------------------------------------------------------------------
108 -- III. Utility Functions
109 -------------------------------------------------------------------------------
110
111 --
112 -- Return: The party context level; if not a valid context then
113 -- G_RC_INVALID_PAYER is returned
114 --
115 FUNCTION Validate_Payer
116 (
117 p_payer IN PayerContext_rec_type,
118 p_val_level IN VARCHAR2
119 )
120 RETURN VARCHAR2;
121
122 --
123 -- Return: 'T' if the 2 payer contexts have equivalency
124 -- Note: Equivalent payers will always share the same party id
125 -- and payment function attributes; thus they are not passed in
126 -- as arguments and should be used in the condition of the SQL
127 -- query to limit the result set (and calls to this function)
128 --
129 FUNCTION Compare_Payer
130 (
131 p_payer_org_type IN iby_external_payers_all.org_type%TYPE,
132 p_payer_org_id IN iby_external_payers_all.org_id%TYPE,
133 p_payer_cust_acct_id IN iby_external_payers_all.cust_account_id%TYPE,
134 p_payer_acct_site_id IN iby_external_payers_all.acct_site_use_id%TYPE,
135 p_payer_level IN VARCHAR2,
136 p_equiv_type IN VARCHAR2,
137 p_compare_org_type IN iby_external_payers_all.org_type%TYPE,
138 p_compare_org_id IN iby_external_payers_all.org_id%TYPE,
139 p_compare_cust_acct_id IN iby_external_payers_all.cust_account_id%TYPE,
140 p_compare_acct_site_id IN iby_external_payers_all.acct_site_use_id%TYPE
141 )
142 RETURN VARCHAR2;
143
144 --
145 -- Purpose: Prepares various result out parameters based upon an API
146 -- result code
147 -- Args: x_result => Field result code must be set to a valid value
148 --
149 PROCEDURE Prepare_Result
150 (
151 p_interface_code IN VARCHAR2 := G_INTERFACE_CODE,
152 p_existing_msg IN VARCHAR2,
153 p_prev_msg_count IN NUMBER,
154 x_return_status OUT NOCOPY VARCHAR2,
155 x_msg_count OUT NOCOPY NUMBER,
156 x_msg_data OUT NOCOPY VARCHAR2,
157 x_result IN OUT NOCOPY Result_rec_type
158 );
159
160 --
161 -- Purpose: Prepares various result out parameters based upon an API
162 -- result code
163 -- Args: x_result => Field result code must be set to a valid value
164 --
165 PROCEDURE Prepare_Result
166 (
167 p_prev_msg_count IN NUMBER,
168 x_return_status OUT NOCOPY VARCHAR2,
169 x_msg_count OUT NOCOPY NUMBER,
170 x_msg_data OUT NOCOPY VARCHAR2,
171 x_result IN OUT NOCOPY Result_rec_type
172 );
173
174 --
175 -- Purpose: Gets the category of a particular interface result
176 --
177 FUNCTION Get_Result_Category
178 (p_result IN iby_result_codes.result_code%TYPE,
179 p_interface IN iby_result_codes.request_interface_code%TYPE)
180 RETURN iby_result_codes.result_category%TYPE;
181
182 PROCEDURE Clear_Msg_Stack( p_prev_msg_count IN NUMBER );
183
184 END IBY_FNDCPT_COMMON_PUB;