Integração paixfilho

Pessoal, podem me ajudar a prosseguir nesse script de integração (fluig/Protheus)? Não sei como adiciono vários campos da tabela paiXfilho.

function servicetask22(attempt, message) {
     log.info("iniciando a integracao--->");
     var C_EMPRESA     = "01";
     var C_FILIAL    = "  ";
     var C_REPRES    = hAPI.getCardValue("A1_VEND");
         log.info("Representante: "+C_REPRES);
     var AG_CLIENTE    = hAPI.getCardValue("A1_COD");
         log.info("Cliente: "+AG_CLIENTE);
     var AG_CONDPAG        = hAPI.getCardValue("A1_COND");
        log.info("Cond. Pagamento: "+AG_CONDPAG);
     var AG_XDTENTD        = hAPI.getCardValue("vl_dtEntrega");
        log.info("Data de entrega desejada: "+AG_XDTENTD);        
     var AG_XMANTCP        = hAPI.getCardValue("cb_condicao");
        log.info("Manter condição de pagamento? "+AG_XMANTCP);        
     var AG_XCPDESE        = hAPI.getCardValue("nm_condDesejada");
        log.info("Condição desejadas: "+AG_XCPDESE);        
     var AG_XMSGENT        = hAPI.getCardValue("ds_entregas");
        log.info("Informações de descarga/entrega: "+AG_XMSGENT);        
     var AG_XMESMOL        = hAPI.getCardValue("cb_entrega");
        log.info("Mesmo local ent: "+AG_XMESMOL);        
     var AG_XCEPENT        = hAPI.getCardValue("vlCEP");
        log.info("CEP ENT: "+AG_XCEPENT);        
     var AG_XENDENT        = hAPI.getCardValue("nmEndereco");
        log.info("END ENTREGA: "+AG_XENDENT);
     var AG_XNUMENT        = hAPI.getCardValue("nrNum");
        log.info("NUM ENTREGA: "+AG_XNUMENT);        
     var AG_XMUNIC        = hAPI.getCardValue("nmMunicipio");
        log.info("Municio ent: "+AG_XMUNIC);
     var AG_XBAIRRO        = hAPI.getCardValue("nmBairro");
        log.info("Bairro ent: "+AG_XBAIRRO);
     var AG_XESTADO        = hAPI.getCardValue("nmEstado");
        log.info("Estado ent: "+AG_XESTADO);
     var AG_XPALETI        = hAPI.getCardValue("cb_palete");
        log.info("Carga paletizada?: "+AG_XPALETI);        
     var AG_XESPECI        = hAPI.getCardValue("cb_espec");
        log.info("Especificacao Propria?: "+AG_XESPECI);        
     var AG_XOUTOBS        = hAPI.getCardValue("ds_Informacoes");
        log.info("Informacoes relevantes: "+AG_XOUTOBS);
     var AG_XPFLUIG        = getValue('WKNumProces');//hAPI.getCardValue("A1_COD");
        log.info("Codigo fluig: "+AG_XPFLUIG);     
    var AG_XMSGCRE        = hAPI.getCardValue("ds_InfCredito");
        log.info("Obs Credito: "+AG_XMSGCRE);
     var AG_XMSGCOM        = hAPI.getCardValue("ds_InfComercial");
        log.info("Obs Comercial: "+AG_XMSGCOM);

     //Pegar codigo do servico(neste caso o WS)
     log.info("inserindo o pedido");
     var servico = "WSSC5";

     //Instanciar o servico
     log.info("Instanciar o servico");
     var instanceservice = ServiceManager.getServiceInstance(servico);
     log.info(instanceservice);
     //Instaciando o WSSC5
     log.info("Instaciando o WSSC5");
     var classesc5 = instanceservice.instantiate("br.com.lactosul.protheus._7999.WSSC5");
     log.info("objetowssc5");
     var  objetowssc5 = classesc5.getWSSC5SOAP();
     log.info(objetowssc5);
     /***/

     var processInstanceId = getValue('WKNumProces');
     // Retorna um mapa com os valores dos campos do formulário do processo
     var cardData = hAPI.getCardData(processInstanceId);
     // Pegar só as chaves do mapa, que seriam os nomes dos campos do formulário
     var cardFields = cardData.keySet().toArray();

    var fieldName = 'codProd___';
    var REGISTROS = instanceservice.instantiate("br.com.lactosul.protheus._7999.ARRAYOFACOLS"); //ACOLS

    for (var i = 0; i < cardFields.length; i++) {
       // Se o campo de formulário começar com o nome do seu campo pai x filho cria uma data de avaliação
       if (cardFields[i].startsWith(fieldName)) {
          log.info("PASSOU ANTES ACOLS-->");
          var ACOLS = instanceservice.instantiate("br.com.lactosul.protheus._7999.ACOLS");     //DATAAVL  
          log.info("PASSOU ACOLS-->");

          ACOLS.setAGPRODUTO(cardData.get(cardFields[i]));
          REGISTROS.ACOLS().add(ACOLS);
          log.info("PASSOU ACOLS DEPOIS-->");

          ACOLS.setAGQTDVEN(cardData.get(cardFields[i]));
          REGISTROS.ACOLS().add(ACOLS);

          ACOLS.setAGLOTECTL(cardData.get(cardFields[i]));
          REGISTROS.ACOLS().add(ACOLS);

          ACOLS.setAGPRCVEN(cardData.get(cardFields[i]));
          REGISTROS.ACOLS().add(ACOLS);
          log.info("ATÉ AQUI");     
       }

    }    

    var AG_LINHAS = instanceservice.instantiate("br.com.lactosul.protheus._7999.ITENS"); //DDTAVALIAZAO
    AG_LINHAS.setREGISTROS(REGISTROS);

    //Inclusao do pedido     
     var mensagemretorno = objetowssc5.updsc5(    C_EMPRESA,
                                                 C_FILIAL,
                                                 C_REPRES,
                                                 AG_CLIENTE,
                                                 AG_CONDPAG,
                                                 AG_XDTENTD,
                                                 AG_XMANTCP,
                                                 AG_XCPDESE,
                                                 AG_XMSGENT,
                                                 AG_XMESMOL,
                                                 AG_XCEPENT,
                                                 AG_XENDENT,
                                                 AG_XNUMENT,
                                                 AG_XMUNIC,
                                                 AG_XBAIRRO,
                                                 AG_XESTADO,
                                                 AG_XPALETI,
                                                 AG_XESPECI,
                                                 AG_XOUTOBS,
                                                 AG_XPFLUIG,
                                                 AG_XMSGCRE,
                                                 AG_XMSGCOM,
                                                 AG_LINHAS
                                                     );

     var aretorno     =  mensagemretorno.getLISTUPDSC5();
     var retorno     = aretorno.get(0);     
     var msgRet         = retorno.getAGMENRET();
     var updok         = retorno.getLSC5();
     var codBloqueio = retorno.getAGC9CODBLQ();
     var descCodBloq = retorno.getAGC9DESCBLQ();
     var codPedido     = retorno.getAGCODPEDIDO();

     if(updok == "T"){
         log.info("### OK ###");
         log.info(msgRet);    
         log.info(codBloqueio);    
         log.info(descCodBloq);    
         log.info(codPedido);    
     }else{
         log.info("ERRO RETORNO: " + msgRet);
         throw msgRet;
     }
}

Como está no SoapUI Soap.png

compartilhar
Anexos
  • Soap.png
    1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
    2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
    3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
    4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
    5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

    1 resposta

    Não é a resposta que estava procurando? Procure outras perguntas com as tags integracao paifilho ou faça a sua própria pergunta.