背景説明:一定期間の研究開発(物品)経費を徴収します。
実装原則:このタイプのビジネスを特定するには、資材伝票上の空きフィールドを見つけます。市場での成熟したアプローチは、R&D ピッキング ビジネスを表すモバイル タイプを作成することです。
1.1 当期におけるこのタイプの有価証券の検索
SELECT
mseg~MBLNR,
mseg~ZEILE,
mseg~matnr,
mseg~werks,
mseg~ablad,
mseg~mat_pspnr,
mseg~menge,
mseg~aufnr,
mseg~dmbtr
INTO CORRESPONDING FIELDS OF TABLE @lt1 FROM mseg FOR ALL ENTRIES IN @gt_alv
WHERE mseg~ablad = @gt_alv-pspnr_char25
AND mseg~aufnr <> ''
and mseg~ablad <> ''
.
1.2 品目がV価格(移動平均原価型品目)かどうかの判定
MBEW、vprsv = 'V'、V 価格の場合、材料伝票の価格は移動平均後の価格になります。材料伝票の価格を直接取得するだけです。
1.3 材料に S 価格があるかどうかを確認します。標準価格の場合、価格は材料台帳から取得されます。
CKMLHD - 品目元帳: ヘッダーレコード
CKMLCR - 品目元帳: 期間要約レコード値
つまり、各トランザクションの合計材料 (単価 = 期間単価 / 価格単位) * 消費量; ckmlcr~pvprs、ckmlcr~peinh
関連条件:年、評価範囲、期間、品目番号、WBS要素
LOOP AT lt1 ASSIGNING FIELD-SYMBOL(<fs1>) WHERE ablad = <fs_alv>-pspnr_char25.
SELECT SINGLE mbew~vprsv,mbew~matnr,mbew~bwkey INTO @DATA(ls_w1)
FROM mbew WHERE mbew~bwkey = @<fs1>-werks AND mbew~matnr = @<fs1>-matnr.
IF ls_w1-vprsv = 'V'.
<fs_alv>-zyftz = <fs_alv>-zyftz + <fs1>-dmbtr.
ELSE.
SELECT ckmlcr~pvprs ,ckmlcr~peinh INTO TABLE @DATA(lt_d1)
FROM ckmlhd LEFT JOIN ckmlcr ON ckmlcr~kalnr = ckmlhd~kalnr WHERE
ckmlhd~matnr = @ls_w1-matnr
AND ckmlhd~bwkey = @ls_w1-bwkey
AND ckmlhd~pspnr = @<fs1>-mat_pspnr
AND ckmlcr~poper IN @s_rpmax
AND ckmlcr~bdatj IN @s_ryear.
LOOP AT lt_d1 INTO DATA(ls_d1).
<fs_alv>-zyftz = <fs_alv>-zyftz + ( ls_d1-pvprs / ls_d1-peinh * <fs1>-menge ).
ENDLOOP.
ENDIF.
ENDLOOP.