¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como corrigir o erro ERROR_INFO ao analisar um fluxo XML ao enviar uma tabela para o sistema backend através de um serviço oData

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

Olá,

Tenho que passar uma tabela para o sistema backend usando o serviço oData, mas toda vez que tento executar o serviço, ele me lança um erro dizendo: ERROR_INFO Erro ao analisar um fluxo XML.

Onde errei???

ONAPPROVESET_CREATE_ENTITY

TYPES: BEGIN OF ts_req,
             request_no  TYPE /aag362/sd_apdet-request_no,
             customerid  TYPE /aag362/sd_spreq-customer_code,
             consigneeid TYPE /aag362/sd_spreq-consignee_code,
             material    TYPE /aag362/sd_spreq-material_code,
             item_no     TYPE /aag362/sd_apdet-item_no,
             approver    TYPE /aag362/sd_spreq-requestor,
             rejected    TYPE /aag362/sd_apdet-rejected,
           END OF ts_req.

    DATA: ls_req      TYPE ts_req,
          wa_req      TYPE ts_req,
          ls_entity   LIKE er_entity,
          lt_return   TYPE TABLE OF bapiret2.

    DATA lo_logger TYPE REF TO /iwbep/cl_cos_logger.
    DATA lv_text TYPE /iwbep/sup_msg_longtext.
    DATA: lt_req_det TYPE TABLE OF ts_req.
    DATA: g_ref TYPE REF TO /aag362/cl_sd_spa.
    CREATE OBJECT g_ref.

    TRY.
        CALL METHOD io_data_provider->read_entry_data
          IMPORTING
            es_data = lt_req_det.
      CATCH /iwbep/cx_mgw_tech_exception .
    ENDTRY.

    IF lt_req_det IS NOT INITIAL.
      READ TABLE lt_req_det INTO wa_req INDEX 1.
      CALL METHOD g_ref->on_approval
        EXPORTING
          im_reqno       = wa_req-request_no
          im_customer    = wa_req-customerid
          im_req_details = lt_req_det
*        IMPORTING
*         ex_status      =
        .
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

Obrigado por responder à minha pergunta.

Implementei esse método e para testá-lo, coloquei um depurador externo nele.

Mas quando é chamado a partir da aplicação Fiori, o programa não atinge o ponto de interrupção.

Recebo esse erro do analisador XML antes de chegar a esse ponto.

Saudações,

Siddharth

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Você precisará implementar o método

/IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_DEEP_ENTITY

para recuperar dados:

    TRY.
        io_data_provider->read_entry_data(
          IMPORTING
            es_data                      = ls_gw_request
        ).
      CATCH /iwbep/cx_mgw_tech_exception.    "
    ENDTRY.

ls_gw_request contém seus dados

Saudações,

Vincent

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

oi,

Acho que sua estrutura não está preenchida corretamente.

É assim que eu fiz:

var oZiekteDatums = [];
for (var i = 0; i < oSelectedDates.length; i++) {
var oDate = new Date(oSelectedDates[i].getStartDate());
oZiekteDatums.push({
Personeelsnummer: sPersoneelsnummer,
Ziektedatum: this._changeDateToUTC(oDate),
Action: "C" // Create
});
}
// Request content
// ---------------
var oSendData = {
"Personeelsnummer": sPersoneelsnummer,
"ZiekteDatumSet": oZiekteDatums
};

"ZiekteDatumSet" é uma associação de "ZiekteRegsitratie" no meu caso:

No seu caso, eu deveria fazer o mesmo:

Crie uma entidade "requestDataSet" e uma associação "requestDataItemsSet".

então faça isso:

preencha sua estrutura profunda que é um array:

aRequestDataItem.push( 
{requestNumber: "123",
customerId: "456",
itemNumber: "789",
rejectedItems: "XXX"
}

aRequestDataItem.push( 
{requestNumber: "789",
customerId: "741",
itemNumber: "852",
rejectedItems: "XYZ"
}

preencha sua carga:

var oRequestDataSet = {
"key": aKey,
"requestDataItemsSet" : aRequestDataItem 
};

"requestDataItemSet" é o nome da sua associação!

Chame seu serviço:

oModel.create("/onApproveSet", oRequestDataSet, {success:
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?