iterators (flow control)

Description - Delimited value iteration produces one XML row document per row in the delimited value (e.g. comma delimited) input

Runtime Class - com.ibi.agents.XDIterDelVal



Parameter Groups

 ParameterTypeDescription
*Header:booleanDetermines whether the first row is a header row. If not (false), then the first row contains data and generated names are used for the elements. If set to true, then the first row holds the names, and the data starts at the second row.
*Delimiter:stringWhat delimiter is to be used? Select, enter one character or a single hex value as \xvv where vv is a hex value.

Select from one of the following options:
  • comma - Uses a comma to delimit fields
  • tab - Uses a tab (0x09) to delimit fields
* - denotes required
 ParameterTypeDescription
*Root Element:stringName of the XML outer tag which wraps the transient document.
Trim values:booleanDetermines whether all values should be trimmed.
Quotes:booleanDetermines whether surrounding quotes should be eliminated.
Empty Elements:booleanDetermines whether empty elements at the right should be eliminated.
* - denotes required
 ParameterTypeDescription
*Document:stringFinal document emitted is a status document, the original document, the result of the last iteration or an accumulation. Accumulations are memory intensive.

Select from one of the following options:
  • Status Document {status} - Status document
  • Original Document {original} - Document when originally passing into this service
  • Transient Document {transient} - Result of the last iteration
  • Loop Accumulation {accumin} - Accumulation of the input loop elements sent from the flow back into the iterator at each pass. The loop may have modified the document passed to the accumulation. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
  • Iterated Accumulation {accumout} - Accumulation of the output iterated elements of each pass; these are the documents that the loop services receive from the iterator. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
* - denotes required

Output Events

NameDescription
OnParseErrorCould not parse a document.
Description - Iterate a loop a specified number of times
 
Runtime Class - com.ibi.agents.XDIterCount


 

Parameter Groups

  Parameter Type Description
* Iterations: integer Number of times to repeat the loop
* - denotes required
  Parameter Type Description
* Document: string The document emitted at each iteration is the original document or the result of the previous iteration.

Select from one of the following options:
  • Transient {transient} - Result of the previous iteration
  • Original {original} - Document when loop was entered
* - denotes required
  Parameter Type Description
* Document: string Final document emitted is a status document, the original document, the result of the last iteration or an accumulation. Accumulations are memory intensive.

Select from one of the following options:
  • Status Document {status} - Status document
  • Original Document {original} - Document when originally passing into this service
  • Transient Document {transient} - Result of the last iteration
  • Loop Accumulation {accumin} - Accumulation of the input loop elements sent from the flow back into the iterator at each pass. The loop may have modified the document passed to the accumulation. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
  • Iterated Accumulation {accumout} - Accumulation of the output iterated elements of each pass; these are the documents that the loop services receive from the iterator. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
* - denotes required

 

Output Events

 

Name Description
OnParseError Could not parse a document.
Description - Iterate a loop while (or until) a condition is met
 
Runtime Class - com.ibi.agents.XDIterTest


 

Parameter Groups

  Parameter Type Description
* Do-While: string Determines the loop logic between do-while or do-until

Select from one of the following options:
  • Do-While {true} - Iterate while the condition is true
  • Do-Until {false} - Iterate until condition is true
* Operand One: string The first of two operands to compare
* Operation: string Comparison operator

Select from one of the following options:
  • equals case sensitive - Case sensitive comparison, A not equals a
  • equals case insensitive - Case insensitive comparison, A equals a
  • not equals (any type)
  • less than or equals (any type)
  • greater than or equals (any type)
  • less than (any type)
  • greater than (any type)
  • is null (not present)
  • is not null (something present)
  Operand Two: string The second of two operands to compare when operation is dyadic
* - denotes required
  Parameter Type Description
* Document: string The document emitted at each iteration is the original document or the result of the previous iteration.

Select from one of the following options:
  • Transient Document {transient} - Result of the previous iteration
  • Original Document {original} - Document when loop was entered
* - denotes required
  Parameter Type Description
* Document: string Final document emitted is a status document, the original document, the result of the last iteration or an accumulation. Accumulations are memory intensive.

Select from one of the following options:
  • Status Document {status} - Status document
  • Original Document {original} - Document when originally passing into this service
  • Transient Document {transient} - Result of the last iteration
  • Loop Accumulation {accumin} - Accumulation of the input loop elements sent from the flow back into the iterator at each pass. The loop may have modified the document passed to the accumulation. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
  • Iterated Accumulation {accumout} - Accumulation of the output iterated elements of each pass; these are the documents that the loop services receive from the iterator. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
* - denotes required

 

Output Events

 

Name Description
OnParseError Could not parse a document.
Description - SQL Select Iterator; Send out one row at a time to the flow
 
Runtime Class - com.ibi.agents.XDIterSQLSelect


 

Parameter Groups

  Parameter Type Description
* Select SQL: string SQL Select statement to get rows to pass into the flow
  Isolation Level: string Transaction isolation level to be set if possible

Select from one of the following options:
  • As Is {asis} - Leave the isolation level as defined in the data base
  • Read Uncommitted {readUncommitted} - Allows reading of a record that may be rolled back later
  • Read Committed {readCommitted} - Will never read data that another application has changed and not yet committed, but does not ensure that the data will not be changed before the end of the transaction
  • Repeatable Read {repeatableRead} - Dirty reads and nonrepeatable reads cannot occur; all data used in the query is locked, and other transactions cannot update the data
  • Serializable {serializable} - Most restrictive isolation level. Phantom values cannot occur; prevents other users from updating or inserting rows into the data set until the transaction is completed
* - denotes required
  Parameter Type Description
  Base 64: boolean If set, all fields are checked for base64 (this is expensive)
  SQLAgent Format: boolean If true, the generated rows are formatted according to SQLAgent field schema
  Inline xLOBs: boolean If true, character and boolean large objects are inline in the select results. BLOBs are enclosed in base64() tags.
* Input Encoding: string The IANA character set to be used for the input data base. Select from the standard list or enter an encoding name.

Select from one of the following options:
  • Leave {leave} - Make no changes (input document carries encoding)
  • Platform {platform} - Use platform's encoding, not inbound message encoding
  • US-ASCII - Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the Unicode character set
  • CP-037/EBCDIC {CP037} - Eight but EBCDIC encoding
  • ISO-8859-1 - ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1
  • UTF-8 - Eight-bit UCS Transformation Format
  • UTF16-BE {UTF-16BE} - Sixteen-bit UCS Transformation Format, big-endian byte order
  • UTF16-LE {UTF-16LE} - Sixteen-bit UCS Transformation Format, little-endian byte order
  • UTF16 {UTF-16} - Sixteen-bit UCS Transformation Format, byte order identified by [optional] byte order mark
  Three Part Name: boolean If true, names will be presented as full three part names if supported by the data base
* - denotes required
  Parameter Type Description
  Document: string Whether output document emitted should be the original input document (original) or a status document (status)

Select from one of the following options:
  • Status Document {status} - An exit-appropriate status document
  • Input Document {input} - The original input document
  • Loop Accumulation {accumin} - Accumulation of the input loop elements sent from the flow back into the iterator at each pass. The loop may have modified the document passed to the accumulation. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
  • Iterated Accumulation {accumout} - Accumulation of the output iterated elements of each pass; these are the documents that the loop services receive from the iterator. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
* - denotes required

 

Output Events

 

Name Description
OnCancelled The service has responded to a cancellation request.
OnParseError Could not parse a document.
OnFailedOperation Could not perform the operation requested.
fail_operation_source Could not perform the inbound operation.
fail_connect_source Failed creating inbound connection.
Description - Iterate a loop for each portion of an XML document

Runtime Class - com.ibi.agents.XDIterXMLSplit



Parameter Groups

 ParameterTypeDescription
*Snip levelsintegerNumber of top-down levels to be snipped from generated documents
*ExpressionstringDescribes the XPath location of the element on which to split. When "Evaluate Expression" is not set, enter an XPath expression directly. When "Evaluate Expression" is set, enter an expression that returns an XPath expression.
Evaluate ExpressionbooleanWhen not set, the Expression parameter contains an XPath expression directly. When set, the Expression parameter is evaluated and the returned value is the XPath expression used for splitting.
XML Namespace Map ProviderstringIf the XPath expression depends on namespaces, supply the name of an XML Namespace Map Provider that contains the required namespace prefixes and URLs.
*Cross SectionbooleanIf set, the iterated portion is included with the remainder of the non-iterated portion of the document; otherwise only the parental path is included.
*Iterating Document StatestringIn addition to content, a document carries state. How should the state be managed at the iterations?

Select from one of the following options:
  • Transient {transient} - The looping document's state is carried to the next iteration
  • Original {original} - Document state reflects the original document being split
  • Reset {reset} - All signals such as error state are reset for each iteration
End Iteration SignalbooleanDetermines whether an extra iteration is added at the end to emit the End Iteration document. If applicable, the end of iteration signal will be emitted on the end_iteration edge. The default is not to emit the End Iteration document.
*Output documentstring'status' - status document will be the out document; 'original' - in document will become the out document; 'accumulations' allow gathering of partial documents but can be memory intensive. Input is what passes from the iterator, output is what is returned for each iteration.

Select from one of the following options:
  • Status {status} - Status document
  • Original {original} - Document when originally passing into this service
  • Loop Accumulation {accumin} - Accumulation of the input loop elements sent from the flow back into the iterator at each pass. The loop may have modified the document passed to the accumulation. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
  • Iterated Accumulation {accumout} - Accumulation of the output iterated elements of each pass; these are the documents that the loop services receive from the iterator. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
XPath SyntaxstringDetermines which syntax level of XPath should be used. The default option selects the syntax level as set in the console global settings.

Select from one of the following options:
  • Default {default} - Use global default for XPath
  • iWay abbreviated syntax {iway} - Use iWay fast/limited XPath
  • XPath 1.0 full syntax {xpath1} - Use full XPath1 version
* - denotes required

Output Events

NameDescription
OnFailedOperationCould not perform the operation requested.
OnEndIterationThis is the extra iteration added at the end to emit the End Iteration document as requested.
Description - Iterate a loop for each sibling document

Runtime Class - com.ibi.agents.XDIterSibSplit



Parameter Groups

 ParameterTypeDescription
*Document:stringFinal document emitted is a status document, the original document, the result of the last iteration or an accumulation. Accumulations are memory intensive.

Select from one of the following options:
  • Status Document {status} - Status document
  • Original Document {original} - Document when originally passing into this service
  • Transient Document {transient} - Result of the last iteration
  • Loop Accumulation {accumin} - Accumulation of the input loop elements sent from the flow back into the iterator at each pass. The loop may have modified the document passed to the accumulation. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
  • Iterated Accumulation {accumout} - Accumulation of the output iterated elements of each pass; these are the documents that the loop services receive from the iterator. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
* - denotes required

Output Events

NameDescription
OnParseErrorCould not parse a document.
Description - Iterate a loop for each value selected from a JSON value

Runtime Class - com.ibi.agents.XDIterJsonSplit



Parameter Groups

 ParameterTypeDescription
*Path Expression:stringJsonPath expression selecting which items to iterate.
* - denotes required
 ParameterTypeDescription
*Document:stringFinal document emitted is a status document, the original document, the result of the last iteration or an accumulation. Accumulations are memory intensive.

Select from one of the following options:
  • Status Document {status} - Status document
  • Original Document {original} - Document when originally passing into this service
  • Transient Document {transient} - Result of the last iteration
  • Loop Accumulation {accumin} - Accumulation of the input loop elements sent from the flow back into the iterator at each pass. The loop may have modified the document passed to the accumulation. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
  • Iterated Accumulation {accumout} - Accumulation of the output iterated elements of each pass; these are the documents that the loop services receive from the iterator. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
* - denotes required

Output Events

NameDescription
OnParseErrorCould not parse a document.
Description - Iterate a loop for each line in the input document

Runtime Class - com.ibi.agents.XDIterLine



Parameter Groups

 ParameterTypeDescription
Skip Lines:integerSets the number of lines to be skipped for processing. Often a delimited file has a header row which is not desired in the process.
*Keep Blanks:booleanIf true, pass empty (blank) input lines into the loop
* - denotes required
 ParameterTypeDescription
*Document:stringFinal document emitted is a status document, the original document, the result of the last iteration or an accumulation. Accumulations are memory intensive.

Select from one of the following options:
  • Status Document {status} - Status document
  • Original Document {original} - Document when originally passing into this service
  • Transient Document {transient} - Result of the last iteration
  • Loop Accumulation {accumin} - Accumulation of the input loop elements sent from the flow back into the iterator at each pass. The loop may have modified the document passed to the accumulation. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
  • Iterated Accumulation {accumout} - Accumulation of the output iterated elements of each pass; these are the documents that the loop services receive from the iterator. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
* - denotes required

Output Events

NameDescription
OnParseErrorCould not parse a document.
Description - Split the input document in equal size chunks
 
Runtime Class - com.ibi.agents.XDIterChunk


 

Parameter Groups

  Parameter Type Description
* Bytes: integer Size of the chunk in bytes
* - denotes required

 

Output Events

 

Name Description
OnParseError Could not parse a document.
Description - Iterate a loop while (or until) a condition is met
 
Runtime Class - com.ibi.agents.XDIterCond


 

Parameter Groups

  Parameter Type Description
* Do-While: string Determines the loop logic between do-while or do-until

Select from one of the following options:
  • Do-While {true} - Iterate while the condition is true
  • Do-Until {false} - Iterate until condition is true
* Expression: string iWay (iFL) expression controlling the termination of the loop
* - denotes required
  Parameter Type Description
* Document: string The document emitted at each iteration is the original document or the result of the previous iteration.

Select from one of the following options:
  • Transient {transient} - Result of the previous iteration
  • Original {original} - Document when loop was entered
* - denotes required
  Parameter Type Description
* Document: string Final document emitted is a status document, the original document, the result of the last iteration or an accumulation. Accumulations are memory intensive.

Select from one of the following options:
  • Status Document {status} - Status document
  • Original Document {original} - Document when originally passing into this service
  • Transient {transient} - Result of the last iteration
  • Loop Accumulation {accumin} - Accumulation of the input loop elements sent from the flow back into the iterator at each pass. The loop may have modified the document passed to the accumulation. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
  • Iterated Accumulation {accumout} - Accumulation of the output iterated elements of each pass; these are the documents that the loop services receive from the iterator. For XML, the root name will be the node name. Use of accumulation can result in significant use of memory.
* - denotes required

 

Output Events

 

Name Description
OnParseError Could not parse a document.