SAP之各模块BAPI(不定时更新)

本文列举了SAP系统中FICO、SD、MM模块的关键业务处理代码,包括创建和修改会计凭证、销售订单、采购订单,以及固定资产管理、成本控制、物料管理和生产计划等相关操作。这些代码用于支持企业的日常业务流程自动化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FICO模块

FICO模块: 
FB01创建会计凭证:BAPI_ACC_DOCUMENT_POST    
检查会计凭证:BAPI_ACC_DOCUMENT_CHECK
FB02修改会计凭证:FI_ITEMS_MASS_CHANGE
FB08过账冲销会计凭证:BAPI_ACC_DOCUMENT_REV_POST
会计:冲销凭证: BAPI_ACC_ACT_POSTINGS_REVERSE  
会计: 过帐票据凭证冲销 : BAPI_ACC_BILLING_REV_POST 
会计:核算冲销: BAPI_ACC_DOCUMENT_REV_CHECK          
FS00创建总账科目:GL_ACCT_MASTER_SAVE
AS01创建固定资产:BAPI_FIXEDASSET_CREATE1,BAPI_FIXEDASSET_CREATE
AS01创建固定资产并折旧:BAPI_FIXEDASSET_OVRTAKE_CREATE
AS02更改固定资产转移:BAPI_FIXEDASSET_CHANGE
固定资产报废:BAPI_ASSET_RETIREMENT_POST  
F-44读取已清算科目行项目:BAPI_AR_ACC_GETBALANCEDITEMS   "客户
                        BAPI_AP_ACC_GETBALANCEDITEMS  "供应商
      读取未清科目行项目:BAPI_AR_ACC_GETOPENITEMS   "客户
                        BAPI_AP_ACC_GETOPENITEMS   "供应商    
       创建结算凭证(例子1:https://blog.csdn.net/stone0823/article/details/97930626
                    例子2:Z_FI_WS_CREATE_UMBUCHNG
                    例子3:Z_HCX_F44):    
                        POSTING_INTERFACE_START    "BDC开始
                        POSTING_INTERFACE_CLEARING "处理BDC开始
                        POSTING_INTERFACE_END      "BDC结束        
FBRA核算冲销重置已结清项目(F-44):J_1B_FBRA_POSTING_AUFRUFEN   
KSH3按成本中心组查找成本中心:K_GROUP_REMOTE_READ
KP06更改成本要素:K_COSTS_PLAN_INTERFACE_PERIOD
KS01创建成本中心:BAPI_COSTCENTER_CREATEMULTIPLE
KS02修改成本中心:BAPI_COSTCENTER_CHANGEMULTIPLE
KE51创建利润中心:BAPI_PROFITCENTER_CREATE
KE52修改利润中心:BAPI_PROFITCENTER_CHANGE
BP:BAPI_BUPA_BANKDETAIL_ADD:添加银行
   BAPI_BUPA_BANKDETAIL_CHANGE:修改银行
   BAPI_BUPA_TAX_ADD:添加类别税码
   BAPI_BUPA_TAX_CHANGE:修改类别税码
   BAPI_BUPA_CENTRAL_ADD:添加供应商
   BAPI_BUPA_CENTRAL_CHANGE:修改供应商
   BAPI_BUPA_ADDRESS_ADD:添加地址等信息
   BAPI_BUPA_ADDRESS_CHANGE:修改地址等信息
   BAPI_BUPA_CREATE_FROM_DATA:基本信息
   BUP_MEMORY_BUT000_GET:一般数据
   BUPA_CENTRAL_CI_CHANGE:  
   BAPI_BUPA_ROLE_ADD_2:添加BP角色 
   vmd_ei_api=>maintain_bapi:扩充公司代码/采购数据
   vmd_ei_api=>maintain_direct_input:维护采购数据、公司代码数据

SD模块

创建退货订单:BAPI_CUSTOMERRETURN_CREATE  
VA01创建贷项订单:SD_SALESDOCUMENT_CREATE
VA01创建销售订单:BAPI_SALESORDER_CREATEFROMDAT2  
VA02修改销售订单:BAPI_SALESORDER_CHANGE   
VA02查看销售订单状态:STATUS_READ  VB+销售订单+000000
VA02修改销售订单状态:I_CHANGE_STATUS 或者STATUS_CHANGE_EXTERN/表:TJ30
VA02判断销售订单状态:STATUS_CHECK
VA02禁用状态按钮:STATUS_TEXT_EDIT "也可直接用于查询,TJ30T对应描述
VA11创建询价单:BAPI_INQUIRY_CREATEFROMDATA2
VA21创建报价单:BAPI_QUOTATION_CREATEFROMDATA2(不知道为啥用不了)/SD_SALESDOCUMENT_CREATE(可用)
VKM1释放信贷:SD_ORDER_CREDIT_RELEASE
VA41创建销售合同:BAPI_CONTRACT_CREATE/BAPI_CONTRACT_CREATEFROMDATA
VA42修改销售合同:BAPI_CUSTOMERCONTRACT_CHANGE
VF01创建销售开票凭证:BAPI_BILLINGDOC_CREATEMULTIPLE
           出具发票:RV_INVOICE_DOCUMENT_ADD
VF02(小旗子)释放到会计核算:BDC           
VF11冲销销售开票凭证:BAPI_BILLINGDOC_CANCEL1           
VK11创建条件记录:BAPI_PRICES_CONDITIONS      
VL01N创建交货单:BAPI_OUTB_DELIVERY_CREATE_SLS、BAPI_DELIVERYPROCESSING_EXEC
VL02N交货单过账发货: BAPI_OUTB_DELIVERY_CONFIRM_DEC、WS_DELIVERY_UPDATE
VL02N修改交货单:BAPI_OUTB_DELIVERY_CHANGE 

MM模块

ME11创建采购咨询记录:1、ME_DIRECT_INPUT_INFORECORD       
                    2、ME_POST_INFORECORD    
                    3、ME_UPDATE_INFORECORD_COND
ME12修改采购咨询记录:ME_INFORECORD_MAINTAIN                    
ME21N创建采购订单:BAPI_PO_CREATE1                
ME22N修改采购订单:BAPI_PO_CHANGE   
SELECT SINGLE frgc1 frgc2 INTO ( l_frgc1,l_frgc2 ) FROM t16fs 
   WHERE frggr = 'R2' AND frgsx = '01'.  
采购订单审批:BAPI_PO_RELEASE
采购订单取消审批:BAPI_PO_RESET_RELEASE     
采购订单状态:EKKO-FRGKE
ME23N显示采购订单:BAPI_PO_GETDETAIL1 采购订单明细
                  BAPI_PO_GET_LIST 采购订单列表
                  BAPI_PO_GETITEMS 采购订单明细列表         
ME51N创建采购申请:BAPI_PR_CREATE(批导):例子:Z_MM_WS_CREATE_FIPR
                 BAPI_REQUISITION_CREATE   
ME52N修改采购申请:BAPI_PR_CHANGE(批导)
                 BAPI_REQUISITION_CHANGE    
ME53N获取明细:BAPI_REQUISITION_GETDETAIL
SELECT SINGLE frgc1 frgc2 INTO ( l_frgc1,l_frgc2 ) FROM t16fs 
   WHERE frggr = 'M1' AND frgsx = '01'.   
采购申请审批:BAPI_REQUISITION_RELEASE_GEN             
采购申请行项目审批:BAPI_REQUISITION_RELEASE  
采购申请取消审批:BAPI_REQUISITION_RESET_REL_GEN"已创建采购订单的不允许取消(ZMMR026有例子:BAPI_REQUISITION_RESET_RELGEN)     
采购申请行项目取消审批:BAPI_REQUISITION_RESET_RELEASE     
导入顺序:基本视图->采购视图->MRP视图->销售视图->会计成本视图->库存地点视图
查询物料:MATERIAL_READ
MM01创建物料:BAPI_MATERIAL_SAVEDATA         
扩充MRP区域:MD_MRP_LEVEL_CREATE_DATA
修改MRP区域:MD_MRP_LEVEL_CHANGE_DATA
扩充生产版本:CS_BOM_CREATE_PRODVER_ENTRIES
更改物料单价:BAPI_MATVAL_PRICE_CHANGE
分类视图的创建:BAPI_OBJCL_CREATE
分类视图得到详细信息:BAPI_OBJCL_GETCLASSES
物料视图的扩充:BAPI_MATERIAL_SAVEREPLICA 
MB21创建预留单:BAPI_RESERVATION_CREATE1
MB22更改预留单:BAPI_RESERVATION_CHANGE
MB24删除预留单:BAPI_RESERVATION_DELETE
MIR7采购发票预制:BAPI_INCOMINGINVOICE_PARK,BAPI_INCOMINGINVOICE_CHANGE
根据物料读取采购订单:ME_CHECK_DOCUMENT_FOR_MATERIAL
CA01创建工艺路线:BAPI_ROUTING_CREATE           
MIGO创建MIGO过账BAPI:BAPI_GOODSMVT_CREATE      
  GOODSMVT_CODE(SE11:T158G):
                 01代表MB01:A01,A02 R02参考凭证 移动类型122
                 02代表MB31:A01收货 R08订单 移动类型101 移动标识F(订单入库)
                 03代表MB1A:A07
                 04代表MB1B:A08
                05代表MB1C
                06代表MB11
                07代表MB04
MIGO冲销MIMO过账BAPI:BAPI_GOODSMVT_CANCEL    "A03  
MSC1N创建批次:BAPI_BATCH_CREATE                 
MD61创建已计划的独立需求:BAPI_REQUIREMENTS_CREATE
MD62更改已计划的独立需求:BAPI_REQUIREMENTS_CHANGE  
MD63显示已计划的独立需求:BAPI_REQUIREMENTS_GETDETAIL
MD04查询MD04项目数据:MD_MDPSX_READ_API          
                     MD_SALES_ORDER_STATUS_REPORT
MD04创建计划订单转生产订单:BAPI_PLANNEDORDER_CHANGE 
获取计划订单函数 BAPI_PLANNEDORDER_GET_DETAIL    
删除计划订单:BAPI_PLANNEDORDER_DELETE  
MD04更改计划订单:BAPI_PLANNEDORDER_CHANGE
MD04查询MRP实时库存:MD_STOCK_REQUIREMENTS_LIST_API
MRP清单:MD_MRP_LIST_API
需求溯源:MD_PEGGING_NODIALOG
实时库存:MD_STOCK_REQUIREMENTS_LIST_API,这个函数中MDPSX 和 MDEZX 是通过 MDPS 的 INDEX = MDEZ-ALINE  来关联获取数据
IQ02更改物料序列编号:BAPI_EQUI_CHANGE
IQ02根据设备号获取状态:BAPI_EQUI_GETSTATUS          
MD11创建计划订单:BAPI_PLANNEDORDER_CREATE    
CS01创建物料BOM:BAPI_MATERIAL_BOM_GROUP_CREATE
创建BOM:CSAP_MAT_BOM_CREATE
创建BOM:CS_BI_BOM_CREATE_BATCH_INPUT1(不知道具体作用)
更改BOM:CSAP_MAT_BOM_MAINTAIN
更改BOM:CSAP_BOM_ITEM_MAINTAIN
展开BOM:CS_BOM_EXPL_MAT_V2,用SE38:rcs13001传入参数也可以查询
读取BOM原始数据:CSAP_MAT_BOM_READ
  DATA lt_bom LIKE TABLE OF stpox WITH HEADER LINE.
  CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
    EXPORTING
      capid                 = BOM应用程序
      datuv                 = sy-datum"有效期
      mtnrv                 = 物料
      stlan                 = '1'   " bom usage
      mehrs                 = 'X' "展开多层
      werks                 = 工厂
*      emeng                 = pi_bdmng
    TABLES
      stb                   = lt_bom[].
删除BOM:CSAP_MAT_BOM_DELETE          
停止调用BOM:CSAP_MAT_BOM_CLOSE      
ECN变更单建立:CCAP_ECN_CREATE
ME01创建货源清单:ME_INITIALIZE_SOURCE_LIST
                 ME_DIRECT_INPUT_SOURCE_LIST(两个一起用,先CALL第一个不需要传参数)、
                 ME_POST_SOURCE_LIST_NEW
ME02更改货源清单:ME_UPDATE_SOURCES_OF_SUPPLY

PP模块

CO11/CO11N生成报工:BAPI_PRODORDCONF_CREATE_TT
CO13取消报工:BAPI_PRODORDCONF_CANCEL
CO01创建生产订单:BAPI_PRODORD_CREATE   
生成订单状态:STATUS_READ 状态表:TJ02、TJ02T 参数文件表:TJ20、TJ20T---------------OR+00生产订单  
修改生产订单状态用BDC方法:功能->限制处理->。。。
CO02修改生产订单(工序组件等等,比较全):BAPI_ALM_ORDER_MAINTAIN      
CO02修改生产订单:BAPI_PRODORD_CHANGE 
CO03获取生产订单函数 BAPI_PRODORD_GET_DETAIL   
CO03获取生产订单抬头信息:BAPI_PRODORD_GET_LIST 
CO03获取订单流程信息函数 BAPI_PROCORD_GET_DETAIL     
创建生产订单成分/组件:CO_XT_COMPONENT_ADD      
修改生产订单成分/组件:CO_XT_COMPONENT_CHANGE  
删除生产订单成分/组件:CO_XT_COMPONENTS_DELETE 
读取工序:PM_ORDER_DATA_READ;CO_BO_OPR_OF_ORDER_GET
订单项目管理:CO_BI_AFPO_READ_WITH_KEY、CO_BI_AFPO_UPD
KO88(检查生产订单是否可结算):K_SETTLEMENT_CHECK_ANY
KO88(生产订单)实际结算:K_SETTLEMENT_GROUP_PROCESS  
CO02技术性完成工单:COXT_BAPI_COMPLETE_TECH
KO01创建内部订单:BAPI_INTERNALORDER_CREATE  
KOB5内部订单最终结算功能:BAPI_SETTLEMENTREQSLIST_CREATE

PS模块

以下CJ01、CJ02、CJ03都与CJ20N类似。

创建项目:BAPI_BUS2001_CREATE(可带增强字段)、BAPI_PROJECTDEF_CREATE
修改项目:BAPI_BUS2001_CHANGE
修改项目状态: BAPI_BUS2001_SET_STATUS + BAPI_PS_INITIALIZATION + 
              BAPI_PS_PRECOMMIT 
删除项目:BAPI_BUS2001_DELETE
查询项目清单:BAPI_BUS2001_GETDATA 
查询项目状态描述:STATUS_TEXT_EDIT_LONG"传对象编号(PROJ-OBJNR->LINE+USER_LINE)
查询项目状态:BAPI_BUS2001_GET_STATUS


创建WBS:BAPI_BUS2054_CREATE_MULTI(可带增强字段)
修改WBS:BAPI_BUS2054_CHANGE_MULTI
修改WBS状态:BAPI_BUS2054_SET_STATUS
删除WBS:BAPI_BUS2054_DELETE_MULTI
查询WBS清单:BAPI_BUS2054_GETDATA
查询WBS状态:BAPI_BUS2054_GET_STATUS


创建网络:BAPI_BUS2002_CREATE
删除网络清单:BAPI_BUS2002_DELETE
查询网络清单:BAPI_BUS2002_GETDATA
CN25网络确认:BAPI_NETWORK_CONF_ADD

附加

创建日志:BAL_LOG_CREATE
保存日志:BAL_DB_SAVE
添加日志:BAL_LOG_MSG_ADD

执行:
成功:  
1、COMMIT WORK AND WAIT.
2、    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'.
如有commit失败的,则在commit之后加:WAIT UP TO 2 SECONDS.延迟执行
失败:
1、ROLLBACK WORK.
2、 CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    LOOP AT lt_return INTO ls_return WHERE type = 'E'.
      CONCATENATE e_message ls_return-message INTO e_message SEPARATED BY '/'.
    ENDLOOP.
    SHIFT e_message BY 1 PLACES LEFT/RIGHT.
    LOOP.
        CONCATENATE it_data-a ',' gs_name-A INTO it_data-a.
    ENDLOOP.
    CONDENSE it_data-a NO-GAPS.
数据库更新:
异步:COMMIT WORK.
同步:COMMIT WORK AND WAIT.

*例子:Z_PP_WS_MIGO_PPRC(OA-生产(集成)领料入库确认过账流程)
调用多次bapi时,在最后一个bapi处引用:DESTINATION 'NONE',
    并且在'BAPI_TRANSACTION_COMMIT'处引用:DESTINATION 'NONE'

*BAPI两种定义方式
DATA: lt_bapicondx LIKE bapicondx  OCCURS 0 WITH HEADER LINE.
DATA: lt_bapicondx LIKE STANDARD TABLE OF bapicondx.   /WITH HEADER LINR  
DATA: lt_bapicondx TYPE TABLE OF bapicondx WITH HEADER LINE. 

RETURN: e_code    TYPE bapi_mtype, "MSGTY    消息类型
        e_message TYPE bapi_msg,   "MSGTXT   消息文本
DATA: lt_RETURN TYPE TABLE OF bapiret2, "bapireturn
      ls_RETURN LIKE LINE OF lt_RETURN.    
DATA: LT_return TYPE TABLE OF bapiret2 WITH HEADER LINE.     

<think>好的,用户想了解UiPath与SAP的集成或比较。首先,我需要确认UiPath和SAP各自的基本信息以及它们的集成方式。UiPath是一个RPA(机器人流程自动化)工具,而SAP是企业资源计划(ERP)系统,常用于财务管理、供应链管理等。集成通常是指UiPath如何自动化SAP的操作,比如自动填写表单、提取数据等。 接下来,我应该考虑用户可能的实际需求。用户可能希望了解如何通过UiPath自动化SAP中的重复任务,或者比较两者的功能差异。需要区分集成和比较的不同方面。集成部分可能涉及技术实现,如使用SAP的API、GUI自动化,或者中间件如SAP Connector。比较部分可能需要分析两者的定位差异,比如UiPath是自动化工具,而SAP是业务管理软件,功能互补而非直接竞争。 然后,检查提供的引用内容是否有相关信息。引用[3]提到适配器框架的API和日志审计,可能与UiPath的集成技术相关,比如使用API进行连接。但其他引用如[1]和[2]似乎与当前问题关联不大,可能需要注意不要强行关联。 需要确保回答结构清晰,分点说明集成方法和比较要点。可能还需要生成相关问题,引导用户深入探讨,比如性能优化、常见用例或权限管理等问题。同,按照用户要求,使用中文回答,数学公式用正确格式,但当前问题可能不涉及数学内容,所以主要注意LaTeX格式的代码块和引用标注。 最后,验证信息的准确性,确保提到的技术如SAP GUI Scripting、UiPath Studio的Activities确实存在,并正确引用相关资料。可能还需要提醒用户权限管理和性能优化的重要性,这些都是实际集成中常见的问题。</think>### UiPath与SAP的集成与比较 #### 1. **UiPath与SAP的集成** UiPath作为机器人流程自动化(RPA)工具,常用于自动化SAP系统中的重复性任务,例如数据录入、报表生成和业务流程触发。以下是主要集成方法: - **SAP GUI Scripting** UiPath通过`SAP GUI Scripting API`直接操作SAP客户端界面元素(如输入框、按钮),模拟用户操作。例如: ```vbscript session.findById("wnd[0]/usr/txtRSYST-MANDT").Text = "100" session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = "user" ``` 需在SAP中启用脚本功能[^3]。 - **SAP .NET Connector** 通过`.NET Connector`调用SAPBAPI(Business API)或RFC(Remote Function Call),实现后端数据交互。代码示例: ```csharp RfcDestination dest = RfcDestinationManager.GetDestination("SAP_DEV"); IRfcFunction function = dest.Repository.CreateFunction("BAPI_MATERIAL_GET_DETAIL"); function.Invoke(dest); ``` - **中间件集成** 结合SAP PI/PO或第三方工具(如Kafka、MuleSoft)传递数据,UiPath通过REST/SOAP接口调用中间件服务。 #### 2. **UiPath与SAP的功能比较** | 维度 | UiPath | SAP | |--------------|-------------------------------------|------------------------------------| | **定位** | 自动化任务执行(RPA) | 企业资源管理(ERP) | | **核心功能** | 流程自动化、跨系统操作 | 财务、供应链、生产管理等模块 | | **扩展性** | 通过插件支持AI/ML模型集成 | 通过ABAP开发模块扩展 | | **适用场景** | 重复性规则驱动任务(如数据迁移) | 复杂业务逻辑处理(如成本核算) | #### 3. **典型用例** - **自动化发票处理**:UiPath从邮件提取PDF发票,调用SAP BAPI生成财务凭证。 - **库存同步**:通过RFC读取SAP库存数据,更新至外部WMS系统。 - **报表生成**:定登录SAP导出销售报表,并发送至邮箱。 #### 4. **集成挑战与优化** - **权限管理**:需在SAP中为机器人分配最小必要权限[^3]。 - **稳定性**:使用`Retry Scope`活动处理SAP会话超。 - **性能优化**:避免高频操作阻塞SAP事务代码,可通过异步调用或批量处理实现[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄纯锡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值