BOM物料主数据展开

  1. 实现功能:在项目中,根据开发文档的需求,展示BOM数据,但是部分字段在BOM界面中没有,所以需要通过增强来实现,在不方便用增强的时候我我们可以选择自己开发一个BOM程序。
  2. 实现效果如下:
  3. 代码如下:
*&---------------------------------------------------------------------*
*& Report ZDEMO_BOM
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zdemo_bom.*******************************
*数据类型定义
*******************************
*&-----------------------------------------------------------------*
*&  包含                ZMMR_812_TOP
*&-----------------------------------------------------------------*TYPE-POOLS: slis,icon.TYPES: BEGIN OF ty_data,clr   TYPE char4, "可以控制行颜色objic TYPE cs_objicon.INCLUDE STRUCTURE   stpox.
TYPES  END OF ty_data.*&-----------------------------------------------------------------
*
*内表、工作区、变量、常量、指针定义
*
*&-----------------------------------------------------------------
DATA: gt_data TYPE STANDARD TABLE OF ty_data,gs_data TYPE ty_data.
DATA: gt_stb TYPE STANDARD TABLE OF stpox,gs_stb TYPE stpox.DATA: gs_layout   TYPE lvc_s_layo.
DATA: gt_fieldcat TYPE lvc_t_fcat,gs_fieldcat TYPE lvc_s_fcat.
TYPES:t_emeng TYPE char20.
*******************************
*屏幕处理
*******************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.PARAMETERS:p_matnr TYPE rc29l-matnr,p_werks TYPE rc29l-werks,p_stlal TYPE rc29l-stlal,p_capid TYPE rc29l-capid.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.PARAMETERS:p_datum TYPE sy-datum DEFAULT sy-datum,p_emeng TYPE t_emeng.
SELECTION-SCREEN END OF BLOCK b2.
*******************************
*主程序入口
*******************************
*&--------------------------------------------------------------
**初始化处理
*&--------------------------------------------------------------
INITIALIZATION.*&--------------------------------------------------------------
**选择屏幕控制
*&--------------------------------------------------------------
AT SELECTION-SCREEN OUTPUT.*&-------------------------------------------------------------*
*& 参数输入检查
*&-------------------------------------------------------------*
AT SELECTION-SCREEN.*&-------------------------------------------------------------
**程序开始处理
*&-------------------------------------------------------------
START-OF-SELECTION.
********************************
*获取数据
********************************PERFORM get_data.
*********************************
**处理数据
*********************************PERFORM pro_data.********************************
*显示数据
********************************* ALV显示PERFORM frm_set_alv.          "设置ALV属性PERFORM frm_dis_alv.          "调用ALVEND-OF-SELECTION.*******************************
*FORM子程序
*******************************
*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       获取数据
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_data.DATA lv_emeng TYPE emeng.lv_emeng = p_emeng.CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'EXPORTINGcapid                 = p_capiddatuv                 = p_datumemeng                 = lv_emengmehrs                 = 'X'mtnrv                 = p_matnrstlal                 = p_stlalwerks                 = p_werksTABLESstb                   = gt_stbEXCEPTIONSalt_not_found         = 1call_invalid          = 2material_not_found    = 3missing_authorization = 4no_bom_found          = 5no_plant_data         = 6no_suitable_bom_found = 7conversion_error      = 8OTHERS                = 9.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.ENDFORM.         " GET_DATA*&---------------------------------------------------------------------*
*&      Form  pro_DATA
*&---------------------------------------------------------------------*
*       数据处理
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM pro_data.LOOP AT gt_stb INTO gs_stb.MOVE-CORRESPONDING gs_stb TO gs_data.gs_data-clr = 'C710'.gs_data-objic = '@AP@'."物料清单" gs_data-objic = '@A6@'.”物料APPEND gs_data TO gt_data.ENDLOOP.IF gt_data IS INITIAL.MESSAGE '未查询到符合条件的数据!' TYPE 'S' DISPLAY LIKE 'E'.LEAVE LIST-PROCESSING.ENDIF.
ENDFORM.       " PRO_DATA*&---------------------------------------------------------------------*
*&      Form  FRM_SET_ALV
*&---------------------------------------------------------------------*
*       alv设置
*---------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_set_alv.DATA: l_colpos TYPE lvc_s_fcat-col_pos VALUE 0.*&---------------------------------------------------------------------*
*&      定义宏
*&---------------------------------------------------------------------*DEFINE  macro_fill_fcat.CLEAR gs_fieldcat.&1 = &1 + 1.gs_fieldcat-col_pos       = &1.gs_fieldcat-fieldname     = &2.gs_fieldcat-coltext       = &3.CASE &2.WHEN 'OBJIC'.gs_fieldcat-fix_column =  'X' .gs_fieldcat-icon       =  'X' .ENDCASE.APPEND gs_fieldcat TO gt_fieldcat.END-OF-DEFINITION.FIELD-SYMBOLS: <fs_fieldcat> TYPE lvc_s_fcat.CLEAR gt_fieldcat.macro_fill_fcat:  l_colpos  'STUFE'        '级别'  ,l_colpos  'OBJIC'        '对象'  ,l_colpos  'POSNR'        '项目编号' ,l_colpos  'IDNRK'        '对象标识' ,l_colpos  'OJTXP'        '对象描述' ,l_colpos  'MMEIN'        '组件单位' ,l_colpos  'MNGLG'        '组件数量(CUP)' ,l_colpos  'MNGKO'        '组件数量' ,l_colpos  'ANNAM'        '创建者' ,l_colpos  'ANDAT'        '创建日期' .CLEAR gs_layout.gs_layout-zebra = 'X'.gs_layout-cwidth_opt = 'X'.gs_layout-info_fname = 'CLR'.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_DIS_ALV
*&---------------------------------------------------------------------*
*       alv输出
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_dis_alv .DATA: lv_grid TYPE lvc_s_glay.lv_grid-edt_cll_cb = 'X'.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_program          = sy-repidi_grid_settings             = lv_gridis_layout_lvc               = gs_layoutit_fieldcat_lvc             = gt_fieldcati_callback_html_top_of_page = 'F_TOP_OF_PAGE'TABLESt_outtab                    = gt_data.ENDFORM.                "     FRM_ALVFORM f_top_of_page USING p_cl_dd TYPE REF TO cl_dd_document.DATA: m_p      TYPE i,m_buffer TYPE string.m_buffer = '<html><STRONG>物料 <-- 11  1</STRONG></html></br>'  .CALL METHOD p_cl_dd->html_insertEXPORTINGcontents = m_bufferCHANGINGposition = m_p.m_buffer = '<STRONG>描述    1 </STRONG></br>'.CALL METHOD p_cl_dd->html_insertEXPORTINGcontents = m_bufferCHANGINGposition = m_p.m_buffer = '<STRONG>基本数量 <-- (ST )1 </STRONG></br>'.CALL METHOD p_cl_dd->html_insertEXPORTINGcontents = m_bufferCHANGINGposition = m_p.m_buffer = '<STRONG>需求数量 <-- (ST )&nbsp;1      </STRONG></br>'.CALL METHOD p_cl_dd->html_insertEXPORTINGcontents = m_bufferCHANGINGposition = m_p.
ENDFORM.
  1. 其他的取数逻辑自行添加即可。

展示BOM界面的数据相关推荐

  1. python多窗口传递信息_PyQT5 中两个界面之间数据传递

    在使用PyQT5做GUI桌面应用程序设计时,经常需要对在两个界面之间做信号的传递,这个时候我们需要通过建立信号pyqtSignal 然后通过Connect 相应的槽函数来完成界面之间的数据传递. 1. ...

  2. 安卓开发-Activity的显示意图和隐式意图+实例+Activity界面间数据的传递实例

    <一:显示意图和隐式意图> 1.显示意图 //想打开的页面需要在创建意图时显式指定要打开那个Activity Intent intent = new Intent(this, 指定Acti ...

  3. ABAP 之ALV展示及下钻弹窗数据页面

    序 HELLO, 这里是百里一个学习中的ABAPER,这里记录工作学习中遇到的bug,知识内容等内容.今天讲的是在工作中经常会使用的数据下钻,通过跳出小界面的方式展示关联数据.今天结合工作经验这里做下 ...

  4. 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践

    概述 数据服务(https://ds-cn-shanghai.data.a... 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟"零代码&q ...

  5. 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...

    概述 数据服务(https://ds-cn-shanghai.data.a... 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟"零代码&q ...

  6. 清理localstorage_vue 界面刷新数据被清除 localStorage的使用详解

    localStorage是html5新增的一个本地存储API,它有5M的大小空间,通过(key,value)的方式存储在浏览器中 window.localStorage.setItem('key', ...

  7. 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践 1

    为什么80%的码农都做不了架构师?>>>    1. 概述 数据服务(https://ds-cn-shanghai.data.aliyun.com)  是DataWorks产品家族的 ...

  8. Qt读写JSON,以及使用QTreeView展示和编辑JSON数据

    0.前言 JSON(JavaScript Object Notation)是一种轻量级的结构化数据格式,相对于XML语法更简洁.它具有6种基本数据类型:bool(true或false字符串表示).do ...

  9. winapi获取和修改camera raw界面元素数据

    camera raw 界面如下: 需求就是根据 windows api 来操作界面右边的色温.色调.曝光等属性,进而对图片进行调色.根据 spy++ 捕获的窗口信息,理论上是可以拿到并修改值的. 根据 ...

最新文章

  1. RISC-V生态未来的三种可能~
  2. Windows 08 R2_组策略
  3. Openfiler的配置
  4. 清华大学人工智能研究院知识智能研究中心成立
  5. c++ 线程间通信方式
  6. 战双帕弥什自抽号怎么使用_战双帕弥什新S冰露怎么玩《战双帕弥什》新S冰露玩法技巧...
  7. 微服务升级_SpringCloud Alibaba工作笔记0007---spring gateway搭建
  8. python中argsort_numpy的argsort函数
  9. 机器学习利器——决策树和随机森林
  10. 紫书 例题 10-14 UVa 12034(组合数+递推)
  11. 改变自己就是改变世界的开始
  12. Swagger使用总结
  13. 还在为生产环境中用什么样的 Kubernetes 架构困惑吗,或许看完这篇你的问题就迎刃而解了!...
  14. VSA Cluster中小企业无SAN环境解决方案
  15. 腾讯下载的qlv格式视频转换mp4格式方法
  16. 微信小程序中进行地图导航
  17. 【SwiftUI模块】0033、SwiftUI创建用户双击帖子时的心形动画
  18. sql中1=1,1=0 ,1 大于 1,1 小于 1代表什么
  19. React (fetch redux初识 state action reducer getState dispatch .subscribe 取消监听 ActionTypes Action Crea)
  20. R语言入门——删除指定数据

热门文章

  1. 【RGSS3 与旧版的比较】
  2. Blink 源码编译
  3. 西部数码云服务器手记
  4. cw2vec: Learning Chinese Word Embeddings with Stroke n-gram Information阅读笔记
  5. 深度解读:如何评估软件测试工作的价值?
  6. Linux开机自动化执行脚本的四种方法(真实案例分享)
  7. 大学生PHP搜题软件,大学最强的搜题软件-适合大学生的最强搜题软件
  8. ubuntu退出shell终端命令_Ubuntu下,清屏等终端常用命令
  9. 获取数据表里的下一个自增序号
  10. Android 分享图片到WhatsApp,Messenger,Facebook