SAP MM采购信息记录维护接口分享

一、接口逻辑

1)外围系统:适用于走OA或SRM系统创建供应商与SAP交互

2)输入参数和输出参数

二、接口代码

为了确保采购信息记录维护无问题,没有使用标准BAPI,而是通过BDC实现,当前版本为PCE S4 2023版本,采购信息记录维护ME11界面可能与ECC版本有微小差异,可能BDC屏幕需要微调。

FUNCTION z_fmmm_0026.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     REFERENCE(I_DATA_GD) TYPE  ZSBC_IF_GD
*"     REFERENCE(I_INPUT) TYPE  STRING
*"  EXPORTING
*"     REFERENCE(E_OUTPUT) TYPE  STRING
*"----------------------------------------------------------------------
  DATA:lv_matnr TYPE matnr,
       lwa_msg  TYPE zsbc_msg,
       lwa_out  TYPE zssmm_output_026.

  DATA: lwa_headdata TYPE bapimathead,
        lwa_marc     TYPE bapi_marc,
        lwa_marcx    TYPE bapi_marcx,
        lwa_return   TYPE bapiret2.

  DATA: ls_item  TYPE          zssmm_input_026,
        ls_scale TYPE          zssmm_input_026,
        lt_scale TYPE TABLE OF zssmm_input_026,
        ls_incom TYPE          meico,
        ls_eina  TYPE          eina,
        ls_eine  TYPE          eine,
        ls_bdc   TYPE          bdcdata,
        lt_bdc   TYPE TABLE OF bdcdata,
        lv_mode  TYPE          c,
        ls_msg   TYPE          bdcmsgcoll,
        lt_msg   TYPE TABLE OF bdcmsgcoll,
        lv_msg   TYPE          string,
        lv_type  TYPE bapi_mtype,
        lv_dynnr TYPE          sy-dynnr,
        lv_tcode TYPE          sy-tcode.

  DATA: lv_kbetr  TYPE string,
        lv_kpeins TYPE string,
        lv_kstbms TYPE string,
        lv_aplfz  TYPE string,
        lv_untto  TYPE string,
        lv_uebto  TYPE string,
        lv_netpr  TYPE string,
        lv_peinh  TYPE string,
        lv_bprme  TYPE string,  "added by dq 20250205 新增采购订单单位
        lv_kstbm  TYPE string,
        lv_datab  TYPE string,
        lv_datai  TYPE string,
        lv_norbm  TYPE string,
        lv_minbm  TYPE string,
        lv_num(2) TYPE n.
  DATA: ls_konp TYPE konp,
        lt_konp TYPE TABLE OF konp.

  FIELD-SYMBOLS <lfs_item> TYPE zssmm_input_026.

  DEFINE conv_alpha_input.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = &1
      IMPORTING
        output = &1.
  END-OF-DEFINITION.

  DEFINE bdcdata.
    CLEAR ls_bdc.
    IF &1 = 'X'.
      ls_bdc-program  = &2.
      ls_bdc-dynpro   = &3.
      ls_bdc-dynbegin = 'X'.
    ELSE.
      ls_bdc-fnam = &2.
      ls_bdc-fval = &3.
    ENDIF.
    APPEND ls_bdc TO lt_bdc.
  END-OF-DEFINITION.
  "清空全局变量
  CLEAR:gv_input_026,
        gv_output_026,
        gv_status_026.

  "清空输出变量
  CLEAR:e_output.

  CLEAR:lv_matnr,
        lwa_msg,
        lt_msg .

  gv_status_026 = 'S'.

  IF i_input IS NOT INITIAL.

    CALL FUNCTION 'Z_FMBC_JSONTOABAP2'
      EXPORTING
        i_json = i_input
      IMPORTING
        e_data = gv_input_026.

  ENDIF.

  IF gv_input_026 IS INITIAL.

    lwa_msg-type  = 'E'.
    lwa_msg-message = '请检查JSON结构与SAP ABAP结构 是否一致!'.
    APPEND lwa_msg TO lwa_out-messagelist.
    APPEND lwa_out TO gv_output_026-data_list.
    CLEAR lwa_out.
    gv_status_026 = 'E'.
    PERFORM frm_write_log_new  USING i_data_gd-butype
                                     gv_output_026
                                     i_data_gd
                                     i_input
                                     e_output
                                     gv_status_026.
    EXIT.
  ENDIF.

  SORT gv_input_026-data_list BY lifnr matnr ekorg werks esokz kstbm.
  lv_mode = 'N'.
*  SELECT *
*  FROM konp

### 如何在 SAP 系统中维护采购信息记录 #### 维护采购信息记录的操作概述 在 SAP 中,采购信息记录 (Purchasing Info Record) 是一种重要的工具,用于存储有关供应商及其所提供物料的具体数据。这些记录可以帮助企业优化采购流程并减少重复工作量。通过创建和更新采购信息记录,公司能够更好地管理和跟踪其供应链活动。 为了完成这一任务,通常会在 MM(Material Management)模块下的采购管理子区域执行相应操作。具体来说,可以通过事务码 `ME11` 创建新的采购信息记录或者利用事务码 `ME12` 修改现有的条目[^2]。 #### 步骤说明 以下是基于标准 SAP 功能的一般指导: - **启动事务**: 输入事务码 `ME11` 或者从菜单路径导航至 “Logistics -> Materials Management -> Purchasing -> Info Records -> Create”。这一步将打开初始屏幕以便输入必要的筛选条件。 - **定义关键参数**: 需要指定几个核心字段来唯一识别所要建立的信息记录,比如工厂 (`Plant`)、物料编号 (`Material Number`) 和供应商编码 (`Vendor Code`) 等属性。只有当所有必填项都被正确定义之后才能继续下一步操作[^3]。 - **填写详细资料**: 进入编辑模式后,用户应补充其他重要细节,例如价格条款(`Price Condition`)、货币单位(`Currency Unit`)以及交货时间估计值(`Delivery Time Estimate`)等内容。注意某些数值可能依赖于先前设定好的主数据对象,因此务必确认它们的有效性和准确性[^1]。 - **保存更改**: 完成上述设置以后就可以提交当前状态到数据库里永久保留下来了。如果一切顺利的话,则意味着成功新增了一条有效的采购信息记录;反之则需按照错误提示消息逐一排查问题所在直至彻底解决为止。 另外值得注意的是,在实际应用过程中还可能存在额外的要求或限制因素影响最终实施方案的选择——例如行业特殊需求或者其他集成系统的兼容性考量等方面的影响都需要纳入考虑范围之内。 ```python # 示例 Python 脚本展示如何模拟调用 SAP RFC 接口以自动化处理部分常规任务 import pyrfc def create_info_record(sap_system, plant_id, material_num, vendor_code): try: connection = sap_system.get_connection() result = connection.call('BAPI_INFORECORD_CREATE', PLANT=plant_id, MATERIAL=material_num, VENDOR=vendor_code) return result['RETURN'] except Exception as e: raise RuntimeError(f"Error during info record creation: {e}") if __name__ == "__main__": from my_sap_config import MySAPSystemConfig config = MySAPSystemConfig() response = create_info_record(config, '0001', 'MAT123456', 'VEND789') print(response) ``` 此脚本仅作为概念验证用途,并假设存在适当的安全措施保护敏感信息不被泄露出去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值