Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to pass pushbutton values to a function module

siongchao_ng
Contributor
0 Kudos

Hi all,

I am required  to move a subroutine in main program to a function module but I am unable to pass in the pushbutton . How do I do that?

In main program:

SELECTION-SCREEN BEGIN OF BLOCK blk1.

PARAMETERS message(10) TYPE c.

SELECTION-SCREEN SKIP 2.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN PUSHBUTTON 3(5) btn1 user-command cli1 modif id bt1.

SELECTION-SCREEN PUSHBUTTON 8(5) btn2 user-command cli2 modif id bt2.

SELECTION-SCREEN PUSHBUTTON 13(5) btn3 user-command cli3 modif id bt3.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK blk1.


In main program there is many subroutines perform check_button using 'P' or check_button using 'C'.


Form check_button using str type boolean.

IF btn1 = str AND btn2 = str AND btn3 = space.

     btn3 = 'C'.

     disable3 = 'X'.

     count = count + 1.

   ENDIF.

   IF btn1 = str AND btn3 = str AND btn2 = space.

     btn2 = 'C'.

     disable2 = 'X'.

     count = count + 1.

   ENDIF.

   IF btn2 = str AND btn3 = str AND btn1 = space.

     btn1 = 'C'.

     disable1 = 'X'.

     count = count + 1.

   ENDIF.


Endform.



Problem: My function module cannot possible know btn1, btn2 and btn3 values. How do I do it?

1 REPLY 1

Former Member
0 Kudos

Hi,

Please try below:

SELECTION-SCREEN BEGIN OF BLOCK blk1.


PARAMETERS message(10) TYPE c.

SELECTION-SCREEN SKIP 2.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN PUSHBUTTON 3(5) btn1 USER-COMMAND cli1 MODIF ID bt1.
SELECTION-SCREEN PUSHBUTTON 8(5) btn2 USER-COMMAND cli2 MODIF ID bt2.
SELECTION-SCREEN PUSHBUTTON 13(5) btn3 USER-COMMAND cli3 MODIF ID bt3.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK blk1.

DATA : value TYPE char1.

AT SELECTION-SCREEN.
  BREAK-POINT.
  DATA : value TYPE char1.
IF sy-ucomm = 'CLI1'.
  value = '1'.
  PERFORM test USING value.
ELSEIF sy-ucomm = 'CLI3'.
  value = '3'.
  PERFORM test USING value.
ENDIF.

AT SELECTION-SCREEN OUTPUT.


  IF sy-ucomm = 'CLI1'.
    value = '1'.
  ENDIF.

  PERFORM test USING value.
*&---------------------------------------------------------------------*
*&      Form  test
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->VALUE      text
*----------------------------------------------------------------------*
FORM test USING value .
  IF value = '1'.
    BREAK-POINT.
  ENDIF.
  IF value = '3'.
    BREAK-POINT.
  ENDIF.
ENDFORM.                    "

Regards,

VS