Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
portuguese
Composition Setup
import.css=/download/attachments/327912/newLayout.css

 

Pagetitle
For Each
For Each

For Each

A finalidade desse componente é permitir que um documento XML seja dividido em várias unidades de envio. Um pré requisito do componente for-each é que a mensagem de entrada esteja no formato XML. A partir de um componente For Each existem duas possibilidades: enviar a informação para algum componente sender (file, email, ftp, etc), ou realizar a identificação e análise do conteúdo para que sejam tomadas algumas decisões.

 

CampoDescrição
NameInserir uma identificação para a configuração do componente.
Node PathEspecificar qual será o nível de divisão de um documento. Assim, a cada iteração do For Each, o sistema será enviado para o próximo componente que estiver no intervalo definido neste campo. Este caminho deve ser informado no formato XPath.
Ex.: /root/nodes/node.

A critério de exemplo, suponhamos que a mensagem de entrada do componente For Each seja conforme o XML abaixo apresentando um lote com duas notas fiscais.

<?xml version="1.0"?>
<ESBMessage>
  <MessageHeader>
    <DocType>Nota Fiscal</DocType>
  <DocVersion>Nota Fiscal</DocVersion>
  </MessageHeader>
  <infNFe>
    <NFSer>009</NFSer>
  <NFNum>0001</NFNum>
  <NFUF>SC</NFUF>
  <NFEmi>9999-12-31</NFEmi>
  <NFTip>0001</NFTip>
  <NFTot>9.999,99</NFTot>
  </infNFe>
  <infNFe>
    <NFSer>009</NFSer>
  <NFNum>0002</NFNum>
  <NFUF>SC</NFUF>
  <NFEmi>9999-12-31</NFEmi>
  <NFTip>0001</NFTip>
  <NFTot>9.999,99</NFTot>
  </infNFe>
</ESBMessage>

Ao configurar o campo Node Path com o valor ESBMessage/infNFe, o componente irá quebrar a mensagem original em duas mensagens de saída conforme abaixo.

<?xml version="1.0"?>
<infNFe>
  <NFSer>009</NFSer>
  <NFNum>0001</NFNum>
  <NFUF>SC</NFUF>
  <NFEmi>9999-12-31</NFEmi>
  <NFTip>0001</NFTip>
  <NFTot>9.999,99</NFTot>
</infNFe>
 
<?xml version="1.0"?>
<infNFe>
  <NFSer>009</NFSer>
  <NFNum>0002</NFNum>
  <NFUF>SC</NFUF>
  <NFEmi>9999-12-31</NFEmi>
  <NFTip>0001</NFTip>
  <NFTot>9.999,99</NFTot>
</infNFe>