Instrução FOR

A instrução FOR repete-se através de uma lista (por exemplo, uma matriz de mensagem).

SINTAXE

Para cada iteração, a instrução FOR torna a variável de correlação (correlation_name no diagrama de sintaxe) igual ao membro atual da lista (field_reference) e, em seguida, executa o bloco de instruções. A vantagem da instrução FOR é que ela se repete através de uma lista sem precisar gravar nenhum tipo de construção em loop (e elimina a possibilidade de ciclos infinitos).

Por exemplo, o seguinte ESQL:
SET OutputRoot.MQMD=InputRoot.MQMD;

SET Environment.SourceData.Folder[1].Field1 = 'Field11Value';
SET Environment.SourceData.Folder[1].Field2 = 'Field12Value';
SET Environment.SourceData.Folder[2].Field1 = 'Field21Value';
SET Environment.SourceData.Folder[2].Field2 = 'Field22Value';

DECLARE i INTEGER 1;
FOR source AS Environment.SourceData.Folder[] DO
     CREATE LASTCHILD OF OutputRoot.XML.Data.ResultData.MessageArrayTest.Folder[i] 
            NAME 'FieldA' VALUE '\' || source.Field1 || '\' || CAST(i
AS CHAR);

     CREATE LASTCHILD OF OutputRoot.XML.Data.ResultData.MessageArrayTest.Folder[i] 
            NAME 'FieldB' VALUE '\' || source.Field2 || '\' || CAST(i
AS CHAR);
       SET i = i + 1;
END FOR;
gera a mensagem de saída:
<Dados>
  <ResultData>
    <MessageArrayTest>
      <Folder>
        <FieldA>Field11Value1</FieldA>
        <FieldB>Field12Value1</FieldB>
      </Folder>
      <Folder>
        <FieldA>Field21Value2</FieldA>
        <FieldB>Field22Value2</FieldB>
      </Folder>
    </MessageArrayTest>
  </ResultData>
</Data>
Conceitos relacionados
Visão Geral do ESQL
Tarefas relacionadas
Desenvolvendo ESQL
Referências relacionadas
Diagramas de Sintaxe: Tipos Disponíveis
instruções ESQL
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ak05030_