Quantcast
Channel: SCN : All Content - ABAP Development
Viewing all articles
Browse latest Browse all 8332

Drop down list boxes based on radio button selection.

$
0
0

Hi ,

 

My requirment is based on radio button selection in selection screen i should get list values

suppose if i click radio button 1 i should get some values.

from the google and SCN stuff i found some thing close to my requirement.

and wrote this.

type-pools:vrm.

TABLES:sscrfields.

DATA : flag TYPE c,

       tablename(10),

       masterTable LIKE dd02l-tabname,

       salestable LIKE dd02l-tabname,

       purchasetable LIKE dd02l-tabname.

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.

PARAMETERS :  Mat RADIOBUTTON GROUP rad USER-COMMAND com MODIF ID mod,

               Sales RADIOBUTTON GROUP rad MODIF ID rad,

               Purchase RADIOBUTTON GROUP rad MODIF ID cad.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN COMMENT 2(6) text_001.

*DYNAMIC LIST BOX BASED ON USER SELECTIONS

PARAMETERS one AS LISTBOX VISIBLE LENGTH 20  MODIF ID mod.

PARAMETERS two AS LISTBOX VISIBLE LENGTH 20   MODIF ID rad.

PARAMETERS three AS LISTBOX VISIBLE LENGTH 20 MODIF ID cad.

SELECTION-SCREEN END OF BLOCK blk1.

data : it_ucomm type sy-ucomm occurs 0.

 

AT SELECTION-SCREEN OUTPUT.

*CLICK OF FIRST RADIO BUTTON

   IF mat = 'X'.

     LOOP AT SCREEN.

       IF screen-group1 = 'MOD'.

         screen-intensified = '1'.

         screen-active = 1.

         screen-display_3d = '1'.

         MODIFY SCREEN.

       ENDIF.

       IF screen-group1 = 'RAD'.

         screen-intensified = '0'.

         screen-active = 0.

         screen-display_3d = '0'.

         MODIFY SCREEN.

       ENDIF.

       IF screen-group1 = 'CAD'.

         screen-intensified = '0'.

         screen-active = 0.

         screen-display_3d = '0'.

         MODIFY SCREEN.

       ENDIF.

     ENDLOOP.

   ENDIF.

*CLICK OF SECOND RADIO

   IF sales = 'X'.

     sscrfields-functxt_02 = 'Sales Data'.

     LOOP AT SCREEN.

       IF screen-group1 = 'RAD'.

         screen-intensified = '1'.

         screen-active = 1.

         screen-display_3d = '1'.

         MODIFY SCREEN.

       ENDIF.

       IF screen-group1 = 'MOD'.

         screen-intensified = '0'.

         screen-active = 0.

         screen-display_3d = '0'.

         MODIFY SCREEN.

       ENDIF.

       IF screen-group1 = 'CAD'.

         screen-intensified = '0'.

         screen-active = 0.

         screen-display_3d = '0'.

         MODIFY SCREEN.

       ENDIF.

     ENDLOOP.

   ENDIF.

*CLICK OF THIRD RADIO

   IF purchase = 'X'.

     sscrfields-functxt_03 = 'Purchase data'.

     LOOP AT SCREEN.

       IF screen-group1 = 'RAD'.

         screen-intensified = '0'.

         screen-active = 0.

         screen-display_3d = '0'.

         MODIFY SCREEN.

       ENDIF.

       IF screen-group1 = 'MOD'.

         screen-intensified = '0'.

         screen-active = 0.

         screen-display_3d = '0'.

         MODIFY SCREEN.

       ENDIF.

       IF screen-group1 = 'CAD'.

         screen-intensified = '1'.

         screen-active = 1.

         screen-display_3d = '1'.

         MODIFY SCREEN.

       ENDIF.

     ENDLOOP.

   ENDIF.

 

   CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'

     EXPORTING

       p_status  = sy-pfkey

     TABLES

       p_exclude = it_ucomm.

**EVENT ON THE SELECTION

AT SELECTION-SCREEN.

* LIST BOX ONE VALUES

   CASE one.

     WHEN '1'.

       MASTERTABLE = 'MARC'.

     WHEN '2'.

       mastertable = 'MARA'.

     WHEN '3'.

       mastertable = 'MARD'.

 

   ENDCASE.

* LIST BOX TWO VALUES

   CASE two.

     WHEN '1'.

       salestable = 'VBAK'.

     WHEN '2'.

       salestable = 'VBAP'.

   ENDCASE.

* LIST BOX THREE VALUES

   CASE three.

     WHEN '1'.

       purchasetable = 'EKKO'.

     WHEN '2'.

       purchasetable = 'EKPO'.

   ENDCASE.

   APPEND 'PRIN' TO it_ucomm.

 

   CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'

     EXPORTING

       p_status  = sy-pfkey

     TABLES

       p_exclude = it_ucomm.

*  .

   PERFORM f4_value_request_MASTER.

   PERFORM f4_value_request_SALES.

   PERFORM f4_value_request_PURCHASE.

 

   START-OF-SELECTION.

*  PERFORM output.

*&---------------------------------------------------------------------*

*&      Form  F4_VALUE_REQUEST_MASTER

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM f4_value_request_master .

  DATA: l_name TYPE vrm_id,

         li_list TYPE vrm_values,

         l_value LIKE LINE OF li_list.

   l_value-key = '1'.

   l_value-text = 'Plant Data for Material'.

   APPEND l_value TO li_list.

   CLEAR l_value.

   l_value-key = '2'.

   l_value-text = 'General Material Data'.

   APPEND l_value TO li_list.

   CLEAR l_value.

   l_value-key = '3'.

   l_value-text = 'Storage Location Data for Material'.

   APPEND l_value TO li_list.

   CLEAR l_value.

   l_name = 'ONE'.

   CALL FUNCTION 'VRM_SET_VALUES'

     EXPORTING

       id              = l_name

       values          = li_list

     EXCEPTIONS

       id_illegal_name = 1

       OTHERS          = 2.

   IF sy-subrc <> 0.

     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

   ENDIF.

ENDFORM. " f4_value_request_tabname

*&---------------------------------------------------------------------*

*&      Form  F4_VALUE_REQUEST_SALES

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM f4_value_request_sales .

  DATA: l_name TYPE vrm_id,

         li_list TYPE vrm_values,

         l_value LIKE LINE OF li_list.

   l_value-key = '1'.

   l_value-text = 'Sales Document: Header Data'.

   APPEND l_value TO li_list.

   CLEAR l_value.

   l_value-key = '2'.

   l_value-text = 'Sales Document: Item Data'.

   APPEND l_value TO li_list.

   CLEAR l_value.

   l_name = 'TWO'.

   CALL FUNCTION 'VRM_SET_VALUES'

     EXPORTING

       id              = l_name

       values          = li_list

     EXCEPTIONS

       id_illegal_name = 1

       OTHERS          = 2.

   IF sy-subrc <> 0.

     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

   ENDIF.

 

ENDFORM.

*&---------------------------------------------------------------------*

*&      Form  F4_VALUE_REQUEST_PURCHASE

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM f4_value_request_purchase .

DATA: l_name TYPE vrm_id,

         li_list TYPE vrm_values,

         l_value LIKE LINE OF li_list.

   l_value-key = '1'.

   l_value-text = 'Purchase Header type'.

   APPEND l_value TO li_list.

   CLEAR l_value.

   l_value-key = '2'.

   l_value-text = 'Purchase order type'.

   APPEND l_value TO li_list.

   CLEAR l_value.

   l_name = 'THREE'.

   CALL FUNCTION 'VRM_SET_VALUES'

     EXPORTING

       id              = l_name

       values          = li_list

     EXCEPTIONS

       id_illegal_name = 1

       OTHERS          = 2.

   IF sy-subrc <> 0.

     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

   ENDIF.

ENDFORM.


iam getting list values for sales and purchase  but am not geting for mat.


Please look into this and do the helpful ...


Regards

Sanjay.


Viewing all articles
Browse latest Browse all 8332


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>