/*
 * VL_EXPIRY.pgc - vl 모듈 서비스 VL_EXPIRY (one service = one file).
 * 기능: 카드 유효기간(YYYYMM) vs 영업일 검증 (RC 1=만료).
 * 기존 인라인 vl_svr.pgc에서 분리; caller의 XA 브랜치에서 실행(EXEC SQL CONNECT 없음).
 * vl_svr가 tpsvrinit에서 이 서비스를 tpadvertise 한다.
 */
#include "VL_EXPIRY.h"

void VL_EXPIRY(TPSVCINFO *p)
{
    UBFH *b = (UBFH *)p->data;
    char expiry[8], bizdate[16];
    long rc = 0, exp_ym, biz_ym, y, m, d;
    gets_(b, T_STR2, expiry, sizeof(expiry));
    gets_(b, T_BIZDATE, bizdate, sizeof(bizdate));
    if (strlen(expiry) < 6 || sscanf(bizdate, "%ld-%ld-%ld", &y, &m, &d) != 3) {
        setl(b, T_RC, 2); OK(b);         /* 2=형식 오류 */
    }
    exp_ym = atol(expiry);               /* YYYYMM */
    biz_ym = y * 100 + m;
    if (exp_ym < biz_ym) rc = 1;
    setl(b, T_RC, rc);
    OK(b);
}
