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.
Nota: Os quatro primeiros são
independentes de domínio; os tipos XML.* são aplicáveis aos domínios
XML, XMLNS, JMSMap, e JMSStream, exceto para XML.Namespace, que é
específico para o domínio XMLNS.
É necessário utilizar
esses tipos com a capitalização mostrada:
- Name
- Value
- 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.XML.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