Skip to Content
0
Former Member
Jan 24, 2012 at 09:14 AM

GUI_Download Return

96 Views

Dear Experts,

I need to display all the error messages which comes if my BAPI returns any in an Excel File .. Please help

code:

data: error_message TYPE STANDARD TABLE OF BAPIRETURN1 WITH HEADER LINE .

 CALL FUNCTION 'BAPI_PLANNEDORDER_CREATE'
  EXPORTING
    headerdata                  = BAPIPLAF_I1
 IMPORTING
   RETURN                      = error_message
   PLANNEDORDER                = I_BAPIPLNUM
*   CREATEDHEADERDATA           =
*   CAPACITYHEADERDATA1         =
*   CAPACITYHEADERDATA2         =
*   CAPACITYHEADERDATA3         =
* TABLES
*   COMPONENTSDATA              =
*   CREATEDCOMPONENTSDATA       =
*   CAPACITYDATA1               =
*   CAPACITYDATA2               =
*   CAPACITYDATA3               =
.

if error_message-TYPE = 'E'.
*Displaying Error Message
DATA: lv_file TYPE string.
      lv_file = 'C:\Users\Minks\Desktop\Planned_Order_Creation_Error.XLS'.

  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      filename                        = lv_file
      FILETYPE                        = 'DAT'
      APPEND                          = 'X'
*      WRITE_FIELD_SEPARATOR           =  cl_abap_char_utilities=>horizontal_tab
      WRITE_FIELD_SEPARATOR           =  'X'
    tables
      data_tab                        = error_message
   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 EQ 0.
     SKIP.

     WRITE:/ error_message-MESSAGE.
  ENDIF.
  PERFORM ROLLBACK_WORK.
ELSE.
  MOVE I_BAPIPLNUM TO PLAFW-PLANNEDORDER_NUM.
  PERFORM COMMIT_WORK.
ENDIF.

<added code tags>

Edited by: Suhas Saha on Jan 24, 2012 4:35 PM