O função do campo FIELDTYPE retorna o tipo de um campo
determinado.
Sintaxe

>>-FIELDTYPE--(--source_field_reference--)---------------------><
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.
Por exemplo:
IF FIELDTYPE(source_field_reference) = NameValue
THEN ...
Os tipos de campo denominados que podem ser usados neste contexto
são listados nesta seção. Você deve usar esses tipos com a capitalização mostrada.
Os seguintes tipos são independentes de domínio:
- Nome
- Valor
- NameValue
- MQRFH2.BitStream
- MQRFH2.Field
- MQRFH2C.Field
Os tipos
XML.* são aplicáveis
aos domínios XML, XMLNS, JMSMap e JMSStream, exceto para
XML.NamespaceDecl, que é específico para o domínio
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
Os tipos
XMLNSC.* são aplicáveis no domínio XMLNSC. As mesmas constantes também podem ser prefixadas com
SOAP.* para uso no domínio 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
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