/*
 * VL_REPORT.pgc - vl 모듈 서비스 VL_REPORT (one service = one file).
 * 기능: 심각도별 의심거래 건수 리포트.
 * 기존 인라인 vl_svr.pgc에서 분리; caller의 XA 브랜치에서 실행(EXEC SQL CONNECT 없음).
 * vl_svr가 tpsvrinit에서 이 서비스를 tpadvertise 한다.
 */
#include "VL_REPORT.h"

void VL_REPORT(TPSVCINFO *p)
{
    UBFH *b = (UBFH *)p->data;
    char sev[8], bizdate[16];
    EXEC SQL BEGIN DECLARE SECTION;
    long h_cnt;
    char h_sev[8], h_bizdate[16];
    EXEC SQL END DECLARE SECTION;
    gets_(b, T_STR4, sev, sizeof(sev)); if (sev[0] == 0) strcpy(sev, "CRIT");
    gets_(b, T_BIZDATE, bizdate, sizeof(bizdate));
    strncpy(h_sev, sev, sizeof(h_sev)-1); h_sev[sizeof(h_sev)-1] = 0;
    strncpy(h_bizdate, bizdate, sizeof(h_bizdate)-1); h_bizdate[sizeof(h_bizdate)-1] = 0;
    EXEC SQL SELECT count(*) INTO :h_cnt FROM vl_suspect
        WHERE severity = :h_sev AND biz_date = :h_bizdate;
    if (sqlca.sqlcode < 0) FAIL(b);
    setl(b, T_COUNT, h_cnt);
    OK(b);
}
