SAP_ABAP_FI

ABAP SelectionScreen/Event/응용 본문

SAP_ABAP_Source

ABAP SelectionScreen/Event/응용

abapjun 2021. 10. 10. 11:59
728x90
반응형

-Screen

- Program Main

 

- Selection Screen Top

TABLES:sscrfields.

SELECTION-SCREEN BEGIN OF SCREEN 1001 AS SUBSCREEN.
PARAMETERSck03 AS CHECKBOX.
SELECTION-SCREEN END   OF SCREEN 1001.

SELECTION-SCREEN BEGIN OF SCREEN 1002 AS SUBSCREEN.
PARAMETERSck04 AS CHECKBOX.
SELECTION-SCREEN END   OF SCREEN 1002.

SELECTION-SCREEN BEGIN OF SCREEN 1010 AS WINDOW.
PARAMETERSp_spmon TYPE spmon,
            p_mondt TYPE spmon.
SELECTION-SCREEN END   OF SCREEN 1010.

SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE TEXT-t01.
PARAMETERSp_bukr  TYPE bukrs.
PARAMETERSp_rldnr TYPE rldnr.
PARAMETERSp_tab TYPE tabname.
SELECTION-SCREEN SKIP 1" 한줄 띄기
SELECTION-SCREEN PUSHBUTTON 1(10push
               USER-COMMAND push." Push Btn1
SELECTION-SCREEN PUSHBUTTON 13(10push2
               USER-COMMAND push2." Push Btn2
SELECTION-SCREEN END   OF BLOCK b01.

SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE TEXT-t02.

SELECTION-SCREEN COMMENT 3(35TEXT-cm1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 6(2TEXT-cm2.
PARAMETERSrb_01 RADIOBUTTON GROUP rad1 USER-COMMAND f001.
SELECTION-SCREEN COMMENT 11(10TEXT-c01  FOR FIELD rb_01.

SELECTION-SCREEN END   OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 11(10TEXT-c03  FOR FIELD p_fname
                                          MODIF ID m01.
PARAMETERSp_fname TYPE rlgrap-filename MODIF ID m01.

SELECTION-SCREEN END   OF LINE.


SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 6(2TEXT-cm2.
PARAMETERSrb_02 RADIOBUTTON GROUP rad1.
SELECTION-SCREEN COMMENT 11(10TEXT-c02 FOR FIELD rb_02.

SELECTION-SCREEN END   OF LINE.

SELECTION-SCREEN END   OF BLOCK b02.

SELECTION-SCREEN SKIP 2" 한줄 띄기

SELECTION-SCREEN BEGIN OF TABBED BLOCK tab FOR LINES.
SELECTION-SCREEN:TAB (20t01 USER-COMMAND 1001 DEFAULT SCREEN 1001,
                 TAB (20t02 USER-COMMAND 1002.
SELECTION-SCREEN END OF BLOCK tab.
PARAMETERSck01 AS CHECKBOX,
            ck02 AS CHECKBOX.

SELECTION-SCREEN FUNCTION KEY1,
                               2,
                               3,
                               4,
                               5.

 

---> PBO/PAI/INIT_SCR/F4 등 

*&---------------------------------------------------------------------*
*& Form INIT_SCR
*&---------------------------------------------------------------------*
FORM init_scr .
  DATAls_func TYPE smp_dyntxt.
  ls_func-icon_id   icon_detail.
  ls_func-quickinfo 'FUNC1'.
  ls_func-icon_text 'FUNC1'.
  sscrfields-functxt_01 ls_funcCLEARls_func.

  ls_func-icon_id   icon_detail.
  ls_func-quickinfo 'FUNC2'.
  ls_func-icon_text 'FUNC2'.
  sscrfields-functxt_02 ls_funcCLEARls_func.

  ls_func-icon_id   icon_detail.
  ls_func-quickinfo 'FUNC3'.
  ls_func-icon_text 'FUNC3'.
  sscrfields-functxt_03 ls_funcCLEARls_func.

  ls_func-icon_id   icon_detail.
  ls_func-quickinfo 'FUNC4'.
  ls_func-icon_text 'FUNC4'.
  sscrfields-functxt_04 ls_funcCLEARls_func.
  ls_func-icon_id   icon_detail.
  ls_func-quickinfo 'FUNC5'.
  ls_func-icon_text 'FUNC5'.
  sscrfields-functxt_05 ls_funcCLEARls_func.
  t01 'TAB01'.
  t02 'TAB02'.
  push icon_activate.

  push2 icon_activate.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SCR_PAI
*&---------------------------------------------------------------------*
FORM scr_pai  USING    pv_dynnr.
  CASE pv_dynnr.
    WHEN 1000.
      CASE sscrfields-ucomm.
        WHEN 'ONLI'.
        WHEN '1001'.
          tab-dynnr 1001.
          tab-activetab 'TAB01'.
        WHEN '1002'.
          tab-dynnr 1002.
          tab-activetab 'TAB02'.
        WHEN 'FC01'.
          CALL SELECTION-SCREEN 1010 STARTING AT 10 5.
        WHEN 'FC02'.
        WHEN 'FC03'.
        WHEN 'FC04'.
        WHEN 'FC05'.
        WHEN 'PUSH'.
        WHEN 'PUSH2'.

      ENDCASE.
  ENDCASE.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SCR_PBO
*&---------------------------------------------------------------------*
FORM scr_pbo  USING    pv_dynnr.
  DATAlt_exclude TYPE TABLE OF rsexfcode.
  CASE pv_dynnr.
    WHEN 1000.
*실행 버튼 제거
      APPEND 'ONLI' TO lt_exclude.
      CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
        EXPORTING
          p_status  '%_00'
          p_program 'RSSTSTDB'
        TABLES
          p_exclude lt_exclude.

      LOOP AT SCREEN.
        CASE screen-group1.
          WHEN 'M01'.
            CASE abap_true.
              WHEN rb_01.screen-active 1.
              WHEN rb_02.screen-active 0.
            ENDCASE.
        ENDCASE.

        MODIFY SCREEN.
      ENDLOOP.
    WHEN 1010.
*실행 save delete 버튼
      APPEND'NONE' TO lt_exclude,
              'SPOS' TO lt_exclude,
              'LVUV' TO lt_exclude.
      CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
        EXPORTING
          p_status  '%_CSP'
          p_program 'RSSTSTDB'
        TABLES
          p_exclude lt_exclude.
  ENDCASE.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form F4_TAB
*&---------------------------------------------------------------------*
FORM f4_tab .
  DATABEGIN OF ls_tab,
          tabname TYPE tabname,
          ddtext  TYPE dd02t-ddtext,
        END   OF ls_tab,
        lt_tab LIKE TABLE OF ls_tab.

  DATAls_return LIKE ddshretval,
        lt_return LIKE TABLE OF ls_return.

  SELECT a~obj_name AS tabname
         b~ddtext
    INTO CORRESPONDING FIELDS OF TABLE lt_tab
    FROM tadir AS a INNER JOIN dd02t AS ON a~obj_name b~tabname
   WHERE a~obj_name LIKE 'Z%'
     AND b~ddlanguage EQ sy-langu.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield     'TABNAME'
      dynpprog     sy-repid
      dynpnr       sy-dynnr
      window_title 'TABNAME'
      value_org    'S'
    TABLES
      value_tab    lt_tab
      return_tab   lt_return.

  CHECK lt_return IS NOT INITIAL.
  READ TABLE lt_return INTO ls_return INDEX 1.
  p_tab ls_return-fieldval.


ENDFORM.

728x90
반응형

'SAP_ABAP_Source' 카테고리의 다른 글

Standard 파일 업  (0) 2021.12.05
SAP_다운로드 프로그램  (0) 2021.12.05
abap 문법/sql  (0) 2021.10.09
ST04-Query Version2  (0) 2021.09.27
ABAP_DOMAIN_FIELD값 가져오기  (0) 2021.09.07