ステップ4. 出力の書式を設定するDEFINEコマンドを追加する

LANSA Integrator

ステップ4. 出力の書式を設定するDEFINEコマンドを追加する


1.   『LANSA Integrator ガイド』でExcelReadServiceのDEFINEコマンドを確認します。

      WRITEコマンドを使用する前に、DEFINEコマンドを使用してセルの書式を設定してください。

2.   『LANSA Integrator ガイド』にある情報に基づいて、Salary列の書式を小数第2位までの数字で設定する方法を検討します。通常、多くのDEFINEコマンドを使用して、Excelドキュメントの各種書式を設定する必要があります。この場合、OBJECT、COLUMN、RANGE、TYPE、FORMATの各キーワードを定義してください。iiiFN14で追加されたコードは以下のようになります。

#jsmxcmd := 'DEFINE OBJECT(*CELLFORMAT) COLUMN(7) RANGE(5,38) TYPE(*NUMBER) FORMAT(*FORMAT3)'

USE BUILTIN(jsmx_command) WITH_ARGS(#jsmxhdle1 #jsmxcmd) TO_GET(#jsmsts #jsmmsg)

EXECUTE SUBROUTINE(CHECK_STS)
 

3.   ファンクションiiiFN14を再コンパイルして再度テストします。

4.   Excelでドキュメントを開いて結果を確認します。結果は以下のようになります。

      Salary列の書式は正しく設定されますが、Employeeエリアの左側と右側の境界線がなくなっています。

      Salary列の書式を確認するには、セルを選択して右クリック・メニューの[セルの書式設定]を使用します。

5.   既存のDEFINEコマンドを拡張して、Salary列の右側に細い境界線を追加できます。このためには、DEFINEコマンドにBORDERTYPEキーワードとBORDERキーワードを追加します。コードは以下のようになります。

#jsmxcmd := 'DEFINE OBJECT(*CELLFORMAT) COLUMN(7) RANGE(5,38) TYPE(*NUMBER) FORMAT(*FORMAT3) BORDERSTYLE(*THIN) BORDER(*RIGHT)'
USE BUILTIN(jsmx_command) WITH_ARGS(#jsmxhdle1 #jsmxcmd) TO_GET(#jsmsts #jsmmsg)
EXECUTE SUBROUTINE(CHECK_STS)

6.   Employee Number列にも細い境界線を追加する必要があります。このためには、ファンクションに別のDEFINEコマンドを追加してください。コードは以下のようになります。

#jsmxcmd := 'DEFINE OBJECT(*CELLFORMAT) COLUMN(2) RANGE(5,38) TYPE(*STRING) FORMAT(*DEFAULT) BORDERSTYLE(*THIN) BORDER(*LEFT)'

USE BUILTIN(jsmx_command) WITH_ARGS(#jsmxhdle1 #jsmxcmd) TO_GET(#jsmsts #jsmmsg)

EXECUTE SUBROUTINE(CHECK_STS)

7.   ファンクションiiiFN14をコンパイルして再度テストします。Excelドキュメントは以下のようになります。