展示BOM界面的数据
BOM物料主数据展开
- 实现功能:在项目中,根据开发文档的需求,展示BOM数据,但是部分字段在BOM界面中没有,所以需要通过增强来实现,在不方便用增强的时候我我们可以选择自己开发一个BOM程序。
- 实现效果如下:
- 代码如下:
*&---------------------------------------------------------------------*
*& 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 ) 1 </STRONG></br>'.CALL METHOD p_cl_dd->html_insertEXPORTINGcontents = m_bufferCHANGINGposition = m_p.
ENDFORM.
- 其他的取数逻辑自行添加即可。
展示BOM界面的数据相关推荐
- python多窗口传递信息_PyQT5 中两个界面之间数据传递
在使用PyQT5做GUI桌面应用程序设计时,经常需要对在两个界面之间做信号的传递,这个时候我们需要通过建立信号pyqtSignal 然后通过Connect 相应的槽函数来完成界面之间的数据传递. 1. ...
- 安卓开发-Activity的显示意图和隐式意图+实例+Activity界面间数据的传递实例
<一:显示意图和隐式意图> 1.显示意图 //想打开的页面需要在创建意图时显式指定要打开那个Activity Intent intent = new Intent(this, 指定Acti ...
- ABAP 之ALV展示及下钻弹窗数据页面
序 HELLO, 这里是百里一个学习中的ABAPER,这里记录工作学习中遇到的bug,知识内容等内容.今天讲的是在工作中经常会使用的数据下钻,通过跳出小界面的方式展示关联数据.今天结合工作经验这里做下 ...
- 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践
概述 数据服务(https://ds-cn-shanghai.data.a... 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟"零代码&q ...
- 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
概述 数据服务(https://ds-cn-shanghai.data.a... 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟"零代码&q ...
- 清理localstorage_vue 界面刷新数据被清除 localStorage的使用详解
localStorage是html5新增的一个本地存储API,它有5M的大小空间,通过(key,value)的方式存储在浏览器中 window.localStorage.setItem('key', ...
- 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践 1
为什么80%的码农都做不了架构师?>>> 1. 概述 数据服务(https://ds-cn-shanghai.data.aliyun.com) 是DataWorks产品家族的 ...
- Qt读写JSON,以及使用QTreeView展示和编辑JSON数据
0.前言 JSON(JavaScript Object Notation)是一种轻量级的结构化数据格式,相对于XML语法更简洁.它具有6种基本数据类型:bool(true或false字符串表示).do ...
- winapi获取和修改camera raw界面元素数据
camera raw 界面如下: 需求就是根据 windows api 来操作界面右边的色温.色调.曝光等属性,进而对图片进行调色.根据 spy++ 捕获的窗口信息,理论上是可以拿到并修改值的. 根据 ...
最新文章
- RISC-V生态未来的三种可能~
- Windows 08 R2_组策略
- Openfiler的配置
- 清华大学人工智能研究院知识智能研究中心成立
- c++ 线程间通信方式
- 战双帕弥什自抽号怎么使用_战双帕弥什新S冰露怎么玩《战双帕弥什》新S冰露玩法技巧...
- 微服务升级_SpringCloud Alibaba工作笔记0007---spring gateway搭建
- python中argsort_numpy的argsort函数
- 机器学习利器——决策树和随机森林
- 紫书 例题 10-14 UVa 12034(组合数+递推)
- 改变自己就是改变世界的开始
- Swagger使用总结
- 还在为生产环境中用什么样的 Kubernetes 架构困惑吗,或许看完这篇你的问题就迎刃而解了!...
- VSA Cluster中小企业无SAN环境解决方案
- 腾讯下载的qlv格式视频转换mp4格式方法
- 微信小程序中进行地图导航
- 【SwiftUI模块】0033、SwiftUI创建用户双击帖子时的心形动画
- sql中1=1,1=0 ,1 大于 1,1 小于 1代表什么
- React (fetch redux初识 state action reducer getState dispatch .subscribe 取消监听 ActionTypes Action Crea)
- R语言入门——删除指定数据
热门文章
- 【RGSS3 与旧版的比较】
- Blink 源码编译
- 西部数码云服务器手记
- cw2vec: Learning Chinese Word Embeddings with Stroke n-gram Information阅读笔记
- 深度解读:如何评估软件测试工作的价值?
- Linux开机自动化执行脚本的四种方法(真实案例分享)
- 大学生PHP搜题软件,大学最强的搜题软件-适合大学生的最强搜题软件
- ubuntu退出shell终端命令_Ubuntu下,清屏等终端常用命令
- 获取数据表里的下一个自增序号
- Android 分享图片到WhatsApp,Messenger,Facebook