아래 글과 이어지는 내용인데..
우리가 동적으로 Db명을 받아서 그 itab을 생성하는 방법은 아래 글에서 캡쳐로 보여줬다..
또 붙이자면
이렇게 선언 후에
아래와같이 코딩하고
assign 까지 하면 필드심볼에 내가 원하는
동적인 ITAB 모양들이 만들어져있다.
<F_FS> 같은거 선언은 위에 캡쳐에 해놨다.
자 그럼 저렇게 DB 모양하고 똑같이 만들어서 ALV
뿌리면... 당연히 각 셀마다 컨트롤 하는 필드가 없어서
효과를 줄 수 없다.
현업 요구사항은
KEY값은 당연히 수정불가하게 닫아두되..
ALV의 APPEND 버튼을 누르면 키값이 열려야 된다는 것...
즉 이건 셀 컨트롤이 필요하다.
이것에 대한 예시는 스탠다드 플그램중
SLIS 패키지에 BCALV_EDIT_01~~~08까지를 보면
된다.
자 다시 돌아와서..
동적인 Itab 내에서 cell 속성 필드를 하나 추가해야 하는데 어찌 할지 모르겠다면..
간단한 클래스 하나를 쓰면 된다.
어? 그런데 it_cat은 필드카탈로그를 만들어줘야하네?
이건 간단하게 alv를 뿌리기 위해 만들어둔걸 사용하면되고..
포인트는 저 클래스에 스타일 테이블에 X 를 해주면 되고
그럼 내가 원하는 동적 itab + XYZSTYLEZYX 라는 필드가
생성되어 ITAB이 하나 만들어져있다..
그러면 이제 저 필드에 각 라인마다 각 셀마다의 스타일 지정이 가능하다..
내 코딩은 아래와 같다.
display 할 내용을 루프 돌면서 들어가서.
오리지널 가지고있던 데이터보다 append 된 신규 라인이 있다면..(건수로 비교했다)
이 라인은 키값 필드까지 모두 edit가능하게 열어달라.라는 코딩이다..
기존 데이터중 키값은 당연히 수정불가로 닫아달라 한거다..
(사진중 GT_Field 에는 동적 db의 키값이 담겨있다)
여기까지 설명 끝인데..노파심에 왜 각 라인의 셀마다
스타일을 정해줬는데 안되냐..? 묻는 초보분들이
있을수도 있어서 조금 더 설명하면.
alv에서 itab 안에있는 layout 지정할때 스타일 필드명을 알려줘야한다.
즉xyzstylezyx 를 알랴줘야지
그리고 저 레이아웃은 alv 뿌리는 클래스에
넣어줘야지..
gs_layo 보이지?
그럼 이제 설명 끝...!!!!
'ERP-SAP > ABAP' 카테고리의 다른 글
abap itab to excel xml download (인터널테이블 xml 변환해서 다운후 excel 로 보기 ) (0) | 2022.01.20 |
---|---|
abap itab to excel xlsx download (인터널테이블 65535건 초과 엑셀 다운로드 abap xlsx download) (0) | 2022.01.20 |
se16n 처럼 동적 DB 조회 스크린을 포함한 동적DB 생성/삭제/조회/변경 CRUD 프로그램 만들기. (0) | 2021.01.08 |
MATCH_RESULT_TAB 만들어쓰기..구조도 (1) | 2019.05.20 |
[abap] conversion hexa code in xstring field. 필드 내 특수문자 헥사코드값 변경하기 (0) | 2018.10.16 |