> IF CLRDTAB-SHKZG = 'S'.
CLRDTAB-DMBTR = CLRDTAB-DMBTR * -1.
WRITE CLRDTAB-DMBTR RIGHT-JUSTIFIED TO W_KINKAKU4.
ELSEIF CLRDTAB-SHKZG = 'H'.
CLRDTAB-DMBTR = CLRDTAB-DMBTR * 1.
WRITE CLRDTAB-DMBTR RIGHT-JUSTIFIED TO W_KINKAKU4.
>
>지금처럼 하면 s일때는 -값이 들어가고
>h일때는 +값이 들어가는거죠??
>문법상으로도 맞는건지 알고싶습니다.
조건문을 줄때요 금액값이 999.80-이렇게 되어있는데
조건에 저 금액값이 -일때라고 하려면 어떻게 해야 하나요?
댓글 3
-
보나
2009.03.20 23:55
-
보나
2009.03.21 00:09
parameters: p_amt type p decimals 2,
p_shkzg like bseg-shkzg.
IF p_shkzg = 'S'. "무조건 마이너스
p_amt = ABS( p_amt ) * -1.
ELSEIF p_shkzg = 'H'. "무조건 플러스
p_amt = ABS( p_amt ).
ENDIF.
write: p_amt.
-
쭈니
2009.03.21 01:58
답변 너무 감사합니다~
제 답변이 너무 늦었네요 죄송합니다.
아는것도 자꾸 까먹고 하는 바람에 여기서 배운것들은 적어놓구 다시 정리하고 그럽니다.
제가 건망증이 좀 심합니다.
보나님 너무 감사합니다~
아래 답변에서도 살짝 얘기했었고 윗 피크민님의 답변에서도 나왔듯이
구현하시려는 목적에 대한 설명이 있으면 더 좋았을듯 합니다.
우선 '금액이 음수인 경우' 는
쉽게 1. IF 변수 < 0.
변수 = 변수 * -1.
ENDIF
2. ABS
등등 으로 하실 수 있을듯 하네요;;;
덧붙이자면...위 로직에서 ELSEIF 의 * 1 은 무의미합니다;;;;