Problem: Disabling fields on selection screen
There are two date fields on my selection screen that should always remain disabled. In the INITIALIZATION event I have the following code:
LOOP AT SCREEN.
IF screen-name EQ 'S_BEGDA' OR screen-name EQ 'S_ENDDA'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
This works fine when the screen starts up. However, in the AT SELECTION-SCREEN event Iu2019m getting these two dates from the database based on some other fields and want to put the dates in these fields but have them remain disabled. However, after the AT SELECTION-SCREEN event the fields are editable.
Here's my AT SELECTION-SCREEN event code (s_begda s_endda are the selection screen param names)
AT SELECTION-SCREEN.
DATA: lt_t549q TYPE TABLE OF t549q WITH HEADER LINE.
SELECT * INTO TABLE lt_t549q
FROM t549q
WHERE permo = '02' AND pabrj = '2008' AND pabrp = '01'.
IF sy-subrc EQ 0.
READ TABLE lt_t549q INDEX 1.
s_begda = lt_t549q-begda.
s_endda = lt_t549q-endda.
ELSE.
MESSAGE text-m01 TYPE 'E' DISPLAY LIKE 'I'.
ENDIF.
LOOP AT SCREEN.
IF screen-name EQ 'S_BEGDA' OR screen-name EQ 'S_ENDDA'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
I tried using the above loop again at the end of this event but it seems to be being ignored.
Anyone have a suggestion?
Hi,
Check this code,
REPORT ZTEST.
TABLES: t549q.
SELECT-OPTIONS: S_BEGDA FOR t549q-BEGDA,
S_ENDDA FOR t549q-ENDDA.
INITIALIZATION.
DATA: lt_t549q TYPE TABLE OF t549q WITH HEADER LINE.
SELECT * INTO TABLE lt_t549q
FROM t549q
WHERE permo = '02' AND pabrj = '2008' AND pabrp = '01'.
IF sy-subrc EQ 0.
READ TABLE lt_t549q INDEX 1.
s_begda-SIGN = 'I'.
s_begda-LOW = lt_t549q-begda.
s_begda-OPTION = 'EQ'.
APPEND S_BEGDA.
s_ENDda-SIGN = 'I'.
s_ENDda-LOW = lt_t549q-endda.
s_ENDda-OPTION = 'EQ'.
APPEND S_ENDda.
ELSE.
MESSAGE text-m01 TYPE 'E' DISPLAY LIKE 'I'.
ENDIF.
LOOP AT SCREEN.
IF screen-name EQ 'S_BEGDA-LOW' OR screen-name EQ 'S_ENDDA-LOW'
OR SCREEN-NAME EQ S_BEGDA-HIGH OR SCREEN-NAME EQ S_ENDDA-HIGH.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Thanks & regards,
nagaraj kalbavi
Similar Messages
-
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. -
Problem with Hiding fields of selection screen which is called as subscreen
Hello All,
I have problem while hiding the selection screen which is called as subscreen.
Flow of my logic:
Selection-screen with one field and three buttons CREATE,DISPLAY and CHANGE in application toolbar.
user enter some value in field and either he press change or dispaly
When change i need to call selection screen when it is in dispaly i need to stop calling this selection screen.
Upto my knowledge we can't stop calling selection screen in display mode so there is only one possibility is hiding the fields when it is in display mode.
How can i hide the fields and where i need to hide fields?
Please post some codes.
Regards,
Lisayou can refer the sample code which i mentioned in your previous post. that will solve the problem.
-
How to make the obligate field in selection screen
Hi ,
In my report two radio buttons and two bloc selection screens are there.When we select the first radio button first screen will be editable second screen will be non-editable vice-versa.
but the problem is in each selection screen one mandatory field is required suppose if i give the one field obligatory in first block screen it is not allowing the second readout please help me regarding this how i will make the mandatory field in both screens.
Thanks,
HarinathHi...
Dont Declare your field as OBLIGATORY.
Instead perform the validation in AT SELECTION-SCREEN event. But validation should be only when Particular Radiobutton is selected.
And Generate only Error Message (Type E).
Try this code:
AT SELECTION-SCREEN on <yOUR mandatory field>.
IF PA_UPD = 'X'.
IF <YOUR MANDATORY FIELD> IS INITIAL.
Message 'Entry is must in this field' type 'E'.
ENDIF.
ENDIF.
AT SELECTION-SCREEN OUTPUT.
IF pa_udp = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'. "#CCE
screen-active = 1.
ELSEIF screen-group1 = 'DEF'.
screen-input = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSEIF pa_rep = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'. "#CCE
screen-input = 0.
ELSEIF screen-group1 = 'DEF'.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
<b>Reward if Helpful</b> -
Problem in enabling the selection screen
Hi ,
I have problem in enabling the selection screen.
i have radio button and based on the radio button i need to make the date field as mandatory.
When i tried this with at selection screen on radio button group XXX, itu2019s not triggering.
Could you please help me by resolving the above problem?
VijayHi,
see the sap documentation
... RADIOBUTTON GROUP group [USER-COMMAND fcode]
Effect:
This addition specifies that the input field is displayed as a radio button in the first position on the selection screen, and the output field is displayed next to it on the right. The radio button is selected if the value of para is "X" or "x". Otherwise, it is not selected.
group is used to define the radio button group for the parameter. The name group is entered directly as a character string with a maximum of 4 characters. Within a selection screen, there must be a minimum of two parameters in the same radio button group. There cannot be more than one radio button group with the same name in one program, even if they are defined in different selection screens.
The parameter must be specified with the type c and length 1. Explicit length specification using len is not permitted. If the addition TYPE is used, it can only be followed by the generic type c or a non-generic data type of type
In a radio button group, only one parameter can be defined with the addition DEFAULT, and the specified value must be "X". By default, the first parameter in a radio button group is set to the value "X", and the rest are set to " ".
The addition USER-COMMAND can be used to assign a function code fcode to the first parameter in a radio button group. The function code fcode must be specified directly, and have a maximum length of 20 characters. To evaluate the function code, an interface work area of the structure SSCRFIELDS from the ABAP Dictionary must be declared using the statement TABLES. When the user selects any radio button of the radio button group on the selection screen, the runtime environment triggers the event AT SELECTION-SCREEN and transfers the function code fcode to the component ucomm of the interface work area sscrfields. If a function code used in the GUI status of the selection screen is specified for fcode, the selection screen processing is affected accordingly.
Note:
It is recommended to define the radio buttons of a radio button group directly underneath each other. If the selection screen also contains other elements, it is recommended to define each radio button group within a block surrounded by a frame.
Regards,
Venkatesh -
Unable to have field in selection screen of Infopackage
Hello Gurus,
I have a small problem,
I am unable to bring on field in selection screen in Infopackage,
even thou the object is ticket in DataSources selection option,
I have noted that the object is of type DEC is it something to do with,
Or is their any other way to have this object in selection screen of Infopackage,
Please help me on this,
Thanks & Regards,Bhanu its field type is DEC thats why its not coming in selection screen in Infopackage .This is a big problem in our Development as this field is SPRIO(Procurement Priority) and we want to restrict this field with conduction SPRIO EQ 1.
Our DataSource is based on Infoset , Bhanu is it possible to restrict this Field in Infoset writing some code. As their is option in Infoset for CODE we tried this but didnt work.
or any other way to restrict this field with 1.
I really appreciate your reply.
Thanks Once again. -
How to add Material type(MTART) field on Selection screen of MB5B transaction code.
Hi All,
Please let me know how to add material type field on selection screen of MB5B transaction
For that i made copy ZMB5B_COPY of original report RM07MLBD.
Thanks in adv .
SamadhanHi,
Once you copied the standard report to Z report, you can MTART in selection screen like below.
and in order to inlcude the same in programming logic, we have three option.
1) Check all related select queries, and include MTART in SELECT query using inner join with MARA.
2) In START-OF-SELECTION event fill MATNR as shown below.
3) If user entered any value in MTART, then before displaying the report just check material type of each material in the final internal table(which is used to display report) delete enteries from internal table accordingly.
START-OF-SELECTION.
IF MTART[] IS NOT INITIAL AND MATNR[] IS INITIAL.
SELECT MATNR FROM MARA INTO MATNR-LOW WHERE MTART IN MTART.
MATNR-OPTION = 'EQ'.
MATNR-SIGN = 'I'.
APPEND MATNR.
CLEAR MATNR.
ENDSELECT.
ENDIF.
The above option has one limitation: The selection screen variables has some restriction, please read the below thread.
Facing problem in select statement dump DBIF_RSQL_INVALID_RSQL CX_SY_OPEN_S
Getting Dump in the select query has more than 2000 entries
Hope this will work for you .
regards,
Rajesh Sadula. -
How to disable a standard selection screen of LDB?
Hi Friends,
My requirement is to disable a standard selection screen of a standard LDB and use my own Selection screen instead.How to go about it?.
Prompt replies would be rewarded.
Regards,
Tamilarasan.Hi Tamilarasan,
U can hide LDB field, in the following way.
1.In tables statement remove the table name for the fields
you done require.
2.You can modify the screen fields. LOOP AT SCREEN
3.In the program attributes you can choose the SAP defined
selection screen if provided.
Add can add new field, in the following way,
1.If it is Customer program then as normal way like
SELECTION-SCREEN: BEGIN OF BLOCK 1
SELECT-OPTIONS:
SELECTION-SCREEN END OF BLOCK 1.
2. Goto SE36 and modify the selection views by creating 'CUS'.
All LBD will not have dynamic selection. If you want you can copy to Z* version and add the following statement to have dynamic selction
"SELECTION-SCREEN DYNAMIC SELECTIONS FOR TABLE" XXXX
Regards,
Prabhu Rajesh. -
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 can i declare a single radio button field in selection-screen ?
How can i declare a single radio button field in selection-screen ?
>
Rob Burbank wrote:
> And how will you turn it off once it is turned on??
>
> Rob
Thats correct ;)...See ravi if users will ask so many things its our Job to convay the correct solution ....
Just post your org requirement..SOo some body guide you better//
Sas -
Validate a field on selection screen based on value entered on anothr field
HI,
There is a program with some fields in selection screen in EWM. The first field is Warehouse. I need to add another field 'Entity to Dispose' in such that what ever value I enter in Warehouse field, its corresponding values should only be displayed as F4 help for 'Entity to Dispose' field.
For eg: If I select the warehouse as 0799(lets say), then the F4 help for Entity to Dispose field should display only the values which are related to warehouse 0799 (and any other values pertaining to other warehouse should not appear).
Could anyone suggest, how this can be achieved?
Thanks in advance.
Regards,
PavanHi,
You can use FM
DYNP_VALUES_READ
DYNP_VALUES_UPDATE
to read the another field value and Using that field build your internal table for f4 values.
and use FM F4IF_INT_TABLE_VALUE_REQUEST for F4 values..
do this on AT SELECTION-SCREEN ON VALUE REQUEST FOR <YOUR_F4_FIELDNAME>. -
Adding customer field to selection screen of RFKORD11 - Customer Statement Printing Program:
Hello,
We are required to add an important customer field to selection screen of customer
statement printing program: RFKORD11 for our South African branch.
Please advise us regarding this matter,
is there a proper user-exit or a repair is needed?
Kind Regards.Enhancement
text
F050S001
FIDCMT, FIDCC1,
FIDCC2: Edit user-defined IDoc segment
F050S002
FIDCC1: Change
IDoc/do not send
F050S003
FIDCC2: Change
IDoc/do not send
F050S004
FIDCMT, FIDCC1,
FIDCC2: Change outbound IDoc/do not send
F050S005
FIDCMT, FIDCC1,
FIDCC2 Inbound IDoc: Change FI document
F050S006
FI Outgoing IDoc:
Reset Clearing in FI Document
F050S007
FIDCCH Outbound:
Influence on IDoc for Document Change
F180A001
Balance Sheet
Adjustment
FARC0001
Enhancements within
archiving (FI)
FARC0002
Additional Checks for
Archiving MM Vendor Master Data
FEDI0001
Function exits for
EDI in FI
FICT0001
Exits for
inter-company transactions
RFAVIS01
Customer Exit for
Changing Payment Advice Segment Text
RFBVX001
Enhancement for bank
directory transfer (Austria)
RFEPOS00
Line item display:
Checking of selection conditions
SAPLBANK
User exit: Bank data
SAPLF040
WF: Preliminary
posting (authorized for release)
SAPLF051
Workflow for FI
(pre-capture, release for payment)
SAPLFCPD
One-time account data
or different payee in booking
SAPLSSRV
User exit: Bank
account numbers
RFKORIEX
Automatic
correspondence
please check which one is better . -
Default Current year in select option field on selection Screen
Dear Experts,
I want to set current year as default value in fiscal year select-options field on selection screen.
for this, i hv written following code
DATA:VAR_DATE TYPE SY-DATUM.
DATA VAR(4) TYPE C.
VAR_DATE = SY-DATUM.
VAR = VAR_DATE+0(4).
this retrieves current year .
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
SELECT-OPTIONS I11 FOR ANLC-GJAHR DEFAULT VAR TO VAR.. "Fiscal Year
SELECTION-SCREEN END OF BLOCK B1.
Now when i am executing program pop-up is raised describing "Specify the range Limits". Please help.
Regards,
Apoorv Sharma>
Ganga Bhavani R wrote:
> Use below lines.
>
> SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
> SELECT-OPTIONS I11 FOR ANLC-GJAHR DEFAULT SY-DATUM+0(4). "Fiscal Year
> SELECTION-SCREEN END OF BLOCK B1.
Hi, Ganga,
I think it will not working properly that way, Please test the bellow Sample Code.
TABLES: anlc.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-000.
SELECT-OPTIONS i11 FOR anlc-gjahr .
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
IF i11[] IS INITIAL.
i11-low = sy-datum+0(4).
APPEND i11.
ENDIF.
Thanks and Regards,
Faisal -
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
Maybe you are looking for
-
Just bought an MacBook Air. My hotmail account is set up on the email on my Mac. However it won't sync with the calendar. I have an ipad where the calendar entries on my hotmail do show weirdly. Help!
-
Can I access my purchased music on multiple computers?
Whenever I buy music from the itunes music store, I want to transfer it to and from home and work. I generally make an MP3 disk because of a large playlist and so I don't have to tote/waste multiple disks, but you can't convert itunes purchses to MP3
-
Can't get Droid Charge to access my internet email
I have Verizon/Yahoo email, which has a verizon.net address. I just bought a Samsung Droid Charge and have tried to set up access to my email on the phone using the preloaded Verizon icon under email set up. It just keeps saying that the attempt fa
-
F110 - several bank accounts for the vendor,which one is retrieved by SAP?
Hi gurus, When using data medium exchange in transaction F110 for a customer (or a vendor) that has several bank accounts in the customer (vendor) master record, which one amongst those accounts will be retrieved by the system ? Ronan Edited by: Rona
-
SAP IDOC XML to Flat File Conversion
Hello, I have downloaded SAP schema through the "Consume Adapter Service" with properties GenerateFlatFileCompatibleIdocSchema = "true" and FlatFileSegmentIndicator = "SegmentType". I am trying to convert IDOC XML into a IDOC Flat File. Though the fl