1.需求
2.为了更直观,放出界面
3.程序设计
3.1先做个自建表,维护BOM关系图
3.2程序实现
report zppr108b.
**** 定义相关表
tables:mara,mseg,sscrfields. "
TABLES:AUFK,ZPP23B.
DATA functxt TYPE smp_dyntxt. "
*----------------------------------------------------------------------*
* INTERNAL TABLES AND WORK AREAS *
*----------------------------------------------------------------------*
"机组包装
TYPES: BEGIN OF ty_upload,
chiller_BOM LIKE mara-matnr, "基础BOM
chiller_pack1 LIKE mara-matnr, "热塑包装
chiller_pack2 LIKE mara-matnr, "国内木框架包装
chiller_pack3 LIKE mara-matnr, "出口木托底包装
chiller_pack4 LIKE mara-matnr, "出口木框架包装
modbus1 LIKE mara-matnr, "Modbus
modbus2 LIKE mara-matnr, "BACnet/IP
type1 like mara-matnr, "橡胶减振
type2 like mara-matnr, "弹簧减振
END OF ty_upload.
DATA: h_upload TYPE ty_upload.
DATA: h_head TYPE ty_upload.
DATA: it_upload LIKE TABLE OF h_upload WITH HEADER LINE .
DATA: BEGIN OF h_disp.
INCLUDE TYPE ty_upload.
DATA: END OF h_disp.
DATA: it_disp LIKE TABLE OF h_disp WITH HEADER LINE.
data: obj_type like bapiache02-obj_type, "参考过程
obj_key like bapiache02-obj_key, "对象关键字
obj_sys like bapiache02-obj_sys, "源凭证的逻辑系统
gd_documentheader like bapiache09, "凭证抬头结构
it_accountgl like table of bapiacgl09 with header line, "行项目表
it_currencyamount like table of bapiaccr09 with header line, "货币金额
it_return like table of bapiret2 with header line, "记账后值返回
lw_return type bapiret2, "返回参数 工作区
it_extension2 type standard table of bapiparex with header line,
it_accountpayable type standard table of bapiacap09 with header line, "行项目供应商信息
it_accountreceivable like table of bapiacar09 with header line, "行项目客户信息
it_criteria like table of bapiackecr with header line.
TYPE-POOLS: slis.
DATA: wt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
wt_layout TYPE slis_layout_alv.
DATA : l_grid TYPE REF TO cl_gui_alv_grid.
DATA: wlt_fieldcat LIKE LINE OF wt_fieldcat.
DATA: it_raw TYPE truxs_t_text_data.
DATA: line_cnt TYPE i.
DATA: itab_header LIKE bicsk OCCURS 0 WITH HEADER LINE.
DATA: itab_item LIKE bicsp OCCURS 0 WITH HEADER LINE.
DATA: itab_gdata LIKE bgr00 OCCURS 0 WITH HEADER LINE.
DATA: itab_sub_item LIKE bicsu OCCURS 0 WITH HEADER LINE.
DATA:
message_id LIKE t100-arbgb,
message_number LIKE t100-msgnr,
message_type LIKE syst-msgty,
message_var1 LIKE syst-msgv1,
message_var2 LIKE syst-msgv1,
message_var3 LIKE syst-msgv1,
message_var4 LIKE syst-msgv1.
DATA: BEGIN OF itab OCCURS 0,
* 初始屏幕
matnr LIKE mara-matnr, "母件物料号
werks LIKE t001w-werks, "工厂
stlan LIKE mast-stlan, "用途
stlal LIKE stko-stlal, "版本
* 抬头
maktx LIKE makt-maktx, "母件物料名称
stktx LIKE stko-stktx, "抬头文本
bmeng LIKE stko-bmeng,"抬头基本数量
stlst LIKE stko-stlst, "抬头BOM 状态
* 项目
postp LIKE stpo-postp, "项目类别
idnrk LIKE stpo-idnrk, "子件物料编号
idmaktx LIKE makt-maktx, "子件物料名称
menge(13) TYPE c, "子件用量 注意:需定义为文本类型,若LIKE stpo-menge则在读入小数时出错
"menge LIKE stpo-menge, "子件用量
meins LIKE stpo-meins, "子件单位
sortf LIKE stpo-sortf, "排序字符串
fmeng LIKE stpo-fmeng, "固定用量
ausch LIKE stpo-ausch, "子件损耗率
potx1 LIKE stpo-potx1, "项目文本
lgort LIKE stpo-lgort, "领料仓库
END OF itab.
DATA: BEGIN OF aux_message_tab OCCURS 0.
INCLUDE STRUCTURE message.
DATA: group LIKE bgr00-group,
set(1),
matnr LIKE mara-matnr, "母件物料号
werks LIKE t001w-werks, "工厂
stlan(1) TYPE c, "用途
stlal(2) TYPE n, "版本
END OF aux_message_tab.
DATA: z_status_text(40) TYPE c.
DATA: z_text(40) TYPE c.
DATA: g_repid TYPE sy-repid.
DATA: l_alv_filed TYPE slis_fieldcat_alv.
DATA: l_alv_filedcat TYPE slis_t_fieldcat_alv.
DATA: layout TYPE slis_layout_alv.
DATA: gs_print TYPE slis_print_alv.
DATA:old_matnr LIKE mara-matnr,
new_matnr LIKE mara-matnr,
old_imatnr LIKE mara-matnr,
new_imatnr LIKE mara-matnr,
v_line LIKE stpo-posnr,
v_count TYPE i,
h_count TYPE i,
matnr LIKE mara-matnr.
DEFINE addfield.
l_alv_filed-fieldname = &1.
l_alv_filed-reptext_ddic = &2.
l_alv_filed-outputlen = &3.
append l_alv_filed to l_alv_filedcat.
clear l_alv_filed.
END-OF-DEFINITION.