18: | |
19: | SCOPE - PRIVATE |
20: | |
21: | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
22: | fnd_api.compatible_api_call |
23: | fnd_api.g_exc_unexpected_error |
24: | fnd_api.g_ret_sts_error |
25: | fnd_api.g_ret_sts_error |
26: | fnd_api.g_ret_sts_success |
19: | SCOPE - PRIVATE |
20: | |
21: | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
22: | fnd_api.compatible_api_call |
23: | fnd_api.g_exc_unexpected_error |
24: | fnd_api.g_ret_sts_error |
25: | fnd_api.g_ret_sts_error |
26: | fnd_api.g_ret_sts_success |
27: | fnd_api.to_boolean |
20: | |
21: | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
22: | fnd_api.compatible_api_call |
23: | fnd_api.g_exc_unexpected_error |
24: | fnd_api.g_ret_sts_error |
25: | fnd_api.g_ret_sts_error |
26: | fnd_api.g_ret_sts_success |
27: | fnd_api.to_boolean |
28: | fnd_msg_pub.check_msg_level |
21: | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
22: | fnd_api.compatible_api_call |
23: | fnd_api.g_exc_unexpected_error |
24: | fnd_api.g_ret_sts_error |
25: | fnd_api.g_ret_sts_error |
26: | fnd_api.g_ret_sts_success |
27: | fnd_api.to_boolean |
28: | fnd_msg_pub.check_msg_level |
29: | fnd_msg_pub.count_and_get |
22: | fnd_api.compatible_api_call |
23: | fnd_api.g_exc_unexpected_error |
24: | fnd_api.g_ret_sts_error |
25: | fnd_api.g_ret_sts_error |
26: | fnd_api.g_ret_sts_success |
27: | fnd_api.to_boolean |
28: | fnd_msg_pub.check_msg_level |
29: | fnd_msg_pub.count_and_get |
30: | fnd_msg_pub.initialize |
23: | fnd_api.g_exc_unexpected_error |
24: | fnd_api.g_ret_sts_error |
25: | fnd_api.g_ret_sts_error |
26: | fnd_api.g_ret_sts_success |
27: | fnd_api.to_boolean |
28: | fnd_msg_pub.check_msg_level |
29: | fnd_msg_pub.count_and_get |
30: | fnd_msg_pub.initialize |
31: | ar_adjvalidate_pvt.Validate_Type |
94:
95: /*-------------------------------------------------+
96: | Initialize return status to SUCCESS |
97: +-------------------------------------------------*/
98: p_validation_status := FND_API.G_RET_STS_SUCCESS;
99:
100: /*-------------------------------------------------+
101: | 1. Validate type |
102: +-------------------------------------------------*/
103: ar_adjvalidate_pvt.Validate_Type (
104: p_adj_rec,
105: l_return_status
106: ) ;
107: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
108: THEN
109: p_validation_status := l_return_status ;
110: IF PG_DEBUG in ('Y', 'C') THEN
111: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate type ');
121: l_ps_rec,
122: l_return_status,
123: p_llca_from_call
124: );
125: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
126: THEN
127: p_validation_status := l_return_status ;
128: IF PG_DEBUG in ('Y', 'C') THEN
129: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate payment_schedule id ');
139: p_adj_rec.gl_date,
140: l_ps_rec,
141: l_return_status
142: );
143: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
144: THEN
145: p_validation_status := l_return_status ;
146: IF PG_DEBUG in ('Y', 'C') THEN
147: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate dates ');
169: p_check_amount,
170: l_return_status
171: );
172:
173: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
174: THEN
175: p_validation_status := l_return_status ;
176: IF PG_DEBUG in ('Y', 'C') THEN
177: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate amount '|| p_validation_status);
192: l_ps_rec,
193: l_return_status,
194: p_llca_from_call
195: );
196: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
197: THEN
198: p_validation_status := l_return_status ;
199: IF PG_DEBUG in ('Y', 'C') THEN
200: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate receivables trx ccid');
213: +--------------------------------------------------*/
214: --Bug 1395396 Calculate prorate only if adjustment amount <> 0
215: -- Added call to customer_trx_line_id for Line level Adjustment
216: IF (p_adj_rec.type in ('LINE', 'CHARGES') AND
217: p_check_amount = FND_API.G_TRUE AND
218: p_adj_rec.amount <> 0) THEN
219:
220: ARP_PROCESS_ADJUSTMENT.cal_prorated_amounts(p_adj_rec.amount,
221: p_adj_rec.payment_schedule_id,
235: | Set the message |
236: +-----------------------------------------------*/
237: FND_MESSAGE.SET_NAME('AR','AR_TW_PRORATE_ADJ_NO_TAX_RATE');
238: FND_MSG_PUB.ADD ;
239: p_validation_status := FND_API.G_RET_STS_ERROR;
240: ELSIF (l_error_num = 2) THEN
241: IF PG_DEBUG in ('Y', 'C') THEN
242: arp_util.debug('Validate_Adj_Insert: ' || 'cal_prorated_amount failed - error num 2');
243: END IF;
245: | Set the message |
246: +-----------------------------------------------*/
247: FND_MESSAGE.SET_NAME('AR','AR_TW_PRORATE_ADJ_OVERAPPLY');
248: FND_MSG_PUB.ADD ;
249: p_validation_status := FND_API.G_RET_STS_ERROR;
250: ELSIF (l_error_num = 3) THEN
251: IF PG_DEBUG in ('Y', 'C') THEN
252: arp_util.debug('Validate_Adj_Insert: ' || 'cal_prorated_amount failed - error num 3');
253: END IF;
253: END IF;
254: /*-----------------------------------------------+
255: | Set the message |
256: +-----------------------------------------------*/
257: p_validation_status := FND_API.G_RET_STS_ERROR;
258: ELSE
259: IF (p_adj_rec.type = 'LINE') THEN
260: p_adj_rec.line_adjusted := l_prorated_amt;
261: ELSE
269: | Check for over-application (Bug 3766262) |
270: +-------------------------------------------------*/
271: /*We need to check for over-application only when it's not an adjustment
272: reversal*/
273: IF (p_check_amount = FND_API.G_TRUE)
274: THEN
275: ar_adjvalidate_pvt.Validate_Over_Application(
276: p_adj_rec,
277: l_ps_rec,
277: l_ps_rec,
278: l_return_status);
279: END IF;
280:
281: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
282: THEN
283: p_validation_status := l_return_status ;
284: IF PG_DEBUG in ('Y', 'C') THEN
285: arp_util.debug ('Validate_Adj_Insert: ' || ' failed over-application check ');
291: +-------------------------------------------------*/
292: IF p_llca_from_call = 'Y' AND p_adj_rec.type = 'LINE'
293: THEN
294:
295: IF (p_check_amount = FND_API.G_TRUE)
296: THEN
297: ar_adjvalidate_pvt.Validate_Over_Application_llca(
298: p_adj_rec,
299: l_ps_rec,
299: l_ps_rec,
300: l_return_status);
301: END IF;
302:
303: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
304: THEN
305: p_validation_status := l_return_status ;
306: IF PG_DEBUG in ('Y', 'C') THEN
307: arp_util.debug ('Validate_Adj_Insert: ' || ' failed over_application_llca check ');
321: ar_adjvalidate_pvt.Validate_doc_seq (
322: p_adj_rec,
323: l_return_status
324: ) ;
325: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
326: THEN
327: p_validation_status := l_return_status ;
328: IF PG_DEBUG in ('Y', 'C') THEN
329: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate doc seq ');
338: ar_adjvalidate_pvt.Validate_Reason_code (
339: p_adj_rec,
340: l_return_status
341: );
342: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
343: THEN
344: p_validation_status := l_return_status ;
345: IF PG_DEBUG in ('Y', 'C') THEN
346: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate reason code ');
353: ar_adjvalidate_pvt.Validate_Associated_Receipt (
354: p_adj_rec,
355: l_return_status
356: );
357: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
358: THEN
359: p_validation_status := l_return_status ;
360: IF PG_DEBUG in ('Y', 'C') THEN
361: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate associated receipt id ');
368: ar_adjvalidate_pvt.Validate_Ussgl_code (
369: p_adj_rec,
370: l_return_status
371: );
372: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
373: THEN
374: p_validation_status := l_return_status ;
375: IF PG_DEBUG in ('Y', 'C') THEN
376: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate ussgl_code');
383: ar_adjvalidate_pvt.Validate_Desc_Flexfield(
384: p_adj_rec,
385: l_return_status
386: );
387: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
388: THEN
389: p_validation_status := l_return_status ;
390: IF PG_DEBUG in ('Y', 'C') THEN
391: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate ussgl_code');
399: p_adj_rec,
400: l_return_status
401: );
402:
403: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
404: THEN
405: p_validation_status := l_return_status ;
406: IF PG_DEBUG in ('Y', 'C') THEN
407: arp_util.debug ('Validate_Adj_Insert: ' || ' failed to validate created from ');
421: IF PG_DEBUG in ('Y', 'C') THEN
422: arp_util.debug('EXCEPTION: Validate_Adj_Insert() ');
423: END IF;
424: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,'Validate_Adj_Insert');
425: p_validation_status := FND_API.G_RET_STS_UNEXP_ERROR ;
426: RETURN;
427:
428:
429: END Validate_Adj_Insert;
473:
474: /*-----------------------------------------------+
475: | Set the status to success |
476: +-----------------------------------------------*/
477: p_return_status := FND_API.G_RET_STS_SUCCESS ;
478:
479: /*-----------------------------------------------+
480: | Set Adjustment Type and Postable attributes |
481: +-----------------------------------------------*/
509: IF PG_DEBUG in ('Y', 'C') THEN
510: arp_util.debug('EXCEPTION: Set_Remaining_Attributes() ');
511: END IF;
512: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,'Set_Remaining_Attributes');
513: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
514: RETURN;
515:
516: END Set_Remaining_Attributes;
517:
585: THEN
586: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_NO_CHANGE_OR_REVERSE');
587: FND_MESSAGE.SET_TOKEN ( 'STATUS', p_old_adj_rec.status ) ;
588: FND_MSG_PUB.ADD ;
589: p_validation_status := FND_API.G_RET_STS_ERROR;
590: IF PG_DEBUG in ('Y', 'C') THEN
591: arp_util.debug('Validate_Adj_modify: ' || 'The old adjustment status is A, cannot modify');
592: END IF;
593: END IF;
601: (p_adj_rec.associated_cash_receipt_id IS NULL)
602: ) THEN
603: FND_MESSAGE.SET_NAME ('AR', 'AR_RAPI_RCPT_RA_ID_X_INVALID');
604: FND_MSG_PUB.ADD ;
605: p_validation_status := FND_API.G_RET_STS_ERROR;
606: IF PG_DEBUG in ('Y', 'C') THEN
607: arp_util.debug('Validate_Adj_modify: ' || 'Invalid associated cash_receipt_id or application id -should not be null');
608: END IF;
609: END IF;
619: THEN
620: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_NO_CHANGE_OR_REVERSE');
621: FND_MESSAGE.SET_TOKEN ( 'STATUS', p_old_adj_rec.status ) ;
622: FND_MSG_PUB.ADD ;
623: p_validation_status := FND_API.G_RET_STS_ERROR;
624: IF PG_DEBUG in ('Y', 'C') THEN
625: arp_util.debug('Validate_Adj_modify: ' || 'Cannot modify comments,status or gl date of an approved adjustment');
626: END IF;
627: END IF;
636: THEN
637: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_INVALID_CHANGE_STATUS');
638: FND_MESSAGE.SET_TOKEN ( 'STATUS', p_adj_rec.status ) ;
639: FND_MSG_PUB.ADD ;
640: p_validation_status := FND_API.G_RET_STS_ERROR;
641: IF PG_DEBUG in ('Y', 'C') THEN
642: arp_util.debug('Validate_Adj_modify: ' || 'The new adjustment status is not valid, cannot modify');
643: END IF;
644: END IF;
668: FND_MESSAGE.SET_NAME ( 'AR', 'AR_AAPI_INVALID_PAYMENT_SCHEDULE');
669: FND_MESSAGE.SET_TOKEN('PAYMENT_SCHEDULE_ID',to_char(p_old_adj_rec.payment_schedule_id));
670: FND_MSG_PUB.ADD ;
671:
672: p_validation_status := FND_API.G_RET_STS_ERROR;
673: IF PG_DEBUG in ('Y', 'C') THEN
674: arp_util.debug('Validate_Adj_modify: ' || 'Invalid Payment Schedule Id');
675: END IF;
676: END ;
681: | will be done only if p_chk_approval_limits is set to |
682: | 'T'. |
683: +------------------------------------------------------*/
684: IF ( p_adj_rec.status = 'A' and
685: p_chk_approval_limits = FND_API.G_TRUE )
686: THEN
687:
688: /*-----------------------------------+
689: | Get the approval limits and check |
695: l_approved_flag,
696: l_return_status
697: ) ;
698:
699: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
700: THEN
701: p_validation_status := l_return_status;
702: IF PG_DEBUG in ('Y', 'C') THEN
703: arp_util.debug('Validate_Adj_modify: ' || 'failure in get approval limits and check');
703: arp_util.debug('Validate_Adj_modify: ' || 'failure in get approval limits and check');
704: END IF;
705: END IF;
706:
707: IF ( l_approved_flag <> FND_API.G_TRUE )
708: THEN
709: FND_MESSAGE.SET_NAME ( 'AR', 'AR_VAL_AMT_APPROVAL_LIMIT');
710: FND_MSG_PUB.ADD ;
711: p_validation_status := FND_API.G_RET_STS_ERROR;
707: IF ( l_approved_flag <> FND_API.G_TRUE )
708: THEN
709: FND_MESSAGE.SET_NAME ( 'AR', 'AR_VAL_AMT_APPROVAL_LIMIT');
710: FND_MSG_PUB.ADD ;
711: p_validation_status := FND_API.G_RET_STS_ERROR;
712: IF PG_DEBUG in ('Y', 'C') THEN
713: arp_util.debug('Validate_Adj_modify: ' || 'amount not in approval limits ');
714: END IF;
715: END IF;
732: NVL(p_adj_rec.gl_date,p_old_adj_rec.gl_date),
733: l_ps_rec,
734: l_return_status
735: ) ;
736: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
737: THEN
738: p_validation_status := l_return_status;
739: IF PG_DEBUG in ('Y', 'C') THEN
740: arp_util.debug('Validate_Adj_modify: ' || 'failure in validating dates');
751: ar_adjvalidate_pvt.Validate_Associated_Receipt (
752: p_adj_rec,
753: l_return_status
754: );
755: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
756: THEN
757: p_validation_status := l_return_status ;
758: IF PG_DEBUG in ('Y', 'C') THEN
759: arp_util.debug ('Validate_Adj_modify: ' || ' failed to validate associated receipt id ');
778: EXCEPTION
779: WHEN no_data_found THEN
780: FND_MESSAGE.SET_NAME ( 'AR', 'AR_RAPI_REC_APP_ID_INVALID');
781: FND_MSG_PUB.ADD ;
782: p_validation_status := FND_API.G_RET_STS_ERROR;
783: IF PG_DEBUG in ('Y', 'C') THEN
784: arp_util.debug('Validate_Adj_modify: ' || 'Associated Application ID passed is invalid');
785: END IF;
786: END;
795: ( l_cash_receipt_id IS NULL )) THEN
796:
797: FND_MESSAGE.SET_NAME ( 'AR', 'AR_RAPI_REC_APP_ID_INVALID');
798: FND_MSG_PUB.ADD ;
799: p_validation_status := FND_API.G_RET_STS_ERROR;
800: IF PG_DEBUG in ('Y', 'C') THEN
801: arp_util.debug('Validate_Adj_modify: ' || 'Associated Application ID should belongs to valid Receipt,pass cash receipt id');
802: END IF;
803: END IF;
859: IF PG_DEBUG in ('Y', 'C') THEN
860: arp_util.debug('EXCEPTION: Validate_Adj_Modify() ');
861: END IF;
862: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,'Validate_Adj_Modify');
863: p_validation_status := FND_API.G_RET_STS_UNEXP_ERROR ;
864: RETURN;
865:
866:
867: END Validate_Adj_Modify;
924: THEN
925: FND_MESSAGE.SET_NAME ( 'AR', 'AR_AAPI_NO_CHANGE_OR_REVERSE');
926: FND_MESSAGE.SET_TOKEN ( 'STATUS', p_old_adj_rec.status);
927: FND_MSG_PUB.ADD ;
928: p_validation_status := FND_API.G_RET_STS_ERROR;
929: IF PG_DEBUG in ('Y', 'C') THEN
930: arp_util.debug('Validate_Adj_Reverse: ' || 'the status of the old adj is not A ');
931: END IF;
932: END IF;
969: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_INVALID_PAYMENT_SCHEDULE');
970: FND_MESSAGE.SET_TOKEN ( 'PAYMENT_SCHEDULE_ID', to_char(p_old_adj_rec.payment_schedule_id) ) ;
971: FND_MSG_PUB.ADD ;
972:
973: p_validation_status := FND_API.G_RET_STS_ERROR;
974: IF PG_DEBUG in ('Y', 'C') THEN
975: arp_util.debug('Validate_Adj_Reverse: ' || 'invalid payment schedule id');
976: END IF;
977: END ;
981: p_reversal_gl_date,
982: l_ps_rec,
983: l_return_status
984: ) ;
985: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
986: THEN
987: p_validation_status := l_return_status;
988: IF PG_DEBUG in ('Y', 'C') THEN
989: arp_util.debug('Validate_Adj_Reverse: ' || 'invalid dates');
1003: IF PG_DEBUG in ('Y', 'C') THEN
1004: arp_util.debug('EXCEPTION: Validate_Adj_Reverse() ');
1005: END IF;
1006: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,'Validate_Adj_Reverse');
1007: p_validation_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1008: RETURN;
1009:
1010:
1011: END Validate_Adj_Reverse;
1071:
1072: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_NO_CHANGE_OR_REVERSE');
1073: FND_MESSAGE.SET_TOKEN ( 'STATUS', p_old_adj_rec.status ) ;
1074: FND_MSG_PUB.ADD ;
1075: p_validation_status := FND_API.G_RET_STS_ERROR;
1076: IF PG_DEBUG in ('Y', 'C') THEN
1077: arp_util.debug('Validate_Adj_Approve: ' || 'the adjustment is already approved or rejected');
1078: END IF;
1079: END IF;
1097:
1098: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_INVALID_CHANGE_STATUS');
1099: FND_MESSAGE.SET_TOKEN ( 'STATUS', p_adj_rec.status ) ;
1100: FND_MSG_PUB.ADD ;
1101: p_validation_status := FND_API.G_RET_STS_ERROR;
1102: IF PG_DEBUG in ('Y', 'C') THEN
1103: arp_util.debug('Validate_Adj_Approve: ' || 'the value of the new status is not in A, R, W, M');
1104: END IF;
1105:
1132:
1133: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_INVALID_PAYMENT_SCHEDULE');
1134: FND_MESSAGE.SET_TOKEN('PAYMENT_SCHEDULE_ID',to_char(p_old_adj_rec.payment_schedule_id));
1135: FND_MSG_PUB.ADD ;
1136: p_validation_status := FND_API.G_RET_STS_ERROR;
1137: IF PG_DEBUG in ('Y', 'C') THEN
1138: arp_util.debug('Validate_Adj_Approve: ' || 'Invalid payment schedule id');
1139: END IF;
1140:
1145: | Special processing for bypassing limit check if |
1146: | p_chk_approval_limits is set to 'F' |
1147: +--------------------------------------------------- */
1148: IF ( p_adj_rec.status = 'A' and
1149: p_chk_approval_limits = FND_API.G_TRUE)
1150: THEN
1151:
1152: /*-----------------------------------+
1153: | Get the approval limits and check |
1159: l_approved_flag,
1160: l_return_status
1161: ) ;
1162:
1163: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
1164: THEN
1165: p_validation_status := l_return_status;
1166: IF PG_DEBUG in ('Y', 'C') THEN
1167: arp_util.debug('Validate_Adj_Approve: ' || ' Error in Get the approval limits and check ');
1167: arp_util.debug('Validate_Adj_Approve: ' || ' Error in Get the approval limits and check ');
1168: END IF;
1169: END IF;
1170:
1171: IF ( l_approved_flag <> FND_API.G_TRUE )
1172: THEN
1173: FND_MESSAGE.SET_NAME ('AR', 'AR_VAL_AMT_APPROVAL_LIMIT');
1174: FND_MSG_PUB.ADD ;
1175:
1172: THEN
1173: FND_MESSAGE.SET_NAME ('AR', 'AR_VAL_AMT_APPROVAL_LIMIT');
1174: FND_MSG_PUB.ADD ;
1175:
1176: p_validation_status := FND_API.G_RET_STS_ERROR;
1177: IF PG_DEBUG in ('Y', 'C') THEN
1178: arp_util.debug('Validate_Adj_Approve: ' || 'not within approval limits');
1179: END IF;
1180: END IF;
1197: NVL(p_adj_rec.gl_date,p_old_adj_rec.gl_date),
1198: l_ps_rec,
1199: l_return_status
1200: ) ;
1201: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
1202: THEN
1203: p_validation_status := l_return_status ;
1204: IF PG_DEBUG in ('Y', 'C') THEN
1205: arp_util.debug('Validate_Adj_Approve: ' || 'invalid gl_date');
1245: IF PG_DEBUG in ('Y', 'C') THEN
1246: arp_util.debug('EXCEPTION: Validate_Adj_Approve() ');
1247: END IF;
1248: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,'Validate_Adj_Approve');
1249: p_validation_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1250: RETURN;
1251:
1252:
1253: END Validate_Adj_Approve;
1295: IF PG_DEBUG in ('Y', 'C') THEN
1296: arp_util.debug('Populate_adj_llca_gt ()+ ');
1297: END IF;
1298:
1299: p_return_status := FND_API.G_RET_STS_SUCCESS;
1300:
1301: -- Clean the GT Table first.
1302: delete from ar_llca_adj_trx_lines_gt
1303: where customer_trx_id = p_customer_trx_id;
1356: WHEN others THEN
1357: IF PG_DEBUG in ('Y', 'C') THEN
1358: arp_util.debug('EXCEPTION: (populate_adj_llca_gt)');
1359: END IF;
1360: p_return_status := FND_API.G_RET_STS_ERROR;
1361: raise;
1362: End populate_adj_llca_gt;
1363:
1364:
1414: IF PG_DEBUG in ('Y', 'C') THEN
1415: arp_util.debug('validate_hdr_level ()+ ');
1416: END IF;
1417:
1418: p_return_status := FND_API.G_RET_STS_SUCCESS;
1419:
1420:
1421: IF p_adj_rec.type NOT IN ('LINE')
1422: THEN
1420:
1421: IF p_adj_rec.type NOT IN ('LINE')
1422: THEN
1423:
1424: l_return_status := FND_API.G_RET_STS_ERROR ;
1425: FND_MESSAGE.SET_NAME ('AR', 'AR_ADJ_API_TYPE_DISALLOW');
1426: FND_MESSAGE.SET_TOKEN ( 'TYPE', p_adj_rec.TYPE ) ;
1427: FND_MSG_PUB.ADD ;
1428:
1483: and customer_trx_id = p_adj_rec.customer_trx_id;
1484:
1485: IF nvl(ll_installment,0) > 1
1486: THEN
1487: l_return_status := FND_API.G_RET_STS_ERROR ;
1488: FND_MESSAGE.SET_NAME ('AR', 'AR_LL_ADJ_INSTALL_NOT_ALLOWED');
1489: FND_MESSAGE.SET_TOKEN ( 'CUST_TRX_ID', p_adj_rec.customer_trx_id ) ;
1490: FND_MSG_PUB.ADD ;
1491: IF PG_DEBUG in ('Y', 'C') THEN
1504: x_11i_app => ll_leg_app,
1505: x_mfar_app => ll_mfar_app );
1506: IF (ll_leg_adj = 'Y') OR (ll_leg_app = 'Y')
1507: THEN
1508: l_return_status := FND_API.G_RET_STS_ERROR ;
1509: FND_MESSAGE.SET_NAME ('AR', 'AR_LL_ADJ_LEGACY_NOT_ALLOWED');
1510: FND_MESSAGE.SET_TOKEN ( 'CUST_TRX_ID', p_adj_rec.customer_trx_id ) ;
1511: FND_MSG_PUB.ADD ;
1512: IF PG_DEBUG in ('Y', 'C') THEN
1517: END IF;
1518:
1519: Exception
1520: when others then
1521: p_return_status := FND_API.G_RET_STS_ERROR;
1522: raise;
1523: End;
1524:
1525: p_return_status := l_return_status;
1532: when others then
1533: IF PG_DEBUG in ('Y', 'C') THEN
1534: arp_util.debug('EXCEPTION: (validate_hdr_level)');
1535: END IF;
1536: p_return_status := FND_API.G_RET_STS_ERROR;
1537: raise;
1538:
1539: END validate_hdr_level;
1540:
1549: | |
1550: | SCOPE - PUBLIC |
1551: | |
1552: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1553: | fnd_api.compatible_api_call |
1554: | fnd_api.g_exc_unexpected_error |
1555: | fnd_api.g_ret_sts_error |
1556: | fnd_api.g_ret_sts_error |
1557: | fnd_api.g_ret_sts_success |
1550: | SCOPE - PUBLIC |
1551: | |
1552: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1553: | fnd_api.compatible_api_call |
1554: | fnd_api.g_exc_unexpected_error |
1555: | fnd_api.g_ret_sts_error |
1556: | fnd_api.g_ret_sts_error |
1557: | fnd_api.g_ret_sts_success |
1558: | fnd_api.to_boolean |
1551: | |
1552: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1553: | fnd_api.compatible_api_call |
1554: | fnd_api.g_exc_unexpected_error |
1555: | fnd_api.g_ret_sts_error |
1556: | fnd_api.g_ret_sts_error |
1557: | fnd_api.g_ret_sts_success |
1558: | fnd_api.to_boolean |
1559: | fnd_msg_pub.check_msg_level |
1552: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1553: | fnd_api.compatible_api_call |
1554: | fnd_api.g_exc_unexpected_error |
1555: | fnd_api.g_ret_sts_error |
1556: | fnd_api.g_ret_sts_error |
1557: | fnd_api.g_ret_sts_success |
1558: | fnd_api.to_boolean |
1559: | fnd_msg_pub.check_msg_level |
1560: | fnd_msg_pub.count_and_get |
1553: | fnd_api.compatible_api_call |
1554: | fnd_api.g_exc_unexpected_error |
1555: | fnd_api.g_ret_sts_error |
1556: | fnd_api.g_ret_sts_error |
1557: | fnd_api.g_ret_sts_success |
1558: | fnd_api.to_boolean |
1559: | fnd_msg_pub.check_msg_level |
1560: | fnd_msg_pub.count_and_get |
1561: | fnd_msg_pub.initialize |
1554: | fnd_api.g_exc_unexpected_error |
1555: | fnd_api.g_ret_sts_error |
1556: | fnd_api.g_ret_sts_error |
1557: | fnd_api.g_ret_sts_success |
1558: | fnd_api.to_boolean |
1559: | fnd_msg_pub.check_msg_level |
1560: | fnd_msg_pub.count_and_get |
1561: | fnd_msg_pub.initialize |
1562: | ar_adjvalidate_pvt.Init_Context_Rec |
1615:
1616: PROCEDURE Create_Adjustment (
1617: p_api_name IN varchar2,
1618: p_api_version IN number,
1619: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
1620: p_commit_flag IN varchar2 := FND_API.G_FALSE,
1621: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
1622: p_msg_count OUT NOCOPY number,
1623: p_msg_data OUT NOCOPY varchar2,
1616: PROCEDURE Create_Adjustment (
1617: p_api_name IN varchar2,
1618: p_api_version IN number,
1619: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
1620: p_commit_flag IN varchar2 := FND_API.G_FALSE,
1621: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
1622: p_msg_count OUT NOCOPY number,
1623: p_msg_data OUT NOCOPY varchar2,
1624: p_return_status OUT NOCOPY varchar2 ,
1617: p_api_name IN varchar2,
1618: p_api_version IN number,
1619: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
1620: p_commit_flag IN varchar2 := FND_API.G_FALSE,
1621: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
1622: p_msg_count OUT NOCOPY number,
1623: p_msg_data OUT NOCOPY varchar2,
1624: p_return_status OUT NOCOPY varchar2 ,
1625: p_adj_rec IN ar_adjustments%rowtype,
1622: p_msg_count OUT NOCOPY number,
1623: p_msg_data OUT NOCOPY varchar2,
1624: p_return_status OUT NOCOPY varchar2 ,
1625: p_adj_rec IN ar_adjustments%rowtype,
1626: p_chk_approval_limits IN varchar2 := FND_API.G_TRUE,
1627: p_check_amount IN varchar2 := FND_API.G_TRUE,
1628: p_move_deferred_tax IN varchar2,
1629: p_new_adjust_number OUT NOCOPY ar_adjustments.adjustment_number%type,
1630: p_new_adjust_id OUT NOCOPY ar_adjustments.adjustment_id%type,
1623: p_msg_data OUT NOCOPY varchar2,
1624: p_return_status OUT NOCOPY varchar2 ,
1625: p_adj_rec IN ar_adjustments%rowtype,
1626: p_chk_approval_limits IN varchar2 := FND_API.G_TRUE,
1627: p_check_amount IN varchar2 := FND_API.G_TRUE,
1628: p_move_deferred_tax IN varchar2,
1629: p_new_adjust_number OUT NOCOPY ar_adjustments.adjustment_number%type,
1630: p_new_adjust_id OUT NOCOPY ar_adjustments.adjustment_id%type,
1631: p_called_from IN varchar2,
1670: /*--------------------------------------------------+
1671: | Standard call to check for call compatibility |
1672: +--------------------------------------------------*/
1673:
1674: IF NOT FND_API.Compatible_API_Call(
1675: l_api_version,
1676: p_api_version,
1677: l_api_name,
1678: G_PKG_NAME
1680: THEN
1681: IF PG_DEBUG in ('Y', 'C') THEN
1682: arp_util.debug('Create_Adjustment: ' || 'Compatility error occurred.');
1683: END IF;
1684: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1685: END IF;
1686:
1687: /*-------------------------------------------------------------+
1688: | Initialize message list if p_init_msg_list is set to TRUE |
1687: /*-------------------------------------------------------------+
1688: | Initialize message list if p_init_msg_list is set to TRUE |
1689: +-------------------------------------------------------------*/
1690:
1691: IF FND_API.to_Boolean( p_init_msg_list )
1692: THEN
1693: FND_MSG_PUB.initialize;
1694: END IF;
1695:
1702: /*-----------------------------------------+
1703: | Initialize return status to SUCCESS |
1704: +-----------------------------------------*/
1705:
1706: p_return_status := FND_API.G_RET_STS_SUCCESS;
1707:
1708: /* SSA change */
1709: l_org_id := p_org_id;
1710: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
1706: p_return_status := FND_API.G_RET_STS_SUCCESS;
1707:
1708: /* SSA change */
1709: l_org_id := p_org_id;
1710: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
1711: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
1712: p_return_status =>l_org_return_status);
1713: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1714: p_return_status := FND_API.G_RET_STS_ERROR;
1709: l_org_id := p_org_id;
1710: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
1711: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
1712: p_return_status =>l_org_return_status);
1713: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1714: p_return_status := FND_API.G_RET_STS_ERROR;
1715: ELSE
1716:
1717: /*---------------------------------------------+
1710: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
1711: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
1712: p_return_status =>l_org_return_status);
1713: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1714: p_return_status := FND_API.G_RET_STS_ERROR;
1715: ELSE
1716:
1717: /*---------------------------------------------+
1718: | ========== Start of API Body ========== |
1738: | Check the return status |
1739: /*---------------------------------------------------+
1740:
1741:
1742: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
1743: THEN
1744: p_return_status := l_return_status ;
1745: IF PG_DEBUG in ('Y', 'C') THEN
1746: arp_util.debug('Create_Adjustment: ' || ' Init_context_rec has errors ' );
1759: /*---------------------------------------------------+
1760: | Check the return status |
1761: /*---------------------------------------------------+
1762:
1763: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
1764: THEN
1765: p_return_status := l_return_status ;
1766: IF PG_DEBUG in ('Y', 'C') THEN
1767: arp_util.debug('Create_Adjustment: ' || ' Cache_details has errors ' );
1826: l_chk_approval_limits := p_chk_approval_limits;
1827: l_check_amount := p_check_amount;
1828:
1829: IF (l_chk_approval_limits IS NULL) THEN
1830: l_chk_approval_limits := FND_API.G_TRUE;
1831: END IF;
1832:
1833: IF (l_check_amount IS NULL) THEN
1834: l_check_amount := FND_API.G_TRUE;
1830: l_chk_approval_limits := FND_API.G_TRUE;
1831: END IF;
1832:
1833: IF (l_check_amount IS NULL) THEN
1834: l_check_amount := FND_API.G_TRUE;
1835: END IF;
1836:
1837: ar_adjust_pub.Validate_Adj_Insert(
1838: l_inp_adj_rec,
1840: l_check_amount,
1841: l_return_status
1842: );
1843:
1844: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
1845: THEN
1846: p_return_status := l_return_status ;
1847: IF PG_DEBUG in ('Y', 'C') THEN
1848: arp_util.debug('Create_Adjustment: ' || 'Validation error(s) occurred. '||
1853:
1854: /*-----------------------------------------------+
1855: | Handling all the validation exceptions |
1856: +-----------------------------------------------*/
1857: IF (p_return_status = FND_API.G_RET_STS_ERROR)
1858: THEN
1859: RAISE FND_API.G_EXC_ERROR;
1860:
1861: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
1855: | Handling all the validation exceptions |
1856: +-----------------------------------------------*/
1857: IF (p_return_status = FND_API.G_RET_STS_ERROR)
1858: THEN
1859: RAISE FND_API.G_EXC_ERROR;
1860:
1861: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
1862: THEN
1863: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1857: IF (p_return_status = FND_API.G_RET_STS_ERROR)
1858: THEN
1859: RAISE FND_API.G_EXC_ERROR;
1860:
1861: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
1862: THEN
1863: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1864: END IF;
1865:
1859: RAISE FND_API.G_EXC_ERROR;
1860:
1861: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
1862: THEN
1863: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1864: END IF;
1865:
1866:
1867: /*-----------------------------------------------+
1873: l_inp_adj_rec,
1874: l_return_status
1875: ) ;
1876:
1877: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
1878: THEN
1879:
1880: p_return_status := l_return_status ;
1881: IF PG_DEBUG in ('Y', 'C') THEN
1883: 'Validation error(s) occurred. Rolling back '||
1884: 'and setting status to ERROR');
1885: END IF;
1886:
1887: IF (p_return_status = FND_API.G_RET_STS_ERROR)
1888: THEN
1889: RAISE FND_API.G_EXC_ERROR;
1890: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
1891: THEN
1885: END IF;
1886:
1887: IF (p_return_status = FND_API.G_RET_STS_ERROR)
1888: THEN
1889: RAISE FND_API.G_EXC_ERROR;
1890: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
1891: THEN
1892: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1893: END IF;
1886:
1887: IF (p_return_status = FND_API.G_RET_STS_ERROR)
1888: THEN
1889: RAISE FND_API.G_EXC_ERROR;
1890: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
1891: THEN
1892: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1893: END IF;
1894: END IF;
1888: THEN
1889: RAISE FND_API.G_EXC_ERROR;
1890: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
1891: THEN
1892: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1893: END IF;
1894: END IF;
1895:
1896: /*-----------------------------------------------+
1935: | Rollback to the defined Savepoint |
1936: +---------------------------------------------------*/
1937:
1938: ROLLBACK TO ar_adjust_PUB;
1939: p_return_status := FND_API.G_RET_STS_ERROR ;
1940:
1941: FND_MESSAGE.set_name( 'AR', 'GENERIC_MESSAGE' );
1942: FND_MESSAGE.set_token( 'GENERIC_TEXT', 'arp_process_adjustment.insert_adjustment exception: '||SQLERRM );
1943: --2920926
1946: | Get message count and if 1, return message data |
1947: +---------------------------------------------------*/
1948:
1949: FND_MSG_PUB.Count_And_Get(
1950: p_encoded => FND_API.G_FALSE,
1951: p_count => p_msg_count,
1952: p_data => p_msg_data
1953: );
1954: IF PG_DEBUG in ('Y', 'C') THEN
1972: | Get message count and if 1, return message data |
1973: +---------------------------------------------------*/
1974:
1975: FND_MSG_PUB.Count_And_Get(
1976: p_encoded => FND_API.G_FALSE,
1977: p_count => p_msg_count,
1978: p_data => p_msg_data
1979: );
1980:
1981: /*--------------------------------+
1982: | Standard check of p_commit |
1983: +--------------------------------*/
1984:
1985: IF FND_API.To_Boolean( p_commit_flag )
1986: THEN
1987: IF PG_DEBUG in ('Y', 'C') THEN
1988: arp_util.debug('Create_Adjustment: ' || 'committing');
1989: END IF;
2003: END IF;
2004: END IF;
2005:
2006: EXCEPTION
2007: WHEN FND_API.G_EXC_ERROR THEN
2008:
2009: IF PG_DEBUG in ('Y', 'C') THEN
2010: arp_util.debug('Create_Adjustment: ' || SQLCODE);
2011: arp_util.debug('Create_Adjustment: ' || SQLERRM);
2011: arp_util.debug('Create_Adjustment: ' || SQLERRM);
2012: END IF;
2013:
2014: ROLLBACK TO ar_adjust_PUB;
2015: p_return_status := FND_API.G_RET_STS_ERROR ;
2016: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
2017: p_count => p_msg_count,
2018: p_data => p_msg_data
2019: );
2012: END IF;
2013:
2014: ROLLBACK TO ar_adjust_PUB;
2015: p_return_status := FND_API.G_RET_STS_ERROR ;
2016: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
2017: p_count => p_msg_count,
2018: p_data => p_msg_data
2019: );
2020:
2017: p_count => p_msg_count,
2018: p_data => p_msg_data
2019: );
2020:
2021: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2022:
2023: IF PG_DEBUG in ('Y', 'C') THEN
2024: arp_util.debug('Create_Adjustment: ' || SQLERRM);
2025: END IF;
2023: IF PG_DEBUG in ('Y', 'C') THEN
2024: arp_util.debug('Create_Adjustment: ' || SQLERRM);
2025: END IF;
2026: ROLLBACK TO ar_adjust_PUB ;
2027: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2028: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
2029: p_count => p_msg_count,
2030: p_data => p_msg_data
2031: );
2024: arp_util.debug('Create_Adjustment: ' || SQLERRM);
2025: END IF;
2026: ROLLBACK TO ar_adjust_PUB ;
2027: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2028: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
2029: p_count => p_msg_count,
2030: p_data => p_msg_data
2031: );
2032:
2039: +-------------------------------------------------------*/
2040:
2041: IF (SQLCODE = -20001)
2042: THEN
2043: p_return_status := FND_API.G_RET_STS_ERROR ;
2044: ROLLBACK TO ar_adjust_PUB;
2045: IF PG_DEBUG in ('Y', 'C') THEN
2046: arp_util.debug('Create_Adjustment: ' ||
2047: 'Completion validation error(s) occurred. ' ||
2047: 'Completion validation error(s) occurred. ' ||
2048: 'Rolling back and setting status to ERROR');
2049: END IF;
2050:
2051: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
2052: p_count => p_msg_count,
2053: p_data => p_msg_data
2054: );
2055: RETURN;
2072: | |
2073: | SCOPE - PUBLIC |
2074: | |
2075: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
2076: | fnd_api.compatible_api_call |
2077: | fnd_api.g_exc_unexpected_error |
2078: | fnd_api.g_ret_sts_error |
2079: | fnd_api.g_ret_sts_error |
2080: | fnd_api.g_ret_sts_success |
2073: | SCOPE - PUBLIC |
2074: | |
2075: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
2076: | fnd_api.compatible_api_call |
2077: | fnd_api.g_exc_unexpected_error |
2078: | fnd_api.g_ret_sts_error |
2079: | fnd_api.g_ret_sts_error |
2080: | fnd_api.g_ret_sts_success |
2081: | fnd_api.to_boolean |
2074: | |
2075: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
2076: | fnd_api.compatible_api_call |
2077: | fnd_api.g_exc_unexpected_error |
2078: | fnd_api.g_ret_sts_error |
2079: | fnd_api.g_ret_sts_error |
2080: | fnd_api.g_ret_sts_success |
2081: | fnd_api.to_boolean |
2082: | fnd_msg_pub.check_msg_level |
2075: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
2076: | fnd_api.compatible_api_call |
2077: | fnd_api.g_exc_unexpected_error |
2078: | fnd_api.g_ret_sts_error |
2079: | fnd_api.g_ret_sts_error |
2080: | fnd_api.g_ret_sts_success |
2081: | fnd_api.to_boolean |
2082: | fnd_msg_pub.check_msg_level |
2083: | fnd_msg_pub.count_and_get |
2076: | fnd_api.compatible_api_call |
2077: | fnd_api.g_exc_unexpected_error |
2078: | fnd_api.g_ret_sts_error |
2079: | fnd_api.g_ret_sts_error |
2080: | fnd_api.g_ret_sts_success |
2081: | fnd_api.to_boolean |
2082: | fnd_msg_pub.check_msg_level |
2083: | fnd_msg_pub.count_and_get |
2084: | fnd_msg_pub.initialize |
2077: | fnd_api.g_exc_unexpected_error |
2078: | fnd_api.g_ret_sts_error |
2079: | fnd_api.g_ret_sts_error |
2080: | fnd_api.g_ret_sts_success |
2081: | fnd_api.to_boolean |
2082: | fnd_msg_pub.check_msg_level |
2083: | fnd_msg_pub.count_and_get |
2084: | fnd_msg_pub.initialize |
2085: | ar_adjvalidate_pvt.Init_Context_Rec |
2117:
2118: PROCEDURE create_linelevel_adjustment (
2119: p_api_name IN varchar2,
2120: p_api_version IN number,
2121: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
2122: p_commit_flag IN varchar2 := FND_API.G_FALSE,
2123: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
2124: p_msg_count OUT NOCOPY number,
2125: p_msg_data OUT NOCOPY varchar2,
2118: PROCEDURE create_linelevel_adjustment (
2119: p_api_name IN varchar2,
2120: p_api_version IN number,
2121: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
2122: p_commit_flag IN varchar2 := FND_API.G_FALSE,
2123: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
2124: p_msg_count OUT NOCOPY number,
2125: p_msg_data OUT NOCOPY varchar2,
2126: p_return_status OUT NOCOPY varchar2 ,
2119: p_api_name IN varchar2,
2120: p_api_version IN number,
2121: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
2122: p_commit_flag IN varchar2 := FND_API.G_FALSE,
2123: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
2124: p_msg_count OUT NOCOPY number,
2125: p_msg_data OUT NOCOPY varchar2,
2126: p_return_status OUT NOCOPY varchar2 ,
2127: p_adj_rec IN ar_adjustments%rowtype,
2124: p_msg_count OUT NOCOPY number,
2125: p_msg_data OUT NOCOPY varchar2,
2126: p_return_status OUT NOCOPY varchar2 ,
2127: p_adj_rec IN ar_adjustments%rowtype,
2128: p_chk_approval_limits IN varchar2 := FND_API.G_TRUE,
2129: p_llca_adj_trx_lines_tbl IN llca_adj_trx_line_tbl_type,
2130: p_check_amount IN varchar2 := FND_API.G_TRUE,
2131: p_move_deferred_tax IN varchar2,
2132: p_llca_adj_create_tbl_type OUT NOCOPY llca_adj_create_tbl_type,
2126: p_return_status OUT NOCOPY varchar2 ,
2127: p_adj_rec IN ar_adjustments%rowtype,
2128: p_chk_approval_limits IN varchar2 := FND_API.G_TRUE,
2129: p_llca_adj_trx_lines_tbl IN llca_adj_trx_line_tbl_type,
2130: p_check_amount IN varchar2 := FND_API.G_TRUE,
2131: p_move_deferred_tax IN varchar2,
2132: p_llca_adj_create_tbl_type OUT NOCOPY llca_adj_create_tbl_type,
2133: p_called_from IN varchar2,
2134: p_old_adjust_id IN ar_adjustments.adjustment_id%type,
2182: /*--------------------------------------------------+
2183: | Standard call to check for call compatibility |
2184: +--------------------------------------------------*/
2185:
2186: IF NOT FND_API.Compatible_API_Call(
2187: l_api_version,
2188: p_api_version,
2189: l_api_name,
2190: G_PKG_NAME
2192: THEN
2193: IF PG_DEBUG in ('Y', 'C') THEN
2194: arp_util.debug('create_linelevel_adjustment : ' || 'Compatility error occurred.');
2195: END IF;
2196: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2197: END IF;
2198:
2199: /*-------------------------------------------------------------+
2200: | Initialize message list if p_init_msg_list is set to TRUE |
2199: /*-------------------------------------------------------------+
2200: | Initialize message list if p_init_msg_list is set to TRUE |
2201: +-------------------------------------------------------------*/
2202:
2203: IF FND_API.to_Boolean( p_init_msg_list )
2204: THEN
2205: FND_MSG_PUB.initialize;
2206: END IF;
2207:
2214: /*-----------------------------------------+
2215: | Initialize return status to SUCCESS |
2216: +-----------------------------------------*/
2217:
2218: p_return_status := FND_API.G_RET_STS_SUCCESS;
2219:
2220: /* SSA change */
2221: l_org_id := p_org_id;
2222: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
2218: p_return_status := FND_API.G_RET_STS_SUCCESS;
2219:
2220: /* SSA change */
2221: l_org_id := p_org_id;
2222: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
2223: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
2224: p_return_status =>l_org_return_status);
2225: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2226: p_return_status := FND_API.G_RET_STS_ERROR;
2221: l_org_id := p_org_id;
2222: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
2223: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
2224: p_return_status =>l_org_return_status);
2225: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2226: p_return_status := FND_API.G_RET_STS_ERROR;
2227: ELSE
2228:
2229: /*---------------------------------------------+
2222: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
2223: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
2224: p_return_status =>l_org_return_status);
2225: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2226: p_return_status := FND_API.G_RET_STS_ERROR;
2227: ELSE
2228:
2229: /*---------------------------------------------+
2230: | ========== Start of API Body ========== |
2250: | Check the return status |
2251: /*---------------------------------------------------+
2252:
2253:
2254: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
2255: THEN
2256: p_return_status := l_return_status ;
2257: IF PG_DEBUG in ('Y', 'C') THEN
2258: arp_util.debug('create_linelevel_adjustment: ' || ' Init_context_rec has errors ' );
2271: /*---------------------------------------------------+
2272: | Check the return status |
2273: /*---------------------------------------------------+
2274:
2275: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
2276: THEN
2277: p_return_status := l_return_status ;
2278: IF PG_DEBUG in ('Y', 'C') THEN
2279: arp_util.debug('create_linelevel_adjustment: ' || ' Cache_details has errors ' );
2303: l_chk_approval_limits := p_chk_approval_limits;
2304: l_check_amount := p_check_amount;
2305:
2306: IF (l_chk_approval_limits IS NULL) THEN
2307: l_chk_approval_limits := FND_API.G_TRUE;
2308: END IF;
2309:
2310: IF (l_check_amount IS NULL) THEN
2311: l_check_amount := FND_API.G_TRUE;
2307: l_chk_approval_limits := FND_API.G_TRUE;
2308: END IF;
2309:
2310: IF (l_check_amount IS NULL) THEN
2311: l_check_amount := FND_API.G_TRUE;
2312: END IF;
2313:
2314:
2315: populate_adj_llca_gt (
2317: p_llca_adj_trx_lines_tbl => p_llca_adj_trx_lines_tbl,
2318: p_return_status => l_gt_return_status);
2319:
2320:
2321: IF l_gt_return_status <> FND_API.G_RET_STS_SUCCESS
2322: THEN
2323:
2324: p_return_status := FND_API.G_RET_STS_ERROR ;
2325:
2320:
2321: IF l_gt_return_status <> FND_API.G_RET_STS_SUCCESS
2322: THEN
2323:
2324: p_return_status := FND_API.G_RET_STS_ERROR ;
2325:
2326: IF PG_DEBUG in ('Y', 'C') THEN
2327: arp_util.debug('create_linelevel_adjustment : ' || 'Error(s) occurred. Rolling back and setting status to ERROR');
2328: arp_util.debug('create_linelevel_adjustment : ' || 'Error while populating GT table');
2329: END IF;
2330:
2331: END IF;
2332:
2333: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2334: THEN
2335: RAISE FND_API.G_EXC_ERROR;
2336:
2337: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2331: END IF;
2332:
2333: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2334: THEN
2335: RAISE FND_API.G_EXC_ERROR;
2336:
2337: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2338: THEN
2339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2333: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2334: THEN
2335: RAISE FND_API.G_EXC_ERROR;
2336:
2337: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2338: THEN
2339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2340: END IF;
2341:
2335: RAISE FND_API.G_EXC_ERROR;
2336:
2337: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2338: THEN
2339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2340: END IF;
2341:
2342: /*--------------------------------------------------+
2343: | Header level Validation Call |
2348: p_adj_rec,
2349: l_hdr_return_status);
2350:
2351:
2352: IF l_hdr_return_status <> FND_API.G_RET_STS_SUCCESS
2353: THEN
2354: p_return_status := FND_API.G_RET_STS_ERROR ;
2355:
2356: IF PG_DEBUG in ('Y', 'C') THEN
2350:
2351:
2352: IF l_hdr_return_status <> FND_API.G_RET_STS_SUCCESS
2353: THEN
2354: p_return_status := FND_API.G_RET_STS_ERROR ;
2355:
2356: IF PG_DEBUG in ('Y', 'C') THEN
2357: arp_util.debug('create_linelevel_adjustment : ' || 'Error(s) occurred. Rolling back and setting status to ERROR');
2358: arp_util.debug('create_linelevel_adjustment : ' || 'Error while populating GT table');
2360:
2361: END IF;
2362:
2363:
2364: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2365: THEN
2366: RAISE FND_API.G_EXC_ERROR;
2367:
2368: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2362:
2363:
2364: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2365: THEN
2366: RAISE FND_API.G_EXC_ERROR;
2367:
2368: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2369: THEN
2370: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2364: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2365: THEN
2366: RAISE FND_API.G_EXC_ERROR;
2367:
2368: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2369: THEN
2370: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2371: END IF;
2372:
2366: RAISE FND_API.G_EXC_ERROR;
2367:
2368: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2369: THEN
2370: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2371: END IF;
2372:
2373:
2374: IF ( p_return_status = FND_API.G_RET_STS_SUCCESS ) -- Start of for loop processing
2370: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2371: END IF;
2372:
2373:
2374: IF ( p_return_status = FND_API.G_RET_STS_SUCCESS ) -- Start of for loop processing
2375: THEN
2376:
2377:
2378: --For i in p_llca_adj_trx_lines_tbl.FIRST..p_llca_adj_trx_lines_tbl.LAST
2382: /* l_inp_adj_rec.customer_trx_line_id := p_llca_adj_trx_lines_tbl(i).customer_trx_line_id;
2383: l_inp_adj_rec.receivables_trx_id := p_llca_adj_trx_lines_tbl(i).receivables_trx_id;
2384: l_inp_adj_rec.amount := p_llca_adj_trx_lines_tbl(i).line_amount;*/
2385:
2386: l_line_return_status := FND_API.G_RET_STS_SUCCESS;
2387:
2388:
2389: l_inp_adj_rec.customer_trx_line_id := gt_adj_lines_row.customer_trx_line_id;
2390: l_inp_adj_rec.receivables_trx_id := gt_adj_lines_row.receivables_trx_id;
2414: 'AR_RAPI_TRX_LINE_ID_INVALID ',
2415: 'customer_trx_line_id'
2416: );
2417:
2418: l_line_return_status := FND_API.G_RET_STS_ERROR;
2419:
2420: ELSIF gt_adj_lines_row.receivables_trx_id IS NULL
2421: THEN
2422:
2436: 'AR_RAPI_RECEIVABLES_TRX_ID_INVALID ',
2437: 'receivables_trx_id'
2438: );
2439:
2440: l_line_return_status := FND_API.G_RET_STS_ERROR;
2441:
2442: ELSE
2443:
2444: ar_adjust_pub.Validate_Adj_Insert(
2448: l_return_status,
2449: 'Y'
2450: );
2451:
2452: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
2453: THEN
2454: l_line_return_status := l_return_status ;
2455: IF PG_DEBUG in ('Y', 'C') THEN
2456: arp_util.debug('create_linelevel_adjustment: ' || 'Validation error(s) occurred.');
2464: | Reset attributes which should not be populated |
2465: +-----------------------------------------------*/
2466:
2467:
2468: IF ( l_line_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
2469: ar_adjust_pub.Set_Remaining_Attributes (
2470: l_inp_adj_rec,
2471: l_return_status
2472: ) ;
2470: l_inp_adj_rec,
2471: l_return_status
2472: ) ;
2473:
2474: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
2475: THEN
2476:
2477: l_line_return_status := l_return_status ;
2478: IF PG_DEBUG in ('Y', 'C') THEN
2488: /*-----------------------------------------------+
2489: | Call the entity Handler for insert |
2490: +-----------------------------------------------*/
2491:
2492: IF ( l_line_return_status = FND_API.G_RET_STS_SUCCESS ) THEN -- Processing the adjustment
2493:
2494: IF (l_inp_adj_rec.code_combination_id is NOT NULL) THEN
2495: l_override_flag := 'Y';
2496: END IF;
2525: | Rollback to the defined Savepoint |
2526: +---------------------------------------------------*/
2527:
2528: ROLLBACK TO ar_adjust_line_PUB;
2529: p_return_status := FND_API.G_RET_STS_ERROR ;
2530:
2531: FND_MESSAGE.set_name( 'AR', 'GENERIC_MESSAGE' );
2532: FND_MESSAGE.set_token( 'GENERIC_TEXT', 'arp_process_adjustment.insert_adjustment exception: '||SQLERRM );
2533: --2920926
2536: | Get message count and if 1, return message data |
2537: +---------------------------------------------------*/
2538:
2539: FND_MSG_PUB.Count_And_Get(
2540: p_encoded => FND_API.G_FALSE,
2541: p_count => p_msg_count,
2542: p_data => p_msg_data
2543: );
2544: IF PG_DEBUG in ('Y', 'C') THEN
2571: | Get message count and if 1, return message data |
2572: +---------------------------------------------------*/
2573:
2574: FND_MSG_PUB.Count_And_Get(
2575: p_encoded => FND_API.G_FALSE,
2576: p_count => p_msg_count,
2577: p_data => p_msg_data
2578: );
2579:
2580: /*--------------------------------+
2581: | Standard check of p_commit |
2582: +--------------------------------*/
2583:
2584: IF FND_API.To_Boolean( p_commit_flag )
2585: THEN
2586: IF PG_DEBUG in ('Y', 'C') THEN
2587: arp_util.debug('create_linelevel_adjustment: ' || 'committing');
2588: END IF;
2602: END IF;
2603: END IF;
2604:
2605: EXCEPTION
2606: WHEN FND_API.G_EXC_ERROR THEN
2607:
2608: IF PG_DEBUG in ('Y', 'C') THEN
2609: arp_util.debug('create_linelevel_adjustment: ' || SQLCODE);
2610: arp_util.debug('create_linelevel_adjustment: ' || SQLERRM);
2610: arp_util.debug('create_linelevel_adjustment: ' || SQLERRM);
2611: END IF;
2612:
2613: ROLLBACK TO ar_adjust_line_PUB;
2614: p_return_status := FND_API.G_RET_STS_ERROR ;
2615: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
2616: p_count => p_msg_count,
2617: p_data => p_msg_data
2618: );
2611: END IF;
2612:
2613: ROLLBACK TO ar_adjust_line_PUB;
2614: p_return_status := FND_API.G_RET_STS_ERROR ;
2615: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
2616: p_count => p_msg_count,
2617: p_data => p_msg_data
2618: );
2619:
2616: p_count => p_msg_count,
2617: p_data => p_msg_data
2618: );
2619:
2620: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2621:
2622: IF PG_DEBUG in ('Y', 'C') THEN
2623: arp_util.debug('create_linelevel_adjustment: ' || SQLERRM);
2624: END IF;
2622: IF PG_DEBUG in ('Y', 'C') THEN
2623: arp_util.debug('create_linelevel_adjustment: ' || SQLERRM);
2624: END IF;
2625: ROLLBACK TO ar_adjust_line_PUB ;
2626: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2627: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
2628: p_count => p_msg_count,
2629: p_data => p_msg_data
2630: );
2623: arp_util.debug('create_linelevel_adjustment: ' || SQLERRM);
2624: END IF;
2625: ROLLBACK TO ar_adjust_line_PUB ;
2626: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2627: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
2628: p_count => p_msg_count,
2629: p_data => p_msg_data
2630: );
2631:
2638: +-------------------------------------------------------*/
2639:
2640: IF (SQLCODE = -20001)
2641: THEN
2642: p_return_status := FND_API.G_RET_STS_ERROR ;
2643: ROLLBACK TO ar_adjust_line_PUB;
2644: IF PG_DEBUG in ('Y', 'C') THEN
2645: arp_util.debug('create_linelevel_adjustment: ' ||
2646: 'Completion validation error(s) occurred. ' ||
2646: 'Completion validation error(s) occurred. ' ||
2647: 'Rolling back and setting status to ERROR');
2648: END IF;
2649:
2650: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
2651: p_count => p_msg_count,
2652: p_data => p_msg_data
2653: );
2654: RETURN;
2670: | |
2671: | SCOPE - PUBLIC |
2672: | |
2673: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
2674: | fnd_api.compatible_api_call |
2675: | fnd_api.g_exc_unexpected_error |
2676: | fnd_api.g_ret_sts_error |
2677: | fnd_api.g_ret_sts_error |
2678: | fnd_api.g_ret_sts_success |
2671: | SCOPE - PUBLIC |
2672: | |
2673: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
2674: | fnd_api.compatible_api_call |
2675: | fnd_api.g_exc_unexpected_error |
2676: | fnd_api.g_ret_sts_error |
2677: | fnd_api.g_ret_sts_error |
2678: | fnd_api.g_ret_sts_success |
2679: | fnd_api.to_boolean |
2672: | |
2673: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
2674: | fnd_api.compatible_api_call |
2675: | fnd_api.g_exc_unexpected_error |
2676: | fnd_api.g_ret_sts_error |
2677: | fnd_api.g_ret_sts_error |
2678: | fnd_api.g_ret_sts_success |
2679: | fnd_api.to_boolean |
2680: | fnd_msg_pub.check_msg_level |
2673: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
2674: | fnd_api.compatible_api_call |
2675: | fnd_api.g_exc_unexpected_error |
2676: | fnd_api.g_ret_sts_error |
2677: | fnd_api.g_ret_sts_error |
2678: | fnd_api.g_ret_sts_success |
2679: | fnd_api.to_boolean |
2680: | fnd_msg_pub.check_msg_level |
2681: | fnd_msg_pub.count_and_get |
2674: | fnd_api.compatible_api_call |
2675: | fnd_api.g_exc_unexpected_error |
2676: | fnd_api.g_ret_sts_error |
2677: | fnd_api.g_ret_sts_error |
2678: | fnd_api.g_ret_sts_success |
2679: | fnd_api.to_boolean |
2680: | fnd_msg_pub.check_msg_level |
2681: | fnd_msg_pub.count_and_get |
2682: | fnd_msg_pub.initialize |
2675: | fnd_api.g_exc_unexpected_error |
2676: | fnd_api.g_ret_sts_error |
2677: | fnd_api.g_ret_sts_error |
2678: | fnd_api.g_ret_sts_success |
2679: | fnd_api.to_boolean |
2680: | fnd_msg_pub.check_msg_level |
2681: | fnd_msg_pub.count_and_get |
2682: | fnd_msg_pub.initialize |
2683: | ar_adjustments_pkg.fetch_p |
2722:
2723: PROCEDURE Modify_Adjustment (
2724: p_api_name IN varchar2,
2725: p_api_version IN number,
2726: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
2727: p_commit_flag IN varchar2 := FND_API.G_FALSE,
2728: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
2729: p_msg_count OUT NOCOPY number,
2730: p_msg_data OUT NOCOPY varchar2,
2723: PROCEDURE Modify_Adjustment (
2724: p_api_name IN varchar2,
2725: p_api_version IN number,
2726: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
2727: p_commit_flag IN varchar2 := FND_API.G_FALSE,
2728: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
2729: p_msg_count OUT NOCOPY number,
2730: p_msg_data OUT NOCOPY varchar2,
2731: p_return_status OUT NOCOPY varchar2 ,
2724: p_api_name IN varchar2,
2725: p_api_version IN number,
2726: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
2727: p_commit_flag IN varchar2 := FND_API.G_FALSE,
2728: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
2729: p_msg_count OUT NOCOPY number,
2730: p_msg_data OUT NOCOPY varchar2,
2731: p_return_status OUT NOCOPY varchar2 ,
2732: p_adj_rec IN ar_adjustments%rowtype,
2729: p_msg_count OUT NOCOPY number,
2730: p_msg_data OUT NOCOPY varchar2,
2731: p_return_status OUT NOCOPY varchar2 ,
2732: p_adj_rec IN ar_adjustments%rowtype,
2733: p_chk_approval_limits IN varchar2 := FND_API.G_TRUE,
2734: p_move_deferred_tax IN varchar2,
2735: p_old_adjust_id IN ar_adjustments.adjustment_id%type,
2736: p_org_id IN NUMBER DEFAULT NULL
2737: ) IS
2741: l_old_adj_rec ar_adjustments%rowtype;
2742: l_hsec VARCHAR2(10);
2743: l_status number;
2744: l_inp_adj_rec ar_adjustments%rowtype;
2745: l_return_status varchar2(1) := FND_API.G_RET_STS_SUCCESS;
2746: l_chk_approval_limits varchar2(1);
2747: l_org_return_status VARCHAR2(1);
2748: l_org_id NUMBER;
2749: l_count_chk NUMBER;
2765: /*--------------------------------------------------+
2766: | Standard call to check for call compatibility |
2767: +--------------------------------------------------*/
2768:
2769: IF NOT FND_API.Compatible_API_Call(
2770: l_api_version,
2771: p_api_version,
2772: l_api_name,
2773: G_PKG_NAME
2775: THEN
2776: IF PG_DEBUG in ('Y', 'C') THEN
2777: arp_util.debug('Modify_Adjustment: ' || 'Compatility error occurred.');
2778: END IF;
2779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2780: END IF;
2781:
2782: /*-------------------------------------------------------------+
2783: | Initialize message list if p_init_msg_list is set to TRUE |
2782: /*-------------------------------------------------------------+
2783: | Initialize message list if p_init_msg_list is set to TRUE |
2784: +-------------------------------------------------------------*/
2785:
2786: IF FND_API.to_Boolean( p_init_msg_list )
2787: THEN
2788: FND_MSG_PUB.initialize;
2789: END IF;
2790:
2798: /*-----------------------------------------+
2799: | Initialize return status to SUCCESS |
2800: +-----------------------------------------*/
2801:
2802: p_return_status := FND_API.G_RET_STS_SUCCESS;
2803:
2804:
2805:
2806: /* SSA change */
2804:
2805:
2806: /* SSA change */
2807: l_org_id := p_org_id;
2808: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
2809: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
2810: p_return_status =>l_org_return_status);
2811: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2812: p_return_status := FND_API.G_RET_STS_ERROR;
2807: l_org_id := p_org_id;
2808: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
2809: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
2810: p_return_status =>l_org_return_status);
2811: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2812: p_return_status := FND_API.G_RET_STS_ERROR;
2813: ELSE
2814: /*---------------------------------------------+
2815: | ========== Start of API Body ========== |
2808: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
2809: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
2810: p_return_status =>l_org_return_status);
2811: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2812: p_return_status := FND_API.G_RET_STS_ERROR;
2813: ELSE
2814: /*---------------------------------------------+
2815: | ========== Start of API Body ========== |
2816: +---------------------------------------------*/
2833: /*------------------------------------------------+
2834: | Check status and return if error |
2835: +------------------------------------------------*/
2836:
2837: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
2838: THEN
2839: p_return_status := l_return_status ;
2840: IF PG_DEBUG in ('Y', 'C') THEN
2841: arp_util.debug('Modify_Adjustment: ' || 'failed to initialize the profile options ');
2852: /*------------------------------------------------+
2853: | Check status and return if error |
2854: +------------------------------------------------*/
2855:
2856: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
2857: THEN
2858: p_return_status := l_return_status ;
2859: IF PG_DEBUG in ('Y', 'C') THEN
2860: arp_util.debug('Modify_Adjustment: ' || 'failed to cache details ');
2874: /*---------------------------------------------------+
2875: | Rollback to the defined Savepoint |
2876: +---------------------------------------------------*/
2877: ROLLBACK TO ar_adjust_PUB;
2878: p_return_status := FND_API.G_RET_STS_ERROR ;
2879: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_INVALID_ADJ_ID');
2880: FND_MESSAGE.SET_TOKEN ( 'ADJUSTMENT_ID', to_char(p_old_adjust_id) ) ;
2881: FND_MSG_PUB.ADD ;
2882: RETURN;
2900: l_count_chk := 0;
2901: END;
2902:
2903: IF l_count_chk <> 0 THEN
2904: p_return_status := FND_API.G_RET_STS_ERROR ;
2905: IF PG_DEBUG in ('Y', 'C') THEN
2906: arp_util.debug('Modify_Adjustment: ' ||
2907: 'Validation error(s) occurred. Rolling back ' ||
2908: 'and setting status to ERROR');
2917:
2918: /*-----------------------------------------------+
2919: | Handling Line level the validation exceptions |
2920: +-----------------------------------------------*/
2921: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2922: THEN
2923: RAISE FND_API.G_EXC_ERROR;
2924: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2925: THEN
2919: | Handling Line level the validation exceptions |
2920: +-----------------------------------------------*/
2921: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2922: THEN
2923: RAISE FND_API.G_EXC_ERROR;
2924: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2925: THEN
2926: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2927: END IF;
2920: +-----------------------------------------------*/
2921: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2922: THEN
2923: RAISE FND_API.G_EXC_ERROR;
2924: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2925: THEN
2926: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2927: END IF;
2928:
2922: THEN
2923: RAISE FND_API.G_EXC_ERROR;
2924: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2925: THEN
2926: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2927: END IF;
2928:
2929:
2930:
2938: | parameter p_chk_approval_limits is being passed. |
2939: +--------------------------------------------------*/
2940: l_chk_approval_limits := p_chk_approval_limits;
2941: IF (l_chk_approval_limits IS NULL) THEN
2942: l_chk_approval_limits := FND_API.G_TRUE;
2943: END IF;
2944:
2945: ar_adjust_pub.Validate_Adj_Modify (
2946: l_inp_adj_rec,
2949: l_return_status
2950: );
2951:
2952:
2953: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
2954: THEN
2955: p_return_status := l_return_status ;
2956: IF PG_DEBUG in ('Y', 'C') THEN
2957: arp_util.debug('Modify_Adjustment: ' ||
2963:
2964: /*-----------------------------------------------+
2965: | Handling all the validation exceptions |
2966: +-----------------------------------------------*/
2967: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2968: THEN
2969: RAISE FND_API.G_EXC_ERROR;
2970: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2971: THEN
2965: | Handling all the validation exceptions |
2966: +-----------------------------------------------*/
2967: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2968: THEN
2969: RAISE FND_API.G_EXC_ERROR;
2970: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2971: THEN
2972: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2973: END IF;
2966: +-----------------------------------------------*/
2967: IF (p_return_status = FND_API.G_RET_STS_ERROR)
2968: THEN
2969: RAISE FND_API.G_EXC_ERROR;
2970: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2971: THEN
2972: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2973: END IF;
2974:
2968: THEN
2969: RAISE FND_API.G_EXC_ERROR;
2970: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2971: THEN
2972: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2973: END IF;
2974:
2975:
2976: /*-----------------------------------------------+
2992: +---------------------------------------------------*/
2993:
2994: ROLLBACK TO ar_adjust_PUB;
2995:
2996: p_return_status := FND_API.G_RET_STS_ERROR ;
2997:
2998: FND_MESSAGE.set_name( 'AR', 'GENERIC_MESSAGE' );
2999: FND_MESSAGE.set_token( 'GENERIC_TEXT', 'arp_process_adjustment.update_adjustment exception: '||SQLERRM );
3000: --2920926
3004: | Get message count and if 1, return message data |
3005: +---------------------------------------------------*/
3006:
3007: FND_MSG_PUB.Count_And_Get(
3008: p_encoded => FND_API.G_FALSE,
3009: p_count => p_msg_count,
3010: p_data => p_msg_data
3011: );
3012: IF PG_DEBUG in ('Y', 'C') THEN
3028: | Get message count and if 1, return message data |
3029: +---------------------------------------------------*/
3030:
3031: FND_MSG_PUB.Count_And_Get(
3032: p_encoded => FND_API.G_FALSE,
3033: p_count => p_msg_count,
3034: p_data => p_msg_data
3035: );
3036:
3037: /*--------------------------------+
3038: | Standard check of p_commit |
3039: +--------------------------------*/
3040:
3041: IF FND_API.To_Boolean( p_commit_flag )
3042: THEN
3043: IF PG_DEBUG in ('Y', 'C') THEN
3044: arp_util.debug('Modify_Adjustment: ' || 'committing');
3045: END IF;
3061:
3062:
3063:
3064: EXCEPTION
3065: WHEN FND_API.G_EXC_ERROR THEN
3066:
3067: IF PG_DEBUG in ('Y', 'C') THEN
3068: arp_util.debug('Modify_Adjustment: ' || SQLCODE);
3069: arp_util.debug('Modify_Adjustment: ' || SQLERRM);
3069: arp_util.debug('Modify_Adjustment: ' || SQLERRM);
3070: END IF;
3071:
3072: ROLLBACK TO ar_adjust_PUB;
3073: p_return_status := FND_API.G_RET_STS_ERROR ;
3074: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
3075: p_count => p_msg_count,
3076: p_data => p_msg_data
3077: );
3070: END IF;
3071:
3072: ROLLBACK TO ar_adjust_PUB;
3073: p_return_status := FND_API.G_RET_STS_ERROR ;
3074: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
3075: p_count => p_msg_count,
3076: p_data => p_msg_data
3077: );
3078:
3075: p_count => p_msg_count,
3076: p_data => p_msg_data
3077: );
3078:
3079: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3080:
3081: IF PG_DEBUG in ('Y', 'C') THEN
3082: arp_util.debug('Modify_Adjustment: ' || SQLERRM);
3083: END IF;
3081: IF PG_DEBUG in ('Y', 'C') THEN
3082: arp_util.debug('Modify_Adjustment: ' || SQLERRM);
3083: END IF;
3084: ROLLBACK TO ar_adjust_PUB ;
3085: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3086: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
3087: p_count => p_msg_count,
3088: p_data => p_msg_data
3089: );
3082: arp_util.debug('Modify_Adjustment: ' || SQLERRM);
3083: END IF;
3084: ROLLBACK TO ar_adjust_PUB ;
3085: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3086: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
3087: p_count => p_msg_count,
3088: p_data => p_msg_data
3089: );
3090:
3097: +-------------------------------------------------------*/
3098:
3099: IF (SQLCODE = -20001)
3100: THEN
3101: p_return_status := FND_API.G_RET_STS_ERROR ;
3102: ROLLBACK TO ar_adjust_PUB;
3103: IF PG_DEBUG in ('Y', 'C') THEN
3104: arp_util.debug('Modify_Adjustment: ' ||
3105: 'Completion validation error(s) occurred. ' ||
3104: arp_util.debug('Modify_Adjustment: ' ||
3105: 'Completion validation error(s) occurred. ' ||
3106: 'Rolling back and setting status to ERROR');
3107: END IF;
3108: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
3109: p_count => p_msg_count,
3110: p_data => p_msg_data
3111: );
3112: RETURN;
3128: | |
3129: | SCOPE - PUBLIC |
3130: | |
3131: | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
3132: | fnd_api.compatible_api_call |
3133: | fnd_api.g_exc_unexpected_error |
3134: | fnd_api.g_ret_sts_error |
3135: | fnd_api.g_ret_sts_error |
3136: | fnd_api.g_ret_sts_success |
3129: | SCOPE - PUBLIC |
3130: | |
3131: | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
3132: | fnd_api.compatible_api_call |
3133: | fnd_api.g_exc_unexpected_error |
3134: | fnd_api.g_ret_sts_error |
3135: | fnd_api.g_ret_sts_error |
3136: | fnd_api.g_ret_sts_success |
3137: | fnd_api.to_boolean |
3130: | |
3131: | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
3132: | fnd_api.compatible_api_call |
3133: | fnd_api.g_exc_unexpected_error |
3134: | fnd_api.g_ret_sts_error |
3135: | fnd_api.g_ret_sts_error |
3136: | fnd_api.g_ret_sts_success |
3137: | fnd_api.to_boolean |
3138: | fnd_msg_pub.check_msg_level |
3131: | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
3132: | fnd_api.compatible_api_call |
3133: | fnd_api.g_exc_unexpected_error |
3134: | fnd_api.g_ret_sts_error |
3135: | fnd_api.g_ret_sts_error |
3136: | fnd_api.g_ret_sts_success |
3137: | fnd_api.to_boolean |
3138: | fnd_msg_pub.check_msg_level |
3139: | fnd_msg_pub.count_and_get |
3132: | fnd_api.compatible_api_call |
3133: | fnd_api.g_exc_unexpected_error |
3134: | fnd_api.g_ret_sts_error |
3135: | fnd_api.g_ret_sts_error |
3136: | fnd_api.g_ret_sts_success |
3137: | fnd_api.to_boolean |
3138: | fnd_msg_pub.check_msg_level |
3139: | fnd_msg_pub.count_and_get |
3140: | fnd_msg_pub.initialize |
3133: | fnd_api.g_exc_unexpected_error |
3134: | fnd_api.g_ret_sts_error |
3135: | fnd_api.g_ret_sts_error |
3136: | fnd_api.g_ret_sts_success |
3137: | fnd_api.to_boolean |
3138: | fnd_msg_pub.check_msg_level |
3139: | fnd_msg_pub.count_and_get |
3140: | fnd_msg_pub.initialize |
3141: | ar_adjustments_pkg.fetch_p |
3180:
3181: PROCEDURE Reverse_Adjustment (
3182: p_api_name IN varchar2,
3183: p_api_version IN number,
3184: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
3185: p_commit_flag IN varchar2 := FND_API.G_FALSE,
3186: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
3187: p_msg_count OUT NOCOPY number,
3188: p_msg_data OUT NOCOPY varchar2,
3181: PROCEDURE Reverse_Adjustment (
3182: p_api_name IN varchar2,
3183: p_api_version IN number,
3184: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
3185: p_commit_flag IN varchar2 := FND_API.G_FALSE,
3186: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
3187: p_msg_count OUT NOCOPY number,
3188: p_msg_data OUT NOCOPY varchar2,
3189: p_return_status OUT NOCOPY varchar2,
3182: p_api_name IN varchar2,
3183: p_api_version IN number,
3184: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
3185: p_commit_flag IN varchar2 := FND_API.G_FALSE,
3186: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
3187: p_msg_count OUT NOCOPY number,
3188: p_msg_data OUT NOCOPY varchar2,
3189: p_return_status OUT NOCOPY varchar2,
3190: p_old_adjust_id IN ar_adjustments.adjustment_id%type,
3190: p_old_adjust_id IN ar_adjustments.adjustment_id%type,
3191: p_reversal_gl_date IN date,
3192: p_reversal_date IN date,
3193: p_comments IN ar_adjustments.comments%type,
3194: p_chk_approval_limits IN varchar2 := FND_API.G_TRUE,
3195: p_move_deferred_tax IN varchar2,
3196: p_new_adj_id OUT NOCOPY ar_adjustments.adjustment_id%type,
3197: p_called_from IN varchar2,
3198: p_org_id IN NUMBER DEFAULT NULL
3210: l_msg_data varchar2(250);
3211: l_new_adj_num ar_adjustments.adjustment_number%type;
3212: l_check_amount varchar2(1);
3213:
3214: l_return_status varchar2(1) := FND_API.G_RET_STS_SUCCESS;
3215: l_chk_approval_limits varchar2(1);
3216: l_org_return_status VARCHAR2(1);
3217: l_org_id NUMBER;
3218:
3239: /*--------------------------------------------------+
3240: | Standard call to check for call compatibility |
3241: +--------------------------------------------------*/
3242:
3243: IF NOT FND_API.Compatible_API_Call(
3244: l_api_version,
3245: p_api_version,
3246: l_api_name,
3247: G_PKG_NAME
3249: THEN
3250: IF PG_DEBUG in ('Y', 'C') THEN
3251: arp_util.debug('Reverse_Adjustment: ' || 'Compatility error occurred.');
3252: END IF;
3253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3254: END IF;
3255:
3256: /*-------------------------------------------------------------+
3257: | Initialize message list if p_init_msg_list is set to TRUE |
3256: /*-------------------------------------------------------------+
3257: | Initialize message list if p_init_msg_list is set to TRUE |
3258: +-------------------------------------------------------------*/
3259:
3260: IF FND_API.to_Boolean( p_init_msg_list )
3261: THEN
3262: FND_MSG_PUB.initialize;
3263: END IF;
3264:
3272: /*-----------------------------------------+
3273: | Initialize return status to SUCCESS |
3274: +-----------------------------------------*/
3275:
3276: p_return_status := FND_API.G_RET_STS_SUCCESS;
3277:
3278:
3279:
3280: /* SSA change */
3278:
3279:
3280: /* SSA change */
3281: l_org_id := p_org_id;
3282: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
3283: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
3284: p_return_status =>l_org_return_status);
3285: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3286: p_return_status := FND_API.G_RET_STS_ERROR;
3281: l_org_id := p_org_id;
3282: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
3283: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
3284: p_return_status =>l_org_return_status);
3285: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3286: p_return_status := FND_API.G_RET_STS_ERROR;
3287: ELSE
3288: /*---------------------------------------------+
3289: | ========== Start of API Body ========== |
3282: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
3283: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
3284: p_return_status =>l_org_return_status);
3285: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3286: p_return_status := FND_API.G_RET_STS_ERROR;
3287: ELSE
3288: /*---------------------------------------------+
3289: | ========== Start of API Body ========== |
3290: +---------------------------------------------*/
3301: /*------------------------------------------------+
3302: | Check status and return if error |
3303: +------------------------------------------------*/
3304:
3305: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
3306: THEN
3307: p_return_status := l_return_status ;
3308: IF PG_DEBUG in ('Y', 'C') THEN
3309: arp_util.debug('Reverse_Adjustment: ' || ' failed to Initialize the profile options ');
3326: +---------------------------------------------------*/
3327:
3328: ROLLBACK TO ar_adjust_PUB;
3329:
3330: p_return_status := FND_API.G_RET_STS_ERROR ;
3331:
3332: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_INVALID_ADJ_ID');
3333: FND_MESSAGE.SET_TOKEN ( 'ADJUSTMENT_ID', to_char(p_old_adjust_id) ) ;
3334: FND_MSG_PUB.ADD ;
3345: /*------------------------------------------------+
3346: | Check status and return if error |
3347: +------------------------------------------------*/
3348:
3349: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
3350: THEN
3351: p_return_status := l_return_status ;
3352: IF PG_DEBUG in ('Y', 'C') THEN
3353: arp_util.debug('Reverse_Adjustment: ' || ' failed to Cache_Details ');
3374: l_return_status
3375: );
3376:
3377:
3378: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
3379: THEN
3380: p_return_status := l_return_status ;
3381: IF PG_DEBUG in ('Y', 'C') THEN
3382: arp_util.debug('Reverse_Adjustment: ' ||
3387:
3388: /*-----------------------------------------------+
3389: | Handling all the validation exceptions |
3390: +-----------------------------------------------*/
3391: IF (p_return_status = FND_API.G_RET_STS_ERROR)
3392: THEN
3393: RAISE FND_API.G_EXC_ERROR;
3394: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3395: THEN
3389: | Handling all the validation exceptions |
3390: +-----------------------------------------------*/
3391: IF (p_return_status = FND_API.G_RET_STS_ERROR)
3392: THEN
3393: RAISE FND_API.G_EXC_ERROR;
3394: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3395: THEN
3396: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3397: END IF;
3390: +-----------------------------------------------*/
3391: IF (p_return_status = FND_API.G_RET_STS_ERROR)
3392: THEN
3393: RAISE FND_API.G_EXC_ERROR;
3394: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3395: THEN
3396: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3397: END IF;
3398:
3392: THEN
3393: RAISE FND_API.G_EXC_ERROR;
3394: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3395: THEN
3396: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3397: END IF;
3398:
3399: /*------------------------------------------------------------+
3400: | Reverse the amounts and create a new adj adjustment record.|
3489: arp_util.debug('Reverse_Adjustment: ' || '--------------------------------------------------');
3490: END IF;
3491:
3492:
3493: l_check_amount := FND_API.G_FALSE;
3494:
3495: l_chk_approval_limits := p_chk_approval_limits;
3496: IF (l_chk_approval_limits IS NULL) THEN
3497: l_chk_approval_limits := FND_API.G_TRUE;
3493: l_check_amount := FND_API.G_FALSE;
3494:
3495: l_chk_approval_limits := p_chk_approval_limits;
3496: IF (l_chk_approval_limits IS NULL) THEN
3497: l_chk_approval_limits := FND_API.G_TRUE;
3498: END IF;
3499:
3500: /*--------------------------------------------------------------+
3501: | Call the create adjustment api to insert the new adjustment. |
3522: p_called_from => p_called_from,
3523: p_old_adjust_id => p_old_adjust_id);
3524:
3525: IF l_llca_adj_create_tbl_type(1).adjustment_id IS NULL THEN
3526: p_return_status := FND_API.G_RET_STS_ERROR;
3527: ELSE
3528: IF PG_DEBUG in ('Y', 'C') THEN
3529: p_new_adj_id := l_llca_adj_create_tbl_type(1).adjustment_id;
3530: arp_util.debug('Reverse_Adjustment: ' ||
3552:
3553:
3554: /* Bugfix 2734179. Check if the new adjustment record was created. */
3555: IF p_new_adj_id IS NULL THEN
3556: p_return_status := FND_API.G_RET_STS_ERROR;
3557: ELSE
3558: IF PG_DEBUG in ('Y', 'C') THEN
3559: arp_util.debug('Reverse_Adjustment: ' ||
3560: 'After Create_Adjustment , new_adjustment_id = ' ||
3569: | Rollback to the defined Savepoint |
3570: +---------------------------------------------------*/
3571:
3572: ROLLBACK TO ar_adjust_PUB;
3573: p_return_status := FND_API.G_RET_STS_ERROR ;
3574:
3575: /*--------------------------------------------------+
3576: | Get message count and if 1, return message data |
3577: +---------------------------------------------------*/
3576: | Get message count and if 1, return message data |
3577: +---------------------------------------------------*/
3578:
3579: FND_MSG_PUB.Count_And_Get(
3580: p_encoded => FND_API.G_FALSE,
3581: p_count => p_msg_count,
3582: p_data => p_msg_data
3583: );
3584: IF PG_DEBUG in ('Y', 'C') THEN
3606: | Get message count and if 1, return message data |
3607: +---------------------------------------------------*/
3608:
3609: FND_MSG_PUB.Count_And_Get(
3610: p_encoded =>FND_API.G_FALSE,
3611: p_count => p_msg_count,
3612: p_data => p_msg_data
3613: );
3614:
3615: /*--------------------------------+
3616: | Standard check of p_commit |
3617: +--------------------------------*/
3618:
3619: IF FND_API.To_Boolean( p_commit_flag )
3620: THEN
3621: IF PG_DEBUG in ('Y', 'C') THEN
3622: arp_util.debug('Reverse_Adjustment: ' || 'committing');
3623: END IF;
3638: END IF;
3639:
3640:
3641: EXCEPTION
3642: WHEN FND_API.G_EXC_ERROR THEN
3643:
3644: IF PG_DEBUG in ('Y', 'C') THEN
3645: arp_util.debug('Reverse_Adjustment: ' || SQLCODE);
3646: arp_util.debug('Reverse_Adjustment: ' || SQLERRM);
3646: arp_util.debug('Reverse_Adjustment: ' || SQLERRM);
3647: END IF;
3648:
3649: ROLLBACK TO ar_adjust_PUB;
3650: p_return_status := FND_API.G_RET_STS_ERROR ;
3651: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
3652: p_count => p_msg_count,
3653: p_data => p_msg_data
3654: );
3647: END IF;
3648:
3649: ROLLBACK TO ar_adjust_PUB;
3650: p_return_status := FND_API.G_RET_STS_ERROR ;
3651: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
3652: p_count => p_msg_count,
3653: p_data => p_msg_data
3654: );
3655:
3652: p_count => p_msg_count,
3653: p_data => p_msg_data
3654: );
3655:
3656: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3657:
3658: IF PG_DEBUG in ('Y', 'C') THEN
3659: arp_util.debug('Reverse_Adjustment: ' || SQLERRM);
3660: END IF;
3658: IF PG_DEBUG in ('Y', 'C') THEN
3659: arp_util.debug('Reverse_Adjustment: ' || SQLERRM);
3660: END IF;
3661: ROLLBACK TO ar_adjust_PUB ;
3662: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3663: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
3664: p_count => p_msg_count,
3665: p_data => p_msg_data
3666: );
3659: arp_util.debug('Reverse_Adjustment: ' || SQLERRM);
3660: END IF;
3661: ROLLBACK TO ar_adjust_PUB ;
3662: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3663: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
3664: p_count => p_msg_count,
3665: p_data => p_msg_data
3666: );
3667:
3674: +-------------------------------------------------------*/
3675:
3676: IF (SQLCODE = -20001)
3677: THEN
3678: p_return_status := FND_API.G_RET_STS_ERROR ;
3679: ROLLBACK TO ar_adjust_PUB;
3680: IF PG_DEBUG in ('Y', 'C') THEN
3681: arp_util.debug('Reverse_Adjustment: ' ||
3682: 'Completion validation error(s) occurred. ' ||
3682: 'Completion validation error(s) occurred. ' ||
3683: 'Rolling back and setting status to ERROR');
3684: END IF;
3685:
3686: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
3687: p_count => p_msg_count,
3688: p_data => p_msg_data
3689: );
3690: RETURN;
3706: | |
3707: | SCOPE - PUBLIC |
3708: | |
3709: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3710: | fnd_api.compatible_api_call |
3711: | fnd_api.g_exc_unexpected_error |
3712: | fnd_api.g_ret_sts_error |
3713: | fnd_api.g_ret_sts_error |
3714: | fnd_api.g_ret_sts_success |
3707: | SCOPE - PUBLIC |
3708: | |
3709: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3710: | fnd_api.compatible_api_call |
3711: | fnd_api.g_exc_unexpected_error |
3712: | fnd_api.g_ret_sts_error |
3713: | fnd_api.g_ret_sts_error |
3714: | fnd_api.g_ret_sts_success |
3715: | fnd_api.to_boolean |
3708: | |
3709: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3710: | fnd_api.compatible_api_call |
3711: | fnd_api.g_exc_unexpected_error |
3712: | fnd_api.g_ret_sts_error |
3713: | fnd_api.g_ret_sts_error |
3714: | fnd_api.g_ret_sts_success |
3715: | fnd_api.to_boolean |
3716: | fnd_msg_pub.check_msg_level |
3709: | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3710: | fnd_api.compatible_api_call |
3711: | fnd_api.g_exc_unexpected_error |
3712: | fnd_api.g_ret_sts_error |
3713: | fnd_api.g_ret_sts_error |
3714: | fnd_api.g_ret_sts_success |
3715: | fnd_api.to_boolean |
3716: | fnd_msg_pub.check_msg_level |
3717: | fnd_msg_pub.count_and_get |
3710: | fnd_api.compatible_api_call |
3711: | fnd_api.g_exc_unexpected_error |
3712: | fnd_api.g_ret_sts_error |
3713: | fnd_api.g_ret_sts_error |
3714: | fnd_api.g_ret_sts_success |
3715: | fnd_api.to_boolean |
3716: | fnd_msg_pub.check_msg_level |
3717: | fnd_msg_pub.count_and_get |
3718: | fnd_msg_pub.initialize |
3711: | fnd_api.g_exc_unexpected_error |
3712: | fnd_api.g_ret_sts_error |
3713: | fnd_api.g_ret_sts_error |
3714: | fnd_api.g_ret_sts_success |
3715: | fnd_api.to_boolean |
3716: | fnd_msg_pub.check_msg_level |
3717: | fnd_msg_pub.count_and_get |
3718: | fnd_msg_pub.initialize |
3719: | ar_adjustments_pkg.fetch_p |
3759:
3760: PROCEDURE Approve_Adjustment (
3761: p_api_name IN varchar2,
3762: p_api_version IN number,
3763: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
3764: p_commit_flag IN varchar2 := FND_API.G_FALSE,
3765: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
3766: p_msg_count OUT NOCOPY number,
3767: p_msg_data OUT NOCOPY varchar2,
3760: PROCEDURE Approve_Adjustment (
3761: p_api_name IN varchar2,
3762: p_api_version IN number,
3763: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
3764: p_commit_flag IN varchar2 := FND_API.G_FALSE,
3765: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
3766: p_msg_count OUT NOCOPY number,
3767: p_msg_data OUT NOCOPY varchar2,
3768: p_return_status OUT NOCOPY varchar2 ,
3761: p_api_name IN varchar2,
3762: p_api_version IN number,
3763: p_init_msg_list IN varchar2 := FND_API.G_FALSE,
3764: p_commit_flag IN varchar2 := FND_API.G_FALSE,
3765: p_validation_level IN number := FND_API.G_VALID_LEVEL_FULL,
3766: p_msg_count OUT NOCOPY number,
3767: p_msg_data OUT NOCOPY varchar2,
3768: p_return_status OUT NOCOPY varchar2 ,
3769: p_adj_rec IN ar_adjustments%rowtype,
3766: p_msg_count OUT NOCOPY number,
3767: p_msg_data OUT NOCOPY varchar2,
3768: p_return_status OUT NOCOPY varchar2 ,
3769: p_adj_rec IN ar_adjustments%rowtype,
3770: p_chk_approval_limits IN varchar2 := FND_API.G_TRUE,
3771: p_move_deferred_tax IN varchar2,
3772: p_old_adjust_id IN ar_adjustments.adjustment_id%type,
3773: p_org_id IN NUMBER DEFAULT NULL
3774: ) IS
3780: l_inp_adj_rec ar_adjustments%rowtype;
3781: l_hsec VARCHAR2(10);
3782: l_status number;
3783:
3784: l_return_status varchar2(1) := FND_API.G_RET_STS_SUCCESS;
3785: l_chk_approval_limits varchar2(1);
3786: l_org_return_status VARCHAR2(1);
3787: l_org_id NUMBER;
3788:
3803: /*--------------------------------------------------+
3804: | Standard call to check for call compatibility |
3805: +--------------------------------------------------*/
3806:
3807: IF NOT FND_API.Compatible_API_Call(
3808: l_api_version,
3809: p_api_version,
3810: l_api_name,
3811: G_PKG_NAME
3813: THEN
3814: IF PG_DEBUG in ('Y', 'C') THEN
3815: arp_util.debug('Approve_Adjustment: ' || 'Compatility error occurred.');
3816: END IF;
3817: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3818: END IF;
3819:
3820: /*-------------------------------------------------------------+
3821: | Initialize message list if p_init_msg_list is set to TRUE |
3820: /*-------------------------------------------------------------+
3821: | Initialize message list if p_init_msg_list is set to TRUE |
3822: +-------------------------------------------------------------*/
3823:
3824: IF FND_API.to_Boolean( p_init_msg_list )
3825: THEN
3826: FND_MSG_PUB.initialize;
3827: END IF;
3828:
3836: /*-----------------------------------------+
3837: | Initialize return status to SUCCESS |
3838: +-----------------------------------------*/
3839:
3840: p_return_status := FND_API.G_RET_STS_SUCCESS;
3841:
3842:
3843:
3844:
3844:
3845:
3846: /* SSA change */
3847: l_org_id := p_org_id;
3848: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
3849: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
3850: p_return_status =>l_org_return_status);
3851: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3852: p_return_status := FND_API.G_RET_STS_ERROR;
3847: l_org_id := p_org_id;
3848: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
3849: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
3850: p_return_status =>l_org_return_status);
3851: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3852: p_return_status := FND_API.G_RET_STS_ERROR;
3853: ELSE
3854:
3855:
3848: l_org_return_status := FND_API.G_RET_STS_SUCCESS;
3849: ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
3850: p_return_status =>l_org_return_status);
3851: IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3852: p_return_status := FND_API.G_RET_STS_ERROR;
3853: ELSE
3854:
3855:
3856: /*---------------------------------------------+
3876: /*------------------------------------------------+
3877: | Check status and return if error |
3878: +------------------------------------------------*/
3879:
3880: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
3881: THEN
3882: p_return_status := l_return_status ;
3883: IF PG_DEBUG in ('Y', 'C') THEN
3884: arp_util.debug('Approve_Adjustment: ' || 'failed to Initialize the profile options ');
3895: /*------------------------------------------------+
3896: | Check status and return if error |
3897: +------------------------------------------------*/
3898:
3899: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
3900: THEN
3901: p_return_status := l_return_status ;
3902: IF PG_DEBUG in ('Y', 'C') THEN
3903: arp_util.debug('Approve_Adjustment: ' || 'failed to Initialize the profile options ');
3921: +---------------------------------------------------*/
3922:
3923: ROLLBACK TO ar_adjust_PUB;
3924:
3925: p_return_status := FND_API.G_RET_STS_ERROR ;
3926:
3927: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_INVALID_ADJ_ID');
3928: FND_MESSAGE.SET_TOKEN ( 'ADJUSTMENT_ID', to_char(p_old_adjust_id) ) ;
3929: FND_MSG_PUB.ADD ;
3941: +--------------------------------------------------*/
3942:
3943: l_chk_approval_limits := p_chk_approval_limits;
3944: IF (l_chk_approval_limits IS NULL) THEN
3945: l_chk_approval_limits := FND_API.G_TRUE;
3946: END IF;
3947:
3948: ar_adjust_pub.Validate_Adj_Approve (
3949: l_inp_adj_rec,
3952: l_return_status
3953: );
3954:
3955:
3956: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS )
3957: THEN
3958:
3959: p_return_status := l_return_status ;
3960: IF PG_DEBUG in ('Y', 'C') THEN
3966:
3967: /*-----------------------------------------------+
3968: | Handling all the validation exceptions |
3969: +-----------------------------------------------*/
3970: IF (p_return_status = FND_API.G_RET_STS_ERROR)
3971: THEN
3972: RAISE FND_API.G_EXC_ERROR;
3973: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3974: THEN
3968: | Handling all the validation exceptions |
3969: +-----------------------------------------------*/
3970: IF (p_return_status = FND_API.G_RET_STS_ERROR)
3971: THEN
3972: RAISE FND_API.G_EXC_ERROR;
3973: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3974: THEN
3975: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3976: END IF;
3969: +-----------------------------------------------*/
3970: IF (p_return_status = FND_API.G_RET_STS_ERROR)
3971: THEN
3972: RAISE FND_API.G_EXC_ERROR;
3973: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3974: THEN
3975: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3976: END IF;
3977:
3971: THEN
3972: RAISE FND_API.G_EXC_ERROR;
3973: ELSIF (p_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3974: THEN
3975: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3976: END IF;
3977:
3978: /*-----------------------------------------------+
3979: | Call the entity Handler for Approve |
4003: +---------------------------------------------------*/
4004:
4005: ROLLBACK TO ar_adjust_PUB;
4006:
4007: p_return_status := FND_API.G_RET_STS_ERROR ;
4008:
4009: FND_MESSAGE.set_name( 'AR', 'GENERIC_MESSAGE' );
4010: FND_MESSAGE.set_token( 'GENERIC_TEXT', 'arp_process_adjustment.update_approve_adj exception: '||SQLERRM );
4011: --2920926
4014: | Get message count and if 1, return message data |
4015: +---------------------------------------------------*/
4016:
4017: FND_MSG_PUB.Count_And_Get(
4018: p_encoded => FND_API.G_FALSE,
4019: p_count => p_msg_count,
4020: p_data => p_msg_data
4021: );
4022:
4040: | Get message count and if 1, return message data |
4041: +---------------------------------------------------*/
4042:
4043: FND_MSG_PUB.Count_And_Get(
4044: p_encoded => FND_API.G_FALSE,
4045: p_count => p_msg_count,
4046: p_data => p_msg_data
4047: );
4048:
4049: /*--------------------------------+
4050: | Standard check of p_commit |
4051: +--------------------------------*/
4052:
4053: IF FND_API.To_Boolean( p_commit_flag )
4054: THEN
4055: IF PG_DEBUG in ('Y', 'C') THEN
4056: arp_util.debug('Approve_Adjustment: ' || 'committing');
4057: END IF;
4072: END IF;
4073:
4074:
4075: EXCEPTION
4076: WHEN FND_API.G_EXC_ERROR THEN
4077:
4078: IF PG_DEBUG in ('Y', 'C') THEN
4079: arp_util.debug('Approve_Adjustment: ' || SQLCODE);
4080: arp_util.debug('Approve_Adjustment: ' || SQLERRM);
4080: arp_util.debug('Approve_Adjustment: ' || SQLERRM);
4081: END IF;
4082:
4083: ROLLBACK TO ar_adjust_PUB;
4084: p_return_status := FND_API.G_RET_STS_ERROR ;
4085: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
4086: p_count => p_msg_count,
4087: p_data => p_msg_data
4088: );
4081: END IF;
4082:
4083: ROLLBACK TO ar_adjust_PUB;
4084: p_return_status := FND_API.G_RET_STS_ERROR ;
4085: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
4086: p_count => p_msg_count,
4087: p_data => p_msg_data
4088: );
4089:
4086: p_count => p_msg_count,
4087: p_data => p_msg_data
4088: );
4089:
4090: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4091:
4092: IF PG_DEBUG in ('Y', 'C') THEN
4093: arp_util.debug('Approve_Adjustment: ' || SQLERRM);
4094: END IF;
4092: IF PG_DEBUG in ('Y', 'C') THEN
4093: arp_util.debug('Approve_Adjustment: ' || SQLERRM);
4094: END IF;
4095: ROLLBACK TO ar_adjust_PUB ;
4096: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4097: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
4098: p_count => p_msg_count,
4099: p_data => p_msg_data
4100: );
4093: arp_util.debug('Approve_Adjustment: ' || SQLERRM);
4094: END IF;
4095: ROLLBACK TO ar_adjust_PUB ;
4096: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4097: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
4098: p_count => p_msg_count,
4099: p_data => p_msg_data
4100: );
4101:
4108: +-------------------------------------------------------*/
4109:
4110: IF (SQLCODE = -20001)
4111: THEN
4112: p_return_status := FND_API.G_RET_STS_ERROR ;
4113: ROLLBACK TO ar_adjust_PUB;
4114: IF PG_DEBUG in ('Y', 'C') THEN
4115: arp_util.debug('Approve_Adjustment: ' ||
4116: 'Completion validation error(s) occurred. ' ||
4116: 'Completion validation error(s) occurred. ' ||
4117: 'Rolling back and setting status to ERROR');
4118: END IF;
4119:
4120: FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
4121: p_count => p_msg_count,
4122: p_data => p_msg_data
4123: );
4124: RETURN;