‎2008 Jun 11 4:55 PM
Hi friends, I am having problem while uploading data into table PTRV_KMSUM.
I was given the function module "TRIPS_WRITE_KMSUM" to load data into the table PTRV_KMSUM.
The basic requirement is to take the data from the excel sheet and populate the table PTRV_KMSUM.
The following is my code-----
REPORT ZHR_T_PTRV_KMSUM NO STANDARD PAGE HEADING LINE-SIZE 200.
DATA DECLARATION
TYPES: BEGIN OF TY_PTRV_KMSUM,
PERNR TYPE PERNR,
PERNA TYPE PERNA,
ZLAND TYPE LNDGR,
HRGIO TYPE HRGIO,
PKWKL TYPE PKWKL,
KZPMF TYPE KZPMF,
SIVGL TYPE SIVGL,
KMSUM TYPE KMKUM,
END OF TY_PTRV_KMSUM.
INTERNAL TABLE DECLARATION
DATA: IT_PTRV_KMSUM TYPE STANDARD TABLE OF TY_PTRV_KMSUM WITH HEADER LINE.
SPECIFY THE FILE LOCATION
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME." DEFAULT 'C:\Documents and Settings\reddyt.PSWSK3S046\Desktop\PT.txt'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_FILE.
POPULATE THE INTERNAL TABLE FROM THE EXCEL SHEET.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = P_FILE
FILETYPE = 'XLS'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
tables
data_tab = IT_PTRV_KMSUM
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.
NOW LOAD INTO THE TABLE PTRV_KMSUM FROM THE INTERNAL TABLE
CALL FUNCTION 'TRIPS_WRITE_KMSUM'
TABLES
kmsum = IT_PTRV_KMSUM
EXCEPTIONS
MODIFY_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
The following is the error message I am getting-------
" In the function "TRIPS_WRITE_KMSUM", the STRUCTURE parameter "KMSUM" is typed in such a way that only actual parameters are allowed, which are compatible in Unicode with respect to the fragment view. However, the specified actual parameter " IT_PTRV_KMSUM " has an incompatible fragment view."
Any inputs are welcome.
regards,
Hari Kiran
‎2008 Jun 11 5:02 PM
‎2008 Jun 11 5:02 PM
‎2008 Jun 11 5:07 PM
Syed,
please copy and paste it here.
Because, when I am opening it. It's opening up some other thread.
It has been happening since morning for me at SDN.
I don't know where the problem is.
Thanks for replying..
Regards,
Hari Kiran
‎2008 Jun 11 5:30 PM
‎2008 Jun 12 5:16 AM
How do you upload data into SAP Satandard Table ? or have you made a copy (y or Z) of the PTRV_KMSUM ?
‎2008 Jun 12 5:21 AM
Hi Hari,
You need to pass P_File into a variable type string.
then pass this into the GUI_UPLOAD.
Data: V_file type string.
Move p_file to v_file.
then pass v_file into the fm.
Regards,
Jagadish
‎2008 Jun 12 9:37 AM
Hi Jagadish.
The problem has been solved. I was able to load data into PTRV_KMSUM.
I had to make 3 changes-----
1.first one was this------
DATA: it_kmsum TYPE STANDARD TABLE OF PTRV_KMSUM WITH HEADER LINE.
2. Second one was to add the field MANDT in the flat file.
I used notepad, not excel.
3. Third change was what was suggested by you jagadish.
Please go throught the code and you will be able to see the changes......
REPORT zhr_t_ptrv_kmsum NO STANDARD PAGE HEADING LINE-SIZE 200.
**************************************************
INTERNAL TABLE DECLARATION *
**************************************************
DATA: it_kmsum TYPE STANDARD TABLE OF PTRV_KMSUM WITH HEADER LINE.
***************************************************
SPECIFY THE FILE LOCATION *
***************************************************
PARAMETERS: p_file TYPE rlgrap-filename. " DEFAULT 'C:\Documents and Settings\reddyt.PSWSK3S046\Desktop\R.txt'.
Data: V_file type string. " As suggested by Jagadish
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
file_name = p_file.
Move p_file to v_file. " As suggested by Jagadish
***************************************************
*POPULATE THE INTERNAL TABLE FROM THE EXCEL SHEET *
***************************************************
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_file
filetype = 'DAT'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = it_kmsum
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.
************************************************************
NOW LOAD INTO THE TABLE PTRV_KMSUM FROM THE INTERNAL TABLE
************************************************************
CALL FUNCTION 'TRIPS_WRITE_KMSUM'
TABLES
kmsum = it_kmsum
EXCEPTIONS
MODIFY_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
Thank you all for the help. To the question did I create any Ztable similar to SAP table ? NO.
The third function module does that for me. It loads into the table PTRV_KMSUM.
Jagadish, Thanks for making my day.
Warm regards,
Hari Kiran