[Home] [Help]
PACKAGE BODY: APPS.CE_CASHFLOW_PKG
Source
1 package body CE_CASHFLOW_PKG as
2 /* $Header: cecashpb.pls 120.10 2011/02/17 08:31:26 talapati ship $ */
3
4 l_DEBUG varchar2(1) := NVL(FND_PROFILE.value('CE_DEBUG'), 'N');
5 -- l_DEBUG varchar2(1) := 'Y';
6
7 /* ---------------------------------------------------------------------
8 | PRIVATE PROCEDURE |
9 | update_ce_cashflows
10 | DESCRIPTION |
11 | update records in CE_CASHFLOWS |
12 | CALLED BY |
13 | clear_cashflow
14 --------------------------------------------------------------------- */
15 PROCEDURE update_ce_cashflows(
16 X_CASHFLOW_ID number,
17 X_TRX_STATUS varchar2,
18 X_actual_value_date date,
19 X_CLEARED_DATE date,
20 X_CLEARED_AMOUNT number,
21 X_CLEARED_ERROR_AMOUNT number,
22 X_CLEARED_CHARGE_AMOUNT number,
23 X_CLEARED_EXCHANGE_RATE_TYPE varchar2,
24 X_CLEARED_EXCHANGE_RATE_DATE date,
25 X_CLEARED_EXCHANGE_RATE number,
26 X_NEW_TRX_STATUS varchar2,
27 X_CLEARED_BY_FLAG VARCHAR2 ,
28 X_LAST_UPDATE_DATE date,
29 X_LAST_UPDATED_BY number,
30 X_LAST_UPDATE_LOGIN number,
31 X_STATEMENT_LINE_ID number,
32 X_PASSIN_MODE varchar2
33 ) IS
34 BEGIN
35 IF l_DEBUG in ('Y', 'C') THEN
36 cep_standard.debug('>>CE_CASHFLOW_PKG.UPDATE_CE_CASHFLOWS');
37 cep_standard.debug('X_PASSIN_MODE: '|| X_PASSIN_MODE ||
38 ', X_STATEMENT_LINE_ID: '|| X_STATEMENT_LINE_ID||
39 ', X_TRX_STATUS: '||X_TRX_STATUS||
40 ', X_NEW_TRX_STATUS: '|| X_NEW_TRX_STATUS
41 );
42 cep_standard.debug('X_CLEARED_BY_FLAG: '|| X_CLEARED_BY_FLAG ||
43 ', X_CASHFLOW_ID: '|| X_CASHFLOW_ID ||
44 ', X_CLEARED_AMOUNT: '|| X_CLEARED_AMOUNT
45 );
46 END IF;
47
48 -- MANUAL_L, MANUAL_H, AUTO (X_TRX_STATUS = 'CLEARED', X_NEW_TRX_STATUS = 'RECONCILED')
49 -- MANUAL (X_TRX_STATUS = 'RECONCILED', X_NEW_TRX_STATUS = 'CLEARED'),
50 IF ((X_PASSIN_MODE <> 'MANUAL_UC' and X_TRX_STATUS = 'CLEARED') or
51 ((X_PASSIN_MODE <> 'MANUAL_C' or X_PASSIN_MODE = 'MANUAL') and X_NEW_TRX_STATUS = 'CLEARED')) THEN
52 -- for cleared cashflows, keep current clear info
53 UPDATE CE_CASHFLOWS
54 SET CASHFLOW_STATUS_CODE = X_NEW_TRX_STATUS,
55 CLEARED_BY_FLAG = X_CLEARED_BY_FLAG,
56 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
57 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
58 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
59 STATEMENT_LINE_ID = X_STATEMENT_LINE_ID
60 WHERE CASHFLOW_ID = X_CASHFLOW_ID;
61 ELSE
62 -- MANUAL_C (X_TRX_STATUS = 'CREATED', X_NEW_TRX_STATUS = 'CLEARED'),
63 -- MANUAL_UC (X_TRX_STATUS = 'CLEARED', X_NEW_TRX_STATUS = 'CREATED' ),
64 -- MANUAL (X_TRX_STATUS = 'CLEARED', X_NEW_TRX_STATUS = 'CREATED')
65 -- MANUAL_L, MANUAL_H, AUTO (X_TRX_STATUS = 'CREATED', X_NEW_TRX_STATUS = 'RECONCILED')
66 UPDATE CE_CASHFLOWS
67 SET CASHFLOW_STATUS_CODE = X_NEW_TRX_STATUS,
68 ACTUAL_VALUE_DATE = X_actual_value_date,
69 CLEARED_DATE = X_CLEARED_DATE ,
70 CLEARED_AMOUNT = abs(X_CLEARED_AMOUNT),
71 CLEARED_EXCHANGE_RATE = X_CLEARED_EXCHANGE_RATE,
72 CLEARED_EXCHANGE_DATE = X_CLEARED_EXCHANGE_RATE_DATE,
73 CLEARED_EXCHANGE_RATE_TYPE = X_CLEARED_EXCHANGE_RATE_TYPE ,
74 CLEARING_CHARGES_AMOUNT = X_CLEARED_CHARGE_AMOUNT,
75 CLEARING_ERROR_AMOUNT = X_CLEARED_ERROR_AMOUNT,
76 CLEARED_BY_FLAG = X_CLEARED_BY_FLAG,
77 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
78 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
79 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
80 STATEMENT_LINE_ID = X_STATEMENT_LINE_ID
81 WHERE CASHFLOW_ID = X_CASHFLOW_ID;
82
83 END IF;
84
85 IF l_DEBUG in ('Y', 'C') THEN
86 cep_standard.debug('<<CE_CASHFLOW_PKG.UPDATE_CE_CASHFLOWS');
87 END IF;
88
89 EXCEPTION
90 WHEN OTHERS THEN
91 IF l_DEBUG in ('Y', 'C') THEN
92 cep_standard.debug('EXCEPTION: CE_CASHFLOW_PKG.UPDATE_CE_CASHFLOWS');
93 END IF;
94 RAISE;
95 END UPDATE_CE_CASHFLOWS;
96
97 /* ---------------------------------------------------------------------
98 | PRIVATE PROCEDURE |
99 | RAISE_ACCT_EVENT
100 | CALLED BY |
101 | clear_cashflow |
102 --------------------------------------------------------------------- */
103 PROCEDURE RAISE_ACCT_EVENT(
104 X_CASHFLOW_ID number,
105 X_ACCTG_EVENT varchar2,
106 X_ACCOUNTING_DATE date,
107 X_EVENT_STATUS_CODE VARCHAR2,
108 X_EVENT_ID IN OUT NOCOPY NUMBER) IS
109 --x_event_id number;
110 BEGIN
111 IF l_DEBUG in ('Y', 'C') THEN
112 cep_standard.debug('>>CE_CASHFLOW_PKG.RAISE_ACCT_EVENT');
113 END IF;
114
115 ce_xla_acct_events_pkg.create_event(
116 X_trx_id => X_CASHFLOW_ID,
117 X_event_type_code => X_ACCTG_EVENT ,
118 X_GL_DATE => X_ACCOUNTING_DATE);
119
120 /* x_event_id := ce_xla_acct_events_pkg.create_events(
121 X_trx_id => X_CASHFLOW_ID,
122 X_event_type_code => X_ACCTG_EVENT ,
123 X_event_date => X_ACCOUNTING_DATE,
124 X_event_status_code => X_EVENT_STATUS_CODE);
125
126 */
127 IF l_DEBUG in ('Y', 'C') THEN
128 cep_standard.debug('<<CE_CASHFLOW_PKG.RAISE_ACCT_EVENT');
129 END IF;
130
131 EXCEPTION
132 WHEN OTHERS THEN
133 IF l_DEBUG in ('Y', 'C') THEN
134 cep_standard.debug('EXCEPTION: CE_CASHFLOW_PKG.RAISE_ACCT_EVENT');
135 END IF;
136 RAISE;
137 END RAISE_ACCT_EVENT;
138
139 /* ---------------------------------------------------------------------
140 | PRIVATE PROCEDURE |
141 | clear_cashflow |
142 | DESCRIPTION |
143 | CALLS |
144 | update_ce_cashflows |
145 | CALLED BY |
146 | CE_AUTO_BANK_CLEAR1.reconcile_trx |
147 | CE_AUTO_BANK_CLEAR1.unclear_process |
148 --------------------------------------------------------------------- */
149 PROCEDURE clear_cashflow (
150 x_cashflow_id NUMBER,
151 x_trx_status VARCHAR2,
152 x_actual_value_date DATE,
153 x_accounting_date DATE,
154 x_cleared_date DATE,
155 x_cleared_amount NUMBER,
156 x_cleared_error_amount NUMBER,
157 x_cleared_charge_amount NUMBER,
158 x_cleared_exchange_rate_type VARCHAR2,
159 x_cleared_exchange_rate_date DATE,
160 x_cleared_exchange_rate NUMBER,
161 x_passin_mode VARCHAR2,
162 x_statement_line_id NUMBER,
163 x_statement_line_type VARCHAR2
164 ) IS
165
166 x_cleared_by_flag VARCHAR2(1);
167 x_current_cleared_by_flag VARCHAR2(1);
168 x_new_trx_status VARCHAR2(15);
169 x_event_id NUMBER;
170 x_source_trxn_type VARCHAR2(30);
171 x_new_stmt_ln_id NUMBER;
172 x_trx_stmt_ln_id NUMBER;
173 x_new_statement_line_type VARCHAR2(30);
174 x_cashflow_status_code VARCHAR2(30);
175 x_cf_trx_status VARCHAR2(30);
176 l_acctg_event varchar2(30);
177 l_err NUMBER;
178
179 BEGIN
180 IF l_DEBUG in ('Y', 'C') THEN
181 cep_standard.debug('>>CE_CASHFLOW_PKG.clear_cashflow');
182 END IF;
183
184 /* bug 7395052 - added CLEARED_BY_FLAG column which was earlier being
185 * fetched by a separate query after
186 * ELSIF (X_PASSIN_MODE in ( 'MANUAL', 'MANUAL_UC'))
187 */
188 SELECT SOURCE_TRXN_TYPE,
189 STATEMENT_LINE_ID,
190 CASHFLOW_STATUS_CODE,
191 cleared_by_flag
192 INTO x_source_trxn_type,
193 x_trx_stmt_ln_id,
194 x_cashflow_status_code,
195 x_current_cleared_by_flag
196 FROM ce_cashflows
197 WHERE cashflow_id = X_CASHFLOW_ID;
198
199 X_NEW_STMT_LN_ID := nvl(X_STATEMENT_LINE_ID, x_trx_stmt_ln_id);
200 X_NEW_STATEMENT_LINE_TYPE := X_STATEMENT_LINE_TYPE;
201
202 -- Bug 10164596
203 SELECT COUNT(*) into l_err
204 FROM ce_cashflows
205 WHERE cashflow_status_code='CANCELED'
206 AND cashflow_id =X_CASHFLOW_ID;
207 if(l_err=1) then
208 FND_MESSAGE.set_name('CE','CE_BAT_CANCELED_WARN');
209 FND_MESSAGE.SET_TOKEN('CFLOW', X_CASHFLOW_ID);
210 RAISE APP_EXCEPTION.application_exception;
211 END IF;
212
213
214 -- IBY will not pass X_TRX_STATUS for cashflows in IBY batch
215 IF (X_TRX_STATUS is null) THEN
216 X_CF_TRX_STATUS := X_CASHFLOW_STATUS_CODE;
217 ELSE
218 X_CF_TRX_STATUS := X_TRX_STATUS;
219 END IF;
220
221 IF (X_PASSIN_MODE = 'MANUAL_C')
222 THEN -- manual clearing
223 X_NEW_TRX_STATUS := 'CLEARED';
224 X_CLEARED_BY_FLAG := 'M';
225
226 ELSIF (X_PASSIN_MODE in ( 'MANUAL_L', 'MANUAL_H', 'AUTO'))
227 THEN --manual/auto reconciliation
228 IF (X_CF_TRX_STATUS = 'CLEARED')
229 THEN
230 X_NEW_TRX_STATUS := 'RECONCILED';
231 X_CLEARED_BY_FLAG := 'M';
232 ELSIF (X_CF_TRX_STATUS = 'CREATED')
233 THEN
234 X_NEW_TRX_STATUS := 'RECONCILED';
235 X_CLEARED_BY_FLAG := 'R';
236 ELSE
237 FND_MESSAGE.set_name( 'CE', 'CE_CF_CANNOT_RECON' );
238 RAISE APP_EXCEPTION.application_exception;
239 END IF;
240
241 ELSIF (X_PASSIN_MODE in ( 'MANUAL', 'MANUAL_UC'))
242 THEN -- manual unreconciled/ manual unclearing
243
244 /* Bug 7395052 - Removed redundant query call */
245 -- select cleared_by_flag
246 -- into x_current_cleared_by_flag
247 -- from ce_cashflows
248 -- where cashflow_id = X_CASHFLOW_ID;
249
250 /* Bug 7395052 - Added condition to ensure that if the trx is a
251 statement cashflow, its status should not become created */
252 IF (x_source_trxn_type = 'STMT')
253 THEN
254 X_NEW_TRX_STATUS := 'CLEARED';
255 ELSE
256 X_NEW_TRX_STATUS := 'CREATED';
257 END IF;
258
259 IF (x_current_cleared_by_flag = 'R')
260 THEN
261 X_CLEARED_BY_FLAG := NULL;
262 ELSIF (x_current_cleared_by_flag = 'M')
263 THEN
264 X_CLEARED_BY_FLAG := 'M';
265 ELSE
266 FND_MESSAGE.set_name( 'CE', 'CE_CF_CANNOT_UNRECON' );
267 RAISE APP_EXCEPTION.application_exception;
268 END IF;
269
270 END IF;
271
272
273 IF (X_PASSIN_MODE in ('MANUAL_C','MANUAL_L', 'MANUAL_H', 'AUTO')) THEN
274
275 -- UPDATE CE_CASHFLOWS
276 update_ce_cashflows(
277 X_CASHFLOW_ID => X_CASHFLOW_ID,
278 X_TRX_STATUS => X_CF_TRX_STATUS,
279 X_actual_value_date => X_actual_value_date,
280 X_CLEARED_DATE => X_CLEARED_DATE ,
281 X_CLEARED_AMOUNT => abs(X_CLEARED_AMOUNT),
282 X_CLEARED_ERROR_AMOUNT => X_CLEARED_ERROR_AMOUNT,
283 X_CLEARED_CHARGE_AMOUNT => X_CLEARED_CHARGE_AMOUNT,
284 X_CLEARED_EXCHANGE_RATE_TYPE => X_CLEARED_EXCHANGE_RATE_TYPE ,
285 X_CLEARED_EXCHANGE_RATE_DATE => X_CLEARED_EXCHANGE_RATE_DATE,
286 X_CLEARED_EXCHANGE_RATE => X_CLEARED_EXCHANGE_RATE,
287 X_NEW_TRX_STATUS => X_NEW_TRX_STATUS,
288 X_CLEARED_BY_FLAG => X_CLEARED_BY_FLAG,
289 X_LAST_UPDATE_DATE => sysdate,
290 X_LAST_UPDATED_BY => NVL(FND_GLOBAL.user_id,-1),
291 X_LAST_UPDATE_LOGIN => NVL(FND_GLOBAL.user_id,-1),
292 X_STATEMENT_LINE_ID => x_new_stmt_ln_id,
293 X_PASSIN_MODE => X_PASSIN_MODE
294 );
295
296 -- bug 5203892 do not raise any acctg event for STMT (JEC) cashflows
297 -- when clearing/unclearing (reconciliation/unreconciliation)
298 IF x_source_trxn_type = 'BAT' THEN
299 l_acctg_event := 'CE_BAT_CLEARED';
300 --ELSE
301 --l_acctg_event := 'CE_STMT_RECORDED';
302 --END IF;
303
304 -- RAISE CLEARING/UNCLEARING ACCOUNTING EVENT
305 IF (X_CF_TRX_STATUS = 'CREATED') THEN
306 RAISE_ACCT_EVENT
307 (X_CASHFLOW_ID => X_CASHFLOW_ID,
308 X_ACCTG_EVENT => l_acctg_event, --'CLEARING',
309 X_ACCOUNTING_DATE => X_ACCOUNTING_DATE,
310 X_EVENT_STATUS_CODE => 'UNPROCESSED',
311 X_EVENT_ID => X_EVENT_ID);
312 END IF;
313 END IF; --x_source_trxn_type = 'BAT'
314
315 ELSIF (X_PASSIN_MODE in ('MANUAL', 'MANUAL_UC')) THEN
316 -- MANUAL (unreconciled), MANUAL_UC (uncleared)
317 -- do not remove ce_cashflows.statement_line_id when unclearing/unreconciling JEC/ZBA trx
318 -- x_source_trxn_type: 'STMT' (JEC trx), 'BAT' (ZBA trx)
319
320 IF (X_STATEMENT_LINE_TYPE is null) and
321 ( X_NEW_STMT_LN_ID is not null) THEN
322 select trx_type
323 into X_NEW_STATEMENT_LINE_TYPE
324 from ce_statement_lines
325 where statement_line_id = X_NEW_STMT_LN_ID;
326 END IF;
327
328 IF (x_source_trxn_type <> 'STMT') THEN
329 IF (X_NEW_STATEMENT_LINE_TYPE not in ('SWEEP_IN', 'SWEEP_OUT')) THEN
330 X_NEW_STMT_LN_ID := NULL;
331 END IF;
332 END IF;
333
334 IF ((X_PASSIN_MODE = 'MANUAL_UC') or (X_NEW_TRX_STATUS = 'CREATED' and X_CLEARED_BY_FLAG is null)) THEN
335 update_ce_cashflows(
336 X_CASHFLOW_ID => X_CASHFLOW_ID,
337 X_TRX_STATUS => X_CF_TRX_STATUS,
338 X_actual_value_date => null,
339 X_CLEARED_DATE => null,
340 X_CLEARED_AMOUNT => null,
341 X_CLEARED_ERROR_AMOUNT => null,
342 X_CLEARED_CHARGE_AMOUNT => null,
343 X_CLEARED_EXCHANGE_RATE_TYPE => null,
344 X_CLEARED_EXCHANGE_RATE_DATE => null,
345 X_CLEARED_EXCHANGE_RATE => null,
346 X_NEW_TRX_STATUS => X_NEW_TRX_STATUS,
347 X_CLEARED_BY_FLAG => X_CLEARED_BY_FLAG ,
348 X_LAST_UPDATE_DATE => sysdate,
349 X_LAST_UPDATED_BY => NVL(FND_GLOBAL.user_id,-1),
350 X_LAST_UPDATE_LOGIN => NVL(FND_GLOBAL.user_id,-1),
351 X_STATEMENT_LINE_ID => x_new_stmt_ln_id,
352 X_PASSIN_MODE => X_PASSIN_MODE
353 );
354
355 ELSE
356
357 -- UPDATE CE_CASHFLOWS
358 update_ce_cashflows(
359 X_CASHFLOW_ID => X_CASHFLOW_ID,
360 X_TRX_STATUS => X_CF_TRX_STATUS,
364 X_CLEARED_ERROR_AMOUNT => X_CLEARED_ERROR_AMOUNT,
361 X_actual_value_date => X_actual_value_date,
362 X_CLEARED_DATE => X_CLEARED_DATE ,
363 X_CLEARED_AMOUNT => abs(X_CLEARED_AMOUNT),
365 X_CLEARED_CHARGE_AMOUNT => X_CLEARED_CHARGE_AMOUNT,
366 X_CLEARED_EXCHANGE_RATE_TYPE => X_CLEARED_EXCHANGE_RATE_TYPE ,
367 X_CLEARED_EXCHANGE_RATE_DATE => X_CLEARED_EXCHANGE_RATE_DATE,
368 X_CLEARED_EXCHANGE_RATE => X_CLEARED_EXCHANGE_RATE,
369 X_NEW_TRX_STATUS => X_NEW_TRX_STATUS,
370 X_CLEARED_BY_FLAG => X_CLEARED_BY_FLAG ,
371 X_LAST_UPDATE_DATE => sysdate,
372 X_LAST_UPDATED_BY => NVL(FND_GLOBAL.user_id,-1),
373 X_LAST_UPDATE_LOGIN => NVL(FND_GLOBAL.user_id,-1),
374 X_STATEMENT_LINE_ID => x_new_stmt_ln_id,
375 X_PASSIN_MODE => X_PASSIN_MODE
376 );
377 END IF;
378
379 -- bug 5203892 do not raise any acctg event for STMT (JEC) cashflows
380 -- when clearing/unclearing (reconciliation/unreconciliation)
381 IF x_source_trxn_type = 'BAT' THEN
382 l_acctg_event := 'CE_BAT_UNCLEARED';
383 --ELSE
384 -- l_acctg_event := 'CE_STMT_CANCELED';
385 --END IF;
386
387 -- RAISE CLEARING/UNCLEARING ACCOUNTING EVENT
388 IF (X_CF_TRX_STATUS in ( 'CLEARED', 'RECONCILED')) THEN
389 RAISE_ACCT_EVENT
390 (X_CASHFLOW_ID => X_CASHFLOW_ID,
391 X_ACCTG_EVENT => l_acctg_event, --'UNCLEARING',
392 X_ACCOUNTING_DATE => X_ACCOUNTING_DATE,
393 X_EVENT_STATUS_CODE => 'UNPROCESSED',
394 X_EVENT_ID => X_EVENT_ID);
395
396 END IF;
397 END IF; --x_source_trxn_type = 'BAT'
398
399 END IF;
400
401 IF l_DEBUG in ('Y', 'C') THEN
402 cep_standard.debug('<<CE_CASHFLOW_PKG.clear_cashflow');
403 END IF;
404 EXCEPTION
405 WHEN OTHERS THEN
406 IF l_DEBUG in ('Y', 'C') THEN
407 cep_standard.debug('EXCEPTION: CE_CASHFLOW_PKG.clear_cashflow');
408 END IF;
409 RAISE;
410 END clear_cashflow;
411
412 /* ---------------------------------------------------------------------
413 | PRIVATE PROCEDURE |
414 | update_user_lines |
415 | DESCRIPTION |
416 | To insert/update user defined inflows/outflows |
417 | CALLED BY |
418 | CashPositionAMImpl.java |
419 --------------------------------------------------------------------- */
420 PROCEDURE UPDATE_USER_LINES
421 (
422 X_WORKSHEET_HEADER_ID IN NUMBER,
423 X_WORKSHEET_LINE_ID IN NUMBER,
424 X_LINE_DESCRIPTION IN VARCHAR2,
425 X_SOURCE_TYPE IN VARCHAR2,
426 X_BANK_ACCOUNT_ID IN NUMBER,
427 X_AS_OF_DATE IN DATE,
428 X_AMOUNT IN NUMBER
429 ) IS
430 l_amount NUMBER;
431 BEGIN
432 IF l_DEBUG in ('Y', 'C') THEN
433 cep_standard.debug('>>CE_CASHFLOW_PKG.update_user_lines');
434 END IF;
435
436 IF X_SOURCE_TYPE = 'UDO' AND X_AMOUNT <0 THEN
437 l_amount := -1*X_AMOUNT;
438 ELSE
439 l_amount := X_AMOUNT;
440 END IF;
441
442 INSERT INTO
443 CE_CP_WORKSHEET_USER_LINES
444 (
445 WORKSHEET_HEADER_ID,
446 WORKSHEET_LINE_ID,
447 LINE_DESCRIPTION,
448 SOURCE_TYPE,
449 BANK_ACCOUNT_ID,
450 AS_OF_DATE,
451 AMOUNT
452 )
453 VALUES
454 (
455 X_WORKSHEET_HEADER_ID,
456 X_WORKSHEET_LINE_ID,
457 X_LINE_DESCRIPTION,
458 X_SOURCE_TYPE,
459 X_BANK_ACCOUNT_ID,
460 Trunc(X_AS_OF_DATE),
461 l_amount
462 );
463 IF l_DEBUG in ('Y', 'C') THEN
464 cep_standard.debug('<<CE_CASHFLOW_PKG.update_user_lines');
465 END IF;
466 EXCEPTION
467 WHEN Dup_Val_On_Index THEN
468 IF l_DEBUG in ('Y', 'C') THEN
469 cep_standard.debug('Updating CE_WORKSHEET_USER_LINES');
470 END IF;
471 UPDATE CE_CP_WORKSHEET_USER_LINES
472 SET
473 SOURCE_TYPE = X_SOURCE_TYPE,
474 AMOUNT = l_amount
475 WHERE WORKSHEET_HEADER_ID = X_WORKSHEET_HEADER_ID
476 AND WORKSHEET_LINE_ID = X_WORKSHEET_LINE_ID
477 AND BANK_ACCOUNT_ID = X_BANK_ACCOUNT_ID
478 AND Trunc(AS_OF_DATE) = Trunc(X_AS_OF_DATE);
479
480 UPDATE CE_CP_WORKSHEET_USER_LINES
481 SET
482 LINE_DESCRIPTION = X_LINE_DESCRIPTION
483 WHERE WORKSHEET_HEADER_ID = X_WORKSHEET_HEADER_ID
484 AND WORKSHEET_LINE_ID = X_WORKSHEET_LINE_ID
485 AND Trunc(AS_OF_DATE) = Trunc(X_AS_OF_DATE);
486 IF l_DEBUG in ('Y', 'C') THEN
487 cep_standard.debug('<<CE_CASHFLOW_PKG.update_user_lines');
488 END IF;
489 WHEN OTHERS THEN
490 IF l_DEBUG in ('Y', 'C') THEN
491 cep_standard.debug('EXCEPTION: CE_CASHFLOW_PKG.update_user_lines');
492 END IF;
493 RAISE;
494 END UPDATE_USER_LINES;
495
496 END CE_CASHFLOW_PKG;