zoukankan      html  css  js  c++  java
  • 多维度查询多个子屏幕

    效果:

    选择屏幕代码:

    *&---------------------------------------------------------------------*
    *& 包含               ZMMR0070_TOP
    *&---------------------------------------------------------------------*
    
    TABLES: ekko,ekpo,
            vbak,vbap,
            likp,lips,
            mara,
            sscrfields.
    
    
    **按采购订单 查询输出字段
    TYPES:BEGIN OF ty_po,
    
            sel     TYPE sy-tabix,   "序号
            bukrs   TYPE ekpo-bukrs,     "公司代码
            lifnr   TYPE ekko-lifnr,     "供应商
            ekorg   TYPE ekko-ekorg,     "采购组织
            werks   TYPE ekpo-werks,     "工厂
            bsart      TYPE ekko-bsart,     "单据类型
            batxt   TYPE t161t-batxt,    "单据类型描述
            ebeln   TYPE ekpo-ebeln,     "订单编号
            ebelp   TYPE ekpo-ebelp,     "行项目编号
            matnr   TYPE ekpo-matnr,     "商品编码
            maktx   TYPE makt-maktx,     "商品描述
            zbzgg      TYPE zmmt0001-zbzgg, "包装规格
            ztym    TYPE zmmt0001-ztym,  "通用名
            menge   TYPE ekpo-menge,     "订单数量
            meins   TYPE ekpo-meins,     "订单单位
            netpr   TYPE ekpo-netpr,     "订单价格(未税)
            zhsdj   TYPE ekpo-netpr,     "订单价格(含税)
            netwr      TYPE ekpo-netwr,     "订单金额(未税)
            zhsje   TYPE ekpo-netwr,     "订单金额(含税)
            peinh      TYPE ekpo-peinh,     "价格单位
            zzyjhsl TYPE ekpo-menge,     "已转交货单数量
            zwzjhsl TYPE ekpo-menge,     "未转交货单数量
            zfhsl   TYPE ekpo-menge,     "发货数量
            zwfsl   TYPE ekpo-menge,     "未发货数量
            vgpos   TYPE lips-vgpos,
            mwskz   TYPE ekpo-mwskz,     "税码
            kbetr   TYPE kbetr,
    
            zkpsl   TYPE ekpo-menge,     "已开票数量
            zwkpsl  TYPE ekpo-menge,     "未开票数量
            zkpje   TYPE ekpo-menge,     "已开票金额
    
          END OF ty_po.
    DATA: gt_po TYPE STANDARD TABLE OF ty_po,
          gs_po TYPE ty_po.
    
    **按销售订单 查询输出字段
    TYPES:BEGIN OF ty_so,
    
            sel     TYPE sy-tabix,    "序号
            vkorg   TYPE vbak-vkorg,      "销售组织
            vtweg   TYPE vbak-vtweg,      "分销渠道
            kunnr   TYPE vbak-kunnr,      "售达方
            auart   TYPE vbak-auart,      "单据类型
            bezei   TYPE tvakt-bezei,     "单据类型描述
            vbeln   TYPE vbap-vbeln,      "订单编号
            posnr   TYPE vbap-posnr,      "行项目编号
            bstkd   TYPE vbkd-bstkd,      "客户参考
            matnr   TYPE vbap-matnr,      "商品编码
            maktx   TYPE makt-maktx,      "商品描述
            zbzgg   TYPE zmmt0001-zbzgg,  "包装规格
            ztym    TYPE zmmt0001-ztym,   "通用名
            kwmeng  TYPE vbap-kwmeng,     "订单数量
            vrkme   TYPE vbap-vrkme,      "订单单位
            netpr      TYPE vbap-netpr,      "订单价格(未税)
            zhsdj   TYPE vbap-netpr,      "订单价格(含税)
            netwr   TYPE vbap-netwr,      "订单金额(未税)
            zhsje   TYPE vbap-netpr,      "订单金额(含税)
            kpein   TYPE vbap-kpein,      "价格单位
            zzyjhsl TYPE vbap-kwmeng,     "已转交货单数量
            zwzjhsl TYPE vbap-kwmeng,     "未转交货单数量
            zfhsl   TYPE vbap-kwmeng,     "发货数量
            zwfsl   TYPE vbap-kwmeng,     "未发货数量
            mwsbp   TYPE vbap-mwsbp,      "以凭证货币计的税额+
    
            zkpsl   TYPE vbap-kwmeng,     "已开票数量
            zwkpsl  TYPE vbap-kwmeng,     "未开票数量
            zkpje   TYPE vbap-kwmeng,     "已开票金额
    
          END OF ty_so.
    DATA: gt_so TYPE STANDARD TABLE OF ty_so,
          gs_so TYPE ty_so.
    
    **按交货单 输出字段
    TYPES:BEGIN OF ty_dn,
    
            sel       TYPE sy-tabix,    "序号
            kunnr     TYPE likp-kunnr,    "送达方
            bstkd     TYPE vbkd-bstkd,    "客户参考
            vstel     TYPE likp-vstel,    "装运点
            vbeln     TYPE lips-vbeln,    "交货单号
            posnr     TYPE lips-posnr,    "行号
            vgbel     TYPE lips-vgbel,    "订单编号
            vgpos     TYPE lips-vgpos,    "行项目编号
            lfart     TYPE likp-lfart,    "交货类型
            vtext     TYPE tvlkt-vtext,   "交货类型描述
            matnr     TYPE lips-matnr,    "商品编码
            maktx     TYPE makt-maktx,    "商品描述
            zbzgg     TYPE zmmt0001-zbzgg, "包装规格
            ztym      TYPE zmmt0001-ztym,         "通用名
            werks     TYPE lips-werks,    "发货工厂
            name1     TYPE t001w-name1,           "发货工厂名称
            lgort     TYPE lips-lgort,    "发货库位
            lgobe     TYPE t001l-lgobe,           "库存地点名称
            erdat     TYPE likp-erdat,    "交货单创建日期
            wadat_ist TYPE likp-wadat_ist, "发货日期
            kwmeng    TYPE vbap-kwmeng,   "订单数量
            lfimg     TYPE lips-lfimg,    "交货单数量
            lfimg_yj  TYPE lips-lfimg,    "已发货数量
            zhsdj        TYPE lips-netpr,    "含税单价
            kpein     TYPE lips-kpein,    "价格单位EKPO-PEINH/ VBAP- KPEIN
            zhsje        TYPE lips-netpr,    "含税总价?
            fkstk     TYPE likp-fkstk,    "出具发票状态
            charg     TYPE lips-charg,    "批次号
            zscph     TYPE zmmt0007-zscph, "生产批号
            zcjbm     TYPE zmmt0007-zcjbm, "生产厂家编码
            zsccj     TYPE zmmt0007-zsccj, "生产厂家名称
    
            pstyv     TYPE lips-pstyv,    "项目类别+
            netpr        TYPE lips-netpr,    "净价+
            matkl     TYPE mara-matkl,    "商品类目+
            gbstk     TYPE likp-gbstk,    "凭证的总体处理状态+
            wbsta     LIKE lips-wbsta,    "货物移动状态
          END OF ty_dn.
    DATA: gt_dn TYPE STANDARD TABLE OF ty_dn,
          gs_dn TYPE ty_dn.
    
    
    FIELD-SYMBOLS: <fs_po> LIKE LINE OF gt_po,
                   <fs_so> LIKE LINE OF gt_so,
                   <fs_dn> LIKE LINE OF gt_dn.
    **全局变量
    DATA: g_err(1),
          g_lines  TYPE sy-tabix,
          g_tabix  TYPE sy-tabix.
    **ALV参数定义
    DATA: gt_fcat TYPE lvc_t_fcat,
          gs_fcat TYPE lvc_s_fcat.
    DATA: g_repid   TYPE sy-repid,
          gs_layout TYPE lvc_s_layo.
    
    **定义维度变量
    DATA: g_po TYPE c,
          g_so TYPE c,
          g_dn TYPE c.
    *&---------------------------------------------------------------------*
    *& 包含               ZMMR0070_SEL
    *&---------------------------------------------------------------------*
    **PO维度
    SELECTION-SCREEN:BEGIN OF SCREEN 100 AS SUBSCREEN.
    
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS:s_ekorg  FOR ekko-ekorg MODIF ID r01 OBLIGATORY,   "采购组织
                   s_bukrs  FOR ekko-bukrs OBLIGATORY MODIF ID r01 DEFAULT '3040', "公司代码
                   s_lifnr  FOR ekko-lifnr MODIF ID r01,   "供应商代码
                   s_ekgrp  FOR ekko-ekgrp MODIF ID r01,   "采购组
                   s_werks  FOR ekpo-werks MODIF ID r01,   "DC/门店
                   s_matnr  FOR ekpo-matnr,
                   s_matkl  FOR mara-matkl,
                   s_podat  FOR ekko-aedat OBLIGATORY.     "创建日期
    SELECTION-SCREEN END OF BLOCK b1.
    
    SELECTION-SCREEN:END OF SCREEN 100.
    
    **SO维度
    SELECTION-SCREEN:BEGIN OF SCREEN 200 AS SUBSCREEN.
    
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
    SELECT-OPTIONS:s_vkorg FOR vbak-vkorg OBLIGATORY,"销售组织
                   s_vtweg FOR vbak-vtweg,"分销渠道
                   s_vbeln FOR VBAK-vbeln,"交货单号
                   s_kunag FOR vbak-kunnr,"售达方
                   s_matnr2  FOR vbap-matnr,
                   s_matkl2  FOR mara-matkl,
                   s_sodat   FOR vbak-erdat OBLIGATORY.     "创建日期
    SELECTION-SCREEN END OF BLOCK b2.
    
    SELECTION-SCREEN:END OF SCREEN 200.
    
    **DN维度
    SELECTION-SCREEN:BEGIN OF SCREEN 300 AS SUBSCREEN.
    
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE TEXT-003.
    SELECT-OPTIONS:s_vstel FOR likp-vstel OBLIGATORY,"装运点
                   s_dn    FOR likp-vbeln,"交货单号
                   s_lfart FOR likp-lfart,"交货类型
                   s_wadat FOR likp-wadat_ist,"实际货物移动日期
                   s_wbstk FOR likp-wbstk,"总体货物移动状态
                   s_matnr3  FOR lips-matnr,
                   s_matkl3  FOR mara-matkl,
                   s_dndat   FOR likp-erdat OBLIGATORY.     "创建日期
    SELECTION-SCREEN END OF BLOCK b3.
    
    SELECTION-SCREEN:END OF SCREEN 300.
    
    
    SELECTION-SCREEN:BEGIN OF TABBED BLOCK mytab FOR 10 LINES, "Tab框高度5LINES.
      TAB (20) button1 USER-COMMAND push1,
      TAB (20) button2 USER-COMMAND push2,
      TAB (20) button3 USER-COMMAND push3,
      END OF BLOCK mytab.

    主程序逻辑:

    REPORT zmmr0070 MESSAGE-ID zmm001.
    
    *&---------------------------------------------------------------------*
    * INCLUDE
    *&---------------------------------------------------------------------*
    INCLUDE zmmr0070_top.
    INCLUDE zmmr0070_sel.
    INCLUDE zmmr0070_from.
    
    *&---------------------------------------------------------------------*
    * INITIALIZATION
    *&---------------------------------------------------------------------*
    INITIALIZATION.
      "数据初始化
      PERFORM frm_init_data.
    
    *&---------------------------------------------------------------------*
    *&   Event AT SELECTION-SCREEN OUTPUT
    *&---------------------------------------------------------------------*
    AT SELECTION-SCREEN OUTPUT.
      "修改屏幕
    *  PERFORM frm_modify_screen.
    
    *&---------------------------------------------------------------------*
    *&   Event AT SELECTION-SCREEN
    *&---------------------------------------------------------------------*
    AT SELECTION-SCREEN.
      "权限检查
      PERFORM frm_authority_check.
      CASE  sy-ucomm.
        WHEN 'PUSH1'.
          mytab-dynnr = 100.
          mytab-activetab = 'BUTTON1'.
          g_po = 'X'.
          CLEAR: G_SO,G_DN.
        WHEN 'PUSH2'.
          mytab-dynnr = 200.
          mytab-activetab = 'BUTTON2'.
          g_so = 'X'.
          CLEAR: G_PO,G_DN.
        WHEN 'PUSH3'.
          mytab-dynnr = 300.
          mytab-activetab = 'BUTTON3'.
          g_dn = 'X'.
          CLEAR: G_SO,G_PO.
      ENDCASE.
    
    *&---------------------------------------------------------------------*
    *
    *        MAIN PROGRAM
    *
    *----------------------------------------------------------------------*
    START-OF-SELECTION.
      "获取数据
      PERFORM frm_get_data.
      "显示ALV
      PERFORM frm_display_alv.
  • 相关阅读:
    vs2015帮助文档
    算法之冒泡排序
    c++ 离散数学 群的相关判断及求解
    Entity Framwork(EF) 7——在现在数据库的甚而上开发MVC 新项目
    ASP.NET MVC 5 一 入门
    c# winform TreeView NODE(节点) 重命名或获取节点修改后的值
    xml 中转意字符&/使用方法
    entityframework 入门-来自微软
    c# 利用 两个TREEVIEW控件完成TEENODE的鼠标拖动操作
    Winform开发框架中实现多种数据库类型切换以及分拆数据库的支持
  • 原文地址:https://www.cnblogs.com/rainysblog/p/10911497.html
Copyright © 2011-2022 走看看