Таблицы, возвращенные при выполнении RFC с поддержкой удаленного доступа, не заполнялись строками. Нет, ошибки были обнаружены в журнале отладки через журнал трассировки JCo.
INFO 2019-10-23 16:43:07,092 [JCoServerThread-1] [event: ] org.mule.modules.sap.extension.internal.source.server.SapJCoServer: Flow response is <?xml version='1.0' encoding='UTF-8'?>
<ZHPA_GET_ALL_SIS_TERMS>
<tables>
<TERMS>
<row>
<TERMCODE>FS18</TERMCODE>
<LEGACYTERMCODE>FS10</LEGACYTERMCODE>
<STARTDATE>01012019</STARTDATE>
</row>
</TERMS>
</tables>
</ZHPA_GET_ALL_SIS_TERMS>
Создан простой RFC с поддержкой удаленного доступа SAP, который возвращает таблицу в SAP. Затем я создал соответствующий текстовый код «Я ВЕРИМ, ЧТОБЫ БЫТЬ», который сопоставляется с этим RFC (см. Ниже)
%dw 2.0
output application/xml
---
{
ZHPA_GET_ALL_SIS_TERMS: {
tables: {
TERMS: {
row: {
TERMCODE: "FS18",
LEGACYTERMCODE: "FS10",
STARTDATE: "01012019"
}
}
}
}
}
*&---------------------------------------------------------------------*
*& Report Z_TEST_JCO_MULE_TERMS
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_TEST_JCO_MULE_TERMS.
DATA: rfc_destination LIKE rfcdes-rfcdest VALUE 'NONE',
lv_uri TYPE string,
lv_p1 TYPE char10,
lv_p2 TYPE ZSIS_TERM,
lv_payload TYPE string.
DATA: mytable type STANDARD TABLE OF ZSIS_TERM.
* Set the RFC destination name. It corresponds to the destination
* defined in SM59.
rfc_destination = 'MULE_TST_JCOSRV'.
* Call the FM remotely and hand the data (iv_uri), but
* also retrieve the result (ev_response_payload).
* mytable
CALL FUNCTION 'ZHPA_GET_ALL_SIS_TERMS'
DESTINATION rfc_destination
TABLES
TERMS = mytable.
write 'END'.
Я ожидал, что возвращенная таблица из RFC будет содержать одну строку с указанными полямизаполнено контентом.