ILE-RPG で先頭文字より比較したのであれば%SUBST を使ってD STR_1 C CONST(' 東京都港区 ')D STR_2 C CONST(' 東京都 ') IF %SUBST(STR_1:1:7) = %SUBST(STR_2:1:7) : ENDのようにして比較すればスマートな記述で正しく動作しますのでお試しください。
> ILE-RPG で先頭文字より比較したのであれば> > %SUBST を使って> D STR_1 C CONST(' 東京都港区 ')> D STR_2 C CONST(' 東京都 ')> > IF %SUBST(STR_1:1:7) = %SUBST(STR_2:1:7)> :> END> > のようにして比較すればスマートな記述で正しく動作しますので> お試しください。> IKDさん、ご回答ありがとうございます。D C#TEXT C CONST(' 東京都港区 ')C IF C#TEXT = %SUBST(DBの項目ID:1:11)で試してみましたが、IF判定はFALSEになりました。%SUBST(DBの項目ID:1:12)でも試してみましたが、ダメでした。
それはダメだと思います。IF C#TEXT = %SUBST( ...) の C#TEXT には港区0/Fの0/F も比較の文字として含まれています。つまり 12 バイトです。従って この比較はつねに FALSE の結果となります。面倒でも IF %SST(C#TEXT:1:11) = %SUBST( ... ) として11 バイトとして 0/0f を比較からはずした IF文で比較してください。