수색…


ALV 생성 및 표시

이 예제는 cl_salv_table 클래스를 사용하여 가장 간단한 ALV 작성을 cl_salv_table 추가 형식 지정 옵션은 표시하지 않습니다. 추가 서식 지정 옵션은 TRY ENDTRY 블록 다음에 alv->display( ) 메서드 호출 전에 포함 alv->display( ) .

ALV 작성에 대한 ABAP 오브젝트 접근법을 사용하는 모든 후속 예제는이 예제를 시작점으로 사용합니다.

DATA: t_spfli       TYPE STANDARD TABLE OF spfli,
      alv           TYPE REF TO cl_salv_table,
      error_message TYPE REF TO cx_salv_msg.

" Fill the internal table with example data
SELECT * FROM spfli INTO TABLE t_spfli.

" Fill ALV object with data from the internal table
TRY.
    cl_salv_table=>factory(
      IMPORTING
        r_salv_table = alv
      CHANGING
        t_table      = t_spfli ).
  CATCH cx_salv_msg INTO error_message.
    " error handling
ENDTRY.

" Use the ALV object's display method to show the ALV on the screen
alv->display( ).

ALV 열 너비 최적화

이 예에서는 열 머리글과 데이터가 잘 리지 않도록 열 너비를 최적화하는 방법을 보여줍니다.

alv->get_columns( )->set_optimize( ).

ALV에서 열 숨기기

이 예에서는 ALV에서 MANDT (클라이언트) 필드를 숨 깁니다. 이 작업을 수행하려면 get_column( ) 전달 된 매개 변수를 대문자로 입력 해야합니다 .

alv->get_columns( )->get_column( 'MANDT' )->set_visible( if_salv_c_bool_sap=>false ).

ALV에서 열 머리글 이름 바꾸기

열 텍스트는 열의 가로 크기 조정시 변경 될 수 있습니다. 이를 수행하는 세 가지 방법이 있습니다.

메서드 이름 표제의 최대 길이
set_short_text 10
set_medium_text 20
set_long_text 40

다음 예제에서는이 세 가지 모두의 사용법을 보여줍니다. column 객체는 alv->get_columns( )->get_column( 'DISTID' ) 의 결과에 대한 참조로 선언되고 인스턴스화됩니다. 열 이름 모두 대문자 여야합니다 . 이것은이 메소드 체이닝이 컬럼 표제가 변경 될 때마다 실행되는 것이 아니라 인스턴스화시 한 번만 호출되도록하기위한 것입니다.

DATA column TYPE REF TO cl_salv_column.
column = alv->get_columns( )->get_column( 'DISTID' ).

column->set_short_text( 'Dist. Unit' ).
column->set_medium_text( 'Unit of Distance' ).
column->set_long_text( 'Mass Unit of Distance (kms, miles)' ).

ALV 툴바 기능 활성화

다음 메서드 호출을 사용하면 데이터 정렬, 필터링 및 내보내기와 같은 여러 가지 고급 기능을 사용할 수 있습니다.

alv->get_functions( )->set_all( ).

ALV에서 다른 모든 행 스트라이프 사용

이 메서드는 연속적인 행에 배경색 음영을 번갈아 가며 가독성을 높입니다.

alv->get_display_settings( )->set_striped_pattern( if_salv_c_bool_sap=>true ).

표시된 ALV의 제목 설정

기본적으로 ALV가 표시되면 맨 위에있는 제목은 프로그램 이름입니다. 이 방법을 사용하면 제목을 최대 70 자까지 설정할 수 있습니다. 다음 예는 표시되는 레코드 수를 표시하는 동적 제목을 설정하는 방법을 보여줍니다.

alv->get_display_settings( )->set_list_header( |Flight Schedule - { lines( t_spfli ) } records| ).


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow