O função do campo FIELDTYPE retorna o tipo de um campo
determinado.
FIELDTYPE retorna um inteiro representando o tipo do
campo identificado por source_field_reference; isso é o tipo
do campo, não o tipo de dados do campo que o parâmetro identifica. Se o parâmetro identificar uma
entidade não existente, será retornado NULL.
O mapeamento de
valores inteiros para tipos de campos não é publicado e pode ser
alterado de release para release. Compare os resultados da função
FIELDTYPE com os tipos de campos nomeados.
Os nomes dos tipos de campo que você pode utilizar neste
contexto estão listados abaixo.

As seguintes condições se aplicam:
- Nome, Valor, NameValue e MQRFH2.BitStream são
independentes do domínio.
- Os tipos XML.* são aplicáveis nos domínios XML, XMLNS, JMSMap
e JMSStream, exceto para XML.Namespace, que é
específico do domínio XMLNS.
- Os tipos XMLNSC.* são aplicáveis no domínio XMLNSC.

É necessário utilizar
esses tipos com a capitalização mostrada:
- Nome
- Valor
- NameValue
- MQRFH2.BitStream
- XML.AsisElementContent
- XML.Attribute
- XML.AttributeDef
- XML.AttributeDefDefaultType
- XML.AttributeDefType
- XML.AttributeDefValue
- XML.AttributeList
- XML.BitStream
- XML.CDataSection
- XML.Comment
- XML.Content
- XML.DocTypeComment
- XML.DocTypeDecl
- XML.DocTypePI
- XML.DocTypeWhiteSpace
- XML.Element
- XML.ElementDef
- XML.Encoding
- XML.EntityDecl
- XML.EntityDeclValue
- XML.EntityReferenceStart
- XML.EntityReferenceEnd
- XML.ExternalEntityDecl
- XML.ExternalParameterEntityDecl
- XML.ExtSubset
- XML.IntSubset
- XML.NamespaceDecl
- XML.NotationDecl
- XML.NotationReference
- XML.ParameterEntityDecl
- XML.ParserRoot
- XML.ProcessingInstruction
- XML.PublicId
- XML.RequestedDomain
- XML.Standalone
- XML.SystemId
- XML.UnparsedEntityDecl
- XML.Version
- XML.WhiteSpace
- XML.XmlDecl
- XMLNSC.Attribute
- XMLNSC.BitStream
- XMLNSC.CDataField
- XMLNSC.CDataValue
- XMLNSC.Comment
- XMLNSC.DocumentType
- XMLNSC.DoubleAttribute
- XMLNSC.DoubleEntityDefinition
- XMLNSC.EntityDefinition
- XMLNSC.EntityReference
- XMLNSC.Field
- XMLNSC.Folder
- XMLNSC.HybridField
- XMLNSC.HybridValue
- XMLNSC.PCDataField
- XMLNSC.PCDataValue
- XMLNSC.ProcessingInstruction
- XMLNSC.SingleAttribute
- XMLNSC.SingleEntityDefinition
- XMLNSC.Value
- XMLNSC.XmlDeclaration
Você pode também utilizar esta função para
determinar se um campo existe em uma mensagem. Para isso, utilize o
formulário:
FIELDTYPE(SomeFieldReference) IS NULL
Se existir um campo, um valor inteiro será retornado para a
função que indica o tipo de campo (por exemplo, cadeia). Quando isso
for comparado com NULL, o resultado será FALSE. Se o campo não
existir, NULL será retornado e o resultado será TRUE. Por exemplo:
IF FIELDTYPE(InputRoot.XMLNS.Message1.Name)
IS NULL THEN
// O campo nome não existe, receba o erro
action....
... more ESQL ...
ELSE
// o campo nome existe, continue....
... more ESQL ...
END IF