Reg Selection Screen Events
Hi Friends,
I have 3 input field and two radio button in my selection screen, On clicking the first radio button, the sum of two fields should be displayed in the third input field. Similarly when i click the second radio button, the multiply of two fields should be displayed in third inpur field.
Could you please all help me on this?
Regrads,
Sundaresan
Hi,
Check this code..
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
parameter : num1 TYPE i,
num2 TYPE i,
num3 TYPE i.
PARAMETERS: r1 RADIOBUTTON GROUP rad1 user-command usr DEFAULT 'X',
r2 RADIOBUTTON GROUP rad1.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN OUTPUT.
IF r1 EQ 'X'.
num3 = num1 + num2.
ENDIF.
IF r2 EQ 'X'.
num3 = num1 * num2.
ENDIF.
Similar Messages
-
How to get rid of the loop in ALV output from At selection screen event?
I have several push buttons on a selection screen.
Clikc on a button, then it pops up an editable ALV report. (This gets triggered AT SELECTION SCREEN event.). REUSE_ALV_GRID_DISPLAY_LVC..
On the ALV output, I enabled F4 for a couple of fields. Once I click on the F4 button, ONF4 method gets triggerd and a pop up appears with custom search helps.
choose a line and it fills the cell.
Upto this it works fine.
Now I click on the BACK button at the ALV output, it takes me to the selection screen. I click on the button again, it show the editable ALV. Now when I click on the F4 button, the pop up comes up twice and the cell gets filled from the second pop - up.
How to control this?
Probably I am not refreshing something?
(I am using REUSE_ALV_GRID_DISPLAY_LVC and tooks ome code for ONF4 event from BCALV_*DATATYPES (forgot the exact name) program.)
Thanks,
VenHi,
FORM refresh_grid USING pw_grid TYPE REF TO cl_gui_alv_grid.
*Work area
DATA : wal_stable TYPE lvc_s_stbl.
CHECK NOT pw_grid IS INITIAL.
wal_stable-col = c_check.
wal_stable-row = c_check.
*Method to refresh grid
CALL METHOD pw_grid->refresh_table_display
EXPORTING
is_stable = wal_stable
i_soft_refresh = c_check
EXCEPTIONS
finished = 1
OTHERS = 2.
ENDFORM. " refresh_grid
Thanks,
Sree. -
How to catch the select-options value in AT SELECTION-SCREEN event?
Hi,all
This is my code:
SELECT-OPTIONS: P_BUKRS FOR T012-BUKRS.
PARAMETERS: P_BNKA TYPE BANKA.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_BNKA.
select single bankl from bnka where bukrs = p_bukrs.
Last statement failed because p_bukrs was null.
So, How can I got the value of p_bukrs in AT SELECTION-SCREEN event?Hi Jie,
try following code.
REPORT zanu_test.
TABLES : t012.
PARAMETERS: p_bukrs LIKE t012-bukrs.
PARAMETERS: p_bnka TYPE banka.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bnka.
DATA: BEGIN OF dynpfields OCCURS 0.
INCLUDE STRUCTURE dynpread.
DATA: END OF dynpfields.
*--- IT for changing fields on the screen
DATA : t_dynp_flds LIKE dynpread OCCURS 0 WITH HEADER LINE,
t_dynpfields LIKE dynpread OCCURS 0 WITH HEADER LINE.
DATA: l_bukrs LIKE t012-bukrs.
DATA: BEGIN OF it_bank OCCURS 0,
banka LIKE bnka-banka,
END OF it_bank.
DATA: l_tabix LIKE sy-tabix.
dynpfields-fieldname = 'P_BUKRS'. APPEND dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = 'ZANU_TEST'
dynumb = sy-dynnr
TABLES
dynpfields = dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF sy-subrc EQ 0.
READ TABLE dynpfields WITH KEY fieldname = 'P_BUKRS'.
IF sy-subrc EQ 0.
MOVE dynpfields-fieldvalue TO l_bukrs.
ENDIF.
ELSE.
EXIT.
ENDIF.
SELECT b~banka INTO CORRESPONDING FIELDS OF TABLE it_bank
FROM t012 AS a
INNER JOIN bnka AS b
ON abanks = bbanks AND abankl = bbankl
WHERE a~bukrs = l_bukrs.
CLEAR l_tabix.
CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
EXPORTING
endpos_col = 85
endpos_row = 20
startpos_col = 50
startpos_row = 10
titletext = text-035
IMPORTING
choise = l_tabix
TABLES
valuetab = it_bank
EXCEPTIONS
break_off = 1
OTHERS = 2.
IF sy-subrc EQ 0.
READ TABLE it_bank INDEX l_tabix.
IF sy-subrc EQ 0.
*--- Clear IT t_dynp_flds
CLEAR : t_dynp_flds,
t_dynp_flds[].
*--- Append screen values
t_dynp_flds-fieldname = 'P_BNKA'.
t_dynp_flds-fieldvalue = it_bank-banka.
APPEND t_dynp_flds.
CLEAR t_dynp_flds.
ENDIF.
ENDIF.
*--- Change screen field contents w/o PBO
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = 'ZANU_TEST'
dynumb = sy-dynnr
TABLES
dynpfields = t_dynp_flds
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
START-OF-SELECTION.
-Anu -
How to prevent AT SELECTION-SCREEN event on second Selection Screen
Hi All
I have a program in which I am entering some parameters in a selection screen and also validating them in AT SELECTION-SCREEN events. After validating them the program shows another selection screen in which I have some push-buttons. I have some events on those push-buttons also.
However I am facing a different problem now. When I execute the second selection screen I get the report, and when I click on back button then it again triggers the AT SELECTION SCREEN event of the first selection screen and displays the related messages.
How to prevent this ? Is there any way where I can restrict the execution of selection screen events for a particular selection screen?
AmolHi,
try this logic when Ist selection screen validation
is done set a flag = 'X' .
at selection-screen.
if glag is initial
*screen validation
flag = 'X..
endif.
regards
amole -
Subscreen with Select-Options called from At Selection Screen event
Dear friends,
I'm trying to call a subscreen that contains a select-options, from an 'at selection screen' event, in a report program, but without sucess.
Here's go what I'm doing:
I declared a selection-screen as subscreen in my main program, and I'm calling it from a module-pool subscreen area, to make the module-pool select-options magic.
In my main report program, I have a customized status GUI with a new toolbar button and I'm handling it at the 'at selection screen' event.
What I need to do is to call the subscreen that contains the select-options when this new customized button get pressed, but when It happens, the select-option selections pop-up doesn't appear.
If I call the subscreen from the 'start-of-selection' event, it goes fine, just don't work from the 'at selection screen'.
Any ideas on how can I do it?
Thank you,
Heberi think you should try something like this:
at selection screen.
if condition handled ....
show_popup = 'X'.
endif.
at selection screen output.
if show_popup EQ 'X.
call subscreen
endif. -
Is it possible to have two at selection-screen events in a program
Hi all,
I have a selection screen wherein i am using i have 5 radiobuttons and 3 select-options and a parameter. I am trying to use two at selection-screen events
1) at selection-screen on radiobutton group rad1.
2) AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_STATUS.
the second event is not getting triggered.
I have to get certain values for the parameter p_status based on the radiobutton selected from an internal table(the field doesn't belong to any dictionary table i am filling an itab with some values based on the radiobutton selected) pls help. its urgent.
Regards
TharanathHi
TYPES : BEGIN OF ST_OBJID_SH,
OTYPE TYPE HRP1000-OTYPE,
OBJID TYPE HRP1000-OBJID,
END OF ST_OBJID_SH.
DATA : IT_OBJID_SH TYPE STANDARD TABLE OF ST_OBJID_SH.
DATA : WA_OBJID_SH TYPE ST_OBJID_SH.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_OBJID-LOW.
IF S_OBJID IS NOT INITIAL.
SELECT OTYPE OBJID FROM HRP1000
INTO TABLE IT_OBJID_SH
WHERE OTYPE = 'D'.
IF SY-SUBRC EQ 0.
SEARCH HELP FOR QUALIFICATION.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
RETFIELD = 'OBJID'
PVALKEY = ' '
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'S_OBJID'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
VALUE_TAB = IT_OBJID_SH
FIELD_TAB =
RETURN_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.
ENDIF.
Use in this way it will defently triggers
<b>REward if usefull</b> -
Sequence of AT SELECTION-SCREEN events
Hi All,
I have a requirement where i need to have two fields selection screen, where the second field should have f4 help depending on the first field.
So, i have validated the first field through AT SELECTION-SCREEN ON <FIELD1>. and for the second field i am using AT SELECTION-SCREEN ON VALUE-REQUEST FOR <FIELD2>
The problem i am facing over here is when i give first field input and press F4 in the second field it is not validating the First field and instead it is showing FIELD1 as blank to over come this i need to press enter before i press F4 in the second field. Is there any other alternative to over come this problem.
Is there any sequenec for the AT SELECTION-SCREEN events to be used.
Thanks
ShashikanthHi Shashi,
Check the below code
and for your future ref
Table Control dynamic F4
DATA : BEGIN OF f4_tab OCCURS 0,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
END OF f4_tab.
CLEAR lin.
" adjust this as per your requirement
DATA : dynpread TYPE TABLE OF dynpread WITH HEADER LINE.
REFRESH dynpread.
CLEAR dynpread.
dynpread-fieldname = 'ITAB-CARRID'.
* dynpread-stepl = lin.
APPEND dynpread.
CLEAR dynpread.
at selection-screen on value-request for YOUR_FIELD " Your Second Field here
CALL FUNCTION 'DYNP_VALUES_READ'
" This FM gives the First field value before u press Enter/ PAI is triggered
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = dynpread
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11
IF sy-subrc IS INITIAL.
READ TABLE dynpread WITH KEY fieldname = 'ITAB-CARRID'.
IF sy-subrc IS INITIAL.
SELECT carrid connid FROM sflight
INTO TABLE f4_tab
WHERE carrid = dynpread-fieldvalue.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'CONNID'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'ITAB-CONNID'
value_org = 'S'
TABLES
value_tab = f4_tab
ENDIF.
ENDIF.
Cheerz
Ram
Edited by: Rob Burbank on Mar 18, 2010 9:01 AM -
At Selection-screen Events!
Hi!
Pls tell me the order of selection screen events in sequence
Pls give some sample program for validation of selection screen i/p without using search helps.
ThanksHi Rahul
Basic form
AT SELECTION-SCREEN.
Additions
1. ... ON psel
2. ... ON END OF sel
3. ... ON VALUE-REQUEST FOR psel_low_high .
4. ... ON HELP-REQUEST FOR psel_low_high
5. ... ON RADIOBUTTON GROUP radi
6. ... ON BLOCK block
7. ... OUTPUT
Effect
This event only makes sense in reports, i.e. in programs set to type 1 in the attributes. Type 1 programs are started via a logical database and always have a selection screen where the user can specify the database selections.
The event is processed when the selection screen has been processed (at the end of PAI ).
If an error message ( MESSAGE Emnr ) is sent during the event, all fields on the selection screen become ready for input.
After further user input, AT SELECTION-SCREEN is executed again.
Note
You should only perform very expensive checks with AT SELECTION-SCREEN if the program is then started (not every time the user presses ENTER). Here, you can read the system field SSCRFIELDS-UCOMM (provided a statement TABLES SSCRFIELDS exists). If the field has one of the values 'ONLI' (= Execute) or 'PRIN' (= Execute and Print), the report is then started, i.e. the selection screen is closed and the processing continues with START-OF-SELECTION . Remember that the selection screen (and thus also AT SELECTION-SCREE N ) is also processed in variant maintenance and with SUBMIT VIA JOB . You can determine which of these applies by calling the function module RS_SUBMIT_INFO .
Addition 1
... ON psel
Effect
This event is assigned to the selection screen fields corresponding to the report parameter or selection criterion psel .
If the report starts an error dialog at this point, precisely these fields become ready for input.
Addition 2
... ON END OF sel
Effect
For each selection criterion sel on the selection screen, you can call a further screen by pressing a pushbutton. On this screen, you can enter any number of single values and ranges for the selection criterion sel .
When this screen has been processed (i.e. at the end of PAI for this screen), the event AT SELECTION-SCREEN ON END OF sel is executed.
At this point, all the values entered are available in the internal table sel .
Addition 3
... ON VALUE-REQUEST FOR psel_low_high
Effect
With this addition, the field psel_low_high is either the name of a report parameter or of the form sel-LOW or sel-HIGH , where sel is the name of a selection criterion. The effect of this is twofold:
The pushbutton for F4 (Possible entries) appears beside the appropriate field.
When the user selects this pushbutton or presses F4 for the field, the event is executed. You can thus implement a self-programmed possible entries routine for the input/output fields of the selection screen. If the program contains such an event and the user presses F4 , the system processes this rather than displaying the check table or the fixed values of the Dictionary field - even if the report parameter or the selection option with LIKE or FOR points to a Dictionary field. You can, for example, use the CALL SCREEN statement to display a selection list of possible values. The contents of the field psel_low_high at the end of this processing block are copied to the appropriate input/output field.
This addition is only allowed with report-specific parameters (PARAMETERS ) or selection options (SELECT-OPTIONS ). For database-specific parameters or selection options, you can achieve the same effect by using the addition VALUE-REQUEST FOR ... with the key word PARAMETERS or SELECT-OPTIONS in the include DBxyzSEL (where xyz = name of logical database). In this case, you must program the value help in the database program SAPDBxyz .
Addition 4
... ON HELP-REQUEST FOR psel_low_high
Effect
As with the addition ON VALUE-REQUEST the field psel_low_high is either the name of a report parameter or of the form sel-LOW or sel-HIGH , where sel is the name of a selection criterion. When the user presses F1 on the relevant field, the subsequent processing block is executed. You can thus implement a self-programmed help for the input/output fields of the selection screen. If the program contains such an event and the user presses F1 , the system processes this rather than displaying the documentation of the Dictionary field - even if the report parameter or the selection option with LIKE or FOR points to a Dictionary field.
This addition is only allowed with report-specific parameters (PARAMETERS ) or selection options (SELECT-OPTIONS ). For database-specific parameters or selection options, you can achieve the same effect by using the addition HELP-REQUEST FOR ... with the key word PARAMETERS or SELECT-OPTIONS in the include DBxyzSEL (where xyz = name of logical database). In this case, you must program the help in the database program SAPDBxyz .
Addition 5
... ON RADIOBUTTON GROUP radi
<u><b>Effect</b></u>
This event is assigned to the radio button groups on the selection screen defined by PARAMETERS par RADIOBUTTON GROUP radi .
If the report starts an error dialog at this point, precisely these fields of the radio button group radi become ready for input again.
<b>
Addition 6</b>
... ON BLOCK block
Effect
<b><i>This event is assigned to the blocks on the selection screen defined by SELECTION-SCREEN BEGIN/END OF BLOCK block .
If the report starts an error dialog at this point, precisely these fields of the block block become ready for input again.</i></b>
<u><b>Note</b></u>
In which sequence are the events AT SELECTION-SCREEN ON psel ... , AT SELECTION-SCREEN ON RADIOBUTTON GROUP ... , AT SELECTION-SCREEN ON BLOCK ... , AT SELECTION-SCREEN processed?
<i>The AT SELECTION-SCREEN ON psel ... events assigned to the parameters or selection options are executed in the sequence they are declared in the program, i.e. in the sequence they appear on the selection screen.
The events assigned to the radio button groups are executed according to the first parameter of the radio button group.
The events assigned to the blocks are executed "from the inside to the outside".</i>
<b>Example</b>
SELECT-OPTIONS SEL0 FOR SY-TVAR0.
SELECTION-SCREEN BEGIN OF BLOCK BL0.
SELECT-OPTIONS SEL1 FOR SY-TVAR1.
SELECTION-SCREEN BEGIN OF BLOCK BL1.
PARAMETERS P0 RADIOBUTTON GROUP RADI.
PARAMETERS P1 RADIOBUTTON GROUP RADI.
SELECTION-SCREEN BEGIN OF BLOCK BL2.
PARAMETERS P3.
SELECTION-SCREEN END OF BLOCK BL2.
SELECT-OPTIONS SEL2 FOR SY-TVAR2.
SELECTION-SCREEN END OF BLOCK BL1.
SELECTION-SCREEN END OF BLOCK BL0.
<b>Sequence:</b>
AT SELECTION-SCREEN ON...
SEL0
SEL1
RADIOBUTTON GROUP RADI
P3
BLOCK BL2
SEL2
BLOCK BL1
BLOCK BL0
AT SELECTION-SCREEN is executed at the very end.
<b>Addition 7</b>
... OUTPUT
<u>Effect</u>
<b>This event is executed at PBO of the selection screen every time the user presses ENTER - in contrast to INITIALIZATION . Therefore, this event is not suitable for setting selection screen default values. Also, since AT SELECTION-SCREEN OUTPUT is first executed after the variant is imported (if a variant is used) and after adopting any values specified under SUBMIT in the WITH clause, changing the report parameters or the selection options in AT SELECTION-SCREEN OUTPUT would destroy the specified values.
Here, however, you can use LOOP AT SCREEN or MODIFY SCREEN to change the input/output attributes of selection screen fields.</b>
<u><b>Example</b></u>
<b>Output all fields of the
SELECT-OPTION NAME
highlighted:</b>
SELECT-OPTIONS NAME FOR SY-REPID MODIF ID XYZ.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CHECK SCREEN-GROUP1 = 'XYZ'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDLOOP.
<i><b>The addition MODIF ID XYZ to the key word SELECT-OPTIONS assigns all fields of the selection option NAME to a group you can read in the field SCREEN-GROUP1 . At PBO of the selection screen, all these fields are then set to highlighted.
</b></i>
check these links
http://help.sap.com/saphelp_nw2004s/helpdata/en/56/1eb6c705ad11d2952f0000e8353423/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/10/e7dbde82ba11d295a40000e8353423/content.htm
Reward all helpfull answers
Regards
Pavan -
Capture Selection-screen events
Dear SAP friends,
I have created OOP report.
At the runtime the program creates toolbar and adds pushbuttons to it.
Every button has fcode assigned.
On button click the below method is called.
The below statement "CALL SELECTION-SCREEN 1200 STARTING AT 10 10" calls selection screen as popup.
I need to capture when User closes the selection popup and when he clicks Cancel button located in the selection popup.
Please advise.
Regards
Tatyana.
METHOD handle_pushbutton_click.
CASE fcode.
WHEN 'CHECKS_EXP'.
CALL SELECTION-SCREEN 1200 STARTING AT 10 10.
PERFORM at_selection_1200.
CHECK w_continue = abap_true.
PERFORM build_options_range.
PERFORM build_options_norange.
PERFORM start_selection_1200.
PERFORM fcat_init_1200.
w_title = 'Checks -> Expenditures'.
PERFORM set_layout USING w_title.
PERFORM getdata_1200.
DESCRIBE TABLE lt_rpt LINES w_count. " Get number of records.
PERFORM populate_selection USING w_count.
ENDDCASE.Hello Tatyana
The following sample report ZUS_SDN_OO_REPORT_SELSCREEN should simulate your scenario.
If you push the EXECUTE button you will find ok-code='CRET'.
If you close the popup or push the CANCEL button ok-code=' ' (space; empty). This way you know that the popup was closed by the user.
*& Report ZUS_SDN_OO_REPORT_SELSCREEN
*& Thread: Capture Selection-screen events
*& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1205127"></a>
REPORT zus_sdn_oo_report_selscreen.
* CLASS lcl_myclass DEFINITION
CLASS lcl_myclass DEFINITION.
PUBLIC SECTION.
CLASS-DATA:
md_okcode TYPE ui_func.
CLASS-METHODS:
handle_pushbutton_click.
ENDCLASS. "lcl_myclass DEFINITION
* CLASS lcl_myclass IMPLEMENTATION
CLASS lcl_myclass IMPLEMENTATION.
METHOD handle_pushbutton_click.
DATA: ld_msg TYPE bapi_msg.
BREAK-POINT.
CLEAR: lcl_myclass=>md_okcode.
DO.
CALL SELECTION-SCREEN 1200 STARTING AT 10 10.
EXIT.
ENDDO.
CONCATENATE 'ok-code =' md_okcode INTO ld_msg
SEPARATED BY space.
MESSAGE ld_msg TYPE 'I'.
MESSAGE 'Continue after SelScreen' TYPE 'S'.
ENDMETHOD. "handle_pushbutton_click
ENDCLASS. "lcl_myclass IMPLEMENTATION
SELECTION-SCREEN BEGIN OF SCREEN 1200.
PARAMETERS:
p_bukrs TYPE bukrs.
SELECTION-SCREEN END OF SCREEN 1200.
AT SELECTION-SCREEN OUTPUT.
BREAK-POINT.
CLEAR: syst-ucomm.
AT SELECTION-SCREEN.
BREAK-POINT.
lcl_myclass=>md_okcode = syst-ucomm.
START-OF-SELECTION.
lcl_myclass=>handle_pushbutton_click( ).
END-OF-SELECTION.
Regards
Uwe -
Reports(Selection screen events)
Hi guys,
What are the 11 selection screen events?Hai Raj Singh
Here is the Report Event
Check it
This is the order of execution in Classical/Interactive Report Events
Classical Reports
Reports which are properly formatted (header, footer, page numbers etc.,) with the help of one or more external events like top-of-page,end-of-page etc., are called as CLASSICAL REPORTS.
Standard list.
Output of Report program is nothing but Standard list. It consists of one continuous page of 60,000 lines.
To restrict number of lines per page.
Report Zxxxxx line-count 25.
OR
Report Zxxxxx line-count 25(3).
( In this case 3 lines are reserved for footer)
To restrict Output width.
Report Zxxxx line-size 125.
To suppress standard page heading.
Report Zxxxx no standard page heading
Above all at a time:
Report Zxxxx line-count 25(3)
line-size 125
no standard page heading.
Screen Events List Events
Initialization. Start-of-selection
At selection-screen. Top-of-page.
At selection-screen on <field>. End-of-page.
End-of-selection.
We can initialize the selection-screen with calculated default values under this event.
Initialization.
s_date-high = sy-datum.
s_date-low = sy-datum - 15.
Append s_date.
We can validate all the inputs on selection screen fields under this event.
At selection-screen.
If s_carrid-low is initial or
s_connid-low is initial or
s_date is initial.
< ... code for validation... >.
Endif.
We can validate a particular field input on selection screen under this event.
At selection-screen on s_carrid.
If s_carrid-low < > LH.
< code for validation >
Endif.
If any of the other event comes before
Select Endselect. statements, then to break
that event, we require this S-O-S event.
Start-of-selection.
Select * from
Endselect.
If we need some portion of the output (like
column headings) to appear in all the pages,
then we use this event.
Top-of-page.
Write:/ Carrier,10 Connection 20 Date.
If there is no external output statement before
Top-of-page event, then this event will not
work.
Once the cursor reaches the last line of the
page, automatically this event will be triggered.
Report Zxxx line-count 25(3).
In this case line numbers 23, 24 and 25 are
reserved for footer.
Once the cursor reaches 23rd line, this event
will be triggered.
End-of-page.
Write:/ sy-uline(75).
Write:/ This is end of page:,sy-pagno.
Write:/ sy-uline(75).
This event is used for concluding part of List.
End-of-selection.
Write:/ This is end of the Report.
Interactive Report
A simple report or even a classical report displays a clustered list with all the requested output at one go.
What ever it is displayed, it is final. That means, the user can not interact with with that list.
A simple report or even a classical report displays a clustered list with all the requested output at one go.
What ever it is displayed, it is final. That means, the user can not interact with with that list.
In the interactive reports, we can create as many as 21 lists.
The first list is called Basic list and all the successive lists are called Secondary lists. Each list is again an interactive.
The Basic list is not deleted when secondary list is created.
A secondary list may either overlay the basic list or appear in an additional dialog window on the same screen.
The system variable associated with list number is SY-LSIND.
For basic list SY-LSIND = 0 and for secondary lists, SY-LSIND varies from 1 to 20.
User can interact with the list by the following ways.
Double clicking or single click and pressing F2 (function key) or single click with hotspot on.
OR
Selecting from menu bar or from application tool bar.
All the events used in classical reports can be used in Basic List.
The event End-of-page can be used in Secondary Lists also.(the other six events can not be used in secondary lists)
You can not place select-options in secondary lists.
The following additional events are
applicable to secondary lists.
Top-of-page during line-selection.
At line-selection.
At user-command.
When you double click on any field in the basic list, you will be navigating to secondary list with detailed information pertaining to clicked field.
As such we need to store the clicked field information at some variable.
Hide temporarily stores the content of clicked field for later use.
The default title of the out put is the text what we enter during creation of program.
This title can be changed using:
SET TITLEBAR AAA.
GUI status includes:
Menu bar
Application tool bar and
Activating standard tool bar
GUI status can be created using
SET PF-STATUS BBB.
You can have 8 menus ( out of which, 2 menus are reserved for System and Help).
Each menu can have 15 menu items.
Each menu item can have 3 levels of submenus.
You can create 35 items in application tool bar.
Thanks & Regards
Sreenivasulup -
Selection screen event in tbale maintainance generator
Hi experts,
I had created Table maintainance for Ztable..Now req is i have to some of the delete the entries of table based on input values of user.Now table maintainance displayin all the entries of database table.but before entries to be deleted i want one selction screen .so user can give the vlaues..based on the it will display that correspoinding entries to be deleted..then user can delete the entries..
for this can anybody tell me what is correct event in table maintainance generator..i mean before going to display the entries i wnat one selection screen ..
Can any body plz help me..
Thanks in advance,
Praveena.
Moderator Message: Do some R&D first.
Edited by: kishan P on Nov 30, 2010 9:48 AMTry to check when user requests for batch, not when batch is running, when sy-batch is initial and function code is execute in background.
AT SELECTION-SCREEN.
IF sy-batch = IS INITIAL AND sscrfields-ucomm EQ 'SJOB'.
IF p_layout IS INITIAL.
MESSAGE e226(ZMG) "Please fill the layout field.
ENDIF.
ENDIF.
Regards,
Raymond -
Reg : Selection-Screen in LDB's
hi,
Iam working on a report which uses Logical DataBase : PSJ.
Iam getting output based on the standard selection screen of LDB PSJ.
Now my requirement is :
I need to add a new field(select option) to the Selection screen and the output should be displayed based on new field select option values
how to do this?
Plz answer
Regards
vajaHi,
You simply add the check in the relevant GET event of the LDB.
For example, you may have an event for DOCUMENT as follows.
GET DOCUMENT.
check document-ref in s_ref.
S_REF being your new select option.
Hope this helps.
Darren -
Regarding at selection screen event
hi experts,
i m working on hr abap report with the help of pnp ldb i made my selection screen using report category 'PY_DEF' now what i want that i m not using the first selction screen which contains current period details etc but when i click on the payroll period button the second selection screen is coming no doubt... containing payroll area current period ,other periods etc here i m entering payroll area eq 'ka' and other periods from '012006' to '122006' ,,here i want to validate the user input that it sud be of one year that is from 1 to 12.....for this i know i will use at selection event but how can i use it for the second selection screen not for first screen......... plz help me....Do u realy need the first selection screen having the current period? If u don't need then u can hide the field in the report category, by passing only the payroll area with other period, in this case we can validate through selection screen..
Reward points ... if found helpful...
Regards,
Sowmen Das -
Reg : Selection Screen For PNP LDB
Hi All,
I am having problem in selection screen of logical database PNP.. I am attaching the screenshot of the screen which I am using.
[https://www.2big2send.com/collect/861452b5d77254eea4fa17cec4842d63]
Actually.. I created 3 radio buttons down in the screen.. i.e. Delta, delta for X date, full file.
If the user click on Delta radio button then he can only select today radio button.. If he select others than.. the error message should come.. Can anyone help me.. coz.. I dont know.. which event is triggering if the user select other than today radio button of the PNP screen.
I put break points on the AT SELECTION SCREEN and AT SELECTION SCREEN OUTPUT.
But, none of the event is triggering.. Can anyone help me regarding this.
Thanks,
Regards,
Jhings.Hi...
Thanks for the reply.. I did this also..
AT SELECTION-SCREEN ON RADIOBUTTON GROUP $zb2.
BREAK-POINT.
$zb2 is the group name of the radio button which is there in PNP logical database selection screen..
Same problem again.. this event is not triggering also..
Regards,
Jhings -
Hi Guys,
we have a customized selection program similar to RSNAST00. In that while maintaining the variant when the users enter values other than say "ZABC " in output type field (KSCHL) and press enter certain fields in the screen should not be available for input. I have written this event which is getting trigerred but no changes are done to the screen
AT SELECTION-SCREEN ON S_KSCHL.
LOOP AT SCREEN.
IF screen-group1 = 'SHP'.
IF s_kschl-low NE 'ZABC'.
SCREEN-INPUT = '1'.
ELSE.
SCREEN-INPUT = '0'.
ENDIF.
MODIFY SCREEN .
ENDIF.
ENDLOOP
Can anyone please advice me how to achieve this.
Thanks
KrithikaHi Krithika,
Recently 3 days before i have posted the same question and i got the solution which i am sharing you. I am having a drop box input field where if i select NO from the dropdown then automatically concern fields has to be disabled.
In PBO
IF ZFORMA-CISWK = 'NO'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'ZFORMA-YISWK'. "field will become inactive
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
In PAI
IF ZFORMA-CISWK = 'YES'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'ZFORMA-YISWK'. "field will be active
SCREEN-INPUT = 1.
SCREEN-ACTIVE = 1.
SCREEN-OUTPUT = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
It is work with me fine.
Hope my answer will help you.
Cheers!!
Maybe you are looking for
-
ITunes Home Sharing for video on different account
My husband has a separate iTunes account from mine, however I run our media servers at home where I have a library of movies running through iTunes which we view via Apple TV and other devices. He has his iPad set to - Settings/Videos/HomeSharing/His
-
How to populate the logical_group field in V_LTDX (table for layouts)?
Hi, Scenario: I have implemented the ALV using CL_SALV_TABLE. In the grid we have a 'Choose Layout' button where we have the options of choose, change, manage etc. the layouts. If we create a layout, the layout is saved in the table LTDX(view: V_LTDX
-
Flex query on URLLoader.load()
Hello all, I just started to learn flex/actionscript. I developed a simple flex project for experimenting with URLLoader.load() and used trace() to get the order in which methods are being called. I could not understand the order in which trace outpu
-
Where did my Photo Booth go??
I was using photo booth in combination with iMovie and tried to open photo booth from the dock and when I clicked on the application icon it did not bounce up and down like they normally do - a question mark appeared within the icon and it would not
-
FAGLFLEXT not appearing in planner profile
Dear all, I am trying to create a planner profile for profit center planning with new gl. I have created in golden client and transported to production. But when i check in production the totals table for the SAPFAGL profile in the totals table FAGLF