存货账龄分析报表(上)

其实,对于库龄计算,其实并不复杂,关于网上的FIFO,还不是很理解,但是,我跟同事理清了一下思路,把库龄分析的整个流程简单化:
   1.确定所要计算的库龄区间(一般分成6个区间)
   2.计算所在区间内的入库总量A(一般为正数)
   3.计算所在区间出库问题B(一般为负数)
   4.计算ABS(B)-A的值C,如果C>=0表示已经出库完(库中没有任何物料),库龄数量为0,若c<0表示没有出库完,应该计算其库龄数量ABS(C)。
下面是ABAP的报表程序:

***********************************************************************
* PROGRAM NAME        : ZMMR015
* PROGRAM PURPOSE     : 存货账龄分析报表
* AUTHOR              : 蓝志鹏
* DATA WRITTEN        : 2013-03-22
* NOTE                : 第二版本
***********************************************************************
*   DATE     |    MOD     | INITIAL  |         DESCRIPTION
*----------+------------+----------+----------------------------------*
* 2013-03-22 | DEVK903258| 蓝志鹏   | INITIAL PROGRAM CREATION
***********************************************************************
REPORT  ZMMR015.
TYPE-POOLS:SLIS.
TYPES: BEGIN OF TY_OUTPUT,
       ZSEL  TYPE C LENGTH 1,
       BUKRS TYPE MSEG-BUKRS,"公司代码
       WERKS TYPE MSEG-WERKS,"工厂
       LGORT TYPE MSEG-LGORT,"库位(库存地点)
       MATNR TYPE MSEG-MATNR,"物料号
       MAKTX TYPE MAKT-MAKTX,"物料描述
       MEINS TYPE MSEG-MEINS,"基本计量单位
       STOCK TYPE I,"当前库存
       STNM1 TYPE I,                                        "0-30天库龄数量
       TRMB1 TYPE P DECIMALS 2,                             "0-30天金额
       STNM2 TYPE I,                                        "31-60天库龄数量
       TRMB2 TYPE P DECIMALS 2,                             "31-60天金额
       STNM3 TYPE I,                                        "61-90天库龄数量
       TRMB3 TYPE P DECIMALS 2,                             "61-90天金额
       STNM4 TYPE I,"91-180天库龄数量
       TRMB4 TYPE P DECIMALS 2,                             "91-180天金额
       STNM5 TYPE I,"181-360天库龄数量
       TRMB5 TYPE P DECIMALS 2,                             "181-360天金额
       STNM6 TYPE I,                                        "361天以上库龄数量
       TRMB6 TYPE P DECIMALS 2,                             "361天以上金额
  END OF TY_OUTPUT.
TYPES: BEGIN OF TY_TOTAL,
       BUKRS TYPE MSEG-BUKRS,"公司代码
       WERKS TYPE MSEG-WERKS,"工厂
       LGORT TYPE MSEG-LGORT,"库位(库存地点)
       MATNR TYPE MSEG-MATNR,"物料号
       MAKTX TYPE MAKT-MAKTX,"物料描述
       MEINS TYPE MSEG-MEINS,"基本计量单位
       MENGE TYPE MSEG-MENGE,"数量
       BUDAT TYPE MKPF-BUDAT,"过账日期
       STPRS TYPE MBEW-STPRS,"标准价格
       PEINH TYPE MBEW-PEINH,"价格单位
       LABST TYPE MARD-LABST,"非限制使用库存
       INSME TYPE MARD-INSME,"质检库存
       SPEME TYPE MARD-SPEME,"冻结库存
       PRLAB TYPE MSPR-PRLAB,"项目库存
       KALAB TYPE MSKA-KALAB,"销售订单库存
       SLABS TYPE MKOL-SLABS,"寄售库存
       LBLAB TYPE MSLB-LBLAB,"委外供应商库存
  END OF TY_TOTAL.
TYPES: BEGIN OF TY_TMP1,
       BUKRS TYPE MSEG-BUKRS,"公司代码
       WERKS TYPE MSEG-WERKS,"工厂
       LGORT TYPE MSEG-LGORT,"库位(库存地点)
       MATNR TYPE MSEG-MATNR,"物料号
       MENGE TYPE MSEG-MENGE,"数量
       MBLNR TYPE MSEG-MBLNR,"物料凭证号
       MEINS TYPE MSEG-MEINS,"基本计量单位
       MAKTX TYPE MAKT-MAKTX,"物料描述
  END OF TY_TMP1.
TYPES: BEGIN OF TY_TMP2,
       WERKS TYPE MARD-WERKS,"工厂
       LGORT TYPE MARD-LGORT,"库位(库存地点)
       MATNR TYPE MARD-MATNR,"物料号
       LABST TYPE MARD-LABST,"非限制使用库存
       INSME TYPE MARD-INSME,"质检库存
       SPEME TYPE MARD-SPEME,"冻结库存
  END OF TY_TMP2.
TYPES: BEGIN OF TY_TMP3,
       WERKS TYPE MSKA-WERKS,"工厂
       LGORT TYPE MSKA-LGORT,"库位(库存地点)
       MATNR TYPE MSKA-MATNR,"物料号
       PRLAB TYPE MSPR-PRLAB,"项目库存
  END OF TY_TMP3.
TYPES: BEGIN OF TY_TMP4,
       WERKS TYPE MSKA-WERKS,"工厂
       LGORT TYPE MSKA-LGORT,"库位(库存地点)
       MATNR TYPE MSKA-MATNR,"物料号
       KALAB TYPE MSKA-KALAB,"销售订单库存
  END OF TY_TMP4.
TYPES: BEGIN OF TY_TMP5,
       WERKS TYPE MKOL-WERKS,"工厂
       LGORT TYPE MKOL-LGORT,"库位(库存地点)
       MATNR TYPE MKOL-MATNR,"物料号
       SLABS TYPE MKOL-SLABS,"寄售库存
  END OF TY_TMP5.
TYPES: BEGIN OF TY_TMP6,
       BUKRS TYPE MSEG-BUKRS,"公司代码
       WERKS TYPE MSEG-WERKS,"工厂
       LGORT TYPE MSEG-LGORT,"库位(库存地点)
       MATNR TYPE MSEG-MATNR,"物料号
       MBLNR TYPE MSEG-MBLNR,"物料凭证
       BUDAT TYPE MKPF-BUDAT,"过账日期
  END OF TY_TMP6.
TYPES: BEGIN OF TY_TMP7,
       BUKRS TYPE MSEG-BUKRS,"公司代码
       WERKS TYPE MSEG-WERKS,"工厂
       LGORT TYPE MSEG-LGORT,"库位(库存地点)
       MATNR TYPE MSEG-MATNR,"物料号
       MBLNR TYPE MSEG-MBLNR,"物料凭证
       STPRS TYPE MBEW-STPRS,"标准价格
       PEINH TYPE MBEW-PEINH,"价格单位
  END OF TY_TMP7.
TYPES: BEGIN OF TY_TMP8,
       WERKS TYPE MSLB-WERKS,"工厂
       MATNR TYPE MSLB-MATNR,"物料号
       LBLAB TYPE MSLB-LBLAB,"委外供应商库存
  END OF TY_TMP8.
DATA:
      GT_OUTPUT TYPE TABLE OF TY_OUTPUT,
      GS_OUTPUT TYPE TY_OUTPUT,
      GT_TOTAL TYPE TABLE OF TY_TOTAL,
      GS_TOTAL TYPE TY_TOTAL,
      GT_TEMP  TYPE TABLE OF TY_TOTAL,
      GS_TEMP  TYPE TY_TOTAL,
      GT_TEMP1  TYPE TABLE OF TY_TOTAL,
      GS_TEMP1  TYPE TY_TOTAL,
      GT_TEMP2  TYPE TABLE OF TY_TOTAL,
      GS_TEMP2  TYPE TY_TOTAL,
      GT_TEMP3  TYPE TABLE OF TY_TOTAL,
      GS_TEMP3  TYPE TY_TOTAL,
      GT_TEMP4  TYPE TABLE OF TY_TOTAL,
      GS_TEMP4  TYPE TY_TOTAL,
      GT_TEMP5  TYPE TABLE OF TY_TOTAL,
      GS_TEMP5  TYPE TY_TOTAL,
      GT_TEMP6  TYPE TABLE OF TY_TOTAL,
      GS_TEMP6  TYPE TY_TOTAL,
      GT_TMP1  TYPE TABLE OF TY_TMP1,
      GS_TMP1  TYPE TY_TMP1,
      GT_TMP2  TYPE TABLE OF TY_TMP2,
      GS_TMP2  TYPE TY_TMP2,
      GT_TMP3  TYPE TABLE OF TY_TMP3,
      GS_TMP3  TYPE TY_TMP3,
      GT_TMP4  TYPE TABLE OF TY_TMP4,
      GS_TMP4  TYPE TY_TMP4,
      GT_TMP5  TYPE TABLE OF TY_TMP5,
      GS_TMP5  TYPE TY_TMP5,
      GT_TMP6  TYPE TABLE OF TY_TMP6,
      GS_TMP6  TYPE TY_TMP6,
      GT_TMP7  TYPE TABLE OF TY_TMP7,
      GS_TMP7  TYPE TY_TMP7,
      GT_TMP8  TYPE TABLE OF TY_TMP8,
      GS_TMP8  TYPE TY_TMP8.
DATA:
      GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
      GT_FIELD TYPE SLIS_T_FIELDCAT_ALV,
      GS_FIELD LIKE LINE OF GT_FIELD.
DATA: G_FNAME TYPE RS38L_FNAM,
      G_CONTROL TYPE SSFCTRLOP.
DATA: DATA_NUM TYPE I."统计数据总数
DEFINE M_ALV_FIELDCAT.
  GS_FIELD-FIELDNAME = &1."字段名
  GS_FIELD-OUTPUTLEN = &2."列宽
  GS_FIELD-REPTEXT_DDIC = &3."列名
  GS_FIELD-EDIT      = &4."是否可编辑
  GS_FIELD-CHECKBOX    = &5."是否为复选框
  GS_FIELD-REF_FIELDNAME = &6."参考字段
  GS_FIELD-REF_TABNAME   = &7."参考表
  GS_FIELD-KEY = &8."主键
  GS_FIELD-NO_ZERO  = &9.
  APPEND GS_FIELD TO GT_FIELD.
  CLEAR GS_FIELD.
END-OF-DEFINITION.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
   MATNR FOR GS_OUTPUT-MATNR MODIF ID S1,
   WERKS FOR GS_OUTPUT-WERKS MODIF ID S2,
   LGORT FOR GS_OUTPUT-LGORT MODIF ID S3,
   BUKRS FOR GS_OUTPUT-BUKRS MODIF ID S4.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS A1 AS CHECKBOX MODIF ID P1.
SELECTION-SCREEN COMMENT (10) TEXT-003 FOR FIELD A1.
PARAMETERS A2 AS CHECKBOX MODIF ID P2.
SELECTION-SCREEN COMMENT (10) TEXT-004 FOR FIELD A2.
PARAMETERS A3 AS CHECKBOX MODIF ID P3.
SELECTION-SCREEN COMMENT (10) TEXT-005 FOR FIELD A3.
PARAMETERS A4 AS CHECKBOX MODIF ID P1.
SELECTION-SCREEN COMMENT (10) TEXT-006 FOR FIELD A4.
PARAMETERS A5 AS CHECKBOX MODIF ID P2.
SELECTION-SCREEN COMMENT (10) TEXT-007 FOR FIELD A5.
PARAMETERS A6 AS CHECKBOX MODIF ID P3.
SELECTION-SCREEN COMMENT (10) TEXT-008 FOR FIELD A6.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.


转载于:https://my.oschina.net/lanzp/blog/188358

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值