Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../index.htm#lansa/define_e.htm]
現在地:

...

7.30.2 DEFINE の使用例

RDMLプログラムで内部使用する作業/カウンター・フィールド#Iを定義する

内部使用するための作業/カウンター・フィールド#Iを定義する

#ORDERと同じ属性を持つ#LASTORDERというフィールドを定義する

#ORDERと異なる属性を持つ#LASTORDERというフィールドを定義する

有効桁数が#QTYより3桁多い#TOTQTYというフィールドを定義する

#QTYとは異なる属性を持つ#TOTQTYというフィールドを定義する

フィールド#LONGと同様の属性を持つ#SHORTというフィールドを定義する

#LONGと同様の属性を持つ#SHORTというフィールドを定義する

別のフィールドに基づいて数値フィールドを定義する

Anchor
DEFINE_E1
DEFINE_E1
RDMLプログラムで内部使用する作業/カウンター・フィールド#Iを定義する

Code Block

...

DEFINE FIELD(#I)

...

 TYPE(*DEC)

...

 LENGTH(7)

...

 DECIMALS(0)

...

Anchor
DEFINE_E2
DEFINE_E2
内部使用するための作業/カウンター・フィールド#Iを定義する

RDMLプログラム内で、ファンクションの実行開始時に作業/カウンター・フィールドの値が2になるよう定義します。

Code Block

...

DEFINE FIELD(#I)

...

 TYPE(*DEC)

...

 LENGTH(7)

...

 DECIMALS(0)

...

 DEFAULT(2)

...

Anchor
DEFINE_E3
DEFINE_E3
#ORDERと同じ属性を持つ#LASTORDERというフィールドを定義する

フィールド#LASTORDERの属性が、LANSAデータ・ディクショナリに定義されているフィールド#ORDERとまったく同じになるよう定義します。

Code Block

...

DEFINE FIELD(#LASTORDER)

...

 REFFLD(#ORDER)

...

Anchor
DEFINE_E4
DEFINE_E4
#ORDERと異なる属性を持つ#LASTORDERというフィールドを定義する

フィールド#LASTORDERの属性が、記述、ラベル、および欄見出しを除き、フィールド#ORDERとまったく同じになるよう定義します。

Code Block

...

DEFINE FIELD(#LASTORDER)

...

 REFFLD(#ORDER)

...

 DESC('

...

Last Order Number')

...

 LABEL('

...

Last Order')

...

 COLHDG('Last'

...

 'Order'

...

 'Number')

...

Anchor
DEFINE_E5
DEFINE_E5
有効桁数が#QTYより3桁多い#TOTQTYというフィールドを定義する

フィールド#TOTQTYの属性が、フィールド#QTYより有効桁数が3桁多い以外は#QTYとまったく同じになるよう定義します。 DEFINE FIELD

Code Block
DEFINE FIELD(#TOTQTY)

...

 REFFLD(#QTY)

...

 LENGTH(*

...

REFFLD *PLUS 3)

Anchor
DEFINE_E6
DEFINE_E6
#QTYとは異なる属性を持つ#TOTQTYというフィールドを定義する

フィールド#TOTQTYの属性が、#QTYより有効桁数がフィールド3桁多く、小数点以下桁数が2桁多い以外は#QTYとまったく同じになるよう定義します。

Code Block

...

DEFINE FIELD(#TOTQTY)

...

 REFFLD(#QTY)

...

 LENGTH(*

...

REFFLD *PLUS 5) DECIMALS(*REFFLD *PLUS 2)

Anchor
DEFINE_E7
DEFINE_E7
フィールド#LONGと同様の属性を持つ#SHORTというフィールドを定義する

#SHORTの文字数が正確に10文字になるよう定義します。 DEFINE FIELD

Code Block
DEFINE FIELD(#SHORT)

...

 REFFLD(#LONG)

...

 LENGTH(10)

...

Anchor
DEFINE_E8
DEFINE_E8
#LONGと同様の属性を持つ#SHORTというフィールドを定義する

#SHORTの属性が、フィールド#LONGより10文字少ない以外は#LONGとまったく同じになるよう定義します。

Code Block

...

DEFINE FIELD(#SHORT)

...

 REFFLD(#LONG)

...

 LENGTH(*

...

REFFLD *MINUS 10)

Anchor
DEFINE_E9
DEFINE_E9
別のフィールドに基づいて数値フィールドを定義する

数値フィールドにSキーボード・シフトを定義し、編集コードJで表示できるようにします。 DEFINE FIELD

Code Block
DEFINE FIELD(#SHIFTY)

...

 REFFLD(#SHIFTS)

...

 EDIT_CODE(J)

...

 SHIFT(Y)

...