2933: AND h.application_id = g_application_id
2934: AND ((h.doc_category_code IS NOT NULL AND cat.code IS NULL) OR
2935: (h.doc_sequence_id IS NOT NULL AND doc.doc_sequence_id IS NULL));
2936:
2937: CURSOR c_standard IS
2938: SELECT h.ae_header_id
2939: ,h.entity_id
2940: ,h.event_id
2941: ,h.doc_sequence_id
2958: AND ((h.doc_category_code IS NOT NULL AND cat.code IS NULL) OR
2959: (h.doc_sequence_id IS NOT NULL AND doc.doc_sequence_id IS NULL));
2960:
2961: l_app_name VARCHAR2(240);
2962: l_err c_standard%ROWTYPE;
2963:
2964: l_log_module VARCHAR2(240);
2965: BEGIN
2966: IF g_log_enabled THEN
2975:
2976: IF (g_caller = C_CALLER_MANUAL) THEN
2977: OPEN c_manual;
2978: ELSE
2979: OPEN c_standard;
2980: END IF;
2981:
2982: IF (C_LEVEL_EVENT >= g_log_level) THEN
2983: trace(p_msg => 'BEGIN LOOP - invalid doc sequence',
2989: IF (g_caller = C_CALLER_MANUAL) THEN
2990: FETCH c_manual INTO l_err;
2991: EXIT WHEN c_manual%NOTFOUND;
2992: ELSE
2993: FETCH c_standard INTO l_err;
2994: EXIT WHEN c_standard%NOTFOUND;
2995: END IF;
2996:
2997: IF (C_LEVEL_ERROR >= g_log_level) THEN
2990: FETCH c_manual INTO l_err;
2991: EXIT WHEN c_manual%NOTFOUND;
2992: ELSE
2993: FETCH c_standard INTO l_err;
2994: EXIT WHEN c_standard%NOTFOUND;
2995: END IF;
2996:
2997: IF (C_LEVEL_ERROR >= g_log_level) THEN
2998: trace(p_msg => 'LOOP invalid headers: ae_header_id = '||l_err.ae_header_id,
3055:
3056: IF (g_caller = C_CALLER_MANUAL) THEN
3057: CLOSE c_manual;
3058: ELSE
3059: CLOSE c_standard;
3060: END IF;
3061:
3062: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3063: trace(p_msg => 'End of function validate_doc_sequence',
3068: WHEN xla_exceptions_pkg.application_exception THEN
3069: IF (c_manual%ISOPEN) THEN
3070: CLOSE c_manual;
3071: END IF;
3072: IF (c_standard%ISOPEN) THEN
3073: CLOSE c_standard;
3074: END IF;
3075: RAISE;
3076:
3069: IF (c_manual%ISOPEN) THEN
3070: CLOSE c_manual;
3071: END IF;
3072: IF (c_standard%ISOPEN) THEN
3073: CLOSE c_standard;
3074: END IF;
3075: RAISE;
3076:
3077: WHEN OTHERS THEN
3077: WHEN OTHERS THEN
3078: IF (c_manual%ISOPEN) THEN
3079: CLOSE c_manual;
3080: END IF;
3081: IF (c_standard%ISOPEN) THEN
3082: CLOSE c_standard;
3083: END IF;
3084: xla_exceptions_pkg.raise_message
3085: (p_location => 'xla_je_validation_pkg.validate_doc_sequence');
3078: IF (c_manual%ISOPEN) THEN
3079: CLOSE c_manual;
3080: END IF;
3081: IF (c_standard%ISOPEN) THEN
3082: CLOSE c_standard;
3083: END IF;
3084: xla_exceptions_pkg.raise_message
3085: (p_location => 'xla_je_validation_pkg.validate_doc_sequence');
3086: END validate_doc_sequence;
3250: AND (bv.status IS NULL OR
3251: nvl(bv.status,'I') in ('I', 'F') OR
3252: gp.period_year > b.latest_opened_year);
3253:
3254: CURSOR c_standard IS
3255: SELECT h.ae_header_id
3256: ,h.entity_id
3257: ,h.event_id
3258: ,h.budget_version_id
3277: b.ledger_id <> h.ledger_id OR -- 5592776
3278: h.period_year > b.latest_opened_year);
3279:
3280: l_budget_name VARCHAR2(30);
3281: l_err c_standard%ROWTYPE;
3282: l_log_module VARCHAR2(240);
3283: BEGIN
3284: IF g_log_enabled THEN
3285: l_log_module := C_DEFAULT_MODULE||'.validate_budgets';
3293:
3294: IF (g_caller = C_CALLER_MANUAL) THEN
3295: OPEN c_manual;
3296: ELSE
3297: OPEN c_standard;
3298: END IF;
3299:
3300: IF (C_LEVEL_EVENT >= g_log_level) THEN
3301: trace(p_msg => 'BEGIN LOOP - invalid budgets',
3307: IF (g_caller = C_CALLER_MANUAL) THEN
3308: FETCH c_manual INTO l_err;
3309: EXIT WHEN c_manual%NOTFOUND;
3310: ELSE
3311: FETCH c_standard INTO l_err;
3312: EXIT WHEN c_standard%NOTFOUND;
3313: END IF;
3314:
3315: IF (C_LEVEL_ERROR >= g_log_level) THEN
3308: FETCH c_manual INTO l_err;
3309: EXIT WHEN c_manual%NOTFOUND;
3310: ELSE
3311: FETCH c_standard INTO l_err;
3312: EXIT WHEN c_standard%NOTFOUND;
3313: END IF;
3314:
3315: IF (C_LEVEL_ERROR >= g_log_level) THEN
3316: trace(p_msg => 'LOOP invalid budgets: ae_header_id = '||l_err.ae_header_id,
3394:
3395: IF (g_caller = C_CALLER_MANUAL) THEN
3396: CLOSE c_manual;
3397: ELSE
3398: CLOSE c_standard;
3399: END IF;
3400:
3401: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3402: trace(p_msg => 'End of function validate_budgets',
3407: WHEN xla_exceptions_pkg.application_exception THEN
3408: IF (c_manual%ISOPEN) THEN
3409: CLOSE c_manual;
3410: END IF;
3411: IF (c_standard%ISOPEN) THEN
3412: CLOSE c_standard;
3413: END IF;
3414: RAISE;
3415:
3408: IF (c_manual%ISOPEN) THEN
3409: CLOSE c_manual;
3410: END IF;
3411: IF (c_standard%ISOPEN) THEN
3412: CLOSE c_standard;
3413: END IF;
3414: RAISE;
3415:
3416: WHEN OTHERS THEN
3416: WHEN OTHERS THEN
3417: IF (c_manual%ISOPEN) THEN
3418: CLOSE c_manual;
3419: END IF;
3420: IF (c_standard%ISOPEN) THEN
3421: CLOSE c_standard;
3422: END IF;
3423: xla_exceptions_pkg.raise_message
3424: (p_location => 'xla_je_validation_pkg.validate_budgets');
3417: IF (c_manual%ISOPEN) THEN
3418: CLOSE c_manual;
3419: END IF;
3420: IF (c_standard%ISOPEN) THEN
3421: CLOSE c_standard;
3422: END IF;
3423: xla_exceptions_pkg.raise_message
3424: (p_location => 'xla_je_validation_pkg.validate_budgets');
3425: END validate_budgets;
3606: (h.balance_type_code = 'E' AND gp.period_year > g.latest_encumbrance_year) OR
3607: (h.balance_type_code = 'A' AND gp.closing_status NOT IN ('O', 'F')) OR
3608: (h.reference_date IS NOT NULL AND nvl(rp.closing_status,'C') NOT IN ('O', 'F')));
3609:
3610: CURSOR c_standard IS
3611: SELECT /*+ index(gp, GL_PERIOD_STATUSES_U3) */
3612: h.ae_header_id
3613: ,h.entity_id
3614: ,h.event_id
3643: (h.balance_type_code = 'A' AND NVL(h.period_closing_status,'X') NOT IN ('O', 'F')));
3644: --(h.balance_type_code = 'E' AND h.period_year > g_latest_encumbrance_year) OR
3645: --(h.balance_type_code = 'A' AND h.period_closing_status NOT IN ('O', 'F')));
3646:
3647: l_err c_standard%ROWTYPE;
3648: l_log_module VARCHAR2(240);
3649: BEGIN
3650: IF g_log_enabled THEN
3651: l_log_module := C_DEFAULT_MODULE||'.validate_headers';
3659:
3660: IF (g_caller = C_CALLER_MANUAL) THEN
3661: OPEN c_manual;
3662: ELSE
3663: OPEN c_standard;
3664: END IF;
3665:
3666: IF (C_LEVEL_EVENT >= g_log_level) THEN
3667: trace(p_msg => 'BEGIN LOOP - invalid header',
3674: IF (g_caller = C_CALLER_MANUAL) THEN
3675: FETCH c_manual INTO l_err;
3676: EXIT WHEN c_manual%NOTFOUND;
3677: ELSE
3678: FETCH c_standard INTO l_err;
3679: EXIT WHEN c_standard%NOTFOUND;
3680: END IF;
3681:
3682:
3675: FETCH c_manual INTO l_err;
3676: EXIT WHEN c_manual%NOTFOUND;
3677: ELSE
3678: FETCH c_standard INTO l_err;
3679: EXIT WHEN c_standard%NOTFOUND;
3680: END IF;
3681:
3682:
3683: IF (l_err.balance_type_code = 'A' AND l_err.gl_date_valid_flag = 'N' AND l_err.gl_transfer_status_code = 'NT') THEN
3834:
3835: IF (g_caller = C_CALLER_MANUAL) THEN
3836: CLOSE c_manual;
3837: ELSE
3838: CLOSE c_standard;
3839: END IF;
3840:
3841: IF g_caller <> C_CALLER_MPA_PROGRAM THEN -- 4262811
3842: --validate_encumbrances; -- 4458381
3854: WHEN xla_exceptions_pkg.application_exception THEN
3855: IF (c_manual%ISOPEN) THEN
3856: CLOSE c_manual;
3857: END IF;
3858: IF (c_standard%ISOPEN) THEN
3859: CLOSE c_standard;
3860: END IF;
3861: RAISE;
3862:
3855: IF (c_manual%ISOPEN) THEN
3856: CLOSE c_manual;
3857: END IF;
3858: IF (c_standard%ISOPEN) THEN
3859: CLOSE c_standard;
3860: END IF;
3861: RAISE;
3862:
3863: WHEN OTHERS THEN
3863: WHEN OTHERS THEN
3864: IF (c_manual%ISOPEN) THEN
3865: CLOSE c_manual;
3866: END IF;
3867: IF (c_standard%ISOPEN) THEN
3868: CLOSE c_standard;
3869: END IF;
3870: xla_exceptions_pkg.raise_message
3871: (p_location => 'xla_je_validation_pkg.validate_headers');
3864: IF (c_manual%ISOPEN) THEN
3865: CLOSE c_manual;
3866: END IF;
3867: IF (c_standard%ISOPEN) THEN
3868: CLOSE c_standard;
3869: END IF;
3870: xla_exceptions_pkg.raise_message
3871: (p_location => 'xla_je_validation_pkg.validate_headers');
3872: END validate_headers;
6873: PROCEDURE create_intercompany_errors
6874: (p_err_count IN OUT NOCOPY INTEGER
6875: ,p_err_ae_header_ids IN OUT NOCOPY t_array_int)
6876: IS
6877: CURSOR c_error_standard IS
6878: SELECT distinct
6879: err.error_code
6880: , le2.name from_le_name
6881: , le3.name to_le_name
6944: p_level => C_LEVEL_EVENT);
6945: END IF;
6946:
6947: IF (g_caller in( C_CALLER_ACCT_PROGRAM, C_CALLER_THIRD_PARTY_MERGE, C_CALLER_MPA_PROGRAM)) THEN
6948: OPEN c_error_standard;
6949: ELSE
6950: OPEN c_error_manual;
6951: END IF;
6952:
6951: END IF;
6952:
6953: LOOP
6954: IF (g_caller in (C_CALLER_ACCT_PROGRAM, C_CALLER_THIRD_PARTY_MERGE, C_CALLER_MPA_PROGRAM)) THEN
6955: FETCH c_error_standard INTO l_err;
6956: EXIT WHEN c_error_standard%NOTFOUND;
6957: ELSE
6958: FETCH c_error_manual INTO l_err;
6959: EXIT WHEN c_error_manual%NOTFOUND;
6952:
6953: LOOP
6954: IF (g_caller in (C_CALLER_ACCT_PROGRAM, C_CALLER_THIRD_PARTY_MERGE, C_CALLER_MPA_PROGRAM)) THEN
6955: FETCH c_error_standard INTO l_err;
6956: EXIT WHEN c_error_standard%NOTFOUND;
6957: ELSE
6958: FETCH c_error_manual INTO l_err;
6959: EXIT WHEN c_error_manual%NOTFOUND;
6960: END IF;
7199: p_level => C_LEVEL_EVENT);
7200: END IF;
7201:
7202: IF (g_caller in (C_CALLER_ACCT_PROGRAM, C_CALLER_THIRD_PARTY_MERGE, C_CALLER_MPA_PROGRAM)) THEN
7203: CLOSE c_error_standard;
7204: ELSE
7205: CLOSE c_error_manual;
7206: END IF;
7207:
7225: WHEN xla_exceptions_pkg.application_exception THEN
7226: IF (c_error_manual%ISOPEN) THEN
7227: CLOSE c_error_manual;
7228: END IF;
7229: IF (c_error_standard%ISOPEN) THEN
7230: CLOSE c_error_standard;
7231: END IF;
7232: RAISE;
7233:
7226: IF (c_error_manual%ISOPEN) THEN
7227: CLOSE c_error_manual;
7228: END IF;
7229: IF (c_error_standard%ISOPEN) THEN
7230: CLOSE c_error_standard;
7231: END IF;
7232: RAISE;
7233:
7234: WHEN OTHERS THEN
7234: WHEN OTHERS THEN
7235: IF (c_error_manual%ISOPEN) THEN
7236: CLOSE c_error_manual;
7237: END IF;
7238: IF (c_error_standard%ISOPEN) THEN
7239: CLOSE c_error_standard;
7240: END IF;
7241: xla_exceptions_pkg.raise_message
7242: (p_location => 'xla_je_validation_pkg.create_intercompany_errors');
7235: IF (c_error_manual%ISOPEN) THEN
7236: CLOSE c_error_manual;
7237: END IF;
7238: IF (c_error_standard%ISOPEN) THEN
7239: CLOSE c_error_standard;
7240: END IF;
7241: xla_exceptions_pkg.raise_message
7242: (p_location => 'xla_je_validation_pkg.create_intercompany_errors');
7243: END;
10690: --=============================================================================
10691: --
10692: -- Name: balance_amounts
10693: -- Description: This function handle the validation and the balancing
10694: -- requirement for a standard journal entry.
10695: -- Parameters:
10696: -- p_application_id - the application id (required)
10697: -- p_ledger_id - the transaction ledger id (required)
10698: -- Result:
10815: --=============================================================================
10816: --
10817: -- Name: balance_tpm_amounts
10818: -- Description: This function handle the validation and the balancing
10819: -- requirement for a standard journal entry.
10820: -- Parameters:
10821: -- p_application_id - the application id (required)
10822: -- p_ledger_id - the transaction ledger id (required)
10823: -- Result: