Versions Compared

Key

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

[ Image Added |../../index.htm#lansa/substring_e.htm]
現在地:

Anchor
_Ref428890002
_Ref428890002
Anchor
_

...

Toc139468895
_

...

Toc139468895
7.122.2 SUBSTRING の使用例

例1:以下の表に、フィールド#Aが長さ10文字の英数字フィールド、フィールド#Bが長さ5文字の英数字フィールドの場合に、さまざまなSUBSTRINGコマンドを使用したときの結果を示します。

...

 
例2:SUBSTRINGコマンドを使用して、#DDMMYYという6桁の数値タイプ日付フィールドの形式をDDMMYYからYYMMDDに変更します。
DEFINE FIELD(#WORK02) TYPE(*CHAR) LENGTH(2)   SUBSTRING FIELD(#DDMMYY 1 2) INTO_FIELD(#WORK02) SUBSTRING FIELD(#DDMMYY 5 2) INTO_FIELD(#DDMMYY 1 2) SUBSTRING FIELD(#WORK02)     INTO_FIELD(#DDMMYY 5 2)  
例3:以下のRDMLプログラムは、ユーザーが入力した最大20個の製品番号を、#PRODUCTSという1つの長い文字列に保管し、入力完了後にそのすべての製品番号を印刷します。
DEFINE FIELD(#PRODUCTS) TYPE(CHAR) LENGTH(200) DEFINE FIELD(#ENTERED)  TYPE(*DEC) LENGTH(3) DECIMALS(0) DEFAULT(0) DEFINE FIELD(#I)        TYPE(*DEC) LENGTH(3)  DECIMALS(0)   DOUNTIL '(#PRODNO = *BLANKS) *OR (#ENTERED = 20)'  CHANGE  #PRODNO *BLANKS  REQUEST FIELDS(#PRODNO)   IF      '#PRODNO *NE *BLANKS'   CHANGE  #ENTERED ('#ENTERED  1')   CHANGE  #I '((#ENTERED  1)  10)  1'   SUBSTRING FIELD(#PRODNO) INTO_FIELD(#PRODUCTS #I 10)   ENDIF ENDUNTIL   DOWHILE '#ENTERED GT 0'   CHANGE  #I '((#ENTERED  1)  10) + 1'   SUBSTRING FIELD(#PRODUCTS #I 10) INTO_FIELD(#PRODNO)   FETCH  FIELDS(#DESCRIPT #PRICE #QUANTITY) FROM_FILE(PRODMAST) WITH_KEY(#PRODNO)   UPRINT FIELDS(#PRODNO #DESCRIPT #PRICE #QUANTITY)   CHANGE #ENTERED ('#ENTERED - 1') ENDWHILE  
[ Image Added |../../index.htm#lansa/substring_e.htm]