为什么80%的码农都做不了架构师?>>>   

*----------------------------------------------------------------------*
* INITIALIZATION                                                       *
*----------------------------------------------------------------------*
INITIALIZATION.PERFORM FRM_INITIALIZATION.
*----------------------------------------------------------------------*
* AT SELECTION-SCREEN OUTPUT                                           *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.PERFORM FRM_MODIFY_SCREEN.
*----------------------------------------------------------------------*
* AT SELECTION-SCREEN                                                  *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.PERFORM FRM_CHECK_INPUT.
*----------------------------------------------------------------------*
* START-OF-SELECTION                                                   *
*----------------------------------------------------------------------*
START-OF-SELECTION.PERFORM FRM_RETRIVE_DATA.PERFORM FRM_PROCESS_DATA.
*----------------------------------------------------------------------*
* END-OF-SELECTION                                                     *
*----------------------------------------------------------------------*
END-OF-SELECTION.PERFORM FRM_OUTPUT.
*&---------------------------------------------------------------------*
*&      Form  frm_initialization
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  DO NOTHING.
*----------------------------------------------------------------------*
FORM FRM_INITIALIZATION.
ENDFORM."frm_initialization.
*&---------------------------------------------------------------------*
*&      Form  frm_modify_screen.
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  FILL LIST BOX--->Do Nothing...
*----------------------------------------------------------------------*
FORM FRM_MODIFY_SCREEN.
*  TYPE-POOLS:VRM.
*
*  DATA: NAME TYPE VRM_ID,"名称
*     LIST TYPE VRM_VALUES,"值
*     VALUE LIKE LINE OF LIST."结构
*
*  CLEAR LIST.
*
*  DEFINE FILL_LIST.
*    VALUE-KEY = &1.
*    VALUE-TEXT = &2.
*    APPEND VALUE TO LIST.
*  END-OF-DEFINITION.
*
*  FILL_LIST '0-30天' '0-30天'.
*  FILL_LIST '31-60天' '31-60天'.
*  FILL_LIST '61-90天' '61-90天'.
*  FILL_LIST '91-180天' '91-180天'.
*  FILL_LIST '181-360天' '181-360天'.
*  FILL_LIST '361天以上' '361天以上'.
*
*  CALL FUNCTION 'VRM_SET_VALUES'
*    EXPORTING
*      id                    = 'STKYR'
*      values                = LIST
*   EXCEPTIONS
*     ID_ILLEGAL_NAME       = 1
*     OTHERS                = 2
*            .
*  IF sy-subrc <> 0.
*    MESSAGE '程序初始化失败!请联系管理员。' TYPE 'E'.
*  ENDIF.
ENDFORM."frm_modify_screen.
*&---------------------------------------------------------------------*
*&      Form  frm_check_input.
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  DOUBLE CHECK WERKS VALUE.
*----------------------------------------------------------------------*
FORM FRM_CHECK_INPUT.
*  IF BUKRS IS  INITIAL.
*    MESSAGE '公司代码不能为空!' TYPE 'E'.
*    LEAVE LIST-PROCESSING.
*  ENDIF.
ENDFORM."frm_check_input
*&---------------------------------------------------------------------*
*&      Form  frm_retrive_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  DO NOTHING EITHER.
*----------------------------------------------------------------------*
FORM FRM_RETRIVE_DATA.SELECT A~BUKRS A~WERKS A~LGORT A~MATNR A~MENGE A~MEINS A~MBLNR B~MAKTX INTO CORRESPONDING FIELDS OF TABLE GT_TMP1FROM MSEG AS ALEFT JOIN MAKT AS B ON A~MATNR = B~MATNRWHERE A~MATNR IN MATNR AND A~WERKS IN WERKS AND A~LGORT IN LGORT AND A~BUKRS IN BUKRS AND A~SHKZG = 'S'.SELECT A~WERKS A~LGORT A~MATNR A~LABST A~INSME A~SPEME INTO CORRESPONDING FIELDS OF TABLE GT_TMP2FROM MARD AS AFOR ALL ENTRIES IN GT_TMP1WHERE A~MATNR = GT_TMP1-MATNR AND A~WERKS = GT_TMP1-WERKS AND A~LGORT = GT_TMP1-LGORT.SELECT A~WERKS A~LGORT A~MATNR A~PRLAB INTO CORRESPONDING FIELDS OF TABLE GT_TMP3FROM MSPR AS AFOR ALL ENTRIES IN GT_TMP1WHERE A~MATNR = GT_TMP1-MATNR AND A~WERKS = GT_TMP1-WERKS AND A~LGORT = GT_TMP1-LGORT.SELECT A~WERKS A~LGORT A~MATNR A~KALAB INTO CORRESPONDING FIELDS OF TABLE GT_TMP4FROM MSKA AS AFOR ALL ENTRIES IN GT_TMP1WHERE A~MATNR = GT_TMP1-MATNR AND A~WERKS = GT_TMP1-WERKS AND A~LGORT = GT_TMP1-LGORT.SELECT A~WERKS A~LGORT A~MATNR A~SLABS INTO CORRESPONDING FIELDS OF TABLE GT_TMP5FROM MKOL AS AFOR ALL ENTRIES IN GT_TMP1WHERE A~MATNR = GT_TMP1-MATNR AND A~WERKS = GT_TMP1-WERKS AND A~LGORT = GT_TMP1-LGORT.SELECT A~BUKRS A~WERKS A~LGORT A~MATNR A~MBLNR B~BUDAT INTO CORRESPONDING FIELDS OF TABLE GT_TMP6FROM MSEG AS AINNER JOIN MKPF AS B ON A~MBLNR = B~MBLNRFOR ALL ENTRIES IN GT_TMP1WHERE A~MATNR = GT_TMP1-MATNR AND A~WERKS = GT_TMP1-WERKS AND A~LGORT = GT_TMP1-LGORT AND A~BUKRS = GT_TMP1-BUKRS AND A~MBLNR = GT_TMP1-MBLNR.SELECT A~BUKRS A~WERKS A~LGORT A~MATNR A~MBLNR B~STPRS B~PEINH INTO CORRESPONDING FIELDS OF TABLE GT_TMP7FROM MSEG AS AINNER JOIN MBEW AS B ON A~WERKS = B~BWKEY AND A~MATNR = B~MATNRFOR ALL ENTRIES IN GT_TMP6WHERE A~MATNR = GT_TMP6-MATNR AND A~WERKS = GT_TMP6-WERKS AND A~LGORT = GT_TMP6-LGORT AND A~BUKRS = GT_TMP6-BUKRS AND A~MBLNR = GT_TMP6-MBLNR.SELECT A~WERKS A~MATNR A~LBLAB INTO CORRESPONDING FIELDS OF TABLE GT_TMP8FROM MSLB AS AFOR ALL ENTRIES IN GT_TMP1WHERE A~MATNR = GT_TMP1-MATNR AND A~WERKS = GT_TMP1-WERKS.CLEAR: GT_TEMP[],GS_TEMP.LOOP AT GT_TMP1 INTO GS_TMP1.GS_TEMP-BUKRS = GS_TMP1-BUKRS.GS_TEMP-WERKS = GS_TMP1-WERKS.GS_TEMP-LGORT = GS_TMP1-LGORT.GS_TEMP-MATNR = GS_TMP1-MATNR.GS_TEMP-MAKTX = GS_TMP1-MAKTX.GS_TEMP-MENGE = GS_TMP1-MENGE.GS_TEMP-MEINS = GS_TMP1-MEINS.READ TABLE GT_TMP2 INTO GS_TMP2 WITH KEY WERKS = GS_TMP1-WERKS  LGORT = GS_TMP1-LGORT MATNR = GS_TMP1-MATNR.IF SY-SUBRC = 0.GS_TEMP-LABST = GS_TMP2-LABST.GS_TEMP-INSME = GS_TMP2-INSME.GS_TEMP-SPEME = GS_TMP2-SPEME.ENDIF.READ TABLE GT_TMP3 INTO GS_TMP3 WITH KEY WERKS = GS_TMP1-WERKS LGORT = GS_TMP1-LGORT MATNR = GS_TMP1-MATNR.IF SY-SUBRC = 0.GS_TEMP-PRLAB = GS_TMP3-PRLAB.ENDIF.READ TABLE GT_TMP4 INTO GS_TMP4 WITH KEY WERKS = GS_TMP1-WERKS LGORT = GS_TMP1-LGORT MATNR = GS_TMP1-MATNR.IF SY-SUBRC = 0.GS_TEMP-KALAB = GS_TMP4-KALAB.ENDIF.READ TABLE GT_TMP5 INTO GS_TMP5 WITH KEY WERKS = GS_TMP1-WERKS LGORT = GS_TMP1-LGORT MATNR = GS_TMP1-MATNR.IF SY-SUBRC = 0.GS_TEMP-SLABS = GS_TMP5-SLABS.ENDIF.READ TABLE GT_TMP6 INTO GS_TMP6 WITH KEY BUKRS = GS_TMP1-BUKRS WERKS = GS_TMP1-WERKS LGORT = GS_TMP1-LGORT MATNR = GS_TMP1-MATNR MBLNR = GS_TMP1-MBLNR.IF SY-SUBRC = 0.GS_TEMP-BUDAT = GS_TMP6-BUDAT.ENDIF.READ TABLE GT_TMP7 INTO GS_TMP7 WITH KEY BUKRS = GS_TMP1-BUKRS WERKS = GS_TMP1-WERKS LGORT = GS_TMP1-LGORT MATNR = GS_TMP1-MATNR MBLNR = GS_TMP1-MBLNR.IF SY-SUBRC = 0.GS_TEMP-STPRS = GS_TMP7-STPRS.GS_TEMP-PEINH = GS_TMP7-PEINH.ENDIF.READ TABLE GT_TMP8 INTO GS_TMP8 WITH KEY WERKS = GS_TMP1-WERKS MATNR = GS_TMP1-MATNR.IF SY-SUBRC = 0.GS_TEMP-LBLAB = GS_TMP8-LBLAB.ENDIF.APPEND GS_TEMP TO GT_TEMP.CLEAR GS_TEMP.ENDLOOP.LOOP AT GT_TEMP INTO GS_TEMP.APPEND GS_TEMP TO GT_TEMP1.APPEND GS_TEMP TO GT_TEMP2.APPEND GS_TEMP TO GT_TEMP3.APPEND GS_TEMP TO GT_TEMP4.APPEND GS_TEMP TO GT_TEMP5.APPEND GS_TEMP TO GT_TEMP6.ENDLOOP.LOOP AT GT_TEMP INTO GS_TEMP.MOVE-CORRESPONDING GS_TEMP TO GS_OUTPUT.COLLECT GS_OUTPUT INTO GT_OUTPUT.ENDLOOP.DATA: FIRSTDAY TYPE D,LASTDATE TYPE D.
*IF A1 IS INITIAL AND A2 IS INITIAL AND A3 IS INITIAL AND A4 IS INITIAL AND A5 IS INITIAL AND A6 IS INITIAL OR A6 = 'X'.A1 = 'X'.A2 = 'X'.A3 = 'X'.A4 = 'X'.A5 = 'X'.A6 = 'X'.ENDIF.DATA: T1 LIKE A1,T2 LIKE A2,T3 LIKE A3,T4 LIKE A4,T5 LIKE A5,T6 LIKE A6.T1 = A1.T2 = A2.T3 = A3.T4 = A4.T5 = A5.T6 = A6.IF A5 = 'X' AND A6 = ''.A1 = 'X'.A2 = 'X'.A3 = 'X'.A4 = 'X'.ENDIF.IF A4 = 'X' AND A5 = '' AND A6 = ''.A1 = 'X'.A2 = 'X'.A3 = 'X'.ENDIF.IF A3 = 'X'AND A4 = '' AND A5 = '' AND A6 = ''.A1 = 'X'.A2 = 'X'.ENDIF.IF A2 = 'X' AND A1 = ''.A1 = 'X'.ENDIF.DATA: STOCK1 TYPE I,STOCK2 TYPE I,STOCK3 TYPE I,STOCK4 TYPE I,STOCK5 TYPE I,CURRENT_STOCK TYPE I.TYPES:BEGIN OF TY_CURRENT_STOCK,BUKRS TYPE MSEG-BUKRS,"公司代码WERKS TYPE MSEG-WERKS,"工厂LGORT TYPE MSEG-LGORT,"库位(库存地点)MATNR TYPE MSEG-MATNR,"物料号MAKTX TYPE MAKT-MAKTX,"物料描述STOCK TYPE I,MENGE1 TYPE MSEG-MENGE,MENGE2 TYPE MSEG-MENGE,MENGE3 TYPE MSEG-MENGE,MENGE4 TYPE MSEG-MENGE,MENGE5 TYPE MSEG-MENGE,MENGE6 TYPE MSEG-MENGE,END OF TY_CURRENT_STOCK.DATA: GT_STOCK TYPE TABLE OF TY_CURRENT_STOCK,GS_STOCK TYPE TY_CURRENT_STOCK.

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

存货账龄分析报表(中)相关推荐

  1. 存货账龄分析报表(上)

    为什么80%的码农都做不了架构师?>>>    其实,对于库龄计算,其实并不复杂,关于网上的FIFO,还不是很理解,但是,我跟同事理清了一下思路,把库龄分析的整个流程简单化:1.确定 ...

  2. 存货账龄分析报表(中四)

    为什么80%的码农都做不了架构师?>>>    IF A5 = 'X'. "180-360天CLEAR: GS_TOTAL,GT_TOTAL[].CALL FUNCTION ...

  3. 存货账龄分析报表(中三)

    为什么80%的码农都做不了架构师?>>>    IF A3 = 'X'. "60-90天CLEAR: GS_TOTAL,GT_TOTAL[].CALL FUNCTION ' ...

  4. 存货账龄分析报表(下)

    为什么80%的码农都做不了架构师?>>>    *&------------------------------------------------------------- ...

  5. 水晶报表中对某一栏位值进行处理_合并报表——非同一控制下的企业合并amp;同一控制下的企业合并...

    [写在前面] 长期股权投资企业的一种投资行为,投资方通过该行为享有被投资单位的股利分配.净利润等投资收益,处理的是母公司(投资方)的个别财务报表. 只有控股合并才需要编制合并报表,意味着后续计量采用的 ...

  6. SAP 谈谈存货分析报表

    MM物料管理模块中涉及存货.而对存货进行报表分析显得尤为重要.对于存货分析,SAP提供了一大堆MC.*的报表,但基本无企业用,因为大部分是基于信息结构,非常不准确!也很难利用起来.下面是库存分析中的一 ...

  7. c语言向表格内存入数据,怎么实现横向到存入多个单元格,在列数固定的报表中逐格横向填充数据并折行...

    在很多需要打印的报表中,受限于纸张的大小,往往会限制行数或者固定列数.我们在<单据类报表的制作>一文中,曾经介绍了限制了行数的情况如何实现,现在,我们再来看一下,在固定了列数的情况下,如果 ...

  8. 填报表中也可以添加 html 事件

    在实际的项目开发中,填报表的应用十分广泛. 多数情况下,填报表会作为整个项目的一部分配合需求灵活使用,但有时也会受大项目环境的影响,产生一些特别的要求.比如,通常报表单元格的数据类型大多是文本,有时却 ...

  9. 使用ROW_NUMBER 和partition by 解决报表中的查询问题

    在报表中遇到一个查询问题: 原始数据如下: Id cust_id call_date call_result 1 1 2012-03-15 09:00:00 fail 2 1 2012-03-15 0 ...

最新文章

  1. 点击图片放大,再点击缩小的代码段
  2. cad2014卡顿的解决方法_微软Office打开文件卡顿、缓慢的解决方法
  3. 以IP段作为监听地址
  4. System.Net.Cookie
  5. javascript indexOf函数
  6. Eclipse去除js(JavaScript)验证错误
  7. 互联网新人最热门去处:前三名毫无意外!
  8. php不能连接远程mysql_无法远程连接mysql怎么办
  9. games101 材质与外观
  10. java-for循环9的倍数(基础)
  11. 多元函数中的偏导数全导数以及隐函数
  12. Arduino制作跑马灯
  13. 更新xcode至12.3,编译报错Building for iOS, but the linked and embedded framework ‘xxx.framework’ was buil...
  14. js中数组的几种循环方式
  15. 经典机器学习算法:高斯判别分析GDA
  16. UVa 321 The New Villa,2B青年怒找卧室
  17. 48亿卖给苏宁!又一全球巨头败走中国
  18. Dell灵越7580拆机照片
  19. 酷开系统,打造更多可能
  20. 卫星星座介绍及系统参数:Starlink星座

热门文章

  1. Graph Convolutional Networks
  2. 回望过去,展望未来---关于2015it报告的总结
  3. Vivado 安装后添加芯片型号方法
  4. 图片采集器-网页图片批量采集器免费
  5. java为属性提供访问器方法_关于继承:Java不继承访问器方法吗?
  6. axios拦截器封装与使用
  7. 2008 奥运会开幕式 色彩绚烂 方块太小
  8. 微信小程序海报分享及好友分享
  9. 十大经典排序算法总结(JavaScript描述)
  10. 旧手机利用 第二弹 ——网络摄像头