Precisei chamar, no sistema A, a função CBIH_WA30_WA_CREATE com os dados disponíveis no sistema B via RFC.
Por padrão esta função não é RFC e ao copiá-la e marcar como RFC recebi a seguinte mensagem:
NO RFC SÓ SÃO PERMITIDAS TABELAS COM ESTRUTURAS SIMPLES DE LINHAS
"Only tables with simple line structure are allowed in RFC"
A solução para o problema foi usar o simple transformation.
Solução:
Na RFC, criar um parâmetro IMPORTING ou EXPORTING passando um XML (STRING) quer será transformado pelo CALL TRANSFORMATION
Código
na RFC
CALL TRANSFORMATION zqmst_cihwa_wa_api_tab_type
SOURCE cihwa_wa_api_tab_type = lit_x_api_wka_tab RESULT XML e_xml_api_wka_tab. |
Código
no programa que chamou a RFC
CALL
TRANSFORMATION zqmst_cihwa_wa_api_tab_type
SOURCE
XML g_workarea
RESULT cihwa_wa_api_tab_type
= t_workarea.
|
O
TRANSFORMATION será do tipo ST
Como criar o root com a estrutura complexa
No
WIZARD, utilizar um ROOT do mesmo tipo da tabela que é passada no
tables da function original. No exemplo acima, utilizar o
CIHWA_WA_API_TAB_TYPE.
Clicar com o botão direito abaixo do ROOT > Insert new root e colar a estrutura CIHWA_WA_API_TAB_TYPE
Depois
é preciso arrastar o root criado no painel da esquerda, soltar no painel da direita e
ativar.
Nenhum comentário:
Postar um comentário