SAP 可配置BOM创建

本文档详细介绍了在SAP中创建可配置BOM的过程,包括需求分析、程序设计步骤,如自建表维护BOM关系、使用特定程序实现BOM创建,并涉及了相关数据结构和表格操作。通过示例代码展示了如何处理BOM的组件及子组件信息,同时提供了错误处理和消息输出功能。
摘要由CSDN通过智能技术生成

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                                       *
*----------------------------------------------------------------------*

"机组包装
TYPESBEGIN 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.


DATAh_upload  TYPE ty_upload.
DATAh_head    TYPE ty_upload.
DATAit_upload  LIKE TABLE OF h_upload WITH HEADER LINE .
DATABEGIN OF h_disp.
        INCLUDE  TYPE ty_upload.
DATAEND OF h_disp.
DATAit_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-POOLSslis.

DATAwt_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.
DATAit_raw TYPE truxs_t_text_data.
DATAline_cnt TYPE i.
DATAitab_header LIKE bicsk OCCURS WITH HEADER LINE.
DATAitab_item LIKE bicsp OCCURS WITH HEADER LINE.
DATAitab_gdata LIKE bgr00 OCCURS WITH HEADER LINE.
DATAitab_sub_item LIKE bicsu OCCURS 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.

DATABEGIN 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(13TYPE 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.
DATABEGIN OF aux_message_tab OCCURS 0.
        INCLUDE STRUCTURE message.
DATAgroup LIKE bgr00-group,
      set(1),
      matnr LIKE mara-matnr"母件物料号
      werks LIKE t001w-werks"工厂
      stlan(1TYPE c"用途
      stlal(2)  TYPE n"版本
      END OF aux_message_tab.
DATAz_status_text(40TYPE c.
DATAz_text(40TYPE c.
DATAg_repid TYPE sy-repid.
DATAl_alv_filed  TYPE slis_fieldcat_alv.
DATAl_alv_filedcat  TYPE slis_t_fieldcat_alv.
DATAlayout TYPE slis_layout_alv.
DATAgs_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.


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值