Make ALV Layout selectable on selection screen
Hi,
Iu2019m trying to make the Layout of the ALV output of a report selectable. How can I generate the F4 help for the variable which Iu2019m using?
Thanks
Thomas
Moderator message: this is quite basic ALV functionality, please search for available information before asking.
locked by: Thomas Zloch on Aug 30, 2010 2:25 PM
Hi,
check the report se38-->SALV*
or see the program SALV_DEMO_TABLE_SIMPLE
check for wiki in sdn lot of post you will get
prabhudas
Similar Messages
-
How to make a dynamic selection screen
Hi
I have been searching the SDN for long time, but couldn't find the answer, so therefor a new post.
I have an internal table with following values:
VBKD-BSARK_E
TVKO-VKORG
By these values I would like to make a new selection-screen whith following:
Parameters: FIELD1 like VBKD-BSARK_E.
Parameters: FIELD2 like TVKO-VKORG.
Next time the internal table can contain
MARA-MATNR
TVKO-VKORG
VBAK-BSTZD
And the parameters should then be:
Parameters: FIELD1 like MARA-MATNR.
Parameters: FIELD2 like TVKO-VKORG.
Parameters: FIELD3 like VBAK-BSTZD.
How do I do that -any suggestions?Hi,
This piece of code will design selection screen based on radio button selection:
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001 .
SELECT-OPTIONS : s_date FOR pnpbegps DEFAULT sy-datum .
SELECTION-SCREEN: END OF BLOCK b1.
SELECTION-SCREEN : BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS:rb1 RADIOBUTTON GROUP rbf DEFAULT 'X'.
PARAMETERS:rb2 RADIOBUTTON GROUP rbf .
SELECTION-SCREEN: END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003 .
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(25) text-006 FOR FIELD px_pdf.
PARAMETERS: px_pdf AS CHECKBOX USER-COMMAND xxx .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(15) text-004 FOR FIELD rb_app.
PARAMETERS:rb_app RADIOBUTTON GROUP gbf DEFAULT 'X' USER-COMMAND uc01.
PARAMETERS: p_file(128) MODIF ID 001. " application server
SELECTION-SCREEN END OF LINE.
Thanks,
Krishna.. -
How to make Label in selection screen?
Hi friends.. can anybody explain how to make labels in selection screens and how to split the selection screen vertically? plz.. Thanks in advance
Arun kumar,
Check this program. you can put labels like this.
REPORT ZVENKAT_TEST1.
SELECTION-SCREEN BEGIN OF BLOCK block.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(15) text1.
SELECTION-SCREEN POSITION 17.
PARAMETERS :p_pernr type pa0001-pernr.
SELECTION-SCREEN POSITION 26.
SELECTION-SCREEN COMMENT 27(30) text2.
SELECTION-SCREEN end OF LINE.
SELECTION-SCREEN end OF BLOCK block .
at SELECTION-SCREEN OUTPUT.
text1 = 'Personal number'.
SELECT SINGLE ename FROM pa0001 INTO text2 WHERE pernr = p_pernr.
Regards,
Venkat.O -
Can I make two differents selection screen in my program?
Hi experts!!
I don't know how to male this, the problem is that I need to make two differents selection screen in my program because I have two differents kinds of button,
BUTTON1 BUTTON2 BUTTON3
When I press button1 I received.
BUTTON4 BUTTON5 BUTTON6
Now If I press on button4, how can I pick up the event? the name or something associate to this button4?
Thanks a lot and regards
RebecaHi and thanks,
I've tried with your code, Velu Lakshmanan, and I only received another screen with the buttons... I need to put this button in the same screen, now I've this, but I can't receive the event associate to the second's buttons,
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 1(79) DTP USER-COMMAND DTP
VISIBLE LENGTH 25.
SELECTION-SCREEN PUSHBUTTON 28(79) EMP USER-COMMAND EMP
VISIBLE LENGTH 25.
SELECTION-SCREEN PUSHBUTTON 55(79) ABS USER-COMMAND ABS
VISIBLE LENGTH 25.
PARAMETERS: PROC_TYP TYPE I DEFAULT 1 NO-DISPLAY.
SELECTION-SCREEN END OF LINE.
* Informes de datos de tiempo.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 1(25) TEXT-FED USER-COMMAND FED MODIF ID DT1.
SELECTION-SCREEN PUSHBUTTON 28(25) TEXT-DCH USER-COMMAND DCH MODIF ID DT1.
SELECTION-SCREEN PUSHBUTTON 55(25) TEXT-ACH USER-COMMAND ACH MODIF ID DT1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 1(25) TEXT-FII USER-COMMAND FII MODIF ID DT1.
SELECTION-SCREEN PUSHBUTTON 28(25) TEXT-PTB USER-COMMAND PTB MODIF ID DT1.
SELECTION-SCREEN PUSHBUTTON 55(25) TEXT-PTS USER-COMMAND PTS MODIF ID DT1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 1(25) TEXT-ACI USER-COMMAND ACI MODIF ID DT1.
SELECTION-SCREEN PUSHBUTTON 28(25) TEXT-FIM USER-COMMAND FIM MODIF ID DT1.
SELECTION-SCREEN PUSHBUTTON 55(25) TEXT-LDH USER-COMMAND LDH MODIF ID DT1.
SELECTION-SCREEN END OF LINE.
* Informes de empleados
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 1(25) TEXT-LDP USER-COMMAND LDP MODIF ID EM1.
SELECTION-SCREEN PUSHBUTTON 28(25) TEXT-PDF USER-COMMAND PDF MODIF ID EM1.
SELECTION-SCREEN PUSHBUTTON 55(25) TEXT-LDT USER-COMMAND LDT MODIF ID EM1.
SELECTION-SCREEN END OF LINE.
* Informes de bajas
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 1(25) TEXT-BAJ USER-COMMAND BAJ MODIF ID AB1.
SELECTION-SCREEN PUSHBUTTON 28(25) TEXT-VMA USER-COMMAND VMA MODIF ID AB1.
SELECTION-SCREEN PUSHBUTTON 55(25) TEXT-SDE USER-COMMAND SDE MODIF ID AB1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 1(25) TEXT-LDB USER-COMMAND LDB MODIF ID AB1.
SELECTION-SCREEN PUSHBUTTON 28(25) TEXT-LDA USER-COMMAND LDA MODIF ID AB1.
SELECTION-SCREEN PUSHBUTTON 55(25) TEXT-DHT USER-COMMAND DHT MODIF ID AB1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
* Pintamos los botones que necesitemos mostrar según la opción seleccionada
AT SELECTION-SCREEN.
CASE SSCRFIELDS-UCOMM.
WHEN 'DTP'. PROC_TYP = 1.
WHEN 'EMP'. PROC_TYP = 2.
WHEN 'ABS'. PROC_TYP = 3.
ENDCASE.
AT SELECTION-SCREEN OUTPUT.
CASE PROC_TYP.
* Cuando el botón que ha seleccionado es "Datos de tiempo"
WHEN 1.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_OKAY
TEXT = TEXT-DTP
INFO = TEXT-AUS
IMPORTING
RESULT = DTP.
EMP = TEXT-EMP.
ABS = TEXT-ABS.
LOOP AT SCREEN.
IF SCREEN-GROUP1 EQ 'DT1'.
SCREEN-INPUT = '1'. SCREEN-INVISIBLE = '0'. MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 EQ 'EM1'.
SCREEN-INPUT = '0'. SCREEN-INVISIBLE = '1'. MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 EQ 'AB1'.
SCREEN-INPUT = '0'. SCREEN-INVISIBLE = '1'. MODIFY SCREEN.
ENDIF.
ENDLOOP.
WHEN 2.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_OKAY
TEXT = TEXT-EMP
INFO = TEXT-AUS
IMPORTING
RESULT = EMP.
DTP = TEXT-DTP.
ABS = TEXT-ABS.
LOOP AT SCREEN.
IF SCREEN-GROUP1 EQ 'DT1'.
SCREEN-INPUT = '0'. SCREEN-INVISIBLE = '1'. MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 EQ 'EM1'.
SCREEN-INPUT = '1'. SCREEN-INVISIBLE = '0'. MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 EQ 'AB1'.
SCREEN-INPUT = '0'. SCREEN-INVISIBLE = '1'. MODIFY SCREEN.
ENDIF.
ENDLOOP.
WHEN 3.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_OKAY
TEXT = TEXT-ABS
INFO = TEXT-AUS
IMPORTING
RESULT = ABS.
DTP = TEXT-DTP.
EMP = TEXT-EMP.
LOOP AT SCREEN.
IF SCREEN-GROUP1 EQ 'DT1'.
SCREEN-INPUT = '0'. SCREEN-INVISIBLE = '1'. MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 EQ 'EM1'.
SCREEN-INPUT = '0'. SCREEN-INVISIBLE = '1'. MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 EQ 'AB1'.
SCREEN-INPUT = '1'. SCREEN-INVISIBLE = '0'. MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDCASE.
Help please... I don't know how can I make this.....
If I use screen...how can I put this screen in the correct place?
Thanks a lot
Regards,
Rebeca -
Customised Back button in ALV loses selection screen parameters
Hi,
In my ALV output, the user interacts with the output. I had to program my own back button in the pf-status so that when the user hit back they didnt return to the original alv output. (if that makes sense)
I use LEAVE TO TRANSACTION 'ZZZZ' (user_command form) but the problem is that i lose all the selection parameters that the user has entered.
I have tried everything.........set screen 0, leave screen etc..........and searched the forum but cant find the answer.
Anyone know what i need i do..........
Cheers..........try submit ...
submit the report of ZZZZ tcode... with the selection parameters of your existing report....
e.g.
SUBMIT zbbp_sc_arch_initial_upload
VIA SELECTION-SCREEN
WITH p_r01 EQ p_r01
WITH p_r02 EQ p_r02
WITH p_mode EQ p_mode. -
ALV Report - Selection screen information should appear in Output screen
Hi experts,
I am working on ALV Reports.
I want selection screen information to appear in ouputscreen when report executed.
Those who know the sloution pls tell me as soon as possible.
regards,
ImranHi Imrangs ,
Ur requirement is not clear -
if u want ur selection screen and the output screen on the same screen, i.e if u fill ur selection options with input and press the button then ur ALV will display on the same screen. For this try to use Screen painter, it will get resolved.
http://www.kodyaz.com/articles/sap-abap-tutorial-alv-grid-cl_gui_alv_grid-screen-painter.aspx
chreers
Regards
Neha -
Reg: Alv and selection-screen
Hi,
I created a ALV report,
I gave the user provision delete rows and dispalyed the new list without the deleted rows( one row at a time)
when i deleted few rows and when i press the back button i am getting all the rows deleted, but i want to jump directly to selection screen
please help me how to jump to selection screen after pressing the back button
i tried set screen 0 leave to screen 0 but of no use,
please help in this regard
thnxHi learner,
After deleting a row in ur internal tab u hav to refresh the display to remove dat row from display rite .....how r u doing it...??
Are u calling the ALV FM again... if ur doin so !! its a wrong way and der lies de problem....
check the sample code below in which if u double click on a row dat row gets deleted and the screen is refreshed.....also if u click back it goes to the selection-screen and not the previous alv display with deleted rows......
TYPE-POOLS: slis.
PARAMETERS rows TYPE i DEFAULT 20.
DATA: itab TYPE TABLE OF mara WITH HEADER LINE,
ls_layout TYPE slis_layout_alv.
START-OF-SELECTION.
SELECT * UP TO rows ROWS
FROM mara
INTO CORRESPONDING FIELDS OF TABLE itab.
ls_layout-colwidth_optimize = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_structure_name = 'MARA'
is_layout = ls_layout
i_callback_program = sy-repid
i_grid_title = 'Double click on a row'
i_callback_user_command = 'EVENT_HANDLER'
TABLES
t_outtab = itab[].
*& Form event_handler
FORM event_handler USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
CLEAR itab.
DELETE itab INDEX rs_selfield-tabindex.
MOVE 'X' TO rs_selfield-refresh . " this automatically refreshes the display
ENDFORM. "event_handler
Cheers,
jose. -
Hi Abapers,
I have small query
<b>Can we add Two ALV on the selection Screen. I am not talking about OOALV or not Block ALV</b>
Please suggest if it can be possible to create two ALV on screen using Simple ABAP.HI,
REPORT YMS_TWOALV .
TYPE-POOLS: slis.
DATA: BEGIN OF i_clients OCCURS 0,
mandt LIKE t000-mandt,
mtext LIKE t000-mtext,
ort01 LIKE t000-ort01.
DATA: END OF i_clients.
DATA: BEGIN OF i_industry OCCURS 0,
mandt LIKE t016t-mandt,
spras LIKE t016t-spras,
brsch LIKE t016t-brsch,
brtxt LIKE t016t-brtxt.
DATA: END OF i_industry.
DATA: i_fcat_c TYPE slis_t_fieldcat_alv,
i_fcat_i TYPE slis_t_fieldcat_alv.
DATA: i_layout_c TYPE slis_layout_alv.
DATA: i_layout_i TYPE slis_layout_alv.
DATA: i_events_c TYPE slis_t_event.
DATA: i_events_i TYPE slis_t_event.
DATA: gt_print TYPE slis_print_alv.
START-OF-SELECTION.
*BREAK-POINT.
SELECT mandt mtext ort01
FROM t000 INTO CORRESPONDING FIELDS OF TABLE i_clients.
SELECT mandt spras brsch brtxt
FROM t016t INTO CORRESPONDING FIELDS OF TABLE i_industry.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZKB_BLOCK_LIST_REPORT'
i_internal_tabname = 'I_CLIENTS'
I_STRUCTURE_NAME = 'T000'
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = 'ZKB_BLOCK_LIST_REPORT'
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = i_fcat_c
EXCEPTIONS
inconsistent_interface = 1
program_error = 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.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZKB_BLOCK_LIST_REPORT'
i_internal_tabname = 'I_INDUSTRY'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = 'ZKB_BLOCK_LIST_REPORT'
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = i_fcat_i
EXCEPTIONS
inconsistent_interface = 1
program_error = 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.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = 'ZKB_BLOCK_LIST_REPORT'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
IT_EXCLUDING =
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = i_layout_c
it_fieldcat = i_fcat_c
i_tabname = 'I_CLIENTS'
it_events = i_events_c
IT_SORT =
I_TEXT = ' '
TABLES
t_outtab = i_clients
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = i_layout_i
it_fieldcat = i_fcat_i
i_tabname = 'I_INDUSTRY'
it_events = i_events_i
IT_SORT =
I_TEXT = ' '
TABLES
t_outtab = i_industry
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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.
gt_print-reserve_lines = 2.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
is_print = gt_print
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
EXCEPTIONS
PROGRAM_ERROR = 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.
Thanks,
Sankar M -
Tooltip on pushbutton on alv report selection screen
Hi Experts,
I have a selection screen with two pushbuttons i want to provide tooltip on this button when user takes his cursor on it .. some part of my code
Selection screen:
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) text-t02 FOR FIELD p_info.
PARAMETERS: p_info TYPE string.
SELECTION-SCREEN: PUSHBUTTON 68(10) but1 USER-COMMAND cli1.
SELECTION-SCREEN : END OF LINE.
PARAMETERS: r_exe_im RADIOBUTTON GROUP rb1.
PARAMETERS: r_st RADIOBUTTON GROUP rb1.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN: PUSHBUTTON /1(20) exec1 USER-COMMAND cli2.
SELECTION-SCREEN: FUNCTION KEY 1.
SELECTION-SCREEN END OF BLOCK b1.
please tell me on these selection fields how to display tool tip.
Thanks and regards,
Roshan.Hi,
After completing your executable program in SE38, activate it and goto SE51(Screen painter).
Here give the name of your program and screen number as 1000.
Click on Change.
Goto Element List Tab.
Here you will find all your elements from your program.
Select the required element and click on Properties.
Here you will find a Tooltip Text property. Click on the button 'Text' of this property.
You will be given 2 options 1) Text from Text element 2) Text from Variable
Enter as per requirement
Save and Activate.
Hope this will be useful
Regards
Bhupal -
Hi,
I am having a selection screen with few parameters and also having a push button. When the user clicks on the push button, a new selection screen should open(like varaint screen) with check boxes. The user should have possibility of saving the screen.
The initial screen had been done. I want help when the user click on the push button.
Any idea of how this can be done. Any inputs will be appreciated.
Regards,
Ramesh.Hi,
Declare the 2nd screen using ....
SELECTION-SCREEN: BEGIN OF SCREEN 2000.
declare the checkboxes ....
SELECTION-SCREEN: END OF SCREEN 2000.
At the time of variant saving both the screen values will be saved.
Regards,
Amitava -
ALV Layout on selection screen?
Is it possible to offer the ALV Layouts on the selection screen? And how can i pass such a variant to the reuse-FM?
Hi,
Yes u can do it.Check this sample code
Variant for ALV display
SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE text-000.
<b>PARAMETERS: p_varnt LIKE disvariant-variant.</b>
DATA: w_save(1) TYPE c,
w_default(1) TYPE c,
i_variant LIKE disvariant,
i_variant1 LIKE disvariant.
INITIALIZATION.
i_variant-report = w_repid.
i_variant1 = i_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = w_save
CHANGING
cs_variant = i_variant1
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_varnt = i_variant1-variant.
ENDIF.
Process on value request (list of possible variants)
<b>AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varnt.</b>
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = i_variant
i_save = w_save
it_default_fieldcat =
IMPORTING
e_exit = w_exit
es_variant = i_variant1
EXCEPTIONS
not_found = 2.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF w_exit = space.
p_varnt = i_variant1-variant.
ENDIF.
ENDIF.
<b>AT SELECTION-SCREEN.</b>
IF NOT p_varnt IS INITIAL.
MOVE i_variant TO i_variant1.
MOVE p_varnt TO i_variant1-variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
i_save = w_save
CHANGING
cs_variant = i_variant1.
i_variant = i_variant1.
ELSE.
PERFORM variant_init.
ENDIF.
START_OF_SELECTION.
Call ABAP/4 List Viewer
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
i_callback_program = w_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
i_structure_name = 'SFLIGHT'
i_background_id = 'ALV_BACKGROUND'
I_GRID_TITLE =
I_GRID_SETTINGS =
is_layout = i_layout
it_fieldcat = i_fieldcat[]
IT_EXCLUDING =
it_special_groups = i_sp_group[]
it_sort = i_sort[]
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = w_save
<b> is_variant = i_variant</b>
it_events = i_events[]
IT_EVENT_EXIT =
is_print = i_print
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = i_sflight
EXCEPTIONS
program_error = 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.
Hope u understood.
Thanks&Regards,
Ruthra. -
To Load ALV Layout in report selection screen
Hi...
I want the selection screen option for user so that he can select any of the saved layouts.
I have done some coding after refering to some threads in here.But I can't proceed further...plz help
<b>selection screen</b>
SELECTION-SCREEN BEGIN OF BLOCK 006 WITH FRAME TITLE text-006.
PARAMETERS: p_layout LIKE disvariant-variant. " layout
SELECTION-SCREEN END OF BLOCK 006.
<b>data declarations</b>
DATA: wa_variant TYPE disvariant.
DATA: w_variant_save TYPE c VALUE 'A'.
DATA: gs_variant TYPE disvariant.
DATA: gs_layout TYPE lvc_s_layo.
DATA: g_repid LIKE sy-repid.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_layout.
PERFORM variant_input_help.
FORM variant_input_help .
DATA: tl_dynpfields TYPE TABLE OF dynpread.
DATA: wl_exit TYPE c.
DATA: wal_variant LIKE wa_variant.
DATA: wal_dynpfields TYPE dynpread.
Get values from the selection screen to determine layout set
wal_dynpfields-fieldname = p_layout.
APPEND wal_dynpfields TO tl_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = sy-cprog
DYNUMB = '1000'
TRANSLATE_TO_UPPER = ' '
REQUEST = ' '
PERFORM_CONVERSION_EXITS = ' '
PERFORM_INPUT_CONVERSION = ' '
DETERMINE_LOOP_INDEX = ' '
TABLES
DYNPFIELDS = tl_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 <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT tl_dynpfields INTO wal_dynpfields.
CASE wal_dynpfields-fieldname.
WHEN 'p_layout'.
wa_variant-variant = wal_dynpfields-fieldvalue.
ENDCASE.
ENDLOOP.
wa_variant-report = sy-repid.
wa_variant-variant = p_layout.
wa_variant-username = sy-uname.
**Invoke function to provide drop down entries
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = wa_variant
I_TABNAME_HEADER =
I_TABNAME_ITEM =
IT_DEFAULT_FIELDCAT =
I_SAVE = w_variant_save
I_DISPLAY_VIA_GRID = ' '
IMPORTING
E_EXIT = wl_exit
ES_VARIANT = wal_variant
EXCEPTIONS
NOT_FOUND = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF SY-SUBRC IS INITIAL.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4
IF wl_exit IS INITIAL.
p_layout = wal_variant-variant.
ENDIF.
ELSE.
message I033 WITH TEXT-034.
ENDIF.
*gs_variant-variant = p_layout.
*gs_variant-report = sy-repid.
FREE: tl_dynpfields.
g_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = g_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
<b>IS_LAYOUT </b> = <b>??</b>
<b> IT_FIELDCAT = ??</b>
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = wal_variant
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
<b>T_OUTTAB = </b><b>??</b>
EXCEPTIONS
PROGRAM_ERROR = 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.
ENDFORM. " variant_input_help
wat steps shud i takeHi ,
I have used the below FM for layout help,
data: gs_variant like disvariant,
gs_variant-report = sy-repid.
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = gs_variant
i_save = 'A'
i_display_via_grid = 'X'
importing
es_variant = gs_variant
exceptions
not_found = 1
program_error = 2
others = 3
if sy-subrc = 0.
pa_var = gs_variant-variant.
endif.
Note pa_var is your select options field in the SELECTION SCREEN,
call function 'REUSE_ALV_GRID_DISPLAY' "
exporting
i_bypassing_buffer = 'X'
i_buffer_active = 'X'
i_callback_program = sy-repid
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = gs_layout
it_fieldcat = gt_fieldcat
i_save = 'A'
is_variant = gs_variant
it_events = gt_events
tables
t_outtab = gt_output
exceptions
program_error = 1
others = 2
hope this helps you.
Regards,
Raghavendra -
Check box in ALV selection screen
Hi to all
I like to know how to create a checkbox in the input screen of an ALV.What do you mean by ALV check box selection screen?
ALV and selection screen check box( you are mixing two cases in your Question).
You need use the Function moduel in the user command to get the updated data.
in fieldcatalog you have to use INPUT = 'X' and EDIT = 'X' for the columns which ever you want edit.
GET_GLOBALS_FROM_SLVC_FULLSCR
follow the sample code.
REPORT ZTEST_ALV_CHECK MESSAGE-ID ZZ .
TYPE-POOLS: SLIS.
DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
L_LAYOUT TYPE SLIS_LAYOUT_ALV,
X_EVENTS TYPE SLIS_ALV_EVENT,
IT_EVENTS TYPE SLIS_T_EVENT.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
CHK(1),
color(4),
END OF ITAB.
SELECT VBELN
POSNR
FROM VBAP
UP TO 20 ROWS
INTO TABLE ITAB.
X_FIELDCAT-FIELDNAME = 'CHK'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 1.
X_FIELDCAT-INPUT = 'X'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-CHECKBOX = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = 'VBELN'.
X_FIELDCAT-HOTSPOT = 'X'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 2.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-SELTEXT_L = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_LAYOUT-info_fieldname = 'COLOR'.
*L_LAYOUT-ZEBRA = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = L_LAYOUT
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 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.
*& Form STATUS
text
-->P_EXTAB text
FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
Pf status
SET PF-STATUS 'STATUS'.
ENDFORM. " STATUS
*& Form USER_COMMAND
text
-->R_UCOMM text
-->RS_SELFIELD text
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
DATA: GD_REPID LIKE SY-REPID, "Exists
REF_GRID TYPE REF TO CL_GUI_ALV_GRID.
IF REF_GRID IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF_GRID.
ENDIF.
IF NOT REF_GRID IS INITIAL.
CALL METHOD REF_GRID->CHECK_CHANGED_DATA .
ENDIF.
loop at itab where chk = 'X'.
itab-color = 'C300'.
modify itab index sy-tabix transporting color.
endloop.
RS_SELFIELD-refresh = 'X'.
break-point.
ENDFORM. "USER_COMMAND
Regards
Vijay Babu Dudla -
ALV using OOABAP fieldnames changing in the selection screen
Hi
I am new to OOABAP.Here is the requirement.
I need to create a ALV report, in the selection screen field label can change and it needs to display in ALV report. selection screen contains 4 checkboxes. based on selection hide the columns in ALV display.
Can anyone help me in this?
Thanks
sapienu build field cat "at selection-screen event.
LET S_A, S_B, S_C, S_D BE THE SELECTION SCREEN FIELD.
AT SELECTION-SCREEN.
PERFORM BUILD_FIELDCAT USING S_A S_B S_C S_D.
form build_fieldcat using s_a type ... s_b type .... so on
if s_a = 'X'.
FIELDCAT-FIELDNAME = '......'.
append fieldcat.
if s_b = 'X'.
FIELDCAT-FIELDNAME = '......'.
append fieldcat.
IF S_C = 'X'.
FIELDCAT-FIELDNAME = '......'.
append fieldcat.
IF S_D = 'X'.
FIELDCAT-FIELDNAME = '......'.
append fieldcat. -
ALV grid list report when selected from selection screen
Hi folks,
I need to get ALV grid display in my list report when selected the interval values from the selection screen. If I change the values in list of ALV grid it needs to be updated when I press UPDATE pushbutton. The output of list should be in ALV grid display.I need sorting ,flitering,totaling functionality in the list output.
For example if I selected BUKRS = 100 and 200 in the selection screen ,I need to display the ALV grid list in below the selection screen as ALV grid display...
Its urgent as I am new to ALV grid functionality...
Thanks in advance..hi raja,
check with the folllowing code.
REPORT zca0m_zca0fcstftop NO STANDARD PAGE HEADING
MESSAGE-ID zcsv_usrtbl_maintain.
Type pools *
TYPE-POOLS : slis. " Used for ALV display
Tables
TABLES: zca0fcstftop,
dd04t, "R/3 DD: Data element texts
tactt. "Activities that can be protected
internal tables
DATA: BEGIN OF wa_zca0fcstftop .
INCLUDE STRUCTURE zca0fcstftop.
DATA: END OF wa_zca0fcstftop.
DATA: t_zca0fcstftop LIKE STANDARD TABLE OF wa_zca0fcstftop.
DATA: BEGIN OF i_fcode OCCURS 0,
fcode LIKE sy-ucomm,
END OF i_fcode.
*Record for variant selection
DATA : BEGIN OF ws_variant,
selected TYPE c,
variant LIKE ltdx-variant, "Variant name
text LIKE ltdxt-text, "Variant description
END OF ws_variant.
*Table for variant selection
data : itab_variant LIKE STANDARD TABLE OF ws_variant WITH HEADER LINE.
Variant selection pop-up global variables
DECLARATION OF TABLECONTROL 'VARIANT_CNTL' ITSELF
CONTROLS: variant_cntl TYPE TABLEVIEW USING SCREEN 0200.
LINES OF TABLECONTROL 'VARIANT_CNTL'
DATA: g_variant_cntl_lines LIKE sy-loopc.
DATA:grid1 TYPE REF TO cl_gui_alv_grid ,
g_custom_container TYPE REF TO cl_gui_custom_container.
Work fields
DATA: table_name LIKE dd02l-tabname, "To store table name
field_name LIKE dd03l-fieldname, "To Store Field Name
act_auth LIKE tactz-actvt, "To pass Activity ID
tab_maint LIKE dd02l-tabname, "To pass Table Name to be Maintd.
wg_confirm_ind, "To trap User responses
flag, "To trap changes made to an entry
f_copy, "To Identify 'COPY' Command Use
f_select, "To decide between Select-options
" and Internal Table
l_transaction_code LIKE tstc-tcode,
v_langu LIKE sy-langu,
v_repid LIKE sy-repid,
s_variant TYPE disvariant.
DATA: ok_code LIKE sy-ucomm.
DATA:selected_rows TYPE lvc_t_row ,
sel_rows TYPE lvc_t_row WITH HEADER LINE.
DATA:t_lines TYPE i.
Constants *
CONSTANTS :
c_x TYPE c VALUE 'X', " Constant 'X'.
c_f TYPE c VALUE 'F'. " Constant 'F'.
Parameters and Selection Options
*Selection Screen for table maintenance
*Selection option for Plant
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-b01.
PARAMETERS: p_werks LIKE zca0fcstftop-werks OBLIGATORY.
SELECT-OPTIONS: s_prdfml FOR zca0fcstftop-product_family,
s_bmach FOR zca0fcstftop-base_machine,
s_factop FOR zca0fcstftop-factory_top,
s_optval FOR zca0fcstftop-option_value,
s_week FOR zca0fcstftop-week.
SELECTION-SCREEN END OF BLOCK block1.
SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE text-b02.
PARAMETERS : p_varant LIKE ltdx-variant. " ALV variant
SELECTION-SCREEN END OF BLOCK block2.
At selection screen *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varant.
PERFORM alv_variant_f4 CHANGING p_varant.
AT SELECTION-SCREEN ON p_werks .
Validating Plant on the selection screen
PERFORM validate_plant.
Initialization
INITIALIZATION.
Check Authorization for the Transaction
Authorization Check For T Code
SELECT tcode
INTO l_transaction_code
FROM tstc UP TO 1 ROWS
WHERE pgmna = sy-repid.
ENDSELECT.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD l_transaction_code.
IF sy-subrc NE 0.
MESSAGE e001 WITH l_transaction_code.
ENDIF.
v_langu = sy-langu. " language
v_repid = sy-repid . " abap Program name
Start Of Selection
START-OF-SELECTION.
CALL SCREEN 0050.
*& Form validate_plant *
Validating Plant on the selection screen *
FORM validate_plant .
DATA : l_werks LIKE t001w-werks. " Plant
IF p_werks IS NOT INITIAL.
SELECT SINGLE werks
FROM t001w
INTO l_werks
WHERE werks EQ p_werks.
IF sy-subrc NE 0.
MESSAGE e100(ra) WITH text-001 .
ENDIF.
ENDIF.
AUTHORITY-CHECK OBJECT 'Z_PP_PLANT'
ID 'ACTVT' FIELD '03'
ID 'WERKS' FIELD p_werks
ID 'TCD' FIELD l_transaction_code.
IF sy-subrc NE 0.
MESSAGE e000(oo) WITH 'No authorization for plant:'(e80) p_werks.
ENDIF.
ENDFORM. " validate_plant
*& Form get_data *
Get data *
FORM get_data .
SELECT * FROM zca0fcstftop
INTO TABLE t_zca0fcstftop
WHERE werks = p_werks
AND product_family IN s_prdfml
AND base_machine IN s_bmach
AND factory_top IN s_factop
AND option_value IN s_optval
AND week IN s_week.
ENDFORM. " get_data
*& Form fill_fcode
FORM fill_fcode USING value(p_0029).
i_fcode-fcode = p_0029.
APPEND i_fcode.
CLEAR i_fcode.
ENDFORM. " fill_fcode
*& Module STATUS_0100 OUTPUT
MODULE status_0100 OUTPUT.
SET PF-STATUS 'UPDATE'.
CLEAR flag.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module MODIFY_0100 OUTPUT
MODULE modify_0100 OUTPUT.
IF sy-ucomm = 'CHNG' OR
sy-ucomm = 'PICK'.
LOOP AT SCREEN.
CHECK screen-group1 = 'CHG'.
screen-required = '0'.
screen-output = '1'.
screen-input = '0'.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
Check if you are in create mode & if yes then set the screen elements
as mandatory
IF ok_code = 'CREA'.
LOOP AT SCREEN.
CHECK screen-group1 = 'CHG'.
screen-required = '1'.
screen-output = '1'.
screen-input = '1'.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDMODULE. " MODIFY_0100 OUTPUT
*& Module Check_Exit INPUT
text
MODULE check_exit INPUT.
IF ( sy-ucomm = 'BACK' OR sy-ucomm = 'CANC' OR sy-ucomm = 'EXIT' ) AND
( flag = 'Y' ).
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
defaultoption = 'Y'
textline1 = text-008
textline2 = text-009
titel = text-004
cancel_display = ' '
IMPORTING
answer = wg_confirm_ind.
CASE wg_confirm_ind.
WHEN 'J'. "Yes
sy-ucomm = 'SAVE'.
CLEAR flag.
WHEN 'N'. "No
sy-ucomm = 'BACK'.
CLEAR flag.
ENDCASE.
ENDIF.
ENDMODULE. " Check_Exit INPUT
*& Module Exit_0100 INPUT
text
MODULE exit_0100 INPUT.
SET SCREEN 0. LEAVE SCREEN.
ENDMODULE. " Exit_0100 INPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'SAVE'. "Save
Check to see if the user has the appropriate authorization
IF p_werks NE zca0fcstftop-werks.
could not update - not in selection
MESSAGE e000(oo) WITH 'Entry not within selection'.
SET SCREEN 0. LEAVE SCREEN.
PERFORM get_data.
ENDIF.
IF f_copy = 'X'.
INSERT zca0fcstftop.
IF sy-subrc = 0.
MESSAGE s004.
PERFORM initialize.
SET SCREEN 0. LEAVE SCREEN.
PERFORM get_data.
ELSE.
MESSAGE w005.
ENDIF.
ELSE.
MODIFY zca0fcstftop.
IF sy-subrc = 0.
MESSAGE s004.
PERFORM initialize.
SET SCREEN 0. LEAVE SCREEN.
PERFORM get_data.
ELSE.
MESSAGE w005.
ENDIF.
ENDIF.
PERFORM get_data.
WHEN 'BACK'. "Back
SET SCREEN 0. LEAVE SCREEN.
WHEN 'CANC'. "Cancel
SET SCREEN 0. LEAVE SCREEN.
WHEN OTHERS.
ENDCASE.
COMMIT WORK.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form Initialize
FORM initialize.
CLEAR : table_name,
field_name,
wg_confirm_ind,
f_copy,
flag,
t_zca0fcstftop,
zca0fcstftop,
wa_zca0fcstftop,
i_fcode.
REFRESH: t_zca0fcstftop.
ENDFORM. " Initialize
*& Form alv_variant_f4
text
<--P_VARIANT text
FORM alv_variant_f4 CHANGING variant.
DATA: rs_variant LIKE disvariant.
DATA nof4 TYPE c.
CLEAR nof4.
LOOP AT SCREEN.
IF screen-name = 'VARIANT'.
IF screen-input = 0.
nof4 = 'X'.
ENDIF.
ENDIF.
ENDLOOP.
rs_variant-report = sy-repid.
rs_variant-username = sy-uname.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = rs_variant
i_save = 'A'
IMPORTING
es_variant = rs_variant
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 0 AND nof4 EQ space.
variant = rs_variant-variant.
ENDIF.
ENDFORM. " ALV_VARIANT_F4
*& Module STATUS_0050 OUTPUT
text
MODULE status_0050 OUTPUT.
In this module Initialize the container and put the grid in it
DATA:grid_layout TYPE lvc_s_layo,
fieldcat TYPE lvc_t_fcat,
wa_fieldcat LIKE LINE OF fieldcat.
PERFORM set_auth.
SET PF-STATUS 'UPD_0050' EXCLUDING i_fcode.
SET TITLEBAR 'UPD_0050'.
IF g_custom_container IS INITIAL .
CREATE OBJECT g_custom_container
EXPORTING
container_name = 'FTDATA'.
CREATE OBJECT grid1
EXPORTING
i_parent = g_custom_container.
ELSE.
CALL METHOD grid1->free.
CALL METHOD g_custom_container->free.
CREATE OBJECT g_custom_container
EXPORTING
container_name = 'FTDATA'.
CREATE OBJECT grid1
EXPORTING
i_parent = g_custom_container.
ENDIF.
Every time refresh The variables
PERFORM initialize.
PERFORM get_data.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZCA0FCSTFTOP'
CHANGING
ct_fieldcat = fieldcat.
grid_layout-grid_title = text-t01.
grid_layout-sel_mode = 'A'.
grid_layout-stylefname = 'CT'.
s_variant-report = sy-repid.
s_variant-username = sy-uname.
s_variant-variant = p_varant.
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'ZCA0FCSTFTOP'
is_layout = grid_layout
is_variant = s_variant
i_save = 'A'
CHANGING
it_outtab = t_zca0fcstftop
it_fieldcatalog = fieldcat.
Create Object to receive events and link them to handler methods.
When the ALV Control raises the event for the specified instance
the corresponding method is automatically called.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_button_click FOR grid1.
ENDMODULE. " STATUS_0050 OUTPUT
*& Module USER_COMMAND_0050 INPUT
MODULE user_command_0050 INPUT.
CALL METHOD grid1->get_selected_rows
IMPORTING
et_index_rows = selected_rows.
DESCRIBE TABLE selected_rows LINES t_lines.
IF t_lines > 1 .
MESSAGE e048(zcsv_sfdr).
ENDIF.
Clear Header
CLEAR wa_zca0fcstftop.
sel_rows[] = selected_rows .
READ TABLE sel_rows INDEX 1.
READ TABLE t_zca0fcstftop INTO wa_zca0fcstftop INDEX sel_rows-index.
CASE ok_code.
WHEN 'EXIT'.
PERFORM exit_program.
WHEN 'CREA'.
CLEAR zca0fcstftop.
ok_code = sy-ucomm.
zca0fcstftop-werks = p_werks.
CALL SCREEN 100.
WHEN 'COPY'.
MOVE wa_zca0fcstftop TO zca0fcstftop .
CLEAR wa_zca0fcstftop.
f_copy = 'X'.
CALL SCREEN 100.
WHEN 'CHNG'.
CHECK NOT wa_zca0fcstftop IS INITIAL.
MOVE wa_zca0fcstftop TO zca0fcstftop .
CLEAR wa_zca0fcstftop.
ok_code = sy-ucomm.
CALL SCREEN 100.
WHEN 'DELE'.
CHECK NOT wa_zca0fcstftop IS INITIAL.
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
defaultoption = 'N'
textline1 = text-005
textline2 = text-006
titel = text-007
cancel_display = ' '
IMPORTING
answer = wg_confirm_ind.
IF wg_confirm_ind EQ 'J'.
DELETE zca0fcstftop FROM wa_zca0fcstftop .
IF sy-subrc EQ 0.
MESSAGE s004.
ELSE.
MESSAGE e005.
ENDIF.
ELSEIF wg_confirm_ind EQ 'N'.
ENDIF.
ENDCASE.
CLEAR ok_code.
ENDMODULE. " USER_COMMAND_0050 INPUT
*& Form exit_program
FORM exit_program .
CALL METHOD g_custom_container->free.
CALL METHOD cl_gui_cfw=>flush.
SET SCREEN 0.
LEAVE SCREEN.
ENDFORM. " exit_program
*& Form set_auth
FORM set_auth.
REFRESH: i_fcode.
Check authorization for change
MOVE '02' TO act_auth. "02 --> Change
MOVE 'ZCA0FCSTFTOP' TO tab_maint.
AUTHORITY-CHECK OBJECT 'ZZ:TABLMNP'
ID 'ACTVT' FIELD act_auth
ID 'TABLE' FIELD tab_maint.
IF sy-subrc NE 0.
PERFORM fill_fcode USING 'CHNG'.
ENDIF.
Check for authorization for create
MOVE '01' TO act_auth. "01 --> Create
MOVE 'ZCA0FCSTFTOP' TO tab_maint.
AUTHORITY-CHECK OBJECT 'ZZ:TABLMNP'
ID 'ACTVT' FIELD act_auth
ID 'TABLE' FIELD tab_maint.
IF sy-subrc NE 0.
PERFORM fill_fcode USING 'CREA'.
PERFORM fill_fcode USING 'COPY'.
ENDIF.
Check for authorization for delete
MOVE '06' TO act_auth. "06 --> Delete
MOVE 'ZCA0FCSTFTOP' TO tab_maint.
AUTHORITY-CHECK OBJECT 'ZZ:TABLMNP'
ID 'ACTVT' FIELD act_auth
ID 'TABLE' FIELD tab_maint.
IF sy-subrc NE 0.
PERFORM fill_fcode USING 'DELE'.
ENDIF.
ENDFORM. " set_auth
*& Module check_change INPUT
MODULE check_change INPUT.
flag = 'Y'.
ENDMODULE. " check_change INPUT
regards,
vikas.
plz reward if helpful
Maybe you are looking for
-
When trying to update my iPad on iTunes I keep getting a message that the download has stopped because the file is full. There is plenty of space on the iPad. Also, the message says to check the settings. What am I supposed to check in the setting
-
Hi, could you please explain me the about program id in configuring sender RFC communication channel. Regards, Nagarjuna.
-
Copying COA between different localisations with SDK
Hi, I am trying to setup some extra companies on a different server with different localizations. One of the main task that I want to achieve is to copy COA to all these new companies. With a bit of codeing with SDK I have successfully post one accou
-
Where is the database of "server side" sync items?
Server 10.5.6 clients 10.5.5 Problem: Server side file tracking for Mobile Home sync is on. Files are not syncing reliably. Desktop items don't make it back to the network home and other similar issues. The clients get several errors stating that the
-
Stopping the execution in between
Hi, I am using a Event structure to Start and Stop the test. In the Start event i will be having a stacked sequence which consists of many sequences. In the Stop Event I will be stopping the execution. If I press Start button the sequence under this