1 PACKAGE PA_TRX_IMPORT AUTHID CURRENT_USER AS
2 /* $Header: PAXTTRXS.pls 120.15.12020000.4 2013/04/05 07:03:22 rboyalap ship $ */
3 /*#
4 * Oracle Projects provides a single open interface, called Transaction Import.
5 * These procedures are called before and after the Transaction Import interface process.
6 * @rep:scope public
7 * @rep:product PA
8 * @rep:lifecycle active
9 * @rep:displayname Post-import{Transaction import}.
10 * @rep:compatibility S
11 * @rep:category BUSINESS_ENTITY PA_PROJECT
12 * @rep:category BUSINESS_ENTITY PA_PROJ_COST
13 * @rep:doccd 120pjapi.pdf See the Oracle Projects API's, Client Extensions, and Open Interfaces Reference
17
14 */
15 -- BUG: 4600792 PQE: R12 CHANGE AWARD END WHEN ENCUMBRANCE EXISTS, IMPORT ENC REVERSALS FOR CLOSE
16 G_validate_proj_tsk_Ei_Date VARCHAR2 (1) := 'Y';
18 G_cash_based_accounting VARCHAR2 (1); /* REL12 */
19 --Identifier which is set to 'Y' if cash basis accounting is setup.
20 -- REL12 AP Lines Uptake-- Cash based accounting support--
21
22 G_finalPaymentID NUMBER;
23
24 --
25 -- Bug : 4962731
26 -- : R12.PJ:XB1:QA:BC:INCORRECT AMOUNTS INTERFACED TO PROJECTS IN CASH BASED ACC
27 -- Functionality :
28 -- Discount is applicable when discount method is EXPENSE
29 -- Discount is applicable for tax distributions when discount method is TAX
30 -- Discount is not applicable when discount method is 'SYSTEM'
31 -- Discount is also based on the discount profile start date
32 -- ap payment record includes the discount amount and we do not need to interface
33 -- discount record because we are interfacing the payments.
34 -- But we need to relieve corresponding inv dist amount paid to relieve the ap commitment amount.
35 -- ap amount to relieve := payment amunt + discount amount (when applicable).
36 -- ====================================================================================================
37 G_Discount_Method VARCHAR2(10);
38 G_Profile_Discount_Start_date DATE;
39
40 PROCEDURE GetTrxSrcInfo (X_trx_src IN VARCHAR2);
41
42 PROCEDURE GetEtypeInfo (X_etype IN VARCHAR2,
43 X_date IN DATE);
44
45 PROCEDURE GetNlrInfo (X_nlr IN VARCHAR2,
46 X_nlro_id IN NUMBER);
47
48 PROCEDURE CheckDupItem (X_trx_source IN VARCHAR2,
49 X_trx_ref IN VARCHAR2,
50 X_status OUT NOCOPY VARCHAR2);
51
52 PROCEDURE CheckDupAdjItem (X_adj_item_id IN NUMBER,
53 X_status OUT NOCOPY VARCHAR2);
54
55 --SST Changes modified procedure name from GetProjBcostFlag to
56 -- GetProjTypeInfo, also added project type class parameter.
57
58 PROCEDURE GetProjTypeInfo (X_project_id IN NUMBER,
59 X_proj_bcost_flag OUT NOCOPY VARCHAR2,
60 X_proj_type_class OUT NOCOPY VARCHAR2,
61 X_burden_amt_display_method OUT NOCOPY VARCHAR2,
62 X_Total_Burden_Flag OUT NOCOPY VARCHAR2);
63
64 FUNCTION CheckCCID (ccid NUMBER) RETURN NUMBER;
65 --pragma RESTRICT_REFERENCES (CheckCCID, WNDS, WNPS);
66
67 /* Added the function below for bug number 1254143. Bug 1426802 changed NUMBER TO VARCHAR2(30) */
68 FUNCTION GetOrgName (employee_number VARCHAR2,
69 expenditure_item_date DATE,
70 business_group_name IN VARCHAR2,
71 person_type IN varchar2 default NULL)
72 RETURN VARCHAR2;
73 --pragma RESTRICT_REFERENCES (GetOrgName, WNDS, WNPS);
74
75 PROCEDURE Validate_VI (X_vendor_number IN VARCHAR2 DEFAULT NULL,
76 X_employee_number IN VARCHAR2 DEFAULT NULL,
77 X_result OUT NOCOPY NUMBER,
78 X_status OUT NOCOPY VARCHAR2);
79
80
81 PROCEDURE ValidateItem (X_trx_src IN VARCHAR2,
82 X_enum IN VARCHAR2,
83 X_oname IN VARCHAR2,
84 X_end_date IN DATE,
85 X_ei_date IN DATE,
86 X_etype IN VARCHAR2,
87 X_pnum IN VARCHAR2,
88 X_tnum IN VARCHAR2,
89 X_nlr IN VARCHAR2,
90 X_nlro_name IN VARCHAR2,
91 X_qty IN NUMBER,
92 X_denom_raw_cost IN OUT NOCOPY NUMBER, /*10357604 */
93 X_module IN VARCHAR2,
94 X_trx_ref IN VARCHAR2,
95 X_match_flag IN VARCHAR2,
96 X_entered_by IN NUMBER,
97 X_att_cat IN VARCHAR2,
98 X_att1 IN OUT NOCOPY VARCHAR2,
99 X_att2 IN OUT NOCOPY VARCHAR2,
100 X_att3 IN OUT NOCOPY VARCHAR2,
101 X_att4 IN OUT NOCOPY VARCHAR2,
102 X_att5 IN OUT NOCOPY VARCHAR2,
103 X_att6 IN OUT NOCOPY VARCHAR2,
104 X_att7 IN OUT NOCOPY VARCHAR2,
105 X_att8 IN OUT NOCOPY VARCHAR2,
106 X_att9 IN OUT NOCOPY VARCHAR2,
107 X_att10 IN OUT NOCOPY VARCHAR2,
108 X_drccid IN NUMBER,
109 X_crccid IN NUMBER,
110 X_gl_date IN OUT NOCOPY DATE -- bug 3357936 change param to in out,
111 , X_denom_burdened_cost IN OUT NOCOPY NUMBER,
112 X_system_linkage IN VARCHAR2,
113 X_status OUT NOCOPY VARCHAR2,
114 X_bill_flag OUT NOCOPY VARCHAR2,
115 X_receipt_currency_amount IN NUMBER default null,
116 X_receipt_currency_code IN VARCHAR2 default NULL,
117 X_receipt_exchange_rate IN OUT NOCOPY NUMBER,
118 X_denom_currency_code IN OUT NOCOPY VARCHAR2,
119 X_acct_rate_date IN OUT NOCOPY DATE,
120 X_acct_rate_type IN OUT NOCOPY VARCHAR2,
121 X_acct_exchange_rate IN OUT NOCOPY NUMBER,
122 X_acct_raw_cost IN NUMBER default NULL,
123 X_acct_burdened_cost IN OUT NOCOPY NUMBER,
124 X_acct_exchange_rounding_limit IN NUMBER default NULL,
125 X_project_currency_code IN OUT NOCOPY VARCHAR2,
126 X_project_rate_date IN OUT NOCOPY DATE,
127 X_project_rate_type IN OUT NOCOPY VARCHAR2,
128 X_project_exchange_rate IN OUT NOCOPY NUMBER,
129 X_project_raw_cost IN OUT NOCOPY NUMBER,
130 X_project_burdened_cost IN OUT NOCOPY NUMBER
131 /* Trx_Import Enhancement */
132 , X_override_to_oname IN VARCHAR2 default NULL,
133 X_vendor_number IN VARCHAR2 default NULL, X_org_id IN NUMBER,
134 X_Business_Group_Name IN VARCHAR2 default NULL, -- PA - I Changes,
135 X_Projfunc_currency_code IN OUT NOCOPY VARCHAR2,
136 X_Projfunc_cost_rate_date IN OUT NOCOPY DATE,
137 X_Projfunc_cost_rate_type IN OUT NOCOPY VARCHAR2,
138 X_Projfunc_cost_exchange_rate IN OUT NOCOPY NUMBER,
142 X_Work_Type_Name IN OUT NOCOPY VARCHAR2, -- PA J Changes,
139 X_actual_project_raw_cost IN OUT NOCOPY NUMBER,
140 X_actual_project_burdened_cost IN OUT NOCOPY NUMBER,
141 X_Assignment_Name IN OUT NOCOPY VARCHAR2,
146 P_person_id IN NUMBER DEFAULT NULL,
143 X_Accrual_Flag IN VARCHAR2, -- PA - L Changes,
144 P_project_id IN NUMBER DEFAULT NULL,
145 P_task_id IN NUMBER DEFAULT NULL,
147 P_organization_id IN NUMBER DEFAULT NULL,
148 P_NLR_Org_Id IN NUMBER DEFAULT NULL,
149 P_Vendor_Id IN NUMBER DEFAULT NULL,
150 P_Override_Organization_Id IN NUMBER DEFAULT NULL,
151 P_Person_business_Group_Id IN NUMBER DEFAULT NULL,
152 P_assignment_id IN NUMBER DEFAULT NULL,
153 P_work_type_id IN NUMBER DEFAULT NULL,
154 P_Emp_Org_Id IN NUMBER DEFAULT NULL,
155 P_Emp_Job_Id IN NUMBER DEFAULT NULL
156 /* Added parameter X_txn_interface_id for bug 2563364 */
157 , X_txn_interface_id IN NUMBER default NULL, P_po_number IN VARCHAR2 default NULL /* cwk */
158 , P_po_header_id IN OUT NOCOPY NUMBER,
159 P_po_line_num IN NUMBER default NULL,
160 P_po_line_id IN OUT NOCOPY NUMBER,
161 P_person_type IN VARCHAR2 default NULL,
162 P_po_price_type IN VARCHAR2 default NULL
163 /* REL12-AP Lines uptake */
164 , p_adj_exp_item_id IN NUMBER default NULL,
165 p_fc_document_type IN varchar2 default NULL
166 -- , p_agreement_id IN OUT NOCOPY NUMBER --FSIO Changes
167 -- , p_agreement_number IN OUT NOCOPY varchar2
168 -- 10253400: Payroll integration enhancement for 12.2.. start
169 ,p_job_id pa_transaction_interface_all.job_id%type default null
170 ,p_job_name pa_transaction_interface_all.job_name%type default null
171 ,p_location_id pa_transaction_interface_all.location_id%type default null
172 ,p_location_code pa_transaction_interface_all.location_code%type default null
173 ,p_pay_element_type_id pa_transaction_interface_all.pay_element_type_id%type default null
174 -- 10253400: Payroll integration enhancement for 12.2.. end
175 -- Start: Added for bug 16220146
176 ,P_CBS_ELEMENT_ID PA_TRANSACTION_INTERFACE_ALL.CBS_ELEMENT_ID%TYPE DEFAULT NULL
177 ,P_CBS_ELEMENT_NAME PA_TRANSACTION_INTERFACE_ALL.CBS_ELEMENT_NAME%TYPE DEFAULT NULL
178 -- End: Added for bug 16220146
179 );
180
181 PROCEDURE
182 ValidateOrgId (X_org_id IN NUMBER, X_status OUT NOCOPY VARCHAR2);
183
184 PROCEDURE
185 import (X_transaction_source IN VARCHAR2, X_batch IN VARCHAR2,
186 X_xface_id IN NUMBER, X_userid IN NUMBER,
187 X_online_exp_comment IN VARCHAR2 DEFAULT NULL);
188
189 PROCEDURE
190 import1 (X_transaction_source IN VARCHAR2, X_batch IN VARCHAR2,
191 X_xface_id IN NUMBER, X_userid IN NUMBER,
192 X_online_exp_comment IN VARCHAR2 DEFAULT NULL);
193
194 --SST:New APIs
195 PROCEDURE init (P_transaction_source IN VARCHAR2);
196
197
198 /*#
199 * Use the Pre-Import Client Extension to load approved self-service time cards from Internet Time into the Oracle Projects Transaction
200 * Interface Table (PA_TRANSACTION_INTERFACE_ALL). Once data is loaded in the transaction interface table,
201 * the Transaction Import Process will load the data into Oracle Projects.
202 * This client extension allows you to automate the process of loading
203 * Oracle Internet Time data to the interface table as part of the import process.
204 * @param P_transaction_source Classification of the transactions loaded into Oracle Projects from an external system.
205 * @rep:paraminfo {@rep:required}
206 * @param P_batch User entered name for grouping expenditures within a transaction source.
207 * @rep:paraminfo {@rep:required}
208 * @param P_xface_id System-generated number that identifies all the transactions processed by a given concurrent request.
209 * @rep:paraminfo {@rep:required}
210 * @param P_user_id User.
211 * @rep:paraminfo {@rep:required}
212 * @rep:scope public
213 * @rep:lifecycle active
214 * @rep:displayname Pre-import.
215 * @rep:compatibility S
216 */
217
218 PROCEDURE
219 pre_import (P_transaction_source IN VARCHAR2,
220 P_batch IN VARCHAR2, P_xface_id IN NUMBER, P_user_id IN NUMBER);
221
222
223
224 /*#
225 * Use the Post-Import Client Extension to tie back the Oracle Internet Time records that have been imported into Oracle Projects from Internet Time.
226 * Projects to the source transactions in Oracle Internet Time.
227 * Oracle Projects calls the Post-Import Client Extension for Internet Time after the Transaction Import Process runs when you use the Oracle
228 * Internet Time transaction source.
229 * @param P_transaction_source Classification of the transactions loaded into Oracle Projects from an external system.
230 * @rep:paraminfo {@rep:required}
231 * @param P_batch User entered name for grouping expenditures within a transaction source.
232 * @rep:paraminfo {@rep:required}
233 * @param P_xface_id System-generated number that identifies all the transactions processed by a given concurrent request.
234 * @rep:paraminfo {@rep:required}
235 * @param P_user_id User.
236 * @rep:paraminfo {@rep:required}
237 * @rep:scope public
238 * @rep:lifecycle active
239 * @rep:displayname Post-import.
240 * @rep:compatibility S
241 */
242 PROCEDURE
243 post_import (P_transaction_source IN VARCHAR2,
244 P_batch IN VARCHAR2, P_xface_id IN NUMBER, P_user_id IN NUMBER);
245
246 PROCEDURE
247 execute_import_extensions (P_program_name IN VARCHAR2,
248 P_transaction_source IN VARCHAR2,
249 P_batch IN VARCHAR2,
250 P_user_id IN NUMBER, P_xface_id IN NUMBER);
251
252
253 --New Package Variables for counting transactions with New TXN Codes
254
255 G_PRE_IMPORT_SUCCESS_COUNT NUMBER;
256
257 G_PRE_IMPORT_REJECT_COUNT NUMBER;
258 G_IMPORT_SUCCESS_COUNT NUMBER;
259 G_IMPORT_REJECT_COUNT NUMBER;
260 G_POST_IMPORT_SUCCESS_COUNT NUMBER;
261 G_POST_IMPORT_REJECT_COUNT NUMBER;
262 G_SKIP_TC_FLAG VARCHAR2 (1) := 'N'; --made changes for bug 1299909
263
264 G_REQUEST_ID NUMBER:= fnd_global.conc_request_id;
265 G_PROGRAM_ID NUMBER:= fnd_global.conc_program_id;
266 G_PROG_APPL_ID NUMBER:= fnd_global.PROG_APPL_ID;
267 G_CONC_LOGIN_ID NUMBER:= fnd_global.CONC_LOGIN_ID;
268 G_LOGIN_ID NUMBER:= fnd_global.LOGIN_ID;
269 G_USER_ID NUMBER:= fnd_global.USER_ID;
270
271
272 --New APIs for New TXN Codes
273 PROCEDURE count_status (P_phase IN VARCHAR2,
274 P_xface_id IN NUMBER,
275 P_sucess_counter OUT NOCOPY NUMBER,
276 P_failed_counter OUT NOCOPY NUMBER);
277
278
279 PROCEDURE
280 update_status_counter (P_xface_id IN NUMBER);
281
282 ----New global variables created for CBGA--
283
284 G_Business_Group_Id NUMBER;
285 G_Prev_Business_Group_Id NUMBER;
289 Upd_PktSts_Fatal (p_request_id in number);
286 G_Prev_Business_Group_Name VARCHAR2 (240);
287
288 PROCEDURE
290
291 PROCEDURE
292 Upd_PktSts (p_packet_id in number);
293
294 --PA - L Changes:Added ValidateItemOTL and G_Exit_Main flag.
295 PROCEDURE ValidateItemOTL (X_trx_src IN VARCHAR2, X_ei_date IN DATE,
296 X_etype IN VARCHAR2, X_nlr IN VARCHAR2,
297 X_qty IN NUMBER, X_denom_raw_cost IN NUMBER,
298 X_module IN VARCHAR2, X_trx_ref IN VARCHAR2,
299 X_match_flag IN VARCHAR2, X_att_cat IN VARCHAR2,
300 X_att1 IN OUT NOCOPY VARCHAR2,
301 X_att2 IN OUT NOCOPY VARCHAR2,
302 X_att3 IN OUT NOCOPY VARCHAR2,
303 X_att4 IN OUT NOCOPY VARCHAR2,
304 X_att5 IN OUT NOCOPY VARCHAR2,
305 X_att6 IN OUT NOCOPY VARCHAR2,
306 X_att7 IN OUT NOCOPY VARCHAR2,
307 X_att8 IN OUT NOCOPY VARCHAR2,
308 X_att9 IN OUT NOCOPY VARCHAR2,
309 X_att10 IN OUT NOCOPY VARCHAR2,
310 X_system_linkage IN VARCHAR2,
311 X_status OUT NOCOPY VARCHAR2, -- X_bill_flag OUT NOCOPY VARCHAR2,
312 X_denom_currency_code IN OUT NOCOPY VARCHAR2,
313 X_acct_rate_date IN OUT NOCOPY DATE,
314 X_acct_rate_type IN OUT NOCOPY VARCHAR2,
315 X_acct_exchange_rate IN OUT NOCOPY NUMBER,
316 X_acct_raw_cost IN NUMBER default NULL,
317 X_project_currency_code IN OUT NOCOPY VARCHAR2,
318 X_Projfunc_currency_code IN OUT NOCOPY VARCHAR2,
319 X_Projfunc_cost_rate_date IN OUT NOCOPY DATE,
320 X_Projfunc_cost_rate_type IN OUT NOCOPY VARCHAR2,
324 P_project_id IN NUMBER,
321 X_Projfunc_cost_exchange_rate IN OUT NOCOPY VARCHAR2,
322 X_Assignment_Name IN OUT NOCOPY VARCHAR2,
323 X_Work_Type_Name IN OUT NOCOPY VARCHAR2,
325 P_task_id IN NUMBER,
326 P_person_id IN NUMBER,
327 P_organization_id IN NUMBER,
328 P_assignment_id IN NUMBER,
329 P_work_type_id IN NUMBER,
330 P_Emp_Org_Id IN NUMBER,
331 P_Emp_Job_Id IN NUMBER,
332 P_po_header_id IN NUMBER, /* cwk */
333 P_po_line_id IN NUMBER,
334 P_person_type IN VARCHAR2,
335 P_po_price_type IN VARCHAR2,
336 p_vendor_id In Number ,
337 p_location_id IN NUMBER
338 ,p_cbs_element_id IN NUMBER DEFAULT NULL -- Added for bug 16592018
339 /* Bug# 3601024 : Vendor ID is not passed to the PA_EXPENDITURE_ITEMS_ALL.VENDOR_ID in OTL timecards */
340 );
341
342 G_Exit_Main BOOLEAN:= NULL;
343 G_Batch_Size NUMBER;
344 G_IterationNum NUMBER := 0;
345
346 G_Po_Line_Amt NUMBER := 0; /*cwk */
347 G_person_type VARCHAR2 (30) := 'EMP';
348
349 /*Bug 14748295*/
350 G_unmatched_negative_txn_flag pa_transaction_interface_all.unmatched_negative_txn_flag%TYPE default 'N'; -- bug 14173646
351
352 PoLineTaskTab pa_utils.Char150TabTyp;
353 PoAmtTab pa_utils.AmtTabTyp;
354
355 PROCEDURE init_po_amt_chk;
356 PROCEDURE release_po_line_task_lock;
357
358 Function
359 GET_PO_PRICE_TYPE_RATE (p_project_id In Number, p_task_id In Number,
360 P_Po_Line_Id In Number, P_Price_Type In Varchar2)
361 Return Number;
362
363 /* Added this for bug# 4138033 */
364 --S.N.Bug #4138033
365 PROCEDURE Set_GVal_ProjTskEi_Date (L_Validate_Proj_Tsk_Ei_Date IN VARCHAR2);
366
367 FUNCTION Get_GVal_ProjTskEi_Date
368 RETURN
369 VARCHAR2;
370
371 --E.N.Bug #4138033
372 -- --5235363 R12.PJ: XB4: DEV: APL:EXP ITEM DATE VALIDATIONS FOR SUPPLIER COST.
373 --
374 PROCEDURE validate_exp_date (p_project_id IN NUMBER,
375 p_task_id In NUMBER,
376 p_award_id in NUMBER,
377 p_incurred_by_org_id in number,
378 p_vendor_id in NUMBER,
379 p_person_id in number,
380 p_exp_item_date in date,
381 p_exp_type in varchar2,
382 p_system_linkage in varchar2,
383 p_txn_source in varchar2,
384 p_calling_modle in varchar2,
385 x_err_msg_cd in out nocopy varchar2,
386 x_status out nocopy varchar2);
387
388
389 END PA_TRX_IMPORT;