У кого-нибудь есть пример использования SAP Connector 4.3.6 (источник функций) и возврата таблицы в SAP RFC из Mule 4? - PullRequest
0 голосов
/ 23 октября 2019

Таблицы, возвращенные при выполнении 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 будет содержать одну строку с указанными полямизаполнено контентом.

...