본문 바로가기

SAP

RADIO BUTTON 동적 설정

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE TEXT-002.

SELECTION-SCREEN BEGIN OF LINE.
																								"USER-COMMAND 설정 안 하면 더블클릭 해야함
PARAMETERS: r_mara RADIOBUTTON GROUP gr1 DEFAULT 'X' USER-COMMAND uc1.
 SELECTION-SCREEN COMMENT 5(10) TEXT-r01 FOR FIELD r_mara .
PARAMETERS: r_vbak RADIOBUTTON GROUP gr1.
 SELECTION-SCREEN COMMENT 20(10) TEXT-r02 FOR FIELD r_vbak.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK blk2.


SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.
*  SELECT-OPTIONS: so_mm FOR gs_mara-MATNR OBLIGATORY.
SELECT-OPTIONS: so_mm FOR mara-matnr NO INTERVALS NO-EXTENSION MODIF ID ma1.

SELECTION-SCREEN END OF BLOCK blk1.


SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE TEXT-003.

SELECT-OPTIONS: s_vbeln FOR vbap-vbeln MODIF ID vb1.

SELECTION-SCREEN END OF BLOCK blk3.
AT SELECTION-SCREEN OUTPUT.

  PERFORM modify_screen.
*&---------------------------------------------------------------------*
*& Form MODIFY_SCREEN
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM modify_screen .

  LOOP AT SCREEN.

    CASE 'X'.
      WHEN r_mara.
        IF screen-group1 = 'MA1'.
          screen-active = '1'.
        ELSEIF screen-group1 = 'VB1'.
          screen-active = '0'.
        ENDIF.
      WHEN r_vbak.
        IF screen-group1 = 'VB1'.
          screen-active = '1'.
        ELSEIF screen-group1 = 'MA1'.
          screen-active = '0'.
        ENDIF.
    ENDCASE.

    MODIFY SCREEN.

  ENDLOOP.

ENDFORM.
반응형

'SAP' 카테고리의 다른 글

GET_SELECTED_ROWS  (0) 2025.02.27
FIELD CATALOG MACRO  (0) 2025.02.27
SELECT-OPTIONS MACRO  (0) 2025.02.27
ALV TOOLBAR 삭제  (0) 2025.02.27
CL_GUI_TEXT_EDIT  (0) 2025.02.27