안녕하세요.
매일 좋은 글 보다가 처음으로 질문해 봅니다.
현업에서 ALV 헤더를 두 줄로 표시해 줬으면 좋겠다 해서..
헤더 두 줄 ALV 검색하다 보니 SALV 로 구현 가능하다는 사실을 알게 되었구요,
자료실에서 펠릭스님께서 올려주신 SALV 자료들 보며 공부했는데,
해당 자료에는 헤더 두 줄 구현 하는 것이 안 나오더라구요 ㅠㅠ
일단 그 자료에 기본 SALV 소스대로 작성해봤는데요, 두 줄 구현하는 부분이 어딘지 좀 알려주세요 ㅠㅠ
=============================================================================================
REPORT ZALVOM_DEMO1.
data: ispfli type table of spfli.
data: gr_table type ref to cl_salv_table.
data: gr_functions type ref to cl_salv_functions.
data: gr_display type ref to cl_salv_display_settings.
data: gr_columns type ref to cl_salv_columns_table.
data: gr_column type ref to cl_salv_column_table.
data: color type lvc_s_colo.
start-of-selection.
select * into table ispfli from spfli.
cl_salv_table=>factory( importing r_salv_table = gr_table
changing t_table = ispfli ).
gr_functions = gr_table->get_functions( ).
gr_functions->set_all( abap_true ).
gr_display = gr_table->get_display_settings( ).
gr_display->set_striped_pattern( cl_salv_display_settings=>true ).
gr_display->set_list_header( 'This is the heading' ).
gr_columns = gr_table->get_columns( ).
gr_column ?= gr_columns->get_column( 'CITYTO' ).
gr_column->set_long_text( 'This is long text' ).
gr_column->set_medium_text( 'This is med text' ).
gr_column->set_short_text( 'This is sh' ).
gr_column ?= gr_columns->get_column( 'CITYFROM' ).
color-col = '6'.
color-int = '1'.
color-inv = '0'.
gr_column->set_color( color ).
gr_table->display( ).
==============================================================================================
지금 상태에서 실행하면 gr_columns = gr_table->get_columns( ). 이 구문으로
헤더 값을 SFLIGHT 테이블의 FIELD LABEL 을 자동으로 땡겨오는데요,
1, 2, 3 컬럼은 헤더 두줄 병합, 4, 5, 6 컬럼은 위에 from contry, 아래에 key, city, airport 이렇게 넣고 싶고
7, 8, 9 컬럼도 위에 to contry, 아래에 key, city, airport 이렇게 넣고 싶어요.
물론 뒤에 출발 시각, 도착 시각도 앞으로 땡겨서 하고 싶구요.. 나머지 맨 뒤 네 컬럼은 1, 2, 3 컬럼처럼
헤더 두줄 병합하고 싶구요.
참, 1번 컬럼은 client 라서 이건 빼고 싶구요..
아래 처럼 나오게 하고 싶은데.. 어떻게 구현을 해 줘야 하나요?
-------------------------------------------------------------------------------------------------------------
| | From Contry | To Contry | |
Airline | Flight No. | -------------------------------------------------------------------------------| Distance |
| | Key | City | Airport | Time | Key | City | Airport | Time | |
-------------------------------------------------------------------------------------------------------------|
AA | 17 | US | NEW YORK | JFK | 11:00:00 | US | SAN FRANCISCO | SFO | 14:01:00 | 2,572 |
AA | 64 | US | SAN FRANCI. | SFO | 09:00:00 | US | NEW YORK | JFK | 17:21:00 | 2,572 |
...
위와 같은 식으로 나오게 하고 싶은데 여러분들의 도움이 절실히 필요합니다 ㅠ
제발 도와주세요 ㅠ
사장님까지 보실 자료라서 꼭 구현해야 합니다 ㅠㅠ
댓글 7
-
버미!
2010.10.13 19:15
-
deepbluesea
2010.10.13 20:12
저도 버미님 말씀처럼 Hierarhy에 한표!!
-
ABAPer33
2010.10.13 20:41
"헤더 두 줄 ALV 검색하다 보니 SALV 로 구현 가능하다는 사실을 알게 되었구요," ?? 어디서 알게 되셨을까요.아마도 윗분말슴처럼 hierarchy를 이리저리 구성한걸 보신것 같은데, 전혀 다른거죠? ^^.게시판 검색해보시면 위와 완전히 같은 질문들이 많이 나오고 리플도 많습니다.검색을 먼저 해보심이. -
KTnG_ABAP
2010.10.13 20:48
일단 답변 감사하구요. SALV Package 가 있는 걸 이번에 첨 알았네요;
음.. 두 분 말씀대로 Hierarchy 구조를 살펴봤는데요,
이걸 GRID UI 형식으로는 표시 할 수 없나요?
Tree 구조가 있는 거 같긴 한데.. Tree 구조는 Header 가 아래 컬럼 역할을 해버리네요.
GRID UI 방식이 안된다면.... 세로줄 구분 넣을 수 있나요??
자꾸 많은 걸 바라네요 ㅠㅠㅠ
-
KTnG_ABAP
2010.10.13 21:21
ABAPer33 // http://www.e-abap.net/zb/bbs/zboard.php?id=ABAPQnA&no=3666
이 글에서 아카드05 님의 댓글에서.... 된다고 이해를 했는데요 ㅠㅠㅠ
제가 잘못 이해했나 보네요... Hierarchy 구조인가 보네요...
Hierarchy 구조면... 굳이 SALV를 쓰지 않아도 되나요?
-
맑은하늘
2010.10.13 22:57
SALV 에서는 인쇄 및 인쇄뷰에서만 다중라인을 지원한다고 하는 것 같습니다.
hierarchy 쓰셔야 할 것 같네요. ^^;
-
KTnG_ABAP
2010.10.14 17:57
인쇄.... 에서만 가능한 거군요...
답변 감사합니다 ^^ 아무래도 Hierarchy 를 써야겠네요.. 흠..
제가 SALV로 대부분 구현하는 데 저렇게 나오게 할 수 없습니다.
굳이 비스무레하게 하실려면 Hierarchy 구조로 하셔야 합니다.
자세한 것은 Package : SALV_OBJECTS 참조하세요..