SAP/ABAP

ABAP 간단한 결과 내용을 ALV 팝업으로 출력하기

그녀는애교쟁이 2015. 2. 6. 14:43
반응형

ALV 를 이용해서 결과를 표시하고 싶은데 간단한 내용에 비해 ALV를 만들기 위한 소스의 내용이 너무 많다면 ALV Popup Function 을 이용해서 결과를 표시 할 수 있다. 간단하면서 사용이 간편하지만 별도의 기능을 구현하기에는 한계가 있으므로 단순히 결과 메시지들을 출력한다던지 하는데 사용이 가능하다.


구글에서 검색으로 찾았는데 아래 사이트에서 확인 할 수 있다. 그리고 사이트 사용자의 여러 개발 코드 예제가 있으니 개발하는데 많은 도움을 받을 수 있다. 







REPORT ytest017.

START-OF-SELECTION.

TYPE-POOLS:
  slis.

PERFORM display_popup.

FORM display_popup.

  DATA:
    BEGIN OF ls_popup,
      text(60) TYPE c,
    END OF ls_popup,
    lt_popup   LIKE TABLE OF ls_popup,
    lt_fcat    TYPE slis_t_fieldcat_alv,
    ls_fcat    TYPE slis_fieldcat_alv,
    lt_excl    TYPE slis_t_extab,
    ls_excl    TYPE slis_extab,
    lv_exit    TYPE c.

  ls_popup-text = 'First line'.  APPEND ls_popup TO lt_popup.
  ls_popup-text = 'Second line'. APPEND ls_popup TO lt_popup.
  ls_popup-text = 'Third line'.  APPEND ls_popup TO lt_popup.

  ls_fcat-col_pos = 1.
  ls_fcat-fieldname = 'TEXT'.
  ls_fcat-outputlen = 60.
  ls_fcat-seltext_m = 'Title of the table'.
  APPEND ls_fcat TO lt_fcat.

  ls_excl-fcode = '&ETA'. APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '%SC'.  APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '%SC+'. APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '&OUP'. APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '&ODN'. APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '&ILT'. APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '&OL0'. APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '&CRB'. APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '&CRL'. APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '&CRR'. APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '&CRE'. APPEND ls_excl TO lt_excl.
* ls_excl-fcode = '&AC1'. APPEND ls_excl TO lt_excl. " cancel
  ls_excl-fcode = '&ALL'. APPEND ls_excl TO lt_excl.
  ls_excl-fcode = '&SAL'. APPEND ls_excl TO lt_excl.

  CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
    EXPORTING
      i_title               = 'Title of the popup'
      i_selection           = ''
      i_screen_start_column = 1
      i_screen_start_line   = 1
      i_screen_end_column   = 62
      i_screen_end_line     = 10
      i_tabname             = 'LT_POPUP'
      it_fieldcat           = lt_fcat
      it_excluding          = lt_excl
    IMPORTING
      e_exit                = lv_exit
    TABLES
      t_outtab              = lt_popup.

  IF lv_exit = 'X'.
*   cancel
  ELSE.
*   do action
  ENDIF.

ENDFORM.