Versions Compared

Key

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

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

...

7.125.3 UPDATE の使用例

...

例1:ワークステーションから受注番号と顧客番号を入力するようユーザーに要求し、それに関連付けられた注文頭書きレコードを更新します。

     REQUEST  FIELDS(#ORDNUM #CUSTNO)
UPDATE   FIELDS(#ORDNUM #CUSTNO) IN_FILE(ORDHDR)

...

 WITH_KEY(#ORDNUM)

...

...


例2:ワークステーションで既存の受注番号と新しい受注番号を入力するようユーザーに要求します。既存の注文頭書きとそれに関連付けられたすべての明細行を新しい受注番号に更新します。 

     DEFINE  FIELD(#OLDORDNUM)

...

 REFFLD(#ORDNUM)

...

 LABEL('

...

Existing order')

...


DEFINE  FIELD(#NEWORDNUM)

...

 REFFLD(#ORDNUM)

...

 LABEL('

...

New order')

...


REQUEST FIELDS(#OLDORDNUM #NEWORDNUM)
CHANGE  FIELD(#ORDNUM)

...

 TO(#NEWORDNUM)

...


UPDATE  FIELDS(#ORDNUM)

...

 IN_FILE(ORDHDR)

...

 WITH_KEY(#OLDORDNUM)

...


UPDATE  FIELDS(#ORDNUM)

...

 IN_FILE(ORDLIN)

...

 WITH_KEY(#OLDORDNUM)

...


例3:指定された製品カテゴリー例3:指定された製品カテゴリー(#CAT)の全レコードの価格(#PRICE)を$100.00に変更します。
CHANGE  FIELD00に変更します。 

     CHANGE  FIELD(#PRICE)

...

 TO(100.00)

...


UPDATE  FIELDS(#PRICE)

...

 IN_FILE(PROMSTV1)

...

 WITH_KEY(#CAT)

...


例4:指定された製品カテゴリー例4:指定された製品カテゴリー(#CAT)の全レコードの価格(#PRICE)を$100.00高くします。
SELECT  FIELDS00高くします。 

     SELECT  FIELDS(#PRICE)

...

 FROM_FILE(PROMSTV1)

...

 WITH_KEY(#CAT)

...


CHANGE  FIELD(#PRICE)

...

 TO('

...

#PRICE +

...

 100.00')

...


UPDATE  FIELDS(#PRICE)

...

 IN_FILE(PROMSTV1)
ENDSELECT

...


例5:指定された製品カテゴリー例5:指定された製品カテゴリー(#CAT)のすべてのコスト関連フィールドをリセットします。 のすべてのコスト関連フィールドをリセットします。 

     GROUP_

...

BY   NAME(#XG_COST)

...

 FIELDS(#COST1 #COST2 #COST3 #COST4)
CHANGE     FIELD(#XG_COST)

...

 TO(*DEFAULT)

...


UPDATE     FIELDS(#XG_COST)

...

 IN_FILE(PROMSTV1)

...

 WITH_KEY(#CAT)

...