Need selection screen values in Search help user exit in same report
Hi Experts,
I am using Logical Data Base PNP.
Created a custom search help to validate the records for IT000 based on the selection screen dates.
Enter the DATEs for Data Selection Period and Person selection period in the selection screen.
When I for search help for PERNR field in the same report, I need the selectin screen DATE values to be in user-exit of search help.
This will help me in validating the records for specific employees within the date range of given DATE in selectin period.
As of now it's picking the employees based on the DATE selection of selection screen,
Regards,
Prasad
Hi,
Go Ahead as mentioned by Satyesh T - (Option two).
Reading Select Options from DYNP_VALUES_READ
reffer the above link for getting more clarity for using 'DYNP_VALUES_READ'
Regards.
Arun
Similar Messages
-
Selection screen values in global variable user exit
Hi all,
I made a project report global variable of type 3 (User Exit) and I develop the related code in enhancement KKDR0001 component EXIT_SAPLKYP1_003. In this code I need the value of project definition that user entered on selection screen.
Does anybody know how can I get this data?
Thanks!Hi,
You can do the following for getting project in Earlier screen
Data: l_string(20) type c
Field-symbols: <fs> type any.
l_string = '(Screen)variable name'.
assign l_string to <FS>.
Just try above... -
Fill data in 2 fields on selection screen from a search help
Hi,
I have defined a custom search help as given below.
Selection Method : ZTSTCT
Search Help Parameters :
TCODE Importing & Exporting
TTEXT Exporting Only
I have two parameters in my report as declared below:
PARAMETERS : tcode TYPE tstct-tcode MATCHCODE OBJECT zm_tstc,
ttext TYPE tstct-ttext.
Now whenever a user selects any TCODE in the help ZM_TSTC, I need both the fields on the selection screen to be filled with appropriate data. When I tested the search help in SE11, both fields are getting filled with appropriate data but in the report only the field TCODE gets filled. Is there any way to get the other field also filled with the appropriate data ?
Points will be awarded for helpful answers.
Thanks & Regards,
MukulHi,
Use the Event.
AT SELECTION-SCREEN AT tcode.
Use the select query from the method ZTSTCT.
select single TTEXT into ttext from ZTSTCT where TCODE = TCODE.
you will get the value of TTEXT .
Regards,
Balakumar.G. -
SELECTION-SCREEN with defined search help
Dear all,
I'd like to specify in my selection screen a variable that will contain the value to display when search help triggered.
DATA: w_lgort LIKE mard-lgort.
DATA: storage(4) TYPE c.
SELECT lgort INTO w_lgort FROM mard WHERE werks = 'p_plant'.
ENDSELECT.
storage = 'w_lgort'.
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-204.
PARAMETERS : p_plant LIKE zmm13jpn-mag_emetteur DEFAULT 'C300',
p_store LIKE (storage).
SELECTION-SCREEN END OF BLOCK bl1.
My idea would be that storage contains only result of above select while using LGORT data element.
Any idea?
Regards.Hi cany,
report zabc.
parameters: p_bukrs type t001-bukrs,
p_butxt type t001-butxt,
p_ort01 type t001-ort01,
p_land1 type t001-land1.
data: dynfields type table of dynpread with header line.
data: return type table of ddshretval with header line.
at selection-screen on value-request for p_bukrs.
call function 'F4IF_FIELD_VALUE_REQUEST'
exporting
tabname = 'T001'
fieldname = 'BUKRS'
dynpprog = sy-cprog
dynpnr = sy-dynnr
dynprofield = 'P_BUKRS'
tables
return_tab = return
exceptions
field_not_found = 1
no_help_for_field = 2
inconsistent_help = 3
no_values_found = 4
others = 5.
break-point.
refresh dynfields.
read table return with key fieldname = 'P_BUKRS'.
Add it back to the dynpro.
dynfields-fieldname = return-retfield.
dynfields-fieldvalue = return-fieldval.
append dynfields.
Get the company code from db and add to dynpro
data: xt001 type t001.
clear xt001.
select single * into xt001
from t001
where bukrs = return-fieldval.
dynfields-fieldname = 'P_BUTXT'.
dynfields-fieldvalue = xt001-butxt.
append dynfields.
dynfields-fieldname = 'P_ORT01'.
dynfields-fieldvalue = xt001-ort01.
append dynfields.
dynfields-fieldname = 'P_LAND1'.
dynfields-fieldvalue = xt001-land1.
append dynfields.
Update the dynpro values.
call function 'DYNP_VALUES_UPDATE'
exporting
dyname = sy-cprog
dynumb = sy-dynnr
tables
dynpfields = dynfields
exceptions
others = 8.
start-of-selection. -
Read webdynpro screen value before Search Help call
Hi Experts,
For a webdynpro screen I have added a custom field to the layout and mapped to a custom attribute which has a a standard search help determined from the dictionary attribute.
There are multiple input field in the layout and there is this custom input field with search help in the layout. During runtime is it possible to read the other inputfield in the layout before F4 is clicked? I want to read one of the inputfield whenever the f4 search help is called. None of the methods WDDOAFTERACTION, WDDOBEFOREACTION, WDDOMODIFYVIEW are triggered before the F4 search help call.
Please let me know if anyone has any idea.Hi,
As suggested you have to use OVS or freely programmed value help. OVS is easy to use , check the below article for OVS Reference : [OVS in WDA|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/606288d6-04c6-2c10-b5ae-a240304c88ea?QuickLink=index&overridelayout=true] Also [Dynamic F4 in WDA|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70cee684-ccbb-2c10-3c94-91e806e5f7ac?QuickLink=index&overridelayout=true]
In the event handler method of OVS read the first input value using get attribute method and select the corresponding value.
Hope this helps u.,
Thanks & regards,
Kiran. -
Hi,
I need to enhanse search help and add F4 functionality to display list of company codes when cursor is in PBUKR field. I put F4IF_INT_TABLE_VALUE_REQUEST
into the user exit but nothing works.
I get error that PROCESS is not defined. If I remove that line there is no error but nothing works.
Can someone tell me what is wrong in the code below.
Thank you.
FUNCTION z_hr_shlp_wbs_element.
""Local interface:
*" TABLES
*" SHLP_TAB TYPE SHLP_DESCR_TAB_T
*" RECORD_TAB STRUCTURE SEAHLPRES
*" CHANGING
*" VALUE(SHLP) TYPE SHLP_DESCR_T
*" VALUE(CALLCONTROL) LIKE DDSHF4CTRL STRUCTURE DDSHF4CTRL
TABLES: prps.
DATA: it_prps LIKE prps OCCURS 0 WITH HEADER LINE.
DATA: status_tab LIKE jstat OCCURS 0 WITH HEADER LINE.
DATA: l_posid LIKE prps-posid.
DATA: l_subrc LIKE sy-subrc.
DATA: l_pbukr LIKE prps-pbukr, " Added by vr
value TYPE DDSHIFACE-VALUE.
EXIT immediately, if you do not want to handle this step
IF callcontrol-step <> 'SELONE' AND
callcontrol-step <> 'SELECT' AND
" AND SO ON
callcontrol-step <> 'DISP'.
EXIT.
ENDIF.
------------------------------------------------------ added by vr
PROCESS ON VALUE-REQUEST.
FIELD PRPS-PBUKR MODULE PBUKR.
DATA: BEGIN OF VALUE_TAB OCCURS 0,
LPBUKR LIKE PRPS-PBUKR,
LPOSID LIKE PRPS-POSID,
END OF VALUE_TAB.
DATA: BEGIN OF RETURN_TAB OCCURS 0.
INCLUDE STRUCTURE DDSHRETVAL.
DATA END OF RETURN_TAB.
SELECT PBUKR POSID FROM PRPS UP TO 20 ROWS
INTO TABLE VALUE_TAB WHERE SLWID = 'QLT UDF'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'PBUKR'
WINDOW_TITLE = 'Statusselektion'
VALUE_ORG = 'S' "hierdurch kann die Struktur genommen werden
TABLES
VALUE_TAB = VALUE_TAB
RETURN_TAB = RETURN_TAB
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
end of additions
STEP SELONE (Select one of the elementary searchhelps)
This step is only called for collective searchhelps. It may be used
to reduce the amount of elementary searchhelps given in SHLP_TAB.
The compound searchhelp is given in SHLP.
If you do not change CALLCONTROL-STEP, the next step is the
dialog, to select one of the elementary searchhelps.
If you want to skip this dialog, you have to return the selected
elementary searchhelp in SHLP and to change CALLCONTROL-STEP to
either to 'PRESEL' or to 'SELECT'.
IF callcontrol-step = 'SELONE'.
PERFORM SELONE .........
EXIT.
ENDIF.
STEP PRESEL (Enter selection conditions)
This step allows you, to influence the selection conditions either
before they are displayed or in order to skip the dialog completely.
If you want to skip the dialog, you should change CALLCONTROL-STEP
to 'SELECT'.
Normaly only SHLP-SELOPT should be changed in this step.
IF callcontrol-step = 'PRESEL'.
PERFORM PRESEL ..........
EXIT.
ENDIF.
STEP SELECT (Select values)
This step may be used to overtake the data selection completely.
To skip the standard seletion, you should return 'DISP' as following
step in CALLCONTROL-STEP.
Normally RECORD_TAB should be filled after this step.
Standard function module F4UT_RESULTS_MAP may be very helpfull in this
step.
IF callcontrol-step = 'SELECT'.
Maximum records are set to 0 because the counter for Max records keeps
running, even if you filter out certain records. This is a similar
problem as described in OSS Note 148525.
Feb 3, 2004 LS: devk907353
(maxrecords = 0 defaults to maxrecords 500)
As of release 4.7, it appears that maxrecords is
being considered on the read of the view, rather
than prior to presenting the selection list.
When only 500 records are passed into this exit,
the subsequent evaluation yields very few records
in the selection list. By setting maxrecords to
8000, the entire contents of the view are passed
to this user exit, and therefor the search help
yields a reasonable selection list to the user
(as was the case in release 4.6b).
callcontrol-maxrecords = 0. " devk907353
callcontrol-maxrecords = 8000. " devk907353
PERFORM STEP_SELECT TABLES RECORD_TAB SHLP_TAB
CHANGING SHLP CALLCONTROL RC.
IF RC = 0.
CALLCONTROL-STEP = 'DISP'.
ELSE.
CALLCONTROL-STEP = 'EXIT'.
ENDIF.
EXIT. "Don't process STEP DISP additionally in this call.
ENDIF.
Added by vr, Nov. 2007 ---------------------------
CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'
EXPORTING
PARAMETER = 'PBUKR' " Reference to search help parameter
IMPORTING
VALUE = value
TABLES
SHLP_TAB = shlp_tab
RECORD_TAB = record_tab
CHANGING
SHLP = shlp
CALLCONTROL = callcontrol.
l_pbukr = value.
End of additions by vr ---------------------------
STEP DISP (Display values)
This step is called, before the selected data is displayed.
You can e.g. modify or reduce the data in RECORD_TAB
according to the users authority.
If you want to get the standard display dialog afterwards, you
should not change CALLCONTROL-STEP.
If you want to overtake the dialog on you own, you must return
the following values in CALLCONTROL-STEP:
- "RETURN" if one line was selected. The selected line must be
the only record left in RECORD_TAB. The corresponding fields of
this line are entered into the screen.
- "EXIT" if the values request should be aborted
- "PRESEL" if you want to return to the selection dialog
Standard function modules F4UT_PARAMETER_VALUE_GET and
F4UT_PARAMETER_RESULTS_PUT may be very helpfull in this step.
IF callcontrol-step = 'DISP'.
DEVK909420 Begin
SELECT * FROM prps INTO TABLE it_prps
WHERE belkz = 'X'.
Changed by vr, Nov. 2007
IF l_pbukr <> ''.
SELECT * FROM prps INTO TABLE it_prps
WHERE belkz = 'X'
AND fkstl <> ''
AND pbukr = l_pbukr.
ELSE.
SELECT * FROM prps INTO TABLE it_prps
WHERE belkz = 'X'
AND fkstl <> ''.
ENDIF.
End of changes
DEVK909420 End
SORT it_prps BY posid.
LOOP AT record_tab.
l_posid = record_tab+96(24).
READ TABLE it_prps WITH KEY posid = l_posid.
IF sy-subrc = 0.
CALL FUNCTION 'STATUS_READ'
EXPORTING
objnr = it_prps-objnr
only_active = 'X'
TABLES
status = status_tab.
DEVK909329 Begin
read table status_tab with key inact = ''
stat = 'E0001'.
if sy-subrc is initial.
read table status_tab with key inact = '' "DEVK909345
stat = 'I0002'. "DEVK909345
endif.
DEVK909329 End
ENDIF.
IF sy-subrc NE 0.
DELETE record_tab.
ELSE.
IF record_tab+114(1) EQ '.' AND
record_tab+115(1) EQ '9'.
DELETE record_tab.
ELSE.
DEVK909420 Begin
IF record_tab+102(1) EQ '9'.
DELETE record_tab.
ELSEIF record_tab+104(1) EQ '9'.
DELETE record_tab.
ENDIF.
DEVK909420 End
ENDIF.
ENDIF.
ENDLOOP.
EXIT.
ENDIF.
ENDFUNCTION.Hi Vitaly,
Process on Value Request and search help exit is entirely two idea to display the f4 values.please remove the PROCESS ON VALUE REQUEST from the function module.write the required select statements after CHECK callcontrol-step EQ 'SELECT' . and pass the value to the function module
CALL FUNCTION 'F4UT_RESULTS_MAP'
TABLES
shlp_tab = shlp_tab
record_tab = record_tab
source_tab = l_record
CHANGING
shlp = shlp
callcontrol = callcontrol
EXCEPTIONS
illegal_structure = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF ( sy-subrc = 0 AND l_record IS INITIAL ).
MESSAGE 'No values found' TYPE 'S'.
ENDIF.
callcontrol-step = 'DISP'.
Find the documentaion for this function module for further help
message edited by
shibu -
Search Help User Exit (if "one" entry in hit list, skip hit list and export)
Hi everyone,
I hope you can help me. I spent many hours on this one but I just could not find a solution (by myself and by searching google and searching the SCN).
Problem like thread subject.
I have the requirement to create a search help using search help exit. Done so far. My search help works fine. There´s a Sel Opt and I get the hit list with several entries. "But" I have one problem. If there is only one entry I have to skip the hit list and just export the value straight to the caller.
I just don´t get it to work. I used the function module F4UT_PARAMETER_RESULTS_PUT but there was no value in shlp-interface-value. Record Tab was written, but value is not exported.
Maybe you got some hints for me?`
Best regards
DominikHi Raymond,
I passed as followed:
***CALL FUNCTION 'F4UT_PARAMETER_RESULTS_PUT'
*** EXPORTING
*** PARAMETER = 'DOC_ID'
*** VALUE = ls_disp_data-doc_id
*** fieldname = 'DOC_ID'
*** TABLES
*** SHLP_TAB = SHLP_TAB
*** RECORD_TAB = RECORD_TAB
*** SOURCE_TAB = lt_disp_data
*** CHANGING
*** SHLP = SHLP
*** CALLCONTROL = CALLCONTROL
*** EXCEPTIONS
*** PARAMETER_UNKNOWN = 1
*** OTHERS = 2.
LT_DISP_DATA is filled with one entry only. DOC_ID is the name of the field I want the value to be set.
Update: It´s fixed. I reset the whole thing. I did set callcontrol-step = 'RETURN' after function call, "but" at the end of the coding there was a leftover from previous tries (an empty if callcontrol-step = 'RETURN' -shell). By setting this condition explicitly the "standard flow" was interrupted.
So, in short: I had to delete the empty if-condition for callcontrol-step = RETURN and then it worked.
Thank you all for your feedback, hints and suggestions!
Best regards,
Dominik -
How to pass the default value to search help selection screen
Hi
I need to push a certain value as a default value based on a condition to the slection screen of search help in web UI.
Could you please let me know how can we do this?
When we try to open the 'F4' help in web ui then it should populate a certain value as a default value to the selection screen of this 'F4' help. We will get this default value based on condition.
Regards
AnilHi Arun
I'm using SE11 search help.I'm giving you my code for your reference here.
DATA:
ls_map TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping,
lt_inmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab,
lt_outmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab,
lr_qs TYPE REF TO cl_crm_bol_dquery_service,
lr_current TYPE REF TO if_bol_bo_property_access,
lv_category TYPE STRING.
ls_map-context_attr = 'struct.zzattr_i_1'.
ls_map-f4_attr = 'ATTRIBUTE'.
APPEND ls_map TO: lt_inmap,lt_outmap.
CLEAR ls_map.
ls_map-context_attr = 'struct.zzattr_i_1'.
ls_map-f4_attr = 'SERVICE_LINE'.
APPEND ls_map TO: lt_inmap.
CREATE OBJECT rv_valuehelp_descriptor
TYPE
cl_bsp_wd_valuehelp_f4descr
EXPORTING
iv_help_id = 'ZATTR1'
iv_help_id_kind = if_bsp_wd_valuehelp_f4descr=>help_id_kind_name
iv_trigger_submit = abap_true
iv_input_mapping = lt_inmap
iv_output_mapping = lt_outmap.
Here 'ZATTR1' is my search help name in SE11 and the field which is having 'F4' help is 'ATTRIBUTE'.
Now when I press 'F4' on 'ATTRIBUTE' then it will give a popup and this popup is having 3 fields..
1.'ATTRIBUTE'
2.'SERVICE_LINE'
3.Description of 'SERVICE_LINE' and hence by pressing 'F4' i should get a value in the field 'SERVICE_LINE' based on
a condition.
However, if there is a value for ATTRIBUTE on the screen and when we press 'F4' on this then in the popup the value of
ATTRIBUTE which is there on the screen is appearing in the 'ATTRIBUTE' field and the same value is being copied to
'SERVICE_LINE' field in the popup.
Please guide me how do we populate the value to 'SERVICE_LINE' field inside the search help popup of 'ATTRIBUTE'.
Best Regards
Anil -
Value Transport (Exporting) to multiple screen fields in Search Help
Hi all,
I have created elementary search help using exit and attached it to data element. After F4 when I get hitlist I want all the values from the selected rows to get copied to the screen fields. I.e. I want the value transport.
In the search help I am exporting those values which I want to get copied back but I am unable to get the result.
With Regards,
ChandraHi,
You can get this behaviour only by making the SEARCH HELP assignment at the STRUCTURE level.
You need to create or use an existing structure to create your screen fields which you want to populate using the search help. Then assign this search help directly to the structure and there do the mapping between structure fields and the search help export params.
Only by doing this you can autopopulate the values using one search help.
Regards,
Sesh -
Selected value in search help cannot be returned
Hi experts!
When I select value in search help, selected value is not returned to the field.
I did like this.
1. I enhanced BP using EEW.
2. I created a new view and display an enhanced field via BSP workbench.
(an enhanced field is assigned to a check table)
3. I created GET_V_XX method as follows.
method GET_V_ZZBUT000000102.
DATA:
ls_map TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping,
lt_inmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab,
lt_outmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab.
ls_map-context_attr = 'STRUCT.ZZBUT000000102'.
ls_map-f4_attr = 'KEY'.
APPEND ls_map TO: lt_inmap, lt_outmap.
CREATE OBJECT rv_valuehelp_descriptor
TYPE
cl_bsp_wd_valuehelp_f4descr
EXPORTING
iv_help_id = 'CRMST_HEADER_OBJECT_BUIL-ZZBUT000000102'
iv_help_id_kind = if_bsp_wd_valuehelp_f4descr=>help_id_kind_comp
iv_input_mapping = lt_inmap
iv_output_mapping = lt_outmap.
endmethod.
Does anyone know what is wrong?Hi Yohei,
You could resolve your issue by changing the value of the "ls_map-context_attr" to the attribute value seen on the F2 help on WebUI screen.
If you change the value ls_map-context_attr to 'ZZBUT000000102' , then F4 help would work properly.
Hence the correct code would be:
method GET_V_ZZBUT000000102.
DATA:
ls_map TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping,
lt_inmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab,
lt_outmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab.
ls_map-context_attr = 'ZZBUT000000102'.
ls_map-f4_attr = 'KEY'.
APPEND ls_map TO: lt_inmap, lt_outmap.
CREATE OBJECT rv_valuehelp_descriptor
TYPE
cl_bsp_wd_valuehelp_f4descr
EXPORTING
iv_help_id = 'CRMST_HEADER_OBJECT_BUIL-ZZBUT000000102'
iv_help_id_kind = if_bsp_wd_valuehelp_f4descr=>help_id_kind_comp
iv_input_mapping = lt_inmap
iv_output_mapping = lt_outmap.
endmethod.
Regards,
Pratik Gandhi -
At selection-screen value- help
Hi All,
I have a requirement that based on a radio button one at selection-screen value-help is triggered and on based on a different radio button another at selection-screen value-help should be triggered.
can it be achieved.
Regards,
JeetuAT SELECTION-SCREEN - selscreen_event
Syntax
| { ON {para|selcrit} }
| { ON END OF selcrit }
| { ON BLOCK block }
| { ON RADIOBUTTON GROUP radi }
| { }
| { ON {HELP-REQUEST|VALUE-REQUEST}
| FOR {para|selcrit-low|selcrit-high} }
| { ON EXIT-COMMAND }.
Alternatives:
1. ... OUTPUT
2. ... ON {para|selcrit}
3. ... ON END OF selcrit
4. ... ON BLOCK block
5. ... ON RADIOBUTTON GROUP radi
6. ... { }
7. ... ON {HELP-REQUEST|VALUE-REQUEST} FOR
{para|selcrit-low|selcrit-high} }
8. ... ON EXIT-COMMAND
Effect
These additions allow individual evaluation of specific elements of the selection screens of the program. The information as to which selection has triggered the event is contained in the system field sy-dynnr.
Alternative 1
... OUTPUT
Effect
This event is triggered at the screen event PBO of a selection screen. In the event block, the selection screen can be prepared through assignments to the data objects of parameters and selection criteria and through dynamic screen modifications.
Note
The assignments to input fields in the event block AT SELECTION-SCREEN OUTPUT always affect the selection screen and overwrite the user inputs from previous displays of the same selection screen. Assignments in the event blocks LOAD-OF-PROGRAM oder INITIALIZATION, on the other hand, only have an effect at first program start.
Alternative 2
... ON {para|selcrit}
Effect
This event is triggered at the screen event PAI of a selection screen if the content of the input field of a parameter para or a line of a selection criterion selcrit was passed to the ABAP program. In the event block, the user input can be checked. Sending a warning or an error message in the event block makes the fields para and selcrit ready for input again.
No parameter that is defined as a radio button can be specified. For this purpose, the addition ON RADIOBUTTON GROUP is provided.
Note
If a user action takes place in the dialog box for the multiple selection of a selection criterion selcrit, the entries of the selection table are passed to the program, line by line. For each line, the event AT SELECTION-SCREEN ON selcrit is triggered.
Alternative 3
... ON END OF selcrit
Effect
This event is triggered after the selection table selcrit has been fully passed to the program after a user action in the dialog box for the multiple selection has taken place. In the event block, the entire selection table can be checked.
Alternative 4
... ON BLOCK block
Effect
This event is triggered at the screen event PAI of a selection screen if all the input fields of a block block of the selection screen were passed to the ABAP program. In the event block, the user inputs can be checked. Sending a warning or an error message in the event block makes all the fields of the block block ready for input again.
Alternative 5
... ON RADIOBUTTON GROUP radi
Effect
This event is triggered at the screen event PAI of a selection screen if all the fields of a radio button group radi of the selection screen were passed to the ABAP program. In the event block, the user input can be checked. Sending a warning or error message in the event block makes all the radion buttons of the block radi ready for input again.
Note
The individual fields of a radio button group are not passed individually and do not trigger the event AT SELECTION-SCREEN ON par.
Alternative 6
Effect
The event AT SELECTION-SCREEN itself is triggered as the last event of selection screen processing if all the input values were passed to the program. In this event block, all the user inputs can be checked. Sending a warning or an error message in the event block makes all the screen fields ready for input once again.
Alternative 7
... ON { HELP-REQUEST | VALUE-REQUEST } FOR
{para|selcrit-low|selcrit-high} }
Effect
The two events ON HELP-REQUEST and ON VALUE-REQUEST are triggered at the screen events POH and POV of a selection screen if - for the input field of a parameter para or one of the input fields of a selection criterion selcrit - the field help F1 or the input help F4 was called. Other selection events are not triggered.
In the event blocks, a self-defined field or input field can be programmed, which overrides any helps possibly defined in the ABAP Dictionary.
Notes
These event blocks can only be implemented for fields of the selection screen that are defined in the same ABAP program and not in a possibly linked logical database.
With the events for the field and input help, no data is transported between the selection screen and the ABAP program. As with general screens, suitable function modules must be used for these. The parameters and selection criteria changed for the input help are transported to the selection screen.
Alternative 8
... ON EXIT-COMMAND
Effect
This event is triggered if the user has called one of the functions Back, Exit or Cancel. In the event block, possible clean-up actions can be executed.
Example
In these executable programs, a standard selection screen and a further selection screen are defined. In the event blocks AT SELECTION-SCREEN, the inputs in the selection screens can be specially handled using the name p_carrid and the screen number in sy-dynnr.
REPORT demo_at_selection_screen.
Global data
DATA: sflight_tab TYPE TABLE OF sflight,
sflight_wa LIKE LINE OF sflight_tab.
Selection screens
PARAMETERS p_carrid TYPE spfli-carrid.
SELECTION-SCREEN BEGIN OF SCREEN 500.
SELECT-OPTIONS s_conn FOR sflight_wa-connid.
DATA s_conn_wa LIKE LINE OF s_conn.
SELECTION-SCREEN END OF SCREEN 500.
Handling selection screen events
AT SELECTION-SCREEN ON p_carrid.
IF p_carrid IS INITIAL.
MESSAGE 'Please enter a value' TYPE 'E'.
ENDIF.
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD p_carrid
ID 'ACTVT' FIELD '03'.
IF sy-subrc = 4.
MESSAGE 'No authorization for carrier' TYPE 'E'.
ELSEIF sy-subrc <> 0.
MESSAGE 'Error in authority check' TYPE 'A'.
ELSE.
IF sy-ucomm = 'ONLI'.
CALL SELECTION-SCREEN '0500'.
ENDIF.
ENDIF.
AT SELECTION-SCREEN.
IF sy-dynnr = '0500'.
IF s_conn IS INITIAL.
MESSAGE 'Please enter values' TYPE 'W'.
ELSE.
SELECT *
FROM sflight
INTO TABLE sflight_tab
WHERE carrid = p_carrid AND
connid IN s_conn.
IF sy-subrc <> 0.
MESSAGE 'No flights found' TYPE 'E'.
ENDIF.
ENDIF.
ENDIF.
Main program
START-OF-SELECTION. -
can any one suggest, how to capture the selection screen value on the selection screen itself.
ex : i have parameter (plant) on the selection screen, based on the plant entered by user i need to display the F4 help for the another parameter(MRP controller).
if the user enters plant 3218 then when requests for F4 help for the parameter MRP controller, then controller values related to that plant need to be displayed as F4 help.
i had done everything explaned above, but one problem i am facing.
after entering the plant on the selection screen i need to press the enter key, then if i request for F4 for MRP controller then i am getting the apprpriate values.
after entering plant if i didnot use enter key and request for F4 help for MRP controller then it is displaying no values.Hello Sippy
The ENTER causes the program flow to pass PAI followed by PBO of the selection-screen. This way the entered value becomes "known" to the report.
If you enter your plant, do NOT push ENTER and then call the next search help you have to read the entered value from the selection-screen yourself using fm DYNP_VALUES_READ.
For more details search the forums for this function module, e.g.:
[Regarding Custom F4 help|Regarding Custom F4 help;
Regards
Uwe -
How can I get selection screen values from outside of program?
Hi. all.
Now. I'm developing moritoring systems and I have problems. for getting selection screen values in runtime. Is there any function, methods or structure to know this?
I'd like to get selection screen values while several programs working in runtime and update these values to table to show current system's status and input values for users in real time.
For example.
Now. 3 PGMs are working on systems.
each PGM is ZAAA01, ZAAA02, ZAAA03.
and ZAAA01 needs input parameter P01, ZAAA02 needs input parameter P02, ZAAA03 needs input parameter P03.
In this case, I have to know values of P01, P02 and P03.
The mornitoring systems will show current working status of PGMs(ZAAA01~03)' and these PGMs' input values.
As fas as I know, the structure 'SCREEN' can be used in each PGM for runtime. Is there any SAP system structure or something else for this purpose?
I hope your hopeful repsponse.
Thanks.Umm..I need to explain more about this.
of course I know SET, GET PARAMETERS.
But I'd like to minimize coding for each PGM level.
I have over hundreds PGMs and I have to develop the PGM(including tables and structures) that mornitor
all of those PGMs on a report in real-time.
This PGM is kind of Process Manager.
First I should know dialogue job PGM and background job that pass parameters using SAP(ABAP) Memory.
And then I have to update those PGMs' input values via screens into tables in real-time.
So, I couldn't use SET,GET PARAMETERS for this PGM.
I want to know methods that can be used for getting information about runtime PGMs' selection screen field values in SAP systems wide.
Please help me some one knows this. -
Need to restrict values in F4 help for Batch Characteristic
Hi,
I need to restrict values in F4 Help for a batch characteristic based on values entered for another characteristic. I could not find any BADI or Exit for this purpose. There is a BADI CACL_VALUE which is triggered after an entry is selected from dropdown list but nothing when we press F4. I thought of using Object Dependency but I need to write a programming logic for the requirement. Please let me know if there is any way to write program in Object Dependency or any other way for this requirement.
Regards,
NikhilHi nikhil simha,
first of all, find out which search help is called.
[Hierarchy of the Search Help Call|http://help.sap.com/saphelp_nw70/helpdata/en/0b/32e9b798da11d295b800a0c929b3c3/frameset.htm]
may help you.
If you know the search help, you may enhance it, but first of all you should check the where-used-list and make sure that the search help shows the requested behavior only in the context where you want it to.
If it is your own program, you may be better off to create your own search help and define the triggering fields as search help interface input fields. Then you can use the values to filter results.
Regards
Clemens -
Passing selection screen values to the next report using CALL TRANSACTION
Hi experts,
I have 2 reports. In the first report i have the 3 input fields in the first report, how do i pass the values to the next report which is transaction: ZKKBC_PKO_2.
I want to display in the next report the selections that the user previously selected.
First report:
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: COMP LIKE AFRU-WERKS OBLIGATORY MODIF ID s1.
PARAMETERS: PERIOD LIKE COEP-PERIO OBLIGATORY MODIF ID s1.
PARAMETERS: YEAR LIKE COEP-GJAHR OBLIGATORY MODIF ID s1.
SELECTION-SCREEN END OF BLOCK b1.
CALL TRANSACTION 'ZKKBC_PKO_2'.
Anyone can help me?
Thanks,
LawrenceHi experts,
What i did is this:
Using SET PARAMETER
in the first report
SET PARAMETER ID 'WRK' FIELD COMP.
SET PARAMETER ID 'VPE' FIELD PERIOD.
SET PARAMETER ID 'GJR' FIELD YEAR.
CALL TRANSACTION 'ZKKBC_PKO_2'.
Second Report
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS: WRK LIKE AFRU-WERKS.
PARAMETERS: VPE LIKE COEP-PERIO.
PARAMETERS: GJR LIKE COEP-GJAHR.
SELECTION-SCREEN END OF BLOCK blk1.
Using SUBMIT
First Report
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: COMP LIKE AFRU-WERKS OBLIGATORY MODIF ID s1.
PARAMETERS: PERIOD LIKE COEP-PERIO OBLIGATORY MODIF ID s1.
PARAMETERS: YEAR LIKE COEP-GJAHR OBLIGATORY MODIF ID s1.
SELECTION-SCREEN END OF BLOCK b1.
SUBMIT ZCO_PRDCOST_ACTUAL_2 VIA SELECTION-SCREEN USING SELECTION-SETS OF PROGRAM 'ZCO_PRDCOST_ACTUAL_1' AND RETURN.
Second Report:
GET PARAMETER ID 'WRK' FIELD comp.
GET PARAMETER ID 'VPE' FIELD COEP-PERIO.
GET PARAMETER ID 'GJR' FIELD YEAR.
Either this 2 ways i still cannot get the first report selection values on the 2nd report. Can someone help me see if my codes is correcT?
Maybe you are looking for
-
Document split by profit center
Hi, We are in a re-implementation scenario.Client is using the older version of SAP and the new version is ECC 6.0.The requirement is to activate the document splitting with profit center and segment as scenarios.(Charecteristics for splitting).As on
-
HT4589 Why the trial version continues to crash?
I downloaded the trial version of Final Cut with maybe the idea to buy. It continues to crashes...though I don't lose the latest edits...just absolutely annoying...is it the best this app can do? I have a prety big (power) imac so it is not really bo
-
Read-only report for two records
I have a table that has two records per one parent record. I want to display these two records on a page containing read-only fields (items) of the parent record. I was thinking of just having two regions each of which would perform a SELECT to pull
-
Can I use Time Capsule as external hard drive?
I've been getting "your startup disk is almost full" message, so I bought myself a Time Capsule on the advice of a friend. My question is...can I store stuff on my Time Capsule instead of my laptop? And if so, can my computer access the info in the
-
Downloaded new FF4 and it could not run on Mac OSX v 10.4.11. It just crashes.