Field value selection on a selection screen
Hi expert,
I have a requirement. In a selection screen say there are 4 fields let say f1, f2, f3, f4. Now If a select a value of f1 in the selection screen based on the value of f1, other fields (f2, f3, f4 ) will be populated. How can i do that? All the fields are a part of the tables say Tab1 and Tab2 and they are related.
Thanks in advance,
Abhijit
Try this.
REPORT Z_TEST .
tables tcurt.
DATA DYFIELDS LIKE DYNPREAD OCCURS 1 WITH HEADER LINE.
PARAMETERS: P_WAERS LIKE TCURT-WAERS, "Currency
P_LTEXT LIKE TCURT-LTEXT, "Long Text
P_KTEXT LIKE TCURT-KTEXT. "Short Text
*Example of updating value of another field on the screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_WAERS.
CLEAR: DYFIELDS[], DYFIELDS.
*select currency
CALL FUNCTION 'HELP_VALUES_GET'
EXPORTING
fieldname = 'WAERS'
tabname = 'TCURT'
IMPORTING
SELECT_VALUE = P_WAERS.
*get long text for the selected currency
SELECT SINGLE LTEXT FROM TCURT
INTO DYFIELDS-FIELDVALUE
WHERE SPRAS = SY-LANGU
AND WAERS = P_WAERS.
IF SY-SUBRC <> 0.
CLEAR DYFIELDS-FIELDVALUE.
ENDIF.
*update another field
DYFIELDS-FIELDNAME = 'P_LTEXT'.
APPEND DYFIELDS.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
DYNAME = SY-CPROG
DYNUMB = SY-DYNNR
tables
dynpfields = DYFIELDS .
*Example of reading value of another field
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_KTEXT.
*read another field
CLEAR: DYFIELDS[], DYFIELDS.
DYFIELDS-FIELDNAME = 'P_WAERS'.
APPEND DYFIELDS.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = SY-CPROG
DYNUMB = SY-DYNNR
TABLES
DYNPFIELDS = DYFIELDS .
READ TABLE DYFIELDS INDEX 1.
*get short text and update current field
SELECT SINGLE KTEXT FROM TCURT
INTO P_KTEXT
WHERE SPRAS EQ SY-LANGU
AND WAERS EQ DYFIELDS-FIELDVALUE.
Similar Messages
-
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>. -
Restrict values for F4 on field in Selection-screen
Hi,
For f4 on particular field I am getting list of values. These values are fixed in Value Range of DOMAIN of that field. There are 26 values fixed for that DOMAIN. Now what I need is I need to restrict 26th value from displaying on F4 for that field in selection screen.
I tried doing it in AT SELECTION SCREEN OUTPUT event using F4_ON_VALUE REQUEST FM, fetching data and deleting 26th entry , but before i delete it, It shows all values in selection-screen.
Please any one guide me.
Thanks,
Vanitha PYou have to use AT SELECTION-SCREEN ON VALUE-REQUEST event.
Tables:mara.
TYPES :BEGIN OF gty_mtart,
mtart TYPE mara-mtart,
END OF gty_mtart.
DATA: gt_mtart TYPE STANDARD TABLE OF gty_mtart,
gtt_mtart TYPE gty_mtart.
DATA: gt_return_tab TYPE TABLE OF ddshretval,
gwa_return_tab TYPE ddshretval.
SELECT-OPTIONS:so_mtart FOR mara-mtart.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_mtart-low.
REFRESH gt_mtart.
gtt_mtart-mtart = 'Z01'.
APPEND gtt_mtart TO gt_mtart.
gtt_mtart-mtart = 'Z02'.
APPEND gtt_mtart TO gt_mtart.
gtt_mtart-mtart = 'Z03'.
APPEND gtt_mtart TO gt_mtart.
gtt_mtart-mtart = 'Z04'.
APPEND gtt_mtart TO gt_mtart.
gtt_mtart-mtart = 'Z05'.
APPEND gtt_mtart TO gt_mtart.
gtt_mtart-mtart = 'Z06'.
APPEND gtt_mtart TO gt_mtart.
gtt_mtart-mtart = 'Z90'.
APPEND gtt_mtart TO gt_mtart.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
retfield = 'SO_MTART-LOW'
* PVALKEY = ' '
* DYNPPROG = ' '
* DYNPNR = ' '
* DYNPROFIELD = ' '
value_org = 'S'
* MULTIPLE_CHOICE = ' '
* IMPORTING
* USER_RESET =
TABLES
value_tab = gt_mtart
* FIELD_TAB =
return_tab = gt_return_tab
* DYNPFLD_MAPPING =
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3
IF sy-subrc = 0 AND gt_return_tab IS NOT INITIAL.
CLEAR gwa_return_tab.
READ TABLE gt_return_tab INTO gwa_return_tab INDEX 1.
IF sy-subrc = 0 AND gwa_return_tab-fieldval IS NOT INITIAL.
so_mtart-low = gwa_return_tab-fieldval.
ENDIF.
ELSEIF sy-subrc <> 0.
REFRESH gt_return_tab. CLEAR: gwa_return_tab.
ENDIF. -
How to Add/Concatenate to a text field, values selected in a combo box
I have a combo box form field that allows the user to select a value from a list and click on an Add button. The Add button should add/concatenate the vaue selected to a text field in order to create a list of values selected. I'm not sure how to do this using Javascript in Acrobat? I know I need to add the javascript to the Add button's Mouse Up action. Any help would be greatly appreciated. Thanks!
Thanks so much - it works!
>>> "Gilad D (try67)" <[email protected]> 9/25/2013 9:16 AM >>>
Re: How to Add/Concatenate to a text field, values selected in a combo box created by Gilad D (try67) ( http://forums.adobe.com/people/try67 ) in JavaScript - View the full discussion ( http://forums.adobe.com/message/5712118#5712118 )
Let's say the text field's name is "Text1", and the combo is called "Combo1". You can then use this code as the MouseUp script of the Add button:
var f1 = this.getField("Text1");
var f2 = this.getField("Combo1");
if (f1.value=="") f1.value = f2.value;
else f1.value = f1.value + ", " + f2.value;
Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/5712118#5712118
Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/5712118#5712118
To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/5712118#5712118. In the Actions box on the right, click the Stop Email Notifications link.
Start a new discussion in JavaScript by email ( mailto:[email protected].com ) or at Adobe Community ( http://forums.adobe.com/choose-container!input.jspa?contentType=1&containerType=14&contain er=3286 )
For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746. -
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 -
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 -
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. -
Query regarding F4 help on a field in Selection Screen.
Hi all,
I am trying to attach a F4 help on a field in Selection Screen.
The code fragment I wrote for this purpose is:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR m_cbu.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = 'CBU_MANAGER'
PVALKEY = ' '
DYNPPROG = sy-cprog
DYNPNR = sy-dynnr
DYNPROFIELD = 'M_CBU'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = 'F'
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
tables
value_tab = tb_cbu_m
FIELD_TAB =
RETURN_TAB = t_return
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Still, I am unable to get any F4 help?
Please point out the mistake..
Thanks in advance.Hi Thien,
My entire code is as follows-
TYPES:
BEGIN OF cbu_m,
cbu_manager TYPE uname,
END OF cbu_m.
DATA:
tb_cbu_m TYPE TABLE OF cbu_m,
wa_cbu_m TYPE cbu_m.
wa_cbu_m-cbu_manager = '123'.
APPEND wa_cbu_m TO tb_cbu_m.
wa_cbu_m-cbu_manager = '234'.
APPEND wa_cbu_m TO tb_cbu_m.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR m_cbu.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = 'CBU_MANAGER'
PVALKEY = ' '
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'M_CBU'
STEPL = 0
WINDOW_TITLE = 'ABC'
VALUE = ' '
value_org = 'S'
MULTIPLE_CHOICE = ' '
display = 'F'
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
value_tab = tb_cbu_m
FIELD_TAB =
return_tab = t_return
DYNPFLD_MAPPING =
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Here I am getting the same message "No Values Found"..
Please point out the mistake in my code. -
Hello Guyz,
In the WAD report, for a field slection when we open the value selection screen to choose the value we find key and field value, as per our requirement we need description also in the value selection screen, please let me know whet setting changes need to be done.
Example
For a field status : when we open the value selection screen we find values for selection like RELP 1000
APPR 1200 but we are not getting description, what changes need to be done to even get the decription for the status.
Regards,
RaviHi,
Check this out
Re: displaying Medium Text in Variable screen (WAD)
Regards -
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 -
F4 for field at selection screen
Hi all.
I have a field at selection screen without any standard F4 on it.
SELECT-OPTIONS: S_EXCMSG FOR T458A-AUSKT. "Exception message
How can I implement F4 for this field?
Thanks,
RebekaHi,
Try using the FM " F4IF_INT_TABLE_VALUE_REQUEST "
A Sample Examle:
REPORT Z_TEST_F4_HELP.
TABLES: ZEMPLOYEE,MARA.
DATA: BEGIN OF ITAB OCCURS 0,
ENO LIKE ZEMPLOYEE-ENO,
ENAME LIKE ZEMPLOYEE-ENAME,
EAGE LIKE ZEMPLOYEE-EAGE,
SALARY LIKE ZEMPLOYEE-SALARY,
END OF ITAB.
PARAMETERS: P_ENO LIKE ZEMPLOYEE-ENO,
P_MATNR LIKE MARA-MATNR.
TYPES: BEGIN OF ts_mara,
matnr TYPE matnr,
ersda TYPE ersda,
ernam TYPE ernam,
END OF ts_mara.
DATA : lt_mara TYPE TABLE OF ts_mara.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MATNR.
SELECT MATNR ERSDA ERNAM FROM MARA INTO TABLE LT_MARA UP TO 10 ROWS.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
RETFIELD = 'MATNR'
PVALKEY = ' '
DYNPPROG = SY-CPROG
DYNPNR = SY-DYNNR
DYNPROFIELD = 'P_MATNR '
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
VALUE_TAB = LT_MARA
FIELD_TAB =
RETURN_TAB =
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Regards,
Ruthra -
Field Validation for Authorization Object field on selection screen
Hi Experts,
We have included a new field u2018Authorization Objectu2019 in the selection screen which should be reflected in the field Authorization Object of the spool property. Please let us know how we can provide F4 help for this field and also validate it in the code.
The data element "RSPOAUTH" is used for the field on selection screen parameter. However, as there is no value table attached to the domain, we are unable to provide any F4 help and hence cannot validate the field in the code.
Looking forward for your valuable reply.
Thanks in advance.
--Warm Regards,
Prajakta Kanitkar.Hi Prajakta,
You can refer the following code for getting F4 help.
TYPES: BEGIN OF stru_btc,
zesgbtc TYPE zhr_del_btc,
END OF stru_btc.
DATA: it_btc TYPE STANDARD TABLE OF stru_btc
SELECT-OPTIONS: s_zzbtc FOR pa0001-zzbtc NO INTERVALS.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zzbtc-low.
SELECT * FROM zbtc INTO CORRESPONDING FIELDS OF TABLE it_btc.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'BTC'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'S_ZZBTC'
value_org = 'S'
TABLES
value_tab = it_btc
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Hope this will help you.
Thanks & Regards.
Aniruddha -
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 -
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.
Maybe you are looking for
-
New iTunes/Old iPod - I'm gonna lose it all...
Ok, so I had my computer overhauled and iTunes was removed. I no longer have the iTunes disc that came with my iPod mini. So I downloaded iTunes version 5.0 from the website. It no longer has my music library (obviously). I am afraid to hook up my iP
-
I just got an iPhone 4 on August 11th and I think they have fixed the proximity sensor. I have no issues with it at all. It might be the first batch that sucked.
-
Aggregates for master data & Line item Dimension
Hi i have question 1 Can we create Aggregate for Master Data? 2 Can we create Aggregate with Navigational Attributes? 3 Can we create Aggregate with Line Item Dimension? 4 How many dimension we can add with how many characteristics in
-
I am trying to track down a detail about how automation works in Logic Pro X. What I want to know is: 1. Can I draw control-point curves (and smoothly bend them) in a MIDI region to automate a software instrument parameter (and/or smart controls)? 2.
-
F5 is not working after update of windows 8.
f5 is not working after update of windows 8 in my laptop. Rest of the function keys are working. my laptop details are Product Name: HP Pavilion 15-e008tu Notebook PC