Case - 1:
Error : Upload/Ws_Upload and Download/Ws_Download are obsolete, since they are not Unicode-enabled; use the class cl_gui_frontend_services
Cause : From Version ECC6.0 (Unicode complaint environment), the Function Mod-ules UPLOAD / WS_UPLOAD / DOWNLOAD / WS_DOWNLOAD has become obso-lete. In replacement of these Function Modules, we have GUI_UPLOAD / GUI_DOWNLOAD.
Solution: All the UPLOAD / WS_UPLOAD function modules need to be replaced with GUI_UPLOAD FM and all the DOWNLOAD / WS_DOWNLOAD with the GUI_DOWNLOAD function modules.
For replacing WS_UPLOAD :
1
*\ call function 'WS_UPLOAD'
*\ exporting
*\ filename = p_filel
*\ filetype = 'DAT' "'ASC' "'DAT'
*\ tables
*\ data_tab = record
*\ exceptions
*\ conversion_error = 1
*\ file_open_error = 2
*\ file_read_error = 3
*\ invalid_type = 4
*\ no_batch = 5
*\ unknown_error = 6
*\ invalid_table_width = 7
*\ gui_refuse_filetransfer = 8
*\ customer_error = 9
*\ others = 10.
DATA : L_P_FILEL TYPE STRING.
Clear: L_P_FILEL.
L_P_FILEL = P_FILEL.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = L_P_FILEL
FILETYPE = 'ASC'
TABLES
DATA_TAB = RECORD
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Clear: L_P_FILEL.
*} REPLACE
Note - 1 : The parameter FILENAME in GUI_UPLOAD is of type STRING for version ECC6.0. In 4.6C version (Non Unicode complaint environment), for the above code, ex-port parameter filename in UPLOAD / WS_UPLOAD was of data type “Character”. This need to be taken care of otherwise if an Extended Syntax Check is performed using the transaction SLIN, there would bet a Call Function Interface Error because of this. So to avoid that, one needs to declare a variable L_P_FILEL of type STRING and assign-ing that to the Parameter FILENAME. Also it’s better to have file type ‘ASC’.
For replacing WS_DOWNLOAD:
*{ REPLACE RE2K900049 1
*\ CALL FUNCTION 'WS_DOWNLOAD'
*\ EXPORTING
*\ FILENAME = W_FILENAME
*\ FILETYPE = 'ASC'
*\ TABLES
*\ DATA_TAB = TAB_PC2
*\ 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.
*\
** Begin of Changes - 46C To ECC6 - IN9AGARWAL
DATA : L_W_FILENAME TYPE STRING.
Clear: L_W_FILENAME.
L_W_FILENAME = W_FILENAME.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = L_W_FILENAME
FILETYPE = 'ASC'
TABLES
DATA_TAB = TAB_PC2
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.
For replacing UPLOAD :
PARAMETERS: I_NFILE LIKE RLGRAP-FILENAME DEFAULT
'c:\fi\docgen.prn'.
Note : Please make sure that default location is given if its not then dont use default file-name parameter in your Function module.
1
*\ CALL FUNCTION 'UPLOAD'
*\ EXPORTING
*\ FILENAME = I_NFILE "NOME FILE
*\ FILETYPE = 'ASC'
*\ TABLES
*\ DATA_TAB = FILIN
*\ EXCEPTIONS
*\ CONVERSION_ERROR = 1
*\ INVALID_TABLE_WIDTH = 2
*\ INVALID_TYPE = 3
*\ NO_BATCH = 4
*\ UNKNOWN_ERROR = 5
*\ OTHERS = 6.
*\
So we will be using the method ` GUI_UPLOAD` of the class `CL_GUI_FRONTEND_SERVICES`. Now in 4.6, while using FM UPLOAD, a pop-up used to appear, prompting you to get/locate the path of the file. To get the same function-ality in GUI_UPLOAD use code as below-
data: ft type filetable,
rc type i,
l_i_nfile type string,
l_i_nfile_temp type string.
data: l_ft type line of filetable.
clear: l_i_nfile_temp, rc, l_ft, l_i_nfile.
refresh: ft.
l_i_nfile_temp = i_nfile.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'File open'
DEFAULT_FILENAME = l_i_nfile_temp
CHANGING
FILE_TABLE = ft
RC = rc
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3
NOT_SUPPORTED_BY_GUI = 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.
read table ft into l_ft index 1.
l_i_nfile = l_ft-filename.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = l_i_nfile
FILETYPE = 'ASC'
TABLES
DATA_TAB = FILIN
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
clear: l_i_nfile_temp, rc, l_ft, l_i_nfile.
refresh: ft.
For replacing DOWNLOAD :
DOWNLOAD is obsolete function module for storing SAP data in a file in the file sys-tem of the presentation server.
EXAMPLE :
PARAMETERS: PC_FILE LIKE RLGRAP-FILENAME DEFAULT
'c:\test.txt' modif id LOC.
* CALL FUNCTION 'DOWNLOAD'
* EXPORTING
* FILENAME = PC_FILE
* FILETYPE = 'DAT'
* IMPORTING
* FILESIZE = W_FSIZE
* ACT_FILENAME = W_FNAME
* ACT_FILETYPE = W_FTYPE
* TABLES
* DATA_TAB = TAB
* EXCEPTIONS
* CONVERSION_ERROR = 1
* INVALID_TABLE_WIDTH = 2
* INVALID_TYPE = 3
* NO_BATCH = 4
* UNKNOWN_ERROR = 5
* OTHERS = 6.
So we will be using the method `GUI_DOWNLOAD` of the class `CL_GUI_FRONTEND_SERVICES`. Now in 4.6, while using FM DOWNLOAD, a pop-up used to appear, prompting you to to put the path to save the file. To get the same functionality in GUI_DOWNLOAD use code as below-
data: l_filename type string,
l_path type string,
l_fullpath type string,
l_filename_temp type string.
** End of Changes - 46C To ECC6 - IN9AGARWAL
** Begin of Changes - 46C To ECC6 - IN9AGARWAL
Clear: l_filename, l_path, l_fullpath, l_filename_temp.
l_filename_temp = PC_FILE.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
EXPORTING
WINDOW_TITLE = 'File save'
DEFAULT_FILE_NAME = l_filename_temp
CHANGING
FILENAME = l_filename
PATH = l_path
FULLPATH = l_fullpath
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
others = 4.
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 = l_filename
FILETYPE = 'ASC'
TABLES
DATA_TAB = tab
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.
ABAP,ABAP report,Interactive Report,ALV grid,ALV list,IDOC,User Exit,RFC,Smartform,sapscript,ABAP Performance,Remote Function Module( RFC ),Function Module,Modularization techniques,ABAP tools,ALV report Generator,ABAP Interview Questions,BDC,BAPI,ALE,BADI, EDI,InternalTable,DataStructure,LSMW,Domain,DataElement,Basis and Administration ,ABAP HR development,ABAP Debugger,BW,ExceptionHandling,Download FI, CO, MM, PP, SD, PM, PS, QM, SM, HR, BW, APO,ABAP Tutorial
Friday, April 30, 2010
Some of the Common Errors in UCCHECK and their resolution
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment