외부의 상대방에게 한테이블의 거의 모든 내용을 보내야 하는 RFC함수를
작성중에 있습니다.
그런데, 저는 RFC 인자로 TABLES에다가 결과값을 반화해서 한번에 보내려고
했지만, EAI 담당자가 TABLES는 안된다고 해서 하나의 스트링변수에 한레코드의
자릿수만큼을 담아서 한줄씩 함수 콜해서 보내게끔 바꿔달라고 합니다.
문제는, 제가 테이블정의서를 보고 LS_DATA 라는 변수에 자릿수를 담으려는 과정이
거의 코딩이나 업무로직을 파악하는 시간을 뺏을 정도로 손이 많이 갑니다.
그래서, 궁금한 점은 테이블에 있는 필드명과 해당필드의 자릿수를 알수 있는
방법이 있으면, 필드심벌을 이용해서 한번에 담고 싶거든요.
예를 들면,
현재) 수작업으로 테이블'개인정보'를 열어보면
성명(CHAR,20), 생년월일(DAT,8), 전화(CHAR,20) 라는 필드를
LS_DATA(20) = ITAB-NAME.
LS_DATA+20(8) = ITAB-DAT.
LS_DATA+28(20) = ITAB-PHONE.
...
문제점) 이런식으로 정말 여러줄을 직접 써야 합니다.
중간에 필드에 변화가 있다면, 완전 새로 작성해야 합니다.
TO BE) SELECT 필드명
데이터형
자릿수
FROM 테이블정보를가진테이블
INTO 인터널테이블A.
loop at 인터널테이블A.
변수1 = <필드심벌1> = 자릿수
변수2 = <필드심벌2> = 데이터형
CONCATENATE LS_DATA 변수1 INTO 변수명
endloop.
이렇게 하고 나서 WRITE로 글자를 순서대로 뽑으면
어쩔수 없이 엑셀 써서 글자수를 합산해서 복사해서
넣으려고 합니다.
왜~ EAI는 테이블로 못받는다고 하는건지...--;
테이블 필드명, 자릿수, 자료형 알수 있는 테이블이나 함수 있나요?