現在のソリューションには、開始日 (Start Date) の列の書式が設定されないという問題があります。 開始日は、符号付きの数値で 6 桁の長さのフィールドになっています。このステップでは、開始日の列を日付タイプのフィールドに変換して、作業リストに含めます。その後、Excel の開始日列の書式も日付セルとして設定することができます。
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)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 := *SQLNULLENDIFADD_ENTRY TO_LIST(#employs)ENDSELECT
Def_List Name(#employs) Fields(#empno #givename #surname #STD_DATEX #PHONEHME #salary) Counter(#listcount) Type(*working) Entrys(*max)*開始日列をフォーマットする#std_num := #listcount + 3#jsmxcmd := 'ADD OBJECT(*CELLSTYLE) COLUMN(5) RANGE(5,' + #std_num.asstring + ') TYPE(*DATE) FORMAT(*FORMAT2)'Use Builtin(jsmx_command) With_Args(#jsmxhdle1 #jsmxcmd) To_Get(#jsmsts #jsmmsg)Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)*列幅の設定 - 給与#jsmxcmd := 'SET OBJECT(*COLUMNWIDTH) RANGE(7) WIDTH(3260)'USE BUILTIN(jsmx_command) WITH_ARGS(#jsmxhdle1 #jsmxcmd) TO_GET(#jsmsts #jsmmsg)EXECUTE SUBROUTINE(CHECK_STS) With_Parms(#JSMXHDLE1)
