필드카테고리에서
edit = 'X' 를 하는 것과
레이아웃에서
ls_lvc_styl_fieldname = ls_fieldcat-fieldname.
ls_lvc_styl_style = cl_gui_alv_frid=>mc_style_enable.
insert ls_lvc_styl into table lt_lvc_styl.
이런 식으로 하는 것과 결과는 똑같은거 같은데요.
둘의 차이는 뭔가요?
레이아웃으로 하는게 더 복잡하고 어렵던데, 기능이나 활용상의 차이는 없나요?
댓글 3
-
금은돌
2009.11.25 20:16
-
처서련
2009.11.25 22:35
edit = 'X' 를 했을경우 그 해당 필드를 수정모드로 놓겠다는것입니다.
레이아웃에서 스타일을 주고 celltab을 쓸경우에는 위에 금은돌님 말씀처럼 어떤 조건조건에 만족하고 안하고 할때
해당 필드라도 어떤것은 열어주고 어떤것은 닫아줘야 할 경우가 있습니다.
그럴때 레이아웃에 스타일을 써줍니다
실습해보시면 아실꺼에요
-
쭌수야~!
2009.11.26 00:57
조금만 부연설명을 드리자면...
ALV 에서 수정 가능하도록 처리를 하는 방법은 크게 세가지로 보시면 됩니다.
1. Layout Structure(LVC_S_LAYO-EDIT) 을 이용하여 ALV 전체를 수정 가능하게 처리하는 방법
2. Field Catalog(LVC_S_FCAT-EDIT) 를 이용하여 특정 필드(열 전체)들만을 수정 가능하게 처리하는 방법
3. Style(LVC_S_STYL-STYLE) 을 이용하여 특정 셀단위로 수정 가능(또는 불가능)하게 처리하는 방법
위 방법중 하나만 쓰라는 법은 없고 복합적으로 사용하기도 합니다.
가령... 테이블의 A,D 필드들만 수정가능하도록 처리하기 위해 Field Catalog 를 이용하였으나,
데이터들 중 특정 row 에서 특정 조건이 성립할때는
해당 row의 A 필드에 해당하는 셀만 수정 불가능 하도록 처리해야 할때 Style을 이용할 수 있습니다.
상황에 따라 원하는 방법으로 처리하면 됩니다. ^^
실질적으로 실습하시면 바로 알 수 있을꺼에요^-^...
예를 들어 어떠한 조건에 따라 셀별로 활성화와 비활성화를 할 수 있는게 STYLE이에요.