2009 Jun 16 10:52 AM
Using RFC_READ_TABLE, I am trying to populate a table in APO from a similar table in ECC.
I am geeting the data from BAPI in TA_DATA internal table which has data type TAB512. To post the data into APO table, I am trying to pass TA_DATA into TA_SCRAP( having same str as of table). Table has two decimal fields and program is giving error " WA_DATA and WA_SCRAP are not mutually convertible. Here is the sample code: Please suggest.
DATA: TA_DATA TYPE STANDARD TABLE OF TAB512 with header line,
TA_SCRAP TYPE STANDARD TABLE OF ZTB_SCRAP_XREF,
TA_FIELDS TYPE STANDARD TABLE OF RFC_DB_FLD with header line,
TA_OPTIONS TYPE STANDARD TABLE OF RFC_DB_OPT with header line,
WA_FIELDS LIKE LINE OF TA_FIELDS,
WA_DATA LIKE LINE OF TA_DATA,
WA_SCRAP LIKE LINE OF TA_SCRAP,
WA_LGSYS TYPE TVARV_VAL.
***Get the logical System Name from TVARVC table *****
SELECT LOW FROM TVARVC INTO WA_LGSYS Where Name = 'Z_ECC_LOG_SYS' and Type = 'P'. ENDSELECT.
IF SY-SUBRC NE 0.
Write:' Logical System Name Not avaliable'.
EXIT.
WA_LGSYS = 'SE1CLNT100'.
ENDIF.
*******Trigger BAPI to get data from ECC********
CALL FUNCTION 'RFC_READ_TABLE' DESTINATION WA_LGSYS
EXPORTING
QUERY_TABLE = 'ZTB_SCRAP_XREF'
DELIMITER = '|'
NO_DATA = ' '
ROWSKIPS = 0
ROWCOUNT = 10
TABLES
OPTIONS = TA_OPTIONS
FIELDS = TA_FIELDS
DATA = TA_DATA
EXCEPTIONS
TABLE_NOT_AVAILABLE = 1
TABLE_WITHOUT_DATA = 2
OPTION_NOT_VALID = 3
FIELD_NOT_VALID = 4
NOT_AUTHORIZED = 5
DATA_BUFFER_EXCEEDED = 6
OTHERS = 7
.
BREAK-POINT.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
Write: 'RFC Read Error'.
ENDIF.
LOOP AT TA_DATA INTO WA_DATA.
WA_SCRAP = WA_DATA.
WRITE:WA_SCRAP.
APPEND WA_STRING TO TA_SCRAP.
ENDLOOP.
Using RFC_READ_TABLE, I am trying to populate a table in APO from a similar table in ECC.
I am geeting the data from BAPI in TA_DATA internal table which has data type TAB512. To post the data into APO table, I am trying to pass TA_DATA into TA_SCRAP( having same str as of table). Table has two decimal fields and program is giving error " WA_DATA and WA_SCRAP are not mutually convertible. Here is the sample code: Please suggest.
DATA: TA_DATA TYPE STANDARD TABLE OF TAB512 with header line,
TA_SCRAP TYPE STANDARD TABLE OF ZTB_SCRAP_XREF,
TA_FIELDS TYPE STANDARD TABLE OF RFC_DB_FLD with header line,
TA_OPTIONS TYPE STANDARD TABLE OF RFC_DB_OPT with header line,
WA_FIELDS LIKE LINE OF TA_FIELDS,
WA_DATA LIKE LINE OF TA_DATA,
WA_SCRAP LIKE LINE OF TA_SCRAP,
WA_LGSYS TYPE TVARV_VAL.
***Get the logical System Name from TVARVC table *****
SELECT LOW FROM TVARVC INTO WA_LGSYS Where Name = 'Z_ECC_LOG_SYS' and Type = 'P'. ENDSELECT.
IF SY-SUBRC NE 0.
Write:' Logical System Name Not avaliable'.
EXIT.
WA_LGSYS = 'SE1CLNT100'.
ENDIF.
*******Trigger BAPI to get data from ECC********
CALL FUNCTION 'RFC_READ_TABLE' DESTINATION WA_LGSYS
EXPORTING
QUERY_TABLE = 'ZTB_SCRAP_XREF'
DELIMITER = '|'
NO_DATA = ' '
ROWSKIPS = 0
ROWCOUNT = 10
TABLES
OPTIONS = TA_OPTIONS
FIELDS = TA_FIELDS
DATA = TA_DATA
EXCEPTIONS
TABLE_NOT_AVAILABLE = 1
TABLE_WITHOUT_DATA = 2
OPTION_NOT_VALID = 3
FIELD_NOT_VALID = 4
NOT_AUTHORIZED = 5
DATA_BUFFER_EXCEEDED = 6
OTHERS = 7
.
BREAK-POINT.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
Write: 'RFC Read Error'.
ENDIF.
LOOP AT TA_DATA INTO WA_DATA.
WA_SCRAP = WA_DATA.
WRITE:WA_SCRAP.
APPEND WA_STRING TO TA_SCRAP.
ENDLOOP.
2009 Jun 16 1:56 PM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |