记录ABAP开发的日常——常用的BAPI
前言:在开发的过程中经常用到一些BAPI函数,为了便于查找,于是在这里记录下。如果有广大朋友使用的BAPI在这里没有记录到,欢迎评论补充。
SD模块
-
1.销售订单:
- BAPI_SALESORDER_CREATEFROMDAT2 普通销售订单
- SD_SALESDOCUMENT_CREATE 销售订单
- SD_SALESDOCUMENT_CREATE 退货订单
- BAPI_SALESORDER_CHANGE 修改或者删除销售订单
- BAPI_PRICES_CONDITIONS 创建销售价格
注意:退货订单、借项凭证及贷项凭证(VA01)均不能用BAPI_SALESORDER_CREATEFROMDAT2创建、系统会报错(不允许业务对象 BUS2032 和销售凭证类别 H 的组合),需使用函数SD_SALESDOCUMENT_CREATE
-
2.交货单:
- BAPI_OUTB_DELIVERY_CREATE_SLS 根据销售订单创建交货单
- BAPI_DELIVERYPROCESSING_EXEC 创建内向交货单
- BAPI_OUTB_DELIVERY_READ_SLS 根据销售订单创建交货单,得到交货单创建初始页面所需数据
- BAPI_OUTB_DELIVERY_CHANGE 执行拆分、拣配、交货单修改操作
- BAPI_OUTB_DELIVERY_GETDETAIL 根据交货单号获取单据详细内容
- SD_DELIVERY_UPDATE_PICKING 更改拣配数量
-
3.发票:
- BAPI_BILLINGDOC_CREATEMULTIPLE 创建发票,注意参数ref_doc_ca
- MB_CANCEL_GOODS_MOVEMENT 冲销交货单的过账发货
- BAPI_BILLINGDOC_CANCEL 发票的冲销
- WS_DELIVERY_UPDATE 交货单发货过账
注意,每次调用WS_DELIVERY_UPDATE前需要执行以下代码段,否则会出现莫名奇妙的错误。
CALL FUNCTION ‘RV_DELIVERY_INIT’.
-
4.客户:
- SD_CUSTOMER_MAINTAIN_ALL 创建客户
table参数中有很多表,其中X打头代表要插入的数据,Y打头代表要删除的数据.
- CALL METHOD cl_md_bp_maintain=>maintain 创建、修改、扩充客户主数据
- SD_CUSTOMER_MAINTAIN_ALL 创建客户
MM模块
- 1.物料主数据:
- BAPI_MATERIAL_SAVEDATA 创建物料主数据
- BAPI_OBJCL_CREATE 分类视图的创建
- BAPI_OBJCL_GETCLASSES 分类视图得到详细信息
- BAPI_MATERIAL_SAVEREPLICA 物料视图的扩充
- BAPI_GOODSMVT_CREATE 创建物料凭证(MIGO),注意表T158G可以决定GOODSMVT_CODE
- BAPI_GOODSMVT_CANCEL 冲销物料凭证
- BAPI_GOODSMVT_GETDETAIL 显示物料异动明细
- BAPI_GOODSMVT_GETITEMS 显示物料文件的明细清单
- 2.采购申请:
- BAPI_PR_CREATE 创建PR
- 3.采购订单:
- BAPI_PO_CREATE1 创建采购订单PO
- BAPI_PO_CREATEREF_PR 根据采购申请创建采购订单PO
- BAPI_PO_CHANGE 修改和删除PO
- BAPI_PO_GETDETAIL 显示采购订单PO明细
- BAPI_PO_RELEASE 审批采购订单PO
- BAPI_PO_RESET_RELEASE 取消审批采购订单PO
- BAPI_REQUISITION_CREATE、BAPI_REQUISITION_CHANGE、BAPI_REQUISITION_GETDETAIL 创建、删除、显示请购单明细
- BAPI_REQUISITION_RELEASE_GEN 核发请购单
- BAPI_OUTB_DELIVERY_CREATE_STO 创建STO交货单
- WS_REVERSE_GOODS_ISSUE 冲销交货单的过账发货
- BAPI_RESERVATION_CREATE1、BAPI_RESERVATION_CHANGE 创建、修改和删除预留
- PRICES_CHANGE PRICES_POST 更改物料移动平均价或者标准价格
如果要检查ATP,必须使用第二个
- 4.物料分类&特性
- BAPI_OBJCL_CREATE、BAPI_OBJCL_CHANGE 创建、更改物料主档分类
- CLMM_MAINTAIN_CLASSIFICATIONS 批量建立/更改物料主档分类
- CLAF_CLASSIFICATION_OF_OBJECTS 显示物料主档分类特性值
- BAPI_MATERIAL_EXISTENCECHECK 检查物料主档是否存在
- BAPI_MATERIAL_GETLIST 显示物料主档明细
- BAPI_CHARACT_CREATE、BAPI_CHARACT_CHANGE、BAPI_CHARACT_DELETE、BAPI_CHARACT_RENAME 创建、修改、删除、重新命名特性
- BAPI_CHARACT_GETDETAIL 读取特性属性
- BAPI_CHARACT_ADDLONGTEXT、BAPI_CHARACT_REMOVELONGTEXT、BAPI_CHARACT_GETLONGTEXT 创建、删除、读取特性或者数值的特性长文本
- CARD_CHARACTERISTIC_READ 显示特性值的值列表
- BAPI_CLASS_CREATE、BAPI_CLASS_CHANGE、BAPI_CLASS_DELETE 创建、更改、删除类别
- BAPI_CLASS_GETDETAIL 读取类别资讯(取分类下特性及特性值)
- BAPI_CLASS_EXISTENCECHECK 检查物件存在性
- BAPI_VENDOR_GETDETAIL 显示供应商明细
- BAPI_VENDOR_EXISTENCECHECK 检查存在性
- BAPI_MATERIALGROUP_GET_LIST 读取物料群组/物料群组说明
- 5.供应商:
GOODSMVT_CODE参数对应值:
GOODSMVT_CODE | 事务码 |
---|---|
01 | MB01 |
02 | MB31 |
03 | MB1A |
04 | MB1B |
05 | MB1C |
06 | MB11 |
07 | MB04 |
PP模块
- 1.工艺路线:
- BAPI_ROUTING_CREATE 创建工艺路线
- BAPI_ROUTING_EXISTENCE_CHECK 检查工艺路线是否存在
- 2.参考操作集:
- BAPI_REFSETOFOPERATIONS_CREATE 创建参考参考工序集
- BAPI_REFSETOFOPR_EXISTENCE_CHK 检查参考参考工序集
- 3.计划订单:
- BAPI_PLANNEDORDER_CREATE、BAPI_PLANNEDORDER_CHANGE、BAPI_PLANNEDORDER_DELETE 创建、修改、删除计划订单
- BAPI_PLANNEDORDER_EXIST_CHECK 检查计划订单是否存在
- BAPI_PLANNEDORDER_GET_DETAIL 获取计划订单详细信息
- BAPI_PLANNEDORDER_GET_DET_LIST 获得计划订单信息
- 4.计划独立需求:
- BAPI_REQUIREMENTS_CREATE、BAPI_REQUIREMENTS_CHANGE、BAPI_REQUIREMENTS_GETDETAIL 创建、修改、获取计划独立需求
- 5.生产订单:
- BAPI_PRODORD_CREATE、BAPI_PRODORD_CHANGE、BAPI_PRODORD_RELEASE、BAPI_PRODORD_CLOSE 创建、修改、下达、关闭生产订单
- BAPI_PRODORD_EXIST_CHECK 确认检查性
- BAPI_PRODORD_GET_LIST 列表抬头订单
- BAPI_PRODORD_GET_DETAIL 抬头订单明细
- BAPI_PRODORD_SETUSERSTATUS 设置用户状态
- BAPI_PRODORD_REVOKEUSERSTATUS 取消用户状态
- BAPI_PRODORD_SET_DEL_INDICATOR、BAPI_PRODORD_SET_DELETION_FLAG 设置删除标识
- BAPI_PRODORD_CREATE_FROM_PLORD 创建带有计划订单
- BAPI_PRODORD_CREATE_FROM_REF 创建模板
- BAPI_PRODORD_CREATE_CAP_REQ 产生能力需求
- BAPI_PRODORD_COSTING 创建成本估计
- BAPI_PRODORD_COMPLETE_TECH 完整的技术
- BAPI_PRODORD_CHECK_MAT_AVAIL 检查物料可用性
- 6.生产订单确认:
- BAPI_PRODORDCONF_GETLIST 生产订单确认
- BAPI_PRODORDCONF_GET_TE_PROP 确认计工单
- BAPI_PRODORDCONF_GETDETAIL 生产订单确认详细信息
- BAPI_PRODORDCONF_GET_HDR_PROP 确认计划订单
- BAPI_PRODORDCONF_EXIST_CHK 检查工单是否存在
FI模块
- 1.会计凭证:
- BAPI_ACC_DOCUMENT_POST 创建会计凭证
- BAPI_ACC_DOCUMENT_REV_POST 反冲会计凭证 可以冲销自开发程序生成的凭证 必须传入交易码参数
- BAPI_ACC_GL_POSTING_REV_POST 只能冲销标准TCODE生成的凭证
- POSTING_INTERFACE_START、POSTING_INTERFACE_CLEARING 、POSTING_INTERFACE_END清账(核销)
注意:POSTING_INTERFACE_CLEARING并非纯函数,本质上是call bdc.
- 2.发票:
- BAPI_INCOMINGINVOICE_CREATE 发票检验(MIRO)
- BAPI_INCOMINGINVOICE_CANCEL 发票校验冲销(MR8M)
CO模块
PM模块
- 1.计量点:
- BAPI_OBJCL_CREATE 、BAPI_OBJCL_CHANGE、BAPI_OBJCL_GETDETAIL 计量点通用属性导入、修改、明细
- 2.计量凭证:
- MEASUREM_DOCUM_RFC_SINGLE_001 计量凭证创建
QM模块
- 1.检验计划
- BAPI_INSPECTIONPLAN_CREATE 检验计划创建
- CPCC_S_TASK_LIST_MAINTAIN 检验计划分配
PS模块
- 1.项目:
- BAPI_PS_INITIALIZATION、BAPI_BUS2001_CREATE、BAPI_PS_PRECOMMIT 创建项目定义
- 2.WBS:
- BAPI_PS_INITIALIZATION、BAPI_BUS2054_CREATE_MULTI、BAPI_PS_PRECOMMIT 创建WBS
- KBPP_EXTERN_UPDATE_CO 修改项目和WBS的预算
创建WBS的时候,注意参数 wbs_left和 wbs_up,这个是创建有层级的WBS必须要填写的