自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (1)
  • 收藏
  • 关注

原创 SAP导出excel报错:发现“EXPORT.XLSX“中的部分内容有问题。是否让我们尽量尝试恢复?如果您信任此工作簿的源,请单击“是”。

3.解决方式,把这个文本信息特殊符号去掉,就可以恢复正常了。比如:NLSY10 (不信你可以复制到sap中试试)1.问题描述:SAP报表程序导出excel的时报错。怎么找这个特殊符号,我是按数据一半一半的导出找。文本信息中包含了非法符号(SAP不认识的符号)我是寒武青锋,分享是我快乐。

2024-10-17 17:02:35 152

原创 DB20 写sql语句,查询结果;SAP自带的sql编辑器

需求来源:正式系统数据不对,不知道sql语句哪里出现问题,但是测试系统不能完全还原问题的数据。2.不知道能不能写修改删除语句,最好别写(你写了别说我教的)解决方案,在正式系统找到sql编辑器,查询语句找寻问题。已经达到我们的预期效果,随时查看SQL的结果。1.看看公司制度是否允许,有些公司审计会查。好了,分享使我快乐,我是寒武青锋。

2024-09-19 11:46:40 254

转载 MIGO过账增强CHECK_ITEM方法中通过行ID获取行项目

我需要migo的badi check_item增强中获取migo行项目的信息,然而check_item中只有行项目的ID,我就有点无奈了。不过我还是找到了大佬的文章,找到了方法。把上述代码复制到MB_MIGO_BADI~CHECK_ITEM 中就可以生效了。debug界面,已经获取到行项目上的生产订单。二、通过行ID获取migo行明细。下面内容是我的整理和检验。

2024-08-13 16:29:40 197

原创 创建采购订单免费行项目,注意事项

BAPIMEPOITEMX-IR_IND = 空 (发票收据标识) ,BAPIMEPOITEMX-NET_PRICE =空(净价格)BAPIMEPOITEM-IR_IND = 空 (发票收据标识) ,BAPIMEPOITEM-NET_PRICE =空(净价格)1.我在使用bapi(BAPI_PO_CREATE1)创建采购订单免费行项目的时候,还是报错了请输入净价格。BAPIMEPOITEMX-FREE_ITEM = ‘X’ (免费项目)解决方式:把这些数据都赋值好,那么你的采购订单行项目就是免费项目。

2024-06-06 12:04:45 510

原创 ABAP 获取SAP生产订单状态

我经常忘记怎么获取,SAP生产订单状态的表,现在记录一下备用。一、目的,我需要获取截图CO03生产订单的状态以及描述。STATUS_READ 是一个状态获取的通用函数。2.结果,其实还是和取表一致的,能用但是不是很好。好了,今天分享到这里,分享使我快乐,我是寒武青锋。五、当然还可以使用函数进行获取。三、代码实例(就用这种方法)二、获取的状态的表关联。

2024-05-13 11:26:06 568

原创 ABAP 删除销售订单增强 MV45AFZB

1.业务背景,SAP的订单删除,是直接从数据库里面物理删除,这个设计有点恶心,我要查询这个单,都没有办法查询了。业务上要求,如何限制VA02上对销售订单进行删除。3.可以使用FCODE,监视一下用户点什么按钮删除的。SE38进入到MV45AFZB,点击修改,点击蚊香。1.这个增强的消息是要S类型的,不然会dump。2.这个增强点,还可以对行项目的删除进行控制。当这个销售订单有回款,就不能删除了。增强已经实现,点击删除,会进入增强。好了,分享使我快乐,我是寒武青锋。写完之后,点击激活。

2024-05-09 16:45:42 475

原创 ABAP 判断有没有被锁定的通用函数使用

1.ENQUE_READ2 是一个读取锁的通用函数,参数会根据不同的表而变化。3.你可以使用此函数来判断销售订单,采购订单,交货单等等有没有被锁定。1.MM02输入物料,先把物料处于更改状态,那它属于锁定状态。我需要找到物料的锁,判断它有没有在被更改使用。2.想要了解锁的详细信息可以转到—2.进入SM12,查看锁定列表。分享使我快乐,我是寒武青锋~!

2024-03-25 14:36:18 737 4

原创 ABAP 明细alv跳转到汇总alv一般模板

需求描述:做开发的同时,经常会有遇到,根据明细表进行逻辑汇总,在两个屏幕进行跳转,然后按钮还要做功能的情况,我这边记录一下最简单点模板,给新手可以直接复制使用的。分享使我快乐,我是寒武青锋~!1.创建状态的时候,标准按钮如何点出来的?2.明细表的状态设置和按钮设置,添加了个HZ的按钮。3.汇总表状态和按钮设置,添加了创建单据的按钮。激活就可以改造为你自己的程序了。二、其中的状态和按钮设置截图。

2023-12-14 13:48:58 883

原创 SAP报错 Exception condition “CNTL_ERROR“ triggered

机器翻译:当您在后台模式下运行报告时,此CNTL_ERROR通常会出错,如果使用 Cl_GUI_CUSTOM_CONTAINER 显示最终输出,则可以添加此 IF 条件来克服问题。报错背景,我写了个function alv跳转屏幕,而且有修改事件的程序,但是在我反复跳转修改操作,点创建单据的时候,我的程序直接dump啦。我的情况和他情况有点不一样,我是两个屏幕都调取了function alv,并且使用了事件。人话:后台运行程序有可能是容器丢失,所以要在容器创建的地方做个判断。分享使我快乐,我是寒武青锋。

2023-12-14 12:01:31 1720

原创 批量导出SAP表名、字段、字段描述、类型、长度

因为自建表中有些字段没有使用数据元素,就会在DD03VT中缺失字段。如果你自建表未使用数据元素的表特别多,那么我建议你写个报表,调用函数,直接批量导出。进入SE16N,输入DD03VT表,填写表名,语言填写1,然后勾选你需要的字段信息。自建表不要偷懒,要尽量使用数据元素,没找到也尽量去建一个,后续维护可以方便你我他。把表名和位子同时排序,得到这样的结果,再右键电子表格就可以批量导出了。好了,分享使我快乐,我是寒武清锋。

2023-12-13 09:29:16 1952 4

原创 SAP 调取http的x-www-form-urlencoded形式的接口

1.https://blog.csdn.net/BinGeneral/article/details/123607105 -斌将军。字段与字段相互连接要用 & 符号,空格用 + 连接。所以说当你的关键参数里面带有这些特殊符号时,就要用方法转化一下。1.raw格式就是标准的json格式:{“Name”:“John Smith”,“Age”: 23}关键信息按照你的接口来,我的接口信息上马了。2.x-www格式是要转化一下的:Name=John+Smith&Age=23。分享使我快乐,我是寒武青锋~!

2023-11-21 15:07:52 1727

原创 ABAP 交货单拆分行数量汇总

在写交货单的报表的时候,我们经常被要求:不要交货单的批次拆分行,只要交货单的行项目以及对应的数量。问题就是在于,如果交货单被批次拆分了,在交货单数据表 LIPS表里面的数量不是行总数.好了分享使我快乐,我是寒武青锋。取数就会造成一些困扰。

2023-06-21 15:21:09 727 2

原创 ABAP 创建/删除预制发票,贷方凭证(MIR7)

它的解决方法就是行项目不要传供应商(ls_itemdata-FREIGHT_VEN = ‘’)。供应商应该放在抬头的发票方:ls_headerdata-diff_inv = ‘供应商代码’.至于做贷方凭证,就是往LT_GLACCOUNTDATA里面赋值就好了。多尝试一下就可以了。其中我有遇到个错误:你不能处理关于交货成本的条件。这是记录下写业务程序的基本架子。运行代码:已经产生了预制凭证号。分享使我快乐,我是寒武清风。好了今天的分享到这。

2023-04-20 10:10:56 1893 1

原创 ABAP 创建、修改、删除内部交货单(VL31N/VL32N)

3.BBP_INB_DELIVERY_CREATE 听说有bug,我就没有使用这个了。做些资源总结,方便以后使用,把上面具体的单据改成你的测试数据,就可以使用运行了。1.GN_DELIVERY_CREATE 通用交货单使用的bapi,推荐使用。BAPI_INB_DELIVERY_CHANGE 使用这个bapi。删除整单内部交货单,行项目也可删除,去item里面打上删除标记。修改内部交货单数量,批次之类的,但是有些字段修改不到。第二种创建内部交货单,这种简单快捷,但是字段少。

2023-04-14 15:45:33 4842 2

原创 ABAP 选择屏幕填入值回车带出文本,内容或者权限报错

1.选择屏幕上,消息要 TYPE ‘S’ DISPLAY LIKE ‘E’ . STOP.才能在选择屏幕上报错。2.在选择屏幕上,我暂时还没有发现除了回车之外的触发方式,如果你知道,你可以在下面留言提醒我。3.权限校验,要根据业务的要求来设置拦截信息。分享使我快乐,我是寒武青锋。

2023-02-23 10:37:40 1835

原创 ABAP 查询某个日期在不在财务OB52账期内

查询一个日期比如2023-01-01在不在财务OB52维护的账期内。期间月份是三位数,比如12月份是012;如果你查询的数据有终止科目一定要填写;我是寒武青锋,分享使我快乐!好啦,今天分享到这。

2023-02-16 13:53:38 1105

原创 ABAP ALV中自定义搜索帮助

1.事件的使用是OOALV中使用的,我的是functionalv转OOALV,它的好处就是可以兼顾functionalv的便利和OOalv的事件。2.要把里面的自定义表换成你的搜索帮助表。2.实现handle_f4 方法。4.fieldcat的配置。

2022-11-08 11:54:57 3678 2

原创 ABAP CO41 ALV添加字段增强

给SAP CO41添加自定字段,并且进行显示。

2022-09-27 14:52:14 1117

原创 ABAP 常用的弹窗(确认弹窗、填写值弹窗)

另外,画屏幕添加搜索帮助的小技巧,可能条目键值选 2会自动带出搜索帮助。1.当用户做一些比较重要的操作时需要弹出一个窗口,让用户进行确认。功能比较强大(还可以做其他的东东),但是也比较复杂。9000屏幕的GUI状态(创建就好了,没有啥特殊的)2.或者进行操作时,需要填写重要信息。好了,分享使我快乐,我是寒武青锋。3.可填写弹窗代码(画屏幕版)2.填写弹窗代码(函数版)取消的功能码:CANC。9000屏幕的逻辑流。...

2022-08-31 15:34:41 9367 9

原创 ABAP VOFM定价过程的例程创建

注:如果新的定价过程传输到正式系统,一定要让业务做一单看看运行效果(不用保存就可以看的定价过程的效果)。这一步很重要,不然定价过程不生效,而且新的定价过程传输到正式系统中,需要再次运行。注:1.如果不知道里面字段的含义,可以查看标准定价过程的代码,打个断点调试下。销售或者是采购模块都会用到定价过程,本文章做些记录。2.此程序是没有固定点计算的,涉及到。好了,分享使我快乐,我是寒武青锋。,可以写个函数进行乘除的计算。...

2022-08-09 15:05:59 2039 5

原创 ABAP FB02 修改会计凭证的抬头文本/行项目文本的函数

FB02 修改抬头文本/行项目文本,另外还有一个函数也是可以修改行项目文本的函数,FI_ITEMS_MASS_CHANGE,它本质上是BDC.除了能修改文本之外,还能修改FB02可编辑的字段,可以灵活使用。填写会计凭证,公司代码,财年,加个行项目。填写会计凭证,公司代码,财年。分享使我快乐,我是寒武青锋。抬头字段名,和字段值。抬头字段名,和字段值。......

2022-08-03 15:53:28 3133 1

原创 ABAP SQL 截取字段值、去掉前导零连表匹配查询

应用场景:A表a字段取值后面四位与B表b字段进行匹配连表,假设要把工厂作为供应商查询。方法有两种:1.截取法,知道数据的固定位数。官方解释:SUBSTRING( arg, pos, len ) ,Substring arg from the position pos with length len. pos and len must be specified so that the substring is within arg.翻译:长度为len的位置pos的子字符串arg。Pos和len必须

2022-07-12 12:04:12 3163 1

原创 ABAP IN BACKGROUND TASK 的调试方法

一、问题描述:当我在 IN BACKGROUND TASK 的函数上打个断点(无论是外部断点还是会话断点)时候,发现调试并不能进入到函数里面去。二、找问题有用线索:遇事不决直接 F1 先看看系统怎么说。我们可以获得的信息:1.这是一种过时的语法2.这个函数是个远程启用的模块3.其中还提到SM58这个事务代码三、解决方案:1.打个会话断点2.触发断点进入debuge模式,点击设置–>更改调试器参数文件/设置3.勾选 TRFC(在后台任务钟):块发送4.先不要运行下去,开个新窗口输入

2022-07-11 17:14:21 5130

原创 ABAP string_agg 将列的文本分组汇总到一行

STRING_AGG基本作用就是:按照关键字段分组 ,将列值,拼接到一个字段,看图直观一些。实例代码注意点1.拼接的时候可以加符号,也可直接拼接。2.SAP 7.54版本以上,才可以使用这个语法。3.STRING_AGG AS 的拼接字段长度不能超过1333。超过直接dump。在写之前就要估算好长度。好啦,分享使我快乐,我是寒武青锋。...

2022-06-08 14:41:03 1149 2

原创 ABAP 简单CDS创建和使用

1.安装并且添加ABAP的插件安装eclipse链接:https://blog.csdn.net/qq_45344586/article/details/123942685安装ABAP插件:https://jingyan.baidu.com/article/67508eb471dd5c9ccb1ce458.html注意点:eclipse添加ABAP插件时候,去这里https://tools.hana.ondemand.com/ 查看对应eclipse的对应版本插件链接(什么版本的eclipse就选什么

2022-05-27 16:37:00 3048 4

原创 SAP 物料主数据创建与更改

1.用于创建与更改物料主数据的核心代码,算是比较全了。*****创建物料主数据使用 DATA gw_headdata LIKE bapimathead. "声明带有控制信息的表头段 DATA gw_clientdata LIKE bapi_mara. "声明客户端层次物料数据 DATA gw_bapi_te_marax LIKE bapi_te_marax. "声明客户端层次物料数据 DATA gw_bapi_te_mara

2022-05-24 15:45:57 4502 5

原创 ABAP ‘read text‘ 在循环中取值长文本太慢了,来试试效率更高的方法

在很多报表中都会取值长文本,一半我们都是使用 read text函数取值,或者 通过ID取值使用比较简单,但是效率低下,因为在每一循环中都是要取值长文本。今天来介绍一种复杂一些,但是效率大大提升的方法。一、源代码"查询销售订单以及订单行SELECT vbak~vbeln, vbap~posnr, vbak~ernam, CAST( vbak~ernam AS CHAR( 200 ) ) AS longtexth,"抬头长文本 CAST( vbak

2022-05-09 09:38:46 1879 4

原创 隐藏CO03菜单栏的按钮(转到=>成本=>分析)

问题业务要求需要按照权限隐藏 菜单栏的转到=>成本=>分析,就是把这个按钮置灰,没有权限的人按不到。效果如图:寻找增强点思路:1.首先还是要从程序的gui状态开始找起,每个菜单栏,都有对应的code,找到它。2.然后进本程序去找excl_tab通常它是用来隐藏按钮的,并且插入一条数据进去。具体步骤1.进入状态:2.双击GUI状态:3.找到分析对应的代码:KOAZ4.找到带有excl_tab的代码段查看代码,发现有隐藏的代码可以打断点调试看看是不是这个点。

2022-04-21 12:33:01 1265 2

原创 简单alv双击弹窗展示明细

效果展示,双击弹窗出明细双击弹出新窗口,展示明细。弹窗是使用SALV的简单展示,有标准的按钮与简单设置,使用起来蛮方便的,写个例子记录一下。详细设置可以我参考我另外一篇博客 简单SALV代码TYPE-POOLS: slis.TYPE-POOLS: kcde.*&---------------------------------------------------------------------**& TABLES*&----------------

2022-04-18 15:10:07 1933 1

转载 sap LTMC数据导入

1.S4版本数据导入,可以使用新工具LTMC,转载备用来自:SAP团子 使用LTMC迁移数据有以下几个优势: (1)预先集成了许多常用的数据模板,可以直接下载使用; (2)模板可以自定义调整,通过LTMOM调节字段顺序,必须,隐藏或者新增; (3)上传的文件的数据在导入之前可以进行数据检查,必输字段缺失,数据值系统进行校验,验证发现错误可以到处错误消息,修正数据。但与LSMW相比,也缺少一定的灵活性,毕竟LSMW可以通过录屏的方

2022-04-02 10:14:55 2162 1

原创 ABAP 事务代码与程序名以及描述的对照表 TSTC

ABAP 事务代码与程序名以及描述的对照表许多abaper在写年报的时候,总i想找个表拉出自己写的所有程序的标准表,很巧TSTC这个表就有可能是你需要的。筛选条件,选Z打头的程序就可以了。

2022-03-24 16:08:25 1039

原创 ABAP 增强中加减乘除计算结果不准(固定点计算)

问题背景在很多标准程序debug的时候经常发现加减乘除的计算结果不对,比如5+9.5 = 100 这个计算想来想去都不知道什么原因,然后我要在增强中写个计算的校验,怎么写计算结果都不对。我该如何解决?了解固定点计算按照官方的解释:虽然很详细但是没怎么看懂。不过我们ABAPer 一般创建程序的时候都会打上这个勾:例子如果不勾选这个勾,看看计算结果会变成什么样子:代码实例"不勾选固定点计算DATA:lv_num1 TYPE char4, lv_num2 TYPE char4,

2022-03-24 15:39:50 1034

原创 SE16N修改数据报错:已存在有规定键的一个数据记录

1.遇到的错误SE16N修改数据报错:已存在有规定键的一个数据记录2.原因由于数据主键重复了,所以会报这个错。就上图里面已经有913的ID了,没有看到是因为我们系统默认的命中数是500,所以没有全部显示出来,去500的命中数就可以显示全部数据了。自己遇到的小错误,记录下。...

2022-02-15 11:18:01 1329

原创 ABAP SE16N/SE11修改标准表和自建表

业务使用背景:我们测试自开发程序的时候经常会需要使用到,通过开发手段进行对自建表进行数据更改,不过使用之前,必须提醒一下,尽可能不要用此方式去修改标准表,因为标准表的数据不仅仅是一条数据或者是一个值,而是关联的很多表格。另外重要的数据修改最好留下数据备份,养成好的备份习惯。一.SE16N修改1.进入SE16N,填入要修改的表,以及要修改的数据,填入/H回车之后,点击执行按钮。2.进入调试界面,把GD-SAPEDIT与GD-EDIT 的值更改为’X’然后按F8进行下一步操作。3.可以在此页面进行增

2022-01-18 13:34:41 5948

原创 动态SQL查询,动态内表

1.动态sql语句查询简单来说,查询的字段,查询的表格,还有where条件都是变量。可以作为选择屏幕或者接口数据输入,最后得出输入条件的数据。具有通用性。 其中,动态查询的关键在于:sql语句查询结果所放置内表的创建。2.源代码PARAMETERS: p_field TYPE char200, p_table TYPE char10, p_whe TYPE char200.*第一种创建动态内表,根据所查询的字段,去生成内表DATA: d_re

2022-01-17 16:28:54 2574 1

原创 ABAP IF语句的“与”、“或”、“非”

基本概念ABAP 中常有 与、或、非 三种逻辑概念,分别对应 AND、 OR 、NOT 。与:同真为真,一假则假;两个条件成立,才是真。或:同假才假,一真即真;其中任一条件成立,则为真 。非:非真即假,非假即真。真的变假的,假的变真的。但是当我看到这样一个语句时,我脑子一下子没有转过来,所有写篇文章记录下。DATA: e TYPE i .IF 1 = 1 AND NOT ( 2 = 2 AND e IS NOT INITIAL ). WRITE: 'ABC'.ENDIF.当

2021-11-05 15:39:58 5551 4

原创 ALV需要修改操作的常用模板:单元格修改校验,标准报错,修改后回车更新另外一个单元格

前言分享一个ALV需要修改操作的常用模板,好用就收藏。常用功能为:1.ALV添加自定义按钮选中数据进行按钮操作。2.双击事件。3.修改操作,单元格修改A自动,自动更新此行的B字段,例如修改单价,自动计算总价。4.根据条件,设置某些行不可编辑状态。一、上代码代码赋值就能用啦。REPORT zlimf_alv_mode.TYPE-POOLS: slis.TYPE-POOLS: kcde.*&---------------------------------------------

2021-10-20 10:33:46 1396 2

原创 ABAP 两个内表字段名不同的匹配赋值

一、基本介绍一般两个内表的赋值1.如果是结构完全一样使用: A = B[] .2.若是结构有些一样有些不同那就是使用 MOVE-CORRESPONDING,但是它只能把相同的字段的名的值赋值进去,不同字段名的就无法赋值过去了。3.loop 循环进行赋值,赋值字段名相同或者不同的都可以办得到,但是资源耗费大。4.使用今天要介绍的方法cl_abap_corresponding=>create ,可以不使用循环,把字段名不同的字段匹配赋值。二、实例TYPES:BEGIN OF ty_a,

2021-10-18 09:10:02 3295 8

原创 ABAP SALV简单实例

前言介绍:SALV是一个用面向对象写出ALV简单报表的类。好处:简单快捷,用来做个弹窗,或者作为明细的显示窗口,有很高的便捷性。限制(缺点):•列数限制为90。•列的输出长度限制为128个字符。•ALV的结构使用户可以在屏幕上操作您的表格。尽管ALV为打印表格提供了几个基本功能,但它并不用于配置缩小的打印布局。•对于排序和小计,您最多使用九个级别或列。•对于可聚合列,确保列的内部长度足够大,不仅适用于单个值,也适用于结果。•输出列是面向列的。只能显示平面结构的表。不能显示嵌套的表和结构。

2021-10-11 10:37:56 4066 5

原创 SAP 调取https(API)接口

一、对https接口的简单认识1.参数2.权限3.抬头4.参考链接:SAP调用外部API

2021-10-08 15:40:45 11278 9

sap导出自定义程序代码.txt

可以导出在SAP系统中的自定义程序,导出的自定义程序中含有的自定义函数,自定义结构表格都连带导出,导出的格式文件夹包含的html。

2020-07-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除