ステップ6. 給与合計の式を挿入する
このステップでは、ADDコマンドを使用して給与合計列を合計する式を挿入します。
1. 社員のリストをロードするSELECT/ENDSELECTループのすぐ下に、合計行を挿入するコードを追加します。コードは以下のようになります。
* Insert total line
#employs := *null
#surname := 'Salary Total:'
Add_Entry To_List(#employs)
2. WRITE to Excel ロジックの前に、合計行のセルをフォーマットするDEFINEコマンドを追加します。ここでは、合計行では開始日の列がブランクになるように、開始日の列のセルをフォーマットする必要があります。以下のコードを追加します。
* Format total line
#std_num := #listcount +
4
#jsmxcmd := 'DEFINE OBJECT(*CELLFORMAT) COLUMN(5) RANGE(' +
#std_num.asstring + ',' + #std_num.asstring + ') TYPE(*BLANK)'
Use
Builtin(jsmx_command) With_Args(#jsmxhdle1 #jsmxcmd) To_Get(#jsmsts
#jsmmsg)
Execute Subroutine(CHECK_STS)
上記のコードを再確認します。
- RANGE パラメータには、フォーマットする行の範囲が含まれていなければなりません。形式はRANGE(n,n)です。
- 合計行の位置は社員の作業リストに追加された行数により計算されなければなりません。
3. WRITE to Excel ロジックに続き、以下のコードを追加します。
* Add Total Salary Formula
#std_num := (#listcount +
3)
#listcount += 4
*
#jsmxcmd := 'ADD OBJECT(*FORMULA)
FORMULA("SUM(G5:G' + #std_num.asstring + ')") R1C1(' + #listcount.asstring +
',7)'
Use Builtin(jsmx_command) With_Args(#jsmxhdle1 #jsmxcmd) To_Get(#jsmsts
#jsmmsg)
Execute Subroutine(CHECK_STS)
- STD_NUM は、Excel SUM式の最後の行番号を提供します。
- LISTCOUNT は、式を挿入する行番号を提供します。リストはExcelドキュメントの5行目に挿入されるので、LISTCOUNTの値は4ずつ増やされます。
- Excelの式は二重引用符で囲まれていなければなりません。
- 式には"=" の記号も含んでください。これは自動的に挿入されます。
- ADDコマンドは式、イメージ、設定、ハイパーリンクの挿入をサポートしています。詳細については、LANSA Integratorガイドを参照してください。
4. ファンクションを再コンパイルし、式が正しく挿入されているか確認します。