안녕하세요 질문 하나만 드리겠습니다.!
solix테이블에 있는 파일데이터를 Xstring 로 변환시켜서 보내야 하거든여
CALL METHOD cl_bcs_convert=>solix_to_xstring
EXPORTING
it_solix = it_solix
iv_size =iv_size
RECEIVING
ev_xstring = ev_xstring
이거사용하려고 하는데 자꾸 ev_xstring 요기에 맨뒤에 00000000000000이 무조건 붙어서 나오더라구요
iv_size에 it_solix의 렝스(길이)를 구해서 넣어줘야 0안붙고 나올거같은데 혹시 solix테이블 길이 구하는 펑션이나 클래스메소드가 있을까요?
아니면 다른방법이있을까요..
CALL FUNCTION 'SO_DOCUMENT_READ_API1' 이거 사용하려고 했는데
EXPORTING
document_id <--- 요기에 넣을게 없더라구요..
.. 부탁드립니다.
댓글 4
-
Hwable
2022.06.07 19:29
-
먹다망고야
2022.06.07 20:10
정말 감사합니다. 다만 it_solix 의 line 에서 한 라인에 최대가 255 줄인데 it_solix에 넣어줄 바이너리 데이터길이가 255가 안되면 255까지 채우려고 하는거 같아요 string -> solix 변환할땐 255의 배수가 아니지만 solix -> string 할땐 255의 배수가 되더라구요 덕분에 알게됐습니다.
좀더 찾아봐야 겠습니다. 화블님 덕에 좀더 다가간거같습니다 감사합니다
-
Hwable
2022.06.07 21:00
SOLIX 타입 자체가 RAW255 형태라 그렇습니다.
RAW 파일 특성상(Byte fields) 컨텐츠 길이와 무관하게 총 길이에 맞춰 채워져야 하기 때문이구요.
정 길이를 재고 싶으면 0000 이 채워지는 패턴으로 찾아서 최종 길이를 계산하는 로직을 직접 만드셔야 할 것 같습니다.
-
먹다망고야
2022.06.07 23:16
감사합니다^^ 참고하겠습니다
안녕하세요.
클래스 CL_DOCUMENT_BCS=>COUNT_DOC_SIZE 의 Method Logic을 참고하시기 바랍니다.
Private method 라 직접 사용은 어렵고, 소스를 복사해서 Form 문이나 Function 으로 만들어 사용하시면 될 것 같습니다.