zoukankan      html  css  js  c++  java
  • 采购单未收货明细范例

    REPORT  Y001.
    TABLESEKKO,EKET,EKPO.
    * 定义内表
    DATABEGIN OF ITAB OCCURS 0,
          EBELN LIKE EKKO-EBELN,
          MENGE LIKE EKPO-MENGE,
          WEMNG LIKE EKET-WEMNG,
    END OF ITAB.

    * 定义数据
    DATAMATNR LIKE EKPO-MATNR,
        MENGE LIKE EKPO-MENGE,
          WEMNG LIKE EKET-WEMNG,
          EBELN LIKE EKPO-EBELN.

    * 定义选择屏幕
    SELECT-OPTIONSEBELN1 FOR EKKO-EBELN,
                    BEDAT FOR EKKO-BEDAT,
                    EKGRP FOR EKKO-EKGRP.
    PARAMETERSR1 RADIOBUTTON GROUP RADI,
                R2 RADIOBUTTON GROUP RADI,
                R3 RADIOBUTTON GROUP RADI.

    * 查询数据
    SELECT K~EBELN INTO CORRESPONDING FIELDS OF TABLE ITAB
    FROM EKKO AS K
    WHERE K~EBELN IN EBELN1
      AND K~BEDAT IN BEDAT
      AND K~EKGRP IN EKGRP.

    LOOP AT ITAB.
    SELECT SUMMENGE INTO ITAB-MENGE FROM EKPO
    WHERE EBELN EQ ITAB-EBELN.
    MODIFY ITAB.
    ENDLOOP

    LOOP AT ITAB.
    SELECT SUMWEMNG INTO ITAB-WEMNG FROM EKET
    WHERE EBELN EQ ITAB-EBELN.
    MODIFY ITAB.
    ENDLOOP.

    * 定义输出界面
    TOP-OF-PAGE .
    WRITE/'采购凭证号',
         22 '物料号码',
         47 '采购订单数量',
         77 '收到货物数量',
         95 '完成标志'.
    ULINE AT /1(130).
    END-OF-PAGE .

    START-OF-SELECTION.

    * 数据输出
    IF R1 'X'.
    LOOP AT ITAB.
    SELECT S~MATNR S~MENGE P~WEMNG S~EBELN
    INTO (MATNRMENGEWEMNGEBELN)
    FROM EKPO AS S INNER JOIN EKET AS P
    ON S~EBELP P~EBELP AND S~EBELN P~EBELN
    WHERE S~EBELN ITAB-EBELN.
    IF ITAB-MENGE > ITAB-WEMNG.
    WRITE/2 EBELN,23 MATNR,41 MENGE,71 WEMNG,97 '否'.
    ULINE AT /1(130).
    CLEAREBELN,MATNR,MENGE,WEMNG.
    ENDIF.
    ENDSELECT.
    ENDLOOP.

    ELSEIF R2 'X'.
    LOOP AT ITAB.
    SELECT S~MATNR S~MENGE P~WEMNG S~EBELN
    INTO (MATNRMENGEWEMNGEBELN)
    FROM EKPO AS S INNER JOIN EKET AS P
    ON S~EBELP P~EBELP AND S~EBELN P~EBELN
    WHERE S~EBELN ITAB-EBELN.
    IF ITAB-MENGE <= ITAB-WEMNG.
    WRITE/2 EBELN,23 MATNR,41 MENGE,71 WEMNG,97 '是'.
    ULINE AT /1(130).
    CLEAREBELN,MATNR,MENGE,WEMNG.
    ENDIF.
    ENDSELECT.
    ENDLOOP.
    ELSE.

    LOOP AT ITAB

    SELECT S~MATNR S~MENGE P~WEMNG S~EBELN
    INTO (MATNRMENGEWEMNGEBELN)
    FROM EKPO AS S INNER JOIN EKET AS P
    ON S~EBELP P~EBELP AND S~EBELN P~EBELN
    WHERE S~EBELN ITAB-EBELNIF ITAB-MENGE > ITAB-WEMNG.
    WRITE/2 EBELN23 MATNR,41 MENGE,71 WEMNG,97 '否'.
    ULINE AT /1(130).
    CLEAREBELN,MATNR,MENGE,WEMNG.
    ENDIF.
    ENDSELECT.
    ENDLOOP.
    ENDIF.

    LOOP AT ITAB.
    IF R3 'X' AND ITAB-MENGE <= ITAB-WEMNG.
    SELECT S~MATNR S~MENGE P~WEMNG S~EBELN
    INTO (MATNRMENGEWEMNGEBELN)
    FROM EKPO AS S INNER JOIN EKET AS P
    ON S~EBELP P~EBELP AND S~EBELN P~EBELN
    WHERE S~EBELN ITAB-EBELN.
    WRITE/2 EBELN,23 MATNR,41 MENGE,71 WEMNG,97 '是'.
    ULINE AT /1(130).
    CLEAREBELN,MATNR,MENGE,WEMNG.
    ENDSELECT.
    ENDIF.
    ENDLOOP.

  • 相关阅读:
    学习进度报告2021/4/5
    学习进度报告2021/4/4
    学习进度报告2021/4/3
    学习进度报告2021/4/2
    学习进度报告2021/4/1
    学习进度报告2021/3/31
    《学会提问》读书笔记3
    学习进度报告2021/3/30
    MySQL入门——如何进行主从配置
    MySQL入门详解——事务、锁、优化
  • 原文地址:https://www.cnblogs.com/sanlly/p/3520511.html
Copyright © 2011-2022 走看看