Download Hierarchial List ALV to excel
Hi all,
Please provide me the solution on using download button in Hierarchial List ALV to download to excel.The output of excel need to be exacted as the output of ALV (All header and items details).
Please suggest the solution and sample code ASAP.
Thanks and Regards.
Hello,
Find the code where method set_table_for_first_display of tree object (CL_GUI_ALV_TREE) used in your program,
and learn table of tree from there :
CALL METHOD g_tree->set_table_for_first_display
EXPORTING
i_structure_name = g_structname
is_hierarchy_header = g_hierarchy_header
CHANGING
it_fieldcatalog = g_fieldcat
it_outtab = it_result . "<-- this table contains hierarchical data
And than download this table using class CL_GUI_FRONTEND_SERVICES
and methods FILE_SAVE_DIALOG and GUI_DOWNLOAD or function GUI_DOWNLOAD
you can find too many of examples in forum.
Similar Messages
-
Download data from ALV to excel issue
Hi All,
Could you please tell me if there has any restriction on ALV grid data download to excel? I've a report contains 68 columns and about 500 rows, I want to download the data using the standard menu list->export->save to local file. but after I download them, I found the first 65 columns display in one line and the rest columns display in next line, just like ALV do not allow too many characters in one row and have to switch to new line. I can hide some columns but it's very strange that even after i hide 3 columns to fit the 500 rows download, then if the rows increase, the same problem occurs.
I searched the forum and in the thread Re: Export ALV in EXCEL Issue Mr. Suvajit provided a solution by using menu List->export->spreadsheet, it looks very good. But I still want to know how this happen and is there a standard way to download data with more than 65 columns to local file with extension .xls so that user can open it directly?
PS: I'm using FM REUSE_ALV_GRID_DISPLAY and the SAP version is SAP ECC6 with kernal package SAPKB70103.
Thank you very much.
Best Regards,
Jeff
Edited by: Jeff_liu_2010 on Mar 10, 2011 7:21 AMHi Jeff,
Please check if following analysis is helpful to you.
Analysis/Solution:
When we export ALV data to excel worksheet, as sap notes say the maximum lenght allowed is 1023 charaters and the max no of columns supported is 90.
(I never faced any issue related to no of columns as it worked fine for columns >90 too)
Issue occured when row size of exported data gets more than 1023 character.
Therefore the row data must not exceed 1023 character, otherwise column splits and moves to next row.
One additional aspect generally missed is that:
When data in any particular column changes it's length, alv header also changes its lengh (short text, medium text, long text; depending on the length of of the longest cell in the column)
therefore even if you have total length of row less than 1023 character, there might be cases when your ALV header size exceeds this length.
Reducing the header size (by forcing to use short text or specifying own header names) should resolve the issue.
Regards,
Parveen -
To download a list output to excel sheet
Hi All,
I am running the transaction MD47 for Product Group Planning.
I get a list output with as many as 90 columns.
When I try to download the output into an excel (System > List > Save > Local File ) only the columns which appear on the screen are being downloaded. Does any one have pointers on how can I download the whole list into an excel?
Regards,
KarthikHey Gabriel,
I am doing good. How are you today?
How do I do that?
This is a list output not an ALV. I dint find any option to choose an ALV layout.
Regards,
Karthik -
How to include a Header in Hierarchy List (ALV)?
Hi Gurus,
If we need to include any header in ALV Grid, then we generate an event and pass that header to TOP_OF_PAGE event. We do have I_CALLBACK_TOP_OF_PAGE parameter for the REUSE_ALV_GRID_DISPLAY function module.
But how do I generate a Header for a Hierarchy List? I do not find any parameter for TOP_OF_PAGE event. Please help with inputs.
Regards,
KiranHi Kiran,
The following codes are very useful to you...
If any problem let me know...
REPORT zxxxxxxxxxxxxxx LINE-SIZE 220
LINE-COUNT 50(5).
*& DATA DECLARATION *
TABLES: MARA, "GENERAL MASTER DATA
MARC, "PLANT DATA FOR MATERIAL
MARD, "STORAGE LOCATION DATA FOR MATERIAL
MBEW, "MATERIAL VALUATION
MVKE, "SALES DATA FOR MATERIAL
MAKT, "MATERIAL DESCRIPTION
EKKO, "PURCHASING DOCUMENT HEADER
EKPO, "PURCHASING DOCUMENT ITEM
VBAK, "SALES DOCUMENT HEADER DATA
VBAP. "SALES DOCUMENT ITEM DATA
TYPE-POOLS : SLIS.
DATA: VT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
V_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
V_LAYOUT TYPE SLIS_LAYOUT_ALV,
BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
BEGIN OF I_MARA OCCURS 0,
MATNR LIKE MARA-MATNR, "MATERIAL NUMBER
MBRSH LIKE MARA-MBRSH, "INDUSTRY SECTOR
MEINS LIKE MARA-MEINS, "BASE UNIT OF MEASURE
MATKL LIKE MARA-MATKL, "MATERIAL GROUP
END OF I_MARA,
BEGIN OF I_MARC OCCURS 0,
MATNR LIKE MARC-MATNR, "MATERIAL NUMBER
WERKS LIKE MARC-WERKS, "PLANT
LVORM LIKE MARC-LVORM, "FLAG MATERIAL FOR DELETION AT PLANT
"LEVEL
DISPO LIKE MARC-DISPO, "MRP CONTROLLER
END OF I_MARC,
BEGIN OF I_MAKT OCCURS 0,
MATNR LIKE MAKT-MATNR, "MATERIAL NUMBER
MAKTX LIKE MAKT-MAKTX, "MATERIAL DESCRIPTION
SPRAS LIKE MAKT-SPRAS, "LANGUAGE KEY
END OF I_MAKT,
BEGIN OF I_MVKE OCCURS 0,
MATNR LIKE MVKE-MATNR, "MATERIAL NUMBER
VKORG LIKE MVKE-VKORG, "SALES ORGANIZATION
VTWEG LIKE MVKE-VTWEG, "DISTRIBUTION CHANNEL
END OF I_MVKE,
BEGIN OF I_MARD OCCURS 0,
MATNR LIKE MARD-MATNR, "MATERIAL NUMBER
LGORT LIKE MARD-LGORT, "STORAGE LOCATION
LABST LIKE MARD-LABST, "VALUATED STOCK WITH UNRESTRICTED USE
END OF I_MARD,
BEGIN OF I_EKPO OCCURS 0,
EBELN LIKE EKPO-EBELN, "PURCHASING DOCUMENT NUMBER
EBELP LIKE EKPO-EBELP, "ITEM NUMBER OF PURCHASING DOCUMENT
MATNR LIKE EKPO-MATNR, "MATERIAL NUMBER
END OF I_EKPO,
BEGIN OF I_VBAP OCCURS 0,
VBELN LIKE VBAP-VBELN, "SALES DOCUMENT
POSNR LIKE VBAP-POSNR, "SALES DOCUMENT ITEM
MATNR LIKE VBAP-MATNR, "MATERIAL NUMBER
END OF I_VBAP,
BEGIN OF I_OUT OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
LVORM LIKE MARC-LVORM,
DISPO LIKE MARC-DISPO,
MBRSH LIKE MARA-MBRSH,
MEINS LIKE MARA-MEINS,
MATKL LIKE MARA-MATKL,
VKORG LIKE MVKE-VKORG,
VTWEG LIKE MVKE-VTWEG,
SPRAS LIKE MAKT-SPRAS,
MAKTX LIKE MAKT-MAKTX,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
END OF I_OUT,
BEGIN OF I_HEADING OCCURS 0,
TEXT1(20),
TEXT2(20),
TEXT3(20),
TEXT4(20),
TEXT5(20),
TEXT6(20),
TEXT7(20),
TEXT8(20),
TEXT9(20),
TEXT10(20),
TEXT11(40),
TEXT12(20),
TEXT13(20),
TEXT14(20),
TEXT15(20),
TEXT16(20),
TEXT17(20),
END OF I_HEADING.
*& S E L E C T I O N - S C R E E N *
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR. "OBLIGATORY.
PARAMETERS: P_WERKS LIKE MARC-WERKS. "OBLIGATORY.
SELECT-OPTIONS: S_LGORT FOR MARD-LGORT,
S_DISPO FOR MARC-DISPO,
S_EBELN FOR EKPO-EBELN .
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-101.
PARAMETERS : RB1 RADIOBUTTON GROUP G1,
RB2 RADIOBUTTON GROUP G1,
RB3 RADIOBUTTON GROUP G1.
SELECTION-SCREEN END OF BLOCK B2.
*& S T A R T - O F - S E L E C T I O N *
START-OF-SELECTION.
SELECT MATNR WERKS LVORM DISPO FROM MARC
INTO CORRESPONDING FIELDS OF TABLE I_MARC
WHERE MATNR IN S_MATNR
AND DISPO IN S_DISPO
AND WERKS = P_WERKS.
IF I_MARC[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARC'.
EXIT.
ENDIF.
PERFORM PURCHASEDATA_VALIDATION.
PERFORM SALESDATA_VALIDATION.
SELECT MATNR LGORT LABST FROM MARD INTO TABLE I_MARD
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR
AND WERKS EQ P_WERKS
AND LGORT IN S_LGORT.
IF I_MARD[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARD'.
EXIT.
ENDIF.
SELECT MATNR VKORG VTWEG FROM MVKE INTO TABLE I_MVKE
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR.
IF I_MVKE[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MVKE'.
EXIT.
ENDIF.
LOOP AT I_MARC.
MOVE-CORRESPONDING I_MARC TO I_OUT.
CLEAR MARC.
SELECT SINGLE MATNR MBRSH MEINS MATKL FROM MARA
INTO CORRESPONDING FIELDS OF MARA
WHERE MATNR = I_OUT-MATNR.
IF SY-SUBRC = 0.
MOVE: MARA-MBRSH TO I_OUT-MBRSH,
MARA-MEINS TO I_OUT-MEINS,
MARA-MATKL TO I_OUT-MATKL.
ELSE.
CONTINUE.
ENDIF.
SELECT SINGLE MATNR MAKTX SPRAS FROM MAKT
INTO CORRESPONDING FIELDS OF MAKT
WHERE MATNR = I_OUT-MATNR.
IF SY-SUBRC = 0.
MOVE: MAKT-MAKTX TO I_OUT-MAKTX,
MAKT-SPRAS TO I_OUT-SPRAS.
ELSE.
CONTINUE.
ENDIF.
LOOP AT I_EKPO WHERE MATNR = I_MARC-MATNR.
MOVE: I_EKPO-EBELN TO I_OUT-EBELN,
I_EKPO-EBELP TO I_OUT-EBELP.
ENDLOOP.
LOOP AT I_VBAP WHERE MATNR = I_MARC-MATNR.
MOVE: I_VBAP-VBELN TO I_OUT-VBELN,
I_VBAP-POSNR TO I_OUT-POSNR.
ENDLOOP.
LOOP AT I_MARD WHERE MATNR = I_MARC-MATNR.
MOVE: I_MARD-LABST TO I_OUT-LABST,
I_MARD-LGORT TO I_OUT-LGORT.
ENDLOOP.
LOOP AT I_MVKE WHERE MATNR = I_MARC-MATNR.
MOVE: I_MVKE-VKORG TO I_OUT-VKORG,
I_MVKE-VTWEG TO I_OUT-VTWEG.
APPEND I_OUT.
ENDLOOP.
CLEAR I_OUT.
ENDLOOP.
PERFORM OPTIONS.
FORM OPTIONS *
FORM OPTIONS.
IF RB2 = 'X'.
PERFORM FIELDCAT.
PERFORM OUTPUT.
ELSE.
IF RB1 = 'X'.
PERFORM HEADINGS.
PERFORM DLOAD.
ELSE.
IF RB3 = 'X'.
PERFORM HEADINGS.
PERFORM DLOAD.
PERFORM FIELDCAT.
PERFORM OUTPUT.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. "OPTIONS
FORM HEADINGS *
FORM HEADINGS.
I_HEADING-TEXT1 = 'MATNR'.
I_HEADING-TEXT2 = 'WERKS'.
I_HEADING-TEXT3 = 'LVORM'.
I_HEADING-TEXT4 = 'DISPO'.
I_HEADING-TEXT5 = 'MBRSH'.
I_HEADING-TEXT6 = 'MEINS'.
I_HEADING-TEXT7 = 'MATKL'.
I_HEADING-TEXT8 = 'VKORG'.
I_HEADING-TEXT9 = 'VTWEG'.
I_HEADING-TEXT10 = 'SPRAS'.
I_HEADING-TEXT11 = 'MAKTX'.
I_HEADING-TEXT12 = 'LGORT'.
I_HEADING-TEXT13 = 'LABST'.
I_HEADING-TEXT14 = 'EBELN'.
I_HEADING-TEXT15 = 'EBELP'.
I_HEADING-TEXT16 = 'VBELN'.
I_HEADING-TEXT17 = 'POSNR'.
APPEND I_HEADING.
ENDFORM. "HEADINGS
FORM DLOAD *
FORM DLOAD.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:\MATSTK.XLS'
FILETYPE = 'DAT'
WRITE_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = I_HEADING
EXCEPTIONS
FILE_WRITE_ERROR = 1.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:\MATSTK.XLS'
FILETYPE = 'DAT'
APPEND = 'X'
WRITE_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = I_OUT.
ENDFORM. "DLOAD
FORM FIELDCAT *
FORM FIELDCAT.
V_FIELDCAT-COL_POS = '1'.
V_FIELDCAT-FIELDNAME = 'MATNR'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-HOTSPOT = 'X'.
V_FIELDCAT-REF_FIELDNAME = 'MATNR'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '2'.
V_FIELDCAT-FIELDNAME = 'WERKS'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'WERKS'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '3'.
V_FIELDCAT-FIELDNAME = 'LVORM'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'LVORM'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '4'.
V_FIELDCAT-FIELDNAME = 'DISPO'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'DISPO'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '5'.
V_FIELDCAT-FIELDNAME = 'MBRSH'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MBRSH'.
V_FIELDCAT-REF_TABNAME = 'MARA'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '6'.
V_FIELDCAT-FIELDNAME = 'MEINS'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MEINS'.
V_FIELDCAT-REF_TABNAME = 'MARA'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '7'.
V_FIELDCAT-FIELDNAME = 'MATKL'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MATKL'.
V_FIELDCAT-REF_TABNAME = 'MARA'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '8'.
V_FIELDCAT-FIELDNAME = 'VKORG'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'VKORG'.
V_FIELDCAT-REF_TABNAME = 'MVKE'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '9'.
V_FIELDCAT-FIELDNAME = 'VTWEG'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'VTWEG'.
V_FIELDCAT-REF_TABNAME = 'MVKE'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '10'.
V_FIELDCAT-FIELDNAME = 'SPRAS'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'SPRAS'.
V_FIELDCAT-REF_TABNAME = 'MAKT'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '11'.
V_FIELDCAT-FIELDNAME = 'MAKTX'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MAKTX'.
V_FIELDCAT-REF_TABNAME = 'MAKT'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '12'.
V_FIELDCAT-FIELDNAME = 'LGORT'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'LGORT'.
V_FIELDCAT-REF_TABNAME = 'MARD'.
V_FIELDCAT-SELTEXT_L = 'STRG LOCT'.
V_FIELDCAT-OUTPUTLEN = 10.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '13'.
V_FIELDCAT-FIELDNAME = 'LABST'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-SELTEXT_M = 'STOCK'.
V_FIELDCAT-OUTPUTLEN = 15.
V_FIELDCAT-REF_FIELDNAME = 'LABST'.
V_FIELDCAT-REF_TABNAME = 'MARD'.
V_FIELDCAT-DO_SUM = 'X'.
V_LAYOUT-TOTALS_TEXT = 'TOTAL STOCK:'.
V_FIELDCAT-HOTSPOT = 'X'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '14'.
V_FIELDCAT-FIELDNAME = 'EBELN'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-HOTSPOT = 'X'.
V_FIELDCAT-REF_FIELDNAME = 'EBELN'.
V_FIELDCAT-REF_TABNAME = 'EKPO'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '15'.
V_FIELDCAT-FIELDNAME = 'EBELP'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'EBELP'.
V_FIELDCAT-REF_TABNAME = 'EKPO'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '16'.
V_FIELDCAT-FIELDNAME = 'VBELN'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-HOTSPOT = 'X'.
V_FIELDCAT-REF_FIELDNAME = 'VBELN'.
V_FIELDCAT-REF_TABNAME = 'VBAP'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '17'.
V_FIELDCAT-FIELDNAME = 'POSNR'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'POSNR'.
V_FIELDCAT-REF_TABNAME = 'VBAP'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
ENDFORM. "FIELDCAT
FORM OUTPUT *
FORM OUTPUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
I_GRID_TITLE = 'CLICK ON MATERIAL/PURDOC/SALESDOC FOR DETAILS'
I_CALLBACK_USER_COMMAND = 'DISPLAYDETAILS'
IS_LAYOUT = V_LAYOUT
IT_FIELDCAT = VT_FIELDCAT1
TABLES
T_OUTTAB = I_OUT.
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. "OUTPUT
FORM TOP-OF-PAGE *
FORM TOP-OF-PAGE.
DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
WA_HEADER TYPE SLIS_LISTHEADER.
WA_HEADER-TYP = 'H'.
WA_HEADER-INFO = 'REPORT FOR : '.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-INFO = 'MATERIAL DETAILS'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-INFO = 'PURCHASE ORDER DETAILS'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-INFO = 'SALES ORDER DETAILS'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
I_LOGO = 'GEAR'
IT_LIST_COMMENTARY = T_HEADER.
ENDFORM. "TOP-OF-PAGE
*& FORM DISPLAYDETAILS *
FORM DISPLAYDETAILS USING UCOMM LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
IF SELFIELD-FIELDNAME = 'EBELN'.
IF UCOMM = '&IC1'.
READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
PERFORM PORECDNG.
CLEAR BDCDATA[].
ENDIF.
ELSE.
IF SELFIELD-FIELDNAME = 'MATNR'.
IF UCOMM = '&IC1'.
READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
PERFORM MMRECDNG.
CLEAR BDCDATA[].
ENDIF.
ELSE.
IF SELFIELD-FIELDNAME = 'VBELN'.
IF UCOMM = '&IC1'.
READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
PERFORM SALESRECDNG.
CLEAR BDCDATA[].
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. "DISPLAYDETAILS
FORM PORECDNG *
FORM PORECDNG.
perform bdc_dynpro using 'SAPMM06E' '0105'.
perform bdc_field using 'BDC_CURSOR'
'RM06E-BSTNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RM06E-BSTNR'
I_OUT-EBELN.
perform bdc_dynpro using 'SAPMM06E' '0120'.
perform bdc_field using 'BDC_CURSOR'
'RM06E-BSTPO(01)'.
perform bdc_field using 'BDC_OKCODE'
'=AH'.
perform bdc_field using 'RM06E-EBELP'
I_OUT-EBELP.
perform bdc_field using 'RM06E-TCSELFLAG(01)'
'X'.
perform bdc_transaction using 'ME23'.
ENDFORM. "PORECDNG
FORM MMRECDNG *
FORM MMRECDNG.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RMMG1-MATNR'
I_OUT-MATNR.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM BDC_TRANSACTION USING 'MM03'.
ENDFORM. "MMRECDNG
FORM SALESRECDNG *
FORM SALESRECDNG.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '0102'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'VBAK-VBELN'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'VBAK-VBELN'
I_OUT-VBELN.
PERFORM BDC_TRANSACTION USING 'VA03'.
ENDFORM. "SALESRECDNG
FORM BDC_TRANSACTION *
FORM BDC_TRANSACTION USING TCODE.
CALL TRANSACTION TCODE USING BDCDATA MODE 'E'.
ENDFORM. "BDC_TRANSACTION
FORM BDC_DYNPRO *
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO
INSERT FIELD *
FORM BDC_FIELD USING FNAM FVAL.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDFORM. "BDC_FIELD
*& FORM PURCHASEDATA_VALIDATION *
FORM PURCHASEDATA_VALIDATION.
SELECT EBELN EBELP MATNR
FROM EKPO
INTO TABLE I_EKPO
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR
AND EBELN IN S_EBELN
AND WERKS EQ P_WERKS.
IF I_EKPO[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA IS SELECTED FROM TABLE EKPO'.
EXIT.
ENDIF.
DATA: T_EKPO LIKE I_EKPO OCCURS 0 WITH HEADER LINE.
T_EKPO[] = I_EKPO[].
REFRESH I_EKPO.
FREE I_EKPO.
LOOP AT T_EKPO.
SELECT SINGLE EBELN FROM EKKO INTO EKPO-EBELN
WHERE EBELN = T_EKPO-EBELN.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING T_EKPO TO I_EKPO.
APPEND I_EKPO.
CLEAR I_EKPO.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.
SORT I_EKPO.
ENDFORM. "PURCHASEDATA_VALIDATION
*& FORM SALESDATA_VALIDATION *
FORM SALESDATA_VALIDATION.
SELECT VBELN POSNR MATNR
FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE
I_VBAP FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR.
DATA: T_VBAP LIKE I_VBAP OCCURS 0 WITH HEADER LINE.
T_VBAP[] = I_VBAP[].
REFRESH I_VBAP.
FREE I_VBAP.
LOOP AT T_VBAP.
SELECT SINGLE VBELN FROM VBAK INTO VBAK-VBELN
WHERE VBELN = T_VBAP-VBELN.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING T_VBAP TO I_VBAP.
APPEND I_VBAP.
CLEAR I_VBAP.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.
SORT I_VBAP.
ENDFORM. "SALESDATA_VALIDATION
..........................FOr Hierarchy List...................
REPORT Zxxxxxxxxxx NO STANDARD PAGE HEADING.
**********DECLARING TABLES********************************************
TYPE-POOLS: slis.
TABLES: EKKO, "PO HEADER
EKPO. "PO ITEM
**********DECLARING DATA**********************************************
DATA: ET_EKKO TYPE EKKO OCCURS 0 WITH HEADER LINE,
ET_EKPO TYPE EKPO OCCURS 0 WITH HEADER LINE,
ET_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,
ET_LAYOUT TYPE SLIS_LAYOUT_ALV,
ET_KEYINFO TYPE SLIS_KEYINFO_ALV,
ET_REPID LIKE SY-REPID.
DATA: ET_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA: ET_EVENTS TYPE SLIS_T_EVENT.
**********SELECTION CRITERIA****************************************
SELECTION-SCREEN BEGIN OF BLOCK RAD1 WITH FRAME TITLE TEXT-003.
SELECT-OPTIONS: S_EBELN FOR ET_EKPO-EBELN OBLIGATORY.
SELECTION-SCREEN END OF BLOCK RAD1.
INITIALIZATION.
ET_KEYINFO-HEADER01 = 'EBELN'.
ET_KEYINFO-ITEM01 = 'EBELN'.
ET_SORT-FIELDNAME = 'EBELN'.
ET_SORT-TABNAME = '2'.
ET_SORT-SPOS = 1.
ET_SORT-UP = 'X'.
ET_SORT-SUBTOT = 'X'.
APPEND ET_SORT.
ET_SORT-FIELDNAME = 'EBELP'.
ET_SORT-TABNAME = '2'.
ET_SORT-SPOS = 1.
APPEND ET_SORT.
ET_FIELDCAT-FIELDNAME = 'NETWR'.
ET_FIELDCAT-TABNAME = '2'.
ET_FIELDCAT-OUTPUTLEN = 8.
ET_FIELDCAT-DO_SUM = 'X'.
ET_FIELDCAT-HOTSPOT = 'X'.
APPEND ET_FIELDCAT.
START-OF-SELECTION.
SELECT EBELN BUKRS AEDAT ERNAM FROM EKKO INTO CORRESPONDING
FIELDS OF TABLE ET_EKKO
WHERE EBELN IN S_EBELN.
SELECT * FROM EKPO INTO CORRESPONDING FIELDS
OF TABLE ET_EKPO FOR ALL ENTRIES IN
ET_EKKO WHERE EBELN = ET_EKKO-EBELN.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_STRUCTURE_NAME_HEADER = 'EKKO'
I_STRUCTURE_NAME_ITEM = 'EKPO'
IS_KEYINFO = ET_KEYINFO " The structure contains the
" header and item table
" field names which links the
" the two tables(shared key)
IS_LAYOUT = ET_LAYOUT
IT_FIELDCAT = ET_FIELDCAT[]
I_TABNAME_HEADER = '1' " Name of the internal table in the
" program containing the output data
" of the highest hierarchy level
I_TABNAME_ITEM = '2' " Name of the internal table in the
" program containing the output data
" of the highest hierarchy level
IT_EVENTS = ET_EVENTS[]
IT_SORT = ET_SORT[]
TABLES
T_OUTTAB_HEADER = ET_EKKO " Header table with data to be
" output
T_OUTTAB_ITEM = ET_EKPO. " Name of the internal table in
" the program containing the
" output data of the lowest
"hierarchy level.
Regards,,
Satya Kumar.. -
Download ICONS from ALV to EXCEL
Dear Friends,
IS there a way of downloading the ICON image exactly
from alv to EXCEL,right now,when the icon is downloaded
from alv to the excel,i can only see ascii characters in
the icon column in the excel.
kind regards
kaushik hegdeHi Jeff,
Please check if following analysis is helpful to you.
Analysis/Solution:
When we export ALV data to excel worksheet, as sap notes say the maximum lenght allowed is 1023 charaters and the max no of columns supported is 90.
(I never faced any issue related to no of columns as it worked fine for columns >90 too)
Issue occured when row size of exported data gets more than 1023 character.
Therefore the row data must not exceed 1023 character, otherwise column splits and moves to next row.
One additional aspect generally missed is that:
When data in any particular column changes it's length, alv header also changes its lengh (short text, medium text, long text; depending on the length of of the longest cell in the column)
therefore even if you have total length of row less than 1023 character, there might be cases when your ALV header size exceeds this length.
Reducing the header size (by forcing to use short text or specifying own header names) should resolve the issue.
Regards,
Parveen -
One field is not downloading properly from ALV to EXCEL
Hi,
while downloading ALV out put to EXCEL sheet one field(CSTCTR) is not displaying properly it's truncating left and right side digits,
I have used function REUE_ALV_GRID_DISPLAY
FORM SUMMARY_REPORT .
PERFORM BUILD_FIELDCATLOG.
IF I_FINAL[] IS INITIAL.
MESSAGE I000 WITH 'NO DATA EXIST'.
EXIT.
ENDIF.
ST_SETTINGS-EDT_CLL_CB = 'X'.
V_REPID = SY-REPID.
SORT I_FINAL BY WERKS GEBNR PERNR.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
I_GRID_SETTINGS = ST_SETTINGS
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
IT_SORT = IT_SORT[]
IT_FIELDCAT = IT_FLDCAT[]
IT_EVENTS = IT_EVENTS[]
TABLES
T_OUTTAB = I_FINAL[]
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM. " alv_display summary_report
*& Form build_fieldcatlog
text
FORM BUILD_FIELDCATLOG.
WA_FLDCAT-FIELDNAME = 'WERKS'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'PA'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '1'.
WA_FLDCAT-KEY = 'X'.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'GEBNR'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'LOC'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '2'.
WA_FLDCAT-KEY = 'X'.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'PERNR'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'SAP #'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '3'.
WA_FLDCAT-KEY = 'X'.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'ADPFN'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'ADP #'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '4'.
WA_FLDCAT-KEY = 'X'.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'PERID'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'SSN'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '5'.
WA_FLDCAT-KEY = 'X'.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'KOSTL'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'CSTCTR'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '6'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'NACHN'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'LAST NAME'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '7'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'VORNA'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'FORST NAME'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '8'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'HIREDATE'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'HAL DATE'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '9'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'VACDATE'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'VAC DATE'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '10'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'GBDAT'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'BIRTHDT'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '11'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'SENDAT'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'SRDATE'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '12'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'SERADJDAT'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'SVCADJDT'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '13'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'TERMDATE'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'TERMDT'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '14'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'MGTXT'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'TERM REASON'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '15'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'GESCH'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = '***'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '16'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'RACKY'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'RACE'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '17'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'VTEXT'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'VET STAT'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '18'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'EXPAT'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'EXPAT'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '19'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'DISAB'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'DISAB'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '20'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'PTEXT'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'STAT'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '21'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'STELL'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'JOB'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '22'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'STLTX'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'JOB TITLE'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '23'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'PLANS'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'POSITION'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '24'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'PLSTX'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'POSITION T'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '25'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'AAPCT'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'JOBGP'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '26'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'EEOCT'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'EEO'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '27'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'ZBAND'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'BAND'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '28'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'EEOEX'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'FLSA'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '29'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
*WHEN DIVG
WA_FLDCAT-FIELDNAME = 'BETRG'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'BW/HR'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '30'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'ANSAL'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'ANNSAL'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '31'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'WOSTD'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'HRS'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '32'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'ZBONPLAN'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'PLAN'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '33'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'ZTARGET'.
WA_FLDCAT-OUTPUTLEN = '10'.
WA_FLDCAT-SELTEXT_M = 'TGT'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
WA_FLDCAT-COL_POS = '34'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
ENDFORM. " BUILD_FIELD CATLOGAlso make sure if the reference field name and reference table name in the field cat .
There will be some fields where in when dropped to excel will not hold the field properties and may not download properly,In such cases pass the reference fileds to the field cat .
In the field cat u r using, pass this and check .
WA_FLDCAT-FIELDNAME = ' '. "
WA_FLDCAT-OUTPUTLEN = 'XX'.
WA_FLDCAT-SELTEXT_M = 'XXXXXXXXXXXXXXXXXXx'.
WA_FLDCAT-TABNAME = 'I_FINAL'.
wa_fldcat- -
>reference field name,
wa_fldcat----
>reference table name
WA_FLDCAT-COL_POS = '25'.
WA_FLDCAT-KEY = ' '.
APPEND WA_FLDCAT TO IT_FLDCAT.
CLEAR WA_FLDCAT.
Br,
Vijay. -
Using download button in ALV to download to excel
Hi,
Please provide me the solution on using download button in Hierarchial List ALV to download to excel.I need to download the Header and Item details in a single line (in one line)in the Excel sheet.
Please suggest the solution and sample code ASAP.
Thanks and Regards,
Latha.Hi Rames,
my mail id : [email protected]
Thanks and Regards,
Vidyullatha. -
ALV TO EXCEL PROBLEM? ( 90 COLUMNS ALV CAN'T EXPORT TO EXCEL NORMALLY)
HI ABAPERS,
anyone have a alv that have over 90 columns and want to export to excel have experienced abnormal formating (like the header row show only up to 60 column and the rest show up in next row) and the data show in separate line.
anyway can have a better format?
also after 90 columns show up on alv, it can't show anymore except modify the layout in run time.
can we do something before that?
thanks & regards,
HOWARDHi HOWARD,
My Report ouput having more than 90 columns in ALV, while downloading data from ALV to Excel sheet am facing alignment problem. (ie) the output column > 66 are appearing in next line of the excel sheet leads to improper alignment.
Pls give me a solution as u had already come across this issue..
Thank & Regards,
Paramesh. -
Problrn when downloas from ALV to excel
Hi All.
I am trying to download data from ALV to excel file, but only last pages are downloaded and not from frist pages?
Can anyone tell me wht it is happening and what is the solution?
Thanks.Hi PKB,
My initial analysis of your query is as follows.
You can test the same by debugging the report after pressing the send to excel report. See the internal table is gettting deleted anywhere in between. If yes analyse it is happening and correct it if possible.
Let me know if any further help is required by providing further details.
Regards,
Gowri -
Regarding Excel Download in Block list ALV
Hi Abaper's,
I am facing with one problem during downloading of the BlockList ALV.
<b>If I click on the standart toolbar 'local file button '( ctrl + shift + F9) it is downloading the ALV data into the excel file but the ALV header information starts from column 1 and ALV data information starts from the 2nd column.</b>
Please suggest me is it the expected functionality of the Block List ALV or I have written wrong code. Please suggest me.I think there is something wrong with the output...maybe you should check your fieldcatalog wheter it matches to the structure of your internal table of data you want to show.
Normally you should get an output per column with the fieldnames in the first line starting with 1st column and the data starting in 2nd line starting with 1st col.
hope that helps you off, please award if useful!
Clemens -
Problem in ALV to Excel Download
Good Morning Experts,
I am facing one issue related ALV to excel Download.
I Developed one custom report the output is correct displaying.
the output is like for example i am taking 3 columns (plant, material, amt).
plant material amt
1001 aaa 1000
1001 bbb 2000
while downloading to excel
it displaying like
plant
material
amt
1001
aaa
1000
1001
bbb
2000
I dont know why its coming like that.
this is my code
DEFINE field_cat.
wa_field-row_pos = &1.
wa_field-fieldname = &2.
wa_field-tabname = &3.
wa_field-seltext_m = &4.
wa_field-outputlen = &5.
wa_field-currency = &6.
wa_field-ref_fieldname = &7.
wa_field-ref_tabname = &8.
APPEND wa_field to it_field.
clear wa_field.
END-OF-DEFINITION.
field_cat '1' 'BUKRS' 'IT_FINAL' 'Company Code' '6' '' '' ''.
field_cat '2' 'BUTXT' 'IT_FINAL' 'Comp Descrip' '25' '' '' ''.
field_cat '3' 'LIFNR' 'IT_FINAL' 'Vendor No' '10' '' '' ''.
field_cat '4' 'NAME1' 'IT_FINAL' 'Vendor Name' '35' '' '' ''.
field_cat '5' 'STRAS' 'IT_FINAL' 'Vendor Addres' '35' '' '' ''.
field_cat '6' 'FDGRV' 'IT_FINAL' 'Nature Of Work' '30' '' '' ''.
field_cat '7' 'DMBTR' 'IT_FINAL' 'Net Amount' '16' 'X' 'WAERS' 'IT_FINAL'.
field_cat '8' 'QBSHB' 'IT_FINAL' 'TDS Amount' '16' 'X' 'WAERS' 'IT_FINAL'.
field_cat '9' 'TOTAL' 'IT_FINAL' 'Total Amount' '16' 'X' 'WAERS' 'IT_FINAL'.
it_layout-zebra = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
IS_LAYOUT = it_layout
IT_FIELDCAT = it_field
I_SAVE = 'X'
TABLES
t_outtab = it_final
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. " DISPLAY_ALV
FORM TOP_OF_PAGE.
REFRESH it_head. CLEAR it_head.
wa_head-typ = 'H'.
wa_head-info = 'Vendorwise Expense Details'.
APPEND wa_head to it_head.
wa_head-typ = 'S'.
IF NOT s_MONAT-high is INITIAL.
CONCATENATE 'Period : ' p_gjahr '.' s_MONAT-low ' to ' p_gjahr '.' s_MONAT-high INTO wa_head-info.
ELSE.
CONCATENATE 'Period : ' p_gjahr '.' s_MONAT-low INTO wa_head-info.
ENDIF.
APPEND wa_head to it_head.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_head.
ENDFORM.
Regards,
Dhina..Hi,
You can also try in this way
in the output screen
click List (in app tool bar) -> Export -> Spreadsheet
and save at your desired location.
(It will be save in .mhtml format , just rightclick on it and you can open it with excel )
Then you will be able to view in your required format.
Regards,
koolspy. -
Missing data while download from ALV to Excel
Hi Experts,
After a report is generated to ALV list, I'm trying to download the report into an Excel file.
Let's say there are 50 records, but in the Excel file only have 6 records, and the last record only have 1st 3 fields out of 14 containing the data and the rest is empty.
I'm using MS Excel 2010, and my system is 4.6C. Not sure what has really gone wrong.
Is there any solutions? Much appreciated for any suggestion and comments
Thanks.Hi,
You'll need to verify your excel data for special characters. These special characters cause inconsistencies in the downloaded data.
Regards,
Pranav. -
Hi all!
Any body can guide me how to download records from ALV output to Excel,i have tried to downlowad using the Excel button which is coming as default in ALV display, but when i m clicking that Excel button ,i m getting the empty sheet with out data, what should i do?
Thanks & Regards,
palaniHello Raja,
The standard icon should work!! Which icon are you using? there's one with the tool-tip text <b>Export</b>. That is the one to be used.
If you are still not able to get that, then display the grid as a list and then use the standard menu option <i>System>List>Save-->Local File</i>.
Hope that helps,
Regards,
Anand Mandalika. -
Hi Friends,
I want to save the ALV output as a excel file on local drive.
From the ALV output, I am using menu path : Views --> Microsoft Excel (Ctrl + Shift + F7) to switch from ALV to Excel mode.
It is switched to excel mode but not showing any data in the columns?
If I use the Path: List --> Export --> Local File --> Spread Sheet --> Gave excel file name.
Here, I am not able get data for all columns. Some columns are not being displayed.
What is the problem in this? Is this coding error? Do we need to apply any OSS notes?
Thanks in advance,
SreeniHi soumya,
I want to download from standard functionality only, that means I want to download using standard menu paths only.
I have tried giving .csv file also, but not able to download all fields. It is missing first 4 fields and downloading all the remaining
fields.
Please try to through some light on it.
Thanks in advance,
Sreenivas reddy -
Download from ALV to excel sheet.
When i am downloading the Alv to excel sheet. I want to get the field descritption also in the excel sheet.
Refer:
https://forums.sdn.sap.com/click.jspa?searchID=14433981&messageID=3603627
Maybe you are looking for
-
Odata Connection Refresh Error while using excel web app - Project Online 2013
Hello All, I am trying to work with odata reporting on project online 2013. I am not using MS Excel client, I open any of the available default report in excel online. when i try to refresh data connection from data tab. it's giving me an error as sh
-
How to make PDF documents that open in Adobe reader open in Preview
How do I make PDF documents that open in Adobe Acrobat open in Preview?
-
IPhone won't exit recovery mode/ keeps saying "connect to iTunes"
I recently updated my iPhone 6 plus to iOS 8.2 everything was going fine, I was able to download the new iOS. I was updating the phone when suddenly iTunes informed me that I had to restore the phone in order for it to be updated. I gladly did. And t
-
Window will not open all the way
I can't expand this window without using the full screen option. I am trying to set it to the "normal" version
-
Thai characters not showing properly
Hi, When creating a product catalog in thai language the characters do not show properly. The characters have small aspects attached to them that hover above as you can see here http://www.gte-premium.com but when editing in Indesign the small aspect