Sentencia FOR

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

SINTAXIS

Para cada repetición, la sentencia FOR hace que la variable de correlación (nombre_correlación en el diagrama de sintaxis) sea igual al miembro actual de la lista (referencia_campo) y luego ejecuta el bloque de sentencias. La ventaja de la sentencia FOR es que se repite por una lista sin tener que escribir ningún tipo de construcción en bucle (y elimina la posibilidad de bucles infinitos).

Por ejemplo, el ESQL siguiente: Inicio del cambio
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.XMLNSC.Data.ResultData.MessageArrayTest.Folder[i] 
            NAME 'FieldA' VALUE '\' || source.Field1 || '\' || CAST(i AS CHAR);

     CREATE LASTCHILD OF OutputRoot.XMLNSC.Data.ResultData.MessageArrayTest.Folder[i] 
            NAME 'FieldB' VALUE '\' || source.Field2 || '\' || CAST(i AS CHAR);
     SET i = i + 1;
END FOR;
Fin del cambio genera el mensaje de salida: Inicio del cambio
<Data>
 <ResultData>
  <MessageArrayTest>
   <Folder>
    <FieldA>Field11Value\1</FieldA>
    <FieldB>Field12Value\1</FieldB>
   </Folder>
   <Folder>
    <FieldA>Field21Value\2</FieldA>
    <FieldB>Field22Value\2</FieldB>
   </Folder>
  </MessageArrayTest>
 </ResultData>
</Data>
Fin del cambio
Conceptos relacionados
Visión general de ESQL
Tareas relacionadas
Desarrollo de ESQL
Referencia relacionada
Diagramas de sintaxis: tipos disponibles
Sentencias ESQL
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:55:30

ak05030_