SCREEN - INPUT = '0' i.e.Dis-abling input field in Selection screen????
Hi Experts,
I hv a selection screen with,
1)SELECT-OPTIONS: input_fld_1 with domain value range of A, B, C, D, E, F
2)input_fld_2
3)PARAMETERS: input_fld_3 has the LIST BOX
So, my requirement is,
If the user selects/enters A, B, C, D in input_fld_1, the next moment/second (here, prog. shuld not ask the user to press any ENTER/button)
the input_fld_3 shuld b automatically dis-abled/un-able to input!
(I tried with MOD ID GRP1, but in this case, user has to press ENTER button, which is not suits to my requirement!)
So, Is it possible? If so How?
thanq.
Message was edited by:
Srikhar
hi Srikhar,
It is not possible to have your requirement.
As the AT SELECTION SCREEN OUTPUT will be triggered only when you press the ENTER key.
You need to ask user to press the enter key or you need to have USER COMMAND to the selection screen parameter, which I think is not available with select-options.
Reward points if useful.
Regards,
Atish
Similar Messages
-
How to hide input fields on selection screen using variant attribute
Hello all,
I want to know how to hide input fields on selection screen using variant attribute conpletely.
As you know, when setting the attribute of variant "Hide field" checked, the field is temporarily hidden, but when clicking "All Selections(F7)" button on the selection screen, the fileds become appeared.
I want to hide the field completely. Di you know how to do ?
Thank you for your support.
Regards,
Hideki KozaiUse this attribute hide field and save the variant. Then create transaction for this program setting default variant for parameter Start with variant . The user who runs it will have it by defualt set.
Otherwise
in PBO simply use LOOP at screen and output = 0 for this field. This will ensure that field is invisible in any case.
Regards
Marcin -
Month/year input field in selection screen
Hi,
Can anyone tell how to declare an input field in selection screen in the format month/year with out day.
Thanks.
Prasad.hi ,
I have the same doubt ,
but its taking invalid input also as in if i enter 13/2006
Can it be avoided,
also can the calender be displayed at F4 on such field.
Thanks in advance
Regards
Bijal -
Grey out fields in selection screen
experts help needed
i want to display in the selection screen like this
sales org k918
doc type zior
divison 10
distribution channel 20
file name /info/ordersinfo/india/incomming/order/order.txt
1) i want all the sales org ,doc type ,division,dis channel to be greyed out in the selection screen
2)file name : the path i have mentioned is the application server path where my text file
order.txt will be there.
this i want the user to type this text and also i need to display this as default value.
i tried like this
parameters : p_file type string default /info/ordersinfo/india/incomming/order/order.txt.
it is giving error. Please help me how to do thisHi,
Try like below:parameters : p_file type string default '/info/ordersinfo/india/incomming/order/order.txt.' obligatory.
and then in order to grey out your other fields
at selection-screen output.
Loop at screen.
if screen-name = 'SALES ORG'. <<<Name of the parameter that you have declared
screen-input = 0.
modify screen.
endloop.
Similarly you can do for other fields too.
Regards,
Himanshu -
Setting only the TO field on the Created on Field in Selection screen to Current date
Hello,
We have a requirement to Set only the To date in the Created on Field in Selection screen to the Current date, I have tried through Dynamic variable option to set the Date calculation but I am able to see Options to set the Current date to From or From and To Created on Date fields instead of setting the Current date only to To created on Field.
We are in 4.7 and are not supported with user defined variables, Appreciate your inputs on this.
Thanks and Regards
Mohammed Roshan>
sunitha j wrote:
> Hi ,
>
> It would br gr8..if u could give some more info about the usage of this class..i mean if i hav to implement it in my program....wat is the necessary data that needs to b copied...
>
> Thanx,
> Sunitha
what Text field you want to change.
Since you are working with Dynpros , you have to split the screen in two parts, and one for the Showing differenet fonts and other your normal Dynpro information.
you need to use the Method ADD_TEXT Did you check the program DD_STYLE_TABLE. -
How can I add a new field in selection screen for this report
*& Report ZGS_BARKODLA_HIZLI_GIRIS
report zgs_barkodla_hizli_giris.
tables: mara,
mseg,
mch1,
*mch1,
mkpf,
mchb ,
makt.
type-pools: esp1.
data: i_message_tab type esp1_message_tab_type,
wa_message_tab type esp1_message_wa_type ,
sc_count type i.
ALV
type-pools: slis, kkblo.
data: gs_layout type slis_layout_alv ,
gt_fldcat type slis_t_fieldcat_alv with header line,
gt_header type slis_t_listheader with header line,
gt_sortin type slis_t_sortinfo_alv with header line,
g_repid like sy-repid .
define add-fieldcat.
gt_fldcat-fieldname = &1.
gt_fldcat-ref_tabname = &2.
gt_fldcat-seltext_s = &3.
gt_fldcat-seltext_m = &3.
gt_fldcat-seltext_l = &3.
gt_fldcat-reptext_ddic = &3.
gt_fldcat-ddictxt = 'M'.
append gt_fldcat.
clear gt_fldcat.
end-of-definition.
types: begin of titab,
sel type xfeld,
matnr type matnr,
maktx type maktx,
charg type charg_d,
menge type menge_d,
erfmg type erfmg,
end of titab.
data : witab type titab.
data : itab type table of titab.
data : ok_code type sy-ucomm.
controls: tc_itab type tableview using screen 0100.
data: gv_header like bapi2017_gm_head_01,
gv_code like bapi2017_gm_code.
BAPI export parameters
data: gv_headret type bapi2017_gm_head_ret,
gv_matdoc type bapi2017_gm_head_ret-mat_doc,
gv_matyear type bapi2017_gm_head_ret-doc_year.
data : lv_objek like inob-objek .
data : ls_inob like inob .
data : imseg type ty_t_mseg.
data : wmseg type mseg.
data : answer.
data : count type i.
data : v_atinn type atinn.
BAPI movement details
data: i_goodsmvt_items type bapi2017_gm_item_create occurs 0
with header line.
data: i_return type bapiret2 occurs 0 with header line.
start-of-selection.
call function 'CONVERSION_EXIT_ATINN_INPUT'
exporting
input = 'Z_ORAN'
importing
output = v_atinn.
call screen 100.
*& Module status_0100 OUTPUT
module status_0100 output.
set pf-status '100'.
set titlebar '100'.
mseg-werks = 1000.
mseg-umwrk = 1000.
**added
sc_count = sc_count + 1.
if sc_count eq 1.
mseg-bwart = 313.
endif.
mkpf-budat = sy-datum.
**added
describe table itab lines tc_itab-lines.
endmodule. " status_0100 OUTPUT
*& Module user_command_0100 INPUT
module user_command_0100 input.
data field(20).
data: line_t like sy-index.
data: lines like sy-index.
data line_count like sy-loopc.
data: begin of cols,
screen like screen,
index type i,
selected(1) type c,
vislength like icon-oleng,
invisible(1) type c,
end of cols.
case ok_code.
when 'DELE'.
delete itab where sel eq 'X'.
when 'ENTE'.
check *mch1-charg is not initial.
read table itab into witab with key charg = *mch1-charg.
if not sy-subrc is initial.
witab-charg = *mch1-charg.
select single matnr from mch1 into witab-matnr
where charg eq witab-charg.
if not syst-subrc is initial.
set cursor field '*MCH1-CHARG'.
message e115(12) with *mch1-charg.
endif.
select single maktx from makt into witab-maktx
where matnr eq witab-matnr
and spras eq syst-langu.
witab-erfmg = 1.
concatenate witab-matnr witab-charg into lv_objek .
clear ls_inob .
select single * into ls_inob
from inob
where objek = lv_objek and
klart = '023' and
obtab = 'MCH1' .
select single atflv from ausp into witab-menge
where objek = ls_inob-cuobj and
klart = '023' .
append witab to itab.
**added
clear *mch1-charg.
**added
endif.
when 'SAVE'.
if mkpf-budat is initial.
set cursor field 'MKPF-BUDAT'.
message e055(00).
endif.
if mseg-lgort is initial.
set cursor field 'MSEG-LGORT'.
message e055(00).
endif.
if mseg-umlgo is initial.
set cursor field 'MSEG-UMLGO'.
message e055(00).
endif.
if mseg-bwart is initial.
set cursor field 'MSEG-BWART'.
message e055(00).
endif.
refresh imseg.
loop at itab into witab.
move-corresponding witab to wmseg.
append wmseg to imseg.
endloop.
call function 'ZMM_POPUP_WITH_DATA'
exporting
imseg = imseg
importing
answer = answer.
if answer eq 'Y'.
perform create_goods_movement.
endif.
when 'P--'.
clear ok_code.
perform paging using 'P--'.
set cursor field 'MARA-MATNR' line 1.
when 'P-'.
clear ok_code.
perform paging using 'P-'.
set cursor field 'MARA-MATNR' line 1.
when 'P+'.
clear ok_code.
clear lines.
perform paging using 'P+'.
set cursor field 'MARA-MATNR' line 1.
when 'P++'.
clear ok_code.
perform paging using 'P++'.
set cursor field 'MARA-MATNR' line 1.
when 'SORA'.
read table tc_itab-cols into cols with key selected = 'X'.
if sy-subrc is initial.
field = cols-screen.
field = field+5(10).
sort itab ascending by (field).
endif.
when 'SORZ'.
read table tc_itab-cols into cols with key selected = 'X'.
if sy-subrc is initial.
field = cols-screen.
field = field+5(10).
sort itab descending by (field).
endif.
when 'PRNT'.
perform write_alv.
endcase.
endmodule. " user_command_0100 INPUT
*& Module read_table OUTPUT
module read_table output.
mara-matnr = witab-matnr.
makt-maktx = witab-maktx.
mch1-charg = witab-charg.
mseg-menge = witab-menge.
mseg-erfmg = witab-erfmg.
line_count = sy-loopc.
endmodule. " read_table OUTPUT
*& Module write_table INPUT
module write_table input.
witab-matnr = mara-matnr.
witab-maktx = makt-maktx.
witab-charg = mch1-charg.
witab-menge = mseg-menge.
witab-erfmg = mseg-erfmg.
modify itab from witab index tc_itab-current_line.
endmodule. " write_table INPUT
*& Module exit INPUT
module exit input.
leave to screen 0 .
endmodule. " exit INPUT
*& Form create_goods_movement
form create_goods_movement .
clear : gv_header, i_return[], i_goodsmvt_items[].
gv_header-doc_date = gv_header-pstng_date = mkpf-budat.
gv_header-pr_uname = sy-uname.
GM with reference to reservation
loop at itab into witab.
i_goodsmvt_items-material = witab-matnr.
i_goodsmvt_items-entry_qnt = witab-erfmg.
i_goodsmvt_items-entry_uom = 'ST'.
i_goodsmvt_items-move_type = mseg-bwart.
i_goodsmvt_items-plant = mseg-werks.
i_goodsmvt_items-stge_loc = mseg-lgort.
i_goodsmvt_items-move_plant = mseg-umwrk.
i_goodsmvt_items-move_stloc = mseg-umlgo.
i_goodsmvt_items-batch = witab-charg.
append i_goodsmvt_items.
endloop.
find BAPI processing transaction
if gv_code is initial.
perform determine_bapi_code using mseg-bwart
changing gv_code.
endif.
call function 'BAPI_GOODSMVT_CREATE'
exporting
goodsmvt_header = gv_header
goodsmvt_code = gv_code
importing
goodsmvt_headret = gv_headret
materialdocument = gv_matdoc
matdocumentyear = gv_matyear
tables
goodsmvt_item = i_goodsmvt_items
return = i_return[].
cancel blocking process
loop at i_return where type eq 'E' or type eq 'A' or type eq 'X'.
exit.
endloop.
if sy-subrc ne 0.
refresh i_message_tab.
call function 'BAPI_TRANSACTION_COMMIT'
exporting
wait = 'X'.
wa_message_tab-msgid = 'M7'..
wa_message_tab-msgty = 'S'.
wa_message_tab-msgno = '060'.
wa_message_tab-msgv1 = gv_matdoc.
wa_message_tab-msgv2 = ''.
wa_message_tab-msgv3 = ''.
wa_message_tab-msgv4 = ''.
append wa_message_tab to i_message_tab.
else.
refresh i_message_tab.
call function 'BAPI_TRANSACTION_ROLLBACK'.
write a message as there is an unexpected error.
loop at i_return.
wa_message_tab-msgid = i_return-id.
wa_message_tab-msgty = i_return-type.
wa_message_tab-msgno = i_return-number.
wa_message_tab-msgv1 = i_return-message_v1.
wa_message_tab-msgv2 = i_return-message_v2.
wa_message_tab-msgv3 = i_return-message_v3.
wa_message_tab-msgv4 = i_return-message_v4.
append wa_message_tab to i_message_tab.
endloop.
endif.
call function 'C14Z_MESSAGES_SHOW_AS_POPUP'
tables
i_message_tab = i_message_tab.
endform. " create_goods_movement
*& Form determine_bapi_code
form determine_bapi_code using p_bwart type bwart
changing p_code type bapi2017_gm_code.
data: lt_t158b type table of t158b with header line.
clear p_code.
select tcode from t158b into corresponding fields of table lt_t158b
where bwart eq p_bwart.
loop at lt_t158b.
select single gmcode from t158g into p_code
where tcode eq lt_t158b-tcode.
if sy-subrc is initial.
exit.
endif.
endloop.
endform. " determine_bapi_code
*& Form paging
form paging using code.
data: i type i,
j type i.
case code.
when 'P--'. tc_itab-top_line = 1.
when 'P-'.
tc_itab-top_line = tc_itab-top_line - line_count.
if tc_itab-top_line le 0.
tc_itab-top_line = 1.
endif.
when 'P+'.
i = tc_itab-top_line + line_count.
j = tc_itab-lines - line_count + 1.
if j le 0.
j = 1.
endif.
if i le j.
tc_itab-top_line = i.
else.
tc_itab-top_line = j.
endif.
when 'P++'.
tc_itab-top_line = tc_itab-lines - line_count + 1.
if tc_itab-top_line le 0.
tc_itab-top_line = 1.
endif.
endcase.
endform. " paging
*& Form write_alv
form write_alv .
perform find_list_header.
perform fill_field_cat.
perform fill_sortinfo.
g_repid = sy-repid.
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.
answer = 'Y'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_buffer_active = ''
i_callback_program = g_repid
i_save = 'A'
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = gs_layout
it_fieldcat = gt_fldcat[]
it_sort = gt_sortin[]
tables
t_outtab = itab[].
endform. " write_alv
Form find_list_header
form find_list_header.
data : v_datum(10),
v_datlo(10),
v_dathi(10),
v_uzeit(8).
clear: gt_header, gt_header[].
gt_header-typ = 'H'.
gt_header-info = sy-title.
append gt_header.
clear gt_header.
gt_header-typ = 'S'.
gt_header-key = 'Çalıştırma Zamanı : '.
write syst-datum to v_datum.
write syst-uzeit to v_uzeit.
concatenate v_datum '/' v_uzeit into gt_header-info.
append gt_header.
endform. " find_list_header
Form fill_field_cat
form fill_field_cat.
refresh gt_fldcat.
clear gt_fldcat.
gt_fldcat-key = 'X'.
add-fieldcat 'MATNR' 'MARA' ''.
add-fieldcat 'MAKTX' 'MAKT' ''.
add-fieldcat 'CHARG' 'MSEG' ''.
gt_fldcat-do_sum = 'X'.
add-fieldcat 'MEINS' 'MARA' 'Olcu Birimi '.
gt_fldcat-do_sum = 'X'.
add-fieldcat 'ERFMG' 'MSEG' 'Adet'.
endform. " fill_field_cat
Form fill_sortinfo
form fill_sortinfo.
gt_sortin-up = 'X'.
gt_sortin-fieldname = 'MATNR'. append gt_sortin.
endform. " fill_sortinfo
Form top_of_page *
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
i_logo = 'ZKUTAS'
it_list_commentary = gt_header[].
endform. " top_of_pageHI,
if it is a normal report program then you can directly create a Selection screen field.
After the Type-pool you can use Parameters or Select-options to create the selection screen field..
If it is a Modulpool program then you can create a selection scren field like
SELECTION-SCREEN BEGIN OF SCREEN 1100 AS SUBSCREEN.
PARAMETERS: p1(10) TYPE c.
SELECTION-SCREEN END OF SCREEN 1100.
defines a selection screens 1100 as subscreens.
The next screen number of screen 100 is 100 (statically-defined).
PROCESS BEFORE OUTPUT.
MODULE status_0100.
CALL SUBSCREEN area INCLUDING sy-repid number.
PROCESS AFTER INPUT.
MODULE cancel AT EXIT-COMMAND.
CALL SUBSCREEN area.
MODULE user_command_0100.
look at the below link
http://help.sap.com/saphelp_nw2004s/helpdata/en/e7/deb237b9a9a968e10000009b38f8cf/content.htm
Regards
Sudheer -
How to Disable field in Selection-screen
Hi All,
I want to disable Screen field in my seelction screen. Below is my Code, but it is not working.
I want to perform.
If RB1 = X
Then Parameter P_VBELN should get disabled. Please suggest, find below my code.
*....Selection Screen
selection-screen begin of block b1 with frame title text-001.
parameters: p_vbeln like vbak-vbeln.
selection-screen end of block b1.
selection-screen begin of block b2 with frame title text-002.
parameter: rb1 radiobutton group radi default 'X',
rb2 radiobutton group radi.
selection-screen end of block b2.
*....At Selection Screen
AT Selection-screen.
if p_vbeln = ''.
MESSAGE ID 'ZID' TYPE 'E' NUMBER '000'.
endif.
*....At selection screen output
AT Selection-screen output.
if rb1 = 'X'.
Loop at screen.
if screen = 'P_VBELN'.
screen-input = '0'.
endif.
modify screen.
endloop.
endif.
*....Start of selection
Start-of-Selection.
select *
from vbak into table itab1
where vbeln = p_vbeln.
if itab1 is initial.
select *
from vbap into table itab2
for all entries in itab1
where vbeln = itab1-vbeln.
endif.Hi Kamaljeet ,
In the code below..see the lines in BOLD..explanation is given as to why they are required
Code----
selection-screen begin of block b1 with frame title text-001.
parameters: p_vbeln like vbak-vbeln.
selection-screen end of block b1.
selection-screen begin of block b2 with frame title text-002.
parameter: rb1 radiobutton group radi default 'X' user-command ucomm,
rb2 radiobutton group radi.
selection-screen end of block b2.
AT Selection-screen output.
if rb1 = 'X'.
Loop at screen.
if screen-name = 'P_VBELN'.
screen-input = '0'.
endif.
modify screen.
endloop.
else.
Loop at screen.
if screen-name = 'P_VBELN'.
screen-input = '1'.
endif.
modify screen.
endloop.
endif.
Explanation----
If the user command is not given,the system will not trigger on the click of radio button..
Once triggered it comes to "At selection screen output"..where we must also mention the case when
radio button 2 is selected RB2 ..the p_vbeln must be input and when RB1 is selected the field
p_vbeln must be display only..Paste the code and see how it works
Then use the logic as desired...
Hope it helps
Regards
Byju -
How to disable fields on selection screen?
hi,
i have two fields f1 and f2 on selection screen and two radio buttons r1 and r2.
if i select r1, f1 should be input enable and f2 shuld be disabled.
and if i select r2, f2 should be input enable and f1 shuld be disabled.
i hav code like this
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS: p_Pfile TYPE rlgrap-filename, "presentation server input file
p_afile TYPE rlgrap-filename. "application server input file
p_efile TYPE rlgrap-filename. "error file
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
PARAMETERS: R_ps TYPE c RADIOBUTTON GROUP rd default 'X', "radio button for presentation server
R_as TYPE c RADIOBUTTON GROUP rd . "radio button for application server
SELECTION-SCREEN END OF BLOCK blk2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF R_PS = C_X.
IF SCREEN-NAME = P_PFILE.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ELSE. "IF SCREEN-NAME = P_AFILE.
SCREEN-ACTIVE = 1.
SCREEN-INPUT = 1.
MODIFY SCREEN.
ENDIF.
ELSEIF R_AS = C_X.
IF SCREEN-NAME = P_PFILE.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ELSE. "IF SCREEN-NAME = P_AFILE.
SCREEN-ACTIVE = 1.
SCREEN-INPUT = 1.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
but i could not get that .
plz help meHi ,
This is my test code look at "at selection screen output" part you will get it.
data: g_user_has_auth(1) TYPE c,
v_key LIKE sy-pfkey,
it_ucomm TYPE TABLE OF sy-ucomm.
CONSTANTS : c_yes TYPE c VALUE '1' ,
c_no TYPE c VALUE '0' .
INITIALIZATION.
Code to remove standard execute button from selection screen.
v_key = sy-pfkey.
APPEND : 'ONLI' TO it_ucomm.
CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
EXPORTING
p_status = v_key
p_program = ' '
TABLES
p_exclude = it_ucomm.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
SELECTION-SCREEN SKIP 1.
PARAMETERS: r_iobj RADIOBUTTON GROUP rb1 USER-COMMAND OP1.
PARAMETERS: r_ods RADIOBUTTON GROUP rb1.
PARAMETERS: r_cubes RADIOBUTTON GROUP rb1.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02 .
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) text-t02 FOR FIELD p_info MODIF ID OP1.
PARAMETERS: p_info TYPE string MODIF ID OP1.
SELECTION-SCREEN: PUSHBUTTON 68(10) but1 USER-COMMAND cli1 MODIF ID OP1.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t04.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) text-t02 FOR FIELD p_ods MODIF ID OP2.
PARAMETERS: p_ods TYPE string MODIF ID OP2.
SELECTION-SCREEN: PUSHBUTTON 68(10) ods1 USER-COMMAND cli3 MODIF ID OP2.
SELECTION-SCREEN : END OF LINE.
*SELECTION-SCREEN SKIP 1.
*PARAMETERS: r_exe RADIOBUTTON GROUP rb2.
*PARAMETERS: r_st1 RADIOBUTTON GROUP rb2.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN: PUSHBUTTON /1(20) ods_cr USER-COMMAND cli4 MODIF ID OP2.
SELECTION-SCREEN END OF BLOCK b3.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'OP1'.
IF R_IOBJ = 'X'.
SCREEN-INVISIBLE = C_NO.
SCREEN-ACTIVE = C_YES.
ELSE.
SCREEN-INVISIBLE = C_YES.
SCREEN-ACTIVE = C_NO.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'OP2'.
IF R_ODS = 'X'.
SCREEN-INVISIBLE = C_NO.
SCREEN-ACTIVE = C_YES.
ELSE.
SCREEN-INVISIBLE = C_YES.
SCREEN-ACTIVE = C_NO.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP. -
Validating field on selection screen
wht is the meaning of validation
how to validate a particular field on selection screen
suppose parameters:p_vkorg like vbak-vkorg.
how to validate p_vkorg.
pz give me codingHello pavan,
Validation means "checking whether the input which u are gining to the selection secreen is valid or not". means...
Lets take your example only...
parameters:p_vkorg like vbak-vkorg.
in selection screen you will give inout in that parameter....
users can give any input... lets suppose I'll give input as ABC... which is not in the table VBAK. No need to excute the code once we came to know that the input is not there in the table. So we will do validation like...
at selection-screen on p_vkorg.
select * from vbak where vkorg = p+vkorg. " This is the case with Parameter.
at selection-screen on p_vkorg.
Select * from vbak where vkorg = p+vkorg. " This is the case with Selct-option.
if the input that u r giving is present in the table... the above stmt will execute successfully, otherwise not.
You can make use of System variable SY-SUBRC and you can go ahead with ur coding...
Reward If Helpful
Regards
Sasidhar Reddy Matli.
Message was edited by:
Sasidhar Reddy Matli -
How to make a field in selection screen as READ_ONLY !!
Hi,
How to make a field in selection screen as READ_ONLY !!.
Thanks,
SenthilThis is the code you need to have in your program.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-NAME = 'MYSELFLD'.
SCREEN-INPUT = 0.
MODIFY-SCREEN.
ENDIF.
ENDLOOP. -
Protecting certain field on selection screen
Hi,
How do I protect certain field on selection screen.
Thanks,
Manjula.By saying Protecting, do you mean something as below:
parameters: p_matnr type matnr obligatory,
p_maktx type maktx.
at selection-screen output.
loop at screen.
if screen-name cp 'P_MAKTX'.
screen-input = 0.
modify screen.
endif.
endloop.
if not p_matnr is initial.
select single maktx into p_maktx
from makt
where matnr = p_matnr
and spras = sy-langu.
endif.
Kind Regards
Eswar -
Adding fields on selection screen dynamically
Hi all,
Can we add some fields to selection screen dynamically on pushbutton click?
Regards,
Dnyaneshjust have look below code
REPORT zrsdvsr1
LINE-SIZE 220
LINE-COUNT 65(5).
TYPE-POOLS : slis.
TABLES
TABLES: vbak.
DATA DECLARATIONS
Ranges
RANGES: r_posnr FOR vbap-posnr.
DATA: BEGIN OF t_veramt OCCURS 0,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
netwr TYPE vbap-netwr,
mwsbp TYPE vbap-mwsbp,
END OF t_veramt.
DATA: BEGIN OF t_disamt OCCURS 0,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
netwr TYPE vbap-netwr,
mwsbp TYPE vbap-mwsbp,
netwr_v TYPE vbap-netwr,
mwsbp_v TYPE vbap-mwsbp,
disc_val TYPE vbap-mwsbp,
END OF t_disamt.
*& ALV FIELDS
DATA : alv_fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
alv_layout TYPE slis_layout_alv.
SELECTION SCREEN
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_ver RADIOBUTTON GROUP g1 USER-COMMAND rad DEFAULT 'X',
p_sab RADIOBUTTON GROUP g1 .
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln NO INTERVALS MODIF ID gr1.
PARAMETERS: p_dwfile TYPE rlgrap-filename
DEFAULT 'C:\test1.txt' MODIF ID gr2, "#EC NOTEXT
p_upfile TYPE rlgrap-filename
DEFAULT 'C:\test.txt' MODIF ID gr3. "#EC NOTEXT
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_upfile.
**************F4 Help For Input File Name****************************
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = 'C:\'
IMPORTING
file_name = p_upfile.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dwfile.
**************F4 Help For Input File Name****************************
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = 'C:\'
IMPORTING
file_name = p_dwfile.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF p_sab = 'X'.
IF screen-group1 = 'GR1' OR screen-group1 = 'GR2'.
screen-active = '0'.
screen-invisible = '1'.
ELSE.
screen-active = '1'.
screen-invisible = '0'.
ENDIF.
MODIFY SCREEN.
ELSE.
IF screen-group1 = 'GR3'.
screen-active = '0'.
screen-invisible = '1'.
ELSE.
screen-active = '1'.
screen-invisible = '0'.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
START-OF-SELECTION
START-OF-SELECTION.
Check Radio Button
IF p_ver = 'X'.
PERFORM get_details_open_so_vertex.
ELSE.
PERFORM get_details_open_so.
ENDIF.
Display the output.
PERFORM diplay_report .
regards
vinod -
Transaction DP97: Need to add 2 fields on selection screen...
Hi,
I am using ECC6.0. I need to add 2 extra fields on selection screen of transaction DP97. Program name is RVPKMASS97. i did not find any screen-exit for this. Please can anybody suggest any other way to add fields on selection screen... I think i can use enhancement points. please help if anybody has previously worked on this. I need to know following things:
1) how to add 2 fields on selection screen ( 2 fields are : MATNR-Service product and FFPRF-DIP profile)
2) where to add programming logic for this
Thanks in advance,
MinalHi,
Go to program RVPKMASS97.
Go inside INCLUDE rvpkmasspar.
(When you double click on the include a pop up screen will come up and in that select the RVPKMASS97)
Click on spiral icon there on the tool bar.
right click on the '
ENHANCEMENT-POINT RVPKMASSPAR_01 SPOTS ES_RVPKMASSPAR STATIC INCLUDE BOUND .' line and select enhancement-> create. and give some implementation name and text.
now you can declare ur fields in this implementation.
After declaring save it and activate it.
Now go back to ur txn and run. you are able to see the custom fields on the screen.
Reward me points if it is helpful.
I think it will help you out.
Thanks,
Prasanna -
Suggest the way while validating fields in selection-screen
Hi Experts,
I am not able to open multiple selection screen for select-options because when i tried to open, it triggers AT selection-screen event in which some validations are happened.
If any of the validation fails, it will give message.
Please suggest me the way how i can avoid that.
Thank you very much for your help
Regards
GopalHello,
I believe you are talking about the Multiple Selections Option.
There are two cases here. For both the Cases, use the Following Logic in the At-Selection Screen Event.
If your Select-Options Variable is not declared as OBLIGATORY, then use this Logic.
In the At Selection-Screen Event, check the following Condition.
IF SY-UCOMM NE SSCRFIELDS-UCOMM.
Message 'Enter atleast 1 Value' Type 'E'.
ENDIF.
This will avoid throwing an Error when you click on the Multiple Selections Option.
If your Select-Options Variable is Declared as Mandatory, the above logic does not work. So, what you can do is,
Do not make it Obligatory. But use the below Logic.
IF S_MATNR is Initial.
CHECK NOT SY-UCOMM EQ SSCRFIELDS-UCOMM.
Message 'Enter atleast 1 Value' Type 'E'.
ENDIF.
Hope it was helpful.
Thanks and Regards,
Venkat Phani Prasad Konduri
Edited by: Konduri Venkata Phani Prasad on Sep 12, 2008 2:48 AM -
Add custom fields on selection screen and ouput in Transaction QM11
Hi All,
i have the requirement to enhance the transaction qm11( Report : RQMELL10) to add the custom fields on the report selection screen and in the report output.
i tried to add the fields on selection screen by copy the standard program RQMELL10 to custom one. and tried to add the fields above to the coding tab but i am not able to display the text for those fields of select-options. can any one help me is it the right way to copy the standard program to custom program and adding the custom fields and how to get the text element for the custom fields which we are going to add it. i tried to add the text element in program text elements but it is not appering on the report.
please requeting the help asap if it is possible.Have a glance in below thread.
Enhancing transaction QM10
Also, there are some more threads available in enhancing the QM10 / QM11. Please search those as well.
Maybe you are looking for
-
How can i transfer my music libary to another account user?
I want to transfer my libary to my wifes account so that she can load these onto her ipad/iphone.
-
hi, i try to store current date value as integer in my database so i will be able to compare dates by sql command simply like comparing integer values. this is the method i use when i code in PHP. so for this purpose i use Date classes getTime() meth
-
Most efficient way to create/start Imovie? I'm new at this!
Hello, I am in the porcess of creating a movie for my daughter. I find the system very easy to use, however, I think I am doing things backwards thus making my project more time consuming. Is there a step-by-step process for doing things (photos, tra
-
I cloned a bootable drive in latest Tiger version; if i install Leopard on my Powerbook will i still be able to boot from that Tiger drive?? in essence i guess i would have two different platforms running on my Powerbook -- doesn't seem like it would
-
The question says it all: What Are The Minimum Permissions In Order An User To Be Able To Access User Profile Data With JavaScript And REST API.? In the User Profile -> Permissions there is only the option for "Full Control".