64: -- GLOBALS
65: --===================
66:
67: G_PKG_NAME CONSTANT VARCHAR2(30) := 'INV_CONSUMPTION_ADVICE_PROC';
68: g_user_id NUMBER := FND_PROFILE.value('USER_ID');
69: g_resp_id NUMBER := FND_PROFILE.value('RESP_ID');
70: g_appl_id NUMBER;
71: -- Bug 5092489, commented becasue not used
72: --g_pgm_appl_id NUMBER;
65: --===================
66:
67: G_PKG_NAME CONSTANT VARCHAR2(30) := 'INV_CONSUMPTION_ADVICE_PROC';
68: g_user_id NUMBER := FND_PROFILE.value('USER_ID');
69: g_resp_id NUMBER := FND_PROFILE.value('RESP_ID');
70: g_appl_id NUMBER;
71: -- Bug 5092489, commented becasue not used
72: --g_pgm_appl_id NUMBER;
73: g_log_level NUMBER := NULL;
84: g_batch_size NUMBER := 1000;
85: g_max_workers NUMBER := 1;
86: -- Bug 5092489, commented becasue not used
87: --g_unit_test_mode BOOLEAN := FALSE;
88: --g_org_id NUMBER := FND_PROFILE.value('ORG_ID');
89: g_submit_failure_exc EXCEPTION;
90: g_request_id NUMBER ;
91: --===================
92: -- PRIVATE PROCEDURES
106: l_consumption_release_id NUMBER;
107: l_consumption_po_header_id NUMBER;
108: l_blanket_price NUMBER ;
109: l_interface_distribution_ref VARCHAR2(240);
110: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
111:
112: CURSOR txn_csr_type IS
113: SELECT
114: mct.transaction_id
351: , p_global_rate IN NUMBER
352: , p_vendor_site_id IN NUMBER
353: )
354: IS
355: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
356: l_blanket_po_number VARCHAR2(20) := NULL;
357: l_error_explanation VARCHAR2(240) := NULL;
358: l_transaction_date DATE;
359:
477: IF (l_consumption_processed_flag IS NULL) THEN
478: l_consumption_processed_flag := 'N';
479: END IF;
480:
481: IF NVL(FND_PROFILE.value('INV_SUPPLIER_CONSIGNED_GROUPING'),'N') = 'N'
482: THEN
483: -- Bug 5092489, Query modified to eliminate use of MMT in subquery
484: UPDATE MTL_CONSUMPTION_TRANSACTIONS mct
485: SET mct.consumption_po_header_id = p_consumption_po_header_id
584: , p_inventory_item_id IN NUMBER
585: , p_organization_id IN NUMBER
586: )
587: IS
588: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
589: l_count NUMBER;
590: BEGIN
591:
592: IF (l_debug = 1)
737: , p_inventory_item_id IN NUMBER
738: , p_organization_id IN NUMBER
739: )
740: IS
741: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
742: l_count NUMBER;
743: BEGIN
744:
745: IF (l_debug = 1)
1017: l_owning_organization_id NUMBER;
1018: l_org_id NUMBER;
1019: l_valid_flag VARCHAR2(1);
1020: l_debug NUMBER :=
1021: NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
1022: l_error_msg VARCHAR2(100) := 'INV_SUP_CONS_NO_BPO_EXISTS';
1023: l_error_explanation VARCHAR2(240) := NULL;
1024: l_blanket_po_number VARCHAR2(20) := NULL;
1025:
1056: po_headers_all poh
1057: , po_lines_all pol
1058: WHERE poh.po_header_id = pol.po_header_id
1059: AND (TRUNC(NVL(poh.start_date,SYSDATE -1)) <= TRUNC(SYSDATE))
1060: AND (TRUNC(NVL(poh.end_date+NVL(FND_PROFILE.VALUE('PO_REL_CREATE_TOLERANCE'),0),SYSDATE +1)) >= TRUNC(SYSDATE)) -- Bug 8397146
1061: AND (TRUNC(NVL(pol.expiration_date,SYSDATE )) >= TRUNC(SYSDATE))
1062: AND poh.approved_flag = 'Y'
1063: AND NVL(poh.frozen_flag, 'N') = 'N'
1064: AND (NVL(poh.cancel_flag,'N') = 'N'
1267: l_api_version NUMBER;
1268: -- Bug 5092489. Commented because not used.
1269: --l_precision NUMBER;
1270: l_debug NUMBER :=
1271: NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
1272: l_vendor_name VARCHAR2(240);
1273: l_vendor_site VARCHAR2(15);
1274: l_transaction_date DATE;
1275: l_currency_code VARCHAR2(15);
1382: );
1383: END IF;
1384:
1385: x_return_status := FND_API.G_RET_STS_SUCCESS;
1386: l_user := FND_PROFILE.value('USER_ID');
1387: l_org_id := FND_PROFILE.value('ORG_ID');
1388: l_return_status := x_return_status;
1389:
1390: /* bug 5200436 - Start */
1383: END IF;
1384:
1385: x_return_status := FND_API.G_RET_STS_SUCCESS;
1386: l_user := FND_PROFILE.value('USER_ID');
1387: l_org_id := FND_PROFILE.value('ORG_ID');
1388: l_return_status := x_return_status;
1389:
1390: /* bug 5200436 - Start */
1391: l_profile_option := NVL(FND_PROFILE.value('INV_SUPPLIER_CONSIGNED_GROUPING'),'N');
1387: l_org_id := FND_PROFILE.value('ORG_ID');
1388: l_return_status := x_return_status;
1389:
1390: /* bug 5200436 - Start */
1391: l_profile_option := NVL(FND_PROFILE.value('INV_SUPPLIER_CONSIGNED_GROUPING'),'N');
1392: /* bug 5200436 - End */
1393:
1394: l_curr_asl_index := l_asl_cons_tab.COUNT;
1395:
1958: from MMT.TRANSACTION_SOURCE_ID when the profile is set to "No" */
1959:
1960: /* Bug 11900144. Commented the below if condition as line details are taken from MCT,
1961: separate insert statements based on profile value are not required */
1962: --IF (nvl(fnd_profile.value('PO_AUTO_SOURCE_DOC'),'N') = 'Y') THEN
1963:
1964: INSERT INTO po_lines_interface
1965: ( interface_header_id
1966: , interface_line_id
2487: , p_batch_id IN NUMBER
2488: , p_tax_rec_rate_tab IN g_cons_tbl_type -- Bug 4969421
2489: )
2490: IS
2491: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
2492: -- Bug 5092489, commenting as not used
2493: --l_txn_count NUMBER;
2494: --l_txn_first NUMBER;
2495: --l_txn_last NUMBER;
2664: , p_batch_id IN NUMBER
2665: , p_tax_rec_rate_tab IN g_cons_tbl_type -- Bug 4969421
2666: )
2667: IS
2668: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
2669: -- Bug 5092489, commenting as not used
2670: --l_txn_count NUMBER;
2671: --l_txn_first NUMBER;
2672: --l_txn_last NUMBER;
2881: , p_rate IN NUMBER
2882: , p_rate_type IN VARCHAR
2883: )
2884: IS
2885: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
2886: BEGIN
2887:
2888: IF (l_debug = 1)
2889: THEN
2962: -- the top level procedure of each concurrent program
2963: --========================================================================
2964: PROCEDURE Log_Initialize
2965: IS
2966: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
2967: BEGIN
2968:
2969: IF (l_debug = 1)
2970: THEN
2973: , 9
2974: );
2975: END IF;
2976:
2977: g_log_level := TO_NUMBER(FND_PROFILE.Value('AFLOG_LEVEL'));
2978: IF g_log_level IS NULL THEN
2979: g_log_mode := 'OFF';
2980: ELSE
2981: IF (TO_NUMBER(FND_PROFILE.Value('CONC_REQUEST_ID')) <> 0) THEN
2977: g_log_level := TO_NUMBER(FND_PROFILE.Value('AFLOG_LEVEL'));
2978: IF g_log_level IS NULL THEN
2979: g_log_mode := 'OFF';
2980: ELSE
2981: IF (TO_NUMBER(FND_PROFILE.Value('CONC_REQUEST_ID')) <> 0) THEN
2982: g_log_mode := 'SRS';
2983: ELSE
2984: g_log_mode := 'SQL';
2985: END IF;
3007: ( p_priority IN NUMBER
3008: , p_msg IN VARCHAR2
3009: )
3010: IS
3011: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
3012: BEGIN
3013:
3014: IF (l_debug = 1)
3015: THEN
3079: --=================
3080:
3081: l_error_code VARCHAR2(10);
3082: l_txn_id NUMBER;
3083: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
3084:
3085:
3086: BEGIN
3087:
3352: l_organization_id NUMBER := 0;
3353: l_current_txn_source_id NUMBER := 0;
3354: l_inventory_item_id NUMBER := 0;
3355: l_debug NUMBER :=
3356: NVL(FND_PROFILE.VALUE
3357: ('INV_DEBUG_TRACE'),0);
3358:
3359:
3360: BEGIN
3370: -- Call procedure to load MTL_CONSUMPTION_TXNS_TEMP
3371: -- from MTL_CONSUMPTION_TRANSACTIONS
3372: -- with records that belong to the specified batch
3373:
3374: IF NVL(FND_PROFILE.value('INV_SUPPLIER_CONSIGNED_GROUPING'),'N') = 'N'
3375: THEN
3376: INV_CONSUMPTION_ADVICE_PROC.load_combination_prf
3377: (p_batch_id => p_batch_id
3378: ,p_vendor_id => NULL
3449: -- records in MTL_CONSUMPTION_TXNS_TEMP.
3450: -- Record the result in MTL_CONSUMPTION_TXNS_TEMP.
3451:
3452: /* BUg 5092489. Following IF block is commented becasue quantity is populated during insert
3453: IF NVL(FND_PROFILE.value('INV_SUPPLIER_CONSIGNED_GROUPING'),'N') = 'N'
3454: THEN
3455: INV_CONSUMPTION_ADVICE_PROC.load_summarized_quantity_prf
3456: (p_txn_source_tab => l_txn_source_tab
3457: ,p_inventory_item_tab => l_item_tab
3710: FUNCTION generate_batch_id
3711: RETURN NUMBER
3712: IS
3713: l_batch_id NUMBER;
3714: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
3715: BEGIN
3716:
3717: IF (l_debug = 1)
3718: THEN
3755: RETURN BOOLEAN
3756: IS
3757: l_count NUMBER;
3758: l_result BOOLEAN;
3759: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
3760: BEGIN
3761:
3762: IF (l_debug = 1)
3763: THEN
3805: , x_worker_idx OUT NOCOPY BINARY_INTEGER
3806: )
3807: IS
3808: l_done BOOLEAN;
3809: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
3810: BEGIN
3811:
3812: IF (l_debug = 1)
3813: THEN
3859: ( p_workers IN g_request_tbl_type
3860: )
3861: IS
3862: l_done BOOLEAN;
3863: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
3864: BEGIN
3865:
3866: IF (l_debug = 1)
3867: THEN
3925: IS
3926: l_worker_idx BINARY_INTEGER;
3927: l_request_id NUMBER;
3928: l_org_name VARCHAR2(60) := NULL;
3929: l_debug NUMBER := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
3930: BEGIN
3931:
3932: IF (l_debug = 1)
3933: THEN
4052: l_count NUMBER;
4053: l_max_workers NUMBER;
4054: l_org_id NUMBER;
4055: l_new_batch VARCHAR2(1) := 'Y';
4056: l_debug NUMBER := NVL(FND_PROFILE.VALUE
4057: ('INV_DEBUG_TRACE'),0);
4058: l_debug_txn_id NUMBER;
4059:
4060:
4293: OR (l_group_size > l_remain_batch_count AND l_new_batch = 'N')
4294: OR l_current_cons_index = l_txn_source_tab.LAST
4295: THEN
4296:
4297: --IF NVL(FND_PROFILE.value('INV_SUPPLIER_CONSIGNED_GROUPING'),'N') = 'N'
4298: --THEN
4299: FORALL i IN l_previous_cons_index..l_current_cons_index
4300: --Bug 5092489, Query modified to eliminate use of MMT
4301: UPDATE
4501: l_blanket_query VARCHAR2(15000); -- Bug 4666585
4502: */
4503: l_count NUMBER;
4504: l_batch_id NUMBER := -1;
4505: l_debug NUMBER := NVL(FND_PROFILE.VALUE
4506: ('INV_DEBUG_TRACE'),0);
4507:
4508:
4509:
4543: END IF;
4544:
4545: g_request_id := NULL;
4546: g_request_id :=
4547: TO_NUMBER(FND_PROFILE.Value('CONC_REQUEST_ID') ) ;
4548:
4549: IF (l_debug = 1)
4550: THEN
4551: INV_LOG_UTIL.trace
4626: AND mct.batch_id = l_batch_id;
4627:
4628: -- Deleted unused commeneted code as part of bug 11900144
4629:
4630: IF NVL(FND_PROFILE.value('INV_SUPPLIER_CONSIGNED_GROUPING'),'N') = 'N'
4631: THEN
4632: INV_CONSUMPTION_ADVICE_PROC.load_combination_prf
4633: (p_batch_id => l_batch_id
4634: ,p_vendor_id => p_vendor_id