Month: May 2022

如何解决会计凭证跳号的一点思考。NUMBER RANGE青铜钻石和王者的区分。

在SAP的FICO模块中,经常会遇到会计凭证跳号问题。 当我还是一个新手的时候,还是很害怕发生这样的恐怖事件。束手无策。 跳号问题分为三种级别:青铜、钻石、王者。   青铜: 这种跳号就是一个普通ST22的DUMP,通过跟踪函数NUMBER_GET_NEXT,设置好断点后调试, 查看到OBJECT 参数名字,然后到SNRO中和对应的表里如BKPF,BSEG找到对应的最大值,修改成MAX+1即可。   钻石: 有的时候是SCC1系统拷贝产生的大规模大批量的跳号。 挨个挨个打断点已经无法解决大集团下几百个公司的跳号囧境。这个时候就可以用到神器程序: RFVBER00 查找出跳号的会计凭证 RFBNUM00N 看是否有间隙。 有了1和2,凭证的跳号号码段都会被系统认真分析出来。免去了人工匹配各种VLOOK UP和EXCEL透视图的痛苦。   王者: 在曾经的S4/HANA升级之战中,F-02发生过奇怪的事情 出现了DUMP DBSQL_DUPLICATE_KEY_ERROR CX_SY_OPEN_SQL_DB SAPLKAUP CO-OM 出错表为COBK. 之所以是王者跳号dump是因为这个凭证的可怕之处是进行了“数值”到“字母”的转换。 调用方法:CL_FINS_ACDOC_AUXILIARY_DOCNO=》GET_AUXILIARY_DOCNO TRANSFORM_NUM12_TO_CHAR08 表COBK的凭证是A开头的。但是NUMBER RANGE里面是配置编号。 找到了这个规则之后,我们调用SNRO,查看对象ACDOCA_AUX。 修改成合理的凭证编号之后,万事大吉~成功生成了相关的凭证~ 附NUMBER RANGE报错处详细代码: METHOD get_auxiliary_docno. DATA: lv_number           TYPE num12, lv_quantity         TYPE inri-quantity, lv_returncode       TYPE inri-returncode, ls_prima_nota       TYPE gs_ty_prima_nota, ls_buffer_aux_docno TYPE gs_ty_aux_docno. *   Pre-Condition: At least AWREF in Prima Nota must be filled ASSERT iv_awref IS NOT INITIAL. *   Read Buffer ls_prima_nota-awtyp = iv_awtyp. ls_prima_nota-awsys = iv_awsys. ls_prima_nota-aworg = iv_aworg. ls_prima_nota-awref = iv_awref. READ TABLE gt_aux_docno INTO ls_buffer_aux_docno WITH TABLE KEY prima_nota = ls_prima_nota. IF sy-subrc = 0. rv_aux_docno = ls_buffer_aux_docno-aux_docno.

SE16N &SAP_EDIT NOT WORK IN S4/HANA

After upgrade/migration to S4 HANA, &SAP_EDIT is not work any more. 在升级S4 HANA之后,se16n中,无法使用 &SAP_EDIT修改表数据了。   how to fix it? 怎么办呢?   After debug for a moment, it fixed. 在跟踪调试了一段时间之后,解决了。   Solution:解决方案。 Added below ABAP code in  se38 program LSE16NF10   FROM FILL_SAP_EDIT. GD-EDIT = ‘X’. GD-SAPEDIT = ‘X’. LD_ON = ‘X’. It is works good. 本文链接 :http://www.hot583.com/2022/05/31/se16n-sap_edit-not-work-in-s4-hana/

吐槽一下,为啥我越来越不喜欢CSDN,同意的盆友,一起握个抓。微信公众号hot583

CSDN,号称中国专业IT社区(Chinese Software Developer Network), 创立于1999年, 现在已经23岁了。作为1个十多年的深度用户,最近感觉恶心严重,想要吐槽一下: 希望及时更改。重视用户体验度。笔者已经在CSDN停更。   1、自己写的SAP文章博客,别人阅读需要办理CSDN会员或者付费了。 充满了人民币的铜香味。 这都算了。。。作为1个靠着广大作者资源养活的工具类型博客网站, 居然还想着要两边收割,把原创作者还当作韭菜来收割,   2、作者想要看下最近1个月的博客浏览情况,居然需要开通VIP会员,吃相太香了。     3、作者上传的sap abap 代码文件压缩包资源,CSDN作为平台,未经作者同意,因为带有密码,直接就给你删除掉。 简直是无法无天啊。核心代码根本遭受不了这种罪过。   4、诱导用户强制关注微信公众号下载资源。 有点无耻啊,让我想起了某数字公司。   5、不注册不能查看评论。 互联网的精神就是开放和分享。越搞越恶心。   6、曾经暴漏用户账户,明文密码。 这个,太恶心了。。。罪大恶极之至。   先人教育我们,不要把鸡蛋同时装入到1个篮子里面,但是我想对大家说, 宁为玉碎,不为瓦全。抵制CSDN,从我做起~ 您同意吗?   本文链接 :http://www.hot583.com/2022/05/31/not-like-csdn/ 本文为作者原创,如果这篇文章对您有用,欢迎转载, 转载请务必注明来源《今日热点在看》http://www.hot583.com/ 我的微信公众号【 hot583 】 或者在这个链接联系我 微信原文《全文完》  

SAP ABAP BAPI函数50连载31-BAPI_SALESORDER_CREATEFROMDAT2 VA01

关注微信公众号hot583,第一时间获取作者更新~ 上海即将解封了。历史不会忘记耻辱的人。也会感谢付出的人。接下来经济如何发展?我们拭目以待。 在SAP系统的SD模块之中,我们经常会遇到需要通过接口或者批量创建销售订单的情形。 前台事务代码是VA01,一般我们使用BAPI:BAPI_SALESORDER_CREATEFROMDAT2 。 如下是DEMO例子tutorial example,希望您喜欢~   导入参数: 参数名称 关联类型 可选的 说明 ORDER_HEADER_IN BAPISDHD1 必选 抬头 ORDER_HEADER_INX BAPISDHD1X 可选 抬头 ORDER_HEADER_IN常用字段:(ORDER_HEADER_INX与之字段对应,类型不同,具体需求根据bapi参数的关联类型结构中查找) 表参数: 参数名称 关联类型 可选的 说明 RETURN BAPIRET2 可选 返回信息 ORDER_ITEMS_IN BAPISDITM 可选 行项目 ORDER_ITEMS_INX BAPISDITMX 可选 ORDER_PARTNERS BAPIPARNR 必选 伙伴 ORDER_SCHEDULES_IN BAPISCHDL 可选 计划行 ORDER_SCHEDULES_INX BAPISCHDLX 可选 备注: ORDER_ITEMS_IN常用字段:(ORDER_ITEMS_INX字段与之对应,类型不一定相同,具体根据需求去bapi参数的关联类型结构中查找)   字段名 类型 简短描述

SAP ABAP BAPI函数50连载30-BAPI_PLANNEDORDER_DELETE 删除生产计划订单

很多初学者对于SAP BAPI很头疼,不知道SAP bapi如何赋值,参数如何设置? 上海陆陆续续放风了。地主家也没有余粮啦。 成年人的世界里,是必须要有六一儿童节的。所以今天先加班处理了工作任务。 6.1儿童节的时候,就可以放肆摸鱼了。 SAP的BAPI函数开发过程是有点痛苦的,需要1个参数1个参数去比对和匹配。 而且由于前台事务的结构和BAPI的结构,数据元素名字,字段名字都不完全相同。 开始编写BAPI的时候,确实是很痛苦的。很多时候DEBUG跟踪到SAP标准程序里面。缺找不到报错原因。 或者定位到的只是报错消息,报错的条件却要大费苦心才能找到。 关注我就不用怕了。微信公众号hot583 您想要的BAPI都有~   今天我们学习PP生产计划模块的批量删除生产计划订单BAPI: BAPI_PLANNEDORDER_DELETE 。 他的导入参数如下: 参数名称 关联类型 可选的 值传递 说明 PLANNEDORDER BAPI_PLDORD-PLDORD_NUM 否 是 计划订单号 BAPI_PLDORD:转换结构:BAPI 计划订单号码 (关联类型见下文) USE_COLL_UPDATE BAPIPLAF_I1-USE_COLL_UPD 是 是 BAPI: Collective Update of Planning File Entries BAPIPLAF_I1:转换结构:计划订单(进口-创建) (关联类型见下文) LAST_ORDER BAPIPLAF_I1-LAST_ORDER 是 是 BAPI: Indicator – Last Planned Order for Collective

SAP ABAP BAPI函数50连载29-BAPI_ROUTING_CREATE创建工艺路线CA01

在PP模块中,关于批量创建工艺路线或者修改的操作我们经常会用到。事务代码是CA01/CA02, 对应的创建BAPI名为:BAPI_ROUTING_CREATE 今天我们一起学习一下这个bapi demo。   导入参数: 参数名称 关联类型 可选的 说明 TESTRUN BAPIFLAG 可选 标记,测试或提交系统 PROFILE BAPI1012_CONTROL_DATA-PROFILE 可选 参数文件 BOMUSAGE BAPI1012_CONTROL_DATA-BOM_USAGE 可选 BOM 用途 APPLICATION BAPI1012_CONTROL_DATA-APPLICATION 可选 应用程序   表: 参数名称 关联类型 可选的 说明 TASK BAPI1012_TSK_C 必选 任务清单头数据 MATERIALTASKALLOCATION BAPI1012_MTK_C 可选 物料任务清单分配 SEQUENCE BAPI1012_SEQ_C 可选 任务清单序列 OPERATION BAPI1012_OPR_C 可选 工序 COMPONENTALLOCATION BAPI1012_COM_C 可选 组件分配 RETURN BAPIRET2

SAP ABAP BAPI函数50连载28-BAPI_PRODORDCONF_CREATE_TT

朋友公司裁员了。直接干掉了35%的业务和50%的SAP ABAP。 感觉有点突然。虽然项目还有1个月才结束,不过感觉更新了简历后,没啥电话了。 管他大爷的。BAPI_PRODORDCONF_CREATE_TT一般是属于PP模块的生产订单完工确认,对应的前台事务代码是CO11和CO11N. 今天,我们温习一下他的使用。人生短短几个秋,我又算个球。。   导入参数: 参数名称 关联类型 可选的 缺省值 说明 POST_WRONG_ENTRIES BAPI_CORU_PARAM-INS_ERR 可选 ‘0’ 插入确认有错误 TESTRUN BAPI_CORU_PARAM-TESTRUN 可选 切换到编写 BAPI 的模拟会话,值为 X,则为试运行 不提交至系统 表参数: 参数名称 关联类型 可选的 说明 TIMETICKETS BAPI_PP_TIMETICKET 必选 PP 确认计工单 GOODSMOVEMENTS BAPI2017_GM_ITEM_CREATE 可选 创建物料凭证的行项目 LINK_CONF_GOODSMOV BAPI_LINK_CONF_GOODSMOV 可选 确认货物移动 DETAIL_RETURN BAPI_CORU_RETURN 可选 返回信息   TIMETICKETS常用输入参数字段 组件 类型 简短描述 ORDERID AUFNR 订单号

SAP ABAP BAPI函数50连载27-MB_CANCEL_GOODS_MOVEMENT物料冲销过账。

Cancel Material Document is easy. 在SAP中物料凭证创建后,是不能删除的,如果做错了,可以冲销掉。前台事务代码是MBST。 对应的函数可以使用:MB_CANCEL_GOODS_MOVEMENT。今天我们一起来学习温故~   参数描述: 参数名称 关联类型 可选的 说明 BUDAT MKPF-BUDAT 必选 凭证中的过帐日期 MBLNR MSEG-MBLNR 可选 物料凭证编号 MJAHR MSEG-MJAHR 可选 物料凭证的年份 TCODE SY-TCODE 可选 事务码 CALLED_BY CALLED_BY 可选 调用者的唯一标识 VBELN LIKP-VBELN 可选 交货   返回导出 参数名称 关联类型 说明 ES_MKPF MKPF 抬头:物料凭证 如下是demo代码,作为HOT583.com的码农,多年前也是SAP ABAP beginners ,最开始学习会有些难度, 到处去找Tutorial for Constant。如下是详细代码:   *定义bapi相关参数 DATA:t_mkpf      TYPE mkpf OCCURS 0 WITH HEADER LINE,