Programming radio buttons
Right now I'm able to choose between "Maintain" and "Correct" and between "Left" and "Right", but what I would like to do is that only if I choose the "Correct" option, I will have the option to choose between "Left and "Right" (although "Left" and "Right" don't have to be invisble). I have no experience in programming JS, so I would be really happy if you could help me using a simple method.
Another unrelated question: As you can see I have an underline textbox where I should input the mm. The underline is very low because only this way the typed text would be aligned to the "left" and "mm". Is there a way to raise the underline without raising the place for the typed text?
Thank you in advance
Hi,
Have a look at this example which shows how to use the presence property to show and hide objects: http://assure.ly/h7whb8.
There are also some examples here:
https://acrobat.com/#d=ALebgueDXjewHjGyYRdrmw
https://acrobat.com/#d=FXLq025O2C0aDMh9YqpH1g
Basically you would place the following script in the click event of the radio button exclusion group:
if (this.rawValue == "Correct") {
direction.presence = "visible";
else {
direction.presence = "invisible";
This is on the basis of the Left and Right radio buttons being inside a radio button exclusion group called "direction". Also if you have specified a value in the Object > Binding palette for the radio buttons, the script would need to test this value.
You can adjust the textfield margins in the Layout palette, so that the underline is raised up. Trial and error.
Niall
Similar Messages
-
Module Pool Programming - Radio Buttons & Screen Field Invisible or Display
Hi,
I have 2 radio buttons in my screen and both of them are checked or on. Not sure how to make one of them is on and other is off at a time. If A is off, i need to make few screen fields invisible or display. if A is on, i need to make the screen field invisible or input enabled.
Can you please suggest me a suitable way to accomplish this task.
Appreciate Your Help in Advance.
Thanks,
Kannanhi
try this
go to SE38 create a program of type M
go to SE51,give a screen no (ex : 0800) and click on create
then click on Layout in se51
in the Layout select the Radiobutton icon and drag/drop it on the layout
Define them as by double clicking on the radiobutton icon
First Radiobutton name : RB1, Groups : u can see 4 boxes,in the first box give group as G1
do the same for the Second Radiobutton RB2.
Now select both the radiobuttons RB1,RB2 both at a time and right click the cursor
Radiobutton - Define.
Then drag and drop a i/o field name : wk_name. save & activate the layout.
in se51
PBO
Module_status_0800.
Module_screen_modif.
PAI
Module_user_command_0800.
in se38
data : wk_name(10) type c.
data : rb1,rb2.
Module_screen_modif_o/p.
if RB1 = 'X'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'WK_NAME'.
SCREEN-INPUT = '1'.
SCREEN-INVISIBLE = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
if RB2 = 'X'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'WK_NAME'.
SCREEN-INPUT = '0'.
SCREEN-INVISIBLE = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endmodule.
Module_user_command_0800.
case sy-ucomm.
when 'EXIT' or 'BACK' or 'CANCEL'.
LEAVE PROGRAM.
endcase.
Endmodule.
Regards -
Using CheckBox / Radio-Button Control in Dialog Program
Dear Friends,
Please let me know the way to use check-box / radio-button control in dialog programs. Where & how to define them & write the logic.
If possible provide a small example.
Regards,
Alok.Hi,
goto tcode abapdocu.. abap user dialogs - screens-processing screens you will get examples for all --pushbutt6ons radiobutton checkboxes everything
<b>here is a sample code for you</b>
PROGRAM demo_dynpro_check_radio .
DATA: radio1(1) TYPE c, radio2(1) TYPE c, radio3(1) TYPE c,
field1(10) TYPE c, field2(10) TYPE c, field3(10) TYPE c,
box TYPE c.
DATA: ok_code TYPE sy-ucomm,
save_ok TYPE sy-ucomm.
CALL SCREEN 100.
MODULE user_command_0100 INPUT.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'RADIO'.
IF radio1 = 'X'.
field1 = 'Selected!'.
CLEAR: field2, field3.
ELSEIF radio2 = 'X'.
field2 = 'Selected!'.
CLEAR: field1, field3.
ELSEIF radio3 = 'X'.
field3 = 'Selected!'.
CLEAR: field1, field2.
ENDIF.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
<b>flow logic:</b>
PROCESS BEFORE OUTPUT.
PROCESS AFTER INPUT.
MODULE user_command_0100.
regards,
pankaj singh.
<i><b>
reward if helpful</b></i> -
Radio buttons in report programing
Hello Experts,
I have few requirement in my program
In radio button group by default the first radio button is selected , i want none of the radio buttons should be selected.
Please tell me any solution for that code snippet would be appreciated.
Thanks in advance.Hi,
For ur requirement I jus tried bthis below code n it works fine.
PARAMETERS: radbut1 RADIOBUTTON GROUP rad1 DEFAULT 'X',
radbut2 RADIOBUTTON GROUP rad1,
radbut3 RADIOBUTTON GROUP rad1,
radbut4 RADIOBUTTON GROUP rad1.
AT SELECTION-SCREEN OUTPUT.
IF radbut1 = 'X'.
LOOP AT SCREEN.
IF screen-name = 'RADBUT2'.
CLEAR radbut2.
screen-input = 0.
MODIFY SCREEN.
ELSEIF screen-name = 'RADBUT3'.
CLEAR radbut3.
screen-input = 0.
MODIFY SCREEN.
ELSEIF screen-name = 'RADBUT4'.
CLEAR radbut4.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Do execute this code n if u still ve doubts, u can always revert back.
Hope this helps u...
Regards,
Ramya -
I made eight radio buttons exclusive by each other. But It made the
original program slow down. I insert them parallel to the original
program, ie, they are excuted at the same time, I think. But I found
that the speed before I insert it is faster than after. I think If I
use the exclusive radio buttons made by ni , the program will execute
faster. but there aren't eight radio buttons I can choose. How can I
do ? Or How can I make some changes to the slide that I will get the
result like NI does?You'll have to give the processor some time. In the parallel loop, put a
'Wait (ms)' from the Time & Diaglog pallete. Wire e.g. 10 to it, and the
computer has some time to do other processes (like the other loop, and
updating the user interface).
When you have something like this, you can open the task manager (win nt,
win 2000). If it it this problem, the processor uses 100% processor time.
Regards,
Wiebe.
"Rosa" wrote in message
news:[email protected]..
> I made eight radio buttons exclusive by each other. But It made the
> original program slow down. I insert them parallel to the original
> program, ie, they are excuted at the same time, I think. But I found
> that the speed before I insert it is fa
ster than after. I think If I
> use the exclusive radio buttons made by ni , the program will execute
> faster. but there aren't eight radio buttons I can choose. How can I
> do ? Or How can I make some changes to the slide that I will get the
> result like NI does? -
How to handle two radio buttons in modulepool program
hi,
i am creating 2 radio buttons on the initial screen of a modulepool program, here i am unable ot handle those 2 radio buttons.
when executing by default these two radio buttons are selected.
pls send me the sample code that how to handle.Prasad,
In the Screen Painter, highlight both radio buttons at the same time (using CNTL key).
From menu bar, choose: Edit > Grouping > Radio Button Group > Define.
Now they are "linked" to each other.
Don;t forget those points. -
Screen programing need to cal 2 different programs by clicking radio button
Hi experts,
I Need to create two radio buttons in the existing program when 1st radio button is clicked program ZSalsDoc needs to be executed and when 2nd button is clicked program ZShipped needs to be executed,
these two programs internally consist of selection screens and radio buttons.
pls if any one help by sending sample code.
Thanks in advancehi raj,
i m trying to implement your requirement.
see what u have to do is you have to make one more radiobutton which is selected as default and you can give a message on that button like select one radio button.
here is the code which i have done according to your requirement.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
PARAMETERS : p_select TYPE c RADIOBUTTON GROUP r1 USER-COMMAND xyz DEFAULT 'X', "Select a radio button
p_fgnd TYPE c RADIOBUTTON GROUP r1 modif id id1,
p_bgnd TYPE c RADIOBUTTON GROUP r1 .
SELECTION-SCREEN END OF BLOCK b1.
now you have to loop on screen
AT selection-screen output.
if p_fgnd = c_x.
loop at screen.
if screen-group1 EQ 'ID1'.
submit zls_open_delivery AND RETURN.
modify screen.
endif.
endloop.
elseif p_bgnd = c_x.
if screen-group1 NE 'ID1'.
loop at screen.
submit zls_open_delivery1 AND RETURN.
modify screen.
endif.
endloop.
endif.
i hope this code will definetely solve your query
because i have tried it and it is working.
Thanks,
Tanmaya
Edited by: Tanmaya Gupta on Feb 24, 2010 2:54 PM -
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 -
Want excute the program accourding to the radio buttons
hello,
i am writing an extraction program. here i want to get the out put file in diffrent formats based on the selection on myselection screen.
if
I seclect the radio button "EXCEL" the output should be excel file.
else
if
I select the radio button "DAT" the output should be DAT file.
Thanks,
vineetha.Hi Vineetha,
Check this program..
PARAMETERS:p_vbeln LIKE vbrp-vbeln.
Parameters:EXCEL radiobutton group GP1.
Parameters:TEXT radiobutton group GP1.
DATA:BEGIN OF it_vbrp OCCURS 0,
vbeln LIKE vbrp-vbeln,
posnr LIKE vbrp-posnr,
meins LIKE vbrp-meins,
ntgew LIKE vbrp-ntgew,
END OF it_vbrp.
START-OF-SELECTION.
SELECT vbeln
posnr
meins
ntgew FROM vbrp INTO TABLE it_vbrp where vbeln eq p_vbeln.
if EXCEL = 'X'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME ='C:\Documents and Settings\Vishnu.Chintala\reddy.xls'
TABLES
DATA_TAB = IT_VBRP
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
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.
If TEXT = 'X'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME ='C:\Documents and Settings\Vishnu.Chintala\reddy2.TXT'
TABLES
DATA_TAB = IT_VBRP
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
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. -
Radio Buttons + Required Input/Output Fields in Dialog Programming
Hi All,
Please find the below issue.
I have 2 Radio buttons
RB1 and RB2 defined in group RG.
And by default RB1 is selected.
I also have 3 Input.Output Fields.
F1 , F2 & F3.
Now before displaying the Screen for the end user,
I need to display as follows:
A)
RB1 = X -
> Selected.
RB2 = Space -
>Not Selected.
F1 -
> Visible.
F2 & F3 -
>Invisible.
B)
RB1 = space -
> Not Selected.
RB2 = X -
>Selected.
F1 -
>Invisible.
F2 -
>Visible.
F3 -
>Visible.
When i am debugging, the value of RB1 is not X though it is selected on the screen (by default due to Radio Button Group) & hence the below code is not working.
*_PBO:_*
LOOP AT SCREEN.
IF RB1 = 'X' AND ( SCREEN-NAME = 'TXT2' OR SCREEN-NAME = 'TXT3' ).
SCREEN-INVISIBLE = 1.
ELSEIF RB1 = 'X' AND ( SCREEN-NAME = 'F2' OR SCREEN-NAME = 'F3 ).
SCREEN-ACTIVE = 0.
ENDIF.
Modify Screen.
ENDLOOP.
But when i select RB2 = X on the screen.
Value is getting populated .
Waiting for your hints/ideas/suggestions
Thanks
Sri.Alright, you defined the radio buttons and grouped them. Did you also assign Fcode to the radio button group? if not already assigned the assign something to FctCode to the radio button. If you can double click on one and assign a name, this will automatically assign to other one. If you already did that... just ignore it.
Next, by defualt, RB1 will not be having 'X' though it shows selected but you can always make it by just writing the following statement in PBO (If you dont want to mislead anybody)
if RB1 = space and RB2 = space.
RB1 = 'X'.
endif.
If you have already done that the next step would be.... Assign a screen group value to the fields F1, F2 and F3.
for example, double click on the field F1, add GR1 in groups in first box and do the same for field text/label if any. Same way, assign GR2 to F2 and F3.
Then add the following code in PBO. (Someone or you can write it better. This is just an example)
LOOP AT SCREEN.
if RB1 = 'X'.
if screen-group1 = 'GR2'.
screen-input = 0.
screen-invisible = 1.
endif.
endif.
if RB2 = 'X'.
if screen-group1 = 'GR1'.
screen-input = 0.
screen-invisible = 1.
endif.
endif.
MODIFY SCREEN.
ENDLOOP.
Good luck... It is working code., -
Dialog Programming: Problem with Radio Buttons in a dialog screen.
Removed - Duplicate posting.
Edited by: miniSAP on May 14, 2009 9:05 AMHi,
go to se51 screen layou and select the four radio button and right click there is a option called assigned group name..
enter the group name..
from now onwards it allows you to select only one radio button at a time..
Regards,
Prabhudas -
To Change the Program Title when i click second radio button
Hi All,
I have two radio buttons in my report.
1) party wise report ( if R1 = X this will display report )
2) sales wise report ( if R2 = X this will display report )
i declared in report attributes as party wise report .
When i clik sales wise report.
it is coming party wise report,
i want it to be as sales wise report.
Please let me know how to do it.
Thanks in advance
RameshHi,
Hope below code can give you some idea.
parameters: r1 radiobutton group rad1 default 'X',
r2 radiobutton group rad1.
start-of-selection.
if not r1 is initial.
sy-title = 'Party'.
Write:/ 'First'.
else.
sy-title = 'Sales'.
write:/ 'Second'.
endif.
Kind Regards
Eswar -
Radio button in module pool programming
Hello,
Am placing 4 radio button when designing in module pool but at
run time all radio button are getting marked i want only first radio button to be marked and remaining to be with visible but not highlighted plz let me know wht to do in PBO event.Hi,
Goto to screenpainter of that screen .
Drag and select all the Radio Buttons .
Goto Edit>Grouping>Radiobutongroup-->Define.
Now see the Output.
Regards,
Morris Bond.
Reward Points if Helpful. -
Unable to define Radio Button Text field & unable to change column position
Hi,
While designing a screen in Screen Painter, I am unable to define Radio Button Text field as this option is not there in Graphical Element. And also I want to specify the starting position of column of that element different from the default value, but I am unable to define that because the field is non-editable.
Can any one please help me out.
Regards,
KoushikHi,
Please find below the sample program from ABAP docu :
PROGRAM demo_dynpro_input_output.
DATA: input TYPE i,
output TYPE i,
radio1(1) TYPE c, radio2(1) TYPE c, radio3(1) TYPE c,
box1(1) TYPE c, box2(1) TYPE c, box3(1) TYPE c, exit(1) TYPE c.
CALL SCREEN 100.
MODULE init_screen_100 output.
CLEAR input.
radio1 = 'X'.
CLEAR: radio2, radio3.
ENDMODULE.
MODULE user_command_0100 input.
output = input.
box1 = radio1.
box2 = radio2.
box3 = radio3.
IF exit NE space.
LEAVE PROGRAM.
ENDIF.
ENDMODULE.
Here radio1(1) TYPE c is defined within the program but in the element list there are RADIO1 element exist. One is actual radio button and the other is Radio Button Text.
I am not able to create that radio button text using same object name.
Please suggest.
Regards,
Koushik -
How to create popup window with radio buttons and a input field
Hi Guys,
Can somebody give some directions to create a stand alone program to create a window popup with 2 radio button and an input field for getting text value. I need to update the text value in a custom table.
I will call this stand alone program from an user exit.
Please give me the guidance how go about it or please give any tutorial you have.
Thanks,
MiniHi,
There are multiple aspects of your requirements. So let's take them one at a time.
You can achieve it in the report program or you can use a combination of the both along.
You can create a standalone report program using the ABAP Editor (SE38). In the report program you can call the SAP Module pool program by CALL Screen <screen number>. And then in the module pool program you an create a subscreen and can handle the window popup with 2 radio button and an input field for getting the text.
For help - Module Pool programs you can search in ABAP Editor with DEMODYNPRO* and you will ge the entire demo code for all dialog related code.
For Report and other Module pool help you can have a look at the following:
http://help.sap.com/saphelp_nw70/helpdata/en/47/a1ff9b8d0c0986e10000000a42189c/frameset.htm
Hope this helps. Let me know if you need any more details.
Thanks,
Samantak.
Maybe you are looking for
-
Easy and fast building for multiple sites
Hi all, my first post. So, I've got a lot of sites but right now I am working on about four main ones - all commercial. In the past I had a webmaster but for the short-term and until my company is stronger financially I'm taking on the building again
-
Sort by Customer name in Pick Slip report
Hi All We are using following syntax <xsl:sort select="CF_CUSTOMER_NAME"> <?CF_CUSTOMER_NAME?> to sort by customer, for form field CF_CUSTOMER_NAME This is not working consistently this syntax works ok when we run preview reprot from Local Desktop if
-
HTTP Load Test - Stop Proxy info to be set by open Script
Created a HTTP Load testing script in OpenScript. As soon as the browser(Firefox) opens up, the HTTP proxy settings were set to localhost: 7777. Our application would not work on that proxy. Please help on how we can override the proxy details. I tri
-
I need a scrollable JMenu is it possible?
Hello Ladies and Gentle men! I'm in a fix to solve this problem! When I try to add to many Item in a JMenu it falls beyond my screen area. Can you tell how I can have a scrollable JMenu? I've provided the code below...plz tell me where I should modif
-
Reason for msi tabs & live update not working
Ok i had the same problems with my msi video card the msi tabs not working and live update giving me an error. I used to run a asus p4b533 board with a sis chipset> what i found out is that the live update and the tabs work under any m/b that have th