Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Modified

udrAddError

Adds an error description message to the UDR, which will be visible when searching using the Data Veracity web interface or ECS Inspector, Error Code column. A UDR can have several error descriptions.

...

ParameterDescription

myUDR

The UDR to add error message to

errorCode

An Error Code as defined from the Data Veracity Error Code web interface or ECS Error Code .

myString

Any string to associate with the Error Code of the UDR.  Optional.

Returns

Nothing


udrClearErrors

Removes all error descriptions, added to a UDR in Data Veracity or ECS. For ECS, this is useful when collecting UDRs for a new validation which may send them back to the ECS for another round of processing. Adding a new error description, if one already exists, will make it impossible to auto-assign the UDR to a reprocessing group when it arrives to the ECS.

...

ParameterDescription

myUDR

The UDR to clear errors from

Returns

Nothing


udrClone
Anchor
udrClone
udrClone

Clones a UDR. It is used when having multiple routes leaving the agent, where any of the routes changes the content of a UDR. For complex UDR structures, this can be a heavy operation, and must be used with care.

...

ParameterDescription

myUDR

The UDR to clone

Returns

A clone of myUDR


udrContainsError

Returns true if an error description has been added to the UDR.

...

ParameterDescription

myUDR

The UDR to evaluate for error descriptions

Returns

true or false


udrCreate

Creates a new UDR of the specified type. All fields are included, except for the optional.

...

ParameterDescription

UDRType

A defined UDR type

Returns:

A UDR of the specified type


udrDecode

Decodes a bytearray into a list of UDRs, and returns an error message if the operation fails. To route the UDRs to a subsequent agent, loop through the resulting list routing each element individually.

...

Info
titleExample - Using udrDecode

A list must be created, not only declared, previously used by udrDecode:

Code Block
list<drudr> myList = listCreate(drudr);

if (udrDecode("myFolder.myFormat.myDecoder", 
 myList, input) == null) {
 // Do something
} else {
 // Error handling
}


udrEncode

Encodes a UDR.

Code Block
bytearray udrEncode
 ( string  encoderName ,
 drudr  myUDR  )

...

ParameterDescription

encoderName

The name of a defined encoder

myUDR

The UDR to encode

Returns

A bytearray

udrForceDecode

By default, a Decoder only evaluates record sizes and field termination marks. It does not read the field values to evaluate for validity. This is done for each field when it is actually accessed, either from a agent utilizing APL code, or from an Encoder.

...

ParameterDescription

myUDR

The UDR to fully decode

abortOnFail

An optional argument. If not stated, true is assumed. If set to false, the workflow does not abort if decoding fails.

Returns

If decoding succeeds, null is returned. If not - and abortOnFail is set to false - an error message is returned.

udrGetErrorCodes

Returns a list of strings containing all error codes added to the UDR.

...

ParameterDescription

myUDR

The UDR

Returns

A list of strings with all error codes added to the UDR


udrGetErrorMessages

Returns a list of strings containing all error messages added to the UDR.

...

ParameterDescription

myUDR

The UDR

Returns

A list of strings with all error messages added to the UDR


udrGetErrorsAsString

Returns a string containing all error information that has been added to the UDR.

...

ParameterDescripton

myUDR

The UDR

Returns

A string with all error information added to the UDR

udrGetFields

Returns a list of the field names and field information in a UDR.

...

FieldDescription
fieldName (string)The name of the field
fieldType (string)The field type, e g string, int, double etc.
isOptional (boolean)This indicates if the field is optional or not.
isReadOnly (boolean)This indicates if the field is read-only or not.


udrGetValue
Anchor
udrGetValue
udrGetValue

Returns the value of fieldName in the myUDR.

...

ParameterDescription

myUDR

The UDR containing the field of interest

fieldname

A string, exactly matching the name of an existing field. If the field is OPTIONAL and is not present, the function returns null.

Constructed field names, that is subUDR.subField are allowed. If a field in the path is not present, null is returned in this case as well.

Returns

Any, depending on the field type


udrIsPresent
Anchor
udrIsPresent
udrIsPresent

Returns true if the UDR field is present.

...

Info
titleExample - Using udrIsPresent

The function is recursive. If the optional field myField is to be accessed, and it is nested in three levels: fieldA.fieldB.myfield, and all levels are optional, only one if-statement is required:

Code Block
if ( udrIsPresent( input.fieldA.fieldB.myField ) ) {
 // Some kind of operation.
}



udrMass Functions

The udrMass functions enable you to manage a decoder which purpose is to process large amounts of collected UDRs, while maintaining control over UDRs tailing bytes in between calls to consume .

...

  • udrMassCreateDecoder

  • udrMassClearBuffer
  • udrMassDecode

  • udrMassEOFCheck

  • udrMassGetDataTail
     

udrMassCreateDecoder

Creates a decoder object.

...

Info
titleExample - Using udrMass* APL functions


Code Block
any myDecoder;
initialize { 
 myDecoder = udrMassCreateDecoder("Default.ascii.asciiFile"); 
}
drain { 
 list<drudr> myList = listCreate(drudr); 
 string msg = udrMassEOFCheck(myDecoder, myList, false); 
 if (msg == null) {
 // Do something 
 } else { 
 // Error handling 
 } 
}
consume { 
 list<drudr> myList = listCreate(drudr); 
 string msg = udrMassDecode(myDecoder, myList, input, false); 
 if (msg == null) { 
 // Do something 
 } else { 
 // Error handling 
 } 
}


udrMassClearBuffer

The udrMassClearBuffer function clears the remaining buffer in the decoder.

...

ParameterDescription
theDecoder The decoder object that udrMassCreateDecoder generates
Returns:Nothing


udrMassDecode
Anchor
udrMassDecode
udrMassDecode

The udrMassDecode function Decodes the bytearray input data by using the decoder, and generates it as a list.

...

ParameterDescription

theDecoder

The decoder object that udrMassCreateDecoder generates

myList

The product of the encoding process is saved as a list of UDRs.

inputData

The input data that is to be encoded into UDRs

forceDecode

Use true to force decoding (a full decode).

Returns:

If decoding fails, an error message is returned. Otherwise, returns null.

udrMassEOFCheck

The udrMassEOFCheck function attempts to decode any remaining bytes that are left behind and stored in the decoder. If the function executes and decoding is successful, the procedure sends endBatch to the decoder, the returned string is empty, and the myList parameter contains the UDRs. Otherwise, an error message is generated.

...

ParameterDescription

theDecoder

The decoder object that udrMassCreateDecoder generates

myList

The data that udrMassEOFCheck decodes

forceDecode

Use true to force decoding (a full decode).

Returns:

If decoding fails, an error message is returned. Otherwise, returns null.


udrMassGetDataTail

The  udrMassGetDataTail function makes the decoder generate the remaining bytes that it holds. The bytes are still stored in the decoder.

...

ParameterDescription

theDecoder

The decoder object that udrMassCreateDecoder generates

Returns:

The raw bytearray data that the decoder in udrMassDecode uses as input. For further information see the section above, udrMassDecode.


udrRoute

The udrRoute function sends a UDR to a workflow route.

...

ParameterDescription

myUDR

The UDR to send on

routeName

The route on which to send the UDR

clone

The UDR is cloned before routing on the output/outputs.

Returns

Nothing


udrSetValue
Anchor
udrSetValue
udrSetValue

Sets the field named fieldName in the UDR myUDR to value .

...

ParameterDescription

myUDR

The UDR, for which to set the field value

fieldName

A string, exactly matching an existing field. Constructed field names in the form of subUDR.subField are allowed. Trying to set a non-existing field will cause runtime error.

value

A value depending on the field type

Returns

Nothing


udrUnsetPresent

In the output files the Encoder maps by default, null fields as present but empty. This can be avoided by clearing a flag, Is Present, using the udrUnsetPresent function.

...