로딩
요청 처리 중입니다...

[ABAP] SPACE(NULL)과 '0' 그리고 SIGN(마이너스) 관리에 대한 Data type 한계점

 [ABAP] SPACE(NULL)과 '0' 그리고 SIGN(마이너스) 관리에 대한 Data type 한계점

안녕하세요. 금일은 숫자와 관련된 Data type 중 DEC/NUMC의 한계점(특이사항)이 있어 공유 드리려 합니다.

우선 Needs는 온도와 관련된 CBO 데이터를 I/F(RFC) 받아 Table에 저장해야 되었습니다. 그 과정에서 온도 라는 특성 상 숫자이기 때문에 최초 DEC 필드를 사용했었습니다.

하지만 숫자와 관련된 Data Type을 사용하게 되었을 때 문제점은, SPACE(Null=Blank)와 '0'을 구분할 수 없다는 명확한 한계점이 있습니다. 즉 온도가 없는 데이터와 값이 0인 데이터 모두 동일하게 DB 상에 저장이 됩니다.

I/F(RFC)에서 SPACE로 값을 받아 Insert 하게 되었을 때 Initial value가 '0' 이기 때문입니다. SPACE로 강제 치환하여도 무조건 SPACE가 기입되기 때문에 만약 NULL 데이터가 있다면 피해주셔야 합니다.

대안으로 나온 것이 그렇다면 Character types의 N(Numeric field)을 쓰고자 한 것 ...

# abap # rfc # s4hana # sap # sign # text # type # 개발자 # 마이너스 # 온도 # numeric # numc # blank # character # data # dec # ecc # erp # field # if # null # 치환