Replacing SAP Object Selector with Radio Button in ALV table in WD ABAP

Hi All,
I have a view in Webdynpro ABAP which displays data in an ALV table view (using SALV_WD_TABLE component).
By default we have the SAP Object Selector for selecting a particular row of the table. This has to be replaced with radio buttons.
I mean instead of using the SAP Object Selector, I need radio buttons at the start of each row.
What I have thought of is to make the SAP Object Selector Invisible and create another attribute for the radio button in the node which contains ALV output data.
Can you please let me know how to remove the SAP Object Selector from ALV output table and also how to include a column with radio button in the ALV output table.
Thanks and Regards,
Sayan Ghosh

Hi Lekha,
I am working with HRASR00_PROCESS_EXECUTE WD component of MSS application. In order to generate the data, this in turn calls another component called DATAOBJECTPROVIDER. I need to make the table selection as none and replace the SAP Object Selector with the radio button.
Do you know under which method in DATAOBJECTPROVIDER do we need make the changes. I tried to search all the methods but couldnt understand a suitable one.
Thanks and Regards,
Sayan Ghosh

Similar Messages

  • How do I change the text in a field with radio buttons or check box?

    Hi All:
    I have a form that has a list of things with check boxes (could be done with radio buttons) at the bottom. The client wants a single field at the top of the form that repeats the text next to the checkboxes. For example if a user checks the box next to the words "You did thing 1 wrong" the client wants "You did thing 1 wrong" to appear in this text box at the top of the form. If the user checks the box next to the words "You did thing 2 wrong" the client wants the words "You did thing 2 wrong" to appear in the magic box at the top of the page. There are 10 different check box options, so the box at the top would need to be able to have 10 different things in it.
    Client is not interested in a drop down menu. I asked.
    I am in a bit over my head here, so my question is twofold.
    1. Can you do this in Acrobat Pro 10 on a Mac?
    2. Can you supply me with code?
    Thanks in Advance,
    Amy W.

    Create a text field and make this script its custom calculation script :
         var a ="";
         if (this.getField("Check1").value == "Yes"){
         a="You did thing 1 wrong";
         event.value = a;
    Also, replace "Check1" with the name of your check box or radio button, and give it an export value of "Yes".

  • How do I move a table with radio buttons to another page?

    I created a document in Word, converted to PDF, added a page (which was created in Adobe Forms Central, only way to get a table with radio buttons - see below for example).
    The issue I have is whilst using the Trial of Adobe XI Pro I was able to move this table up a page and place it under the header.  Now that the trial has run out I cannot complete this task with other documents.
    I started to edit using LiveCycle but it won't let me move the table.
    We have Acrobat X Pro but when I go to edit, it directs me to edit in LiveCycle.  I have tried moving the table using all of these programs.  Can anyone help/guide please? 

    Thank you for your reply.  I am new to editing a pdf and using these programs. I have subscribed to Acrobat XI Pro.  When I try to edit the document it directs me to LiveCycle.  I cannot move the table in LiveCycle.  It won't let me, and I cannot make changes in XI Pro as I did in the trial as it directs me to edit in LiveCycle.  Am going in circles.

  • Is there a way to replace slide to answer with a button?

    Is there a way to replace slide to answer with a button?  It is particularly difficult to answer calls using only 1 hand.

    HOW TO REPLACE SAFARI BOOKMARKS IN ICLOUD
    Turn off iCloud for Safari on all devices including the Mac that will be used to house the bookmarks you want to keep.  On your iDevices, if it asks to delete bookmarks, choose YES.
    On the Mac, clean up bookmarks using the Edit feature.  When finished, copy (do not move) the bookmarks file in the Safari folder in the library (Bookmarks.plist) to a safe location.  You will be copying the file back shortly. 
    Turn on iCloud for Safari on the Mac only.  Now manually delete all the bookmarks.  This will make iCloud “think” you want these changes to be stored in iCloud and because the other iDevices are have iCloud turned off, they won’t keep “feeding” iCloud with  your “old” bookmarks.  When you are done, there are now there are no more bookmarks stored in iCloud.
    You may want to also manually delete any bookmarks from the Favorites Bar also so that everything is cleaned out.
    Now turn off iCloud for Safari on the Mac.
    Copy your cleaned up Bookmarks.plist back into the library.
    Turn on iCloud for Safari on the Mac.
    Your cleaned up bookmarks will now load into iCloud.
    When everything looks good, turn iCloud for Safari back on in your iDevices.

  • How to define  parameters with radio button

    HI
      How to define  parameters with radio button, but that radio button should display in front of the variable name not after variable name. and under that radio button variable I hve to define parameters, select-options and some other radiobutton varibles.
            I don't know how to paste figures here, otherwise i will provied u the figure for more details.
    Regards.

    PARAMETERS : r1 RADIOBUTTON GROUP radi.
    Go to --> text elements --> selection text
    R1    <your text>
    You can change the program selection screen lay out in screen painter (se51) .
    screen number for your selection screen is 1000.
    Regards,
    Santosh reddy
    Edited by: Santosh Reddy on Dec 9, 2008 11:21 AM

  • Dynamic table with radio buttons

    I need to load a dynamic table with radio buttons that allow
    the user to select an item in the table. I need to have it add a
    radio button with a unique identifier for each table item.
    For example: the table will load all of the seminars
    locations available in a certain state, the radio button will allow
    the user to select the city in which they would like to attend and
    that value will get passed to the registration page. The value of
    each radio button would be equal to the location_id in the database
    for each of the locations in the table (The table includes the
    date, day, venue, address, hotel info, etc. details for each city.)
    When I add dynamic radio buttons and set the value to the
    location_id in the database, it allows the user to select multiple
    radio buttons. I cannot find any information on how to
    resolve.....??
    Any help is appreciated.

    beanieboo wrote:
    > I need to load a dynamic table with radio buttons that
    allow the user to select
    > an item in the table. I need to have it add a radio
    button with a unique
    > identifier for each table item.
    >
    > For example: the table will load all of the seminars
    locations available in a
    > certain state, the radio button will allow the user to
    select the city in which
    > they would like to attend and that value will get passed
    to the registration
    > page. The value of each radio button would be equal to
    the location_id in the
    > database for each of the locations in the table (The
    table includes the date,
    > day, venue, address, hotel info, etc. details for each
    city.)
    >
    > When I add dynamic radio buttons and set the value to
    the location_id in the
    > database, it allows the user to select multiple radio
    buttons. I cannot find
    > any information on how to resolve.....??
    > Any help is appreciated.
    Give each radio button the same name
    <input type="radio" name=theLocation" value="<?php
    $recordset['location_id'] ?>">
    Mick

  • Popup window with radio button-urgent

    Hi..
    Is ther any functionmodule for dispalying a popup window with radio button ....

    Use This
    K_KKB_POPUP_RADIO2
    I_TITLE   ...                      This is the title                       
    I_TEXT1   ...                      first radio button                      
    I_TEXT2    ...                     second radio button                     
    I_DEFAULT     ...                  default                     
    reward if useful
    Amit Singla

  • I want to build a form with radio buttons to limited clients ticking every option.

    I want to build a form with radio buttons to limited clients ticking every option. I have a range of products and in order to quote accurately I want to get specific information.

    If I get this , you want to show form options to specific clients not to all site viewers ?
    You would need to create a secure zone for this where permitted viewers can login and view the form with all options , in form itself we cannot setup this as few customers will view other options and others will view a different one.
    This can be done from your hosting end. Or if you are using Adobe server for hosting then you can create some profiles for customers and then setup a separate form altogether to achieve this.
    Thanks,
    Sanjit

  • How to render  radiogroup with radio buttons spread out across 2 columns

    Hi,
    I would like to render the following html using JSF (Renderer ??). How do I do that ?
    Basically it has a radiogroup with radio buttons spread out across 2 columns. and with an
    attached input text box along with
    the label for each radiobutton in the radio group.
    Any pointers or examples I can look at to do something like this is appreciated.
    <selectOneRadio does not achieve my functionality nor does MyApacheFaces with a layout="spread" option.
    TIA,
    Vijay
    Here is the html source for what i want to achieve:
    <TABLE border="0" cellpadding="0" cellspacing="1">
         <TBODY>
              <TR>
                   <TD></TD>
                   <TD><span id="searchForm:searchText1">Application Number</span></TD>
                   <TD></TD>
                   <TD><span id="searchForm:searchText2">Agreement Number</span></TD>
              </TR>
              <TR>
                   <TD><input type="radio" id="searchForm:customerSearchRadioGroupId" value="applicationNumber"/></TD>
                   <TD><input type="text" id="searchForm:applicationNumberId" value=""/></TD>
                   <TD ><input type="radio" id="searchForm:customerSearchRadioGroupId" value="agreementNumber"/></TD>
                   <TD><input type="text" id="searchForm:agreementNumberId" value=""/></TD>
              </TR>
              <TR>
                   <TD></TD>
                   <TD><span id="searchForm:searchText3">Infolease Cust.#</span></TD>
                   <TD></TD>
                   <TD><span id="searchForm:searchText4">eCredit Cust.#</span></TD>
              </TR>
              <TR>
                   <TD><input type="radio" id="searchForm:customerSearchRadioGroupId" value="infoLeaseCustNumber"/></TD>
                   <TD><input type="text" id="searchForm:infoLeaseCustNumberId" value=""/></TD>
                   <TD ><input type="radio" id="searchForm:customerSearchRadioGroupId" value="eCreditCustNumber"/></TD>
                   <TD><input type="text" id="searchForm:eCreditCustNumberId" value=""/></TD>
              </TR>
              <TR>
                   <TD></TD>
                   <TD><span id="searchForm:searchText7">Client Number</span></TD>
                   <TD></TD>
                   <TD><span id="searchForm:searchText8">Customer Name</span></TD>
              </TR>
              <TR>
                   <TD><input type="radio" id="searchForm:customerSearchRadioGroupId" value="clientNumber"/></TD>
                   <TD><input type="text" id="searchForm:clientNumberId" value=""/></TD>
                   <TD style="color:red"><span id="searchForm:searchText9">  AND  </span></TD>
                   <TD><input type="text" id="searchForm:custNameId" value=""/></TD>
              </TR>
         </TBODY>
    </TABLE>

    Yeah, I would love to know about this too.
    What I did is (you will hate this solution) I hacked my designers design to make the first column (the radio column) to be one big column. In side this column, I did
    <h:selectOneRadio id="customerSearchRadioGroupId" layout="pageDirection">
    <f:selectItem ..... />
    <f:selectItem .... />
    </h:selectOneRadio>
    this is wack, but I can't think of any other solution. in ASP.NET you get a groupName attribute, which make thigns a lot flexible.
    The problem with this solution is the layout of the output (a table of radio button) didn't line up with the next column of textbox, so I had to go to my designer and have her modify her css.
    If anybody have a solution for this, please let us know.

  • No default USER STATUS in order with radio buttons

    Hi friends,
    We want to have 4 user status in PM order with radio buttons so that
    user can choose only one at a time.But by default after creating order
    No user status should be defaulted.Only it should display when user
    selects one.
    I have tried in SPRO but for radio buttons it selects one as default
    automatically.
    Is there any alternative.
    With Regards
    AMehra

    Hi Pete,
    I know this is standard only.But client's requirement is like this.
    All the four status are like that we can choose only one
    like PASS FAIL.
    Now these two can not  be set together.
    thnx
    Edited by: aachal on Jan 31, 2011 9:29 AM
    Edited by: aachal on Jan 31, 2011 9:30 AM

  • How to raise pop up window along with radio buttons in module pool program

    how to raise pop up window along with radio buttons in module pool program

    FUNCTION zscheme_determination.
    *"*"Local Interface:
    *"  IMPORTING
    *"     REFERENCE(I_KUNNR) TYPE  KUNNR
    *"  EXPORTING
    *"     REFERENCE(E_VALUE) TYPE  NETWR_AK
    *"  TABLES
    *"      G_ITEM_DATA_ITAB STRUCTURE  ZITEM_DATA
    *  TYPES: BEGIN OF ty_sord,
    *         include type ZSD_SCHEME_DTL,
    *         END   OF ty_sord.
    *  data : gt_sord type standard table of ZSD_SCHEME_DTL,
    *         wa_sord type ZSD_SCHEME_DTL.
    *  select * from ZSD_SCHEME_DTL into table
    *  gt_sord
    *  where matnr = i_matnr.
    *  T_ITEM_DATA
    *********Data Declarations
       DATA:
             salesdocumentin LIKE bapivbeln-vbeln,
             orderheaderin LIKE bapisdhd1,
             orderheaderinx LIKE bapisdhd1x,
             sender LIKE bapi_sender,
             binaryrelationshiptype LIKE bapireltype-reltype,
             intnumberassignment LIKE bapiflag-bapiflag,
             behavewhenerror LIKE bapiflag-bapiflag,
             logicswitch LIKE bapisdls,
             testrun LIKE bapiflag-bapiflag,
             convert LIKE bapiflag-bapiflag,
             return LIKE bapiret2 OCCURS 0,
             orderitemsin LIKE bapisditm OCCURS 0,
             orderitemsinx LIKE bapisditmx OCCURS 0,
             orderpartners LIKE bapiparnr OCCURS 0,
             orderschedulesin LIKE bapischdl OCCURS 0,
             orderschedulesinx LIKE bapischdlx OCCURS 0,
             orderconditionsin LIKE bapicond OCCURS 0,
             orderconditionsinx LIKE bapicondx OCCURS 0,
             ordercfgsref LIKE bapicucfg OCCURS 0,
             ordercfgsinst LIKE bapicuins OCCURS 0,
             ordercfgspartof LIKE bapicuprt OCCURS 0,
             ordercfgsvalue LIKE bapicuval OCCURS 0,
             ordercfgsblob LIKE bapicublb OCCURS 0,
             ordercfgsvk LIKE bapicuvk OCCURS 0,
             ordercfgsrefinst LIKE bapicuref OCCURS 0,
             orderccard LIKE bapiccard OCCURS 0,
             ordertext LIKE bapisdtext OCCURS 0,
             orderkeys LIKE bapisdkey OCCURS 0,
             extensionin LIKE bapiparex OCCURS 0,
             partneraddresses LIKE bapiaddr1 OCCURS 0.
       DATA : wa_orderpartners LIKE bapiparnr,
              wa_orderitemsin LIKE bapisditm,
              wa_orderitemsinx LIKE bapisditmx,
              wa_orderschedulesin LIKE bapischdl,
              wa_orderschedulesinx LIKE bapischdlx,
              wa_orderconditionsin LIKE bapicond,
              wa_orderconditionsinx LIKE bapicondx,
              wa_return LIKE bapiret2,
              lv_value TYPE netwr_ak.
       DATA : lv_dtyp TYPE char45,
              lv_sorg TYPE vkorg,
              lv_sdch TYPE vtweg,
              lv_sdiv TYPE spart.
       TYPES : BEGIN OF ty_sord,
               zsdscheme TYPE comt_scheme_id,
               posnr TYPE posnr_va,
               matnr TYPE matnr,
               disc_type TYPE rebate_disc_type,
               calc_type TYPE catyp,
               qty_from TYPE kwmeng,
               qty_to TYPE kwmeng,
               spart TYPE spart,
               custcondgrp TYPE kdkg1,
               werks TYPE werks_d,
               matmn TYPE matnr,
               END   OF ty_sord.
       DATA : gt_sord   TYPE STANDARD TABLE OF ty_sord,
              gt_sordd  TYPE STANDARD TABLE OF ty_sord,
              wa_sord TYPE ty_sord,
              wa_knvv TYPE knvv,
              lv_cal_foc TYPE p DECIMALS 3,
              lv_cal_dis TYPE p DECIMALS 3,
              lv_new_qty TYPE kwmeng,
              lv_posmat TYPE posnr_va,
              lv_posfoc TYPE posnr_va.
       DATA:lv_diff TYPE kwmeng.
    ******Schemes Selection Logic
    * Get Valid Schemes
    * Validate Scheme for validity Period, Material, Customer Type and Plant
       TYPES : BEGIN OF ty_rtab,
               sign   TYPE c LENGTH 1,
               option TYPE c LENGTH 2,
               low    LIKE mara-matnr,
               high   LIKE mara-matnr,
             END OF ty_rtab.
    *  TYPES : ty_matnr TYPE RANGE OF ty_rtab.
       DATA : it_matnr TYPE TABLE OF ty_rtab,
              wa_matnr TYPE ty_rtab,
              wa_it    TYPE zitem_data,
             wa_tab TYPE zitem_data.
    *order table declaration
       TYPES:
             BEGIN OF ty_order,
               zsdscheme TYPE comt_scheme_id,
               matnr     TYPE matnr,
               kwmeng    TYPE kwmeng,
             END OF ty_order,
       BEGIN OF ty_scheme,
        zsdscheme TYPE comt_scheme_id,
    *                matnr     TYPE matnr,
        kwmeng    TYPE kwmeng,
      END OF ty_scheme.
       DATA:
             gt_order      TYPE TABLE OF ty_order,
             gt_scheme     TYPE TABLE OF ty_scheme,
              wa_scheme    TYPE ty_scheme,
              wa_order     TYPE  ty_order.
       DATA:i_kwmeng TYPE kwmeng.
    * Transfer all the material received from order to internal table
       LOOP AT g_item_data_itab INTO wa_it.
         MOVE : wa_it-matnr TO wa_matnr-low,
                'I'          TO wa_matnr-sign,
                'EQ'         TO wa_matnr-option.
         APPEND wa_matnr TO it_matnr.
         CLEAR wa_it.
       ENDLOOP.
    * Get the Valid Schemes based on given criteria
       SELECT
               zsd_scheme_dtl~zsdscheme
               zsd_scheme_dtl~posnr
               zsd_scheme_dtl~matnr
               zsd_scheme_dtl~disc_type
               zsd_scheme_dtl~calc_type
               zsd_scheme_dtl~qty_from
               zsd_scheme_dtl~qty_to
               zsd_scheme~spart
               zsd_scheme_hdr~custcondgrp
               zsd_scheme_hdr~werks
               zsd_scheme_hdr~matnr
       FROM zsd_scheme_hdr
       INNER JOIN zsd_scheme ON zsd_scheme~zsdscheme = zsd_scheme_hdr~zsdscheme
       INNER JOIN zsd_scheme_dtl ON zsd_scheme_dtl~zsdscheme = zsd_scheme_hdr~zsdscheme
       INTO TABLE  gt_sord
       WHERE  zsd_scheme_dtl~matnr IN it_matnr
    *    zsd_scheme_hdr~matnr IN it_matnr
    *    AND zsd_scheme_hdr~werks = '1509'
         AND zsd_scheme_hdr~werks = '1529'
         AND zsd_scheme_hdr~custcondgrp = '01'
         AND zsd_scheme~datuv LE sy-datum
         AND zsd_scheme~datub GE sy-datum.
       SORT gt_sord BY zsdscheme ASCENDING.
    *  LOOP AT gt_sord INTO wa_sord.
    *    READ TABLE g_item_data_itab INTO wa_it WITH  KEY matnr = wa_sord-matnr.
    *    wa_order-zsdscheme = wa_sord-zsdscheme.
    *    wa_order-matnr = wa_it-matnr.
    *    wa_order-kwmeng = wa_it-kwmeng.
    *    COLLECT wa_order INTO gt_order.
    *    CLEAR wa_order.
    *  ENDLOOP.
       LOOP AT g_item_data_itab INTO wa_it.
         READ TABLE gt_sord INTO wa_sord WITH  KEY matnr = wa_it-matnr.
         wa_order-zsdscheme = wa_sord-zsdscheme.
         wa_order-matnr = wa_it-matnr.
         wa_order-kwmeng = wa_it-kwmeng.
         COLLECT wa_order INTO gt_order.
         MOVE : wa_sord-zsdscheme  TO wa_scheme-zsdscheme,
                wa_it-kwmeng  TO wa_scheme-kwmeng.
         COLLECT wa_scheme INTO gt_scheme.
         CLEAR : wa_order, wa_scheme.
       ENDLOOP.
       CLEAR wa_scheme.
       DATA w_line TYPE sy-tabix.
    * Updating table based on Schemes
       LOOP AT gt_scheme INTO wa_scheme.
         CLEAR w_line.
         gt_sordd[] = gt_sord[].
    *    DELETE gt_sordd WHERE zsdscheme NE wa_scheme-zsdscheme and disc_type NE 'FOC'.
         DELETE gt_sordd WHERE zsdscheme NE wa_scheme-zsdscheme AND disc_type NE 'F'.
         DELETE ADJACENT DUPLICATES FROM gt_sordd COMPARING zsdscheme matnr.
         DESCRIBE TABLE gt_sordd LINES w_line.
         IF w_line GT 1.
    * popup message to select one foc type.
         ELSE.
           CLEAR wa_sord.
           READ TABLE gt_sordd INTO wa_sord INDEX 1.
           IF sy-subrc EQ 0.
             i_kwmeng = wa_scheme-kwmeng.
             lv_cal_foc = i_kwmeng DIV wa_sord-qty_from.
             lv_cal_dis = i_kwmeng MOD wa_sord-qty_from.
             MOVE : lv_cal_foc TO wa_it-kwmeng,
                    wa_sord-matnr TO wa_it-matnr.
             APPEND  wa_it TO g_item_data_itab.
             SORT gt_order BY kwmeng DESCENDING.
             LOOP AT gt_order INTO wa_order WHERE zsdscheme = wa_scheme-zsdscheme.
               IF lv_cal_dis GT 0.
    *        LOOP AT gt_order INTO wa_order WHERE zsdscheme = wa_scheme-zsdscheme
    *                                             AND lv_cal_dis GT 0.
    *                  LOOP AT gt_order INTO wa_order WHERE zsdscheme = wa_scheme-zsdscheme.
    *                LOOP AT g_item_data INTO wa_item_data WHERE matnr EQ wa_order-matnr.
                         LOOP AT g_item_data_itab INTO wa_tab WHERE matnr EQ wa_order-matnr.
                           wa_orderconditionsin-itm_number = wa_tab-posnr.
    *                  wa_orderconditionsin-itm_number = wa_item_data-posnr.
                           wa_orderconditionsin-cond_st_no = '001'.
    *                  IF gt_sordd-calc EQ ‘post AND disc_type EQ ‘percentage’.
                           IF wa_sord-calc_type EQ 'O' AND wa_sord-disc_type EQ 'P'.
                             wa_orderconditionsin-cond_type = 'ZTPB'.   "'ZREG'.
    *                  ELSEIF gt_sordd-calc EQ ‘pre’ AND disc_type EQ ‘percentage’
                           ELSEIF wa_sord-calc_type EQ 'E' AND wa_sord-disc_type EQ 'P'.
                             wa_orderconditionsin-cond_type = 'ZTPP'.   "'ZREG'.
                           ENDIF.
                           wa_orderconditionsin-currency = 'INR'.
                           wa_orderconditionsin-conpricdat = sy-datum.
                           APPEND wa_orderconditionsin TO orderconditionsin.
                           CLEAR wa_orderconditionsin.
    *Update Discount Conditon
                         ENDLOOP.
    *                  ENDLOOP.
    *Modify balance of Item
                 CLEAR wa_tab.
                 READ TABLE g_item_data_itab INTO wa_tab WITH KEY matnr = wa_order-matnr.
                 IF sy-subrc EQ 0.
                   lv_diff = wa_tab-kwmeng - lv_cal_dis.
                   IF lv_diff GT 0.
                     wa_tab-kwmeng  = wa_tab-kwmeng - lv_cal_dis.
    *            MODIFY g_item_data TRANSPORTING kwmeng  index sy-tabix.
                     MODIFY g_item_data_itab INDEX sy-tabix FROM wa_tab TRANSPORTING kwmeng  .
                   ELSE.
                     wa_tab-kwmeng  =  lv_cal_dis.
                     lv_cal_dis  = lv_diff.
                     MODIFY g_item_data_itab INDEX sy-tabix FROM wa_tab TRANSPORTING kwmeng .
    *            MODIFY G_ITEM_DATA_ITAB TRANSPORTING kwmeng index sy-tabix.
                   ENDIF.
                   gt_sordd[] = gt_sord[].
                   DELETE gt_sordd WHERE zsdscheme NE wa_scheme-zsdscheme AND disc_type EQ 'F'.
                   DESCRIBE TABLE gt_sordd LINES w_line.
                   IF w_line GT 1.
                     SORT gt_sordd BY zsdscheme DESCENDING.
    *              SORT gt_sordd BY quantity DESCENDING.
                     CLEAR wa_sord.
    *              LOOP AT gt_sordd WHERE quantity_from LT wa_shceme-kwmeng AND quantity_to GT wa_shceme-kwmeng.
                     LOOP AT gt_sordd INTO wa_sord  WHERE qty_from LT wa_scheme-kwmeng AND qty_to GT wa_scheme-kwmeng.
    *             LOOP AT gt_order INTO wa_order WHERE scheme = wa_scheme-scheme.
                       LOOP AT gt_order INTO wa_order WHERE zsdscheme = wa_scheme-zsdscheme.
    *                LOOP AT g_item_data INTO wa_item_data WHERE matnr EQ wa_order-matnr.
                         LOOP AT g_item_data_itab INTO wa_tab WHERE matnr EQ wa_order-matnr.
                           wa_orderconditionsin-itm_number = wa_tab-posnr.
    *                  wa_orderconditionsin-itm_number = wa_item_data-posnr.
                           wa_orderconditionsin-cond_st_no = '001'.
    *                  IF gt_sordd-calc EQ ‘post AND disc_type EQ ‘percentage’.
                           IF wa_sord-calc_type EQ 'O' AND wa_sord-disc_type EQ 'P'.
                             wa_orderconditionsin-cond_type = 'ZDPD'.   "'ZREG'.
    *                  ELSEIF gt_sordd-calc EQ ‘pre’ AND disc_type EQ ‘percentage’
                           ELSEIF wa_sord-calc_type EQ 'E' AND wa_sord-disc_type EQ 'P'.
                             wa_orderconditionsin-cond_type = 'ZDPD'.   "'ZREG'.
                           ENDIF.
                           wa_orderconditionsin-currency = 'INR'.
                           wa_orderconditionsin-conpricdat = sy-datum.
                           APPEND wa_orderconditionsin TO orderconditionsin.
                           CLEAR wa_orderconditionsin.
    *Update Discount Conditon
                         ENDLOOP.
                       ENDLOOP.
                     ENDLOOP.
                   ELSE.
                   ENDIF.
                 ENDIF.
               ENDIF.
             ENDLOOP.
           ENDIF.
         ENDIF.
       ENDLOOP.
    *  select
    *          ZSD_SCHEME_DTL~ZSDSCHEME
    *          ZSD_SCHEME_DTL~POSNR
    *          ZSD_SCHEME_DTL~matnr
    *          ZSD_SCHEME_DTL~DISC_TYPE
    *          ZSD_SCHEME_DTL~CALC_TYPE
    *          ZSD_SCHEME_DTL~QTY_FROM
    *          ZSD_SCHEME_DTL~QTY_TO
    *          ZSD_SCHEME~SPART
    *          ZSD_SCHEME_HDR~CUSTCONDGRP
    *          ZSD_SCHEME_HDR~WERKS
    *          ZSD_SCHEME_HDR~MATNR
    *  from ZSD_SCHEME_DTL
    *  inner join ZSD_SCHEME on ZSD_SCHEME~ZSDSCHEME = ZSD_SCHEME_DTL~ZSDSCHEME
    *  inner join ZSD_SCHEME_HDR on ZSD_SCHEME_HDR~ZSDSCHEME = ZSD_SCHEME_DTL~ZSDSCHEME
    *  into table
    *  gt_sord
    *  where ZSD_SCHEME_DTL~matnr = i_matnr and
    *        ZSD_SCHEME~DATUV LE sy-datum and
    *        ZSD_SCHEME~DATUB GE sy-datum.
    *  break-point.
    * Process Common Logic for Schemes Processcing
       CLEAR wa_sord.
    * Convert FOC Quantity and Materials
    *  LOOP AT gt_sord INTO wa_sord.
    **   lv_cal = i_kwmeng / wa_sord-QTY_FROM.
    *    lv_cal_foc = i_kwmeng DIV wa_sord-qty_from.
    *    lv_cal_dis = i_kwmeng MOD wa_sord-qty_from.
    *  ENDLOOP.
    *lv_new_qty = i_kwmeng - lv_cal_dis.
    * Get the Sales Document Type
       SELECT SINGLE low
    FROM tvarvc
    INTO  lv_dtyp WHERE
    name = 'SD_DOC_TYPE'.
       SELECT SINGLE * FROM knvv INTO wa_knvv WHERE kunnr = i_kunnr.
       IF sy-subrc = 0.
         lv_sorg = wa_knvv-vkorg.
         lv_sdch = wa_knvv-vtweg.
         lv_sdiv = wa_knvv-spart.
       ENDIF.
    * Give the Popup for schemes with multiple FOC
    * Schemes Specific Processing
    * Schemes Specific Processing
       orderheaderin-doc_type = lv_dtyp.
       orderheaderin-sales_org = lv_sorg.
       orderheaderin-distr_chan = lv_sdch.
       orderheaderin-division = lv_sdiv.
       wa_orderpartners-partn_role = 'AG'.
       wa_orderpartners-partn_numb = i_kunnr.
       APPEND wa_orderpartners TO orderpartners.
    *    wa_ORDERPARTNERS-PARTN_ROLE = 'WE'.
    *    wa_ORDERPARTNERS-PARTN_NUMB = p_ship.
    *    append wa_ORDERPARTNERS to ORDERPARTNERS.
    * Item number begin
       CLEAR : lv_posmat.
       lv_posmat = lv_posmat + 10.
       wa_orderitemsin-itm_number = lv_posmat.
       wa_orderitemsin-material = wa_sord-matmn.  "i_matnr.
       wa_orderitemsin-target_qty = lv_new_qty.
    *  wa_ORDERITEMSIN-TARGET_QU = i_VRKME.
       APPEND wa_orderitemsin TO orderitemsin.
       wa_orderitemsinx-itm_number = lv_posmat.
       wa_orderitemsinx-material = 'X'.
       wa_orderitemsinx-target_qty = 'X'.
       wa_orderitemsinx-target_qu = 'X'.
       APPEND wa_orderitemsinx TO orderitemsinx.
       wa_orderschedulesin-itm_number = lv_posmat.
       wa_orderschedulesin-sched_line = lv_posmat.
       wa_orderschedulesin-req_qty = lv_new_qty.
       APPEND wa_orderschedulesin TO orderschedulesin.
       wa_orderschedulesinx-itm_number = lv_posmat.
       wa_orderschedulesinx-sched_line = lv_posmat.
       wa_orderschedulesinx-req_qty  = 'X'.
       wa_orderschedulesinx-updateflag = 'X'.
       APPEND wa_orderschedulesinx TO orderschedulesinx.
       wa_orderconditionsin-itm_number = lv_posmat.
       wa_orderconditionsin-cond_st_no = '001'.
       wa_orderconditionsin-cond_type = 'ZDPD'.   "'ZREG'.
       wa_orderconditionsin-currency = 'INR'.
       wa_orderconditionsin-conpricdat = sy-datum.
       APPEND wa_orderconditionsin TO orderconditionsin.
       wa_orderconditionsinx-itm_number = lv_posmat.
       wa_orderconditionsinx-cond_st_no = '001'.
       wa_orderconditionsinx-cond_type = 'ZDPD'. "'ZREG'.
       wa_orderconditionsinx-updateflag = 'X'.
       wa_orderconditionsinx-cond_value ='X'.
       wa_orderconditionsinx-currency = 'X'.
       APPEND wa_orderconditionsinx TO orderconditionsinx.
    ****18/06Beg
    *  if not lv_cal_dis is initial.
    *    lv_posmat = lv_posmat + 10.
    *    wa_ORDERITEMSIN-ITM_NUMBER = lv_posmat.
    *    wa_ORDERITEMSIN-MATERIAL = WA_SORD-MATMN.  "i_matnr.
    *    wa_ORDERITEMSIN-TARGET_QTY = lv_cal_dis.
    **  wa_ORDERITEMSIN-TARGET_QU = i_VRKME.
    *    append wa_ORDERITEMSIN to ORDERITEMSIN.
    *    wa_ORDERITEMSINX-ITM_NUMBER = lv_posmat.
    *    wa_ORDERITEMSINX-MATERIAL = 'X'.
    *    wa_ORDERITEMSINX-TARGET_QTY = 'X'.
    *    wa_ORDERITEMSINX-TARGET_QU = 'X'.
    *    append wa_ORDERITEMSINX to ORDERITEMSINX.
    *    wa_ORDERSCHEDULESIN-ITM_NUMBER = lv_posmat.
    *    wa_ORDERSCHEDULESIN-SCHED_LINE = lv_posmat.
    *    wa_ORDERSCHEDULESIN-REQ_QTY = lv_cal_dis.
    *    append wa_ORDERSCHEDULESIN to ORDERSCHEDULESIN.
    *    wa_ORDERSCHEDULESINX-itm_number = lv_posmat.
    *    wa_ORDERSCHEDULESINX-sched_line = lv_posmat.
    *    wa_ORDERSCHEDULESINX-req_qty  = 'X'.
    *    wa_ORDERSCHEDULESINX-updateflag = 'X'.
    *    append wa_ORDERSCHEDULESINX to ORDERSCHEDULESINX.
    *  endif.
    *  lv_posmat = lv_posmat + 10.
    *  wa_ORDERITEMSIN-ITM_NUMBER = lv_posmat.
    *  wa_ORDERITEMSIN-MATERIAL = i_matnr.  "WA_SORD-MATMN.
    *  wa_ORDERITEMSIN-TARGET_QTY = LV_CAL_FOC.
    *  wa_ORDERITEMSIN-ITEM_CATEG = 'ZDGN'.
    **  wa_ORDERITEMSIN-TARGET_QU = i_VRKME.
    *  append wa_ORDERITEMSIN to ORDERITEMSIN.
    *  wa_ORDERITEMSINX-ITM_NUMBER = lv_posmat.
    *  wa_ORDERITEMSINX-MATERIAL = 'X'.
    *  wa_ORDERITEMSINX-TARGET_QTY = 'X'.
    *  wa_ORDERITEMSINX-TARGET_QU = 'X'.
    *  wa_ORDERITEMSINX-ITEM_CATEG = 'X'.
    *  append wa_ORDERITEMSINX to ORDERITEMSINX.
    *  wa_ORDERSCHEDULESIN-ITM_NUMBER = lv_posmat.
    *  wa_ORDERSCHEDULESIN-SCHED_LINE = lv_posmat.
    *  wa_ORDERSCHEDULESIN-REQ_QTY = LV_CAL_FOC.
    *  append wa_ORDERSCHEDULESIN to ORDERSCHEDULESIN.
    *  wa_ORDERSCHEDULESINX-itm_number = lv_posmat.
    *  wa_ORDERSCHEDULESINX-sched_line = lv_posmat.
    *  wa_ORDERSCHEDULESINX-req_qty  = 'X'.
    *  wa_ORDERSCHEDULESINX-updateflag = 'X'.
    *  append wa_ORDERSCHEDULESINX to ORDERSCHEDULESINX.
    ****18/06End
    * Item number end
    * Switch off dialog (BAPIs always run without)
       CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.
       CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
         EXPORTING
    *     SALESDOCUMENTIN               =
         order_header_in               = orderheaderin
    *     ORDER_HEADER_INX              =
    *     SENDER                        =
    *     BINARY_RELATIONSHIPTYPE       =
    *     INT_NUMBER_ASSIGNMENT         =
    *     BEHAVE_WHEN_ERROR             =
    *     LOGIC_SWITCH                  =
    *     TESTRUN                       =
    *     CONVERT                       = ' '
    *   IMPORTING
    *     SALESDOCUMENT                 =
       TABLES
         return                        = return
         order_items_in                = orderitemsin
         order_items_inx               = orderitemsinx
         order_partners                = orderpartners
         order_schedules_in            = orderschedulesin
         order_schedules_inx           = orderschedulesinx
         order_conditions_in           = orderconditionsin
         order_conditions_inx          = orderconditionsinx
    *     ORDER_CFGS_REF                =
    *     ORDER_CFGS_INST               =
    *     ORDER_CFGS_PART_OF            =
    *     ORDER_CFGS_VALUE              =
    *     ORDER_CFGS_BLOB               =
    *     ORDER_CFGS_VK                 =
    *     ORDER_CFGS_REFINST            =
    *     ORDER_CCARD                   =
    *     ORDER_TEXT                    =
    *     ORDER_KEYS                    =
    *     EXTENSIONIN                   =
    *     PARTNERADDRESSES              =
    *    commit work.
       CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    *     EXPORTING
    *       WAIT          =
    *     IMPORTING
    *       RETURN        =
       LOOP AT return INTO wa_return.
         WRITE:/ wa_return-message.
       ENDLOOP.
    ENDFUNCTION.
    *& Include ZSD_SO_CHANGES2_TOP                               Module Pool      ZSD_SO_CHANGES2
    PROGRAM  ZSD_SO_CHANGES2.
    ***&SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'ITEM_DATA'
    *&SPWIZARD: DEFINITION OF DDIC-TABLE
    TABLES:   VBAP,kna1.
    *&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'ITEM_DATA'
    TYPES: BEGIN OF T_ITEM_DATA,
              POSNR LIKE VBAP-POSNR,
              MATNR LIKE VBAP-MATNR,
              KWMENG LIKE VBAP-KWMENG,
              VRKME LIKE VBAP-VRKME,
            END OF T_ITEM_DATA.
    *&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'ITEM_DATA'
    DATA:     G_ITEM_DATA_ITAB   TYPE T_ITEM_DATA OCCURS 0,
               G_ITEM_DATA_WA     TYPE T_ITEM_DATA. "work area
    DATA:     G_ITEM_DATA_COPIED.           "copy flag
    *&SPWIZARD: DECLARATION OF TABLECONTROL 'ITEM_DATA' ITSELF
    CONTROLS: ITEM_DATA TYPE TABLEVIEW USING SCREEN 4000.
    DATA:GV_NUM TYPE I VALUE 1,
           GV_NUM2 TYPE I.
    DATA:     G_T_YREC_TAB_LINES  LIKE SY-LOOPC.***********top*************
    *& Include ZSD_SO_CHANGES2_TOP                               Module Pool      ZSD_SO_CHANGES2
    PROGRAM  ZSD_SO_CHANGES2.
    ***&SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'ITEM_DATA'
    *&SPWIZARD: DEFINITION OF DDIC-TABLE
    TABLES:   VBAP,kna1.
    *&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'ITEM_DATA'
    TYPES: BEGIN OF T_ITEM_DATA,
              POSNR LIKE VBAP-POSNR,
              MATNR LIKE VBAP-MATNR,
              KWMENG LIKE VBAP-KWMENG,
              VRKME LIKE VBAP-VRKME,
            END OF T_ITEM_DATA.
    *&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'ITEM_DATA'
    DATA:     G_ITEM_DATA_ITAB   TYPE T_ITEM_DATA OCCURS 0,
               G_ITEM_DATA_WA     TYPE T_ITEM_DATA. "work area
    DATA:     G_ITEM_DATA_COPIED.           "copy flag
    *&SPWIZARD: DECLARATION OF TABLECONTROL 'ITEM_DATA' ITSELF
    CONTROLS: ITEM_DATA TYPE TABLEVIEW USING SCREEN 4000.
    DATA:GV_NUM TYPE I VALUE 1,
           GV_NUM2 TYPE I.
    DATA:     G_T_YREC_TAB_LINES  LIKE SY-LOOPC.
    ************************pbo*******************
    *&  Include           ZSD_SO_CHANGES2_PBO
    *&SPWIZARD: OUTPUT MODULE FOR TC 'ITEM_DATA'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: COPY DDIC-TABLE TO ITAB
    MODULE ITEM_DATA_INIT OUTPUT.
       IF G_ITEM_DATA_COPIED IS INITIAL.
    *&SPWIZARD: COPY DDIC-TABLE 'VBAP'
    *&SPWIZARD: INTO INTERNAL TABLE 'g_ITEM_DATA_itab'
    *    SELECT * FROM VBAP
    *       INTO CORRESPONDING FIELDS
    *       OF TABLE G_ITEM_DATA_ITAB.
    *    G_ITEM_DATA_COPIED = 'X'.
         REFRESH CONTROL 'ITEM_DATA' FROM SCREEN '4000'.
       ENDIF.
       ITEM_DATA-LINES = G_T_YREC_TAB_LINES + 15.
    ENDMODULE.
    *&SPWIZARD: OUTPUT MODULE FOR TC 'ITEM_DATA'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: MOVE ITAB TO DYNPRO
    MODULE ITEM_DATA_MOVE OUTPUT.
       MOVE-CORRESPONDING G_ITEM_DATA_WA TO VBAP.
    ENDMODULE.
    *&      Module  STATUS_4000  OUTPUT
    *       text
    MODULE STATUS_4000 OUTPUT.
       SET PF-STATUS 'APAR'.
    *  REFRESH G_ITEM_DATA_ITAB.
        GV_NUM = 1.
    *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_4000  OUTPUT

  • Radio button in alv report

    Hi experts,
    I am using radio buttons in alv report by using screen painter but error occurs in alv that screen doesn't exist in module.
    plz help me.

    Hi Ankita,
    check this program.
    *& Report ZALVGRID_WITH_RADIOBUTTONS
    *& This program shows how to realize radiobuttons in ALV grid lists
    *& using event HOTSPOT_CLICK.
    *& Screen 100:
    *& - Flow logic
    *& PROCESS BEFORE OUTPUT.
    *& MODULE PBO.
    *& PROCESS AFTER INPUT.
    *& MODULE PAI.
    *& - Screen elements: none
    *& - ok-code field -> gd_okcode
    *& GUI Status MAIN100:
    *& - F3 = 'BACK', Shift+F3 = 'EXIT', F12 = 'CANC'
    PROGRAM zalvgrid_with_radiobuttons.
    TYPE-POOLS: abap, icon. " INCLUDE . for releases < 6.20
    TYPES: BEGIN OF ty_s_sflight.
    INCLUDE TYPE sflight.
    TYPES: button1 TYPE iconname.
    TYPES: button2 TYPE iconname.
    TYPES: button3 TYPE iconname.
    TYPES: button4 TYPE iconname.
    TYPES: END OF ty_s_sflight.
    DATA:
    gt_sflight TYPE STANDARD TABLE OF ty_s_sflight,
    gs_layout TYPE lvc_s_layo,
    gt_fcat TYPE lvc_t_fcat.
    DATA:
    gd_okcode TYPE ui_func,
    go_docking TYPE REF TO cl_gui_docking_container,
    go_grid TYPE REF TO cl_gui_alv_grid.
    CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
    PUBLIC SECTION.
    CLASS-METHODS:
    handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
    IMPORTING
    e_row_id
    e_column_id
    es_row_no
    sender.
    ENDCLASS. "lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
    METHOD handle_hotspot_click.
    define local data
    FIELD-SYMBOLS:
    IS ASSIGNED ).
    Set all radio buttons "unselected"
    IS ASSIGNED ).
    Set selected radio button "selected".
    = icon_wd_radio_button.
    ENDIF.
    Force PAI followed by refresh of table display in PBO
    CALL METHOD cl_gui_cfw=>set_new_ok_code
    EXPORTING
    new_code = 'REFRESH'
    IMPORTING
    RC =
    ENDMETHOD. "handle_hotspot_click
    ENDCLASS. "lcl_eventhandler IMPLEMENTATION
    MAIN *
    START-OF-SELECTION.
    PERFORM select_data.
    PERFORM init_controls.
    PERFORM build_fieldcatalog.
    PERFORM set_layout.
    CALL METHOD go_grid->set_table_for_first_display
    EXPORTING
    i_structure_name = 'SFLIGHT'
    is_layout = gs_layout
    CHANGING
    it_fieldcatalog = gt_fcat
    it_outtab = gt_sflight.
    Link docking container to dynpro
    CALL METHOD go_docking->link
    EXPORTING
    repid = syst-repid
    dynnr = '0100'
    CONTAINER =
    EXCEPTIONS
    cntl_error = 1
    cntl_system_error = 2
    lifetime_dynpro_dynpro_link = 3
    OTHERS = 4.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL SCREEN 100.
    END-OF-SELECTION.
    MODULE PBO OUTPUT *
    MODULE pbo OUTPUT.
    SET PF-STATUS 'MAIN100'.
    SET TITLEBAR 'MAIN100'.
    ENDMODULE. "PBO OUTPUT
    MODULE PAI INPUT *
    MODULE pai INPUT.
    Leave report
    CASE gd_okcode.
    WHEN 'BACK' OR
    'EXIT' OR
    'CANC'.
    SET SCREEN 0. LEAVE SCREEN.
    Refresh table display
    WHEN 'REFRESH'.
    PERFORM refresh_display.
    WHEN OTHERS.
    do nothing
    ENDCASE.
    CLEAR gd_okcode.
    ENDMODULE. "PAI INPUT
    *& Form BUILD_FIELDCATALOG
    text
    --> p1 text
    <-- p2 text
    FORM build_fieldcatalog .
    ALV List with Radio Buttons
    SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
    © 2007 SAP AG 7
    define local data
    DATA:
    ls_fcat TYPE lvc_s_fcat.
    CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
    I_BUFFER_ACTIVE =
    i_structure_name = 'ICON'
    I_CLIENT_NEVER_DISPLAY = 'X'
    I_BYPASSING_BUFFER =
    I_INTERNAL_TABNAME =
    CHANGING
    ct_fieldcat = gt_fcat
    EXCEPTIONS
    inconsistent_interface = 1
    program_error = 2
    OTHERS = 3.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    DELETE gt_fcat WHERE ( fieldname <> 'NAME' ).
    NOTE: field ICON-NAME has data element ICONNAME.
    CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
    I_BUFFER_ACTIVE =
    i_structure_name = 'SFLIGHT'
    I_CLIENT_NEVER_DISPLAY = 'X'
    I_BYPASSING_BUFFER =
    I_INTERNAL_TABNAME =
    CHANGING
    ct_fieldcat = gt_fcat
    EXCEPTIONS
    inconsistent_interface = 1
    program_error = 2
    OTHERS = 3.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    READ TABLE gt_fcat INTO ls_fcat
    WITH KEY fieldname = 'NAME'.
    IF ( syst-subrc = 0 ).
    DELETE gt_fcat INDEX syst-tabix.
    ENDIF.
    ls_fcat-fieldname = 'BUTTON4'.
    ls_fcat-coltext = ls_fcat-fieldname.
    ls_fcat-icon = 'X'.
    ls_fcat-hotspot = 'X'.
    INSERT ls_fcat INTO gt_fcat INDEX 5.
    ls_fcat-fieldname = 'BUTTON3'.
    ls_fcat-coltext = ls_fcat-fieldname.
    INSERT ls_fcat INTO gt_fcat INDEX 5.
    ls_fcat-fieldname = 'BUTTON2'.
    ls_fcat-coltext = ls_fcat-fieldname.
    INSERT ls_fcat INTO gt_fcat INDEX 5.
    ls_fcat-fieldname = 'BUTTON1'.
    ls_fcat-coltext = ls_fcat-fieldname.
    INSERT ls_fcat INTO gt_fcat INDEX 5.
    Renumbering of the columns
    LOOP AT gt_fcat INTO ls_fcat.
    ls_fcat-col_pos = syst-tabix.
    MODIFY gt_fcat FROM ls_fcat INDEX syst-tabix.
    ENDLOOP.
    ENDFORM. " BUILD_FIELDCATALOG
    *& Form SELECT_DATA
    text
    --> p1 text
    <-- p2 text
    FORM select_data .
    define local data
    DATA:
    ls_sflight TYPE ty_s_sflight.
    SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_sflight.
    ls_sflight-button1 = icon_wd_radio_button. " selected radiobutton
    ls_sflight-button2 = icon_wd_radio_button_empty.
    ls_sflight-button3 = icon_wd_radio_button_empty.
    ls_sflight-button4 = icon_wd_radio_button_empty.
    Alternatively: create icons using function module 'ICON_CREATE'
    on SAP releases where these icons are not available.
    MODIFY gt_sflight FROM ls_sflight
    TRANSPORTING button1 button2 button3 button4
    WHERE ( carrid IS NOT INITIAL ).
    ENDFORM. " SELECT_DATA
    *& Form INIT_CONTROLS
    text
    --> p1 text
    <-- p2 text
    FORM init_controls .
    CHECK ( go_docking IS NOT BOUND ).
    ALV List with Radio Buttons
    SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
    © 2007 SAP AG 9
    Create docking container
    CREATE OBJECT go_docking
    EXPORTING
    parent = cl_gui_container=>screen0
    REPID =
    DYNNR =
    SIDE = DOCK_AT_LEFT
    EXTENSION = 50
    STYLE =
    LIFETIME = lifetime_default
    CAPTION =
    METRIC = 0
    ratio = 90
    NO_AUTODEF_PROGID_DYNNR =
    NAME =
    EXCEPTIONS
    cntl_error = 1
    cntl_system_error = 2
    create_error = 3
    lifetime_error = 4
    lifetime_dynpro_dynpro_link = 5
    OTHERS = 6.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Size of container = full screen size
    CALL METHOD go_docking->set_extension
    EXPORTING
    extension = 99999
    EXCEPTIONS
    cntl_error = 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.
    Create ALV grid instance
    CREATE OBJECT go_grid
    EXPORTING
    I_SHELLSTYLE = 0
    I_LIFETIME =
    i_parent = go_docking
    I_APPL_EVENTS = space
    I_PARENTDBG =
    I_APPLOGPARENT =
    I_GRAPHICSPARENT =
    I_NAME =
    I_FCAT_COMPLETE = SPACE
    EXCEPTIONS
    error_cntl_create = 1
    error_cntl_init = 2
    error_cntl_link = 3
    error_dp_create = 4
    OTHERS = 5.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Set event handler for event HOTSPOT_CLICK
    SET HANDLER:
    lcl_eventhandler=>handle_hotspot_click FOR go_grid.
    ENDFORM. " INIT_CONTROLS
    *& Form REFRESH_DISPLAY
    Refresh table display after switching the radiobuttons
    --> p1 text
    <-- p2 text
    FORM refresh_display .
    define local data
    DATA:
    ls_stable TYPE lvc_s_stbl.
    ls_stable-row = abap_true.
    ls_stable-col = abap_true.
    CALL METHOD go_grid->refresh_table_display
    EXPORTING
    is_stable = ls_stable
    I_SOFT_REFRESH =
    EXCEPTIONS
    finished = 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. " REFRESH_DISPLAY
    *& Form SET_LAYOUT
    Set layout for ALV list
    --> p1 text
    <-- p2 text
    FORM set_layout .
    CLEAR: gs_layout.
    gs_layout-cwidth_opt = abap_true. " optimize column width
    gs_layout-zebra = abap_true.
    ENDFORM. " SET_LAYOUT
    Regards,
    Prasanth
    Reward if helpful

  • How to create a radio button in ALV Reports

    Hi all,
    Best wishes to all..
    Kindly reply me to this question... that is "How to create a radio button in ALV Report"
    Thanks and Regards
    Anjali

    HI
    here is an example :
    PROGRAM ZUS_SDN_BCALV_GRID_DEMO_2.
    Based on: BCALV_GRID_DEMO.
    TYPE-POOLS: icon.
    TYPES: BEGIN OF ty_s_sflight.
    INCLUDE TYPE sflight.
    TYPES: button1    TYPE lvc_emphsz.
    TYPES: button2    TYPE lvc_emphsz.
    TYPES: button3    TYPE lvc_emphsz.
    TYPES: button4    TYPE lvc_emphsz.
    TYPES: END OF ty_s_sflight.
    DATA:
      gt_sflight    TYPE STANDARD TABLE OF ty_s_sflight,
      gt_fcat       TYPE lvc_t_fcat.
    DATA: ok_code LIKE sy-ucomm,
         gt_sflight TYPE TABLE OF sflight,
          g_container TYPE scrfname VALUE 'BCALV_GRID_DEMO_0100_CONT1',
          grid1  TYPE REF TO cl_gui_alv_grid,
          g_custom_container TYPE REF TO cl_gui_custom_container.
          CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
      PUBLIC SECTION.
        CLASS-DATA:
          md_cnt    TYPE i.
        CLASS-METHODS:
          handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
            IMPORTING
              e_row_id
              e_column_id
              es_row_no
              sender.
    ENDCLASS.                    "lcl_eventhandler DEFINITION
          CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
      METHOD handle_hotspot_click.
    define local data
        FIELD-SYMBOLS:
          <ls_entry>    TYPE ty_s_sflight,
          <ld_fld>      TYPE ANY.
        READ TABLE gt_sflight ASSIGNING <ls_entry> INDEX es_row_no-row_id.
        CHECK ( <ls_entry> IS ASSIGNED ).
      Set all radio buttons "unselected"
        <ls_entry>-button1 =  icon_wd_radio_button_empty.
        <ls_entry>-button2 =  icon_wd_radio_button_empty.
        <ls_entry>-button3 =  icon_wd_radio_button_empty.
        <ls_entry>-button4 =  icon_wd_radio_button_empty.
        ASSIGN COMPONENT e_column_id-fieldname OF STRUCTURE <ls_entry>
                                                  TO <ld_fld>.
        IF ( <ld_fld> IS ASSIGNED ).
        Set selected radio button "selected".
          <ld_fld> = icon_wd_radio_button.
        ENDIF.
      Force PAI followed by refresh of table display in PBO
        CALL METHOD cl_gui_cfw=>set_new_ok_code
          EXPORTING
            new_code = 'DUMMY'
         IMPORTING
           RC       =
      ENDMETHOD.                    "handle_hotspot_click
    ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION
    START-OF-SELECTION.
          MAIN                                                          *
      PERFORM select_data.
      CALL SCREEN 100.
          MODULE PBO OUTPUT                                             *
    MODULE pbo OUTPUT.
      SET PF-STATUS 'MAIN100'.
      IF g_custom_container IS INITIAL.
        CREATE OBJECT g_custom_container
               EXPORTING container_name = g_container.
        CREATE OBJECT grid1
               EXPORTING i_parent = g_custom_container.
        PERFORM build_fieldcatalog.
        CALL METHOD grid1->set_table_for_first_display
         EXPORTING
           i_structure_name = 'SFLIGHT'
          CHANGING
            it_fieldcatalog  = gt_fcat
            it_outtab        = gt_sflight.
      Set event handler for event TOOLBAR
        SET HANDLER:
          lcl_eventhandler=>handle_hotspot_click FOR grid1.
      else.
        CALL METHOD grid1->refresh_table_display
         EXPORTING
           IS_STABLE      =
           I_SOFT_REFRESH =
          EXCEPTIONS
            FINISHED       = 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.
      ENDIF.
    ENDMODULE.                    "PBO OUTPUT
          MODULE PAI INPUT                                              *
    MODULE pai INPUT.
      to react on oi_custom_events:
      CALL METHOD cl_gui_cfw=>dispatch.
      CASE ok_code.
        WHEN 'EXIT'.
          PERFORM exit_program.
        WHEN OTHERS.
        do nothing
      ENDCASE.
      CLEAR ok_code.
    ENDMODULE.                    "PAI INPUT
          FORM EXIT_PROGRAM                                             *
    FORM exit_program.
    CALL METHOD G_CUSTOM_CONTAINER->FREE.
    CALL METHOD CL_GUI_CFW=>FLUSH.
      LEAVE PROGRAM.
    ENDFORM.                    "EXIT_PROGRAM
    *&      Form  BUILD_FIELDCATALOG
          text
    -->  p1        text
    <--  p2        text
    FORM build_fieldcatalog .
    define local data
      DATA:
        ls_fcat        TYPE lvc_s_fcat,
        ls_hype        TYPE lvc_s_hype.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
        I_BUFFER_ACTIVE              =
          i_structure_name             = 'LVC_S_FCAT'
        I_CLIENT_NEVER_DISPLAY       = 'X'
        I_BYPASSING_BUFFER           =
        I_INTERNAL_TABNAME           =
        CHANGING
          ct_fieldcat                  = gt_fcat
        EXCEPTIONS
          inconsistent_interface       = 1
          program_error                = 2
          OTHERS                       = 3.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      DELETE gt_fcat WHERE ( fieldname <> 'EMPHASIZE' ).
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
        I_BUFFER_ACTIVE              =
          i_structure_name             = 'SFLIGHT'
        I_CLIENT_NEVER_DISPLAY       = 'X'
        I_BYPASSING_BUFFER           =
        I_INTERNAL_TABNAME           =
        CHANGING
          ct_fieldcat                  = gt_fcat
        EXCEPTIONS
          inconsistent_interface       = 1
          program_error                = 2
          OTHERS                       = 3.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE gt_fcat INTO ls_fcat
           WITH KEY fieldname = 'EMPHASIZE'.
      IF ( syst-subrc = 0 ).
        DELETE gt_fcat INDEX syst-tabix.
      ENDIF.
      ls_fcat-fieldname = 'BUTTON4'.
      ls_fcat-icon    = 'X'.
      ls_fcat-hotspot = 'X'.
      INSERT ls_fcat INTO gt_fcat INDEX 4.
      ls_fcat-fieldname = 'BUTTON3'.
      INSERT ls_fcat INTO gt_fcat INDEX 4.
      ls_fcat-fieldname = 'BUTTON2'.
      INSERT ls_fcat INTO gt_fcat INDEX 4.
      ls_fcat-fieldname = 'BUTTON1'.
      INSERT ls_fcat INTO gt_fcat INDEX 4.
      LOOP AT gt_fcat INTO ls_fcat.
        ls_fcat-col_pos = syst-tabix.
        MODIFY gt_fcat FROM ls_fcat INDEX syst-tabix.
      ENDLOOP.
    ENDFORM.                    " BUILD_FIELDCATALOG
    *&      Form  SELECT_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM select_data .
    define local data
      DATA:
        ls_sflight    TYPE ty_s_sflight.
      SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_sflight.
      ls_sflight-button1 = icon_wd_radio_button.
      ls_sflight-button2 = icon_wd_radio_button_empty.
      ls_sflight-button3 = icon_wd_radio_button_empty.
      ls_sflight-button4 = icon_wd_radio_button_empty.
      MODIFY gt_sflight FROM ls_sflight
          TRANSPORTING button1 button2 button3 button4
        WHERE ( carrid IS NOT INITIAL ).
    ENDFORM.                    " SELECT_DATA
    Regards,
    Prasanth
    Reward all helpful answers

  • Radio button in ALV popup

    Hi,
    I am using the function module , ''REUSE_ALV_POPUP_TO_SELECT'' to get the pop-up in the ALV output.
    *-- To get the Popup in the ALV.
      CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
        EXPORTING
          i_title              = text-f04
          i_zebra              = 'X'
          i_checkbox_fieldname = 'CHECK_BOX'
          i_tabname            = 'GT_DOWLD_TYPE'
          it_fieldcat          = lt_fcat_popup
        TABLES
          t_outtab             = gt_dowld_type
        EXCEPTIONS
          program_error        = 1
          OTHERS               = 2.
    *-- Check for Sy-subrc.
      IF sy-subrc <> 0.
    *-- If Sy-subrc not equals to 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    This is giving the Popup with check box, But i need to have a popup with Radio button.
    So is it possible to create a Pop-up with Radio button? If so how can i do that? (Can i pass through Fieldcat?)
    Please help me on this.
    Thanks,
    Satheesh.

    Search in SDN you will get many examples on this. Refer below link
    http://wiki.sdn.sap.com/wiki/display/Snippets/ABAP-RadioButtonsinALVGRIDREPORT

  • Radio Button in a table

    Hi ,
    My requirement is to have a radio button in a table .
    scenerio : i have 3 coloumns in a table as shown below
    From Date      To Date            Select
    Select coloumn is a radio button . i made that coloumn to a radio button in table not in SALV .
    Now , data will be fetched from the DB for first two coloumns and where the difference of FROMDATE AND TODATE will be greater or equal to 5 only those rows should have a active radio button which can be clicked .
    Other rows should have disabled radio button.
    Moreover , User can select only one radio button at a time .
    if it can be possible with SALV , suggest me that option as well.
    Thanks.

    Hello,
    find the steps to achieve your requirement with normal table UI element. I'm not sure whether the same will work for alv. I expect it to work
    1. Create one boolean attribute in the Table Context node to indicate whether the radio button should be enabled or not (Attribute name : say RB_ENABLED). Populate the value of this attribute based on your From_Date DIF TO_DATE >= 5.
    2. Create a string attribute in the table context node to indicate the value for the radio button (Attribute Name: say RB_VALUE)
    Populate the Value of this attribute like for first record say FIRST and second record say SECOND. Or if you have unique Id for each row then you populate the same here.
    This attribute is required to identiy which radio button is selected by the user
    3. Create a context node (say RB_SELECTED) of cardinality 1..1 and an attribute of type string (say RB_SELECTED)
    4. In the table ui element, create a Radio button column and bind the following
    enabled property to RB_ENABLED attribute
    KeyToSElect to RB_VALUE attribute
    SElectedKEy to RB_SELECTED.
    So at runtime whenever the user selects a radio button, the correpsonding value will be set in the RB_SELECTED attribute. example if the user selects the radio button in the first row, the value 'FIRST' will be populated in the RB_SELECTED attribute.
    BR, Saravanan

Maybe you are looking for