La función de campo FIELDTYPE devuelve el tipo de un campo determinado.
Sintaxis

>>-FIELDTYPE--(--referencia_campo_origen--)--------------------><
FIELDTYPE devuelve un entero que representa el tipo del campo identificado mediante source_field_reference. Este es el tipo del campo y no el tipo de los datos del campo que identifica el parámetro. Si el parámetro identifica una entidad que no existe, se devuelve NULL.
La correlación de valores enteros en tipos de campos no se ha publicado y puede variar de uno a otro release. Compare los resultados de la función FIELDTYPE con los tipos de campos nombrados.
Por ejemplo:
IF FIELDTYPE(referencia_campo_origen) = NameValue
THEN ...
En esta sección se listan los tipos de campos con nombre que puede
utilizar en este contexto. Debe utilizar estos tipos con las mayúsculas y minúsculas
mostradas.
Los tipos siguientes son independientes del dominio:
- Name
- Value
- NameValue
- MQRFH2.BitStream
- MQRFH2.Field
- MQRFH2C.Field
Los tipos
XML.* son aplicables a los dominios
XML, XMLNS, JMSMap y JMSStream, excepto para
XML.NamespaceDecl, que es específico del dominio
XML.
- XML.AsisElementContent
- XML.Attribute
- XML.AttributeDef
- XML.AttributeDefDefaultType
- XML.AttributeDefType
- XML.AttributeDefValue
- XML.AttributeList
- XML.BitStream
- XML.CDataSection
- XML.Comment
- XML.Content
- XML.DocTypeCommentt
- XML.DocTypeDecl
- XML.DocTypePI
- XML.DocTypeWhiteSpace
- XML.Element
- XML.ElementDef
- XML.Encoding
- XML.EntityDecl
- XML.EntityDeclValue
- XML.EntityReferenceEnd
- XML.EntityReferenceStart
- XML.EntityValue
- XML.ExternalEntityDecl
- XML.ExternalParameterEntityDecl
- XML.ExtSubset
- XML.IntSubset
- XML.NamespaceDecl
- XML.NotationDecl
- XML.NotationReference
- XML.Opaque
- XML.ParameterEntityDecl
- XML.ParserRoot
- XML.ProcessingInstruction
- XML.PublicId
- XML.RequestedDomain
- XML.Standalone
- XML.SystemId
- XML.UnparsedEntityDecl
- XML.Version
- XML.WhiteSpace
- XML.XmlDecl
Los tipos
XMLNSC.* son aplicables al dominio XMLNSC. Las
mismas constantes también pueden tener el prefijo
SOAP.* para utilizarlas
en el dominio SOAP.
- XMLNSC.AnyCData
- XMLNSC.AnyHybrid
- XMLNSC.AnyPCData
- XMLNSC.AnyValue
- XMLNSC.AsisElementContent
- XMLNSC.Attribute
- XMLNSC.base64Binary
- XMLNSC.BitStream
- XMLNSC.CDataField
- XMLNSC.CDataValue
- XMLNSC.Comment
- XMLNSC.DocumentType
- XMLNSC.DoubleAttribute
- XMLNSC.DoubleEntityDefinition
- XMLNSC.DoubleNamespaceDecl
- XMLNSC.Element
- XMLNSC.EntityDefinition
- XMLNSC.EntityReference
- XMLNSC.Field
- XMLNSC.Folder
- XMLNSC.gDay
- XMLNSC.gMonth
- XMLNSC.gMonthDay
- XMLNSC.gYear
- XMLNSC.gYearMonth
- XMLNSC.HybridField
- XMLNSC.HybridValue
- XMLNSC.NamespaceDecl
- XMLNSC.Opaque
- XMLNSC.PCDataField
- XMLNSC.PCDataValue
- XMLNSC.ProcessingInstruction
- XMLNSC.SingleAttribute
- XMLNSC.SingleEntityDefinition
- XMLNSC.SingleNamespaceDecl
- XMLNSC.Value
- XMLNSC.XmlDeclaration
También puede utilizar esta función para determinar si existe un campo de un mensaje. Para hacerlo, utilice el formato:
FIELDTYPE(SomeFieldReference) IS NULL
Si el campo existe, se devuelve un valor entero a la función que indica el tipo de campo (por ejemplo, de serie de caracteres). Cuando se compara con
NULL, el resultado es FALSE. Si el campo no existe, se devuelve NULL y, por lo tanto, el resultado es TRUE. Por ejemplo:
IF FIELDTYPE(InputRoot.XMLNS.Message1.Name)
IS NULL THEN
// El campo Name no existe, llevar a cabo
acción de error....
... more ESQL ...
ELSE
// El campo Name existe, continuar....
... more ESQL ...
END IF