/*
 * VL_AMOUNT.pgc - vl 모듈 서비스 VL_AMOUNT (one service = one file).
 * 기능: 금액 유효성(0<amt<=규칙 AMT_MAX) 검증 (RC 1=0/음수,2=상한초과).
 * 기존 인라인 vl_svr.pgc에서 분리; caller의 XA 브랜치에서 실행(EXEC SQL CONNECT 없음).
 * vl_svr가 tpsvrinit에서 이 서비스를 tpadvertise 한다.
 */
#include "VL_AMOUNT.h"

void VL_AMOUNT(TPSVCINFO *p)
{
    UBFH *b = (UBFH *)p->data;
    long amt, rc = 0, thr = 50000000;
    char sev[8];
    amt = getl(b, T_AMOUNT);
    if (vldb_get_rule("AMT_MAX", &thr, sev) < 0) thr = 50000000;
    if (amt <= 0) rc = 1;
    else if (amt > thr) rc = 2;
    setl(b, T_RC, rc);
    setl(b, T_ARG1, thr);
    OK(b);
}
