SAP ABAP

SAP ABAP programming language and development skills, supporting custom function development to enhance the flexibility and adaptability of SAP systems. SAP ABAP Tutorial, ABAP Programming Guide, ABAP Performance Optimization SAP各种技术.SAP ABAP编程语言与开发技巧,支持自定义功能开发,提升SAP系统的灵活性和适应性。

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之8-BAPI_CURRENCY_CONV_TO_INTERNAL

看情况,疫情好像越来越严重啊。上海和吉林省这种强者地位都搞得人心惶惶的。祈祷早日恢复正常~   上篇文章讲到了SAP abap中货币的内外部转换的内部转外部。 是开发项目中常见的BUG问题。需要重点关注。 今天,我们讲讲反过来的。外部转内部。 BAPI函数为:BAPI_CURRENCY_CONV_TO_INTERNAL 细心的您可能已经发现了。他和BAPI_CURRENCY_CONV_TO_EXTERNAL非常相像。 除了这个小尾巴有点不一样。   需要注意的是:S4HANA系统的新语法和ECC系统或者R3系统有点不一样。 对于初级SAP ABAP顾问来说,是不容易的。 作者曾经也是SAP ABAP beginners ,到处去找Tutorial for Constant。需要自学很久,没人给咱免费培训。 写个测试代码DEMO举例子。直接在事务代码SE38里面运行测试就能成功,看看他的差异吧~   *声明bapi相关的全局变量 DATA:  gs_amount_external      TYPE bapicurr-bapicurr. “货币金额 *选择屏幕 PARAMETERS:p_curr  TYPE tcurc-waers, p_exter TYPE bapicurr-bapicurr. *调用BAPI PERFORM frm_usebapi. *——————————————————————————–* *  Form frm_setdata           * *———————————————————————————* *   调用bapi * *   导入:货币码,货币金额 *   正在修改:返回参数信息 *————————————————————————- FORM frm_usebapi. *调用bapi CALL FUNCTION ‘BAPI_CURRENCY_CONV_TO_INTERNAL’ EXPORTING currency             = p_curr amount_external      = p_exter max_number_of_digits = 8 IMPORTING amount_internal      = gs_amount_external *     RETURN               = ret. . WRITE:  gs_amount_external. ENDFORM. 本文链接 :http://www.hot583.com/2022/03/31/bapi_currency_conv_to_internal/ 本文为作者原创,如果这篇文章对您有用,欢迎转载, 转载请务必注明来源《今日热点在看》http://www.hot583.com/ 我的微信公众号【 hot583

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,

历史性的时刻,SAP50岁生日快乐,人民日报整版报道。SAP在中国,为中国,做企业数字化转型的赋能者。

今天,见证历史性的时刻。 中国官媒人民日报整版报导SAP在中国,为中国,做企业数字化转型的赋能者。 作为1个砍柴的SAP顾问,心里头傲娇。 还记得才熟悉装机时,老师教导我们。 ddic一般可以设置密码,但若没有设置默认的密码为19920706 sap* 初始化密码06071992或pass 然后我们很多老顾问就将密码设置成了Sap1972 今年是2022年,是SAP公司的50岁生日年。   做企业数字化转型的赋能者

SAP ABAP开发常用BAPI函数50个之3-[BAPI_BILLINGDOC_CANCEL1]

前面我们讲了会计凭证的创建和会计凭证的冲销bapi。 今天我们要学习SD模块发票冲销的BAPI:BAPI_BILLINGDOC_CANCEL1,希望您喜欢。 他们都属于1个系列。这个系列将有50多个函数BAPI的举例。   包含但不限于: 常用BAPI函数50个之1-[BAPI_ACC_DOCUMENT_POST] 常用BAPI函数50个之2-[BAPI_ACC_DOCUMENT_REV_POST] 常用BAPI函数50个之3-[BAPI_BILLINGDOC_CANCEL1] 常用BAPI函数50个之4-[BAPI_BILLINGDOC_CREATEMULTIPLE] 常用BAPI函数50个之5-[BAPI_BUS2001_CREATE] 常用BAPI函数50个之6-[BAPI_BUS2054_CREATE_MULTI] 常用BAPI函数50个之7-[BAPI_CURRENCY_CONV_TO_EXTERNAL] 常用BAPI函数50个之8-[BAPI_CURRENCY_CONV_TO_INTERNAL] 常用BAPI函数50个之9-[BAPI_GOODSMVT_CANCEL] 常用BAPI函数50个之10-[BAPI_GOODSMVT_CREATE] 常用BAPI函数50个之11-[BAPI_MATERIAL_BOM_GROUP_CREATE] 常用BAPI函数50个之12-[BAPI_MATERIAL_SAVEDATA] 常用BAPI函数50个之13-[BAPI_MATERIAL_SAVEREPLICA] 常用BAPI函数50个之14-[BAPI_MAT_BOM_EXISTENCE_CHECK] 常用BAPI函数50个之15-[BAPI_OBJCL_CHANGE] 常用BAPI函数50个之16-[BAPI_OBJCL_CREATE] 常用BAPI函数50个之17-[BAPI_OBJCL_GETCLASSES] 常用BAPI函数50个之18-[BAPI_OBJCL_GETDETAIL] 常用BAPI函数50个之19-[BAPI_OUTB_DELIVERY_CREATE_SLS] 常用BAPI函数50个之20-[BAPI_PLANNEDORDER_CHANGE] 常用BAPI函数50个之21-[BAPI_PLANNEDORDER_CREATE] 常用BAPI函数50个之22-[BAPI_PLANNEDORDER_DELETE] 常用BAPI函数50个之23-[BAPI_PLANNEDORDER_EXIST_CHECK] 常用BAPI函数50个之24-[BAPI_PLANNEDORDER_GET_DETAIL] 常用BAPI函数50个之25-[BAPI_PO_CHANGE] 常用BAPI函数50个之26-[BAPI_PO_CREATE1] 常用BAPI函数50个之27-[BAPI_PRODORDCONF_CREATE_TT] 常用BAPI函数50个之28-[BAPI_PRODORDCONF_GET_TT_PROP] 常用BAPI函数50个之29-[BAPI_PRODORD_CHANGE] 常用BAPI函数50个之30-[BAPI_PRODORD_CHECK_MAT_AVAIL] 常用BAPI函数50个之31-[BAPI_PRODORD_CLOSE] 常用BAPI函数50个之32-[BAPI_PRODORD_COMPLETE_TECH] 常用BAPI函数50个之33-[BAPI_PRODORD_CREATE] 常用BAPI函数50个之34-[BAPI_PRODORD_CREATE_FROM_PLORD] 常用BAPI函数50个之35-[BAPI_PRODORD_GET_DETAIL] 常用BAPI函数50个之36-[BAPI_PRODORD_GET_LIST] 常用BAPI函数50个之37-[BAPI_PRODORD_RELEASE] 常用BAPI函数50个之38-[BAPI_PR_CREATE] 常用BAPI函数50个之39-[BAPI_REQUIREMENTS_CHANGE] 常用BAPI函数50个之40-[BAPI_REQUIREMENTS_CREATE] 常用BAPI函数50个之41-[BAPI_REQUIREMENTS_GETDETAIL] 常用BAPI函数50个之42-[BAPI_RESERVATION_CHANGE] 常用BAPI函数50个之43-[BAPI_RESERVATION_CREATE1 ] 常用BAPI函数50个之44-[BAPI_ROUTING_CREATE] 常用BAPI函数50个之45-[BAPI_ROUTING_EXISTENCE_CHECK] 常用BAPI函数50个之46-[BAPI_SALESORDER_CHANGE] 常用BAPI函数50个之47-[BAPI_SALESORDER_CREATEFROMDAT2] 常用BAPI函数50个之48-[KBPP_EXTERN_UPDATE_CO] 常用BAPI函数50个之49-[K_HIERARCHY_TABLES_READ]