DBA Data[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;