ALv to excel download problems
HI friends,
Probelm I'm facing while saving an ALV report to Excel Sheet by clicking
on the 'Save as File Icon' button on the ALV output.=0D
Here data is going into a new Line after 65 columns.I've used Function
Module 'RSAQ_ALV'.This function module is ultimately using
'REUSE_ALV_GRID_DISPLAY' and 'REUSE_ALV_LIST_DISPLAY' function
modules.ALV output I'm getting correctly but when I save this ALV output
to Excel,columns are getting wrapped and going into 2nd row after 65
columns.=0D
Could anybody tell me what could be the reason ?=0D
Thanks,
Sreekanth.G
Moderator message: duplicate post locked.
Edited by: Thomas Zloch on Jul 9, 2010 12:36 PM
ch_alv_layout-info_fieldname = 'COLOR'. "infofield for listoutput
ch_alv_layout-colwidth_optimize = 'X'.
try commenting the above values.and also check the Fieldcatlog.
Check the issue similar issue was resolve by checking catalog and layout:
[ALV Issue solution|Re: Problem when export ALV.]
Regards,
Gurpreet
Similar Messages
-
Hi Experts,
I display around 15 fields(columns) in ALV output. When I download it to Excel, it downloads exactly.
Then dynamically, when I increase the number of fields to be displayed in ALV it is displaying correctly. But when I download
to excel, half of the fields are coming in one line of excel sheet and remaining fields are coming in the second line of excel.
Why am I not getting all the fields in one line itself in the excel sheet?
Is it a problem in standard ALV?
I am using cl_gui_alv_grid class to display ALV output.
Thanks and regards,
Venkat.Hi!
Which function module you are using for downloading? -
ALV to excel download problem through standard tool bar
I am downloading data into excel from ALV , When there are 128 column data in execl coming as 2 row for 1 row of data in alv. This problem is not there for 78 columns report.
Kindly suggest some solution.i think there is a limit to the number of columns for ALV and which is i think 92 ..this can be the cause of the issue
amit -
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. -
ALV Excel Download problem ( Special Character)
Hi,
I am unable to download completely in XLS format from ALV grid. When i tried in couple of ways there is a special character( " ) in one of the filed. Due to the same Excel download has some problem. I tested by removing those and it worked fine,
Please suggest me to solve the issue.
Thanks,
Bhanu Gattu,Data strings with special characters can not be downloaded into XLS format from ALV grid. In my case, I replaced the special character " with space and I could download the data into excel.
-
Hi,
I am trying to download ALV report to excel but the columns in the o/p is appearing in two rows.
THe ALV report has 82 columns in o/p.Is there any restriction on the no of columns that can be downloaded in excel.Please help.
Thanks,
Sutapa.Hi Sutapa,
Kindly go through this link below for ALV Excel Download:
Re: how to view alv grid output in excel format(not downloading to pc)
Hope it helps
Regrds
Mansi -
Excel Download problem - Urgent please
Hi All,
I am using 4.6C version.
The user is downloading the ALV output to excel from the output menu
List > Save > File > Spreadsheet >
User tried saving a file to the Local drive and got a "Disk is full" error.
User realized that the export didn't complete (Partial download)
because there wasn't enough disk space to export the report.
User stated that if he had received an error message of some sort, he might have realized the problem.
He didn't receive any kind of errors.
User would like some kind of error message to come up in those situations.
Without an error message, he assumes the reports are acurate and trusts them.
<b>I have analysied and found a exit EXIT_SAPLGRAP_001 which triggres after the popup asking the file path. However this exit doesnot give me the file path</b>.
After this i think i can make use of the class CL_GUI_FRONTEND_SERVICES and method GET_FREE_SPACE_FOR_DRIVE and FILE_GET_SIZE to check for disk space full.
Kindly let me know how to get the file path given in the popup to get it in the exit EXIT_SAPLGRAP_001. Also there was no parameter id for the field.
Thanks for your help.
SenthilSenthil,
"However in this case the sap didnot uses GUI_DOWNLOAD to download instead it uses download FM. "
What "download FM" is 4.6 using then?
The GUI_DOWNLOAD does check for a disk_full situation... I find it hard to believe that SAP made an oversight here.
I believe that the user is not telling the truth to you... or something else happened in that they have not conveyed to you. -
Excel download problem.
Hi,
i have developed a report using Dynamic ALV, when i used to save the output to excel, data in the output is matched with the excel. while executing the report in SAP screen it works fine. i have used REUSE_ALV_GRID.for this.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_bypassing_buffer = 'X'
i_buffer_active = ' '
i_callback_program = lv_repid
is_layout = gs_layout
it_fieldcat = gt_fieldcat
it_sort = gt_sort[]
it_events = gt_event
TABLES
t_outtab = <dyn_table>
EXCEPTIONS
program_error = 0
OTHERS = 0.
is there any settings to be done in the excel or should we add any additional parameters for local file?
pointers for this will be helpful.
Regards,
DineshHi,
What is your problem ?
If you don't see anything in Excel after download :
In Excel
first step
- Menu : Tools ->Macros->scurity
go to tab Trusted Publishers and flag Trust acces to Visual Basic Project
second step
allow execution of macro
- Menu : Tools ->Macros->scurity
go to tab security Level and choise medium or Low
Rgds -
HI Friends,
I have created an ALV report with 87 fields in it. Whenever I am trying to download that report into excel the number of column breaks into 2 rows. In this case, The downloaded file contains 57 Columns in 1 row and remaining 29 Columns in second row. Can anyone please help me in understanding why this is happening while downloading this report into excel file and what will be the solution to correct it.
Sreekanth.G
Moderator message: duplicate post locked.
Edited by: Thomas Zloch on Jul 9, 2010 11:35 AMHi,
This is an FAQ. Please search in SCN before Posting and Please see the SCN Rules also.
With Regards,
Sumodh.P -
Hello Freinds,
I am trying to download the o/p of ALV report into an excel sheet.But the o/p in excel sheet is distorted to some extent.Some of the headers appear in the next line even if there is no limit of rows in office 2007 which is there on my machine.This issue is not on all servers.In development and quality servers the format is correct but when the same report is downloaded from Production server,the o/p appears distorted.
Please advice as to what could be the reason !Hi Jazz,
You can very well do what our friend Avinash told the easier way .
But if you want it to be done programmaticlly,then plz revert with the following details
1) Whether the file is excel (any specifications)
2) Whether any special characters are present in the int table
3) Whether the ALV has colour and other formats
Thanks and Regards
Srikanth.P -
Material Number Truncated in ALV to Excel Download
Hi Guru,
I have a ALV program report. It has about 18 columns, but for some strange reason, when we download this report to an ALV the 3rd column which host the material number as the last digit missing/truncated.
For example if we have a material number in SAP ALV Grid as 1234567, when we download this the excel, what we get in excel is 123456. with the last number missing.
What is the best solution to fix this issue.
Thanks for you help in advance.Hi Keshav,
Previously I faced the same situation, like in ALV grid I was displaying the material nos with output length as 15. Since in the Grid display you can readjust the columns, So after displaying we just expanded in the grid and try to download the same in excel. But at that time the ALV was downloading with material number field length as 15 ( What I set in my field catalog). Even when I saw the print priview I saw only the length it is showing as 15. After changing the output length as 18 in field cat I got the correct download.
(Here I am assuming that the question is raised for ALV grid display since no where it is mentioned the type of ALV).
Sorry it was mentioned in the question itself
Regards
Shiba
Edited by: Shiba Prasad Dutta on Feb 22, 2010 2:41 PM -
Probelm I'm facing while saving an ALV report to Excel Sheet by clicking
on the 'Save as File Icon' button on the ALV output.=0D
Here data is going into a new Line after 65 columns.I've used Function
Module 'RSAQ_ALV'.This function module is ultimately using
'REUSE_ALV_GRID_DISPLAY' and 'REUSE_ALV_LIST_DISPLAY' function
modules.ALV output I'm getting correctly but when I save this ALV output
to Excel,columns are getting wrapped and going into 2nd row after 65
columns.=0D
Could anybody tell me what could be the reason ?=0D
Moderator message: duplicate post locked.
Edited by: Thomas Zloch on Jul 9, 2010 12:37 PMI do not have the answer but I have experienced the same issue. I believe the issue arrises not as a limit of the number of columns, but based upon the length of the entire data structure, as I recall. As a work around, we use the MS Excel icon versus the Save as Local file icon.
-
Hello all,
I am transferring the ALV output from SAP to Excel sheet using the standard button i.e. To Local FIle.... but i am not getting the text of the last column in the excel sheet. the last column is being displayed empty where as its heading is being displayed....
Regards.
Sabah...Go through the code and Execute it on your system, I think this will do for you.
In this code I used 3 radio buttons in my selection screen:
If u selects the first radio button your out put shows into to the Excel sheet.
If u selects the second radio button your out put shows the in the Editor screen.
If u clicks the third radio button your output shows into the Excel as well as in the Editor.
*& 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 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 -
Excel download problem :--- Header data duplicating in unexpected columns
Guys,
I am able to download the data onto Excel with Header data but the Header data duplicating in unexpected columns RHS upto all the line item columns below....Below is partial excerpt...
Please help....
DATA:
BEGIN OF excel_wa,
posnr TYPE vbap-posnr, "Line Item
matnr TYPE vbap-matnr, "Mat#
pmatn TYPE vbap-pmatn, "Pric Mat
zansicat TYPE zmarall-zansicat, "AnsiCat#
zansigrd TYPE zmarall-zansigrd, "Grade
zcurrvaltnarea TYPE zco002-zcurrvaltnarea,"Val Area
zcurrcstusd TYPE zco002-zcurrcstusd, "Cost$
zzbrndnm TYPE mara-zzbrndnm, "Brand
zqedscgrp TYPE zglbprc-zqedscgrp, "QE Disc Grp
mstav TYPE mara-mstav, "Status
prodh TYPE vbap-prodh, "Prod Heir
kwmeng TYPE vbap-kwmeng, "Qty
lprc TYPE konv-kbetr, "List Price ZBP1
sprc TYPE konv-kbetr, "Std Pric ZNAA,ZNAX
netpr TYPE vbap-netpr, "Quot price
mrgn TYPE konv-kbetr, "margin%
END OF excel_wa,
BEGIN OF sema_wa,
posnr LIKE ws-xxlt VALUE 'STRDFT',
matnr LIKE ws-xxlt VALUE 'STRDFT',
pmatn LIKE ws-xxlt VALUE 'STRDFT',
zansicat LIKE ws-xxlt VALUE 'STRDFT',
zansigrd LIKE ws-xxlt VALUE 'STRDFT',
zcurrvaltnarea LIKE ws-xxlt VALUE 'STRDFT',
zcurrcstusd LIKE ws-xxlt VALUE 'STRDFT',
zzbrndnm LIKE ws-xxlt VALUE 'STRDFT',
zqedscgrp LIKE ws-xxlt VALUE 'STRDFT',
mstav LIKE ws-xxlt VALUE 'STRDFT',
prodh LIKE ws-xxlt VALUE 'STRDFT',
kwmeng LIKE ws-xxlt VALUE 'N00ADD',
lprc LIKE ws-xxlt VALUE 'N02ADD',
sprc LIKE ws-xxlt VALUE 'N03ADD',
netpr LIKE ws-xxlt VALUE 'N02ADD',
mrgn LIKE ws-xxlt VALUE 'N00ADD',
END OF sema_wa,
BEGIN OF clhd_wa,
posnr LIKE ws-xxlt VALUE 'LineItem#',
matnr LIKE ws-xxlt VALUE 'Mat#',
pmatn LIKE ws-xxlt VALUE 'VC Mat#',
zansicat LIKE ws-xxlt VALUE 'AnsiCat',
zansigrd LIKE ws-xxlt VALUE 'Grade',
zcurrvaltnarea LIKE ws-xxlt VALUE 'ValnArea',
zcurrcstusd LIKE ws-xxlt VALUE 'Currency',
zzbrndnm LIKE ws-xxlt VALUE 'Brand',
zqedscgrp LIKE ws-xxlt VALUE 'QE disc',
mstav LIKE ws-xxlt VALUE 'Status',
prodh LIKE ws-xxlt VALUE 'Prod Heir',
kwmeng LIKE ws-xxlt VALUE 'Qty',
lprc LIKE ws-xxlt VALUE 'List Pric',
sprc LIKE ws-xxlt VALUE 'St.Disc',
netpr LIKE ws-xxlt VALUE 'Quote Price',
mrgn LIKE ws-xxlt VALUE 'Margin%',
END OF clhd_wa,
BEGIN OF hdtxt1_wa,
vbeln LIKE ws-xxlt VALUE 'Quotation#',
kunnr LIKE ws-xxlt VALUE 'Quote Date',
kvgr3 LIKE ws-xxlt VALUE 'Rep Date',
pltyp LIKE ws-xxlt VALUE 'Pric List Typ & Currency',
waers LIKE ws-xxlt VALUE 'Sold To',
knuma LIKE ws-xxlt VALUE 'Ship To',
datab LIKE ws-xxlt VALUE 'Top Parent',
datbi LIKE ws-xxlt VALUE 'Sales Org/Sales Dist/CPA',
note LIKE ws-xxlt VALUE 'Net Sales',
END OF hdtxt1_wa,
BEGIN OF hdtxt2_wa,
vbeln LIKE ws-xxlt VALUE '',"Quotation#',
kunnr LIKE ws-xxlt VALUE '',"Quote Date',
kvgr3 LIKE ws-xxlt VALUE '',"Rep Date',
pltyp LIKE ws-xxlt VALUE '',"Pric List Typ & Currency',
waers LIKE ws-xxlt VALUE '',"Sold To',
knuma LIKE ws-xxlt VALUE '',"Ship To',
datab LIKE ws-xxlt VALUE '',"Top Parent',
datbi LIKE ws-xxlt VALUE '',"Sales Org/Sales Dist/CPA',
note LIKE ws-xxlt VALUE '',"Net Sales',
END OF hdtxt2_wa.
DATA:
ivbap LIKE STANDARD TABLE OF ivbap_wa,
imat LIKE STANDARD TABLE OF mat_wa,
icurr LIKE STANDARD TABLE OF curr_wa,
ikonv LIKE STANDARD TABLE OF konv_wa,
ivbpa LIKE STANDARD TABLE OF ivbpa_wa,
ikna1 LIKE STANDARD TABLE OF kna1_wa,
iresult LIKE STANDARD TABLE OF result_wa,
*Excel tables
iexcel LIKE STANDARD TABLE OF excel_wa,
isema_wa LIKE gxxlt_s,
it_sema LIKE STANDARD TABLE OF gxxlt_s,
ihkey_wa LIKE gxxlt_h,
it_hkey LIKE STANDARD TABLE OF gxxlt_h,
iotxt_wa LIKE gxxlt_o,
it_otext LIKE STANDARD TABLE OF gxxlt_o,
iptxt_wa LIKE gxxlt_p,
it_ptext LIKE STANDARD TABLE OF gxxlt_p,
ivkey_wa LIKE gxxlt_v,
it_vkey LIKE STANDARD TABLE OF gxxlt_v.
*Field-Symbols
FIELD-SYMBOLS:
<vbap> LIKE ivbap_wa,
<vbpa> LIKE ivbpa_wa,
<mat> LIKE mat_wa,
<sema_wa>,
<clhd_wa>,
<hdtxt1_wa>,
<hdtxt2_wa>.
*Constants
CONSTANTS:
c_auart TYPE vbak-auart VALUE 'AG', "AG = Quotn
c_parvw1 TYPE vbpa-parvw VALUE 'AG',
c_parvw2 TYPE vbpa-parvw VALUE 'WE',
c_parvw3 TYPE vbpa-parvw VALUE 'ZT',
c_kappl TYPE konv-kappl VALUE 'V',
c_kschl1 TYPE konv-kschl VALUE 'ZBP1',
c_kschl2 TYPE konv-kschl VALUE 'ZNAX',
c_kschl3 TYPE konv-kschl VALUE 'ZNAA',
c_psize TYPE i VALUE 65535.
*& SELECTION-SCREEN.
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
SELECT-OPTIONS:
s_vbeln FOR ws-vbeln NO INTERVALS NO-EXTENSION OBLIGATORY.
SELECTION-SCREEN END OF BLOCK a.
*& AT SELECTION-SCREEN.
AT SELECTION-SCREEN.
PERFORM validate_screen_entries.
START-OF-SELECTION.
PERFORM gather_quot_data.
PERFORM gather_mat_data.
PERFORM gather_ansi_data.
PERFORM gather_customer_data.
PERFORM gather_price_data.
PERFORM process_consolidate_data.
TOP-OF-PAGE.
PERFORM write_header_data.
PERFORM write_column_heading.
END-OF-SELECTION.
SET PF-STATUS 'XLS'.
PERFORM display_output.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'XLS'.
LOOP AT iresult INTO result_wa.
CLEAR excel_wa.
excel_wa-posnr = result_wa-posnr.
excel_wa-matnr = result_wa-matnr.
excel_wa-pmatn = result_wa-pmatn.
excel_wa-zansicat = result_wa-zansicat.
excel_wa-zansigrd = result_wa-zansigrd.
excel_wa-zcurrvaltnarea = result_wa-zcurrvaltnarea.
excel_wa-zcurrcstusd = result_wa-zcurrcstusd.
excel_wa-zzbrndnm = result_wa-zzbrndnm.
excel_wa-zqedscgrp = result_wa-zqedscgrp.
excel_wa-mstav = result_wa-mstav.
excel_wa-prodh = result_wa-prodh.
excel_wa-kwmeng = result_wa-kwmeng.
excel_wa-lprc = result_wa-lprc.
excel_wa-sprc = result_wa-sprc.
excel_wa-netpr = result_wa-netpr.
excel_wa-mrgn = result_wa-mrgn.
APPEND excel_wa TO iexcel.
ENDLOOP.
PERFORM set_up_xxl_structures.
PERFORM download_xxl.
WHEN OTHERS.
ENDCASE.
FREE: ivbpa, imat, ikna1, ivbap, ikonv, iresult, ws.
*& Form set_up_xxl_structures
text
FORM set_up_xxl_structures.
REFRESH: it_otext, it_sema, it_hkey, it_vkey.
CLEAR: result_wa, ivbpa_wa, it_otext, ws.
MOVE sy-repid TO ws-title-repid.
MOVE 'Section' TO ws-title-reppart.
WRITE sy-uzeit TO ws-title-uzeit USING EDIT MASK '__:__'.
MOVE ws-title TO ws-xxl-title.
READ TABLE iresult INTO result_wa
WITH KEY vbeln = s_vbeln-low.
READ TABLE ivbpa INTO ivbpa_wa
WITH KEY vbeln = s_vbeln-low
parvw = 'AG'.
CONCATENATE ivbpa_wa-kunnr '/'
ivbpa_wa-name1 INTO ws-soldto.
CLEAR ivbpa_wa.
READ TABLE ivbpa INTO ivbpa_wa
WITH KEY vbeln = s_vbeln-low
parvw = 'WE'.
CONCATENATE ivbpa_wa-kunnr '/'
ivbpa_wa-name1 INTO ws-shipto.
CLEAR ivbpa_wa.
READ TABLE ivbpa INTO ivbpa_wa
WITH KEY vbeln = s_vbeln-low
parvw = 'ZT'.
IF ivbpa_wa-kunnr EQ space.
CLEAR ivbpa_wa.
READ TABLE ivbpa INTO ivbpa_wa
WITH KEY vbeln = s_vbeln-low
parvw = 'AG'.
ENDIF.
CONCATENATE ivbpa_wa-kunnr '/'
ivbpa_wa-name1 INTO ws-tparent.
DO.
CLEAR: isema_wa, ihkey_wa, iotxt_wa, iptxt_wa, ivkey_wa.
ASSIGN COMPONENT sy-index OF STRUCTURE hdtxt1_wa TO <hdtxt1_wa>.
ASSIGN COMPONENT sy-index OF STRUCTURE hdtxt2_wa TO <hdtxt2_wa>.
IF sy-subrc <> 0.
EXIT.
ENDIF.
CASE <hdtxt1_wa>.
WHEN 'Quotation#'.
<hdtxt2_wa> = 'Quotation#'.
WHEN 'Quote Date'.
<hdtxt2_wa> = 'Quote Date'.
WHEN 'Rep Date'.
<hdtxt2_wa> = 'Rep Date'.
WHEN 'Pric List Typ & Currency'.
<hdtxt2_wa> = 'Pric List Typ & Currency'.
WHEN 'Sold To'.
<hdtxt2_wa> = 'Sold To'.
WHEN 'Ship To'.
<hdtxt2_wa> = 'Ship To'.
WHEN 'Top Parent'.
<hdtxt2_wa> = 'Top Parent'.
WHEN 'Sales Org/Sales Dist/CPA'.
<hdtxt2_wa> = 'Sales Org/Sales Dist/CPA'.
WHEN 'Net Sales'.
<hdtxt2_wa> = 'Net Sales'.
ENDCASE.
MOVE : 1 TO ihkey_wa-col_no,
sy-index TO ihkey_wa-row_no,
<hdtxt2_wa> TO ihkey_wa-col_name.
APPEND ihkey_wa TO it_hkey.
CLEAR ihkey_wa.
CASE <hdtxt1_wa>.
WHEN 'Quotation#'.
<hdtxt2_wa> = result_wa-vbeln.
WHEN 'Quote Date'.
WRITE result_wa-erdat TO ws-dat1.
<hdtxt2_wa> = ws-dat1.
WHEN 'Rep Date'.
WRITE result_wa-repdt TO ws-dat2.
<hdtxt2_wa> = ws-dat2.
WHEN 'Pric List Typ & Currency'.
CONCATENATE result_wa-pltyp '/'
result_wa-waers INTO <hdtxt2_wa>.
WHEN 'Sold To'.
<hdtxt2_wa> = ws-soldto.
WHEN 'Ship To'.
<hdtxt2_wa> = ws-shipto.
WHEN 'Top Parent'.
<hdtxt2_wa> = ws-tparent.
WHEN 'Sales Org/Sales Dist/CPA'.
CONCATENATE result_wa-vkorg '/'
result_wa-bzirk '/'
ivbpa_wa-kvgr3
INTO <hdtxt2_wa>.
WHEN 'Net Sales'.
<hdtxt2_wa> = result_wa-netwr.
ENDCASE.
MOVE : 2 TO ihkey_wa-col_no,
sy-index TO ihkey_wa-row_no,
<hdtxt2_wa> TO ihkey_wa-col_name.
APPEND ihkey_wa TO it_hkey.
ENDDO.
DO.
CLEAR: isema_wa, ihkey_wa, iotxt_wa, iptxt_wa, ivkey_wa.
ASSIGN COMPONENT sy-index OF STRUCTURE sema_wa TO <sema_wa>.
IF sy-subrc NE 0.
ASSIGN COMPONENT sy-index OF STRUCTURE clhd_wa TO <clhd_wa>.
IF sy-subrc EQ 0.
MESSAGE e193 WITH 'OFIL Structures out of synch-Contact IT'.
ENDIF.
EXIT.
ENDIF.
ASSIGN COMPONENT sy-index OF STRUCTURE clhd_wa TO <clhd_wa>.
IF NOT <sema_wa> EQ 'NOSHOW'.
ADD 1 TO ws-xxl-tabix.
MOVE: ws-xxl-tabix TO isema_wa-col_no,
<sema_wa>(3) TO isema_wa-col_typ,
<sema_wa>+3(3) TO isema_wa-col_ops,
ws-xxl-tabix TO isema_wa-col_src.
APPEND isema_wa TO it_sema.
IF ws-xxl-tabix LE ws-xxl-vrtkeys.
MOVE: ws-xxl-tabix TO ivkey_wa-col_no,
<clhd_wa> TO ivkey_wa-col_name.
APPEND ivkey_wa TO it_vkey.
ELSE.
ADD 1 TO ws-xxl-attcols.
MOVE: ws-xxl-attcols TO ihkey_wa-col_no,
10 TO ihkey_wa-row_no,
<clhd_wa> TO ihkey_wa-col_name.
APPEND ihkey_wa TO it_hkey.
ENDIF.
ENDIF.
ENDDO.
ENDFORM. " set_up_xxl_structures
*& Form download_xxl
text
-->P_IHQEXCEL text
FORM download_xxl. "TABLES iexcel STRUCTURE excel_wa.
DESCRIBE TABLE iexcel LINES ws-xxl-count.
ws-xxl-from = 1.
ws-xxl-to = c_psize.
DO.
IF ws-xxl-from GT ws-xxl-count.
EXIT.
ENDIF.
IF ws-xxl-to GT ws-xxl-count.
MOVE ws-xxl-count TO ws-xxl-to.
ENDIF.
ADD 1 TO ws-xxl-suffix.
MOVE ws-xxl-suffix TO: ws-xxl-name+6(2),
ws-xxl-title+36(2).
CALL FUNCTION 'XXL_FULL_API'
EXPORTING
n_vrt_keys = ws-xxl-vrtkeys
n_att_cols = ws-xxl-attcols
n_hrz_keys = ws-xxl-hrzkeys
data_starting_at = ws-xxl-from
data_ending_at = ws-xxl-to
filename = ws-xxl-name
header_1 = space
sema_type = 'X'
so_title = ws-xxl-title
TABLES
data = iexcel
hkey = it_hkey
online_text = it_otext
print_text = it_ptext
sema = it_sema
vkey = it_vkey
EXCEPTIONS
data_too_big = 1
file_open_error = 2
file_write_error = 3
inv_winsys = 4
inv_xxl = 5.
CASE sy-subrc.
WHEN 1.
MESSAGE e193 WITH 'dim_mismatch_data'.
WHEN 2.
MESSAGE e193 WITH 'file_open_error'.
WHEN 3.
MESSAGE e193 WITH 'file_write_error'.
WHEN 4.
MESSAGE e193 WITH 'inv_winsys'.
WHEN 5.
MESSAGE e193 WITH 'inv_xxl'.
ENDCASE.
ADD c_psize TO: ws-xxl-from,
ws-xxl-to.
ENDDO.
ENDFORM. " download_xxlHello Friend,
You can use GUI_DOWNLOAD FM to get the excel header if that's the only specific requirement.
[Download Excel including header |Download Excel including header;
Hope this helps.
BR,
Suhas -
hi,
i am trying to download my report'soutput to excel sheet which is not usual Microsoft excel buit it is OPEN OFFICE.the date format in report is DDMMYY but when downloading to OPEN OFFICE its taking as MMDDYY.so what can be done to retain the date format?
Thanks in advance.hi,
before coming to output change the date format in program dd.mm.yy, so you can down load that.
Regards,
Arjun.
Maybe you are looking for
-
I can not install iTunes on my Win 64 OS; it keeps getting an error
Hello, I just got my new laptop and was trying to install iTunes 10.x (the newest version). I keep getting error any suggestions?
-
MackBook Air 13" and Samsung SyncMaster TA550 Monitor
I have MacBook Air 13" and I try to set up Samsung TA550 27" monitor to work with it. Now my MacBook does not want to use the requested (by Samsung) resolution 1920 x 1080 but only pushes lower resolutions. How can get this solved? I connect it with
-
Memory leak on application undeploy.
We're creating a Spring-based web app that is using a Tomcat 7.0.33 managed Oracle database pool. We're using the ojdbc6.jar to connect (Oracle 10g but migrating to 11g later). When our application is undeployed in Tomcat we get probable memory leak
-
Hi! I have made 2 Frames . The frame1 have the main method and contain one textfield and a button. The frame2 contains only a textfied. In my windowsOS i use 2 languages english(default) and greek. When i am on frame1 and i write in english on textfi
-
Cannot access servlet in tomcat4
I'm a newbie to server side java. Please guide me. Installed Apache2 and Tomcat4 in Win2K. The installation seems OK because the index pages of both apache and tomcat appear when accessed as localhost on browser. I wrote (in fact, copied from a tutor