Versão atual:

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

Versão (1):

Ver a versão formatada

Integração paixfilho

Comentário

new question