음..요즘 들어서 참~~궁금한것이 많아집니다^^;
특정 데이터를 다운로드 받아서 다른 웹시스템에 업로드를 해야 하는데...
얘가 쩜 민감해서 자리수를 꼭꼭 다 채워야 한다고 합니다.
10개의 필드가 총 10char 씩 총 100 char 인데
문제는 자리수를 채우라고는 하는데 한글/영문만 들어가야 하고
빈 필드일 경우는 반드시 공백(Space)으로 채우라고 합니다.
여기서 문제가 있습니다.
1~10까지의 필드가 있는데
1~9까지는 어떤 필드라도 공백이 와도 상관이 없는데
마지막 10번째 필드에 공백이 있으면 다운로드를 받은
파일(DAT, 텍스트파일)에서 공백처리가 되지 않고 잘라
버리고 총 90char만 나옵니다.
지금까지는 꼼수로 마지막 필드가 공백이면 마지막에 "."를 찍어서
10자리를 인식시켰는데...아..이거참 웹을 담당하는 업체(은행입니다...ㅡㅡ;;)가
시스템을 어케 바꿔버렸는지 언제부턴가 마지막에 .을 찍으면 잘못된 파일이라며
업로드를 못하게 합니다.
업로드하는 웹사이트가 은행이라는 것에서 짐작하셨겠지만,
대금지급에 관한 것이라 다운로드 받은 파일을 수정해서 주거나
현업에게 수정하라고 할 만한 성격의 파일이 아닙니다.
어떻게 마지막 필드에 공백을 넣어서 다운로드 받을 수 있는 방법이 없을까요?
걍 은행에 "너네 시스템 이상하니 바꿔!"라고 할까요? ^^; 헤헤~
명쾌한 답변 좀 부탁드릴께요~
설명이 제대로 되었나 모르겠네요~예를 들자면....
다음과 같은 데이터가 있습니다.
F1(Char 10) | F2(Char 10) | F3(Char 10) | F4(Char 10) | F5(Char 10) |
1234567890 | 1234567890 | 1234567890 | 1234567890 | 1234567890 |
1234567890 | 1234567890 | 1234567890 | 1234567890 | |
1234567890 | 1234567890 | 1234567890 | 1234567890 |
요넘을 다운 받으면 텍스트파일이 요렇게 나온다는 거죠
12345678901234567890123456789012345678901234567890
1234567890 123456789012345678901234567890
1234567890123456789012345678901234567890
다른 레코드는 다 50자리를 채우고 있지만
마지막 레코드만 40자리가 되어 버립니다.
저걸 50자리로 채우지 못하면 웹에서 오류를 뱉어냅니다.
"파일 형식맞춰서 올려!!!!!!!" 라고 말이죠....ㅡㅡ;;뷁!!
제가 원하는 바는 요러코럼 되야 한다는 거죠~( 언더바(_)는 공백)
12345678901234567890123456789012345678901234567890
1234567890 123456789012345678901234567890
1234567890123456789012345678901234567890__________
예전에는 요렇게 했었드랬죠.
F5+9(1) = '.'.
이렇게 하면 제가 원하는 아래처럼 나왔었죠
1234567890123456789012345678901234567890 .
어떻게 방법이 있겠죠? 있을거라 믿어요~~~~~~
댓글 9
-
남산밑
2009.06.25 07:33
-
SD2
2009.06.25 17:45
궁금하네여 저희두 은행이나 국세청에 데이터 보낼때 빈여백을 공백으로 채워야하는데..
저희같은 경우는 '&&&&'를 자릿수 만큼 넣고 스페이스로 나중에 바꿔주거든여..
-
슈퍼맨아들
2009.06.25 18:01
CONCATENATE F1 F2 F3 F4 F5 INTO RESULT RESPECTING BLANKS.
라고 써주면 BLANK가 먹습니다..
대신 DOWN받기전에 필드들을 하나의 필드로 CONCATENATE 시켜야 겠죠..
-
hccpi
2009.06.25 18:23
제가 사용한 펑션은 GUI_DOWNLOAD 였는데
import리스트에 보니 공백을 자르게 하는 파라미터가 디폴트로 설정 되어 있었습니다.
TRUNC_TRAILING_BLANKS_EOL
라는 파라미터 인데 이것의 디폴트값이 'X'이더군요
이것을
TRUNC_TRAILING_BLANKS_EOL = ' '
위처럼 바꿔주니 공백안자르고 다운로드 시켜줍니다~^^
남산밑님의 힌트 감사합니다~
-
gus
2009.06.25 18:29
ㅋ 답변을 쓰려고 로그인 했더니,.. 해결됐네요.. ^^
-
ildang
2009.06.25 18:49
오호 좋은 정보 얻어 갑니다. ^^ 좋은 하루 되세요
-
쭈니
2009.06.25 19:07
좋은 정보 감사합니다~~~ 오늘도 어김없이...
좋은것들을 얻어 가는 1人
오늘 하루 행복한 하루 되세욤~~~
-
강철구
2009.07.02 19:50
유용하게 쓰이겠네요..^^
-
문준연
2010.03.03 01:07
RESPECTING BLANKS 이놈이 날 살렸군요....감사합니다.
data: a(10) type c.
a = '12345'.
WRITE a USING EDIT MASK 'LL_________'.
출력은 '12345 ' 이런식으로 됩니다만..
internal table 값을 다운할때 공백을 인식하는건 function에 option이 있지 않을까요? 음..저도 궁금해 지네요..