[Home] [Help]
338: ,cp_request_id INTEGER
339: )
340: IS
341: SELECT xbs.code_combination_id
342: FROM xla_balance_statuses xbs
343: WHERE xbs.application_id = cp_application_id
344: AND xbs.ledger_id = cp_ledger_id
345: AND xbs.balance_status_code = cp_balance_status_code
346: AND xbs.balance_source_code = cp_balance_source_code
536: ,p_level => C_LEVEL_STATEMENT
537: );
538: trace
539: (p_module => l_log_module
540: ,p_msg => 'trying to lock xla_balance_statuses'
541: ,p_level => C_LEVEL_STATEMENT
542: );
543: END IF;
544: LOCK TABLE xla_balance_statuses IN EXCLUSIVE MODE NOWAIT;
540: ,p_msg => 'trying to lock xla_balance_statuses'
541: ,p_level => C_LEVEL_STATEMENT
542: );
543: END IF;
544: LOCK TABLE xla_balance_statuses IN EXCLUSIVE MODE NOWAIT;
545:
546: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
547: trace
548: (p_module => l_log_module
563:
564: END IF;
565:
566: l_date := SYSDATE;
567: UPDATE xla_balance_statuses xbsext
568: SET xbsext.balance_status_code = p_balance_status_code_selected
569: ,xbsext.last_update_date = l_date
570: ,xbsext.last_updated_by = l_user_id
571: ,xbsext.last_update_login = l_login_id
574: ,xbsext.program_id = l_prog_id
575: ,xbsext.request_id = NVL(l_req_id, -1)
576: WHERE xbsext.ROWID IN
577: (SELECT xbs.ROWID
578: FROM xla_balance_statuses xbs
579: ,fnd_concurrent_requests fnd
580: WHERE xbs.application_id = p_application_id
581: AND xbs.ledger_id = p_ledger_id
582: AND xbs.balance_source_code = NVL( p_balance_source_code
595: --handle the case where the procedure is invoked
596: --outside a concurrent request
597: UNION
598: SELECT xbs.ROWID
599: FROM xla_balance_statuses xbs
600: WHERE xbs.application_id = p_application_id
601: AND xbs.ledger_id = p_ledger_id
602: AND xbs.balance_source_code = NVL( p_balance_source_code
603: ,xbs.balance_source_code
615: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
616: trace
617: (p_module => l_log_module
618: ,p_msg => l_row_count
619: || ' xla_balance_statuses updated to '
620: || p_balance_status_code_selected
621: ,p_level => C_LEVEL_STATEMENT
622: );
623: END IF;
642: ,p_level => C_LEVEL_STATEMENT
643: );
644: trace
645: (p_module => l_log_module
646: ,p_msg => 'trying to lock xla_balance_statuses'
647: ,p_level => C_LEVEL_STATEMENT
648: );
649: END IF;
650: LOCK TABLE xla_balance_statuses IN EXCLUSIVE MODE NOWAIT;
646: ,p_msg => 'trying to lock xla_balance_statuses'
647: ,p_level => C_LEVEL_STATEMENT
648: );
649: END IF;
650: LOCK TABLE xla_balance_statuses IN EXCLUSIVE MODE NOWAIT;
651:
652: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
653: trace
654: (p_module => l_log_module
670: END IF;
671:
672: IF NVL(p_balance_source_code, 'C') = 'C'
673: THEN
674: --lock xla_balance_statuses and wait if necessary
675: OPEN lc_lock_balance_statuses
676: ( cp_application_id => p_application_id
677: ,cp_ledger_id => p_ledger_id
678: ,cp_balance_status_code => p_balance_status_code_selected
793: ,SYSDATE --program_update_date
794: ,l_prog_appl_id --program_application_id
795: ,l_prog_id --program_id
796: ,NVL(l_req_id, -1) --request_id
797: FROM xla_balance_statuses xbs
798: ,xla_control_balances xba
799: ,xla_control_balances xbanew
800: WHERE xbs.application_id = p_application_id
801: AND xbs.ledger_id = p_ledger_id
831: END IF;
832:
833: IF NVL(p_balance_source_code, 'A') = 'A'
834: THEN
835: --lock xla_balance_statuses and wait if necessary
836: OPEN lc_lock_balance_statuses
837: ( cp_application_id => p_application_id
838: ,cp_ledger_id => p_ledger_id
839: ,cp_balance_status_code => p_balance_status_code_selected
928: ,SYSDATE --program_update_date
929: ,l_prog_appl_id --program_application_id
930: ,l_prog_id --program_id
931: ,NVL(l_req_id, -1) --request_id
932: FROM xla_balance_statuses xbs
933: ,xla_ac_balances xba
934: ,xla_ac_balances xbanew
935: ,xla_analytical_hdrs_b xbh
936: WHERE xbs.application_id = p_application_id
1007: COMMIT;
1008:
1009: END LOOP; --until there are no more balances to create in this period
1010:
1011: --Update the records in xla_balance_statuses.
1012: l_date := SYSDATE;
1013:
1014: UPDATE xla_balance_statuses xbs
1015: SET xbs.balance_status_code = p_balance_status_code_not_sel
1010:
1011: --Update the records in xla_balance_statuses.
1012: l_date := SYSDATE;
1013:
1014: UPDATE xla_balance_statuses xbs
1015: SET xbs.balance_status_code = p_balance_status_code_not_sel
1016: ,xbs.effective_period_num = l_dest_effective_period_num
1017: ,last_update_date = l_date
1018: ,last_updated_by = l_user_id
1035: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1036: trace
1037: (p_module => l_log_module
1038: ,p_msg => l_row_count ||
1039: ' xla_balance_statuses updated to '
1040: || p_balance_status_code_not_sel
1041: ,p_level => C_LEVEL_STATEMENT
1042: );
1043: END IF;
1139: END IF;
1140:
1141: SELECT MIN(xbs.effective_period_num)
1142: INTO l_min_bal_effective_period_num
1143: FROM xla_balance_statuses xbs
1144: WHERE xbs.application_id = p_application_id
1145: AND xbs.ledger_id = p_ledger_id
1146: AND xbs.balance_source_code = p_balance_source_code;
1147:
1326: CURSOR c_lock_control_statuses
1327: IS
1328: SELECT 1
1329: FROM xla_bal_ctrl_lines_gt xbct
1330: ,xla_balance_statuses xbs
1331: WHERE xbs.application_id = xbct.application_id
1332: AND xbs.ledger_id = xbct.ledger_id
1333: AND xbs.code_combination_id = xbct.code_combination_id
1334: AND xbs.balance_source_code = 'C'
1337: CURSOR c_lock_analytical_statuses
1338: IS
1339: SELECT 1
1340: FROM xla_bal_anacri_lines_gt xblt
1341: ,xla_balance_statuses xbs
1342: WHERE xbs.application_id = xblt.application_id
1343: AND xbs.ledger_id = xblt.ledger_id
1344: AND xbs.code_combination_id = xblt.code_combination_id
1345: AND xbs.balance_source_code = 'A'
1390:
1391: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1392: trace
1393: (p_module => l_log_module
1394: ,p_msg => 'Start inserting in xla_balance_statuses'
1395: ,p_level => C_LEVEL_STATEMENT
1396: );
1397: END IF;
1398:
1395: ,p_level => C_LEVEL_STATEMENT
1396: );
1397: END IF;
1398:
1399: --Create the missing records in xla_balance_statuses, if any.
1400: INSERT INTO xla_bal_statuses_gt
1401: ( application_id
1402: ,ledger_id
1403: ,code_combination_id
1419: ,'TO BE DETERMINED'
1420: ,'TO BE DETERMINED'
1421: ,'?'
1422: FROM xla_bal_ctrl_lines_gt xbct
1423: ,xla_balance_statuses xbs
1424: WHERE xbs.application_id (+)= xbct.application_id
1425: AND xbs.ledger_id (+)= xbct.ledger_id
1426: AND xbs.code_combination_id (+)= xbct.code_combination_id
1427: AND xbs.balance_source_code (+)= 'C'
1439: ,'TO BE DETERMINED'
1440: ,'TO BE DETERMINED'
1441: ,'?'
1442: FROM xla_bal_anacri_lines_gt xbat
1443: ,xla_balance_statuses xbs
1444: WHERE xbs.application_id (+)= xbat.application_id
1445: AND xbs.ledger_id (+)= xbat.ledger_id
1446: AND xbs.code_combination_id (+)= xbat.code_combination_id
1447: AND xbs.balance_source_code (+)= 'A'
1579: END IF;
1580:
1581: END LOOP;
1582:
1583: INSERT INTO xla_balance_statuses
1584: ( application_id
1585: ,ledger_id
1586: ,code_combination_id
1587: ,balance_source_code
1625: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1626: trace
1627: (p_module => l_log_module
1628: ,p_msg => l_row_count ||
1629: ' records inserted in xla_balance_statuses'
1630: ,p_level => C_LEVEL_STATEMENT
1631: );
1632: END IF;
1633:
1633:
1634: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1635: trace
1636: (p_module => l_log_module
1637: ,p_msg => ' Start locking xla_balance_statuses'
1638: ,p_level => C_LEVEL_STATEMENT
1639: );
1640: END IF;
1641:
1638: ,p_level => C_LEVEL_STATEMENT
1639: );
1640: END IF;
1641:
1642: --Lock the records in xla_balance_statuses.
1643:
1644: OPEN c_lock_control_statuses;
1645: CLOSE c_lock_control_statuses;
1646: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1645: CLOSE c_lock_control_statuses;
1646: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1647: trace
1648: (p_module => l_log_module
1649: ,p_msg => 'Records in xla_balance_statuses (control) have been locked.'
1650: ,p_level => C_LEVEL_STATEMENT
1651: );
1652: END IF;
1653:
1655: CLOSE c_lock_analytical_statuses;
1656: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1657: trace
1658: (p_module => l_log_module
1659: ,p_msg => 'Records in xla_balance_statuses (anacri) have been locked.'
1660: ,p_level => C_LEVEL_STATEMENT
1661: );
1662: END IF;
1663:
1675: THEN
1676: IF (C_LEVEL_ERROR >= g_log_level) THEN
1677: trace
1678: (p_module => l_log_module
1679: ,p_msg => 'Cannot lock xla_balance_statuses records'
1680: ,p_level => C_LEVEL_ERROR
1681: );
1682: END IF;
1683: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3494: ,l_date
3495: ,l_prog_appl_id
3496: ,l_prog_id
3497: ,NVL(l_req_id, -1)
3498: FROM xla_balance_statuses xbs
3499: ,gl_period_statuses gpsbs
3500: ,xla_control_balances xba
3501: ,gl_period_statuses gpsnew
3502: WHERE xbs.application_id = p_application_id
3651: ,l_date
3652: ,l_prog_appl_id
3653: ,l_prog_id
3654: ,NVL(l_req_id, -1)
3655: FROM xla_balance_statuses xbs
3656: ,gl_period_statuses gpsbs
3657: ,xla_ac_balances xba
3658: ,gl_period_statuses gpsnew
3659: ,xla_analytical_hdrs_b xbh
6565: =
6566: (
6567: SELECT xbs.balance_status_code
6568: ,xbs.effective_period_num
6569: FROM xla_balance_statuses xbs
6570: WHERE xbs.application_id = xbct.application_id
6571: AND xbs.ledger_id = xbct.ledger_id
6572: AND xbs.code_combination_id = xbct.code_combination_id
6573: AND xbs.balance_source_code = 'C'
6593: (
6594: SELECT xbs.balance_status_code
6595: ,xbs.effective_period_num
6596: ,xbs.account_type
6597: FROM xla_balance_statuses xbs
6598: WHERE xbs.application_id = xbat.application_id
6599: AND xbs.ledger_id = xbat.ledger_id
6600: AND xbs.code_combination_id = xbat.code_combination_id
6601: AND xbs.balance_source_code = 'A'
7885: DELETE
7886: FROM xla_control_balances xcbext
7887: WHERE xcbext.ROWID IN
7888: ( SELECT xcb.ROWID
7889: FROM xla_balance_statuses xbs
7890: ,xla_control_balances xcb
7891: ,gl_period_statuses gps
7892: WHERE xbs.balance_source_code = 'C'
7893: AND xbs.balance_status_code = 'R'
7945: DELETE
7946: FROM xla_ac_balances xabext
7947: WHERE xabext.ROWID IN
7948: ( SELECT xab.ROWID
7949: FROM xla_balance_statuses xbs
7950: ,xla_ac_balances xab
7951: ,gl_period_statuses gps
7952: WHERE xbs.balance_source_code = 'A'
7953: AND xbs.balance_status_code = 'R'
7994: ,ael.control_balance_flag
7995: )
7996: WHERE ael.ROWID IN
7997: (SELECT xal.ROWID
7998: FROM xla_balance_statuses xbs
7999: ,xla_ae_headers xah
8000: ,xla_ae_lines xal
8001: ,gl_period_statuses gps
8002: WHERE xbs.balance_status_code = 'R'
8053: ,ael.analytical_balance_flag
8054: )
8055: WHERE ael.ROWID IN
8056: (SELECT xal.ROWID
8057: FROM xla_balance_statuses xbs
8058: ,xla_ae_headers xah
8059: ,xla_ae_lines xal
8060: ,gl_period_statuses gps
8061: WHERE xbs.balance_status_code = 'R'
8096:
8097: --Phase 2: Balance calculation
8098: LOOP
8099: l_date := SYSDATE;
8100: UPDATE xla_balance_statuses xbs
8101: SET xbs.balance_status_code = 'B'
8102: ,xbs.effective_period_num = (SELECT LEAST( NVL( xbs.recreate_effective_period_num
8103: ,MAX(gps.effective_period_num)
8104: )
8126:
8127: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
8128: trace
8129: ( p_module => l_log_module
8130: ,p_msg => l_row_count || ' xla_balance_statuses updated to B'
8131: ,p_level => C_LEVEL_STATEMENT
8132: );
8133: END IF;
8134:
8155: SELECT xbs.ledger_id
8156: ,MIN(xbs.recreate_effective_period_num)
8157: INTO l_current_ledger_id
8158: ,l_current_effective_period_num
8159: FROM xla_balance_statuses xbs
8160: WHERE xbs.balance_status_code = 'B'
8161: AND xbs.request_id = NVL(l_req_id, -1)
8162: AND ROWNUM = 1
8163: GROUP BY xbs.ledger_id;
8285:
8286: END LOOP;
8287:
8288: l_date := SYSDATE;
8289: UPDATE xla_balance_statuses xbs
8290: SET xbs.balance_status_code = 'C'
8291: ,last_update_date = l_date
8292: ,last_updated_by = l_user_id
8293: ,last_update_login = l_login_id
8304: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
8305: trace
8306: (p_module => l_log_module
8307: ,p_msg => l_row_count
8308: || ' xla_balance_statuses updated to C'
8309: ,p_level => C_LEVEL_STATEMENT
8310: );
8311: END IF;
8312:
8317: --Phase 3: check for warnings
8318:
8319: SELECT count(*)
8320: INTO l_warning_count
8321: FROM xla_balance_statuses xbs
8322: WHERE xbs.request_id = NVL(l_req_id, -1)
8323: AND NVL(xbs.warning_flag, 'N') = 'Y';
8324:
8325: IF l_warning_count > 0
8341:
8342: LOOP
8343: l_date := SYSDATE;
8344:
8345: UPDATE xla_balance_statuses xbs
8346: SET xbs.balance_status_code = 'A'
8347: ,last_update_date = l_date
8348: ,last_updated_by = l_user_id
8349: ,last_update_login = l_login_id
8359:
8360: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
8361: trace
8362: (p_module => l_log_module
8363: , p_msg => l_row_count || ' xla_balance_statuses updated to A'
8364: ,p_level => C_LEVEL_STATEMENT
8365: );
8366: END IF;
8367:
8383: IF l_return_value
8384: THEN
8385: LOOP
8386: l_date := SYSDATE;
8387: UPDATE xla_balance_statuses xbs
8388: SET xbs.balance_status_code = 'A'
8389: ,last_update_date = l_date
8390: ,last_updated_by = l_user_id
8391: ,last_update_login = l_login_id
8401:
8402: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
8403: trace
8404: ( p_module => l_log_module
8405: ,p_msg => l_row_count || ' xla_balance_statuses updated to A'
8406: ,p_level => C_LEVEL_STATEMENT
8407: );
8408: END IF;
8409:
8576: SELECT xbs.application_id
8577: ,xbs.ledger_id
8578: ,xbs.code_combination_id
8579: ,xbs.balance_source_code
8580: FROM xla_balance_statuses xbs
8581: ,gl_code_combinations gcc
8582: ,xla_bal_recreate_gt xbt
8583: WHERE gcc.code_combination_id = xbs.code_combination_id
8584: AND xbt.application_id (+)= xbs.application_id
8635:
8636: --try to bring the balances off line for recreation
8637: LOOP
8638: l_date := SYSDATE;
8639: UPDATE xla_balance_statuses xbsext
8640: SET xbsext.balance_status_code = DECODE( xbsext.balance_status_code
8641: ,'A'
8642: ,'R'
8643: ,xbsext.balance_status_code
8686: ,xbsext.request_id = NVL(l_req_id, -1)
8687: WHERE xbsext.ROWID IN
8688: (SELECT xbs.ROWID
8689: FROM xla_bal_recreate_gt xbt
8690: ,xla_balance_statuses xbs
8691: ,fnd_concurrent_requests fnd
8692: WHERE xbs.application_id = xbt.application_id
8693: AND xbs.ledger_id = xbt.ledger_id
8694: AND xbs.code_combination_id = xbt.code_combination_id
8703: )
8704: )
8705: UNION
8706: SELECT xbs.ROWID
8707: FROM xla_balance_statuses xbs
8708: WHERE xbs.application_id = NVL( p_application_id
8709: ,xbs.application_id
8710: )
8711: AND xbs.ledger_id = NVL( p_ledger_id
8723:
8724: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
8725: trace
8726: ( p_module => l_log_module
8727: ,p_msg => l_row_count || ' xla_balance_statuses updated to R'
8728: ,p_level => C_LEVEL_STATEMENT
8729: );
8730: END IF;
8731:
8740:
8741: SELECT count(*)
8742: INTO l_count_unavailable
8743: FROM xla_bal_recreate_gt xbt
8744: ,xla_balance_statuses xbs
8745: WHERE xbs.application_id = xbt.application_id
8746: AND xbs.ledger_id = xbt.ledger_id
8747: AND xbs.code_combination_id = xbt.code_combination_id
8748: AND xbs.balance_source_code = xbt.balance_source_code
8842: --try to bring the balances off line
8843: LOOP
8844: l_date := SYSDATE;
8845:
8846: UPDATE xla_balance_statuses xbsext
8847: SET xbsext.balance_status_code = DECODE( xbsext.balance_status_code
8848: ,'A'
8849: ,'R'
8850: ,xbsext.balance_status_code
8892: ,xbsext.program_id = l_prog_id
8893: ,xbsext.request_id = l_req_id
8894: WHERE xbsext.ROWID IN
8895: (SELECT xbs.ROWID
8896: FROM xla_balance_statuses xbs
8897: ,fnd_concurrent_requests fnd
8898: WHERE xbs.application_id = NVL( p_application_id
8899: ,xbs.application_id
8900: )
8911: )
8912: )
8913: UNION
8914: SELECT xbs.ROWID
8915: FROM xla_balance_statuses xbs
8916: WHERE xbs.application_id = NVL( p_application_id
8917: ,xbs.application_id
8918: )
8919: AND xbs.ledger_id = NVL( p_ledger_id
8931:
8932: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
8933: trace
8934: ( p_module => l_log_module
8935: ,p_msg => l_row_count || ' xla_balance_statuses updated to R'
8936: ,p_level => C_LEVEL_STATEMENT
8937: );
8938:
8939: END IF;
8949:
8950:
8951: SELECT count(*)
8952: INTO l_count_unavailable
8953: FROM xla_balance_statuses xbs
8954: WHERE xbs.application_id = NVL( p_application_id
8955: ,xbs.application_id
8956: )
8957: AND xbs.ledger_id = NVL( p_ledger_id
9412:
9413: --try to bring the balances off line
9414: LOOP
9415:
9416: UPDATE xla_balance_statuses xbsext
9417: SET xbsext.balance_status_code = 'S'
9418: ,xbsext.last_update_date = l_date
9419: ,xbsext.last_updated_by = l_user_id
9420: ,xbsext.last_update_login = l_login_id
9423: ,xbsext.program_id = l_prog_id
9424: ,xbsext.request_id = NVL(l_req_id, -1)
9425: WHERE xbsext.ROWID IN
9426: (SELECT xbs.ROWID
9427: FROM xla_balance_statuses xbs
9428: ,fnd_concurrent_requests fnd
9429: WHERE xbs.ledger_id IN
9430: (
9431: SELECT xgl.ledger_id
9443: AND fnd.request_id(+) = xbs.request_id
9444: AND NVL(fnd.status_code,'N') <> 'R'
9445: UNION
9446: SELECT xbs.ROWID
9447: FROM xla_balance_statuses xbs
9448: WHERE xbs.ledger_id IN
9449: (
9450: SELECT xgl.ledger_id
9451: FROM gl_ledgers xgl
9468: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
9469: trace
9470: (p_module => l_log_module
9471: ,p_msg => l_row_count
9472: || ' xla_balance_statuses updated to S'
9473: ,p_level => C_LEVEL_STATEMENT
9474: );
9475: END IF;
9476:
9483: END IF;
9484: END LOOP;
9485:
9486: /*
9487: --lock xla_balance_statuses and wait if necessary
9488: EXECUTE IMMEDIATE
9489: '
9490: SELECT xbs.code_combination_id
9491: FROM xla_balance_statuses xbs
9487: --lock xla_balance_statuses and wait if necessary
9488: EXECUTE IMMEDIATE
9489: '
9490: SELECT xbs.code_combination_id
9491: FROM xla_balance_statuses xbs
9492: WHERE xbs.ledger_id IN
9493: (
9494: SELECT xgl.ledger_id
9495: FROM gl_ledgers xgl
9511: */
9512:
9513: SELECT COUNT(*)
9514: INTO l_count_unavailable
9515: FROM xla_balance_statuses xbs
9516: WHERE xbs.balance_status_code <> 'S'
9517: AND ( xbs.application_id
9518: ,xbs.ledger_id
9519: ,xbs.code_combination_id
9591:
9592: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
9593: trace
9594: (p_module => l_log_module
9595: ,p_msg => l_row_count || ' xla_balance_statuses deleted'
9596: ,p_level => C_LEVEL_STATEMENT
9597: );
9598: END IF;
9599: IF l_row_count < C_BATCH_COMMIT_SIZE
9604: COMMIT;
9605: END IF;
9606: END LOOP;
9607:
9608: --delete xla_balance_statuses
9609: LOOP
9610: DELETE
9611: FROM xla_balance_statuses xbs
9612: WHERE xbs.code_combination_id IN
9607:
9608: --delete xla_balance_statuses
9609: LOOP
9610: DELETE
9611: FROM xla_balance_statuses xbs
9612: WHERE xbs.code_combination_id IN
9613: (
9614: SELECT xbt.code_combination_id
9615: FROM xla_bal_synchronize_gt xbt
9622:
9623: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
9624: trace
9625: (p_module => l_log_module
9626: ,p_msg => l_row_count || ' xla_balance_statuses deleted'
9627: ,p_level => C_LEVEL_STATEMENT
9628: );
9629: END IF;
9630: IF l_row_count < C_BATCH_COMMIT_SIZE
9637: END LOOP;
9638:
9639: SELECT COUNT(*)
9640: INTO l_count_unavailable
9641: FROM xla_balance_statuses xbs
9642: WHERE xbs.balance_source_code = 'C'
9643: AND xbs.code_combination_id IN
9644: (
9645: SELECT xbt.code_combination_id
9651: THEN
9652: IF (C_LEVEL_ERROR >= g_log_level) THEN
9653: trace
9654: (p_module => l_log_module
9655: ,p_msg => 'Not all xla_balance_statuses records available'
9656: ,p_level => C_LEVEL_ERROR
9657: );
9658: trace
9659: (p_module => l_log_module