/*
 * cl_apprstat_batch.pgc - cl 마감 승인현황 집계 배치 (단계별 집계 리포트, 조회 전용).
 *
 * 마감이력의 승인 단계(1차 APPR:L1 / 2차 APPR:L2 / 최종 status=A) 건수를 집계해 출력한다.
 * host 변수는 전용 카피북 cl_apprstat_cpy.h 를 EXEC SQL INCLUDE 로 가져온다.
 * Usage: cl_apprstat_batch
 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <atmi.h>

int main(int argc, char **argv)
{
    (void)argc; (void)argv;

    EXEC SQL INCLUDE cl_apprstat_cpy;

    if (tpinit(NULL) < 0) { fprintf(stderr, "tpinit FAIL: %s\n", tpstrerror(tperrno)); return 1; }
    if (tpopen() < 0)     { fprintf(stderr, "tpopen FAIL: %s\n", tpstrerror(tperrno)); return 1; }
    if (tpbegin(30, 0) < 0) { fprintf(stderr, "tpbegin FAIL: %s\n", tpstrerror(tperrno)); return 1; }

    EXEC SQL SELECT
            count(*) FILTER (WHERE memo = 'APPR:L1'),
            count(*) FILTER (WHERE memo = 'APPR:L2'),
            count(*) FILTER (WHERE status = 'A')
        INTO :as_l1, :as_l2, :as_fin FROM cl_close_log WHERE status <> 'X';
    if (sqlca.sqlcode < 0) { tpabort(0); return 1; }

    printf(">>> cl_apprstat_batch 승인현황: 1차=%ld 2차=%ld 최종=%ld\n", as_l1, as_l2, as_fin);

    tpcommit(0);
    tpclose(); tpterm();
    return 0;
}
