FIELDTYPE フィールド関数は、指定されたフィールドのタイプを戻します。
構文

>>-FIELDTYPE--(--source_field_reference--)---------------------><
FIELDTYPE は、source_field_reference が識別するフィールドのタイプを表す整数を戻します。これはフィールドのタイプであって、パラメーターで指定されるフィールドのデータ・タイプではありません。 パラメーターの指定するエンティティーが存在しないものである場合、NULL が戻されます。
フィールド・タイプへの整数値のマッピングは、公開されていません。また、このマッピングはリリース間で異なる可能性があります。 FIELDTYPE 関数の結果は、名前付きフィールド・タイプと比較してください。
以下に例を示します。
IF FIELDTYPE(source_field_reference) = NameValue
THEN ...
このコンテキストで使用できる名前付きフィールド・タイプを、このセクションにリストします。 こうしたタイプは、以下に示されているとおりに大文字を使用しなければなりません。
以下のタイプはドメインに依存しません。
- 名前
- Value
- NameValue
- MQRFH2.BitStream
- MQRFH2.Field
- MQRFH2C.Field
XML.* タイプは、XML、XMLNS、JMSMap、および JMSStream の各ドメインに適用できます (ただし
XML.NamespaceDecl を除く。これは 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
XMLNSC.* タイプは、XMLNSC ドメインに適用可能です。 同じ定数に
SOAP.* の接頭部を付けて、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
この関数を使用して、メッセージ内にフィールドが存在するかどうかも判別できます。 その場合、次の形式を使用します。
FIELDTYPE(SomeFieldReference) IS NULL
フィールドが存在する場合、フィールド・タイプ (例えば、string) を示す整数値が関数に戻されます。 これが NULL と比較される場合、結果は FALSE となります。 フィールドが存在しない場合、NULL が戻されるため、結果は TRUE となります。 以下に例を示します。
IF FIELDTYPE(InputRoot.XMLNS.Message1.Name)
IS NULL THEN
// Name field does not exist, take error
action....
... more ESQL ...
ELSE
// Name field does exist, continue....
... more ESQL ...
END IF