Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 방화벽
- function
- ALV
- Standard Function
- 스마트폼
- badi
- 가계부
- 이명박
- 오라클 함수
- sapa
- EUC-kr
- 머니플랜
- Enhancement
- EXIT
- alv 정형화
- List box
- 유닉스
- gimp
- FI 용어정리
- ole
- 동적 쿼리
- Smart Forms
- fi
- KOSA
- Java
- selection screen
- 엑소버드
- ABAP
- SAP
- UTF-8
Archives
- Today
- Total
Drunken Lion
IS_LAYOUT 본문
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
i_callback_program = pgm
i_callback_pf_status_set =
i_callback_user_command = 'USER_COMMAND'
* I_STRUCTURE_NAME =
* IS_LAYOUT =
it_fieldcat = fieldcat
* it_excluding = pf_extab
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT = ' '
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = download
EXCEPTIONS
program_error = 1
OTHERS = 2.
EXPORTING
* I_INTERFACE_CHECK = ' '
i_callback_program = pgm
i_callback_pf_status_set =
i_callback_user_command = 'USER_COMMAND'
* I_STRUCTURE_NAME =
* IS_LAYOUT =
it_fieldcat = fieldcat
* it_excluding = pf_extab
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT = ' '
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = download
EXCEPTIONS
program_error = 1
OTHERS = 2.
화면의 LAYOUT 을 결정하기 위해서 사용되는 것으로 다양한 속성 값에 의해서 LAYOUT을 조정할 수 있도록 되어 있다.
1. 속성
- Display Option : Layout 의 display 옵션을 지정할 때 사용하는 속성
FIELD NAME | 값(VALUE) |
COLWIDTH_OPTIMIZE | '', 'X' |
NO_COLHEAD | '', 'X' |
ZEBRA | '', 'X' |
NO_VLINE | '', 'X' |
NO_MIN_LINESIZE | '', 'X' |
MIN_LINESIZE | 0, 10 ~ 250 |
MAX_LINESIZE | 0, 80 ~ 1020 |
- Exceptions : Exception 처리를 신호로 구분해 주기위해 사용하는 속성
FIELD NAME | 값(VALUE) |
LIGHTS_FIELDNAME | '', FIELD NAME |
LIGHTS_TABNAME | '', TABLE NAME |
LIGHTS_ROLLNAME | '', DATA ELEMENT TYPE |
LIGHTS_CONDENSE | '', 'X' |
- Totals : Total 값에 대한 layout을 설정할 수 있는 속성
FIELD NAME | 값(VALUE) |
NO_SUMCHOICE | '', 'X' |
NO_TOTALLINE | '', 'X' |
NO_SUBCHOICE | '', 'X' |
TOTALS_ONLY | '', 'X' |
TOTALS_TEXT | '', String |
SUBTOTALS_TEXT | '', String |
NUMC_SUM | '', 'X' |
- Interaction : 다른 Object 와 상호 연관성이 있으며 서로간의 상호작용에 영향을 주는 속성
FIELD NAME | 값(VALUE) |
BOX_FIELDNAME | '', FIELD NAME |
BOX_TABNAME | '', TABLE NAME |
NO_INPUT | '', 'X' |
EXPAND_FIELDNAME | '', FIELD NAME |
F2CODE | '', FUNCTION CODE |
CONFIRMATION_PROMPT | '', 'X' |
KEY_HOTSPOT | '', 'X' |
REPREP | '', 'X' |
GROUP_BUTTONS | '', 'X' |
NO_KEYFIX | '', 'X' |
GET_SELINFOS | '', 'X' |
GROUP_CHANGE_EDIT | '', 'X' |
- Detail screen : 세부 내용을 볼때 보여지는 layout 의 속성
FIELD NAME | 값(VALUE) |
DETAIL_POPUP | '', 'X' |
DETAIL_INITIAL_LINES | '', 'X' |
DETAIL_TITLEBAR | '', String |
- Color : 색깔에 대한 layout 지정
FIELD NAME | 값(VALUE) |
INFO_FIELDNAME | '', FIELD NAME |
COLTAB_FIELDNAME | '', FIELD NAME |
2. DATA 선언
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
3. 적용방법
FORM INIT.
GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
.
.
ENDFORM.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
i_callback_program = pgm
i_callback_pf_status_set =
i_callback_user_command = 'USER_COMMAND'
* I_STRUCTURE_NAME =
IS_LAYOUT = GS_LAYOUT
it_fieldcat = fieldcat
.
.
의 방법으로 적용한다.
4. 속성 설명
1) COLWITH_OPTIMIZE
출력되는 필드의 너비를 Internal table의 필드 너비와 동일하게 설정해 준다.
2) NO_COLHEAD
'X' 인경우 각 Column header 가 나타나지 않게 된다.
3) ZEBRA
'X' 인경우 짝수 줄과 홀수줄의 색상이 다르게 표현된다.
4) NO_VLINE
'X' 인경우 필드 구분을 위한 세로줄이 삭제된다.
5) NO_MIN_LINESIZE, MIN_LINESIZE, MAX_LINESIZE
결과 화면에 영향을 미치지는 않으나, I_INTERFACE_CHECK 와 함께 사용할 경우,
속성값이 적절하지 않을때 Warning Message를 띄워주게 된다.
예를 들어 , Max_linesize = '100' 이라고 지정한 경우에 실제 라인 수는 100을 초과 한다면
warning message를 보여준다.
6) LIGHTS_FIELDNAME
'1' : 빨간신호
'2' : 노란색 신호
'3' : 녹색 신호
- 구현방법 : 출력할 Internal table에 status 라는 필드를 추가
- gs_layout-lights_fieldname = 'STATUS' 라인 추가
- 출력할 테이블의 각 라인에 조건을 걸어 Status 필드에 각각 1 ~ 3 까지 의 값을 입력
7) LIGHTS_TABNAME
Hierarchical-sequential list와 관련된 속성으로 2개의 테이블을 가지고 리스트를 구성할때
lights_fieldname이 어느 테이블 내의 필드 값인지 알려주기 위해서 필요한 속성이다.
8) LIGHTS_ROLLNAME
Exception Field에 대해서 F1 help 호출시 보여주기 위한 것으로 해당 필드의
data element name을 넣으면 적용된다.
9) LIGHTS_CONDENSE
10) NO_SUMCHOICE
'X'인 경우 SUM 이 가능한 필드에 대해서 SUM 수행이 되지 않도록 설정
11) NO_TOTALLINE
'X'인 경우 계산은 하지만 실제로 출력은 되지 않도록 설정됨.
12) NO_SUBCHOICE
'X'인 경우 Subtotal 버튼이 보이지 않도록 설정됨.
13) NO_SUBTOTALS
'X' 인경 부분합 버튼은 있으나 , 클릭시 sort된 결과만 보여진다.
14) TOTALS_ONLY
Hierarchical-sequential list와 simple list 에서만 가능하며 단지 total record 만 보여준다.
'X' 인 경우에 가능하며 IT_SORT 에 sort 조건과 subtotal flag를 포함하고 있어야 한다.
15) TOTALS_TEXT
Total record 맨 처음 field에 원 하는 문구를 넣고자 할때 사용.
16) SUBTOTALS_TEXT
Subtotal record 맨 처음 field에 원 하는 문구를 넣고자 할때 사용.
17) NUMC_SUM
'X' 인 경우 NUMC 인 필드에 대해 TOTAL을 수행한다.
18) BOX_FIELDNAME
Output list 에 checkbox를 두고 싶을때 이용가능한 속성이다.
- 구현방법 : 출력할 Internal table에 zmark 라는 필드를 추가
- gs_layout-box_fieldname = 'ZMARK' 라인 추가
- '' 또는 X 필드값을 가질수 있다.
19) NO_INPUT
IT_FIELDCAT 의 INPUT 속성이 X 인경우, 필드가 입력 가능하다.
본 속성은 모든 필드에 적용되며, IT_FIELDCAT 이 우선 적용된다.
20) F2CODE
FUNCTION CODE 를 입력하면 해당기능이 작동하게 된다.
gs_layout-f2code = '&ETA'. 라고 하면 더블클릭시 상세 화면이 보이게 된다.
21) CONFIRMATION_PROMPT
'X' 값을 쓰면, BACK(F03), EXIT(F15), CANCEL(F12)가 일어날때 Confirm Message
를 보여준다
22) KEY_HOTSPOT
'X' 인 경우 KEY FIELD는 HOTSPOT 으로 보이며, 선택 가능해진다.
23) NO_KEYFIX
Block list 와는 관계가 없으며 field catalog 에서 key로 지정된 컬럼은 좌우 스크롤시 화면에
fix 되어지는데 이러한 기능을 하지 못하게 할때 no_keyfix에 X 를 주면 동작하지 않는다.
24) GET_SELINFOS
SELECTION SCREEN 에서 검색조건으로 넣었던 값들을 보여주는 버튼이 생겨난다.
25) GROUP_CHANGE_EDIT
이 속성에 X 를 하면 SORT 와 SUBTOTAL POPUP 내의 각 SORT 조건을 위한 포맷을
사용자가 입력 가능하도록 열어준다.
NEW PAGE 와 UNDERLINE 선택이 가능하며 그 값은 '*' 과 'UL' 이다.
26) DETAIL_POPUP
'X' 인 경우 DETAIL BUTTON 클릭시 보여주는 세부 항목 화면을 POPUP으로 보여준다.
27) DETAIL_INITIAL_LINES
'X' 인 경우 세부항목 화면에서 내용이 없는 필드는 제외시키고 DISPLAY 한다.
28) DETAIL_TITLEBAR
GS_LAYOUT-DETAIL_TITLEBAR = 'TITLE' 로 구현하며, 세부항목 화면의 TITLE을
구성할수 있도록 한다.
29) INFO_FIELDNAME
데이터를 가지고 있는 Internal table에 색상 지정을 위한 3자리 필드를 추가한다.
Cxy
C: color : 모든 코드는 C 로 시작된다.
x : color number 1 ~ 9 까지 지정할 수 있다.
y : bold 0 - normal , 1 = bold
마찬가지로 아래와 같은 소스를 추가해 주어야 한다.
GS_LAYOUT-INFO_FIELDNAME = 'COLOR' "FIELD NAME
30) COLTAB_FIELDNAME
※ 내용이 잘 이해 되지 않아 sample source 로 대체한다.
INFO_FIELDNAME 과 비슷하지만, KEY FIELD 의 색상도 지정이 가능한점,
컬럼별로 색상 지정이 가능한점, 또, FIELD가 아니라 'SLIS_T_SPECIALCOL_ALV' TYPE
이라는 점이 다르다.
DATA: IT_COLOR TYPE SLIS_T_SPECIALCOL_ALV,
LS_COLOR1 TYPE SLIS_SPECIALCOL_ALV,
LS_COLOR2 TYPE SLIS_SPECIALCOL_ALV,
LS_COLOR3 TYPE SLIS_SPECIALCOL_ALV.
-----------------------
GS_LAYOUT-COLTAB_FIELDNAME = 'TABCOLOR'.
-----------------------
FORM BUILD LAYOUT.
LS_COLOR1-FIELDNAME = 'NO_EMPL'.
LS_COLOR1-COLOR_COL = 5.
LS_COLOR1-COLOR_INT = 1.
LS_COLOR1-COLOR-INV = 0.
LS_COLOR1-NOKEYCOL = 'X'
LS_COLOR2-FIELDNAME = 'ZPOSITION'.
LS_COLOR2-COLOR_COL = 6.
LS_COLOR2-COLOR_INT = 1.
LS_COLOR2-COLOR-INV = 0.
LS_COLOR2-NOKEYCOL = 'X'
LS_COLOR3-FIELDNAME = 'TENURE'.
LS_COLOR3-COLOR_COL = 7.
LS_COLOR3-COLOR_INT = 1.
LS_COLOR3-COLOR-INV = 0.
LS_COLOR3-NOKEYCOL = 'X'
LOOP AT GT_OUTTAB ASSIGNING <LS_OUTTAB>.
CLEAR LT_COLOR.
APPEND LS_COLOR1 TO LT_COLOR.
IF <LS_OUTTAB>-ZPOSITION = '사장'.
APPEND LS_COLOR2 TO LT_COLOR.
ENDIF.
IF <LS_OUTTAB>-TENURE > '20'.
APPEND LS_COLOR3 TO LT_COLOR.
ENDIF.
<LS_OUTTAB>-TABCOLOR = LT_COLOR.
ENDLOOP.
ENDFORM.
'SAP > ALV' 카테고리의 다른 글
ALV 정형화 1/2 (0) | 2007.11.06 |
---|---|
IT_FIELDCAT (0) | 2007.10.04 |
I_CALLBACK_USER_COMMAND (0) | 2007.10.04 |
I_STRUCTURE_NAME (0) | 2007.10.04 |
I_CALLBACK_PF_STATUS_SET (0) | 2007.10.02 |