<ROOT>
 <APPS_INITIALIZE_DATA>
  <USER_NAME>ENGINATICS</USER_NAME>
  <RESPONSIBILITY_KEY>SYSTEM_ADMINISTRATOR</RESPONSIBILITY_KEY>
  <APPLICATION_SHORT_NAME>SYSADMIN</APPLICATION_SHORT_NAME>
 </APPS_INITIALIZE_DATA>
<REPORTS>
<!-- loader xml for Enginatics Blitz Report: ECC Cash Management, Bank Statements -->
 <REPORTS_ROW>
  <GUID>22F9280696B38737E06362FB0905B27A</GUID>
  <SQL_TEXT>select
x.*
from
(
WITH ce_bank_statements AS (
    SELECT /*+ ordered index(hpb hz_parties_u1) index(hpbb hz_parties_u1) index(xep xle_entity_profiles_u1) index(gcc gl_code_combinations_u1) push_pred(nsf_recon) push_pred(oth_recon) */
 /* Statement Details*/
        xep.name                                                              legal_entity,
        xep.legal_entity_id                                                    legal_entity_id,
        cbagv.bank_account_num                                                bank_account_num,
        cbagv.bank_account_name                                               bank_account_name,
        cbagv.bank_account_type                                               bank_account_type,
        cbagv.currency_code                                                   bank_account_currency,
        hpb.party_name                                                        bank_name,
        hpbb.party_name                                                       branch_name,
        csh.statement_number                                                  statement_num,
        csh.doc_sequence_value                                                document_number,
        trunc(csh.statement_date)                                             statement_date,
        trunc(csh.gl_date)                                                    gl_date,
        csh.check_digits,
        csh.control_begin_balance                                             control_opening_balance,
        nvl(csh.control_total_cr, 0) - nvl(csh.control_total_dr, 0)           control_net_movement,
        csh.control_end_balance                                               control_closing_balance,
        csh.control_total_cr                                                  control_receipts,
        csh.control_total_dr                                                  control_payments,
        nvl(csh.control_cr_line_count, 0) + nvl(csh.control_dr_line_count, 0) control_lines_count,
        csh.control_cr_line_count                                             control_receipts_count,
        csh.control_dr_line_count                                             control_payments_count,
        csh.cashflow_balance,
        csh.int_calc_balance                                                  value_dated_balance,
        csh.one_day_float,
        csh.two_day_float,
        csh.auto_loaded_flag                   auto_loaded_flag,
        csh.statement_complete_flag           statement_complete_flag,
        csh.org_id org_id,
        cbagv.multi_currency_allowed_flag     multi_currency_flag,
 /* Statement Line Details*/
        csl.line_number                                                       line_num,
        csl.trx_type                                                          trx_type,
        csl.trx_code                                                          code,
        csl.bank_trx_number                                                   trx_number,
        trunc(csl.trx_date)                                                   trx_date,
        trunc(csl.effective_date)                                             value_date,
        csl.status                                                            status,
        csl.status                                                            status_code,
 /* credit/debit amounts*/
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               CASE
                   WHEN csl.trx_type IN(&apos;MISC_CREDIT&apos;, &apos;CREDIT&apos;, &apos;STOP&apos;, &apos;SWEEP_IN&apos;) THEN
                       csl.amount
                   ELSE
                       NULL
               END,
               NULL)                                                          receipt_amount,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               CASE
                   WHEN csl.trx_type IN(&apos;MISC_DEBIT&apos;, &apos;DEBIT&apos;, &apos;REJECTED&apos;, &apos;NSF&apos;, &apos;SWEEP_OUT&apos;) THEN
                       csl.amount
                   ELSE
                       NULL
               END,
               NULL)                                                          payment_amount,
 /* net amounts*/
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               CASE
                   WHEN csl.trx_type IN(&apos;MISC_DEBIT&apos;, &apos;DEBIT&apos;, &apos;REJECTED&apos;, &apos;NSF&apos;, &apos;SWEEP_OUT&apos;) THEN
                       - 1
                   ELSE
                       1
               END
               * csl.amount,
               NULL)                                                          net_amount,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               CASE
                   WHEN csl.trx_type IN(&apos;MISC_DEBIT&apos;, &apos;DEBIT&apos;, &apos;REJECTED&apos;, &apos;NSF&apos;, &apos;SWEEP_OUT&apos;) THEN
                       - 1
                   ELSE
                       1
               END
               * decode(csl.status,
                        &apos;EXTERNAL&apos;,
                        csl.amount,
                        decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched)),
               NULL)                                                          net_reconciled_amount,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               CASE
                   WHEN csl.trx_type IN(&apos;MISC_DEBIT&apos;, &apos;DEBIT&apos;, &apos;REJECTED&apos;, &apos;NSF&apos;, &apos;SWEEP_OUT&apos;) THEN
                       - 1
                   ELSE
                       1
               END
               * decode(csl.status,
                        &apos;EXTERNAL&apos;,
                        TO_NUMBER(NULL),
                        decode(sign(csl.amount - nvl(decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched),
                                                     0)),
                               1,
                               csl.amount - nvl(decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched),
                                                0),
                               NULL)),
               NULL)                                                          net_unreconciled_amount,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               CASE
                   WHEN csl.trx_type IN(&apos;MISC_DEBIT&apos;, &apos;DEBIT&apos;, &apos;REJECTED&apos;, &apos;NSF&apos;, &apos;SWEEP_OUT&apos;) THEN
                       - 1
                   ELSE
                       1
               END
               * decode(csl.status,
                        &apos;EXTERNAL&apos;,
                        TO_NUMBER(NULL),
                        decode(sign(csl.amount - nvl(decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched),
                                                     0)),
                               - 1,
                               -(csl.amount - nvl(decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched),
                                                  0)),
                               NULL)),
               NULL)                                                          net_overreconciled_amount,
 /* amounts*/
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               csl.amount,
               NULL)                                                          amount,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               decode(csl.status,
                      &apos;EXTERNAL&apos;,
                      csl.amount,
                      decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched)),
               NULL)                                                          reconciled_amount,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               decode(csl.status,
                      &apos;EXTERNAL&apos;,
                      TO_NUMBER(NULL),
                      decode(sign(csl.amount - nvl(decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched),
                                                   0)),
                             1,
                             csl.amount - nvl(decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched),
                                              0),
                             NULL)),
               NULL)                                                          unreconciled_amount,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               decode(csl.status,
                      &apos;EXTERNAL&apos;,
                      TO_NUMBER(NULL),
                      decode(sign(csl.amount - nvl(decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched),
                                                   0)),
                             - 1,
                             -(csl.amount - nvl(decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched),
                                                0)),
                             NULL)),
               NULL)                                                          overreconciled_amount,
 /* counts*/
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               1,
               NULL)                                                          line_count,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               CASE
                   WHEN csl.trx_type IN(&apos;MISC_CREDIT&apos;, &apos;CREDIT&apos;, &apos;STOP&apos;, &apos;SWEEP_IN&apos;) THEN
                       1
                   ELSE
                       0
               END,
               NULL)                                                          receipt_line_count,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               CASE
                   WHEN csl.trx_type IN(&apos;MISC_DEBIT&apos;, &apos;DEBIT&apos;, &apos;REJECTED&apos;, &apos;NSF&apos;, &apos;SWEEP_OUT&apos;) THEN
                       1
                   ELSE
                       0
               END,
               NULL)                                                          payment_line_count,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               decode(csl.status, &apos;UNRECONCILED&apos;, 1, &apos;ERROR&apos;, 1,
                      0),
               NULL)                                                          unreconciled_line_count,
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.count_matched, oth_recon.count_matched),
               NULL)                                                          reconciled_trx_count,
 /* charges*/
        decode(COUNT(csl.statement_line_id)
               OVER(PARTITION BY csl.statement_line_id
                    ORDER BY
                        csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
               ),
               1,
               decode(csl.charges_amount,
                      0,
                      TO_NUMBER(NULL),
                      csl.charges_amount),
               NULL)                                                          charges_amount,

        csl.currency_code                                                     trx_currency,
        trunc(csl.exchange_rate_date)                                         exchange_date,
        (
            SELECT
                gdct.user_conversion_type
            FROM
                gl_daily_conversion_types gdct
            WHERE
                gdct.conversion_type = csl.exchange_rate_type
        )                                                                     exchange_rate_type,
        csl.exchange_rate,
        csl.original_amount                                                   trx_original_amount,

        nvl(csl.customer_text,(
            SELECT /*+ push_pred */
                crtv.agent_name
            FROM
                ce_reconciled_transactions_v crtv
            WHERE
                    crtv.statement_line_id = csl.statement_line_id
                AND ROWNUM &lt;= 1
        ))                                                                    agent,
        csl.bank_account_text                                                 agent_bank_account,
        csl.invoice_text                                                      invoice,
        csl.trx_text                                                          description,
        (
            SELECT /*+ push_pred */ DISTINCT
                LISTAGG(crev.error_message, &apos;, &apos;) WITHIN GROUP(
                ORDER BY
                    crev.error_message
                )
                OVER()
            FROM
                (
                    SELECT DISTINCT
                        crev.statement_header_id,
                        crev.statement_line_id,
                        fnd_message.get_string(crev.application_short_name, crev.message_name) error_message
                    FROM
                        ce_reconciliation_errors_v crev
                ) crev
            WHERE
                    crev.statement_header_id = csl.statement_header_id
                AND crev.statement_line_id = csl.statement_line_id
        )                                                                     error_messages,

 /* GL Cash Account Details*/
        nvl2(gcc.code_combination_id,
             fnd_flex_xml_publisher_apis.process_kff_combination_1(&apos;acct_flex_bal_seg&apos;, &apos;SQLGL&apos;, &apos;GL#&apos;, gcc.chart_of_accounts_id, NULL
             ,
                                                                   gcc.code_combination_id, &apos;GL_BALANCING&apos;, &apos;Y&apos;, &apos;VALUE&apos;),
             NULL)                                                            gl_company_code,
        nvl2(gcc.code_combination_id,
             fnd_flex_xml_publisher_apis.process_kff_combination_1(&apos;acct_flex_bal_seg&apos;, &apos;SQLGL&apos;, &apos;GL#&apos;, gcc.chart_of_accounts_id, NULL
             ,
                                                                   gcc.code_combination_id, &apos;GL_BALANCING&apos;, &apos;Y&apos;, &apos;DESCRIPTION&apos;),
             NULL)                                                            gl_company_desc,
        nvl2(gcc.code_combination_id,
             fnd_flex_xml_publisher_apis.process_kff_combination_1(&apos;acct_flex_bal_seg&apos;, &apos;SQLGL&apos;, &apos;GL#&apos;, gcc.chart_of_accounts_id, NULL
             ,
                                                                   gcc.code_combination_id, &apos;GL_ACCOUNT&apos;, &apos;Y&apos;, &apos;VALUE&apos;),
             NULL)                                                            gl_account_code,
        nvl2(gcc.code_combination_id,
             fnd_flex_xml_publisher_apis.process_kff_combination_1(&apos;acct_flex_bal_seg&apos;, &apos;SQLGL&apos;, &apos;GL#&apos;, gcc.chart_of_accounts_id, NULL
             ,
                                                                   gcc.code_combination_id, &apos;GL_ACCOUNT&apos;, &apos;Y&apos;, &apos;DESCRIPTION&apos;),
             NULL)                                                            gl_account_desc,
        nvl2(gcc.code_combination_id,
             fnd_flex_xml_publisher_apis.process_kff_combination_1(&apos;acct_flex_bal_seg&apos;, &apos;SQLGL&apos;, &apos;GL#&apos;, gcc.chart_of_accounts_id, NULL
             ,
                                                                   gcc.code_combination_id, &apos;FA_COST_CTR&apos;, &apos;Y&apos;, &apos;VALUE&apos;),
             NULL)                                                            gl_cost_center_code,
        nvl2(gcc.code_combination_id,
             fnd_flex_xml_publisher_apis.process_kff_combination_1(&apos;acct_flex_bal_seg&apos;, &apos;SQLGL&apos;, &apos;GL#&apos;, gcc.chart_of_accounts_id, NULL
             ,
                                                                   gcc.code_combination_id, &apos;FA_COST_CTR&apos;, &apos;Y&apos;, &apos;DESCRIPTION&apos;),
             NULL)                                                            gl_cost_center_desc,
        nvl2(gcc.code_combination_id,
             fnd_flex_xml_publisher_apis.process_kff_combination_1(&apos;acct_flex_bal_seg&apos;, &apos;SQLGL&apos;, &apos;GL#&apos;, gcc.chart_of_accounts_id, NULL
             ,
                                                                   gcc.code_combination_id, &apos;ALL&apos;, &apos;Y&apos;, &apos;VALUE&apos;),
             NULL)                                                            gl_cash_account,
        nvl2(gcc.code_combination_id,
             fnd_flex_xml_publisher_apis.process_kff_combination_1(&apos;acct_flex_bal_seg&apos;, &apos;SQLGL&apos;, &apos;GL#&apos;, gcc.chart_of_accounts_id, NULL
             ,
                                                                   gcc.code_combination_id, &apos;ALL&apos;, &apos;Y&apos;, &apos;DESCRIPTION&apos;),
             NULL)                                                            gl_cash_account_desc,

        csh.statement_header_id,
        csl.statement_line_id,
        COUNT(csl.statement_line_id)
        OVER(PARTITION BY csl.statement_line_id
             ORDER BY
                 csl.statement_line_id
            ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
        )                                                                     recon_sort_num,
        decode(csl.status,
               &apos;EXTERNAL&apos;,
               &apos;N&apos;,
               decode(sign(csl.amount - nvl(decode(csl.trx_type, &apos;NSF&apos;, nsf_recon.amount_matched, oth_recon.amount_matched),
                                            0)),
                      1,
                      &apos;Y&apos;,
                      &apos;N&apos;))                                                   unrecon_amount_exists_flag,
       flv1.meaning  trx_type_meaning ,
       flv2.meaning status_meaning
       ,flv1.language language
    FROM
        CE_BANK_ACCOUNTS   cbagv,
        ce_statement_headers csh,
        ce_statement_lines   csl,
        hz_parties           hpb,
        hz_parties           hpbb,
        xle_entity_profiles  xep,
        gl_code_combinations gcc,
        fnd_lookup_values flv1,
        fnd_lookup_values flv2,
        (
            SELECT
                csra.statement_line_id,
                SUM(decode(csra.reference_type,
                           &apos;RECEIPT&apos;,
                           decode(acra.type,
                                  &apos;MISC&apos;,
                                  decode(acrha.status,
                                         &apos;CLEARED&apos;,
                                         nvl(- csra.amount, 0),
                                         nvl(csra.amount, 0)),
                                  nvl(csra.amount, 0)),
                           nvl(csra.amount, 0))) amount_matched,
                COUNT(*)              count_matched
            FROM
                ce_statement_reconcils_all  csra,
                ar_cash_receipt_history_all acrha,
                ar_cash_receipts_all        acra
            WHERE
                    csra.status_flag = &apos;M&apos;
                AND csra.current_record_flag = &apos;Y&apos;
                AND csra.reference_id = acrha.cash_receipt_history_id (+)
                AND acrha.cash_receipt_id = acra.cash_receipt_id (+)
            GROUP BY
                csra.statement_line_id
        )                    nsf_recon,
        (
            SELECT
                csl.statement_line_id,
                SUM(decode(decode(csl.trx_type, &apos;MISC_CREDIT&apos;, &apos;RECEIPT&apos;, &apos;CREDIT&apos;, &apos;RECEIPT&apos;,
                                  &apos;MISC_DEBIT&apos;, &apos;PAYMENT&apos;, &apos;SWEEP_IN&apos;, &apos;RECEIPT&apos;, &apos;SWEEP_OUT&apos;,
                                  &apos;PAYMENT&apos;, &apos;DEBIT&apos;, &apos;PAYMENT&apos;, &apos;OTHERS&apos;),
                           &apos;RECEIPT&apos;,
                           decode(csra.reference_type,
                                  &apos;PAYMENT&apos;,
                                  nvl(- csra.amount, 0),
                                  nvl(csra.amount, 0)),
                           &apos;PAYMENT&apos;,
                           decode(csra.reference_type,
                                  &apos;RECEIPT&apos;,
                                  nvl(- csra.amount, 0),
                                  nvl(csra.amount, 0)),
                           nvl(csra.amount, 0))) amount_matched,
                COUNT(*)              count_matched
            FROM
                ce_statement_reconcils_all csra,
                ce_statement_lines         csl
            WHERE
                    csra.statement_line_id = csl.statement_line_id
                AND csra.status_flag = &apos;M&apos;
                AND csra.current_record_flag = &apos;Y&apos;
            GROUP BY
                csl.statement_line_id
        )                    oth_recon
    WHERE
            csh.bank_account_id = cbagv.bank_account_id
        AND csl.statement_header_id = csh.statement_header_id
        AND hpb.party_id = cbagv.bank_id
        AND hpbb.party_id = cbagv.bank_branch_id
        AND xep.legal_entity_id = cbagv.account_owner_org_id
        AND gcc.code_combination_id (+) = cbagv.asset_code_combination_id
        AND nsf_recon.statement_line_id (+) = decode(csl.trx_type, &apos;NSF&apos;, csl.statement_line_id, NULL)
        AND oth_recon.statement_line_id (+) = decode(csl.trx_type, &apos;NSF&apos;, NULL, csl.statement_line_id)
        AND (csh.statement_complete_flag is null OR csh.statement_complete_flag = &apos;N&apos;)
        AND flv1.lookup_code=csl.trx_type
        AND flv2.lookup_code=csl.status
        AND flv1.lookup_type=&apos;BANK_TRX_TYPE&apos;
        AND flv2.lookup_type=&apos;STATEMENT_LINE_STATUS&apos;
        AND flv1.language=flv2.language
        AND flv1.language in (&apos;US&apos;) 

        AND 1 = 1
)
/* Main Query Starts Here*/
select * from (
select
 cebs.bank_account_num||&apos;-&apos;||cebs.statement_header_id||&apos;-&apos;||cebs.statement_line_id    ECC_SPEC_ID,
 cebs.legal_entity,
 cebs.legal_entity_id,
 cebs.org_id ,
 cebs.bank_account_num,
 cebs.bank_account_name,
 cebs.bank_account_type,
 cebs.bank_account_currency,
 cebs.bank_name,
 cebs.branch_name,
 cebs.statement_num,
 cebs.document_number,
 cebs.statement_date,
 cebs.gl_date,
 cebs.check_digits,
 cebs.control_opening_balance,
 cebs.control_net_movement,
 cebs.control_closing_balance,
 cebs.control_receipts,
 cebs.control_payments,
 cebs.control_lines_count,
 cebs.control_receipts_count,
 cebs.control_payments_count,

 case
 when nvl(cebs.control_receipts,0) = nvl(sum(cebs.receipt_amount) over (partition by cebs.statement_header_id),0) and
      nvl(cebs.control_payments,0) = nvl(sum(cebs.payment_amount) over (partition by cebs.statement_header_id),0)
 then null
 else &apos;Yes&apos;
 end control_amount_error,
 case
 when nvl(cebs.control_receipts_count,0) = nvl(sum(cebs.receipt_line_count) over (partition by cebs.statement_header_id),0) and
      nvl(cebs.control_payments_count,0) = nvl(sum(cebs.payment_line_count) over (partition by cebs.statement_header_id),0)
 then null
 else &apos;Yes&apos;
 end control_count_error,

 cebs.cashflow_balance,
 cebs.value_dated_balance,
 cebs.one_day_float,
 cebs.two_day_float,
 cebs.auto_loaded_flag,
 cebs.statement_complete_flag,
 cebs.multi_currency_flag,

 /*Statement Line Details*/
 cebs.line_num,
 cebs.trx_type,
 cebs.code,
 cebs.trx_number,
 cebs.trx_date,
 cebs.value_date,
 cebs.status,
 cebs.receipt_amount,
 cebs.payment_amount,
 cebs.net_amount,
 cebs.net_reconciled_amount,
 cebs.net_unreconciled_amount,
 cebs.net_overreconciled_amount,
 cebs.amount,
 cebs.reconciled_amount,
 cebs.unreconciled_amount,
 cebs.overreconciled_amount,
 cebs.line_count,
 cebs.receipt_line_count,
 cebs.payment_line_count,
 cebs.unreconciled_line_count,
 cebs.reconciled_trx_count,
 cebs.charges_amount,
 cebs.trx_currency,
 cebs.exchange_date,
 cebs.exchange_rate_type,
 cebs.exchange_rate,
 cebs.trx_original_amount,
 cebs.agent,
 cebs.agent_bank_account,
 cebs.invoice,
 cebs.description,
 cebs.error_messages,
/* Reconcilation Trx Details*/
/*GL Cash Account Details*/
 cebs.gl_company_code,
 cebs.gl_company_desc,
 cebs.gl_account_code,
 cebs.gl_account_desc,
 cebs.gl_cost_center_code,
 cebs.gl_cost_center_desc,
 cebs.gl_cash_account,
 cebs.gl_cash_account_desc,

 cebs.statement_header_id,
 cebs.statement_line_id,
 cebs.recon_sort_num,
 /*Labels*/
 cebs.gl_company_code || &apos; - &apos; || cebs.gl_company_desc gl_company_label,
 cebs.bank_name || &apos; - &apos; || cebs.bank_account_num || &apos; - &apos; || cebs.bank_account_name || &apos; (&apos; ||  cebs.bank_account_currency || &apos;)&apos; bank_account_label,
 to_char(cebs.statement_date,&apos;YYYY-MM-DD&apos;) || &apos; - &apos; || cebs.statement_num  statement_num_label
,cebs.trx_type_meaning trx_type_meaning,
cebs.status_meaning status_meaning,
cebs.bank_name ||&apos;|&apos;|| cebs.bank_account_num bank_account_details
,cebs.language language
from
 ce_bank_statements        cebs
where
 3=3)
 PIVOT (max(trx_type_meaning) as trx_type_meaning,
            max(status_meaning) as status_meaning
            for LANGUAGE in (&apos;US&apos; &quot;US&quot;))
) x
where
2=2</SQL_TEXT>
  <ENABLED>Y</ENABLED>
  <REPORT_TRANSLATIONS>
   <REPORT_TRANSLATIONS_ROW>
    <LANGUAGE>US</LANGUAGE>
    <REPORT_NAME>ECC Cash Management, Bank Statements</REPORT_NAME>
    <DESCRIPTION>Imported from Enterprise Command Center
Description: Bank stantement and statement lines
Dataset Key: ce-bank-statement
Query Procedure: ce_ecc_util_pvt.get_ecc_data_load_info
Security Procedure: CE_ECC_DATASECURITY_PKG_PUB.GetFilterAttributeValues</DESCRIPTION>
   </REPORT_TRANSLATIONS_ROW>
  </REPORT_TRANSLATIONS>
  <CATEGORY_ASSIGNMENTS>
   <CATEGORY_ASSIGNMENTS_ROW>
    <CATEGORY>Enterprise Command Center</CATEGORY>
   </CATEGORY_ASSIGNMENTS_ROW>
  </CATEGORY_ASSIGNMENTS>
  <ANCHORS>
   <ANCHORS_ROW>
    <ANCHOR>1=1</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>2=2</ANCHOR>
   </ANCHORS_ROW>
   <ANCHORS_ROW>
    <ANCHOR>3=3</ANCHOR>
   </ANCHORS_ROW>
  </ANCHORS>
  <PARAMETERS>
  </PARAMETERS>
  <PARAMETER_DEPENDENCIES>
  </PARAMETER_DEPENDENCIES>
  <TEMPLATES>
  </TEMPLATES>
  <DEFAULT_TEMPLATES>
  </DEFAULT_TEMPLATES>
  <UPLOAD_COLUMNS>
  </UPLOAD_COLUMNS>
  <UPLOAD_PARAMETERS>
  </UPLOAD_PARAMETERS>
  <UPLOAD_SQLS>
  </UPLOAD_SQLS>
  <UPLOAD_DEPENDENCIES>
  </UPLOAD_DEPENDENCIES>
 </REPORTS_ROW>
</REPORTS>
</ROOT>
