05-04-2006 8:06 AM
Hi All,
I've two files[txt] having data's [flat file]. I've to compare these 2 files files 'n' check both the files data's are same or not.
Kindly let me know how to compare, is there any standard function is available.....
Thanks
Tina
05-04-2006 8:16 AM
Hi,
REPORT ZTEST message-id zz .
data: itab1 type table of vbak,
itab2 type table of vbak.
data: p_file1 type string,
p_file2 type string.
p_file1 = 'C:test.txt'.
p_file2 = 'C:test1.txt'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = P_file1
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = itab1
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.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = P_file2
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = itab2
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.
if itab1[] <> itab2[].
message i000 with 'They are not same'.
endif.
Regards
vijay
05-04-2006 8:11 AM
Hi tina,
1. first upload both files data
in two internal tables (say itab, ptab)
of same type.
eg: data :
begin of itab occurs 0,
f(500) type c,
end of itab.
2. then just compare like this.
<b> if itab[] = ptab[]</b>
regards,
amit m.
05-04-2006 8:16 AM
Hi Tina,
Upload data from both the files into internal tables and then use function module COMPARE_TABLES.
Hope this helps.
Thanks
Lakshman
05-04-2006 8:18 AM
05-04-2006 8:16 AM
Hi,
REPORT ZTEST message-id zz .
data: itab1 type table of vbak,
itab2 type table of vbak.
data: p_file1 type string,
p_file2 type string.
p_file1 = 'C:test.txt'.
p_file2 = 'C:test1.txt'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = P_file1
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = itab1
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.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = P_file2
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = itab2
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.
if itab1[] <> itab2[].
message i000 with 'They are not same'.
endif.
Regards
vijay
05-04-2006 8:20 AM
HI
GOOD
IF YOU WANT TO CHECK THE DATA BETWEEN TWO FILES THAN YOU HAVE COMPARE BETWEEN TWO FILES WHICH WILL RETRUN WHEATHER BOTH THE FILES ARE SAME OR DIFFERENT.
THANKS
MRUTYUN