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

file type error

Former Member
0 Likes
979

hi,

iam developing a program to download data from SAP table to flat file using BAPI. when iam executing it is giving file type different error.

pls help. this is code

&----


*& Report Z_RTP_I_INTERNALORDER

*&

&----


*&

*&

&----


REPORT Z_RTP_I_INTERNALORDER NO STANDARD PAGE HEADING.

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

  • PROGRAM - ID :

  • MODULE : MM

  • DATE :

  • PROGRAMMER :

  • PROGRAM DESCRIPTION :

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

  • ------------------ TABLE WORK AREA -----------------------------------

TABLES: COAS. " ORDER MASTER FOR CONTROLLING

*----


  • SELECTION SCREEN

*----


SELECTION-SCREEN BEGIN OF BLOCK B1.

PARAMETERS: P_COMP TYPE COAS-BUKRS. " COMPANY CODE

*PARAMETERS: P_FILE(30) TYPE C.

PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.

SELECTION-SCREEN END OF BLOCK B1.

*

*DATA: P_FILE TYPE STRING.

*P_FILE = 'C:\CHANDRA.TXT'.

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

  • INTERNAL TABLE DECLARATION

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

DATA BEGIN OF IT_COAS OCCURS 500.

INCLUDE STRUCTURE ZCOAS. " STRUCTURE FOR COAS

DATA END OF IT_COAS.

*----


BAPI FUNCTION MODULE -


*ZBAPI_INTERNAL_ORDER_LIST "BAPI FOR TO GET THE LIST OF INTERNAL ORDERS

*----


AT SELECTION-SCREEN ON VALUE-REQUEST for P_FILE.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

FIELD_NAME = 'P_FILE '

IMPORTING

FILE_NAME = P_FILE.

START-OF-SELECTION.

CALL FUNCTION 'ZBAPI_INTERNAL_ORDER_GETLIST'

EXPORTING

BUSINESSUNIT = p_comp

  • IMPORTING

  • AUFNR =

  • KTEXT =

TABLES

  • RETURN =

LIST = IT_COAS.

*--


GUI_DOWNLOAD--


CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

  • BIN_FILESIZE =

FILENAME = P_FILE

FILETYPE = 'ASC'

  • APPEND = ' '

  • WRITE_FIELD_SEPARATOR = ' '

  • HEADER = '00'

  • TRUNC_TRAILING_BLANKS = ' '

  • WRITE_LF = 'X'

  • COL_SELECT = ' '

  • COL_SELECT_MASK = ' '

  • DAT_MODE = ' '

  • CONFIRM_OVERWRITE = ' '

  • NO_AUTH_CHECK = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • WRITE_BOM = ' '

  • TRUNC_TRAILING_BLANKS_EOL = 'X'

  • WK1_N_FORMAT = ' '

  • WK1_N_SIZE = ' '

  • WK1_T_FORMAT = ' '

  • WK1_T_SIZE = ' '

  • IMPORTING

  • FILELENGTH =

TABLES

DATA_TAB = IT_COAS

  • FIELDNAMES =

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.

chandu

7 REPLIES 7
Read only

Former Member
0 Likes
808

Hi chandra,

1. very minor mistake

2. while calling FM F4_FILENAME,

declare another parameter,

data : myfile like IBIPPARMS-PATH.

3. pass this in the FM.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

FIELD_NAME = 'P_FILE '

IMPORTING

FILE_NAME = MYFILE.

4. then in start-of-selection,

just do this,

P_FILE = MYFILE.

regards,

amit m.

Read only

Former Member
0 Likes
808

Hai Chandra Babu

<b>PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.</b>

P_File should be String Type for GUI_DOWNLOAD F.M

Try to change and Execute it.

Thanks & regards

Sreenivasulu P

Read only

Former Member
0 Likes
808

Before FM GUI_DOWNLOAD.

DATA: l_ofile1 TYPE string.

CLEAR: l_ofile1.

l_ofile1 = p_file.

pass l_ofile1 as filename to your FM GUI_DOWNLOAD

Message was edited by: mukesh kumar

Read only

Former Member
0 Likes
808

Hi,

The problem is that GUI_DOWNLOAD takes file name as string.

So you can do it like that

DATA : v_presentation_path TYPE string.

PARAMETERS: pre_path TYPE rlgrap-filename .

CALL FUNCTION 'F4_FILENAME'

EXPORTING

program_name = syst-cprog

  • DYNPRO_NUMBER = SYST-DYNNR

  • FIELD_NAME = ' '

IMPORTING

file_name = v_tmp_file.

IF v_tmp_file IS NOT INITIAL.

pre_path = v_tmp_file.

MOVE pre_path TO v_presentation_path.

ELSE.

MESSAGE e071(zs) .

ENDIF.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

filename = v_presentation_path

filetype = 'ASC'

TABLES

data_tab = i_presentation_data

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 NE 0.

MESSAGE i080(zs).

ENDIF.

This will surely work

Reward points if find helpful.

Sumit

Read only

Former Member
0 Likes
808

hi friends,

now it is working perfectly. thanks to every one.

chandu

Read only

Former Member
0 Likes
808

Hi,

Do this




PARAMETERS       : p_sumfl TYPE char255.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_sumfl.
*-File Path For Summary Report
  PERFORM f2000_filepath_f4 USING lc_s
                         CHANGING p_sumfl.


*-------Form
FORM f2000_filepath_f4  USING xv_indicator TYPE char1
                     CHANGING xyv_filepath TYPE char255.

*---------------Popup for file name---------------------*
  CONSTANTS :
         lc_dft_ext    TYPE string VALUE 'XLS',
         lc_file_flt   TYPE string VALUE '*.xls',
         lc_int_drc    TYPE string VALUE 'C:'.

  DATA : lv_win_title  TYPE string,
         lv_file_name  TYPE string,
         lv_dft_fname  TYPE string,
         lv_fname      TYPE string,
         lv_path       TYPE string.

  CLEAR: lv_fname,
         lv_path,
         lv_file_name,
         lv_win_title,
         lv_dft_fname.

*---------------Set File Details F4 Based on Report Type--------------*
  IF xv_indicator = lc_s.
    lv_win_title = text-045.
    lv_dft_fname = text-038.
  ELSE.
    lv_win_title = text-044.
    lv_dft_fname = text-033.
  ENDIF.


  CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
      window_title         = lv_win_title
      default_extension    = lc_dft_ext
      default_file_name    = lv_dft_fname
      file_filter          = lc_file_flt
      initial_directory    = lc_int_drc
      prompt_on_overwrite  = lc_true
    CHANGING
      filename             = lv_fname
      path                 = lv_path
      fullpath             = lv_file_name
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      not_supported_by_gui = 3
      OTHERS               = 4.

  IF sy-subrc <> 0 OR lv_fname     IS INITIAL
                   OR lv_path      IS INITIAL
                   OR lv_file_name IS INITIAL.

    CLEAR xyv_filepath.

  ELSE.
*---FilePath
    xyv_filepath = lv_file_name.
  ENDIF.


ENDFORM.                    " f2000_filepath_f4



*--------Gui Download

  PERFORM f9000_save_detail_report TABLES lit_det_report
                                    USING p_sumfl
                                          p_detfl.


*--------Form------------------------------------------*
FORM f9000_save_detail_report
                       TABLES xt_det_report  STRUCTURE ls_det_report
                        USING xv_sum_fp      TYPE      char255
                              xv_det_fp      TYPE      char255.


*---Load Header Data of Detail Report
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      filename                = lv_file_name
      filetype                = lc_file_type
      write_field_separator   = lc_true
      codepage                = '4103'
    TABLES
      data_tab                = lit_head_det
    EXCEPTIONS
      file_write_error        = 1
      no_batch                = 2
      gui_refuse_filetransfer = 3
      invalid_type            = 4
      no_authority            = 5




Read only

Former Member
0 Likes
808

GUI_DOWNLOAD function module expects FILENAME of type STRING. so declare another variable of type string & pass P_FILE Value to that variable.

and also populate 'X' to HAS_FIELD_SEPERATOR field in the function module.

regards

srikanth

Message was edited by: Srikanth Kidambi