Month: June 2022

Enhancement:FMRESERV、FB01/FBV0/FBV1/FBVB财务利润中心新增增强

Purpose:使用TCODE:FB01直接创建凭证,或者使用TCODE:FBV0、FBV1、FBVB预制凭证时:对于客户发票凭证, 需要将50行的利润中心赋值给01行;对于客户付款凭证,需要将19行利润中心赋值给09行。   T-code: CMOD 项目:ZFI001 增强:FMRESERV Enhancement sample code: Function:EXIT_SAPLFMR4_002   *&—————————————————————–* *&  包含                ZXFMCU08 *&—————————————————————–* DATA L_ACCIT LIKE LINE OF T_ACCIT. CLEAR L_ACCIT. LOOP AT T_ACCIT. *&—————————————————————* *&  开票利润中心,将50行的利润中心赋值给01行,根据业务约定, *& 随意一张50行赋值给所有的01行 *&—————————————————————* IF ( SY-TCODE = ‘FB01’ “直接创建凭证 “预制凭证 OR SY-TCODE = ‘FBV0’ OR SY-TCODE = ‘FBV1’ OR SY-TCODE = ‘FBVB’ ) AND T_ACCIT-BUKRS = ‘8300’ AND T_ACCIT-BLART = ‘DR’ AND T_ACCIT-BSCHL = ’01’. READ TABLE T_ACCIT INTO L_ACCIT WITH KEY BSCHL = ’50’. IF L_ACCIT IS NOT INITIAL. T_ACCIT-PRCTR = L_ACCIT-PRCTR. CLEAR L_ACCIT. ENDIF. MODIFY T_ACCIT FROM T_ACCIT TRANSPORTING PRCTR PPRCTR. ENDIF. *&—————————————————————* *&   将ZFI_006_08 生成的DW 凭证19行利润中心赋值给 09行 *&—————————————————————* DATA: L_FLAG_FI00608. “指定FI_006_08 调用生效 IMPORT FLAG = L_FLAG_FI00608 FROM MEMORY ID ‘ZFI00608’. IF L_FLAG_FI00608 = ‘X’. IF SY-TCODE = ‘FB01’ AND T_ACCIT-BUKRS = ‘8300’ AND T_ACCIT-BLART = ‘DW’ AND T_ACCIT-BSCHL = ’09’. READ TABLE T_ACCIT INTO L_ACCIT WITH KEY BSCHL = ’19’. IF L_ACCIT IS NOT INITIAL. T_ACCIT-PRCTR = L_ACCIT-PRCTR. CLEAR L_ACCIT. MODIFY T_ACCIT FROM T_ACCIT TRANSPORTING PRCTR PPRCTR. CONTINUE. ENDIF. ENDIF. FREE MEMORY ID ‘ZFI00608’. ENDIF.

SAP ABAP BAPI 50连载38-K_HIERARCHY_TABLES_READ成本要素组明细

今天我们来学习FICO模块的成本要素明细读取函数K_HIERARCHY_TABLES_READ。 一般来说,有了这个函数之后,不用自己去写SQL读取了,真是爽歪歪。部分同学说调用的时候有性能瓶颈。 我只能说是您调用的方式不对了。老顾问说,性能问题?不存在,梭哈即可~   导入参数: 参数名称 关联类型 可选的 说明 E_CLASS SETHIER-SETCLASS 必选 组类型 E_SETID SETHIER-SETID 必选 集的标识 E_KOKRS SETHIER-KOKRS 必选 控制范围 E_MANDT SY-MANDT 可选 当前用户的客户端标识 E_MASTER_DATA GRPHP1 可选 Set/Get 参数 HP1的结构 E_STRUCTURE GRPHP2 可选 Set/Get 参数 HP2 的结构 E_REPLACE_CLASS SETHIER-SETCLASS 可选 组类型 E_REPLACE_UNIT SETHIER-KOKRS 可选 控制范围 E_SUFFIX GRPDYNP-SUFFIX 可选 复制组的后缀   导出参数: 参数名称 关联类型 说明

SAP ABAP BAPI 50连载37-BAPI_REQUIREMENTS_CHANGE-MD62

在SAP PP模块中,我们经常使用TCODE:MD62事务代码来修改生产计划的独立需求,可是如果想要批量修改的时候, 就要用BAPI来完成。今天我们来学习BAPI_REQUIREMENTS_CHANGE的demo示例。可以做成接口。直接就能用。   首先介绍这个函数的参数明细: 参数名称 关联类型 缺省值 可选的 值传递 说明 MATERIAL BAPISITEMR-MATERIAL   是 是 Material BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) PLANT BAPISITEMR-PLANT   否 是 Plant BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) REQUIREMENTSTYPE BAPISITEMR-REQU_TYPE   否 是 Requirements Type BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) VERSION BAPISITEMR-VERSION   否 是 Version BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) REQMTSPLANNUMBER BAPISITEMR-REQ_NUMBER   否 是 Requirements Plan Number BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) VERS_ACTIV

SAP ABAP BAPI 50连载36-BAPI_SALESORDER_CHANGE-VA02

今天,我们来学习SD模块的销售订单修改/删除的BAPI函数,也可以写成批量的接口。 前台的TCODE事务代码是VA02,非常好用。 修改或者删除销售订单BAPI:BAPI_SALESORDER_CHANGE 如果您想复习一下销售订单创建VA01的demo示例: SAP ABAP BAPI函数50连载31-BAPI_SALESORDER_CREATEFROMDAT2 VA01 函数参数如下: 参数名称 关联类型 可选的 说明 SALESDOCUMENT BAPIVBELN-VBELN 必选 销售订单编号 ORDER_HEADER_IN BAPISDH1 可选 SD 订单标题 ORDER_HEADER_INX BAPISDH1X 必选 复选框清单:SD 订单标题 ORDER_ITEM_IN常用输入参数字段,主要用来输入销售订单的相关行项目字段: 组件 类型 简短描述 ITM_NUMBER POSNR_VA 销售凭证项目 MATERIAL MATNR18 物料编号(18个字符) TARGET_QTY DZMENG 目标数量(采用销售单位) ORDER_ITEM_INX常用输入参数字段:除与ORDER_ITEM_IN中对应字段外(字段对应,类型不一定对应,具体需要字段,去bapi参数的关联类型结构中查找) SCHEDULE_LINES常用输入参数字段: 组件 类型 简短描述 ITM_NUMBER POSNR_VA 销售凭证项目 SCHED_LINE ETENR 计划行 REQ_QTY WMENG 各销售单位订单数量 SCHEDULE_LINESX,是和SCHEDULE_LINES一一对应的关系。

SAP ABAP BAPI 50连载35-BAPI_RESERVATION_CHANGES删除修改预留

在日常开发中,我们经常需要对表RESB中的预留单RESERVATION Order进行修改或者删除操作。 这个时候用到的BAPI是BAPI_RESERVATION_CHANGES,效果不错,可以用来做接口使用,也能批量进行操作处理。 取决于您SAP RFC函数的设计。 导入的参数: 参数名称 关联类型 可选的 说明 RESERVATION BAPI2093_RES_KEY-RESERV_NO 必选 预留/相关需求的编号 TESTRUN BAPI2093_TEST 可选 切换到模拟模式以写入BAPI ATPCHECK BAPI2093_ATPCHECK 可选 标识, ATP 检查是否应该执行 表RESERVATIONITEMS_CHANGED与RESERVATIONITEMS_CHANGEDX常用字段: 参数名称 关联类型 可选的 说明 RESERVATIONITEMS_CHANGED BAPI2093_RES_ITEM_CHANGE 必选 更改预留项目,行项目 RESERVATIONITEMS_CHANGEDX BAPI2093_RES_ITEM_CHANGEX 必选 更改预留项目,行项目 RESERVATIONITEMS_NEW BAPI2093_RES_ITEM_NEW 可选 预留项目字段 RETURN BAPIRET2 必选 返回信息 EXTENSIONIN BAPIPAREX 可选 增强,扩展字段 备注: RESERVATIONITEMS_CHANGED与RESERVATIONITEMS_CHANGEDX常用字段: 字段名 类型 简短描述 RES_ITEM

趁着年轻,在不要命的情况下,好好赚钱。不是一句口号,而是命运的鞭策。

钱是个美好而宝贵的东西。能够在市场经济中充当货币等价物。 如果没有钱,以物易物将会变得格外复杂和不精确。 你得天天记账,张大妈家的牛换了我家6包大米,还欠3包包谷才能清账。 李大爷的出租车费用,需要用20个包谷抵扣。   社会发展的洪流中,金钱的作用至关重要。 在现阶段,慢慢发现赚钱越来越难了。 当年SAP顾问风光的时刻,做一天项目,能够买1个平方米的房子,1个半年的项目坐下来,140平米的大房子已经买好了。 岂不快哉~而现在,则惨不忍睹。会FI的必须要回CO模块,有的还要回BPC。 招聘MM顾问要求懂WMS和EWM,有的还要求精通QM。 ABAP顾问要求会PO,会WebDynpro和BASIS。 BASIS顾问最惨,要求会阿里云,亚马逊云,还要看得懂ABAP并能够做性能优化。 不知道是时代发展得太快,对人力要求变高?还是行业内卷让大家都十分辛苦?   一方面,很多理科,工科大学毕业生找不到工作,更别说文科了。 一方面,大量的本硕研究生涌入了赚快钱的行业,例如送外卖,游戏直播,网红等。 个人其实能够体会到研究生毕业后送外卖的痛苦的。他们太难了。 民营企业能够开出的工资和他们心里期待的相距甚远。 他要在一个一线城市生存发展下去的生活成本实在是不低。 所以,大家都会产生一个共同的想法: 趁着年轻,在不要命的情况下,好好赚钱。 这并不是一句口号,研究生毕业后两三年已经三十而立, 有的已经娶妻生子或者嫁人成家,拖家带口的过日子真的不容易。   趁着年轻,在不要命的情况下,好好赚钱吧,为了让年幼的孩子,能够放心的吃奶换尿不湿。 趁着年轻,在不要命的情况下,好好赚钱吧,为了让年迈的父母,能够放心的退休养老。 趁着年轻,在不要命的情况下,好好赚钱吧,为了身上的房贷车贷三十年的枷锁。   我可以提醒您趁着年轻,在不要命的情况下,好好赚钱吧,但是却无法告诉你怎么赚钱。 大哥曾说,赚大钱的事情,都是白纸黑字的写在了刑法里面的。 所以只有赚点小钱的门道了。比如我,开了微信公众号HOT583和网站WWW.HOT583.COM, 每天能够赚点油盐米钱,离养活自己孩子家人,是很难。 主营业务收入还是打工人的打工口粮。有时候兼职给别人处理几个SAP难题整点小钱。 这都是技术赚钱。也曾想过利用互联网的直播搞一波粉丝流量。 不过我这种微信公众号和博客都不愿意分享到朋友圈的性格,是没办法去吸引粉丝壮大的。 我只是静静的等待花开,用心来培育我的公众号文章和网站内容。 让蝴蝶和蜜蜂,有一天自己悄悄的到来。   全球网民50亿,中文占了13亿。我的公众号是在微信,但是网站却被百度屏蔽了没有收藏。 在谷歌不在的情况下,网站流量真是少的可怜。平均1天2个访客。丢人丢大发了。。。 但是,这丝毫不影响我的心情,因为我就是当作学习笔记一样来维护我自己的网站和文章。 坚持维护总结,能够让自己更加熟悉技能,也能够锻炼自己的语言组织能力。   2021年的时候,朋友说今年可能是十年来最差的一年,也可能是未来十年最好的一年。 那个时候我心里笑她过于紧张和杞人忧天了。 而看到今年的经济形式和onsite人天比例,我突然觉得她简直是先知啊。 由疫情和房地产整起的挑战,让整个经济形势不是很好。 老人家说五公经中有句古话叫做:“吃了个屋大的亏”一直没有现世。 之前也不懂是啥原因,现在仔细想想,难道是我们这些房奴们么?   最近常常痴迷回味姜文《让子弹飞》中的细节和片尾曲。魔幻般的着迷。 好生佩服老姜的厉害之处。 真是初闻不识曲中意,听懂已是泪中人。 珍重吧~加班上线的SAP顾问朋友们~  

SAP ABAP BAPI函数50连载34-BAPI_PRODORD_RELEASE下达生产订单

今天我们来学习生产订单下达的标准BAPI函数BAPI_PRODORD_RELEASE,希望您喜欢。 一首打油诗,提醒自己是个有罪的胆怯的人。 前有丰县铁链女,今有唐山霸王龙。 事不关己人一多,到头终是一场空! BAPI_PRODORD_RELEASE对应的前台操作tcode是CO02,Functions==>Release. 函数的组成参数为: 参数名称 关联类型 缺省值 可选的 值传递 说明 RELEASE_CONTROL BAPI_ORDER_FUNC_CNTRL-RELEASE_CNTRL ‘1’ 否 是 Release control order. 批准控制订单 BAPI_ORDER_FUNC_CNTRL: 执行订单函数的输入参数 (关联表见下文) WORK_PROCESS_GROUP BAPI_ORDER_CNTRL_PARAM-WORK_PROC_GROUP ‘COWORK_BAPI’ 是 是 Logon/Server Group Name。 登录/服务器组名称 BAPI_ORDER_CNTRL_PARAM:并行处理的订单控制结构 (关联表见下文) WORK_PROCESS_MAX BAPI_ORDER_CNTRL_PARAM-WORK_PROC_MAX 99 是 是 Maximum number of work processes that can be used。 可以使用的最大工作进程数 BAPI_ORDER_CNTRL_PARAM:并行处理的订单控制结构 (关联表见下文)   执行订单函数的输入参数BAPI_ORDER_FUNC_CNTRL 字段 数据元素 数据类型

SAP ABAP开发时,如何防止GUI系统没动的时候就自动超时掉线

在日常SAP ABAP工作中,经常会遇到超时掉线的尴尬情形。 DEBUG调试着报表,茶水间接杯水,哐当,掉线了。 出去上个厕所回来,又掉线了。 虽然我们有自动SAP GUI登录的脚本神器,但是还是烦躁的很。 怎么办呢? 在请教了操作系统和数据库的终结者,垃圾开发的救星BASIS老王同学后, 告知我们1个管家参数:rdisp/gui_auto_logout   Solution 方法,一招暂时解决Auto Timeout的问题。 Step1:RZ11,Key in [rdisp/gui_auto_logout] Step2:Press display. Step3:Click Change, Key in 7200 second (2 hour) for the new auto logout time. Step4:Save it and log out, then login again. Attention note, This parameter will not use again after restart this SAP system. Also attention