출력 필드 GT_OUTTAB에는 MARK필드가 있구요,
필드 카달로그는
WHEN 'MARK'.
wa_fieldcat-col_pos = 1.
wa_fieldcat-mark = 'X'.
wa_fieldcat-no_out = 'X'.
FORM change_display_attribute CHANGING ps_layout TYPE lvc_s_layo.
** ALV 제어: 선택모드
* ps_layout-sel_mode = ' '.
* ALV 제어: 행선택불가능 -> 행 선택 'SEL'을 없앤다..!
IF sy-dynnr = 200.
ps_layout-no_rowmark = 'X'.
ELSE.
ps_layout-no_rowmark = ' '.
ENDIF.
* Output table checkbox field name
ps_layout-box_fname = 'MARK'.
이렇게 해 놓았습니다.
문제는 ALV리포트에서 MARK필드를 선택하고 USER COMMAND를 실행했을 때
GT_OUTTAB을 보면 해당 행의 MARK 필드 값이 'X' 가 아니고 ' ' 로 되어있습니다.
그래서 GT_OUTTAB을 LOOP을 돌아서 MARK = 'X' 인 필드를 골라서 무언가 하려고 하는데
못하고 있습니다. 무엇이 문제일까요??
고수님들의 혜안 부탁드립니다.
제 생각에는 인터널 테이블의 Mark 필드의 값을 체크하는 것 보다는 get_selected_rows 라는 Method를 사용하는게
나을 듯 합니다.
일반적으로 현재 커서가 위치한 행을 찾을 경우에는 get_current_cell Method를 사용하고
선택한 행을 알고자 할 경우에는 get_selected_rows 를 사용합니다.
참고하시고 오늘 하루도 즐 아밥하세요...~~