/*
 * MM_MERCH_SUM.pgc - mm 모듈 서비스 MM_MERCH_SUM (one service = one file).
 * 기능: 상태별 가맹점 수 집계 (ACTIVE 기준).
 * 기존 인라인 mm_svr.pgc에서 분리; caller의 XA 브랜치에서 실행(EXEC SQL CONNECT 없음).
 * mm_svr가 tpsvrinit에서 이 서비스를 tpadvertise 한다.
 */
#include "MM_MERCH_SUM.h"

void MM_MERCH_SUM(TPSVCINFO *p)
{
    UBFH *b = (UBFH *)p->data;
    char status[16];
    EXEC SQL BEGIN DECLARE SECTION;
    long h_cnt;
    char h_status[16];
    EXEC SQL END DECLARE SECTION;
    gets_(b, T_STATUS, status, sizeof(status)); if (status[0] == 0) strcpy(status, "ACTIVE");
    strncpy(h_status, status, sizeof(h_status)-1); h_status[sizeof(h_status)-1] = 0;
    EXEC SQL SELECT count(*) INTO :h_cnt FROM mm_merchant_ext WHERE status = :h_status;
    if (sqlca.sqlcode < 0) FAIL(b);
    setl(b, T_COUNT, h_cnt);
    OK(b);
}
