Skip to Content
author's profile photo Former Member
Former Member

download data to excel sheet

Hi can anyone tell me as to how to download the data to excel sheet along with header.

i have a program that's using ws_download and its downloading fine but iam looking similar tghing with FM gui_download

help me out in this regard

This is my previous code

data : v_repid type syrepid,

d_file type string,

p_file like rlgrap-filename .

concatenate p_file '.xls' into p_file.

d_file = p_file.

call function 'WS_DOWNLOAD'

exporting

  • BIN_FILESIZE = ' '

  • CODEPAGE = ' '

filename = p_file

filetype = 'DBF'

  • mode = ' '

  • WK1_N_FORMAT = ' '

  • WK1_N_SIZE = ' '

  • WK1_T_FORMAT = ' '

  • WK1_T_SIZE = ' '

  • COL_SELECT = ' '

  • COL_SELECTMASK = ' '

  • NO_AUTH_CHECK = ' '

  • IMPORTING

  • FILELENGTH =

tables

data_tab = it_data

fieldnames = it_header

exceptions

file_open_error = 1

file_write_error = 2

invalid_filesize = 3

invalid_type = 4

no_batch = 5

unknown_error = 6

invalid_table_width = 7

gui_refuse_filetransfer = 8

customer_error = 9

others = 10

.

if sy-subrc eq 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

i have to replace this FM with gui_download

in the gui_downlaod tell me where i have to pass the header info

Thanks

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

5 Answers

  • Best Answer
    Posted on Feb 27, 2007 at 07:54 PM

    Hi Kajol,

    Please check this sample code from other thread.

    DATA: BEGIN OF itab1 OCCURS 0,
            f1(10),
          END   OF itab1.
     
    itab1-f1 = 'Field 1'.
    APPEND itab1.
    itab1-f1 = 'Field 2'.
    APPEND itab1.
    itab1-f1 = 'Field 3'.
    APPEND itab1.
    itab1-f1 = 'Field 4'.
    APPEND itab1.
    itab1-f1 = 'Field 5'.
    APPEND itab1.
     
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename                = 'C:test.xls'
        filetype                = 'ASC'
        write_field_separator   = 'X'
      TABLES
        data_tab                = itab
        fieldnames              = itab1
      EXCEPTIONS
        file_write_error        = 1
        no_batch                = 2
        gui_refuse_filetransfer = 3
        invalid_type            = 4
        no_authority            = 5
        unknown_error           = 6
        header_not_allowed      = 7
        separator_not_allowed   = 8
        filesize_not_allowed    = 9
        header_too_long         = 10
        dp_error_create         = 11
        dp_error_send           = 12
        dp_error_write          = 13
        unknown_dp_error        = 14
        access_denied           = 15
        dp_out_of_memory        = 16
        disk_full               = 17
        dp_timeout              = 18
        file_not_found          = 19
        dataprovider_exception  = 20
        control_flush_error     = 21
        OTHERS                  = 22.
    
    

    Regards,

    Ferry Lianto

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Ferry,

      There are 2 problems with this

      1) : fieldnames = itab1--this option is not available in gui_download when you call gui_download using pattern you don't see

      the option of passing header field

      2) it deletes the leading zeros

      say if i have 001222 in my table i see 1222 in my excel sheet which is not i want

      thanks

  • author's profile photo Former Member
    Former Member
    Posted on Feb 27, 2007 at 07:50 PM

    pass the header to the fieldnames in the tables.

    Rewards if helpful

    Viky

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 27, 2007 at 07:56 PM
    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 27, 2007 at 08:04 PM

    Hi,

    I can show you my code which writes file with .xls suffix, but this file is NOT in .xls format. Excel will open it as expected, but this file contains just text with TAB - separated fields. When I try to open it by OpenOffice, it will be opened by OO Writer, not by OO Calc.

    Example:

    I want to export this table:

    DATA: begin of itab occurs 0,
            date type D,
            number type i,
            description(20) type c,
          end of itab.
    

    Step 1: Create pure text table from your data with structure you want to export and text table to be saved to file

    
    TYPE-POOLS: truxs.
    
    DATA: begin of texttab occurs 0,
            c_date(10) type c,
            c_number(8) type c,
            description(20) type c,
          end of texttab.
    
    DATA:  datafile TYPE truxs_t_text_data.
    

    Step 2: Convert itab values to texttab. See my cool trick with 1st line. Be sure that fields are as long as you need for both data and description.

      clear texttab.
      move 'Date' to texttab-c_date.
      move 'Value' to texttab-c_number.
      move 'Description' to texttab-description.
      append texttab.
    
      loop at itab.
    *   Character fields:
        move-corresponding itab to texttab.
    *   Other fields (just example, maybe you need better formating)
        write itab-date to texttab-c_date.
        write itab-number to texttab-number.
      endloop.
    

    Step 3: Convert this table to text with separator TAB

      l_field_separator = cl_abap_char_utilities=>horizontal_tab.
      CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'
        EXPORTING
          i_field_seperator          = l_field_separator
          i_line_header              = space
        TABLES
          i_tab_sap_data             = texttab
        CHANGING
          i_tab_converted_data       = datafile
        EXCEPTIONS
          OTHERS                     = 0.
    
    

    Step 4: Well, what to do now? Download text file 😊

      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                        = g_filename
        TABLES
          data_tab                        = gt_file
         EXCEPTIONS
            .... 
    

    Nothing more. It works fine for me. Write missing DATA declaration please. I think that it will help you.

    Pavel

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 27, 2007 at 08:29 PM

    hi,

    For that,

    declare one more variable

    DATA : FILENAME TYPE STRING.

    filename = myrlgrap. (<--- ur previous variable of type rlfgrap-filename)

    then pass this new variable in GUI_DOWNLOAD

    2. For HEADINGS, use like this

    Just copy paste

    3.

    report abc.

    *----


    data : itab like table of t001 with header line.

    *----


    select * from t001 into table itab.

    perform mydownload tables itab using 'D:\t001.txt'.

    *----


    • INDEPENDENT FORM

    *----


    form mydownload tables ptab using filename.

    *----


    DAta

    DATA : components LIKE rstrucinfo OCCURS 0 WITH HEADER LINE.

    DATA : allfields(300) TYPE c.

    DATA : fld(100) TYPE c.

    data : begin of htab occurs 0,

    allfields(300) type c,

    end of htab.

    *----


    Get component list

    CALL FUNCTION 'GET_COMPONENT_LIST'

    EXPORTING

    program = sy-repid

    fieldname = 'ITAB'

    TABLES

    components = components.

    *----


    construct

    LOOP AT components.

    CONCATENATE components-compname

    CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB INTO fld.

    CONCATENATE allfields fld INTO allfields .

    ENDLOOP.

    htab-allfields = allfields.

    append htab.

    *----


    download first field list

    CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

    • BIN_FILESIZE =

    FILENAME = 'D:\t001.txt'

    WRITE_FIELD_SEPARATOR = 'X'

    TABLES

    DATA_TAB = htab

    .

    *----


    then download file data

    CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

    • BIN_FILESIZE =

    FILENAME = filename

    APPEND = 'X'

    WRITE_FIELD_SEPARATOR = 'X'

    TABLES

    DATA_TAB = ptab

    .

    endform.

    regards,

    amit m.

    sunilkumar sank...

    Posts: 166

    Questions: 4

    Registered: 11/14/05

    Forum points: 138

    Re: how can i bring the column heading downloaded in excel sheet?

    Posted: Oct 25, 2006 10:25 AM in response to: PRR R Reply E-mail this post

    HI,

    Go thru this code.

    REPORT ZRMM0056 NO STANDARD PAGE HEADING

    MESSAGE-ID ZZ

    LINE-SIZE 300

    LINE-COUNT 65.

    ************************************************************************

    • Program : ZRMM0056

    • Title : Non Inventory PO's

    • Description : Non Inventory Purchase Orders details with

    • Vendor and Invoice Receipts and Goods Receipts.

    • Input :

    • Select-options : 1. G/L Account No

    *

    • Parameters : 1.File Paths for the Excel sheet

    *

    • Others (Specify):

    • Output : Extract Files in the application server

    • Report :

    *

    • Hear Ticket # : 113392

    • Created by : Srinivas Rao.M

    • Created on : 12/15/2005

    • Version : 1

    • Request : D10K944304

    • Transaction Code : Z420

    ************************************************************************

    • Change History *

    • Date Programmer Search String Description *

    ************************************************************************

    • 12/19/2005 Srinivas D10K944316 Removed Purchasing document

    • Company code and Plant from

    • Select-Options and Inculded

    • G/L Account No and changed

    • code accordingly.

    ************************************************************************

    • T A B L E S *

    ************************************************************************

    TABLES: EKBE, " History of Purchasing Document

    EKPO, " Purchasing Document Item

    EKKO, " Purchasing Document Header

    LFA1, " Vendor master (general section)

    EKKN. " Account Assignment in Purchasing Doc

    ************************************************************************

    • INTERNAL TABLES

    ************************************************************************

    *--Internal table to store Purchasing document header data

    DATA : BEGIN OF IT_POHEADER OCCURS 0,

    EBELN LIKE EKKO-EBELN, "Purchasing document

    AEDAT LIKE EKKO-AEDAT, "Created on

    ERNAM LIKE EKKO-ERNAM, "Created by

    LIFNR LIKE EKKO-LIFNR, "Vendor

    END OF IT_POHEADER.

    *--Internal table to store Purchasing document Item data

    DATA : BEGIN OF IT_POITEM OCCURS 0,

    EBELN LIKE EKPO-EBELN, "Purchasing document

    EBELP LIKE EKPO-EBELP, "Item Number

    MATNR LIKE EKPO-MATNR, "Material number

    BUKRS LIKE EKPO-BUKRS, "Company code

    WERKS LIKE EKPO-WERKS, "Plant

    MATKL LIKE EKPO-MATKL, "Material Group

    MENGE LIKE EKPO-MENGE, "Order Quantity

    NETPR LIKE EKPO-NETPR, "Net Price

    PEINH LIKE EKPO-PEINH, "Price unit

    NETWR LIKE EKPO-NETWR, "Net Value

    END OF IT_POITEM.

    *--Internal table to hold final display data.

    DATA : BEGIN OF IT_FINAL OCCURS 0,

    EBELN LIKE EKKO-EBELN, "Purchasing document

    EBELP LIKE EKPO-EBELP, "Item Number

    AEDAT LIKE EKKO-AEDAT, "Created on

    ERNAM LIKE EKKO-ERNAM, "Created by

    MATNR LIKE EKPO-MATNR, "Material number

    BUKRS LIKE EKPO-BUKRS, "Company code

    WERKS LIKE EKPO-WERKS, "Plant

    MATKL LIKE EKPO-MATKL, "Material Group

    MENGE LIKE EKPO-MENGE, "Order Quantity

    NETPR LIKE EKPO-NETPR, "Net Price

    PEINH LIKE EKPO-PEINH, "Price unit

    NETWR LIKE EKPO-NETWR, "Net Value

    LIFNR LIKE EKKO-LIFNR, "Vendor

    NAME1 LIKE LFA1-NAME1, "Vendor Name

    GSBER LIKE EKKN-GSBER, "Business area

    *--IR details

    IR_BELNR LIKE EKBE-BELNR, "IR-Number of Material Document

    IR_BUZEI LIKE EKBE-BUZEI, "IR-Item in material Document

    IR_BUDAT LIKE EKBE-BUDAT, "IR-Posting date

    IR_MENGE LIKE EKBE-MENGE, "IR-Quantity

    *--GR details

    GR_BELNR LIKE EKBE-BELNR, "GR-Number of Material Document

    GR_BUZEI LIKE EKBE-BUZEI, "GR-Item in material Document

    GR_BUDAT LIKE EKBE-BUDAT, "GR-Posting date

    GR_MENGE LIKE EKBE-MENGE, "GR-Quantity

    END OF IT_FINAL.

    *--Internal table to store History per Purchasing Document data

    DATA : BEGIN OF IT_HISTORY OCCURS 0,

    EBELN LIKE EKBE-EBELN, "Purchasing document

    EBELP LIKE EKBE-EBELP, "Item

    VGABE LIKE EKBE-VGABE, "Trans/Event type

    BELNR LIKE EKBE-BELNR, "Number of Material Document

    BUZEI LIKE EKBE-BUZEI, "Item in material Document

    BUDAT LIKE EKBE-BUDAT, "Posting date

    MENGE LIKE EKBE-MENGE, "Quantity

    BEWTP LIKE EKBE-BEWTP, "Posting history category

    END OF IT_HISTORY.

    *--Internal table to store vendor name.

    DATA : BEGIN OF IT_VENDOR OCCURS 0,

    LIFNR LIKE LFA1-LIFNR, "Vendor Number

    NAME1 LIKE LFA1-NAME1, "Vendor Name

    END OF IT_VENDOR.

    *--Internal table to store Business area for Purchasing document

    DATA : BEGIN OF IT_BUSINESS OCCURS 0,

    EBELN LIKE EKKN-EBELN, "Purchasing document

    EBELP LIKE EKKN-EBELP, "Purchasing Item

    SAKTO LIKE EKKN-SAKTO, "G/L Account No

    GSBER LIKE EKKN-GSBER, "Business area

    END OF IT_BUSINESS.

    DATA : BEGIN OF FIELDNAMES OCCURS 0,

    TEXT(40),

    END OF FIELDNAMES.

    ************************************************************************

    • VARIABLES DECLARATION *

    ************************************************************************

    DATA: V_FILE LIKE IBIPPARMS-PATH, "File path

    V_FLD LIKE DYNPREAD-FIELDNAME, "Dynpread fieldname

    V_FLAG(1) VALUE SPACE. "FLAG VARIABLE

    ************************************************************************

    • SELECTION-SCREEN *

    ************************************************************************

    SELECTION-SCREEN BEGIN OF BLOCK S1 WITH FRAME TITLE TEXT-001.

    *--Begin of change D10K944316

    SELECT-OPTIONS : S_SAKTO FOR EKKN-SAKTO. "G/L Accoun no.

    *--End of change D10K944316

    SELECTION-SCREEN END OF BLOCK S1.

    SELECTION-SCREEN BEGIN OF BLOCK S2 WITH FRAME TITLE TEXT-002.

    PARAMETERS : P_EXCEL AS CHECKBOX DEFAULT ' ' . " download to excel

    PARAMETERS : C_FILE(128) DEFAULT : 'C:\ZRMM0056.xls'.

    SELECTION-SCREEN END OF BLOCK S2.

    ************************************************************************

    • A T S E L E C T I O N - S C R E E N *

    ************************************************************************

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR C_FILE.

    *-Form to get file path for download of data

    PERFORM GET_FILE_PATH.

    AT SELECTION-SCREEN.

    PERFORM SCREEN_VALIDATIONS.

    ************************************************************************

    • START-OF-SELECTION

    ************************************************************************

    START-OF-SELECTION.

    *--Extract Purchasing document header data.

    PERFORM GET_PO_HEADER_DATA.

    *--Extract Purchasing document Item data.

    IF NOT IT_BUSINESS[] IS INITIAL.

    PERFORM GET_PO_ITEM_DATA.

    *--Get complete required data in final internal table

    PERFORM GET_FINAL_DATA.

    ENDIF.

    ************************************************************************

    • END-OF-SELECTION

    ************************************************************************

    END-OF-SELECTION.

    IF V_FLAG IS INITIAL.

    *--Display Purchasing document details

    IF NOT IT_FINAL[] IS INITIAL.

    PERFORM DISPLAY_PODATA.

    IF P_EXCEL = 'X'.

    *--To down load data to excel sheet

    PERFORM DOWN_LOAD_TO_EXCEL.

    ENDIF.

    ENDIF.

    ELSE.

    MESSAGE I001(ZZ) WITH 'No data found'(003).

    ENDIF.

    ************************************************************************

    • TOP-OF-PAGE

    ************************************************************************

    TOP-OF-PAGE.

    *--To display page header

    PERFORM PAGE_HEADER.

    &----


    *& Form GET_PO_HEADER_DATA

    &----


    • To Get Purchasing header data

    ----


    FORM GET_PO_HEADER_DATA .

    *--To extract Business Area details

    CLEAR IT_BUSINESS.

    REFRESH IT_BUSINESS.

    SELECT EBELN "Purchasing document

    EBELP "Purchasing document item

    SAKTO "G/L Account no

    GSBER "Business area

    FROM EKKN

    INTO TABLE IT_BUSINESS

    WHERE SAKTO IN S_SAKTO.

    IF SY-SUBRC <> 0.

    V_FLAG = 'X'.

    MESSAGE I001(ZZ) WITH

    'No data selected for the given selection criteria'(004).

    STOP.

    ELSE.

    *--To extract Purchasing document details with respect

    • to G/L Account no

    CLEAR IT_POHEADER.

    REFRESH IT_POHEADER.

    SELECT EBELN "Purchasing document

    AEDAT "Created on

    ERNAM "Created by

    LIFNR "Vendor

    FROM EKKO

    INTO TABLE IT_POHEADER

    FOR ALL ENTRIES IN IT_BUSINESS

    WHERE EBELN = IT_BUSINESS-EBELN.

    IF NOT IT_POHEADER[] IS INITIAL.

    CLEAR IT_VENDOR.

    REFRESH IT_VENDOR.

    *--Extracting Vendor details

    SELECT LIFNR "Vendor #

    NAME1 "Name

    FROM LFA1

    INTO TABLE IT_VENDOR

    FOR ALL ENTRIES IN IT_POHEADER

    WHERE LIFNR = IT_POHEADER-LIFNR.

    ENDIF.

    ENDIF.

    ENDFORM. " GET_PO_HEADER_DATA

    &----


    *& Form GET_PO_ITEM_DATA

    &----


    • To extract Purchasing document item data

    ----


    FORM GET_PO_ITEM_DATA .

    CLEAR IT_POITEM.

    REFRESH IT_POITEM.

    SELECT EBELN "Purchasing document

    EBELP "Item Number

    MATNR "Material number

    BUKRS "Company code

    WERKS "Plant

    MATKL "Material Group

    MENGE "Order Quantity

    NETPR "Net Price

    PEINH "Price unit

    NETWR "Net Value

    FROM EKPO

    INTO TABLE IT_POITEM

    FOR ALL ENTRIES IN IT_BUSINESS

    WHERE EBELN = IT_BUSINESS-EBELN

    AND EBELP = IT_BUSINESS-EBELP.

    IF NOT IT_POITEM[] IS INITIAL.

    CLEAR IT_HISTORY.

    REFRESH IT_HISTORY.

    SELECT EBELN "Purchasing document

    EBELP "Item

    VGABE "Trans/Event type

    BELNR "Number of Material Document

    BUZEI "Item in material Document

    BUDAT "Posting date

    MENGE "Quantity

    BEWTP "Posting history category

    FROM EKBE

    INTO TABLE IT_HISTORY

    FOR ALL ENTRIES IN IT_POITEM

    WHERE EBELN = IT_POITEM-EBELN

    AND EBELP = IT_POITEM-EBELP

    AND ( VGABE = '1' OR VGABE = '2' ) "1 = GR , 2 = IR

    AND ( BEWTP = 'Q' OR BEWTP = 'E' ). "Q = GR , R = IR

    IF SY-SUBRC = 0.

    SORT IT_HISTORY BY EBELN EBELP.

    ENDIF.

    ENDIF.

    ENDFORM. " GET_PO_ITEM_DATA

    &----


    *& Form GET_FILE_PATH

    &----


    • Select file path

    ----


    FORM GET_FILE_PATH .

    CLEAR V_FILE.

    MOVE 'p_flname' TO V_FLD.

    MOVE C_FILE TO V_FILE.

    CALL FUNCTION 'F4_FILENAME'

    EXPORTING

    PROGRAM_NAME = SYST-CPROG

    DYNPRO_NUMBER = SYST-DYNNR

    FIELD_NAME = V_FLD

    IMPORTING

    FILE_NAME = V_FILE

    EXCEPTIONS

    OTHERS = 1.

    MOVE V_FILE TO C_FILE.

    ENDFORM. " GET_FILE_PATH

    &----


    *& Form PAGE_HEADER

    &----


    • To Print page header and other details

    ----


    FORM PAGE_HEADER .

    *--Page Header

    ULINE AT /1(300).

    FORMAT COLOR 1.

    WRITE:/ 'Run Date:'(005), SY-DATUM, 45 'Stanley Works'(006),

    100 'Page No:'(007), SY-PAGNO LEFT-JUSTIFIED, 298 ''.

    WRITE:/ 'Run Time:'(008), SY-UZEIT, 43 SY-TITLE, 100 SY-UNAME, 298 ''.

    WRITE:/ 'Source :'(009), SY-SYSID, 100 SY-CPROG, 298 ''.

    FORMAT COLOR OFF.

    ULINE AT /1(300).

    FORMAT COLOR 4.

    WRITE : / SY-VLINE , (10) 'Purchasing Doc'(010),

    SY-VLINE, (5) 'Item'(011),

    SY-VLINE, (10) 'Created On'(012),

    SY-VLINE, (7) 'Crea By'(013),

    SY-VLINE, (10) 'Material'(014),

    SY-VLINE, (6) 'Com cd'(015),

    SY-VLINE, (5) 'Plant'(016),

    SY-VLINE, (10) 'Mat Group'(017),

    SY-VLINE, (13) 'Order Qty'(018),

    SY-VLINE, (11) 'Net Price'(019),

    SY-VLINE, (10) 'Price Unit'(020),

    SY-VLINE, (13) 'Net Value'(021),

    SY-VLINE, (8) 'Bus Area'(022),

    SY-VLINE, (10) 'Vendor'(023),

    SY-VLINE, (28) 'Vendor Name'(024),

    *--IR details

    SY-VLINE, (10) 'IR-Mat Doc'(025),

    SY-VLINE, (5) 'IR-It'(026),

    SY-VLINE, (9) 'IR-Post dt'(027),

    SY-VLINE, (13) 'IR-Quantity'(028),

    *--GR details

    SY-VLINE, (10) 'GR-Mat Doc'(029),

    SY-VLINE, (5) 'GR-It'(030),

    SY-VLINE, (9) 'GR-Post dt'(031),

    SY-VLINE, (13) 'GR-Quantity'(032), SY-VLINE.

    FORMAT COLOR OFF.

    ULINE AT /1(300).

    ENDFORM. " PAGE_HEADER

    &----


    *& Form SCREEN_VALIDATIONS

    &----


    • Selection screen validations

    ----


    FORM SCREEN_VALIDATIONS .

    *--Validation for G/L Account No

    IF NOT S_SAKTO IS INITIAL.

    SELECT SAKNR UP TO 1 ROWS

    INTO EKKN-SAKTO

    FROM SKA1 WHERE

    SAKNR IN S_SAKTO.

    ENDSELECT.

    IF SY-SUBRC <> 0.

    MESSAGE E001(ZZ) with 'Please enter a valid G/L Account no'(048).

    ENDIF.

    ENDIF.

    *--Validation for Excel file path

    IF P_EXCEL = 'X'.

    IF C_FILE = ' '.

    MESSAGE E001(ZZ) with 'Please enter a valid Excle Path'(035).

    ENDIF.

    ENDIF.

    ENDFORM. " SCREEN_VALIDATIONS

    &----


    *& Form DISPLAY_PODATA

    &----


    • To Display Purchasing Document details

    ----


    FORM DISPLAY_PODATA .

    FORMAT COLOR 2.

    SORT IT_FINAL BY EBELN EBELP AEDAT BUKRS WERKS.

    LOOP AT IT_FINAL.

    WRITE : / SY-VLINE ,(10) IT_FINAL-EBELN, "Purchasing Doc

    SY-VLINE, (5) IT_FINAL-EBELP, "Item

    SY-VLINE, (10) IT_FINAL-AEDAT, "Created On

    SY-VLINE, (7) IT_FINAL-ERNAM, "Created By

    SY-VLINE, (10) IT_FINAL-MATNR, "Material

    SY-VLINE, (6) IT_FINAL-BUKRS, "Company code

    SY-VLINE, (5) IT_FINAL-WERKS, "Plant

    SY-VLINE, (10) IT_FINAL-MATKL, "Material Group

    SY-VLINE, (13) IT_FINAL-MENGE, "#EC UOM_IN_MES

    "Order Qty

    SY-VLINE, (11) IT_FINAL-NETPR, "#EC UOM_IN_MES

    "Net Price

    SY-VLINE, (10) IT_FINAL-PEINH, "#EC UOM_IN_MES

    "Price Unit

    SY-VLINE, (13) IT_FINAL-NETWR, "#EC UOM_IN_MES

    "Net Value

    SY-VLINE, (8) IT_FINAL-GSBER, "Bus Area

    SY-VLINE, (10) IT_FINAL-LIFNR, "Vendor

    SY-VLINE, (28) IT_FINAL-NAME1, "Vendor name

    *--IR details

    SY-VLINE, (10) IT_FINAL-IR_BELNR, "IR-Mat Doc

    SY-VLINE, (5) IT_FINAL-IR_BUZEI, "IR-It

    SY-VLINE, (9) IT_FINAL-IR_BUDAT, "IR-Post dt

    SY-VLINE, (13) IT_FINAL-IR_MENGE, "#EC UOM_IN_MES

    "IR-Quantity

    *--GR details

    SY-VLINE, (10) IT_FINAL-GR_BELNR, "GR-Mat Doc

    SY-VLINE, (5) IT_FINAL-GR_BUZEI, "GR-It

    SY-VLINE, (9) IT_FINAL-GR_BUDAT, "GR-Post dt

    SY-VLINE, (13) IT_FINAL-GR_MENGE, SY-VLINE.

    "#EC UOM_IN_MES

    "GR-Quantity

    ENDLOOP.

    FORMAT COLOR OFF.

    ENDFORM. " DISPLAY_PODATA

    &----


    *& Form DOWN_LOAD_TO_EXCEL

    &----


    • text

    ----


    FORM DOWN_LOAD_TO_EXCEL .

    REFRESH FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-010.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-011.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-012.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'Created By'(036).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-014.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'Company Code'(037).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-016.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'Material Group'(038).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'Order Quantity'(039).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-019.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-020.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-021.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'Business Area'(040).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-023.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-024.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'IR Material Doc'(041).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'IR Item'(042).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'IR Posting Date'(043).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-028.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'GR Material Doc'(044).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'GR Item'(045).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = 'GR Posting Date'(046).

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    FIELDNAMES-TEXT = TEXT-032.

    APPEND FIELDNAMES.CLEAR FIELDNAMES.

    *--FM to download data to Excel sheet

    CALL FUNCTION 'WS_DOWNLOAD'

    EXPORTING

    FILENAME = C_FILE

    FILETYPE = 'DAT'

    TABLES

    DATA_TAB = IT_FINAL

    FIELDNAMES = FIELDNAMES

    EXCEPTIONS

    FILE_OPEN_ERROR = 1

    FILE_WRITE_ERROR = 2

    INVALID_FILESIZE = 3

    INVALID_TABLE_WIDTH = 4

    INVALID_TYPE = 5

    NO_BATCH = 6

    UNKNOWN_ERROR = 7

    GUI_REFUSE_FILETRANSFER = 8

    OTHERS = 9.

    IF SY-SUBRC <> 0.

    MESSAGE E001(ZZ) WITH 'Data could not downloaded'(047).

    ENDIF.ENDFORM. " DOWN_LOAD_TO_EXCEL

    &----


    *& Form GET_FINAL_DATA

    &----


    • To Populate required data in final internal table

    ----


    FORM GET_FINAL_DATA .

    CLEAR IT_FINAL.

    REFRESH IT_FINAL.

    LOOP AT IT_POITEM.

    CLEAR IT_POHEADER.

    READ TABLE IT_POHEADER WITH KEY EBELN = IT_POITEM-EBELN.

    IF SY-SUBRC = 0.

    MOVE : IT_POHEADER-EBELN TO IT_FINAL-EBELN, "Purchasing Doc

    IT_POITEM-EBELP TO IT_FINAL-EBELP, "Item

    IT_POHEADER-AEDAT TO IT_FINAL-AEDAT, "Created On

    IT_POHEADER-ERNAM TO IT_FINAL-ERNAM, "Created By

    IT_POITEM-MATNR TO IT_FINAL-MATNR, "Material

    IT_POITEM-BUKRS TO IT_FINAL-BUKRS, "Company code

    IT_POITEM-WERKS TO IT_FINAL-WERKS, "Plant

    IT_POITEM-MATKL TO IT_FINAL-MATKL, "Material Group

    IT_POITEM-MENGE TO IT_FINAL-MENGE, "Order Qty

    IT_POITEM-NETPR TO IT_FINAL-NETPR, "Net Price

    IT_POITEM-PEINH TO IT_FINAL-PEINH, "Price Unit

    IT_POITEM-NETWR TO IT_FINAL-NETWR, "Net Value

    IT_POHEADER-LIFNR TO IT_FINAL-LIFNR. "Vendor

    *--To Insert IR details

    CLEAR IT_HISTORY.

    READ TABLE IT_HISTORY WITH KEY EBELN = IT_POITEM-EBELN

    EBELP = IT_POITEM-EBELP

    VGABE = '2'

    BEWTP = 'Q'.

    IF SY-SUBRC = 0.

    MOVE :

    IT_HISTORY-BELNR TO IT_FINAL-IR_BELNR, "IR-Number of Mat Doc

    IT_HISTORY-BUZEI TO IT_FINAL-IR_BUZEI, "IR-Item in mat Doc

    IT_HISTORY-BUDAT TO IT_FINAL-IR_BUDAT, "IR-Posting date

    IT_HISTORY-BUDAT TO IT_FINAL-IR_MENGE. "IR-Quantity

    ENDIF.

    *--To insert GR details

    CLEAR IT_HISTORY.

    READ TABLE IT_HISTORY WITH KEY EBELN = IT_POITEM-EBELN

    EBELP = IT_POITEM-EBELP

    VGABE = '1'

    BEWTP = 'E'.

    IF SY-SUBRC = 0.

    MOVE :

    IT_HISTORY-BELNR TO IT_FINAL-GR_BELNR, "IR-Number of Mat Doc

    IT_HISTORY-BUZEI TO IT_FINAL-GR_BUZEI, "IR-Item in mat Doc

    IT_HISTORY-BUDAT TO IT_FINAL-GR_BUDAT, "IR-Posting date

    IT_HISTORY-BUDAT TO IT_FINAL-GR_MENGE. "IR-Quantity

    ENDIF.

    *--To insert Vendor details

    CLEAR IT_VENDOR.

    READ TABLE IT_VENDOR WITH KEY LIFNR = IT_POHEADER-LIFNR.

    IF SY-SUBRC = 0.

    MOVE : IT_VENDOR-NAME1 TO IT_FINAL-NAME1.

    ENDIF.

    *--To insert Business area

    CLEAR IT_BUSINESS.

    READ TABLE IT_BUSINESS WITH KEY EBELN = IT_POITEM-EBELN

    EBELP = IT_POITEM-EBELP.

    IF SY-SUBRC = 0.

    MOVE : IT_BUSINESS-GSBER TO IT_FINAL-GSBER.

    ENDIF.

    APPEND IT_FINAL.

    CLEAR IT_FINAL.

    ENDIF.

    ENDLOOP.

    ENDFORM. " GET_FINAL_DATA

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.