Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

error in GUI_down load

Former Member
0 Likes
2,017

hi,

i am using gui_down load fm to down load the data into excel,but i need the excel sheet with headers,how to extract the data with field names.

i am using following code.

&----


*& Report ZTEST *

*& *

&----


*& *

*& *

&----


REPORT ZTEST .

*DATA: BEGIN OF IT_PO_HEADER OCCURS 20,

  • BSART LIKE EKKO-BSART,

  • EBELN LIKE EKKO-EBELN,

  • SUPERFIELD LIKE MEPO_TOPLINE-SUPERFIELD,

  • BEDAT LIKE EKKO-BEDAT,

  • ZTERM LIKE EKKO-ZTERM,

  • NETWR LIKE EKKO-NETWR,

*

TABLES: EKKO.

*PARAMETERS : P_EBELN TYPE EBELN.

SELECT-OPTIONS: S_EBELN FOR EKKO-EBELN OBLIGATORY.

TYPES: BEGIN OF T_PO,

EBELN TYPE EBELN,

END OF T_PO.

DATA: IT_PO TYPE STANDARD TABLE OF T_PO,

WA_PO TYPE T_PO.

DATA : IT_ITEMS TYPE TABLE OF BAPIEKPO WITH HEADER LINE.

DATA: PO_ITEMS_SHEDULE TYPE TABLE OF BAPIEKET WITH HEADER LINE.

DATA: PO_ITEM_TEXT TYPE TABLE OF BAPIEKPOTX WITH HEADER LINE.

DATA: PO_ITEM_ACCOUNT_ASSIGNMENT TYPE TABLE OF BAPIEKKN

WITH HEADER LINE.

DATA: PO_HEADER_TEXTS TYPE TABLE OF BAPIEKKOTX WITH HEADER LINE.

DATA: PO_HEADER TYPE BAPIEKKOL.

DATA: RETURN1 TYPE TABLE OF BAPIRETURN WITH HEADER LINE.

data : begin of itab1 occurs 0,

line(750) type c,

end of itab1.

SELECT EBELN INTO TABLE IT_PO FROM EKKO WHERE EBELN IN S_EBELN.

PERFORM DOWNLOAD_DATA: TABLES IT_ITEMS USING SPACE.

LOOP AT IT_PO INTO WA_PO.

CLEAR: PO_HEADER_TEXTS[], IT_ITEMS[], PO_ITEM_ACCOUNT_ASSIGNMENT[],

PO_ITEMS_SHEDULE[], PO_ITEM_TEXT[], RETURN1[].

CALL FUNCTION 'BAPI_PO_GETDETAIL'

EXPORTING

PURCHASEORDER = WA_PO-EBELN

ITEMS = 'X'

ACCOUNT_ASSIGNMENT = 'x'

SCHEDULES = ' '

HISTORY = 'X'

ITEM_TEXTS = 'X'

HEADER_TEXTS = 'X'

TABLES

PO_HEADER_TEXTS = PO_HEADER_TEXTS

PO_ITEMS = IT_ITEMS

PO_ITEM_ACCOUNT_ASSIGNMENT = PO_ITEM_ACCOUNT_ASSIGNMENT

PO_ITEM_SCHEDULES = PO_ITEMS_SHEDULE

PO_ITEM_TEXTS = PO_ITEM_TEXT

RETURN = RETURN1.

PERFORM DOWNLOAD_DATA: TABLES PO_HEADER_TEXTS USING 'X',

TABLES IT_ITEMS USING 'X',

TABLES PO_ITEM_ACCOUNT_ASSIGNMENT USING 'X',

TABLES PO_ITEMS_SHEDULE USING 'X',

TABLES PO_ITEM_TEXT USING 'X'.

ENDLOOP.

&----


*& Form DOWNLOAD_DATA

&----


FORM DOWNLOAD_DATA TABLES IT_TAB

USING P_APP.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

FILENAME = 'C:/poextract.xls'

APPEND = P_APP

WRITE_FIELD_SEPARATOR = 'X'

TABLES

DATA_TAB = IT_TAB

FIELDNAMES = FIELDNAME

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.

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. " DOWNLOAD_DATA

Thanks,

Rammohan.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,955

hi eswar,

Good morning,yes i am getting the headers,thanks for u r response but headers is comming for each item,i mean if i am extracting 60 purchase orders headers r comming 60 times,is there any change let meknow,i am also looking in to it,

Thanks once again,

Rammohan.

18 REPLIES 18
Read only

Former Member
0 Likes
1,955

Hi,

Refer sample code below:

Download Header and Table Entry in same Excel.

Please use the following option to dowload the header, footer & grid data in one excel sheet.

1.First of all upload the header using table for it say itab_header.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

filename = 'C:\download.xls'

filetype = 'ASC'

append = 'X'

write_field_separator = 'X'

TABLES

data_tab = itab_header[]."Header data in this table

2. Then download the grid as under:

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

filename = 'C:\download.xls'

filetype = 'ASC'

append = 'X'

write_field_separator = 'X'

TABLES

data_tab = itab_data[]."Grid data in this table

Reward points if this helps.

Manish

Read only

Former Member
0 Likes
1,955

You did not fill the fieldnames internal table anywhere.

You should fill that also.

Regards,

Ravi

Read only

Former Member
0 Likes
1,955

hi,

i am getting the data into the excel,but that related headers also should come automatically with data,how to do this ,can any body have idea pls let me know.

Thanks,

Rammohan.

Read only

0 Likes
1,955

hi ram,

Use that FM GUI_DOWNLOAD twice:

First time download only header

Second time append table contents to the same file (import parameter append = 'X')

egx:

or example if your itab used for writing the abap list is like below.

data: begin of details occurs 0 ,

customer type kna1-kunnr,

name type kna1-name1 ,

end of details.

declare another internal table.

data: begin of headers occurs 0 ,

customer(100) ,

name(100),

end of headers.

move: '010101' to headers-customer ,

'Anver' to headers-name .

append headers.

now call GUI_download to download headers to filename c:/tem.xls

again call gui_download with APPEND = 'X' to the same file name and download details itab.

Regards

Anver

Read only

Former Member
0 Likes
1,955

HI Ram

Please check if below code helps you:

TABLES: EKKO.
*PARAMETERS : P_EBELN TYPE EBELN.
SELECT-OPTIONS: S_EBELN FOR EKKO-EBELN OBLIGATORY.

TYPES: BEGIN OF T_PO,
         EBELN TYPE EBELN,
       END OF T_PO.
DATA: IT_PO TYPE STANDARD TABLE OF T_PO,
      WA_PO TYPE T_PO.

DATA : IT_ITEMS TYPE TABLE OF BAPIEKPO WITH HEADER LINE.
DATA: PO_ITEMS_SHEDULE TYPE TABLE OF BAPIEKET WITH HEADER LINE.
DATA: PO_ITEM_TEXT TYPE TABLE OF BAPIEKPOTX WITH HEADER LINE.
DATA: PO_ITEM_ACCOUNT_ASSIGNMENT TYPE TABLE OF BAPIEKKN
WITH HEADER LINE.
DATA: PO_HEADER_TEXTS TYPE TABLE OF BAPIEKKOTX WITH HEADER LINE.
DATA: PO_HEADER TYPE BAPIEKKOL.
DATA: RETURN1 TYPE TABLE OF BAPIRETURN WITH HEADER LINE.

SELECT EBELN INTO TABLE IT_PO FROM EKKO WHERE EBELN IN S_EBELN.

PERFORM DOWNLOAD_DATA: TABLES IT_ITEMS USING SPACE 'BAPIEKPO'.
LOOP AT IT_PO INTO WA_PO.
  CLEAR: PO_HEADER_TEXTS[], IT_ITEMS[], PO_ITEM_ACCOUNT_ASSIGNMENT[],
         PO_ITEMS_SHEDULE[], PO_ITEM_TEXT[], RETURN1[].
  CALL FUNCTION 'BAPI_PO_GETDETAIL'
    EXPORTING
      PURCHASEORDER              = WA_PO-EBELN
      ITEMS                      = 'X'
      ACCOUNT_ASSIGNMENT         = 'X'
      SCHEDULES                  = ' '
      HISTORY                    = 'X'
      ITEM_TEXTS                 = 'X'
      HEADER_TEXTS               = 'X'
    TABLES
      PO_HEADER_TEXTS            = PO_HEADER_TEXTS
      PO_ITEMS                   = IT_ITEMS
      PO_ITEM_ACCOUNT_ASSIGNMENT = PO_ITEM_ACCOUNT_ASSIGNMENT
      PO_ITEM_SCHEDULES          = PO_ITEMS_SHEDULE
      PO_ITEM_TEXTS              = PO_ITEM_TEXT
      RETURN                     = RETURN1.

  PERFORM DOWNLOAD_DATA: TABLES PO_HEADER_TEXTS USING 'X' 'BAPIEKKOTX',
                         TABLES IT_ITEMS USING 'X' 'BAPIEKPO',
                         TABLES PO_ITEM_ACCOUNT_ASSIGNMENT USING 'X'
  'BAPIEKKN',
                         TABLES PO_ITEMS_SHEDULE USING 'X' 'BAPIEKET',
                         TABLES PO_ITEM_TEXT USING 'X' 'BAPIEKPOTX'.
ENDLOOP.

*&---------------------------------------------------------------------
*
*&      Form  DOWNLOAD_DATA
*&---------------------------------------------------------------------
*
FORM DOWNLOAD_DATA  TABLES   IT_TAB
                    USING    P_APP
                             STRUC_NAME.

  DATA: IT_DD03P TYPE TABLE OF DD03P WITH HEADER LINE,
        IT_DD03P1 TYPE TABLE OF DD03P WITH HEADER LINE.
  TYPES: BEGIN OF T_HEAD,
           TEXT TYPE AS4TEXT,
         END OF T_HEAD.
  DATA: IT_HEAD TYPE TABLE OF T_HEAD.

  IF NOT IT_TAB[] IS INITIAL.
    CALL FUNCTION 'DD_GET_DD03P_ALL'
      EXPORTING
        TABNAME       = STRUC_NAME
      TABLES
        A_DD03P_TAB   = IT_DD03P
        N_DD03P_TAB   = IT_DD03P1
      EXCEPTIONS
        ILLEGAL_VALUE = 1
        OTHERS        = 2.
    IF SY-SUBRC EQ 0.
      LOOP AT IT_DD03P.
        APPEND IT_DD03P-DDTEXT TO IT_HEAD.
      ENDLOOP.
    ENDIF.
  ENDIF.

  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      FILENAME                = 'C:poextract.xls'
      APPEND                  = P_APP
      WRITE_FIELD_SEPARATOR   = 'X'
    TABLES
      DATA_TAB                = IT_TAB
      FIELDNAMES              = IT_HEAD
    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.
  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.                    " DOWNLOAD_DATA

Kind Regards

Eswar

Read only

Former Member
0 Likes
1,955

Hi Ram,

Check this , it will clear u r issue

U r keeping in file name C:/poextract.xls change it to

C:\poextract.xls it may solve u r problem.

If still if doesnot solve u r issue follow the code below

DATA : it_fields TYPE dfies OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF it_fnames OCCURS 0,

reptext LIKE dfies-reptext,

END OF it_fnames.

CALL FUNCTION 'GET_FIELDTAB'

EXPORTING

LANGU = SY-LANGU

  • ONLY = ' '

tabname = it_tab

  • WITHTEXT = 'X'

  • IMPORTING

  • HEADER =

  • RC =

TABLES

fieldtab = it_fields

EXCEPTIONS

internal_error = 1

no_texts_found = 2

table_has_no_fields = 3

table_not_activ = 4

OTHERS = 5

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

LOOP AT it_fields.

it_fnames-reptext = it_fields-reptext.

APPEND it_fnames.

ENDLOOP.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

FILENAME = 'C:\poextract.xls'

APPEND = P_APP

WRITE_FIELD_SEPARATOR = 'X'

TABLES

DATA_TAB = IT_TAB

FIELDNAMES = it_fnames

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.

IF SY-SUBRC <> 0.

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

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

ENDIF.

Read only

Former Member
0 Likes
1,955

HI ESWAR,

Thanks for reply agin,but what u have given ,i gone through the code,but it is not woring,the headers is not comming in the excel sheet,any how if u have idea let me know,thanks for yur fast response.

Thanks,

Rammohan.

Read only

0 Likes
1,955

Hi Ram

Kindly let me know the exact problem. Please try by copying the whole code to a temporary program and executing the same. Please make sure that the file is not open while you are executing the program.

Regards

Eswar

Read only

Former Member
0 Likes
1,955

hi eswar,

I got the all the po related data in the excel sheet,thats fine,but the ting is i am not getting coloumn headings(i mean field names),i tried with closing the files.

Thanks,

Rammohan.

Read only

0 Likes
1,955

HI Ram

Can you place a break-point while downloading data using GUI_DOWNLOAD FM and check the data in table IT_HEAD.

Can you see that details are populated in this internal table.

Also check whatz the output that you see when you execute FM: 'DD_GET_DD03P_ALL' for structure BAPIEKPO.

Kind Regards

Eswar

Read only

Former Member
0 Likes
1,955

hi ESWAR,

yes i have checked in the debugging mode,The data is Comming into the internal table when it is in the following code(i mean upto this point).

IF NOT IT_TAB[] IS INITIAL.

CALL FUNCTION 'DD_GET_DD03P_ALL'

EXPORTING

TABNAME = STRUC_NAME

TABLES

A_DD03P_TAB = IT_DD03P

N_DD03P_TAB = IT_DD03P1

EXCEPTIONS

ILLEGAL_VALUE = 1

OTHERS = 2.

IF SY-SUBRC EQ 0.

LOOP AT IT_DD03P.

APPEND IT_DD03P-DDTEXT TO IT_HEAD.

ENDLOOP.

i mean i put the break point in this function module,here data is comming perfectly,But when icheck in the GUI down load function modulem for (it_head) data is not there,in the created excel sheet also only data avilable,but there is no headers,mean while i am also checking,if there is any mistake kindly let me know.

Thanks for u r cooperation.

Rammohan.

Read only

0 Likes
1,955

HI Ram

Have you used the code the way that i have provided you. I dont have any problem while downloading.

Below is the same again for your reference: Please try using as it is...

TABLES: EKKO.
*PARAMETERS : P_EBELN TYPE EBELN.
SELECT-OPTIONS: S_EBELN FOR EKKO-EBELN OBLIGATORY.
 
TYPES: BEGIN OF T_PO,
         EBELN TYPE EBELN,
       END OF T_PO.
DATA: IT_PO TYPE STANDARD TABLE OF T_PO,
      WA_PO TYPE T_PO.
 
DATA : IT_ITEMS TYPE TABLE OF BAPIEKPO WITH HEADER LINE.
DATA: PO_ITEMS_SHEDULE TYPE TABLE OF BAPIEKET WITH HEADER LINE.
DATA: PO_ITEM_TEXT TYPE TABLE OF BAPIEKPOTX WITH HEADER LINE.
DATA: PO_ITEM_ACCOUNT_ASSIGNMENT TYPE TABLE OF BAPIEKKN
WITH HEADER LINE.
DATA: PO_HEADER_TEXTS TYPE TABLE OF BAPIEKKOTX WITH HEADER LINE.
DATA: PO_HEADER TYPE BAPIEKKOL.
DATA: RETURN1 TYPE TABLE OF BAPIRETURN WITH HEADER LINE.
 
SELECT EBELN INTO TABLE IT_PO FROM EKKO WHERE EBELN IN S_EBELN.
 
PERFORM DOWNLOAD_DATA: TABLES IT_ITEMS USING SPACE 'BAPIEKPO'.
LOOP AT IT_PO INTO WA_PO.
  CLEAR: PO_HEADER_TEXTS[], IT_ITEMS[], PO_ITEM_ACCOUNT_ASSIGNMENT[],
         PO_ITEMS_SHEDULE[], PO_ITEM_TEXT[], RETURN1[].
  CALL FUNCTION 'BAPI_PO_GETDETAIL'
    EXPORTING
      PURCHASEORDER              = WA_PO-EBELN
      ITEMS                      = 'X'
      ACCOUNT_ASSIGNMENT         = 'X'
      SCHEDULES                  = ' '
      HISTORY                    = 'X'
      ITEM_TEXTS                 = 'X'
      HEADER_TEXTS               = 'X'
    TABLES
      PO_HEADER_TEXTS            = PO_HEADER_TEXTS
      PO_ITEMS                   = IT_ITEMS
      PO_ITEM_ACCOUNT_ASSIGNMENT = PO_ITEM_ACCOUNT_ASSIGNMENT
      PO_ITEM_SCHEDULES          = PO_ITEMS_SHEDULE
      PO_ITEM_TEXTS              = PO_ITEM_TEXT
      RETURN                     = RETURN1.
 
  PERFORM DOWNLOAD_DATA: TABLES PO_HEADER_TEXTS USING 'X' 'BAPIEKKOTX',
                         TABLES IT_ITEMS USING 'X' 'BAPIEKPO',
                         TABLES PO_ITEM_ACCOUNT_ASSIGNMENT USING 'X'
  'BAPIEKKN',
                         TABLES PO_ITEMS_SHEDULE USING 'X' 'BAPIEKET',
                         TABLES PO_ITEM_TEXT USING 'X' 'BAPIEKPOTX'.
ENDLOOP.
 
*&---------------------------------------------------------------------
*
*&      Form  DOWNLOAD_DATA
*&---------------------------------------------------------------------
*
FORM DOWNLOAD_DATA  TABLES   IT_TAB
                    USING    P_APP
                             STRUC_NAME.
 
  DATA: IT_DD03P TYPE TABLE OF DD03P WITH HEADER LINE,
        IT_DD03P1 TYPE TABLE OF DD03P WITH HEADER LINE.
  TYPES: BEGIN OF T_HEAD,
           TEXT TYPE AS4TEXT,
         END OF T_HEAD.
  DATA: IT_HEAD TYPE TABLE OF T_HEAD.
 
  IF NOT IT_TAB[] IS INITIAL.
    CALL FUNCTION 'DD_GET_DD03P_ALL'
      EXPORTING
        TABNAME       = STRUC_NAME
      TABLES
        A_DD03P_TAB   = IT_DD03P
        N_DD03P_TAB   = IT_DD03P1
      EXCEPTIONS
        ILLEGAL_VALUE = 1
        OTHERS        = 2.
    IF SY-SUBRC EQ 0.
      LOOP AT IT_DD03P.
        APPEND IT_DD03P-DDTEXT TO IT_HEAD.
      ENDLOOP.
    ENDIF.
  ENDIF.
 
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      FILENAME                = 'C:poextract.xls'
      APPEND                  = P_APP
      WRITE_FIELD_SEPARATOR   = 'X'
    TABLES
      DATA_TAB                = IT_TAB
      FIELDNAMES              = IT_HEAD
    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.
  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.                    " DOWNLOAD_DATA

Kind Regards

Eswar

Read only

Former Member
0 Likes
1,955

hi eswar,

i am using the same code what u sent,but u r telling headers is comming in the excel sheet,but for me only data is comming in the excel sheet headers r not comming.finally after program ends it is giving the message '0' bytes transfers but there is data in excel,i am using folllowing same code.

report ztest1.

TABLES: EKKO.

*PARAMETERS : P_EBELN TYPE EBELN.

SELECT-OPTIONS: S_EBELN FOR EKKO-EBELN OBLIGATORY.

TYPES: BEGIN OF T_PO,

EBELN TYPE EBELN,

END OF T_PO.

DATA: IT_PO TYPE STANDARD TABLE OF T_PO,

WA_PO TYPE T_PO.

DATA : IT_ITEMS TYPE TABLE OF BAPIEKPO WITH HEADER LINE.

DATA: PO_ITEMS_SHEDULE TYPE TABLE OF BAPIEKET WITH HEADER LINE.

DATA: PO_ITEM_TEXT TYPE TABLE OF BAPIEKPOTX WITH HEADER LINE.

DATA: PO_ITEM_ACCOUNT_ASSIGNMENT TYPE TABLE OF BAPIEKKN

WITH HEADER LINE.

DATA: PO_HEADER_TEXTS TYPE TABLE OF BAPIEKKOTX WITH HEADER LINE.

DATA: PO_HEADER TYPE BAPIEKKOL.

DATA: RETURN1 TYPE TABLE OF BAPIRETURN WITH HEADER LINE.

SELECT EBELN INTO TABLE IT_PO FROM EKKO WHERE EBELN IN S_EBELN.

PERFORM DOWNLOAD_DATA: TABLES IT_ITEMS USING SPACE 'BAPIEKPO'.

LOOP AT IT_PO INTO WA_PO.

CLEAR: PO_HEADER_TEXTS[], IT_ITEMS[], PO_ITEM_ACCOUNT_ASSIGNMENT[],

PO_ITEMS_SHEDULE[], PO_ITEM_TEXT[], RETURN1[].

CALL FUNCTION 'BAPI_PO_GETDETAIL'

EXPORTING

PURCHASEORDER = WA_PO-EBELN

ITEMS = 'X'

ACCOUNT_ASSIGNMENT = 'X'

SCHEDULES = ' '

HISTORY = 'X'

ITEM_TEXTS = 'X'

HEADER_TEXTS = 'X'

TABLES

PO_HEADER_TEXTS = PO_HEADER_TEXTS

PO_ITEMS = IT_ITEMS

PO_ITEM_ACCOUNT_ASSIGNMENT = PO_ITEM_ACCOUNT_ASSIGNMENT

PO_ITEM_SCHEDULES = PO_ITEMS_SHEDULE

PO_ITEM_TEXTS = PO_ITEM_TEXT

RETURN = RETURN1.

PERFORM DOWNLOAD_DATA: TABLES PO_HEADER_TEXTS USING 'X' 'BAPIEKKOTX',

TABLES IT_ITEMS USING 'X' 'BAPIEKPO',

TABLES PO_ITEM_ACCOUNT_ASSIGNMENT USING 'X'

'BAPIEKKN',

TABLES PO_ITEMS_SHEDULE USING 'X' 'BAPIEKET',

TABLES PO_ITEM_TEXT USING 'X' 'BAPIEKPOTX'.

ENDLOOP.

*&----


*

*& Form DOWNLOAD_DATA

*&----


*

FORM DOWNLOAD_DATA TABLES IT_TAB

USING P_APP

STRUC_NAME.

DATA: IT_DD03P TYPE TABLE OF DD03P WITH HEADER LINE,

IT_DD03P1 TYPE TABLE OF DD03P WITH HEADER LINE.

TYPES: BEGIN OF T_HEAD,

TEXT TYPE AS4TEXT,

END OF T_HEAD.

DATA: IT_HEAD TYPE TABLE OF T_HEAD.

IF NOT IT_TAB[] IS INITIAL.

CALL FUNCTION 'DD_GET_DD03P_ALL'

EXPORTING

TABNAME = STRUC_NAME

TABLES

A_DD03P_TAB = IT_DD03P

N_DD03P_TAB = IT_DD03P1

EXCEPTIONS

ILLEGAL_VALUE = 1

OTHERS = 2.

IF SY-SUBRC EQ 0.

LOOP AT IT_DD03P.

APPEND IT_DD03P-DDTEXT TO IT_HEAD.

ENDLOOP.

ENDIF.

ENDIF.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

FILENAME = 'C:\poextract.xls'

APPEND = P_APP

WRITE_FIELD_SEPARATOR = 'X'

TABLES

DATA_TAB = IT_TAB

FIELDNAMES = IT_HEAD

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.

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. " DOWNLOAD_DATA

Read only

0 Likes
1,955

Hi Ram

Please try with below code and let us know if you are still encountering the problem while downloading headers:

TABLES: EKKO.
*PARAMETERS : P_EBELN TYPE EBELN.
SELECT-OPTIONS: S_EBELN FOR EKKO-EBELN OBLIGATORY.

TYPES: BEGIN OF T_PO,
         EBELN TYPE EBELN,
       END OF T_PO.
DATA: IT_PO TYPE STANDARD TABLE OF T_PO,
      WA_PO TYPE T_PO.

DATA : IT_ITEMS TYPE TABLE OF BAPIEKPO WITH HEADER LINE.
DATA: PO_ITEMS_SHEDULE TYPE TABLE OF BAPIEKET WITH HEADER LINE.
DATA: PO_ITEM_TEXT TYPE TABLE OF BAPIEKPOTX WITH HEADER LINE.
DATA: PO_ITEM_ACCOUNT_ASSIGNMENT TYPE TABLE OF BAPIEKKN
WITH HEADER LINE.
DATA: PO_HEADER_TEXTS TYPE TABLE OF BAPIEKKOTX WITH HEADER LINE.
DATA: PO_HEADER TYPE BAPIEKKOL.
DATA: RETURN1 TYPE TABLE OF BAPIRETURN WITH HEADER LINE.
DATA: RC TYPE I.

SELECT EBELN INTO TABLE IT_PO FROM EKKO WHERE EBELN IN S_EBELN.

PERFORM FILE_DELETE.

LOOP AT IT_PO INTO WA_PO.
  CLEAR: PO_HEADER_TEXTS[], IT_ITEMS[], PO_ITEM_ACCOUNT_ASSIGNMENT[],
         PO_ITEMS_SHEDULE[], PO_ITEM_TEXT[], RETURN1[].
  CALL FUNCTION 'BAPI_PO_GETDETAIL'
    EXPORTING
      PURCHASEORDER              = WA_PO-EBELN
      ITEMS                      = 'X'
      ACCOUNT_ASSIGNMENT         = 'X'
      SCHEDULES                  = ' '
      HISTORY                    = 'X'
      ITEM_TEXTS                 = 'X'
      HEADER_TEXTS               = 'X'
    TABLES
      PO_HEADER_TEXTS            = PO_HEADER_TEXTS
      PO_ITEMS                   = IT_ITEMS
      PO_ITEM_ACCOUNT_ASSIGNMENT = PO_ITEM_ACCOUNT_ASSIGNMENT
      PO_ITEM_SCHEDULES          = PO_ITEMS_SHEDULE
      PO_ITEM_TEXTS              = PO_ITEM_TEXT
      RETURN                     = RETURN1.

  PERFORM DOWNLOAD_DATA: TABLES PO_HEADER_TEXTS USING 'BAPIEKKOTX',
                         TABLES IT_ITEMS USING 'BAPIEKPO',
                         TABLES PO_ITEM_ACCOUNT_ASSIGNMENT USING
'BAPIEKKN',
                         TABLES PO_ITEMS_SHEDULE USING 'BAPIEKET',
                         TABLES PO_ITEM_TEXT USING 'BAPIEKPOTX'.
ENDLOOP.

*&---------------------------------------------------------------------
*
*&      Form  DOWNLOAD_DATA
*&---------------------------------------------------------------------
*
FORM DOWNLOAD_DATA  TABLES   IT_TAB
                    USING    STRUC_NAME.

  DATA: IT_DD03P TYPE TABLE OF DD03P WITH HEADER LINE,
        IT_DD03P1 TYPE TABLE OF DD03P WITH HEADER LINE.
  DATA: IT_HEAD TYPE TABLE OF STRING,
        WA_HEAD TYPE STRING.

  DATA: L_TAB(1) TYPE C VALUE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.

  IF NOT IT_TAB[] IS INITIAL.
    CALL FUNCTION 'DD_GET_DD03P_ALL'
      EXPORTING
        TABNAME       = STRUC_NAME
      TABLES
        A_DD03P_TAB   = IT_DD03P
        N_DD03P_TAB   = IT_DD03P1
      EXCEPTIONS
        ILLEGAL_VALUE = 1
        OTHERS        = 2.
    IF SY-SUBRC EQ 0.
      LOOP AT IT_DD03P.
        IF SY-TABIX EQ 1.
          MOVE IT_DD03P-DDTEXT TO WA_HEAD.
        ELSE.
    CONCATENATE WA_HEAD IT_DD03P-DDTEXT INTO WA_HEAD SEPARATED BY L_TAB.
        ENDIF.
      ENDLOOP.
      APPEND WA_HEAD TO IT_HEAD.
    ENDIF.
  ENDIF.

  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      FILENAME                = 'C:poextract.xls'
      APPEND                  = 'X'
      WRITE_FIELD_SEPARATOR   = 'X'
    TABLES
      DATA_TAB                = IT_HEAD
*      FIELDNAMES              = IT_HEAD
    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.
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      FILENAME                = 'C:poextract.xls'
      APPEND                  = 'X'
      WRITE_FIELD_SEPARATOR   = 'X'
    TABLES
      DATA_TAB                = IT_TAB
*      FIELDNAMES              = IT_HEAD
    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.
  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.                    " DOWNLOAD_DATA

*&---------------------------------------------------------------------*
*&      Form  FILE_DELETE
*&---------------------------------------------------------------------*
FORM FILE_DELETE .

  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_DELETE
    EXPORTING
      FILENAME             = 'C:poextract.xls'
    CHANGING
      RC                   = RC
    EXCEPTIONS
      FILE_DELETE_FAILED   = 1
      CNTL_ERROR           = 2
      ERROR_NO_GUI         = 3
      FILE_NOT_FOUND       = 4
      ACCESS_DENIED        = 5
      UNKNOWN_ERROR        = 6
      NOT_SUPPORTED_BY_GUI = 7
      WRONG_PARAMETER      = 8
      OTHERS               = 9.
  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.                    " FILE_DELETE

Kind Regards

Eswar

Read only

Former Member
0 Likes
1,956

hi eswar,

Good morning,yes i am getting the headers,thanks for u r response but headers is comming for each item,i mean if i am extracting 60 purchase orders headers r comming 60 times,is there any change let meknow,i am also looking in to it,

Thanks once again,

Rammohan.

Read only

0 Likes
1,955

Hi Ram

I guess the logic should be that way, bcoz for each PO we are populating various structures. So whenenever there is a change in the structure the Headers for the structure will be populated.

Kind Regards

Eswar

Read only

Former Member
0 Likes
1,955

Yes you may right,i will clarify from my functional consultant,if it same for all what type od change we should do,if u have any idea pl give.

Thanks,

Rammohan.

Read only

Former Member
0 Likes
1,955

hi eswar ,

how to create the PO by using the same excel sheet,and also one more thing what ever i haveextracted the data in that item conditions are not comming so is there any FM to bring the details of condtions,if u have any idea let me know.

Thanks,

Rammohan.