☰
SAP-ABAP-预制发票报表明细和发票校验
2026/10/10 9:07:49 网站建设 项目流程

REPORT zmm008_miro.
*&---------------------------------------------------------------------*
*& 程序名  : ZMM008_MIRO                                               *
*& 用途    : 预制发票报表明细(财务发票校验用)                        *
*& 说明    : 采购(ZMM008_DZ_MIR7)对账预制后,财务人员据此报表核对      *
*&           实体/电子发票,对已预制行双击发起发票校验(MIRO过账);      *
*&           已过账行置灰,只做显示,不可再次校验。                     *
*&---------------------------------------------------------------------*
TYPE-POOLS: slis.

TABLES: rbkp, rseg, ekko, lfa1, zmm008_dzit.

*---- 选择屏幕 ----
SELECT-OPTIONS:
     s_werks FOR rseg-werks DEFAULT '1000',   " 工厂
     s_lifnr FOR rbkp-lifnr,                  " 供应商(可选)
     s_budat FOR rbkp-budat,                  " 预制日期(按发票创建日期筛选,默认当月1日~当天)
     s_belnr FOR rbkp-belnr,                  " 预制/发票凭证编码
     s_ebeln FOR rseg-ebeln,                  " 采购订单
     s_ekgrp FOR ekko-ekgrp,                  " 采购组
     s_dzno FOR zmm008_dzit-zdzno.             " 对账单号(增强:按对账编码筛选)

SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: p_all  RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND rg1.
SELECTION-SCREEN COMMENT 4(14) gv_c1 FOR FIELD p_all.
PARAMETERS: p_park RADIOBUTTON GROUP g1.
SELECTION-SCREEN COMMENT 22(16) gv_c2 FOR FIELD p_park.
SELECTION-SCREEN END OF LINE.

INITIALIZATION.
* 单选按钮注释文本(COMMENT变量由系统自动声明,此处赋值)
  gv_c1 = '全部凭证'.
  gv_c2 = '预制凭证(待过账)'.
* 预制日期默认值=当月1日~当天
  CLEAR s_budat[].
  s_budat-sign   = 'I'.
  s_budat-option = 'BT'.
  s_budat-low    = sy-datum.
  s_budat-low+6(2) = '01'.              "当月1日
  s_budat-high   = sy-datum.            "当天
  APPEND s_budat.

*---- 类型与全局数据 ----
TYPES: BEGIN OF ty_rbkp,
         belnr  TYPE rbkp-belnr,
         gjahr  TYPE rbkp-gjahr,
         lifnr  TYPE rbkp-lifnr,
         bukrs  TYPE rbkp-bukrs,
         blart  TYPE rbkp-blart,
         waers  TYPE rbkp-waers,
         rmwwr  TYPE rbkp-rmwwr,
         budat  TYPE rbkp-budat,
         cpudt  TYPE rbkp-cpudt,
         erfnam TYPE rbkp-erfnam,
         rbstat TYPE rbkp-rbstat,
         xrech  TYPE rbkp-xrech,
         stblg  TYPE rbkp-stblg,          "增强:非空=本凭证已被冲销(冲销凭证号)
         stjah  TYPE rbkp-stjah,          "增强:冲销凭证年度
       END OF ty_rbkp.

TYPES: BEGIN OF ty_key,
         belnr  TYPE rbkp-belnr,
         gjahr  TYPE rbkp-gjahr,
       END OF ty_key.

TYPES: BEGIN OF ty_rseg,
         belnr  TYPE rseg-belnr,
         gjahr  TYPE rseg-gjahr,
         buzei  TYPE rseg-buzei,
         ebeln  TYPE rseg-ebeln,
         ebelp  TYPE rseg-ebelp,
         werks  TYPE rseg-werks,
         wrbtr  TYPE rseg-wrbtr,
         mwskz  TYPE rseg-mwskz,
       END OF ty_rseg.

TYPES: BEGIN OF ty_ekko,
         ebeln  TYPE ekko-ebeln,
         ekgrp  TYPE ekko-ekgrp,
       END OF ty_ekko.

TYPES: BEGIN OF ty_lfa1,
         lifnr  TYPE lfa1-lifnr,
         name1  TYPE lfa1-name1,
       END OF ty_lfa1.

TYPES: BEGIN OF ty_poitem,
         ebeln  TYPE rseg-ebeln,
         ebelp  TYPE rseg-ebelp,
       END OF ty_poitem.

TYPES: BEGIN OF ty_grbud,
         ebeln  TYPE rseg-ebeln,
         ebelp  TYPE rseg-ebelp,
         budat  TYPE mkpf-budat,
         bwart  TYPE ekbe-bwart,        "增强:移动类型(105=收货放行,101=进冻结)
       END OF ty_grbud.

TYPES: BEGIN OF ty_grmk,
         mblnr  TYPE mseg-mblnr,
         mjahr  TYPE mseg-mjahr,
         ebeln  TYPE rseg-ebeln,
         ebelp  TYPE rseg-ebelp,
         bwart  TYPE ekbe-bwart,        "增强:移动类型
       END OF ty_grmk.

TYPES: BEGIN OF ty_mkpf,
         mblnr  TYPE mkpf-mblnr,
         mjahr  TYPE mkpf-mjahr,
         budat  TYPE mkpf-budat,
       END OF ty_mkpf.

TYPES: BEGIN OF ty_refgr,
         budat TYPE sy-datum,
         bwart TYPE ekbe-bwart,        "引用收货凭证的移动类型(101/105)
       END OF ty_refgr.

TYPES: BEGIN OF ty_ekbe,
         ebeln  TYPE ekbe-ebeln,
         ebelp  TYPE ekbe-ebelp,
         belnr  TYPE ekbe-belnr,      "收货物料凭证号
         gjahr  TYPE ekbe-gjahr,      "收货物料凭证年度
         bwart  TYPE ekbe-bwart,      "增强:移动类型(101/103/105/122/161...)
         lfbnr  TYPE ekbe-lfbnr,      "增强:105放行凭证引用的103/101冻结凭证
         lfgja  TYPE ekbe-lfgja,      "增强:引用冻结凭证年度
       END OF ty_ekbe.

TYPES: BEGIN OF ty_ekst,
         belnr  TYPE ekbe-belnr,      "发票凭证号
         gjahr  TYPE ekbe-gjahr,      "年度
         vgabe  TYPE ekbe-vgabe,      "事务类型:2=已过账 P=已预制
         ebeln  TYPE ekbe-ebeln,      "增强:PO号
         ebelp  TYPE ekbe-ebelp,      "增强:PO行号
         lfbnr  TYPE ekbe-lfbnr,      "增强:发票引用的收货物料凭证
         lfgja  TYPE ekbe-lfgja,      "增强:引用收货物料凭证年度
       END OF ty_ekst.

TYPES: BEGIN OF ty_out,
         color   TYPE char4,            "行颜色(ALV)
         lifnr   TYPE lifnr,            "供应商
         name1   TYPE name1,            "供应商名称
         zperiod TYPE char25,           "对账周期范围
         zrefgr  TYPE char120,          "诊断:发票引用的收货凭证明细
         zdzno   TYPE zmm008_dzit-zdzno,"对账单编码(预制时写入ZMM008_DZIT)
         belnr   TYPE rbkp-belnr,       "预制/发票凭证号
         gjahr   TYPE rbkp-gjahr,       "年度
         zdtype  TYPE char6,            "凭证类别(发票/贷项)
         blart   TYPE rbkp-blart,       "凭证类型
         budat   TYPE rbkp-budat,       "过账日期
         erdat   TYPE rbkp-cpudt,       "创建日期
         waers   TYPE waers,            "币种
         ekgrp   TYPE ekgrp,            "采购组
         werks   TYPE werks_d,          "工厂
         mwskz   TYPE mwskz,            "税码
         netwr   TYPE rbkp-rmwwr,       "汇总金额(不含税)
         wmwst   TYPE rbkp-rmwwr,       "税额
         wrbtr   TYPE rbkp-rmwwr,       "含税总金额
         zrate   TYPE p LENGTH 5 DECIMALS 2, "税率(%)
         status  TYPE char10,           "状态
         zparked TYPE char1,            "X=已预制(可校验) 空=已过账
       END OF ty_out.

DATA: gt_out      TYPE TABLE OF ty_out,
      gs_out      TYPE ty_out.

*---- ALV ----
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
      gs_layout   TYPE slis_layout_alv,
      gs_variant  TYPE disvariant.

START-OF-SELECTION.
  PERFORM get_data.
  PERFORM show_alv.

*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
FORM get_data.
  DATA: lt_rbkp  TYPE TABLE OF ty_rbkp,
        ls_rbkp  LIKE LINE OF lt_rbkp,
        lt_keys  TYPE TABLE OF ty_key,
        ls_key   LIKE LINE OF lt_keys,
        lt_rseg  TYPE TABLE OF ty_rseg,
        ls_rseg  LIKE LINE OF lt_rseg,
        lt_ekko  TYPE TABLE OF ty_ekko,
        ls_ekko  LIKE LINE OF lt_ekko,
&n

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询