Issue in radio button group in module pool in infotype creation

Hi,
I have a custom infotype,where there are six radio buttons belonging to same group for different mode of payment.Issue is when user clicks a radiobutton,a subscreen opens .there are six different subscreens when user clicks on each of the six radio buttons.
Requirement is when user clicks one button ,one subscreen opens but the other radio buttons(whcih are eligible to be open) gets disabled .I have tried to handle the issue manually through coding ,but i think the issue is with the radiobutton grouping.
How to make the other radio buttons open for input even when the user has clicked on one button and the subscreen opens corresponding to the screen so that the imemediately ther user clicks on another radio button and get the corresponding subscreen opened for him.Pls advise.

I have written a custom module in PBO section of my custom infotype.There i have written this code:-
LOOP AT SCREEN.
    READ TABLE  fp_it_payment_opt_open INTO wa_payment_opt_open WITH KEY scrname = screen-name.
    IF sy-subrc = 0.
      screen-input = c_input_on.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
The internal table it_payment_opt contains all the radio buttons and checkboxes and is populated when the radio buttons and checkboxes are turned input on while modifying the screen depending upon course of my price and personnel subarea.
While calling subscreen area in PBO,the radiobuttons get into a state of input-off automatically.so i have written a z-module after
the module hidden_data .
PROCESS BEFORE OUTPUT.
        general infotype-independent operations
  MODULE before_output.
  CALL SUBSCREEN subscreen_empl   INCLUDING empl_prog empl_dynnr.
  CALL SUBSCREEN subscreen_header INCLUDING header_prog header_dynnr.
        infotype specific operations
  MODULE p9300.
  CALL SUBSCREEN subscreen_area INCLUDING subscr_prog subscr_dynnr.
  MODULE hidden_data.
  module z_open_paymnt_optns.
My problem has been solved ,hence am closing the thread.Thanks to all of you.

Similar Messages

  • How to disable the inputfield using radio button dynamically in module pool

    How to disable the inputfield on the screen using radio button dynamically in module pool.
    Please suggest .
            Thanks.
    Edited by: Lavanya YH1504 on Jul 30, 2010 1:20 PM

    I got it thank you.
    LOOP AT SCREEN.
        if  screen-GROUP1 = 'LA1'.
           If RADIO1 = 'X'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
         ELSEIF RADIO2 = 'X'.
           screen-input = '1'.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    Edited by: Lavanya YH1504 on Jul 30, 2010 1:51 PM

  • Push button logic for module pool

    I have 3 radio buttons ( group) and 2 buttons
    ok and cancel
    When the user selects a radio button and clicks on ok button i need to include an include program ( another program)
    if the user clicks on cancel button , i need to exit out of the screen
    Please send some logic for this. I am new to module pool programming.
    I will reward for helpful answers, immediately
    Thanks in advance

    Write down under PAI Event ...
    do not use sy-ucomm always except sub screen..
    case ok_code.
    when 'OK'.
    use ur include program logic'.
    when 'CANC'.
    leave to screen 0.
    endcase.
    always Function should be 4 Char.
    Reward Points if it is helpful.
    Thanks
    Seshu

  • Creating a radio button group in a column of a table in Web Dynpro

    Hi,
    I want to put a radio button group in a column of a table in Webdynpro. I added a column to a web dynpro view and then inserted a tableCellEditor for that column.. But I cannot define it as Radio Button group. I want the user to be able to select 3 statuses using this group.
    Does anyone have a solution for this??
    Thanks in advance...
    Nakul

    Hi,
    You wont be able create three RB in one cell.
    Create as many column as the no of options is.Here it is 3.
    Create 4 attributes inside the node , option 1,option 2,option 3 and selectedoption.
    Map each RB s keytoSelect to option 1,2,3. Map all the RBs selectedKey atribute to selectedoption.
    Now selection for each row will be stored in the selected option.
    Regards
    Bharathwaj

  • How to disable a lead selected item in a radio button group ?

    Hi,
    I have a radio button group and there are entries to create radio buttons dynamically. means there is only one radio button group in the UI design and in runtime I will be having two radio buttons (For ex: Yes and No ) . Now If I want to disable either Yes or No radio button, I am unable to do so. because If I disable the radio button group it disables both.  So, I can have lead selected item for ex: Yes which I want to disable. I want to know specifically how this Yes button to be disabled by taking lead selected index item.
    Please help.
    Thanks
    Praveen

    Try setting the radio button value of the lead selected button to abap_false/space.

  • Radio Button Groups

    Hi I am trying to create two radio button groups, one which contains other text buttons and names buttons, in this group only other text button or names can be chosen. But then within the other group I have all the names buttons, but i only want one of these to be chosen at a time. Heres my code
    [AS]
    import fl.controls.RadioButtonGroup;
    //===========================All Name Buttons============================
    var NameTxtRadio:RadioButtonGroup=new RadioButtonGroup("NameTxtRadio");
    LBtextMenu.LBnames.group=NameTxtRadio;
    RBtextMenu.RBnames.group=NameTxtRadio;
    LStextMenu.LSnames.group=NameTxtRadio;
    RStextMenu.RSnames.group=NameTxtRadio;
    LBtextMenu.LBnames.addEventListener(MouseEvent.CLICK, NamesshowResult);
    RBtextMenu.RBnames.addEventListener(MouseEvent.CLICK, NamesshowResult);
    LStextMenu.LSnames.addEventListener(MouseEvent.CLICK, NamesshowResult);
    RStextMenu.RSnames.addEventListener(MouseEvent.CLICK, NamesshowResult);
    function NamesshowResult(event:MouseEvent):void {
       switch (NameTxtRadio.selection) {
              case RBtextMenu.RBnames :
               trace ("RB names chosen");
                             RStextMenu.RSnames.selected = false;
                           RBtextMenu.RBnames.selected = true;
                           LBtextMenu.LBnames.selected = false;
                           LStextMenu.LSnames.selected = false;
                            break;
                           case LBtextMenu.LBnames :
               trace ("LB names chosen");
                            RStextMenu.RSnames.selected = false;
                           RBtextMenu.RBnames.selected = false;
                           LBtextMenu.LBnames.selected = true;
                           LStextMenu.LSnames.selected = false;
                            break;
                           case LStextMenu.LSnames :
               trace ("LS names chosen");
                             RStextMenu.RSnames.selected = false;
                           RBtextMenu.RBnames.selected = false;
                           LBtextMenu.LBnames.selected = false;
                           LStextMenu.LSnames.selected = true;
                            break;
                           case RStextMenu.RSnames :
               trace ("RS names chosen");
                           RStextMenu.RSnames.selected = true;
                           RBtextMenu.RBnames.selected = false;
                           LBtextMenu.LBnames.selected = false;
                           LStextMenu.LSnames.selected = false;
                            break;
    //==========================Right Breast text menu==========================
    var RBTxtRadio:RadioButtonGroup=new RadioButtonGroup("RBTxtRadio");
    RBtextMenu.RBotherTxt.group=RBTxtRadio;
    RBtextMenu.RBnames.group=RBTxtRadio;
    RBtextMenu.RBotherTxt.addEventListener(MouseEvent.CLICK, RBshowResult);
    RBtextMenu.RBnames.addEventListener(MouseEvent.CLICK, RBshowResult);
    function RBshowResult(event:MouseEvent):void {
       switch (RBTxtRadio.selection) {
              case RBtextMenu.RBotherTxt :
               trace ("RB other chosen");
                            break;
                           case RBtextMenu.RBnames :
               trace ("RB names chosen");
                            break;
    //==============================================================================
    //==========================Left Breast text menu==========================
    var LBTxtRadio:RadioButtonGroup=new RadioButtonGroup("LBTxtRadio");
    LBtextMenu.LBotherTxt.group=LBTxtRadio;
    LBtextMenu.LBnames.group=LBTxtRadio;
    LBtextMenu.LBotherTxt.addEventListener(MouseEvent.CLICK, LBshowResult);
    LBtextMenu.LBnames.addEventListener(MouseEvent.CLICK,LBshowResult);
    function LBshowResult(event:MouseEvent):void {
       switch (LBTxtRadio.selection) {
              case LBtextMenu.LBotherTxt :
               trace ("LB other chosen");
                            break;
                           case LBtextMenu.LBnames :
               trace ("LB names chosen");
                            break;
    //==============================================================================
    //==========================Left Shoulder text menu==========================
    var LSTxtRadio:RadioButtonGroup=new RadioButtonGroup("LSTxtRadio");
    LStextMenu.LSotherTxt.group=LSTxtRadio;
    LStextMenu.LSnames.group=LSTxtRadio;
    LStextMenu.LSotherTxt.addEventListener(MouseEvent.CLICK, LSshowResult);
    LStextMenu.LSnames.addEventListener(MouseEvent.CLICK,LSshowResult);
    function LSshowResult(event:MouseEvent):void {
       switch (LSTxtRadio.selection) {
              case LStextMenu.LSotherTxt :
               trace ("LS other chosen");
                            break;
                           case LStextMenu.LSnames :
               trace ("LS names chosen");
                            break;
    //==============================================================================
    //==========================Right Shoulder text menu==========================
    var RSTxtRadio:RadioButtonGroup=new RadioButtonGroup("RSTxtRadio");
    RStextMenu.RSotherTxt.group=RSTxtRadio;
    RStextMenu.RSnames.group=RSTxtRadio;
    RStextMenu.RSotherTxt.addEventListener(MouseEvent.CLICK, RSshowResult);
    RStextMenu.RSnames.addEventListener(MouseEvent.CLICK,RSshowResult);
    function RSshowResult(event:MouseEvent):void {
       switch (RSTxtRadio.selection) {
              case RStextMenu.RSotherTxt :
               trace ("RS other chosen");
                            break;
                           case RStextMenu.RSnames :
               trace ("RS names chosen");
                            break;
    //==============================================================================
    [/AS]
    I have no problem choosing between either, other text button or names, only one is selected at a time, but this isnt the case for the other group im able to select multiple name buttons without the other one becoming deselected.
    Thanks in advance for any help.

    Hi just if anyone else wants to do something like i have, I had to ditch the radio button component and make my own.
    Heres the code.
    [AS]
    RBnamesTextButton.CustomRadioButton.stop();
    LBnamesTextButton.CustomRadioButton.stop();
    RSnamesTextButton.CustomRadioButton.stop();
    LSnamesTextButton.CustomRadioButton.stop();
    RBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState01);
    LBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState01);
    RSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState01);
    LSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState01);
    function rollOverState01(event:MouseEvent):void
              if (event.target.currentFrame !== 3)
                        event.target.gotoAndStop("over");
    RBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState01);
    LBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState01);
    RSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState01);
    LSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState01);
    function rollOffState01(event:MouseEvent):void
              if (event.target.currentFrame !== 3)
                        event.target.gotoAndStop("off");
    RBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState01);
    LBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState01);
    RSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState01);
    LSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState01);
    function rollupState01(event:MouseEvent):void
              RBnamesTextButton.CustomRadioButton.gotoAndStop(1);
              LBnamesTextButton.CustomRadioButton.gotoAndStop(1);
              RSnamesTextButton.CustomRadioButton.gotoAndStop(1);
              LSnamesTextButton.CustomRadioButton.gotoAndStop(1);
              event.target.gotoAndStop(3);
    //======================================OTHER TEXT========================================================
    RBotherTextButton.CustomRadioButton.stop();
    LBotherTextButton.CustomRadioButton.stop();
    LSotherTextButton.CustomRadioButton.stop();
    RSotherTextButton.CustomRadioButton.stop();
    RBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState02);
    RSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState02);
    LBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState02);
    LSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OVER, rollOverState02);
    function rollOverState02(event:MouseEvent):void
              if (event.target.currentFrame !== 3)
                        event.target.gotoAndStop("over");
    RBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState02);
    RSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState02);
    LBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState02);
    LSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_OUT, rollOffState02);
    function rollOffState02(event:MouseEvent):void
              if (event.target.currentFrame !== 3)
                        event.target.gotoAndStop("off");
    //===============================RB BUTTONS================================================
    RBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState03);
    RBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState04);
    function rollupState03(event:MouseEvent):void
              RBnamesTextButton.CustomRadioButton.gotoAndStop(3);
              RBotherTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Right Breast names clicked")
    function rollupState04(event:MouseEvent):void
              RBotherTextButton.CustomRadioButton.gotoAndStop(3);
              RBnamesTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Right Breast text clicked")
    //======================================================================================== =======
    //===============================LB BUTTONS================================================
    LBnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState05);
    LBotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState06);
    function rollupState05(event:MouseEvent):void
              LBnamesTextButton.CustomRadioButton.gotoAndStop(3);
              LBotherTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Left Breast names clicked")
    function rollupState06(event:MouseEvent):void
              LBotherTextButton.CustomRadioButton.gotoAndStop(3);
              LBnamesTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Left Breast text clicked")
    //======================================================================================== =======
    //===============================RS BUTTONS================================================
    RSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState07);
    RSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState08);
    function rollupState07(event:MouseEvent):void
              RSnamesTextButton.CustomRadioButton.gotoAndStop(3);
              RSotherTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Right Shoulder names clicked")
    function rollupState08(event:MouseEvent):void
              RSotherTextButton.CustomRadioButton.gotoAndStop(3);
              RSnamesTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Right Shoulder text clicked")
    //======================================================================================== =======
    //===============================LS BUTTONS================================================
    LSnamesTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState09);
    LSotherTextButton.CustomRadioButton.addEventListener(MouseEvent.MOUSE_UP, rollupState10);
    function rollupState09(event:MouseEvent):void
              LSnamesTextButton.CustomRadioButton.gotoAndStop(3);
              LSotherTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Left Shoulder names clicked")
    function rollupState10(event:MouseEvent):void
              LSotherTextButton.CustomRadioButton.gotoAndStop(3);
              LSnamesTextButton.CustomRadioButton.gotoAndStop(1);
              trace("Left Shoulder text clicked")
    //======================================================================================== =======
    [/AS]
    There is probably a more efficent way to code this but im an AS noob :]

  • Radio Button group with images stored as BLOB files in database

    Hey all!
    I have radio button group, my idea is that radio button's LOV must display images, I mean BLOB files stored in a table.
    How can I do this?

    Hello Ken,
    I asked similar question in the past, and I believe the answer is still the same.
    Select List as an option of a Radio Group
    In your case, I think you can use a select list with added functionality, like "Select List with Branch to Page" or "Select list with Submit", or you can just attach an onChange event (JavaScript) to each select list. The effect should be similar to a radio group – as soon as the user select one item from any of the select lists, you can fire some action, based on the select list value.
    Hope this can help,
    Arie.

  • Radio buttons in function module.

    Hi,
    I have developed a function module which internally calls abap report with SUBMIT command.  However, the abap report has radio buttons on selecton screen.  So I would like to know how to define radio buttons in function module or is there any alternative to overcome this problem?
    ABAP code in function module :
    submit zodmr_report    with p_vkorg = bukrs
                             with s_off  in vkbur
                             with s_vtweg in vtweg
                             with s_spart in spart
                             with s_dsa in dsa
                             with s_ext in allocation_id
                             with p_yyyymm = year_month
                             and return.
    ( ABAP report "ZODMR_REPORT" has two radio buttons)
    Regards,
    Santosh

    Hi,
    To the best of my knowledge you need to create an IMPORT parameter of type SY-DYNNY And pass your selection screen to the FM. If this will not serve your purpose, then Instead of Standard Selection Screen with number 1000, use custom defined Screen number.
    Cheers
    Ram

  • Form UIBB: Radio Button Group: How to set default value?

    Hello,
    i've added a Radio Button Group in Forum UIBB (FPM_FORM_UIBB) with 3 possible values. How can I set the default value for this group? When starting the application, no radio button is selected..
    Thanks & Regards
    Christopher

    Hi Christopher,
    i've the same requiremnt for adding a Radio Button Group and 3 Radio buttons under it in Forum UIBB (FPM_FORM_UIBB) with 4 possible values..
    I have added 3 custom fields for 3 Radio buttons in the structure. In the desin time, I have added these 3 fields and taken as Radion button Group. But, Only label is coming on the output...
    I totally stuck here. Can you please guide me on this in details as to how to add the Radio buttons and how its action can be handled?
    It's bit urgent for me.
    Thanks in advance,
    Sumesh 

  • Radio button grouping across boxes

    I have 10 or so radio buttons on a shortcut screen that I need to put together in logical groupings.  I've grouped them in boxes; however, I need them to group as a single radio button grouping.  Is this possible?  When I try to put them in a grouping, I can only group those items within a given box...not all items in all boxes.
    Thanks in advance for your help.

    I dont think its possible to have in all diff box R-buttons in one group.

  • Calling radio button group by group name in SAP Appbuilder

    Hi, I'm new to SAP Appbuilder but I do have some really beginner Javascript knowledge.
    I'm trying to create a survey mobile app but I don't seem to be able to get the ID of a radio button based on the radio button group.
    This is my logic to try to change the text of a label with the ID of the selected radio button.
    This function has been set to the event of all 4 radio buttons that have the same radio button group name, "choices".
    Help needed.
    Regards RotiJohn

    First, why do you set the value in wdDoModifyView() and not in a non-static method of the controller?
    In your code example you read the value from a node named "AddEmployeeTime" but you set the value on a node named "EmployeeTime". Is that correct?
    Armin

  • Dynamic creation of Radio Button Group

    Hi,
    I need to create a Radio Button Group dynamically and add Radio buttons to it.
    I am able to create the Radio buttons dynamically. Could someone help me how to create Radio Button Groups.
    I tried creating the Radio Button Group using the following code
                  DATA : lr_radiobuttongrp type REF TO CL_WD_RADIOBUTTON_GROUP_BY_IDX.
                  call method CL_WD_RADIOBUTTON_GROUP_BY_IDX=>NEW_RADIOBUTTON_GROUP_BY_IDX
                  EXPORTING
                    bind_texts = 'test'
                  RECEIVING
                    control = lr_radiobuttongrp.
                  cl_wd_matrix_head_data=>new_matrix_head_data( element = lr_radiobuttongrp ).
                  lr_container->add_child( lr_radiobuttongrp ).
    But when I run it I am geting a dump "subnode viewname.ME does not exist".
    Thanks,
    Suvarna.
    Edited by: Suvarna Chittor on Aug 12, 2008 12:10 PM

    what is 'test' in bind text parameter
    you should provide the name in Capitals along with the node name,
    if the node name is TEXTS and the context attribute under this node is TEXT then you have to pass
    TEXTS.TEXT
    also provide the VIEW parameter to the call
    Abhi
    Edited by: Abhimanyu Lagishetti on Aug 12, 2008 12:26 PM

  • Dynamic radio button group

    Hi ,
    Is there any way we can create 'Text' along with radio button groups beside the text 'YES' and 'NO' dynamically in a VIEW through 'ABAP WEBDYNPRO'. Can we create a context node with 'TEXT' attribute.
    Eg : TEXT RADIOBUTTON1 'yes' RADIOBUTTON2 'no'.
    Thanks,
    kumar

    hi,
    check this out.
    method wddomodifyview .
    data : LR_RADIOBUTTON1            type ref to CL_WD_RADIOBUTTON,
    CALL METHOD cl_wd_radiobutton=>new_radiobutton
      EXPORTING
       bind_selected_key   =  '01' 
       BIND_TEXT           =  'One'
      receiving
        control             = LR_RADIOBUTTON1.
    I think with the above code you will be able to create text along with Radio button.
    Thanx.

  • Two radio button groups merging into one, and I don't want that. How do I fix it?

    I have two sets of radio buttons that I want to be independent of each other. How do I do that?  Just to be clear... I have one set with two buttons.  The second set has six buttons.  They are independent of each other - they just happen to fall in line one right after the other.  LiveCycle keeps putting them together. 
    I have very limited knowledge and am learning as I go.  Thanks for any help that you can give me.

    Select the Radio button that you want to be independent of the other radio buttons, RIGHT click and choose Wrap in New Radio Button Group.
    This way it can be selected along with other radio buttons..
    One question here. If you want each radio button to be independent of each other, why not change them to Check Boxes instead of Radio Buttons.
    Thanks
    Srini

  • ALV grid display issue from radio buttons

    Hello,
    I have a radio button group in a selection screen. On select of the first radio button, I display an ALV grid below the radio button group.
    On selecting the next one, I want the grid to disappear which isn't happening currently.
    Please help.
    Thanks and Regards,
    Abhijnan

    Please check if this is what you needed or something else
    DATA: obj TYPE REF TO cl_gui_alv_grid,
          repid TYPE sy-repid,
          entered TYPE c,
          lv_structure TYPE tabname,
          dock TYPE REF TO cl_gui_docking_container,
          i_mara TYPE TABLE OF mara,
          i_marc TYPE TABLE OF marc.
    FIELD-SYMBOLS:<fs_tab> TYPE table.
    PARAMETERS: p_matnr TYPE matnr.
    PARAMETERS: p_mara RADIOBUTTON GROUP a USER-COMMAND abc.
    PARAMETERS: p_marc RADIOBUTTON GROUP a.
    AT SELECTION-SCREEN OUTPUT.
      CHECK NOT p_matnr IS INITIAL.
      IMPORT entered from memory id 'E'.
      CHECK NOT entered IS INITIAL.
      CHECK dock IS INITIAL.
      repid = sy-repid.
      CREATE OBJECT dock
           EXPORTING
             repid = repid
             dynnr = sy-dynnr
             ratio = 80
             side  = cl_gui_docking_container=>dock_at_bottom
             name  = 'DOCK_CONT'.
      CHECK  obj IS INITIAL.
      CREATE OBJECT obj
      EXPORTING
      i_parent          =  dock.
      IF p_mara = 'X'.
        IMPORT i_mara FROM MEMORY ID 'IMARA'.
        FREE MEMORY ID 'IMARA'.
        lv_structure = 'MARA'.
        ASSIGN i_mara TO <fs_tab>.
      ELSE.
        IMPORT i_marc FROM MEMORY ID 'IMARC'.
        FREE MEMORY ID 'IMARC'.
        lv_structure = 'MARC'.
        ASSIGN i_marc TO <fs_tab>.
      ENDIF.
      CALL METHOD obj->set_table_for_first_display
      EXPORTING
      i_structure_name = lv_structure
      CHANGING
      it_outtab = <fs_tab>.
    START-OF-SELECTION.
      entered = 'X'.
      EXPORT entered TO memory ID 'E'.
      IF p_mara = 'X'.
        SELECT * FROM mara UP TO 100 ROWS INTO TABLE i_mara
                 WHERE matnr = p_matnr.
        EXPORT i_mara TO MEMORY ID 'IMARA'.
      ELSE.
        SELECT * FROM marc UP TO 100 ROWS INTO TABLE i_marc
               WHERE matnr = p_matnr.
        EXPORT i_marc TO MEMORY ID 'IMARC'.
      ENDIF.

Maybe you are looking for