A instrução FOR repete-se através de uma lista (por exemplo, uma matriz de mensagem).
Para cada repetição, a instrução FOR torna a variável de correlação igual ao membro atual da lista e 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).
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:
<Data> <ResultData> <MessageArrayTest> <Folder> <FieldA>Field11Value1</FieldA> <FieldB>Field12Value1</FieldB> </Folder> <Folder> <FieldA>Field21Value2</FieldA> <FieldB>Field22Value2</FieldB> </Folder> </MessageArrayTest> </ResultData> </Data>
Conceitos relacionados
ESQL
Tarefas relacionadas
Desenvolvendo ESQL
Referências relacionadas
Preferência de Sintaxe
instruções ESQL
Avisos |
Marcas |
Downloads |
Biblioteca |
Suporte |
Feedback
![]() ![]() |
ak05030_ |