Sentencia FOR

La sentencia FOR repite una lista (por ejemplo, una matriz de mensajes).

Sintaxis

Para cada repetición, la sentencia FOR hace que la variable de correlación sea igual al miembro actual de la lista y, a continuación, ejecuta el bloque de sentencias. La ventaja de la sentencia FOR es que se repite en la lista sin tener que escribir ninguna clase de construcción de bucle (y elimina la posibilidad de bucles infinitos).

Por ejemplo, el ESQL siguiente:
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;
genera el mensaje de salida:
<Data>
 <ResultData>
  <MessageArrayTest>
   <Folder>
    <FieldA>Field11Value1</FieldA>
    <FieldB>Field12Value1</FieldB>
   </Folder>
   <Folder>
    <FieldA>Field21Value2</FieldA>
    <FieldB>Field22Value2</FieldB>
   </Folder>
  </MessageArrayTest>
 </ResultData>
</Data>

Conceptos relacionados
ESQL

Tareas relacionadas
Desarrollo de ESQL

Referencia relacionada
Preferencia de sintaxis
Sentencias ESQL