在集计时使用AT END OF方便。但是要注意的是,键以外的非数字部分都回变成“*”,为了避免这个问题可以定义一个临时工作区。
FORM FRM_EDIT_DATA . | ||||||
DATA: | ||||||
LW_PSPHI TYPE PRPS-PSPHI, "プロジェクト定義 | ||||||
LW_SUM1 TYPE ZKMEPSV0003-WKGBTR, "製品保証費 | ||||||
LW_SUM2 TYPE ZKMEPSV0003-WKGBTR, "仕掛品本受計 | ||||||
LTH_SYUKEI TYPE TYP_DATA. | ||||||
LOOP AT TD_SYUKEI INTO TH_SYUKEI. | ||||||
LTH_SYUKEI = TH_SYUKEI. | ||||||
*- 出力金額の求め(期中) | ||||||
IF RB_KITYU = CNS_FLG_ON. | ||||||
*- 原価要素=192 | ||||||
IF TH_SYUKEI-KSTAR = CNS_PARA192. | ||||||
LW_SUM1 = TH_SYUKEI-WKGBTR + LW_SUM1. "製品保証費 | ||||||
ELSE. | ||||||
LW_SUM2 = TH_SYUKEI-WKGBTR + LW_SUM2. "仕掛品本受計 | ||||||
ENDIF. | ||||||
AT END OF BUDAT. "転記日付 | ||||||
*-- プロジェクト定義の取得 | ||||||
PERFORM FRM_GET_PROJ USING LTH_SYUKEI-POSID | ||||||
CHANGING LW_PSPHI. "プロジェクト | ||||||
*-- ADRCからデータ抽出 | ||||||
PERFORM FRM_GET_ADRC USING LW_PSPHI. | ||||||
*-- 期中の出力金額 | ||||||
PERFORM FRM_EDIT_KITMONEY USING LW_SUM1 | ||||||
LW_SUM2. | ||||||
CLEAR:LW_SUM1, | ||||||
LW_SUM2. | ||||||
ENDAT. | ||||||
* (期末) |
ELSE. | ||||||
TH_MID1-BUDAT = TH_SYUKEI-BUDAT. "転記日付 | ||||||
TH_MID1-KSTAR = TH_SYUKEI-KSTAR. "原価要素 | ||||||
TH_MID1-WKGBTR = TH_SYUKEI-WKGBTR. "金額 | ||||||
APPEND TH_MID1 TO TD_MID1. | ||||||
AT END OF POSID. | ||||||
*-- 出荷工場本部の編集 | ||||||
TH_OUTTAB-ZZKSY = LTH_SYUKEI-ZZKSY. | ||||||
*-- 機種 | ||||||
TH_OUTTAB-ZZSYUKAKZHNB = LTH_SYUKEI-ZZSYUKAKZHNB_P. | ||||||
*-- 補無償区分 | ||||||
TH_OUTTAB-ZZHOMUSYOKBN = LTH_SYUKEI-ZZHOMUSYOKBN. | ||||||
*-- WBS要素 | ||||||
TH_OUTTAB-POSID = LTH_SYUKEI-POSID. | ||||||
*-- WBS要素名 | ||||||
TH_OUTTAB-POST1 = LTH_SYUKEI-POST1. | ||||||
*-- プロジェクト定義の取得 | ||||||
PERFORM FRM_GET_PROJ USING LTH_SYUKEI-POSID | ||||||
CHANGING LW_PSPHI. "プロジェクト | ||||||
*-- ADRCからデータ抽出 | ||||||
PERFORM FRM_GET_ADRC USING LW_PSPHI. | ||||||
*-- 期末の出力金額 | ||||||
PERFORM FRM_EDIT_MATMONEY. | ||||||
ENDAT. | ||||||
ENDIF. | ||||||
CLEAR: | ||||||
LTH_SYUKEI. | ||||||
ENDLOOP. | ||||||
ENDFORM. " FRM_EDIT_DATA | ||||||