7.63.3 KEEP_COUNTの使用例

LANSA

7.63.3 KEEP_COUNTの使用例


人事ファイルには、従業員の詳細と、その従業員の部門、部課、および給与が保持されています。部門および部課のカウントの詳細と、部門別および部課別の給与合計を印刷します。

DEF_LINE NAME(#DETAIL) FIELDS(#EMPNO #FULLNAME #DEPTMENT #SECTION #SALARY)
*
DEF_BREAK NAME(#SECSUM) FIELDS(#DEPTMENT #SECTION #DEM_SCTOT #DEM_SCSEM) TRIGGER_BY(#DEPTMENT #SECTION)
DEF_BREAK NAME(#DEPSUM) FIELDS(#DEPTMENT #DEM_DPTOT #DEM_DPSEM) TRIGGER_BY(#DEPTMENT)
*
SELECT FIELDS(#DETAIL) FROM_FILE(PERSNEL)
KEEP_COUNT OF_FIELD(#EMPNO) IN_FIELD(#DEM_DPSEM) BY_FIELD(#DEPTMENT)
KEEP_COUNT OF_FIELD(#EMPNO) IN_FIELD(#DEM_SCSEM) BY_FIELD(#DEPTMENT #SECTION)
KEEP_TOTAL OF_FIELD(#SALARY) IN_FIELD(#DEM_DPTOT) BY_FIELD(#DEPTMENT)
KEEP_TOTAL OF_FIELD(#SALARY) IN_FIELD(#DEM_SCTOT) BY_FIELD(#DEPTMENT #SECTION)
PRINT LINE(#DETAIL)
ENDSELECT
*
ENDPRINT