ALV grid with 2 labels on the output
Hi,
I am trying ALV Grid with two labels using Function modules.
in the output, it should appear like...
Header1 | Header2 | Header3 | Header4 |
T21
T22
T31
T32
First line is for Header lable and second line is for item lable under corresponding Header labels.
Pls. can any suggest me a solution for this..
Thanks
PRa
Using the Gird Functions it is not possible, you can get the with the help of ALV list function.
If you use this aproach you will loose some Functionalities, Your Report Output will Distorted.
cehck this image..
http://img100.imageshack.us/img100/3846/output6ef.th.gif
REPORT ZTEST_ALV 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,
MALE type i,
female type i,
END OF ITAB.
SELECT VBELN
POSNR
FROM VBAP
UP TO 20 ROWS
INTO TABLE ITAB.
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = 'VBELN'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 1.
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 = 2.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'MALE'.
X_FIELDCAT-SELTEXT_L = 'MALE'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'FEMALE'.
X_FIELDCAT-SELTEXT_L = 'FEMALE'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
x_events-NAME = SLIS_EV_TOP_OF_PAGE.
x_events-FORM = 'TOP_OF_PAGE'.
APPEND x_events TO iT_EVENTS.
CLEAR x_events .
L_LAYOUT-NO_COLHEAD = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = L_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
it_events = it_events
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 TOP_OF_PAGE.
*-To display the headers for main list
FORMAT COLOR COL_HEADING.
WRITE: / SY-ULINE(103).
WRITE: / SY-VLINE,
(8) ' ' ,
SY-VLINE,
(8) ' ' ,
SY-VLINE,
(19) '***'(015) centered,
sy-vline.
WRITE: / SY-VLINE,
(8) 'VBELN'(013) ,
SY-VLINE,
(8) 'POSNR'(014) ,
SY-VLINE,
(8) 'MALE'(016) ,
sy-vline,
(8) 'FMALE'(017) ,
sy-vline.
FORMAT COLOR OFF.
ENDFORM.
Similar Messages
-
ALV Grid with size of the whole screen
I need to create ALV Grid, that fits any screen. How can i do this?
I tried cl_gui_docing_container, but in the constructor it's possible to make it to occupy only 95% of the screen.If you are using a custom control on the screen and then a custom container you can easily do this.
Create a screen(Size 200 x 240), place a custom control on the screen and make it to the max size 200 x 240. Now in the attributes of the custom control, check the Resizing option for both horizontal and vertical, with some minimum numbers there.
Now, your ALV grid automatically occupies all the space available on the screen irrespective of the size if the screen and you will have only one scroll bar.
Regards,
Ravi
Note - Please mark all the helpful answers -
FIeld headings in ALV Grid by label
Hi
I want disply the headings in alv grid display like this format.
I want write my own label in the output. (not in Normal LIST DISPLAY)
Sno | Sname | Marks
| | M1 | M2 | M3
How it is possible?
Edited by: Krishna Bommisetty on Sep 11, 2008 10:55 AMHi,
Check the below code.
WA_FCAT-SELTEXT_M = TEXT-073.
WA_FCAT-DDICTXT = 'M'.
We can define the name of the field label as mentioned above, where texto073 is nothing but the field label you want to give to the particular field.
DDICTXT you have to mention the length as small 'S', medium 'M' and large as 'L'. -
Dear Colleagues,
I develop an ALV grid with OO standard methods. Before the first display of the table I define the editable fields. It works fine.
I have a problem : if the table is empty and I press the standard icons "Append a line" or "Insert a line", the new line don't have the defined editable characteristics.for fields. Is there a standard method which I have forgotten ?
Thanks a lot and kind regards
Petervs_toolbar_excluding = cl_gui_alv_grid=>mc_fc_loc_delete_row.
APPEND vs_toolbar_excluding TO i_toolbar_excluding.
vs_toolbar_excluding = cl_gui_alv_grid=>mc_fc_loc_append_row.
APPEND vs_toolbar_excluding TO i_toolbar_excluding.
vs_toolbar_excluding = cl_gui_alv_grid=>mc_fc_loc_copy_row.
APPEND vs_toolbar_excluding TO i_toolbar_excluding.
vs_toolbar_excluding = cl_gui_alv_grid=>mc_fc_loc_insert_row.
APPEND vs_toolbar_excluding TO i_toolbar_excluding.
vs_toolbar_excluding = cl_gui_alv_grid=>mc_fc_loc_copy.
APPEND vs_toolbar_excluding TO i_toolbar_excluding.
vs_toolbar_excluding = cl_gui_alv_grid=>mc_fc_loc_cut.
APPEND vs_toolbar_excluding TO i_toolbar_excluding.
vs_toolbar_excluding = cl_gui_alv_grid=>mc_fc_loc_paste.
APPEND vs_toolbar_excluding TO i_toolbar_excluding.
vs_toolbar_excluding = cl_gui_alv_grid=>mc_fc_loc_undo.
APPEND vs_toolbar_excluding TO i_toolbar_excluding.
vs_toolbar_excluding = cl_gui_alv_grid=>mc_fc_loc_paste_new_row.
APPEND vs_toolbar_excluding TO i_toolbar_excluding.
* Displaying the output in ALV Grid
vs_layout_grid-no_rowmark = 'X'.
vs_layout_grid-zebra = 'X'.
vs_layout_grid-cwidth_opt = 'X'.
vs_layout_grid-edit = 'X'.
vs_layout_grid-ctab_fname = 'CT'.
vs_layout_grid-stylefname = 'CELLTAB'.
CALL METHOD v_grid->set_table_for_first_display
EXPORTING
i_save = 'X'
is_layout = vs_layout_grid
it_toolbar_excluding = i_toolbar_excluding[]
CHANGING
it_outtab = itab[]
it_fieldcatalog = it_fieldcat[]
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc NE 0.
MESSAGE 'ALV Grid display unsuccessful' TYPE 'I'.
STOP.
ENDIF. " IF sy-subrc NE 0
ELSE. " IF w_custom_container...
* Refresh the container if it already exists
CALL METHOD v_grid->refresh_table_display
EXCEPTIONS
finished = 1
OTHERS = 2.
IF sy-subrc NE 0.
MESSAGE 'Refreshing the container is not successful' TYPE 'I'.
STOP.
ENDIF. -
ALV list with count of the table
Dear all,
My requirement is i want display the output as alv list along with the count of the table .
i got the count but unable to diplay the below the list.
please suggest me.
Thanks& Regards,
RPIf you are using a custom control on the screen and then a custom container you can easily do this.
Create a screen(Size 200 x 240), place a custom control on the screen and make it to the max size 200 x 240. Now in the attributes of the custom control, check the Resizing option for both horizontal and vertical, with some minimum numbers there.
Now, your ALV grid automatically occupies all the space available on the screen irrespective of the size if the screen and you will have only one scroll bar.
Regards,
Ravi
Note - Please mark all the helpful answers -
Hey @all,
I want to make a ALV Grid with a Popup Window. The idea is that there is a field for notes and when you click on this field a popup window should be opened where you can insert more text or if text already exists only the first column of the text is shown in field until you click on the field.
Is there any possibility to do it this way? Do I have to make a second Grid for this Popup Window? Do anybody have an example how to solve this problem?
Thank you in advance for your answers!
Greetings,
Alexander*& Report Z_VISHVAS_ALV1
report z_vishvas_alv1.
type-pools: slis.
data: begin of i_outtab occurs 0.
include structure sflight.
data: w_chk type c. "For multiple selection
data: end of i_outtab.
I_OUTTAB TYPE SFLIGHT OCCURS 0,
data: i_private type slis_data_caller_exit,
i_selfield type slis_selfield,
w_exit(1) type c.
parameters: p_title type sy-title.
start-of-selection.
select * from sflight into table i_outtab.
call function 'REUSE_ALV_POPUP_TO_SELECT'
exporting
i_title = p_title
i_selection = 'X'
i_zebra = 'X'
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
i_checkbox_fieldname = 'W_CHK'
I_LINEMARK_FIELDNAME =
I_SCROLL_TO_SEL_LINE = 'X'
i_tabname = 'I_OUTTAB'
i_structure_name = 'SFLIGHT'
IT_FIELDCAT =
IT_EXCLUDING =
I_CALLBACK_PROGRAM =
I_CALLBACK_USER_COMMAND =
IS_PRIVATE = I_PRIVATE
importing
es_selfield = i_selfield
e_exit = w_exit
tables
t_outtab = i_outtab
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
MESSAGE i000(0k) WITH sy-subrc.
endif.
*****the internal table is modified with a cross sign for marking the
***rows selected
loop at i_outtab where w_chk = 'X'.
write: / i_outtab-carrid, i_outtab-price.
endloop. -
ALV GRID with own EXCEL-Template
Hallo,
I have Problem with using ALV-Grid with a own created
template.
At First I copy the SAP_OM.XLS template to CUS_OM.XLS.
Then I update it by deleting all sheets, but not RAWDATA.
When I use this template in ALV-GRID, it would be the right one, but it his no Data.
The security settings in Excel are correct.
Can anyone help me to show the data like the normal
ALV-GRID??
thanks DieterHi
Check this link...
How to send data to different tabs of an excel sheet? -
ALV GRID with icon fields. When exports to Excel, icon fields are emtpy.
Hi all,
In our SAP system (6.0 ECC) we've noticed the following behaviour:
In ALV GRID with icons (color lights for example...) when we export the list to Excel format with the standard button bat, the icon column is always empty.
We think that in previous SAP version (4.7), the code corresponding to the icon appeared (For example @08@ for green light).
It's possible to have tha same functionality in this new version like in 4.7?
Regards.
Edited by: Ole ES on Nov 17, 2010 6:05 PMHi,
Check the format in which you export to Excel (MHTML, XML, ...) and try antoher one.
http://help.sap.com/saphelp_erp60_sp/helpdata/en/66/79ad48157f11d2953700a0c930328a/content.htm
I think the integrated Excel mode shows '@08@'.
Best regards,
Guillaume -
OO ALV grid with a header line is this possible?
Howdy!
I have a requirement where I need to produce an ALV grid with the following format:
<b>Text 1 Text 2 Text 3 Text 4
Text 6
Col_1 Col_2 Col_3 Col_4 Col_5 Col_6 Col_7 Col_8 Col_9
Cell conents -
Cell conents -
Cell conents -
Cell conents -
Cell conents -
</b>
Anyone got any idea on how to get the 'TEXT' fields into the ALV grid? These are dynamic texts that would basically display details of data entered in the selection screen.
The ALV title line is limited to 70 characters and I can't think of another way of doing this.
The texts need to appear on the ALV grid becasue the user would like to download them to Excel in addition to the ALV cell contents using the standard ALV functionality.
Any ideas would be appreciated!
Message was edited by: RobertI'm thinking that this may not work because it is not a full screen grid and the grid container does not care about the container on top of it so, it most likely would not print it. Implement this example program, you can see how this would work for you if you were using the FM.
report zrich_0001
no standard page heading.
* Global ALV Data Declarations
type-pools slis.
data: begin of i_alv occurs 0,
matnr type mara-matnr,
end of i_alv.
* Miscellanous Data Declarations
data: fieldcat type slis_t_fieldcat_alv,
events type slis_t_event,
list_top_of_page type slis_t_listheader,
top_of_page type slis_formname value 'TOP_OF_PAGE'.
start-of-selection.
perform initialization.
perform get_data.
perform call_alv.
end-of-selection.
* Form Initialization
form initialization.
clear i_alv. refresh i_alv.
perform eventtab_build using events[].
endform.
* Form Get_Data
form get_data.
select matnr into table i_alv
from mara up to 100 rows.
endform.
* CALL_ALV
form call_alv.
data: variant type disvariant.
data: repid type sy-repid.
repid = sy-repid.
variant-report = sy-repid.
variant-username = sy-uname.
perform build_field_catalog.
perform comment_build using list_top_of_page[].
* Call ABAP List Viewer (ALV)
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
it_fieldcat = fieldcat
i_callback_program = repid
is_variant = variant
it_events = events[]
i_save = 'U'
tables
t_outtab = i_alv.
endform.
* EVENTTAB_BUILD
form eventtab_build using events type slis_t_event.
* Registration of events to happen during list display
data: tmp_event type slis_alv_event.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = events.
read table events with key name = slis_ev_top_of_page
into tmp_event.
if sy-subrc = 0.
move top_of_page to tmp_event-form.
append tmp_event to events.
endif.
endform.
* BUILD_FIELD_CATALOG
form build_field_catalog.
clear: fieldcat. refresh: fieldcat.
data: tmp_fc type slis_fieldcat_alv.
tmp_fc-reptext_ddic = 'Material'.
tmp_fc-fieldname = 'MATNR'.
tmp_fc-tabname = 'I_ALV'.
tmp_fc-outputlen = 18.
append tmp_fc to fieldcat.
endform.
* COMMENT_BUILD
form comment_build using list_top_of_page type
slis_t_listheader.
data: tmp_line type slis_listheader.
clear tmp_line.
tmp_line-typ = 'H'.
tmp_line-info = 'Here is a line of text'.
append tmp_line to list_top_of_page.
clear tmp_line.
tmp_line-typ = 'S'.
tmp_line-key = 'Key1'.
tmp_line-info = 'Here is a value'.
append tmp_line to list_top_of_page.
clear tmp_line.
tmp_line-typ = 'S'.
tmp_line-key = 'Key2'.
tmp_line-info = 'Here is another value'.
append tmp_line to list_top_of_page.
endform.
* TOP_OF_PAGE
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
i_logo = 'ENJOYSAP_LOGO'
it_list_commentary = list_top_of_page.
endform.
Regards,
Rich Heilman -
Manipulate Layout on ALV Grid with dynamic table
Dear all
i'm generating a dynamic table depending of a date selection. That means that I show columns for weeks and the quantity of weeky migh change.
Now the users wants to have a specific layout of the ALV grid with totals. When he saves the layout, only the weeks at this selection will show the next time he runs the programm with a larger selection.
a) Is it possible to modify the layout during runtime by programming?
b) Do you have any other ideas how to solve this problem?
Thank youYou don't know the names of your columns? hmm you do, because before you created dynamic table you had to create field catalog, so the structure and column names of newly (dynamically) created table will be the same like defined in the field catalog.
The last loop also does not look good, in my opinion should be something like:
LOOP AT lt_datatable +(my first table)+ ASSIGNING <ls_data4>.
AT NEW pernr.
APPEND initial line to <fs_1> assigning <fs_2>.
<fs_2>-pernr = <ls_data4>-pernr.
ENDAT.
ASSIGN COMPONENT <ls_data4>-wage_type OF STRUCTURE <fs_2> TO <fs_5>.
<fs_5> = <ls_data4>-amount.
ENDLOOP.
also keep in mind that number of calls of method cl_alv_table_create=>create_dynamic_table is limited to 36 (?) calls within one program session because it uses dynamic subroutine pool behind so you will have short dump if you will execute that 37 times. -
Default collapsed view in ALV grid with subtotoal lines
Hallo experts,
I am displaying a ALV grid with subtotals. Now my requirement to display the Grid with only subtotal lines. Means the grid should be displayed in collapsed mode by default.
Can any you help me finding this option.
Thanks.
Matt.Hallo experts,
I am displaying a ALV grid with subtotals. Now my requirement to display the Grid with only subtotal lines. Means the grid should be displayed in collapsed mode by default.
Can any you help me finding this option.
Thanks.
Matt.
Hi Matt,
Whe you call the FM REUSE_ALV_GRID_DISPLAY, you have to fill the table it_sort.
In this table, you have to fill the field FIELDNAME with the field that you can show with susbstotals and fill the field EXPA with 'X'.
W_SORT-SPOS = 1.
W_SORT-FIELDNAME = 'CODIGO'.
W_SORT-SUBTOT = 'X'.
W_SORT-EXPA = 'X'.
APPEND W_SORT TO IT_SORT.
In the fieldcatalog there must be any with the field DO_SUM = 'X'
You can maka this directly in the list by creating a variant with susbtotals, colapse them and save as a default variant for all users.
Regards,
Pepe
Regards,
Pepe -
Binding ALV GRID with Deep Internal Table
Hello all,
I am looking for a way to display ALV Grid with the Deep ITAB.
My ITAB is not too complex.
It has One Structure which gets whole DB table + One extra field.
Therefore my Itab looks as follows.
TYPES: BEGIN OF TY_TRIP,
ZPM_UPLOAD LIKE ZDBTABLE, "ZDBTABLE is custom database table.
TDTIME TYPE STRING,
END OF TY_TRIP.
DATA: ITAB TYPE TABLE OF TY_TRIP,
WA_ITAB LIKE LINE OF ITAB.
Now i am able to populate data into Deep ITAB.
If i call ALV Grid with ITAB then i get error. So how to call 'REUSE_ALV_GRID_DISPLAY' with this ITAB?
Thanks in advance.Hello,
My senior asked me to use the below definition.
TYPES: BEGIN OF TY_TRIP.
INCLUDE STRUCTURE ZDBTABLE.
TYPES: TDTIME TYPE STRING,
END OF TY_TRIP.
DATA: ITAB TYPE TABLE OF TY_TRIP,
WA_ITAB LIKE LINE OF ITAB.
If anyone else is looking to print in ALV, they can use this type of ITAB definition though it gives you the flexiblity to create ITAB and also making it FLAT and not DEEP.
But i am still looking for an answer for my first post.
Thanks. -
Display amount in ALV Grid with different Decimal Places based on Currency
HI Experts,
Working with ALV Report i have one Amount field NETWR which is having Length 15 and Decimal Places 2.
we have two different types of currency's AED and KWD and AED having 2 decimal Places and KWD having 3 decimal places.
im using FM: REUSE_ALV_GRID_DISPLAY for Display. value storing in Table was like this
AED---22.56
KWD---225.65
i need to display values like AED : 22.56HI Experts,
Working with ALV Report i have one Amount field NETWR which is having Length 15 and Decimal Places 2. we have two different types of currency's AED and KWD and AED having 2 decimal Places and KWD having 3 decimal places.
im using FM: REUSE_ALV_GRID_DISPLAY for Display. value storing in Table was like this
AED---22.56
KWD---225.65 (converting this value to 22.565 using BAPI_CURRENCY_GETDECIMALS according to currency in my Report)
i need to display values like AED : 22.56
KWD---22.565 but here field is NETWR with 2 decimal.
Need to Display amount in ALV Grid with different Decimal Places based on Currency
Regards,
Dileep Kumar Reddy -
What organizer app has a really good WEEK VIEW like my Palm Pilot - it's a grid with days across the top. Below each day- the day
is divided into hourly grids. When events are schdeuled across week - you get a mosaic of time blocks. Analogue view is great way
to comprehend the time obligations as a molar pattern.
thx,
FritzI use Week Cal on the iPod. I think it was only $1.99. It is a lot better and does a lot more than the one that came with the Palm Pilot.
As you know, unlike the Palm Pilot, the iPod does not come with a desktop application that you can sync your iPod calendar to. Since I don't use Outlook, I have to use a Cloud based calendar to sync with my PC. I use Hotmail's calendar for that. (If your computer is a MAC, you can use iCal) -
ALV GRID WITH SUMMATORIES DEPEND OF THE SELECTION
Hi Experts.
I have a form, in which depend of the selection, I show to user a fieldcatalog with the data (query) that the user want to see in that moment ...
The problem is that the user want to see one field (amount, sum total (money) ...etc) with summatories, group by date, person...or other depend of the selection he has done in the select dynpro.
How can I do it when I show the ALV??... The user don't want to use the option to make a lot of select dispositions in the ALV..., he want to see the disposition of the data depend the selection he do in the select dynpro.
I see when I create the fieldcatalog to the ALV GRID, there is a field ... do_sum, I have marked it, in the field which I want to do a summatory but don't do anything in the ALV when display.... and don't find how indicate in the fieldcatalog the field which I wan't group by...
Other options, that I have thought it's to make a lot of dispositions in ALV, and when display de ALV try to get the disposition that I want ... but I haven't did it.
Thanks.Hi all,
it is maybe too late to answer this question but I hope it can serve someone who bumps into this problem in the future.
I managed to activate the functions with the following code:
DATA alv TYPE REF TO cl_salv_table.
DATA: lo_functions TYPE REF TO cl_salv_functions_list.
DATA: lo_funcs TYPE salv_t_ui_func.
DATA: lo_func TYPE salv_s_ui_func.
cl_salv_table=>factory(
IMPORTING r_salv_table = alv
CHANGING t_table = <fs> ).
* Default Functions
lo_functions = alv->get_functions( ).
lo_funcs = lo_functions->get_functions( ).
* loop through all functions and enable them and set them visible.
* here u can also activate separate functions if you check the name with the method from r_function (CL_SALV_FUNCTION->GET_NAME)
LOOP AT lo_funcs INTO lo_func.
lo_func-r_function->set_enable( value = 'X' ).
lo_func-r_function->set_visible( value = 'X' ).
ENDLOOP.
alv->display( ).
Cheers,
Ilina
Maybe you are looking for
-
i keep all my LR5 photo's on an external Passport drive. When I import into LR I make a duplicate on another external Passport drive. I have made no changes hardware or software. I use a single catalog. All of a sudden LR does not recognize any of my
-
How do I find my old GPG Keychain in a Mac Timemachine backup?
My Mac froze up (software problem) and I am doing a "bare metal" reinstall of all software I have installed Thunderbird and Enigmail. I don't even know if the GPG key chain is stored on the Mac, but can not find it in the Time Machine backup. I did n
-
Can't install Oracle 8.1.7 Enterprise Edition on Pentium4
I have Pentium4 with 256MB SDRAM and Windows 2000 server installed on it. I'm trying to install Oracle 8.1.7 Enterprise Edition but the setup doesn't run at all. Is this a problem of O.S. or the processor?
-
how to make word files, presentations orview such files in mac
-
Facebook app won't work.
I just got my phone a few days ago. I download the facebook app today and it says that i'm on a service plan that does not support that application, but I have the Blackberry Social add-on.