ステップ 5. 開始日の列をフォーマットする

INT012 - テンプレートとフォーマットでExcelドキュメントを作成する
現在のソリューションには、開始日 (Start Date) の列の書式が設定されないという問題があります。  開始日は、符号付きの数値で 6 桁の長さのフィールドになっています。このステップでは、開始日の列を日付タイプのフィールドに変換して、作業リストに含めます。その後、Excel の開始日列の書式も日付セルとして設定することができます。
1.      ファイルから STARTDTER を読み込んで変換し、作業リストには日付の作業フィールドを含めます。読み込むフィールドの GROUP_BY を挿入して、SELECT コマンドでこれを使用するようファンクションを変更します。コードは以下のようになります。
GROUP_BY NAME(#EMP_GRP) FIELDS(#empno #givename #surname #startdter #phonehme #salary)
.....
SELECT FIELDS(#EMP_GRP) FROM_FILE(pslmst1) WITH_KEY(#deptment #section) NBR_KEYS(*compute)
2.      作業リストで、フィールド STARTDTER を STD_DATEX で置き換えます。
3.      SELECT ループ内で、以下の操作を行うロジックを追加します。
STARTDTER が日付 (YYMMDD形式) かどうかを確認する。
        日付 (YYMMDD形式) の場合、STARTDTER をフィールド STD_DATEX に変換する。
        日付(YYMMDD形式) ではない場合、STD_DATEX を *SQLNULL に設定する。
         コードは以下のようになります。
CLR_LIST NAMED(#employs)
SELECT FIELDS(#EMP_GRP) FROM_FILE(pslmst1) WITH_KEY(#deptment #section) NBR_KEYS(*compute)
IF (#STARTDTER.IsDate( YYMMDD ))
#Std_Datex := #STARTDTER.AsDate( YYMMDD )
ELSE
#Std_Datex := *SQLNULL
ENDIF
ADD_ENTRY TO_LIST(#employs)
ENDSELECT
 
4.      EMPLOYS の DEF_LIST コマンドを変更し、フィールド LISTCOUNT を使ったカウンターを入れます。コードは以下のようになります。
Def_List Name(#employs) Fields(#empno #givename #surname #STD_DATEX #PHONEHME #salary) Counter(#listcount) Type(*working) Entrys(*max)
 
5.      開始日列の書式を日付として設定する ADD コマンドを追加します。コードは以下のようになります。