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
AMehraHi 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 -
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
AnjaliHI
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 -
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 -
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
-
CLIENT of the source system in the Transfer Rules
Hi, Can I get the CLIENT of the source system dynamically in the Transfer Rules (and assign it to an InfoObject)? I have a generic extractor from a R/3 source system. The table in the source system & the extract structure the DataSource both contain
-
i am using latest version of mozilla suddenly on mozilla searching page side scroll bar is not appearing due to which i have to face prob in scrolling the page which i see i am not understanding what has happened.plz solve this problem as soon as pos
-
Email flex list contents using php
I have dragged 5 items from a datagrid to a drop-enabled list component. Now I want the user to be able to email himself the list. I am using PHP and have an HTTP service request and PHP mailer code but I do not know how to get the data that is in th
-
How to buy license for iWorks '09 (with upgrade version 9.3)
I have installed iWorks '09 trial with 9.3 upgrade on my wife's MacBook 10.7.5. I would like to purchase the license, but the links to do that don't seem to work. Is the purchase still possible? How do I do it? Thanks.
-
Getting pop-up dialogue boxes in MacMail...
Hello; Just want to report this bug in 10.7... When I open a composition window in MacMail, and I hover the cursor on the window the curor changes to the 'finger pointer' and I get pop-up dialog boxes from my Fidelity Widget displaying on the applica