sap Function Modules

Userful SAP standard function modules and function calls to accelerate development and meet complex business needs. SAP function mudules use demo. SAP ABAP Tutorial, ABAP Programming Guide, ABAP Performance Optimization SAP标准功能模块与函数调用,加速开发,满足复杂业务需求。

SAP ABAP BAPI函数50之12:BAPI_MATERIAL_SAVEDATA

今天上海的新冠疫情还是没有解封。共同祈祷明天会更好。 不知不觉中,SAP ABAP BAPI函数50系列已经写完了11个了。 今天我们来学习巩固一下SAP BAPI函数BAPI_MATERIAL_SAVEDATA, 对应的前台事务代码是MM01/MM02,进行物料主数据维护的。 需要了解之前的函数使用方法的,可以参加如下链接: bapi_acc_document_post/ bapi_acc_document_rev_post/ vf11-bapi_billingdoc_cancel1/ bapi_goodsmvt_create/ bapi_billingdoc_createmultiple/ bapi_bus2001_create/ bapi-create-wbs/ bapi_currency_conv_to_external/ bapi_currency_conv_to_internal/ bapi_goodsmvt_cancel/ 物料主数据批量创建修改隶属于MM模块。 HEADDATA常用字段 字段名 类型 简短描述 MATERIAL MATNR18 物料编号(18个字符) IND_SECTOR MBRSH 行业领域 MATL_TYPE MTART 物料类型 BASIC_VIEW SICHT_K 基本数据视图 SALES_VIEW SICHT_V 销售视图 MATERIAL_LONG MATNR40 物料编号 CLIENTDATA常用字段:CLIENTDATAX与之对应,但类型可能不同,下列字段没有列出的,具体根据需求,去bapi参数对应的关联类型结构中查找 字段名 类型 简短描述 DEL_FLAG LVOMA 在客户级标记要删除的物料 MATL_GROUP MATKL 物料组 BASE_UOM MEINS 基本计量单位 BASE_UOM_ISO

SAP ABAP BAPI函数50之11-bapi_mat_bom_existence_check

SAP ABAP BAPI函数50系列我们已经完成了10个,达到了20%的进度。 今晚吃个鸡腿奖励一下自己~ 现在,我们来学习函数模块 PP模块的BAPI函数bapi_mat_bom_existence_check, 函数作用是:检查是否存在物料的物料单组 2.应用场景 3.参数说明 3.1.导入 参数名称 关联类型 可选的 说明 MATERIAL BAPI1080_MBM_C-MATERIAL 可选 物料编号(18个字符) PLANT BAPI1080_MBM_C-PLANT 可选 工厂 BOMUSAGE BAPI1080_BGR_C-BOM_USAGE 必选 BOM 用途   对于这个函数,如果您发现S4HANA系统的新语法和ECC系统或者R3系统有点差异,可以留言告诉我。 对于初级SAP ABAP顾问来说,是不容易的。 作者曾经也是SAP ABAP beginners ,到处去找Tutorial for Constant。 需要自学很久,没人给咱免费培训。 写个测试代码DEMO举例子。下面是代码。 代码示例 *定义bapi相关参数 DATA: ls_bom             TYPE ty_s_bom, ls_bom2            TYPE ty_s_bom, lt_bom2            TYPE tt_bom, lv_material        TYPE csap_mbom-matnr, lv_plant           TYPE csap_mbom-werks, lv_bom_usage       TYPE csap_mbom-stlan, lv_valid_from      TYPE csap_mbom-datuv, lv_change_no       TYPE csap_mbom-aennr, lv_revision_level  TYPE csap_mbom-revlv, ls_stko            TYPE stko_api01, lt_stpo            TYPE TABLE OF stpo_api01, lt_dep_data        TYPE TABLE OF csdep_dat, lt_dep_descr       TYPE TABLE OF csdep_desc, lt_dep_order       TYPE TABLE OF csdep_ord,

SAP ABAP常用BAPI函数50之10-[BAPI_GOODSMVT_CREATE]

人生短短几个秋,啊~不醉不罢休。 青春才5年,新冠疫情就近4年了。几十年后再回头来看今年,也许会嘲笑吧~ 函数BAPI_GOODSMVT_CREATE是前台事务代码根据采购订单或者生产订单创建物料凭证。(货物移动)操作的时候用你的。 对应的在ECC里的类型分别有:MB01采购订单收货、MB31生产订单收货、MB1A货物发出、MB1B转移过帐、MB1C其他货物收据、MB11货物流动逆转、 MB04分包订单的后续调整。 导入参数: 参数名称 关联类型   缺省值 可选的 值传递 说明 GOODSMVT_HEADER BAPI2017_GM_HEAD_01 必选 是 抬头数据 GOODSMVT_CODE BAPI2017_GM_CODE 必选 是 为货物移动分配事务码 TESTRUN BAPI2017_GM_GEN-TESTRUN SPACE 可选 是 GOODSMVT_PRINT_CTRL BAPI2017_GM_PRINT 可选 是   GOODSMVT_HEADER常用输入参数字段:过账日期,凭证日期 组件 类型 简短描述 PSTNG_DATE BUDAT 过账日期 DOC_DATE BLDAT 凭证日期 GOODSMVT_CODE-GM_CODE的值 值 事务码 简短描述 01 MB01 采购订单收货 02 MB31 生产订单收货 03 MB1A

SAP ABAP常用BAPI函数50个之9-[BAPI_GOODSMVT_CANCEL]MBST

昨天愚人节,明天即将开始新冠疫情下的清明节~ 隔离加每天喉咙一插,爽飞。 不知不觉之中,已经写了8个BAPI函数系列了。 写ABAP代码的时候分分钟,要转换成BLOG技术博客的形式,还真是难。   BAPI函数BAPI_GOODSMVT_CANCEL, SAP前台事务代码TCODE为MBST。作用是冲销物料凭证。   导入参数为: 参数名称 关联类型 可选的 说明 MATERIALDOCUMENT BAPI2017_GM_HEAD_02-MAT_DOC 必选 物料文件编号 MATDOCUMENTYEAR BAPI2017_GM_HEAD_02-DOC_YEAR 必选 物料文件年份 GOODSMVT_PSTNG_DATE BAPI2017_GM_HEAD_02-PSTNG_DATE 可选 过账日期 GOODSMVT_PR_UNAME BAPI2017_GM_HEAD_01-PR_UNAME 可选 打印出入库单的用户名 DOCUMENTHEADER_TEXT BAPI2017_GM_HEAD_02-HEADER_TXT 可选 文件抬头   到处参数: 参数名称 关联类型 说明 GOODSMVT_HEADRET BAPI2017_GM_HEAD_RET 物料编号或年份 字段名 类型 简短描述 MAT_DOC MBLNR 物料凭证编号 DOC_YEAR MJAHR 物料凭证的年   在实际的SAP实施项目或者SAP运维项目重,S4HANA系统的新语法和ECC系统或者R3系统有点不一样。 一些差异,对于初级SAP ABAP顾问来说,是不容易的。 作者曾经也是SAP

SAP ABAP常用BAPI函数50之7-BAPI_CURRENCY_CONV_TO_EXTERNAL

在过去的SAP实施项目中,不少是GLOBAL的企业,会有日元,卢布等外币。 之前傻傻的以为所有钱钱2位小数就万能搞定。后来才知道自己是井底之蛙啊! 比如日元,是没有小数的,估计著名的津巴布韦也没有。 货币价值低,那么如何利用有限的数据库空间完美存储金额数据呢? 聪明的SAP想到了转换因子的概念。不得不感慨,神奇的SAP专家!   本文是SAP ABAP常用BAPI函数50之XX的系列文章之一,欢迎关注指教~共同提高。 今天,我们一起来学习领会一下强大的系统金额由内转外功能。 BAPI函数:BAPI_CURRENCY_CONV_TO_EXTERNAL   应用场景: 般而言,币种的小数位为2,所以系统默认的位数也是2,但是有一些特殊币种如日元JPY,没有小数位。只要小数位不等于2,需要在系统中特殊处理(通过转换因子进行转换)。 如果某货币的小数位不是2位,则需要通过OY04设置其小数位数,即需在TCURX表中进行维护 系统中的数据表存放的日元JPY、俄卢布RUR等货币比前台输入的金额小100倍,因为它们没有小数位,所以转换因子为100,存入表之前SAP会先将金额除以这个因子后再存入   原理搞清楚了。我们来看看导入参数:比较简单,但是非常实用 参数名称 关联类型 可选的 说明 CURRENCY TCURC-WAERS 必选 转换前的货币码 AMOUNT_INTERNAL 必选 转换前内部的货币金额   备注:S4HANA的新语法和ECC或者R3不一样。 自己注意一下吧。 对于初级SAP ABAP顾问来说,是不容易的。 作者曾经也是SAP ABAP beginners ,到处去找Tutorial for Constant。 需要自学很久,没人给咱免费培训。 写个测试代码DEMO举例子。可以直接运行的哦~   **声明bapi相关的全局变量 DATA: gs_AMOUNT_EXTERNAL         TYPE  BAPICURR-BAPICURR. “转换后外部的货币金额 *选择屏幕 PARAMETERS:p_CURR          TYPE    TCURC-WAERS, p_AMOUNT        TYPE    ekko-WAERS. *抓取处理数据 START-OF-SELECTION. *调用bapi PERFORM FRM_USEBAPI. *——————————————————————————–* *  Form frm_setdata           * *———————————————————————————*

SAP ABAP开发常用BAPI函数50个之6-[BAPI_BUS2054_CREATE_MULTI]

今天,春雨绵绵,公司临时通知因为疫情全部远程办公。新的项目还没启动。 自我学习为主。每天提交学习内容。昨天我们讲到了PS模块的项目创建。 今天我们就学习温故一下PS模块的WBS创建BAPI函数。 前台我们可以使用事务代码TCODE CJ01创建WBS CJ02更改WBS CJ03显示WBS. 批量创建的BAPI函数是BAPI_BUS2054_CREATE_MULTI。   首先,我们看这个函数的使用的时候,需要注意她的导入参数: 参数名称 关联类型 可选的 说明 I_PROJECT_DEFINITION BAPI_BUS2001_NEW-PROJECT_DEFINITION 必选 项目定义     还有表参数: 参数名称 关联类型 可选的 说明 IT_WBS_ELEMENT BAPI_BUS2054_NEW 可选 创建WBS元素 ET_RETURN BAPIRET2 可选 返回参数 EXTENSIONIN BAPIPAREX 可选 增强,扩展字段   然后,我们在使用的时候,一定要注意代码的大小写规范化。 注意容错和捕捉成功/失败的消息。有的S4HANA的新语法和ECC或者R3不一样。 自己注意一下哦~   对于初级SAP ABAP顾问来说,是不容易的。 作者曾经也是SAP ABAP beginners ,到处去找Tutorial for Constant。 需要自学很久,没人给咱免费培训。   能够直接使用的示例demo代码如下:   DATA:

SAP ABAP开发-常用BAPI函数50个之5-[BAPI_BUS2001_CREATE创建项目定义

前面我们讲了FB01/F/02 会计凭证的创建和FB08会计凭证的冲销bapi。以及事务代码TCODE:VF11发票冲销的BAPI 以及发票创建SAP ABAP开发常用BAPI函数50个之4-[BAPI_BILLINGDOC_CREATEMULTIPLE] 今天,我们要学习一个比较小众模块的BAPI函数【BAPI_BUS2001_CREATE】,是PS模块用来创建项目定义的。 SAP PS全称是项目管理模块,一般常用于建筑、制造、模具等行业。 对于这个模块,如果您是开发人员,还得加倍小心,随时注意要去清空BUFFER缓存。 否则,可能会出现各种意想不到的现象。   原因是SAP在函数组中定义了相当多的GLOBAL全局变量。内表工作区都有。 一不小心就没清空被下一次调用的时候进行了引用。切记切记~   这个BAPI的参数为 参数名称 关联类型 可选的 说明 I_PROJECT_DEFINITION BAPI_BUS2001_NEW 必选 创建项目定义 对应的表类型如下: 参数名称 关联类型 可选的 说明 ET_RETURN BAPIRET2 可选 返回参数信息 ET_RETURN BAPIPAREX 可选 增强,扩展字段 EXTENSIONOUT BAPIPAREX 可选 增强,扩展字段   这个函数使用一定要注意的地方是,需要按顺序调用函数BAPI_PS_INITIALIZATION、BAPI_BUS2001_CREATE、BAPI_PS_PRECOMMIT 创建项目。 详细代码由于系统没有配置不好演示,大概如下,更详细的,敬请关注hot583微信公众号: DATA: it_et_return  TYPE STANDARD TABLE OF BAPIRET2,”TABLES PARAM wa_et_return  LIKE LINE OF it_et_return

SAP ABAP开发常用BAPI函数50个之4-[BAPI_BILLINGDOC_CREATEMULTIPLE]

前面我们讲了FB01/F/02 会计凭证的创建和FB08会计凭证的冲销bapi。以及事务代码TCODE:VF11发票冲销的BAPI 今天,趁着做核酸做得喉咙起茧想要休息一下,我们来一起温故学习一下发票创建的BAPI。 SD顾问前台常用的事务代码是VF01或者VF04。 BAPI_BILLINGDOC_CREATEMULTIPLE 这个BAPI函数属于SD模块,是SAP ABAP Constant  beginners 在tutorial 中的基本内容。 是一个常用的BAPI,导入的参数有: 参数名称 关联类型 可选的 说明 CREATORDATAIN BAPICREATORDATA 可选 有关设置数据源的信息 TESTRUN BAPIVBRKTESTRUN-TESTRUN 可选 是否测试运行 POSTING POSTING_TYPE_CT 可选 记帐种类: 直接记帐   而她的表对象有如下: 参数名称 关联类型 可选的 说明 BILLINGDATAIN BAPIVBRK 必选 开票标题字段 ERRORS BAPIVBRKERRORS 可选 项目错误处理的信息 SUCCESS BAPIVBRKSUCCESS 必选 成功处理记帐凭证项目的信息 RETURN BAPIRET1 必选 返回参数   在我们的日常项目中,一般会这样编写测试demo代码。   DATA: lt_billingdatain   TYPE TABLE OF bapivbrk,