조회하고자 하는 리스트에 통화단위와 각 통화 단위에 해당하는 금액이 있는 리스트를
ALV Class 방식을 이용해서 화면에 보여 주려고 합니다.
보통 통화단위가 한가지인 경우에는 필드카테고리 설정을 할때 해당 컬럼에 통화단위를
설정해 주면 통화단위에 따라 금액이 자동으로 표시되는 것으로 알고 있습니다.
그런데 각 라인별로 통화 단위가 다른경우에는 어떻게 설정을 해 주어야 통화단위를
참조해서 금액을 보여줄 수 있을까요?
테이블에 데이터가
통화단위 금액
KRW 100.00
USD 100.00
으로 입력되어 있을 경우 실제 보여주어야 할 금액은
KRW 는 10,000 이 되어야 하고 USD는 100.00 으로 표시 되어야 하는데
필드 카테고리 설정은 따로 스트럭처를 사용한것이 아니라
인터널 테이블에 값을 넣어 놓은 상태에서
FIELDNAME = 인터널 테이블 컬럼명
REF_TABLE = 인터널 테이블을 선언할때 사용한 데이터 타입의 테이블명
REF_FIELD = 인터널 테이블을 선언할때 사용한 데이터 타입의 컬럼명
SELTEXT = 이름
이와 같이 설정을 해준 상태에서 금액 필드의 경우에만
CURRENC = 통화
를 설정해 주도록 했습니다.
하나의 ALV 리스트에 각 통화단위별로 금액을 표시해 주려면 필드카테고리를
어떻게 설정해 주어야 할까요?
CFIELDNAME = 참조할려는 currency key
CTABNAME = 참조할려는 currency key table
어짜피 님처럼 append 로 만들어주나 CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'이걸로 internal table 의 값을 참조해서 만드나 똑같은 structer에다 넣어주는 겁니다.
위 필드에 값만 바꿔넣어주시면 돼겠습니다.