Istruzione FOR

L'istruzione FOR esegue un'iterazione attraverso un elenco (ad esempio, un array di messaggi).

SINTASSI

Per ciascuna iterazione, l'istruzione FOR rende la variabile di correlazione (correlation_name nel diagramma di sintassi) uguale al membro corrente dell'elenco (field_reference) e quindi esegue il blocco di istruzioni. Il vantaggio dell'istruzione FOR è che viene eseguita un'iterazione attraverso un elenco senza che sia necessario scrivere un loop (ed elimina la possibilità di loop infiniti).

Ad esempio, il seguente codice 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;
genera il messaggio di output:
<Data>
 <ResultData>
  <MessageArrayTest>
   <Folder>
    <FieldA>Field11Value1</FieldA>
    <FieldB>Field12Value1</FieldB>
   </Folder>
   <Folder>
    <FieldA>Field21Value2</FieldA>
    <FieldB>Field22Value2</FieldB>
   </Folder>
  </MessageArrayTest>
 </ResultData>
</Data>
Concetti correlati
Panoramica di ESQL
Attività correlate
Sviluppo di ESQL
Riferimenti correlati
Diagrammi di sintassi: tipi disponibili
Istruzioni ESQL
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ak05030_