Month: March 2022

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]