首页 > 其他分享 >ABAP 读取其他ALV的显示结果

ABAP 读取其他ALV的显示结果

时间:2024-11-06 17:09:45浏览次数:1  
标签:mard werks 库存 读取 dmbtr ABAP ALV type like

转载:https://blog.csdn.net/fengxin_/article/details/107516820

SALV有个的功能,就是submit其他SALV程序后能直接取得显示的结果。

方法一:通常情况下,可以将submit的SALV显示结果发送到内存中,

通过 SUBMIT .... EXPORTING LIST TO MEMORY AND RETURN,

然后通过函数 LIST_FROM_MEMORY 读取,通过 WRITE_LIST 写入,这么做比较繁琐。

方法二:通过类CL_SALV_BS_RUNTIME_INFO来实现:

步骤一:1,将Submit的salv设置为不显示模式

" 设定SALV运行模式, 
 cl_salv_bs_runtime_info=>set(
      display  = abap_false        "不显示    
      metadata = abap_false
      data     = abap_true  ).

步骤二:submit SALV程序

 SUBMIT ztld_mm_009
  WITH s_date = s_date WITH s_werks IN g_werks WITH s_lgort IN  s_lgort
  EXPORTING LIST TO MEMORY AND RETURN.

步骤三:调用cl_salv_bs_runtime_info=>get_data_ref()取得结果

  TRY.
      "取得运行数据
      cl_salv_bs_runtime_info=>get_data_ref(
            IMPORTING
              r_data = go_data
      ).
*   数据赋值      
      ASSIGN go_data->* TO <git_outtab>.
 
    CATCH cx_salv_bs_sc_runtime_info.
  ENDTRY.
  CALL METHOD cl_salv_bs_runtime_info=>clear_all.

步骤四:进行数据的处理

做过的一个实例:

  types : begin of ty_alvinfo,
 
          bukrs     type bseg-bukrs,         "公司
          werks     like mard-werks,            "工厂
          lgort     like mard-lgort,            "库位,即库存地点
          xhnum     type i,                     "序号
          matnr     like mard-matnr,            "SAP物料编码
          maktx     like makt-maktx,            "SAP物料描述
          meins     like mara-meins,            "单位
          bklas     like mbew-bklas,            "评估类型
          " stprs     LIKE mbew-stprs,            "标准成本
          peinh     like mbew-peinh,            "价格单位
          matkl     like mara-matkl,            "物料组编号
          xchpf     like mara-xchpf,            " 物料批次
          wgbez     like t023t-wgbez,            "物料组名称
          sumlabst  like mard-labst,            "总库存
          sumlabst1 type mard-labst,            "总库存(计算)
          " vmver     LIKE mbew-vmver,            "期间单位价格
          verpr     like mbew-verpr,            "移动平均价
          bwtar     like mbew-bwtar,            "评估类型
          salk3     like mbew-salk3,            "估价的总库存价值
          dmbtr     type ekbe-dmbtr,            "库存金额
          budat     like mkpf-budat,            "库存时间
          days      type faglflext-objnr00,     "库存时间
          labst     like mard-labst,            "库存数量
          lgobe     type t001l-lgobe,           "仓库名称
          qty10     type mard-labst,            "7日以内库存数量
          dmbtr10   type ekbe-dmbtr,            "7日以内库存金额
          qty11     type mard-labst,            "7至15日库存数量
          dmbtr11   type ekbe-dmbtr,            "7至15日库存金额
          qty12     type mard-labst,            "15至30日库存数量
          dmbtr12   type ekbe-dmbtr,            "15至30日库存金额
          qty13     type mard-labst,            "30至60日库存数量
          dmbtr13   type ekbe-dmbtr,            "30至60日库存金额
          qty14     type mard-labst,            "60至90日库存数量
          dmbtr14   type ekbe-dmbtr,            "60至90日库存金额
          qty15     type mard-labst,            "90至120日库存数量
          dmbtr15   type ekbe-dmbtr,            "90至120日库存金额
          qty16     type mard-labst,            "120至180日库存数量
          dmbtr16   type ekbe-dmbtr,            "120至180日库存金额
          qty17     type mard-labst,            "180至360日库存数量
          dmbtr17   type ekbe-dmbtr,            "180至360日库存金额
          qty18     type mard-labst,            "360至720日库存数量
          dmbtr18   type ekbe-dmbtr,            "360至720日库存金额
          qty19     type mard-labst,            "720日以上库存数量
          dmbtr19   type ekbe-dmbtr,            "720日以上库存金额
          menge     type mseg-menge,            "入库总数量
          eisbe     like marc-eisbe,            "安全库存
          bstmi     like marc-bstmi,            "最小批量
          lv_datum  type sy-datum,
          verpr1    type mbewh-verpr,
          box(1),
        end of ty_alvinfo.
  DATA go_data TYPE REF TO data.
  FIELD-SYMBOLS: <git_outtab> TYPE ANY TABLE  . ”结构必须和被调程序的ALV 结构一样
  field-symbols: <gis_outtab> type ty_alvinfo.
  RANGES:g_werks  FOR mseg-werks .
  CLEAR g_werks.
  g_werks-sign = 'I'.
  g_werks-option = 'EQ'.
  g_werks-low = '6001'.
  APPEND g_werks.
  CLEAR g_werks.
  g_werks-sign = 'I'.
  g_werks-option = 'EQ'.
  g_werks-low = '6003'.
  APPEND g_werks.
 cl_salv_bs_runtime_info=>set(
      display  = abap_false
      metadata = abap_false
      data     = abap_true  ).
  SUBMIT ztld_mm_009
  WITH s_date = s_date WITH s_werks IN g_werks WITH s_lgort IN  s_lgort
  EXPORTING LIST TO MEMORY AND RETURN.
  TRY.
      "取得运行数据
      cl_salv_bs_runtime_info=>get_data_ref(
            IMPORTING
              r_data = go_data
      ).
*   数据赋值      
      ASSIGN go_data->* TO <git_outtab>.  "结构必须和被调程序的ALV 结构一样
    CATCH cx_salv_bs_sc_runtime_info.
  ENDTRY.
  CALL METHOD cl_salv_bs_runtime_info=>clear_all.
  IF go_data IS NOT INITIAL .
*数据处理
    LOOP AT <git_outtab> ASSIGNING <gis_outtab>.
      ztld_dmbtr = <gis_outtab>-dmbtr + ztld_dmbtr.    
      ztld_cqje = <gis_outtab>-dmbtr14 + <gis_outtab>-dmbtr15 + <gis_outtab>-dmbtr16
                + <gis_outtab>-dmbtr17 + <gis_outtab>-dmbtr18 + <gis_outtab>-dmbtr19 
                + ztld_cqje .
    ENDLOOP.
  ENDIF.

 

标签:mard,werks,库存,读取,dmbtr,ABAP,ALV,type,like
From: https://www.cnblogs.com/seven1314pp/p/18530587

相关文章

  • 前端开发中如何在页面加载时自动读取并转换指定的 .docx 文件
    前端开发中如何在页面加载时自动读取并转换指定的.docx文件,并实现在线预览功能。我在这里分享通过mammoth.min.js插件来实现docx在线预览功能第1:下载地址,大家可以任意选取下面其中一种方式下载(1)GitHub-mwilliamson/mammoth.js:ConvertWorddocuments(.docxfiles)toH......
  • SAP ABAP开发学习——WDA 四
    目录页面技术的发展WebDynproLayout控件Layout的组件结构布局方式流式布局FlowLayout​编辑行布局RowLayout矩阵布局MatrixLayout网格布局GridLayout数据绑定在屏幕上显示数据数据的双向传输通过数据绑定控制UI显示属性节点类型属性的数据类型组合类型的UI元......
  • SAP ABAP开发学习——WDA 五 使用表格控件实例
    目录实现先建一个WebDynproComponent将两个view关联input_view中添加按钮output_view创建按钮创建一个服务input_view中使用向导创建两个输入框output部分创建输出表单outputinbound创建APPLICATION效果实现先建一个WebDynproComponent将两个view关......
  • SAP ABAP开发学习——WDA 六 控件与上下文数据编程
    目录控制器就是一个class钩子方法(hookmethod)组件控制器的hookmethod普通方法的三种类型控制器的属性对参照使用的控制器的引用访问数据节点访问节点中的元素小结1访问单个节点的属性取得集合中所有节点的属性更改单个节点属性的值小结2建立元素将结构绑定到元......
  • 用pandas 读取excel文件,存到数组中,调整数组的值
    importpandasaspdimportpymysqlfromdatetimeimportdatetime#定义一个自增的全局变量counter=1defincrement():globalcountercounter+=1returncounter#调用函数并打印结果#print(get_current_date())defget_array():#读取Excel......
  • ABAP基础语法1
    一、创建软件包(非必须)通过事务码SE21创建软件包1、填写包名,点击创建。注意包名用Z开头。2、填写对包的简短描述,软件组织选择客户开发,点击确认。 3、点击确认。 4、检查信息,无误,点击保存。 5、如果需要删除下挂没有程序的包,通过事务码SE80,搜索软件包,右键删除即可......
  • 从xss到任意文件读取
    xss一直是一种非常常见且具有威胁性的攻击方式。然而,除了可能导致用户受到恶意脚本的攻击外,xss在特定条件下还会造成ssrf和文件读取,本文主要讲述在一次漏洞挖掘过程中从xss到文件读取的过程,以及其造成的成因。0x01前言xss一直是一种非常常见且具有威胁性的攻击方式。然而......
  • SAP ABAP开发学习——BAPI
    目录 业务对象概念​编辑业务对象浏览BAPIBAPI的浏览BAPI的调用BAPI的确认和返回BAPI的创建MM/SD常用BAPI附加:长文本修改业务对象概念业务对象浏览进入SWO3查看双击BUS2012双击下图上方红色位置可以看到BAPI方法的内容BAPI        BAPI(B......
  • SAP ABAP开发学习——代码优化
    1.SELECT/ENDSELECT首先用*取全部字段,比给定字段取数效率低其次通过字段取数,给两个关键字要比只给一个效率高'='放在‘in'选择界面的前面2.READTRANSPORTINGNOFIELDSZ只读取,不赋值,为了确定是否读取成功,就要使用SY-SUBRC先排序,形成索引表,在二分法读取使用f......
  • stm32读取麦克风inmp441数据并实时播放
    概述最近在做一个功能类似于对讲机通话的功能,本来在网上感觉很容易找到同样的案例复刻,结果发现大多数都是用esp32,或者说电脑作为上位机传输wav音频解码播放的效果,也有很相仿的,但是都测试结果不尽人意,经过不断摸索下面是我给出的方案。但是本篇文章只限于单片机mcu芯片通......