ABAP: MRP Result Report

简介: *&---------------------------------------------------------------------**& Report ZTEST_SEAMAN*&*&--------------------------------...

*&---------------------------------------------------------------------*
*& Report ZTEST_SEAMAN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

report ztest_seaman no standard page heading line-size 1000.
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
* A sample program to extract data from the MRP table.
*
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
type-pools:slis.

data: i_fieldcat type slis_t_fieldcat_alv,
l_fieldcat type slis_fieldcat_alv,
xevents type slis_t_event,
ls_event type slis_alv_event,
slis_ev_top type slis_formname value 'TOP_OF_PAGE'.

data: v_repid like sy-repid.
data: gs_tabname_header type slis_tabname,
gs_tabname_item type slis_tabname,
gs_keyinfo type slis_keyinfo_alv.

tables: mdkp, "Header Data for MRP Document
mdtb, "MRP table
mdtc, "Aggregated MRP table items
t457t. "Description of MRP elements

data: begin of mdtbx occurs 0.
include structure mdtb.
data: end of mdtbx.

select-options: plant for mdkp-plwrk obligatory,
matnr for mdkp-matnr obligatory,
delnr for mdtb-delnr.

clear: mdkp, mdtb.
select * from mdkp where dtart eq 'MD'
and matnr in matnr
and plwrk in plant.
if mdkp-cflag eq 'X'.
clear mdtbx. refresh mdtbx.
import mdtbx from database mdtc(ar) id mdkp-dtnum.
loop at mdtbx.
move mdtbx to mdtb.

select single * from t457t where spras = 'E'
and delkz = mdtb-delkz.

if mdtb-plumi = '-'. multiply mdtb-mng01 by -1. endif.

endloop.
else.
select * from mdtb
where dtnum eq mdkp-dtnum
order by primary key.
select single * from t457t where spras = 'E'
and delkz = mdtb-delkz.

if mdtb-plumi = '-'. multiply mdtb-mng01 by -1. endif.

endselect.
endif.
endselect.

*ALV显示
* sort itab by zmatnr.
read table xevents with key name = slis_ev_top
into ls_event.
if sy-subrc = 0.
move slis_ev_top to ls_event-form.
append ls_event to xevents.
endif.
gs_tabname_header = 'MDTBX'.
v_repid = sy-repid.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = v_repid
i_internal_tabname = gs_tabname_header
i_inclname = v_repid
* I_STRUCTURE_NAME = 'MDTBX'
* i_inclname = v_repid
* i_bypassing_buffer = 'X'
* i_buffer_active = ''
changing
ct_fieldcat = i_fieldcat
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.

if sy-subrc 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.

call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_bypassing_buffer = 'X'
i_buffer_active = ''
i_callback_program = v_repid
it_fieldcat = i_fieldcat
i_save = 'A'
it_events = xevents
tables
t_outtab = mdtbx
exceptions
program_error = 1
others = 2.
if sy-subrc 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.

*&--------------------------------------------------------------*
*& FORM TOP OF PAGE
*&--------------------------------------------------------------*
* TEXT
*---------------------------------------------------------------*
form top_of_page.
write:/ 'Read MRP Result Report'.
endform. "top_of_p

[@more@]
目录
相关文章
|
7月前
|
程序员
开发语言漫谈-ABAP
ABAP是SAP公司专门用于SAP软件环境的专门语言
|
SQL 设计模式 前端开发
【置顶】SAP ABAP开发实战——从入门到精通系列目录
本文章为SAP ABAP开发实战——从入门到精通系列的目录以及关于该教程的后续写作计划表
1676 0
【置顶】SAP ABAP开发实战——从入门到精通系列目录
|
BI
SAP ABAP在线预览文档对象的开发实现
应用场景:有些定制化开发(报表/功能增强等)完成之后,客户需要将其操作手册或者相关文档放在某个报表的初始画面,供实际操作者在线查阅,当然这个功能也同样类似于模板的下载,这里就以在线预览(直接打开)为例进行说明。
231 0
|
前端开发 JavaScript 数据库
如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)
Restful ABAP Programming 编程模式是 ABAP 这门编程语言在不断向前进化的过程中,诞生的一门新的编程模型,简称为RAP模型。
164 0
如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)
|
程序员 BI
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
abap开发function module时使用tables传递参数报错过时的解决方法
如下图,我写了一个Function Module我要在tables中添加一个参数TABLES参数已过时不管怎么点击保存按钮,一直报错,怎么办呢?不管是不是过时,狂点回车,就保存了
1749 0
|
小程序
ABAP开发基础知识:11)子程序的建立与调用
ABAP子程序(Subrouting)是包含在程序中的一段具有一定功能的代码,能够将某个功能作为一个小程序包含在主程序中,以方便程序分析及阅读。特别是一此程序中多次用到的功能,可以简化代码,增加程序的可读性且便于维护。
1495 0
|
索引 机器学习/深度学习
ABAP开发基础知识:12)ABAP宏的应用
宏(Macros)是一段独立的代码,能实现数据的运算与输出,功能与子程序类似,主要应用于同一程序中某些重复的运算,以简化代码,其定义语法如下:        DEFINE INCREMENT.    "INCREMENT为自定义宏的名称。
932 0
ABAP开发基础知识:10)数据流控制
在SAP业务处理中,存在许许多多数据流,分别管控着不同的业务模式。下面介绍如何通过ABAP语法来实现数据流程管控。     1)使用IF语句实现分支       [Syntax]      IF .
1273 0