赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

快捷登录

查看: 456|回复: 0

[FICO] 取实际成本的一段代码

[复制链接]
发表于 2021-7-29 15:36:13 | 显示全部楼层 |阅读模式
微信图片_20210729153816.png

下载.png


FUNCTION ZFM_GET_MATERIAL_COSTING.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(I_WERKS) TYPE  WERKS_D
*"     VALUE(I_YEAR) TYPE  GJAHR
*"     VALUE(I_PERIOD) TYPE  MONAT
*"     VALUE(I_MATNR_LOW) TYPE  MATNR
*"     VALUE(I_MATNR_HIGH) TYPE  MATNR OPTIONAL
*"  TABLES
*"      T_COST STRUCTURE  ZFIS001
*"----------------------------------------------------------------------

  TYPES:BEGIN OF TY_KEKO,
          MATNR LIKE KEKO-MATNR,
          KALNR LIKE KEKO-KALNR,
        END OF TY_KEKO.

  DATA:IT_KEKO TYPE TABLE OF TY_KEKO WITH HEADER LINE.
  RANGES : LR_MATNR FOR IT_KEKO-MATNR.

  CLEAR : LR_MATNR[],LR_MATNR.
  LR_MATNR-SIGN = 'I'.
  LR_MATNR-OPTION = 'BT'.
  LR_MATNR-LOW = I_MATNR_LOW.
  IF I_MATNR_HIGH IS INITIAL.
    LR_MATNR-HIGH = I_MATNR_LOW.
  ELSE.
    LR_MATNR-HIGH = I_MATNR_HIGH.
  ENDIF.
  APPEND LR_MATNR.

  CLEAR : IT_KEKO.
  SELECT MATNR
         KALNR
    INTO CORRESPONDING FIELDS OF TABLE IT_KEKO
    FROM KEKO
   WHERE MATNR IN LR_MATNR[]
     AND WERKS = I_WERKS.

  CHECK IT_KEKO[] IS NOT INITIAL.
  SORT IT_KEKO BY MATNR KALNR.
  DELETE ADJACENT DUPLICATES FROM IT_KEKO.

  CLEAR:T_COST[],T_COST.
  LOOP AT IT_KEKO.
    CLEAR T_COST.
    SELECT CKMLPRKEKO~PRTYP
           CKMLPRKEKO~LOSGR
           CKMLPRKEKO~MEINS
           CKMLPRKEPH~KST001
      CKMLPRKEPH~KST002
           CKMLPRKEPH~KST003
      CKMLPRKEPH~KST004
           CKMLPRKEPH~KST005
      CKMLPRKEPH~KST006
           CKMLPRKEPH~KST008 AS KST007
      INTO CORRESPONDING FIELDS OF T_COST
      FROM CKMLPRKEPH
      INNER JOIN CKMLPRKEKO ON CKMLPRKEKO~KALNR = CKMLPRKEPH~KALNR
                           AND CKMLPRKEKO~BDATJ = CKMLPRKEPH~BDATJ
                           AND CKMLPRKEKO~POPER = CKMLPRKEPH~POPER
                           AND CKMLPRKEKO~PRTYP = CKMLPRKEPH~PRTYP
                           AND CKMLPRKEKO~PRTYP = CKMLPRKEPH~PRTYP
                           AND CKMLPRKEKO~UNTPER = CKMLPRKEPH~UNTPER
                           AND CKMLPRKEKO~CURTP = CKMLPRKEPH~CURTP
     WHERE CKMLPRKEPH~KALNR = IT_KEKO-KALNR
       AND CKMLPRKEPH~BDATJ = I_YEAR
       AND CKMLPRKEPH~POPER = I_PERIOD
       AND CKMLPRKEPH~KKZST = ''
       AND CKMLPRKEPH~CURTP = '10'.
      T_COST-MATNR = IT_KEKO-MATNR.
      T_COST-WERKS = I_WERKS.
      T_COST-BDATJ = I_YEAR.
      T_COST-POPER = I_PERIOD.
      APPEND T_COST.
      CLEAR T_COST.
    ENDSELECT.
  ENDLOOP.



ENDFUNCTION.

最近访客

  • wx_16126
    2024-04-10
  • wx_47322
    2023-06-13
  • 2022-08-19
  • 2022-02-27
  • 快乐小鱼
    2022-02-14
  • tbb1177
    2022-01-26
  • sapxf
    2022-01-19
  • 稻草人20
    2022-01-18
  • tjulcl
    2022-01-04
  • CY8122
    2021-12-20
  • 6152794@
    2021-12-19
  • 夕木
    2021-11-08
  • 孙敬
    2021-10-29
  • admin
    2021-10-22
  • 早早
    2021-09-13
  • dragon_c
    2021-08-10
  • mysioncy
    2021-08-05




上一篇:如何让OB52前台操作可修改
下一篇:AC519错误
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-4-30 10:26 , Processed in 0.735569 second(s), 52 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表