Unicode Error in DOWNLOAD function module

Hi ABAPpers,
I am getting the unicode error in using
CALL FUNCTION 'DOWNLOAD'
       EXPORTING
         bin_filesize = v_bytecount
         filename     = v_download_filename
         filetype     = 'WK1'
       IMPORTING
         act_filename = v_download_filename
       TABLES
         data_tab     = i_download.
If i try to use GUI_DOWNLOAD, it doesn't have importing parameter act_filename.
What alternate function module should i use to rectify this unicode error?
Regards,
Rahul

Hi,
The answer is similar to the one for your previous post. You need to use both CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG and GUI_DOWNLOAD
DATA: PRC_WINDOW_TITLE      TYPE STRING,
      PRC_DEFAULT_FILE_NAME TYPE STRING,
      PRC_INITIAL_DIRECTORY TYPE STRING,
      PRC_FILE_NAME         TYPE STRING,
      PRC_PATH              TYPE STRING,
      PRC_FULL_PATH         TYPE STRING,
      PRC_USER_ACTION       TYPE I.
PRC_INITIAL_DIRECTORY = FILENAME.
PRC_DEFAULT_FILE_NAME = FILENAME.
PRC_WINDOW_TITLE      = 'Debitoren-Saldenliste'.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
  EXPORTING
    WINDOW_TITLE         = PRC_WINDOW_TITLE
    DEFAULT_FILE_NAME    = PRC_DEFAULT_FILE_NAME
    INITIAL_DIRECTORY    = PRC_INITIAL_DIRECTORY
  CHANGING
    FILENAME             = PRC_FILE_NAME
    PATH                 = PRC_PATH
    FULLPATH             = PRC_FULL_PATH
    USER_ACTION          = PRC_USER_ACTION
  EXCEPTIONS
    CNTL_ERROR           = 1
    ERROR_NO_GUI         = 2
    NOT_SUPPORTED_BY_GUI = 3
    OTHERS               = 4
IF SY-SUBRC = 0 AND PRC_USER_ACTION NE
CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
     FILENAME                        = PRC_FILE_NAME
     FILETYPE                        = 'ASC'
     WRITE_FIELD_SEPARATOR           = '#'
    TABLES
      DATA_TAB                        = TAB_EXCEL
   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
ENDIF.

Similar Messages

  • Download function module is obsolute

    How to handle importing parameters of Download Function module in unicode conversion.
    If i am converting my SAP from Non unicode to unicode environment how should i handle the importing parameters od download Function module in Cl_gui_frontend_services=> gui_download because there is only one importing paramter in that , where as in download function module i have 3 importing parameters

    Hi,
    Please see the below code .
    Function module u2018DOWNLOADu2019
          CALL FUNCTION 'DOWNLOAD'
            EXPORTING
              filename = p_file
              filetype = 'WK1'
            TABLES
              data_tab = i_table.
    would be replaced with:
    data: gd_file type string.
    DATA: ld_filename TYPE string,
          ld_path TYPE string,
          ld_fullpath TYPE string,
          ld_result TYPE i.
    types: t_uctable like line of i_table.
    data:  it_uctable type standard table of t_uctable.
      gd_file = p_file.
      shift gd_file RIGHT DELETING TRAILING '\'.
      shift gd_file RIGHT DELETING TRAILING '/'.
      shift gd_file left DELETING LEADING space.
      CALL METHOD cl_gui_frontend_services=>file_save_dialog
        EXPORTING
          DEFAULT_EXTENSION = 'WK1'
          default_file_name = gd_file
          INITIAL_DIRECTORY = gd_file
        CHANGING
          filename          = ld_filename
          path              = ld_path
          fullpath          = ld_fullpath
          user_action       = ld_result.
      check ld_result eq 0.
      gd_file = ld_fullpath.
      gd_file = p_file.
      it_uctable[] = i_table[].
      CALL METHOD cl_gui_frontend_services=>gui_download
      EXPORTING
        filename = gd_file
        filetype = 'ASC' " DAT,WK1
        Append   = ' '   "if mode = A then this would be X
      CHANGING
        data_tab = it_uctable
      EXCEPTIONS
        OTHERS   = 1.

  • How to replace obsolete download function module in ECC6.0?

    Hi Experts,
    How to replace obsolete download function module in ECC6.0?
    Thanks,
    Adi.

    Hi,
    DOWNLOAD is obsolete FM in ECC 6. To get the same functionality , we need to use
    CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG  method (It provides the File selection feature)
    and
    GUI_DOWNLOAD function module.(It downloads the internal table from program to presentation server)
    Please see the example below:
    Example:
    *CALL FUNCTION 'DOWNLOAD'
              EXPORTING
                   FILENAME            = p_filename
                   FILETYPE            = ‘DAT’
              TABLES
                   DATA_TAB            = T_DOWNL
              EXCEPTIONS
                   INVALID_FILESIZE    = 1
                   INVALID_TABLE_WIDTH = 2
                   INVALID_TYPE        = 3
                   NO_BATCH            = 4
                   UNKNOWN_ERROR       = 5
                   OTHERS              = 6.
    *End of deletion CH01-
    Replacement Method for above code:
    DATA: l_filename    TYPE string,
           l_filen       TYPE string,
           l_path        TYPE string,
           l_fullpath    TYPE string,
           l_usr_act     TYPE I.
    l_filename = P_filename.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
      EXPORTING
        DEFAULT_FILE_NAME    = l_filename
      CHANGING
        FILENAME             = l_filen
        PATH                 = l_path
        FULLPATH             = l_fullpath
        USER_ACTION          = l_usr_act
      EXCEPTIONS
        CNTL_ERROR           = 1
        ERROR_NO_GUI         = 2
        NOT_SUPPORTED_BY_GUI = 3
        others               = 4.
    IF sy-subrc = 0
          AND l_usr_act <>
          CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        FILENAME                        = l_fullpath
       FILETYPE                        = 'DAT'
      TABLES
        DATA_TAB                        = T_DOWNL
    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.

  • Getting error in the function module

    Hi everybody.
    I have created one function module in se37 and i am calling that function module in the se38 report, when i am executing the report it is throwing me an error.
    here in my report i am having the select option fields ex matnr, in the function module importing i have given the parameter matnr over there and when i am running the report it is through an error that 
    "The function module interface allows you to specify only 
    fields of a particular type under "MATNR".               
    The field "S_MATNR" specified here is a different        
    field type                                                "
    IF i am giving the parameter instead of select-options in the report and executing, then the function module is getting triggered and receiving the data what ever the code is available in the source code.
    can anyone help me out in this issue so that i can get the data while using the select-option instead of parameter.
    Thanks in advance

    Hi,
    Actually, I wouldn't recommend the use of that tables parameter...
    From sap help:
    Table parameters are obsolete CHANGING parameters that are typed as standard tables with a header line. If an internal table without a header line or a table body is passed as an actual parameter to a formal parameter of this type, an empty local header line is generated in the function module. If an internal table with a header line is used as an actual parameter, both the table body and the header line are passed to the function module. Pass by value is not possible in formal parameters defined using TABLES. Formal parameters defined with TABLES can be replaced by formal parameters defined with CHANGING. A local work area can be created for the internal table in the function module by using the addition LIKE LINE OF itab of the DATA statement.
    Exceptions
    So i definitely would go with either importing or changing parameter...
    Cheers,
    m.

  • Type error while calling function module with in FOX formula

    Hi,
    I am getting following error while calling function module from FOX Formula:
    "Types of parameter DAY_IN () and variable J_CALDAY(D) are inconsistent"
    Following is the code:
    DATA    I_CALDAY       TYPE  0CALDAY.
    DATA    N_CALDAY       TYPE  0CALDAY.
    DATA    KYF              TYPE KEYFIGURE_NAME.
    FOREACH   I_CALDAY, KYF.
       CALL FUNCTION SLS_MISC_GET_LAST_DAY_OF_MONTH
          EXPORTING
             DAY_IN  =  I_CALDAY
          IMPORTING
             LAST_DAY_OF_MONTH = N_CALDAY.
        {KYF, N_CALDAY}  =  {KYF, L_CALDAY}.
    ENDFOR.
    Import parameter DAY_IN is of type sy-datum (that inturn is data element SYDATUM of data type DATS - same as 0CALDAY). Not sure why error is being thrown. Any idea? Thanks.
    Edited by: SAP_BOY on Dec 4, 2009 5:26 PM

    Hi,
    I think It will not identify ,though you have  (data element SYDATUM of data type DATS - same as 0CALDAY).Check it out by assigning it through a variable of type D.
    Data I_CALDAY TYPE D.
    Hope it may work out.
    Regards,
    Indu

  • How to capture errors when a Function module is called as BACKGROUND TASK

    How to capture errors when a Function module is called as BACKGROUND TASK?.Please advise.
    FUNCTION ZRPM_DELETE_PROJECT_DATA_API.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(IV_EXTERNAL_ID) TYPE  RPM_TV_EXTID OPTIONAL
    *"     VALUE(IV_PROJECT_GUID) TYPE  RPM_TV_GUID OPTIONAL
    *"     VALUE(FLAG) TYPE  BOOLEAN OPTIONAL
    *"  EXPORTING
    *"     VALUE(EV_RC) TYPE  I
    *"     VALUE(EV_MSG) TYPE  STRING
    *"     VALUE(ET_MSG) TYPE  RPM_TT_MESSAGES
      IF flag = cl_rpm_co=>sc_true.
        Call function 'RPM_DELETE_PROJECT_DATA' IN BACKGROUND TASK
          EXPORTING
            IV_EXTERNAL_ID  = IV_EXTERNAL_ID
            IV_PROJECT_GUID = IV_PROJECT_GUID
          IMPORTING
            EV_RC           = EV_RC
            EV_MSG          = EV_RC
            ET_MSG          = ET_MSG.
        COMMIT WORK.
      ELSE.
        CALL FUNCTION 'RPM_DELETE_PROJECT_DATA'
          EXPORTING
            IV_EXTERNAL_ID  = IV_EXTERNAL_ID
            IV_PROJECT_GUID = IV_PROJECT_GUID
          IMPORTING
            EV_RC           = EV_RC
            EV_MSG          = EV_MSG
            ET_MSG          = ET_MSG.
      ENDIF.
    ENDFUNCTION.
    In above code how to capture 'EV_RC' when FM is called as background task.

    Prakash,
    CALL FUNCTION IN BACKGROUND TASK allows no IMPORTING parameters, so that your code will produce a syntax error.
    The calling program can only handle errors of remote function calls (RFC) if these are either
    - synchronous RFC  (that is CALL FUNCTION ... DESTINATION ...) or
    - asynchronous RFC (that is CALL FUNCTION STARTING NEW TASK ... DESTINATION ...).
    Both synchronous and asynchronous RFC allow the capturing of errors by means of exceptions. But that is a different topic.

  • There seems to be an error in the function module OPEN_FORM obstructing the

    Hi,
    There seems to be an error in the function module OPEN_FORM obstructing the process.
    Some vendors are not cabaple of usinf EDI and for some reason also not willing to use TTOOL solutions (example Hewlet Packard). In those cases the supplier still would like to get purchase order electronically via e-mail. Sending POu2019s via external mail (SMTP) is basically standard function in R/3 that has been possible since the version 4.5. It is not pre-configured, so (almost) all the required elements needs to be configured.
    When we send the output message through ME9F t'code i facing the problem in the above FM.
    Please help me how to solve this.
    Vijay

    Got you, the digital display for Cupertino and Frankfurt are wrong too.
    Submit feedback:
    http://www.apple.com/feedback/iphone.html

  • Error EU 802: Function Module does not exist

    Hello everyone!
    While running a DTP, I'm getting the following error:
    EU 802: Function Module RSD_YPERSON_TXT_GET does not exist
    Anyone has any idea what this is about?
    Thanks in advance for your responses!
    Best Regards,
    Luís.

    Hi,
    I have resolved this issue. Turns out that I was mapping a source field INPER (In-Period) directly to 0CALMONTH. The problem is that this source field can have more than 12 periods per year.
    The error message was totally misleading... there's SAP for you
    Points assigned for the effort.
    Best regards,
    Luís.

  • Error Error 6 in function module RSS_PROGRAM_GENERATE

    Hello Experts,
    When I attempt to run the extract checker for datasource, 0material_LPRH_HIER I receive the following error: Error 6 in function module RSS_PROGRAM_GENERATE.
    I referred to the oss notes 328948. But the note is addressing to lower versions of R/3.
    I am working on ECC 6.0 and no way that note is helpful to me. I did check for the previous posts addressing this issue and i said already those posts refer to the older version of R/3.
    I did check for the previous post and all are addressing to the lower version of release.
    KK

    This is the reply I got from SAP:
    The error error 6 RSS_PROGRAM_GENERATE is more related to Hierarchy .
    Are you creating a hierarchy data source if so you need to use
    RSA1HCAT report .But normally you will not get any errors when you
    create the data source by your own .
    705212--> Syntax error in the generated extraction program
    Please use the program RSA1HCAT in SE38 to check your hierarchy.

  • Error 6 in function module RSS_PROGRAM_GENERATE

    Hi friends,
    While testing the extraction of a hierarchy data source (0CMMT_ITEM_FMCI_PU_HIER) from RSA3, I encountered the above error. I looked into some notes and it was not of much help for me. Please let me know if someone have come across this error and know the solution.
    Thanks and Regards
    Subray Hegde

    Hi,
    look at oss note 705212:
    Syntax error in the generated extraction program   Symptom
    You notice the error by one of the following symptoms:
    The loading of transaction data from an R/3 system terminates with a syntax error in the generated extraction program. The monitor displays the error messages:
                            R3027 "Error & during the generation of the data transfer program"
                            RSM340 "Error in the source system"
    The extraction within the extractor checker terminates with error message <b>RJ028 "Error 6 in function module RSS_PROGRAM_GENERATE".</b>The activation of transfer rules ends in BW with error message RG102 "Syntax error in GP$ERR$, row... (-> long text)" from the source system. Usually, the diagnosis in the long text of the error message is: "...could not be interpreted. Possible error causes: Incorrect notation or... "
    Other terms
    OLTP, extractor, data extraction, DataSource, Service API, SAPI,
    R3 027, R3 27, RSM 340, RJ 028, RJ 28
    Reason and Prerequisites
    The error only occurs in the source system, if this contains Basis Release 3.1I and Service API (SAPI) 3.0C Support Package 6. SAPI 3.0C Support Package 6 is contained, for example, in PI 2003.1 Support Package 7 (see attached composite SAP note 673002).
    Solution
    To correct the problem you need service API 3.0C Support Package 7 in the affected source system. The attached composite SAP note 704971 explains in which software components service API 3.0C is contained, and what the corresponding Support Packages of these components are.
    Alternatively, you can also copy the advance correction from the appendix.
    /manfred

  • Error message for function module

    I have created a custom function module. I have activated it. But when i'm trying to use it in a program it is showing an error. The function module has 'TABLES' but it is showing error as:
    "field "TABLES" is unknown. It is neither in one of the specified tables nor defined by a DATA statement".
    Please help me!!
    Thank you.

    Hello Titan,
    Generally you get these kind of syntax errors when there is some problem with the format of the program. Please recheck the format of the program in which you are calling the newly created function module. Please check if there are any erroneous '.' or ',' in the program before the 'Tables' partameter of the function module.
    Please verify the same.
    Regards,
    Pavan

  • Errors in Update Function Modules

    Hi Gurus,
    Please provide me the ways to handle Errors in Update Function Modules.
    (I.e. I should export errors from Update Function Module)
    Warm Regards,

    Use Raise statement ...
    FUNCTION-POOL CSTR.
    FUNCTION STRING_SPLIT.
      IF STRING NA DELIMITER.
        RAISE NOT_FOUND.
      ENDIF.
    ENDFUNCTION.
    Regards,
    Santosh

  • Download function module

    Hi all,
    My requirement is to replace download function module with cl_gui_frontend_services=>file_save_dialog.
    When i give the window title it is not getting reflected in the save dialog box.how am i to get it ?
    thanks in advance.

    class cl_gui_frontend_services definition load.
    <b>data : l_title type string value 'FILE SAVE',</b>
           l_fname type string,
           l_path type string,
           l_fpath type string,
           l_enc type abap_bool value 'X',
           l_ini type string value 'C:\',
           l_usr type i ,
           l_dname type string . " value 'C:\abc.xls'.
    data :begin of idata_tab occurs 10,
          a1 type c value 'A',
          b1 type c value 'B',
          c1 type c value 'C',
          end of idata_tab.
    move p_fname to l_dname.
    call method cl_gui_frontend_services=>file_save_dialog
       exporting
         <b>window_title = l_title</b>
         default_file_name =  l_dname
         with_encoding   = l_enc
        INITIAL_DIRECTORY = L_INI
       changing
          filename = l_fname
          path     = l_path
          fullpath = l_fpath
          user_action = l_usr
       exceptions
          cntl_error = 1
          error_no_gui = 2
          not_supported_by_gui = 3 .

  • Error in XXL_FULL_API function module for download report to excel

    Hi all,
    I am using XXL_FULL_API function module for download report to excel, In this FM we have to fill a table called sema        = t_gxxlt_s. in this table we have a fields called
    i_sema-col_no  = 19.
      i_sema-col_src = 19.
      i_sema-col_typ = 'STR'.
      i_sema-col_ops = 'DFT'
    here in 'col_typ' if we put STR in excel it will come as a text but i wnat the time field what i have to pass ?
    and for filed 'col_ops' also ??
    Thaks,
    Sridhar

    Hi sridhar joshi,
    Please check this program
    REPORT Excel.
    TABLES:
      sflight.
    * header data................................
    DATA :
      header1 LIKE gxxlt_p-text VALUE 'Suresh',
      header2 LIKE gxxlt_p-text VALUE 'Excel sheet'.
    * Internal table for holding the SFLIGHT data
    DATA BEGIN OF t_sflight OCCURS 0.
            INCLUDE STRUCTURE sflight.
    DATA END   OF t_sflight.
    * Internal table for holding the horizontal key.
    DATA BEGIN OF  t_hkey OCCURS 0.
            INCLUDE STRUCTURE gxxlt_h.
    DATA END   OF t_hkey .
    * Internal table for holding the vertical key.
    DATA BEGIN OF t_vkey OCCURS 0.
            INCLUDE STRUCTURE gxxlt_v.
    DATA END   OF t_vkey .
    * Internal table for holding the online text....
    DATA BEGIN OF t_online OCCURS 0.
            INCLUDE STRUCTURE gxxlt_o.
    DATA END   OF t_online.
    * Internal table to hold print text.............
    DATA BEGIN OF t_print OCCURS 0.
            INCLUDE STRUCTURE gxxlt_p.
    DATA END   OF t_print.
    * Internal table to hold SEMA data..............
    DATA BEGIN OF t_sema OCCURS 0.
            INCLUDE STRUCTURE gxxlt_s.
    DATA END   OF t_sema.
    * Retreiving data from sflight.
    SELECT * FROM sflight
             INTO TABLE t_sflight.
    * Text which will be displayed online is declared here....
    t_online-line_no    = '1'.
    t_online-info_name  = 'Created by'.
    t_online-info_value = 'KODANDARAMI REDDY'.
    APPEND t_online.
    * Text which will be printed out..........................
    t_print-hf     = 'H'.
    t_print-lcr    = 'L'.
    t_print-line_no = '1'.
    t_print-text   = 'This is the header'.
    APPEND t_print.
    t_print-hf     = 'F'.
    t_print-lcr    = 'C'.
    t_print-line_no = '1'.
    t_print-text   = 'This is the footer'.
    APPEND t_print.
    * Defining the vertical key columns.......
    t_vkey-col_no   = '1'.
    t_vkey-col_name = 'MANDT'.
    APPEND t_vkey.
    t_vkey-col_no   = '2'.
    t_vkey-col_name = 'CARRID'.
    APPEND t_vkey.
    t_vkey-col_no   = '3'.
    t_vkey-col_name = 'CONNID'.
    APPEND t_vkey.
    t_vkey-col_no   = '4'.
    t_vkey-col_name = 'FLDATE'.
    APPEND t_vkey.
    * Header text for the data columns................
    t_hkey-row_no = '1'.
    t_hkey-col_no = 1.
    t_hkey-col_name = 'PRICE'.
    APPEND t_hkey.
    t_hkey-col_no = 2.
    t_hkey-col_name = 'CURRENCY'.
    APPEND t_hkey.
    t_hkey-col_no = 3.
    t_hkey-col_name = 'PLANETYPE'.
    APPEND t_hkey.
    t_hkey-col_no = 4.
    t_hkey-col_name = 'SEATSMAX'.
    APPEND t_hkey.
    t_hkey-col_no = 5.
    t_hkey-col_name = 'SEATSOCC'.
    APPEND t_hkey.
    t_hkey-col_no = 6.
    t_hkey-col_name = 'PAYMENTSUM'.
    APPEND t_hkey.
    * populating the SEMA data..........................
    t_sema-col_no  = 1.
    t_sema-col_typ = 'STR'.
    t_sema-col_ops = 'DFT'.
    APPEND t_sema.
    t_sema-col_no = 2.
    APPEND t_sema.
    t_sema-col_no = 3.
    APPEND t_sema.
    t_sema-col_no = 4.
    APPEND t_sema.
    t_sema-col_no = 5.
    APPEND t_sema.
    t_sema-col_no = 6.
    APPEND t_sema.
    t_sema-col_no = 7.
    APPEND t_sema.
    t_sema-col_no = 8.
    APPEND t_sema.
    t_sema-col_no = 9.
    APPEND t_sema.
    t_sema-col_no = 10.
    t_sema-col_typ = 'NUM'.
    t_sema-col_ops = 'ADD'.
    APPEND t_sema.
    CALL FUNCTION 'XXL_FULL_API'
      EXPORTING
    *   DATA_ENDING_AT          = 54
    *   DATA_STARTING_AT        = 5
       filename                = 'TESTFILE'
       header_1                = header1
       header_2                = header2
       no_dialog               = 'X'
       no_start                = ' '
        n_att_cols              = 6
        n_hrz_keys              = 1
        n_vrt_keys              = 4
       sema_type               = 'X'
    *   SO_TITLE                = ' '
      TABLES
        data                    = t_sflight
        hkey                    = t_hkey
        online_text             = t_online
        print_text              = t_print
        sema                    = t_sema
        vkey                    = t_vkey
    EXCEPTIONS
       cancelled_by_user       = 1
       data_too_big            = 2
       dim_mismatch_data       = 3
       dim_mismatch_sema       = 4
       dim_mismatch_vkey       = 5
       error_in_hkey           = 6
       error_in_sema           = 7
       file_open_error         = 8
       file_write_error        = 9
       inv_data_range          = 10
       inv_winsys              = 11
       inv_xxl                 = 12
       OTHERS                  = 13
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    please refer this link
    http://www.thespot4sap.com/Articles/Download_to_excel.asp
    Best regards,
    raam

  • Error executing custom function module

    Hi all,
    am trying to read a function module form my java code as below.
    There is no problem with the function module.
    I think there is some problem with the java code that is written. I am sure the problem lies with the  TABLES IT_PRODUCT_DATA STRUCTURE  ZOG_ITEM_SCREENSTR.
    Function module parameters and signature.
    FUNCTION ZGET_CUST_ORDERGUIDE_ITEMDATA.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(IV_ORDER_GUID) TYPE  CRMT_OBJECT_GUID OPTIONAL
    *"     VALUE(IV_CUSTOMER) TYPE  BU_PARTNER
    *"  TABLES
    *"      IT_PRODUCT_DATA STRUCTURE  ZOG_ITEM_SCREENSTR
    Java Code that is Implemented is attached above.
    public ArrayList fetchOrderGuide(String customerNumber) {
              ArrayList itemList = new ArrayList();
                                       ItemSalesDoc itemSalesDoc = new ItemSalesDoc();
              if (log.isDebugEnabled()) {
                   log.debug("inside ZAdminLogin");
              try
              JCoConnection aJCoCon = (JCoConnection) getConnectionFactory().getConnection(com.sap.isa.core.eai.init.InitEaiISA.FACTORY_NAME_JCO,
                                                                                                 com.sap.isa.core.eai.init.InitEaiISA.CON_NAME_ISA_STATEFUL);
                   try
                        try
                             JCO.Function zFetchSalesOrderFunctionModule = aJCoCon.getJCoFunction("ZGET_CUST_ORDERGUIDE_ITEMDATA");
                             // set the import values
                             Table zItemsTable = new Table("ITEMS");
                                       //zPackagesTable.addColumn(Table.TYPE_STRING,"HUI");
                             zItemsTable.addColumn(Table.TYPE_STRING,"JOGITEM");
                             zItemsTable.addColumn(Table.TYPE_INT,"JPRUOM");
                             zItemsTable.addColumn(Table.TYPE_STRING,"JPRSEQ");
                             zItemsTable.addColumn(Table.TYPE_STRING,"JOGDESC");
                             zItemsTable.addColumn(Table.TYPE_STRING,"JLINE");
                             zItemsTable.addColumn(Table.TYPE_STRING,"JOGNR");
                             zItemsTable.addColumn(Table.TYPE_STRING,"JPACK");
                             zItemsTable.addColumn(Table.TYPE_STRING,"JSIZE");
                             zItemsTable.addColumn(Table.TYPE_STRING,"JBRAND");
                             zItemsTable.addColumn(Table.TYPE_STRING,"JWEEKAVG");
                             zItemsTable.addColumn(Table.TYPE_STRING,"JDELFLAG");
                             JCO.ParameterList importParams = zFetchSalesOrderFunctionModule.getImportParameterList();
                             importParams.setValue("BP-104", "IV_CUSTOMER");
                             aJCoCon.execute(zFetchSalesOrderFunctionModule);
                             JCO.Table zRtItems = zFetchSalesOrderFunctionModule.getTableParameterList().getTable("IT_PRODUCT_DATA");
                                            int numberOfPackages = zRtItems.getNumRows();
                                            if (log.isDebugEnabled()) {
                                                 log.debug("number of packages " + numberOfPackages);
                                            if (numberOfPackages > 0)
                                                 for (int j=0; j<numberOfPackages; j++)
                                                      TableRow itemRow = zItemsTable.insertRow();
                                                      //itemRow.setRowKey(new TechKey(zRtItems.getString("EXIDV")));
                                                      //packageRow.getField("HUI").setValue(zGoods.getString("EXIDV"));
                                                      itemRow.getField("JOGITEM").setValue(zRtItems.getString("OGITEM"));
                                                      itemRow.getField("JPRSEQ").setValue(zRtItems.getString("PRSEQ"));
                                                      itemRow.getField("JOGDESC").setValue(zRtItems.getString("OGDESC"));
                                                      itemRow.getField("JLINE").setValue(zRtItems.getString("LINE"));
                                                      itemRow.getField("JOGNR").setValue(zRtItems.getString("OGNR"));
                                                      itemRow.getField("JPACK").setValue(zRtItems.getString("PACK"));
                                                      itemRow.getField("JSIZE").setValue(zRtItems.getString("SIZE"));
                                                      itemRow.getField("JBRAND").setValue(zRtItems.getString("BRAND"));
                                                      itemRow.getField("JWEEKAVG").setValue(zRtItems.getString("WEEKAVG"));
                                                      itemRow.getField("JDELFLAG").setValue(zRtItems.getString("DELFLAG"));
                                                      zRtItems.nextRow();
                        catch(JCO.AbapException abapException)
                             //Exception thrown, user is not valid
                             if(log.isDebugEnabled())
                                  log.debug(  abapException.getKey());
                   catch (Exception ex)
                        if (log.isDebugEnabled()) {
                             log.debug(ex);
                   finally
                        aJCoCon.close();
              catch(BackendException beeEx)
                   if(log.isDebugEnabled())
              return itemList;     
    LOGDETAILS
    ZGET_CUST_ORDERGUIDE_ITEMDATA:: - IN: INPUT * IV_CUSTOMER='BP-104' IV_ORDER_GUID='00000000000000000000000000000000'
    Oct 9, 2008 6:48:41 AM,507 SAPEngine_Application_Thread[impl:3]_7 Error com.sap.isa.core.eai.sp.jco.JCoConnectionStateful Error occcurred in EAI layer "com.sap.mw.jco.JCO$Exception: (106) JCO_ERROR_RESOURCE: Trying to access row values in a table which does not have any rows yet".
    [EXCEPTION]
    com.sap.mw.jco.JCO$Exception: (106) JCO_ERROR_RESOURCE: Trying to access row values in a table which does not have any rows yet
                at com.sap.mw.jco.JCO$Record.checkRowCapacity(JCO.java:12354)
                at com.sap.mw.jco.JCO$Record.getString(JCO.java:12827)
                at com.sap.mw.jco.JCO$Field.getString(JCO.java:11055)
                at com.sap.isa.core.eai.sp.jco.JCoUtil.paramIterator(JCoUtil.java:412)
                at com.sap.isa.core.eai.sp.jco.JCoUtil.logCall(JCoUtil.java:382)
                at com.sap.isa.core.eai.sp.jco.JCoUtil.logCall(JCoUtil.java:236)
                at
    All helpful answers will be rewarded heavily

    hi,
    first of all you do not set the import values for your table correct. You should do something similar like this:
    Function myFunction = connection.getJCoFunction(Z_FM");
    Table myTable = myFunction.getTableParameterList().getTable("Z_TABLE");
    for(int i=0; i<2; i++) {
        myTable.appendRow();
                        myTable.setValue(value1,"VALUE1");
                        myTable.setValue(value2,"vALUE2");
                   connection.execute(myFunction);
    Did you debug your java class? You should check at which point your java class throws the error.
    Regards
    Michael

Maybe you are looking for