안녕하세요... 오랜만에 질문드립니다.
좀 희안한 현상이 생겨서요..
온라인 프로그램을 하나 만들었는데요.
화면은 테이블컨트롤로 테이블을 만들고 특정필드를 입력필드로 하여 값을 입력받는 형태의 프로그램입니다.
물론 그 입력필드의 타입은 CHAR타입이구요.
문제는 다른 글자는 잘 입력받아 해당 인터널 테이블에 MODIFY 시켜 화면에 잘 뿌려주는데..
'_' (언더바) 값만 화면에 입력하면 빈값으로 인식하더군요...
좀 어이없는 현상이라..
혹시 이런 현상경험하신 분 있으신가요?
'_A' 뒤에 다른 글자를 붙여서 입력해보면 해당 인터널테이블에 MODIFY 잘 됩니다.
언더바만 넣은후 디버그 타보면 해당 WORK AREA에 빈값으로 들어오더군요 -_-.
테이블컨트롤선언할때 IT_DATA 라는 해더라인이 존재하는 인터널테이블로 선언했는데..
보통 PAI단에 로직은
LOOP AT IT_DATA.
CHAIN.
FIELD IT_DATA-MARK.
FIELD IT_DATA-ZNUM.
FIELD IT_DATA-ZTYPE.
FIELD IT_DATA-ZELEM.
FIELD IT_DATA-ZLENG.
FIELD IT_DATA-ZDESC.
MODULE MODIFY_TC_100 ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP.
이런식이래서 ....화면에 입력값이 바뀔때 자동으로 MODULE MODIFY_TC_100 을 타잖아요.
그런데 '_' 언더바를 입력하고 엔터를 치면 MODULE MODIFY_TC_100 는 잘타는데..
IT_DATA-ZELEM에 빈값이 들어오네요..
다른 문자값들은 잘 입력됩니다..현재는 언더바만 입력하면 빈값으로 입력됩니다..
예스맨님도 그러시는 군요. 저는 DB쪽에 _ 로 입력된 데이터가 카운터가 안되어서
문제가 되었던 적이 있었는데요. 관련 문건을 찾을 수가 없어서 단독으로 _가 있는 것은
space 로 처리를 했습니다. select 도 안되더군요.
마이그레이션할때 그냥 무작위로 넣었던것 같은데요.
관련필드가 화면에서 필수필드 데이터로 사용이되는데 DB에는 분명히 _라고 데이터가 있는데
화면에서는 필수값을 입력하라고 자꾸 뜨는 바람에 알게 되었습니다.
저두 궁금합니다. 아시는 분께서 답글 올려주시면 좋겠네요.