
ABAP
SAP 的寒
日常运维记录,相关知识搜集。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SAP各种增强详细介绍
在不同的业务场景下,定价过程可能不尽相同,每个例程就是一段专用客制化的程序,可以在例程中编写逻辑,以满足定价过程增强需求。第二代Enhancement exits增强函数名称都是类似于“EXIT_程序名_增强序号”,“增强序号”是001/002这样的数字序号,例如上图中的EXIT_SAPLKEII_002。ZXKKEU08初始是不包含代码的,而下图的右下角则是实施了增强后的代码。想要查找某个事务码的增强,以MIGO为例,可以查找到MIGO的程序,以及包CLASS名称,然后再在SNIF中查询到相应增强。原创 2025-07-26 09:18:49 · 652 阅读 · 0 评论 -
ABAP 调用 restful API
【代码】ABAP 调用 restful API。原创 2025-07-20 15:55:31 · 149 阅读 · 0 评论 -
ABAP日期时间函数大全
摘要:本文介绍了SAP系统中24个常用的日期处理函数,包括FIMA_DATE_CREATE(日期加减)、RP_CALC_DATE_IN_INTERVAL(日期间隔计算)、LAST_DAY_OF_MONTHS(月末日期获取)等核心功能。这些函数涵盖了日期转换(如CONVERT_DATE_TO_INTERNAL)、周数计算(DATE_GET_WEEK)、节假日判断(HOLIDAY_CHECK_AND_GET_INFO)以及日历控件(F4_DATE、F4_CLOCK)等多种日期处理需求。通过具体代码示例展示了每个原创 2025-07-02 19:54:11 · 621 阅读 · 0 评论 -
SMARTFORM 循环打印实现 (循环调用SMARTFORM)
内表中,然后再对分类信息进行循环,一个分类一个分类打,例如按科目打印的时候,把要打印的N个科目。总结:其实类似这样的分类打印还有很多,但是方式都差不多,我做的时候,都是把分类信息存放在一个。放在内表中,对科目表进行循环,再对数据表进行循环,把单个科目的数据放在一个临时表中打印,这样。用SMARTFORM做打印已经很久了,功能也了解了不少,但是还是有很多功能有待去学习。商分类打印,并且按每个供应商的信息统计页码,当然,在程序中定义些变量什么的也是可。究了一下,实现实现起来还是挺简单的……原创 2025-06-10 13:34:39 · 266 阅读 · 0 评论 -
BAPI_BATCH_CHANGE:修改批次的特征值
要修改批次里面的某一个特征值,所以需要使用到BAPI_BATCH_CHANGE这个BAPI,除此之外,还有VB_BATCH_2_CLASS_OBJECT函数和BAPI_OBJCL_GETDETAIL。注意BAPI函数BAPI_OBJCL_GETDETAIL的objectkey_long参数,不使用objectkey。注意函数VB_BATCH_2_CLASS_OBJECT的i_matnr参数,注意前导0的问题。函数名称:VB_BATCH_2_CLASS_OBJECT。原创 2025-06-03 20:27:02 · 193 阅读 · 0 评论 -
SAP财务过账BAPI函数使用以及代码
确定需要过账的会计凭证的所有相关数据,如凭证日期、过账日期、凭证类型、公司代码、货币、科目、金额等。注意,有些像销项税之类的科目,需在税项目额外增加一行,同时总账项目里的这行的金额需要计算。如果在调用BAPI或处理返回信息时遇到错误,需要采取适当的错误处理措施。提供更广泛的会计凭证处理能力,可能包括不仅限于总账凭证的其他类型凭证。2.如果是汇票类型的凭证,想使用该BAPI,需要另外做增强,参考。1.首先需要做个增强,像记账码那些,才能传入,参考。调用BAPI时,还需要处理可能的异常和错误返回。原创 2025-06-01 09:29:28 · 557 阅读 · 0 评论 -
SAP RF 移动屏幕定制
从这里我们选择 “定义屏幕管理”,检索我们希望定制的屏幕的逻辑和原始屏幕编号。在本例中,我们将定制 LM00 登录屏幕,它是逻辑屏幕 889,原始屏幕 0889(窄格式)。将功能模块 LMOB 0889 屏幕的原始屏幕复制到 “退出 ”功能模块 XLRF 9889 屏幕(标准做法是将原始屏幕编号的第一位数字替换为 9)。因此,几乎总是需要定制来满足业务需求,并针对所选的移动设备优化屏幕。回到 IMG,再次进入 “定义屏幕管理”,为变量 “1 ”添加一个表项,将逻辑屏幕指向新的退出屏幕。原创 2025-05-18 15:40:25 · 766 阅读 · 0 评论 -
SAP财务凭证替代的debug调试
之前一直不知道怎么调试,找了一下界面发现菜单“附加”里面有个“专家跟踪”可以“设置断点”。然后就很容易进去了。原创 2025-05-12 10:57:12 · 312 阅读 · 0 评论 -
ABAP使用GET_TAX_PERCENTAGE 函数取税率
GET_TAX_PERCENTAGE 函数,实例为采购订单进项税。今天在做含税价的时候查到的,记录一下。S4 Hana 的环境。ABAP使用GET_TAX_PERCENTAGE 函数取税率。先DATA一个 ftaxp。原创 2025-05-07 19:34:26 · 398 阅读 · 0 评论 -
手工创建请求对象并传入至任意SAP系统
在弹出来的对应框中选择对应的请求号添加,然后就可跟平时一样进行传输了。二、将源系统中这些文件拷贝至目标系统对应的目录中,注意权限的修改。三、登录对应的系统,使用stms,点菜单添加请求。手工创建请求对象并传入至任意SAP系统。SDX: 沙箱系统上传文件至系统目录。QAS: 测试系统下载系统文件。一、请求文件存放在以下两个目录。原创 2025-02-20 10:18:02 · 245 阅读 · 0 评论 -
SAP Smartforms 货币和数量字段设置参考及格式,消息号是SSFCOMPOSER601
打开'更改字段' 界面 ,将 '(CZ)' 加入变量字段中 保存即可,注:'CZ' 的作用是删除数量字段前置零,数量字段一般长度为10位以上,当数量不大时,前置的零存在空白不显示但占打印空间,导致字段格式下移(可选)3.选择 '全局定义' --> '货币/数量字段' ,将需要申明的数量字段参考自己本身,数量选择数据类型 'QUAN' 货币选择数据类型 'CURR',保存即可。可选操作:点击 '表格绘制器' 旁的 '字段列表' ,将数量字段拖入文本元素中。原创 2025-02-12 16:42:45 · 319 阅读 · 0 评论 -
关于SAP Router连接不稳定的改良
鉴于此,通过一个程序,来改良一下SAP GUI 通过SAP Router连接的稳定性。优点:可以比较好的改良GUI通过router连接SAP服务器的稳定性,同时防止超时导致session被SAP服务器断开或者被router断开;这个也是网上看来的,之前在用的时候也在想是不是建立一个长连接,就不至于断线。操作:SE38运行程序Z_DX即可,保持此session,另外打开session进行操作;原理:定时触发GUI与服务器的交互,保持router的连通性;SAP Router连接不稳定的改良。原创 2024-12-16 09:37:05 · 429 阅读 · 0 评论 -
RFC创建和调用的实例
前面我们提到过需要创建一个用户来调用RFC,平时是将该用户设置为不能登录的类型的(B C L S ),在debug的时候将其改为可登陆的(A),并在相应系统上登录该用户。填写用于远程调用的用户信息,一般我们会专门创建一个’通讯数据’类型的用户来调用RFC,不管是我们SAP调用RFC还是非SAP调用RFC都要用到一个用户来登陆而后才能调用指定的RFC函数!我们知道在非SAP系统调用RFC时是可以也必须可以debug进我们的RFC函数的,非SAP系统的调试器怎么能识别ABAP的代码并给出调试信息?原创 2024-12-05 20:35:24 · 1133 阅读 · 0 评论 -
2242679 - 重定向不一致 - 代理替代
MKPF、MSEG、MARC、MBEW、EBEW、OBEW、QBEW、MARD、MCHB、MSSQ、MSSL、MSSA、MSPR、MSLB、MSKU、MSKA、MKOL、CDS 代理视图;对于 S/4HANA OP1610,$EXTENSION 关键字已从表 MARD、MCHB、MSSQ、MSSL、MSSA、MSPR、MSLB、MSKU、MSKA 或 MKOL 的代理 CDS 视图中移除。APPEND,则结果是 APPEND 中的字段位于表中的某个位置,因此在分配的代理视图的末尾附加字段将导致结构不匹配。原创 2024-11-26 13:11:30 · 809 阅读 · 0 评论 -
2686694 - 操作方法:MSEG - DBSQL_REDIRECT_INCONSISTENCY
需要为表 MSEG 的替换对象 NSDM_E_MSEG 创建 EXTEND VIEW,其中包含自定义 APPEND/INCLUDEs 和/或客户 include CI_COBL 中的字段。在 ADT 中,在“核心数据服务”下创建新的“ABAP 资源库对象”作为“数据定义”,名称为 Z。将建议的编码替换为以下编码,然后在自定义扩展视图中输入自定义 APPEND/INCLUDEs 和/或客户 include CI_COBL 中的所有字段。其显示方式示例:原创 2024-11-26 13:08:59 · 751 阅读 · 0 评论 -
SAP ME2L/ME2M/ME3M报表增强添加字段
SAP ME2L/ME2M/ME3M报表增强添加字段(包含:LMEREPI02、SE18:ES_BADI_ME_REPORTING)在这里加字段,如果要加的字段是EKKO、EKPO里的数据,直接加进去,啥都不用做,就完成了。ME2L、ME2M、ME3M这三个报表的字段增强,核心点都在同一个结构里。原创 2024-11-25 16:48:27 · 424 阅读 · 0 评论 -
排除被冲销的物料凭证
在MSEG取物料凭证的时候,很多时候需要排除已经被冲销的凭证和冲销凭证,比如有个一个凭证5000000573,冲销后产生了凭证5000000574。这个时候,在5000000573上面是看不出这个凭证被冲销了的,只能在5000000574上面看到,它冲销了5000000573。SJAHR SMBLN SMBLP这三个字段记录了被冲销的凭证。子查询的效率还是可以的,足够满足大部分情况下的使用。原创 2024-11-13 13:45:17 · 541 阅读 · 0 评论 -
Unicode Printing Enhancement (UPE)
Over the last few years, I have focused on Printing and Output Management as a topic within SAP Consulting. The starting point for that was the question as to how to print after a Unicode conversion has taken place; after conversion the documents will have原创 2024-11-01 19:45:00 · 1931 阅读 · 0 评论 -
1812076 - Unicode Printing Enhancement (UPE)
SAP Note, Version: 7, Released On: 17.06.2014Show ChangesDescriptionSoftware ComponentsSupport PackageThis document is referenced byThis document is causing side effectsAttachmentsAvailable LanguagesUnicode Printing - OverviewUnicode print settings, Unicod原创 2024-11-01 10:20:51 · 532 阅读 · 0 评论 -
ALV单位字段显示星号(转换前和转换后的值)
ALV字段在定义的时候,如果是需要进行值的内外码转换(“转换前”和“转换后”的值),建议相关的字段设置成定长的C类型,这样可以避免ALV界面输出转换之后的值的异常问题。例如相关的问题有字段定义UNIT类型,debug的时候数据显示是正常的,但是输出之后数据成了“*******”,但是定义字段类型为C类型就不会出现这种情况。ALV单位字段显示星号(转换前和转换后的值)原创 2024-10-17 14:02:40 · 568 阅读 · 0 评论 -
SAP ABAP 代码搜索工具 CODE_SCANNER
作为一个熟练的 ABAP 经常要查一下某个function有没有被别的程序调用,或者查看某个function在参考别的程序的调用方法。这就会经常用到 CODE_SCANNER 这个TCODE。例子一:例如查询 某个smartform 被哪个程序调用了?SAP ABAP 代码搜索工具 CODE_SCANNER。原创 2024-10-09 18:45:05 · 731 阅读 · 0 评论 -
abap在内表中插入一行数据到内表
在内表fill_itab中插入一行数据group = 'a' number = '19' descrioyion = 'A-4'原创 2024-09-27 10:16:50 · 356 阅读 · 0 评论 -
ABAP 一步一步教你添加ALV界面菜单功能按钮
激活功能码:在GUI状态的空白位置处,右击—>”活动功能”,如图在弹出的对应的界面激活对应的功能码,激活状态。只有在激活功能码后,前台界面才会显示。在修改GUI STATUS 是如果要添加一个功能按钮,必须先创建一个功能键(具体参照下方),之后再在应用程序工具栏输入该功能键的功能码否则报错!功能键中,新增功能代码“REL1”,然后回车后会弹出功能文本维护界面,然后双击功能码“REL1”完成图标文本和信息文本。在应用程序工具栏中,框1的位置键入新建的功能码。ABAP 一步一步教你添加菜单功能按钮。原创 2024-09-20 19:13:56 · 829 阅读 · 0 评论 -
F110批量付款如何Debug BTE增强(后台JOB的调试方法)
SAP系统中的F110(Automatic Payment)是一个常用的付款程序,在实施过程中,也经常会遇到一些运行的错误,而对于此类的错误,通常的调试方式是使用debug后台Job方式进行。在本文中在介绍debug后台job方式的同时,将绍一种更简单的方式来实现F110的在线调试。在付款建议的过程时,可设置一个未来的日期,然后进入SM37通过JDBG的方式来进行。这个方式是可以实现debug的。选中刚刚创建的作业,在上面输入JDBG 回车。选择一下断点位置,输入BTE中的函数。先新建一个付款建议。原创 2024-09-11 19:56:36 · 683 阅读 · 0 评论 -
SAP BTE的增强方式
进入事务码FIBF, 查找业务交易事件00001120 (凭证过帐: 字段替代表头/项目)以及与之对应的SAMPLE 函数SAMPLE_PROCESS_00001120。查找业务交易事件00001120 (凭证过帐: 字段替代表头/项目)以及与之对应的SAMPLE 函数SAMPLE_PROCESS_00001120。场景:在有些项目中,是需要对会计凭证中的某些字段做替代处理,这个时候可以考虑一种BTE的增强方式。选中业务交易事件00001120, 然后点击模式函数模块按钮,查看SAMPLE 函数。原创 2024-09-11 14:21:25 · 957 阅读 · 0 评论 -
select single , select endselect
实际开发中不建议这么操作,对效率都有影响,基本都是select 具体字段,into 对应内表中,一次性处理,效率高,快捷。select endselect在代码里面添加一个断点F5 就会看到代码在select于endselect之间循环执行,每次出来一行数据,这种方式在list的报表中比较常见。select endselect是在里面循环,每次找一条,依次放到into table中,或者放到into work area中,下面append table。另外,在ALV中,常用select ……原创 2024-07-08 21:45:00 · 359 阅读 · 0 评论 -
ABAP注释快捷键修改(留着备用)
修改配置并保存以后,我们就可以在需要进行注释处理的代码块上使用快捷键Ctrl + /来添加代码注释,使用快捷键Ctrl + Alt + /来取消代码注释。我们设置快捷键Ctrl + /来替换原有添加代码注释的功能,设置快捷键Ctrl + Alt + /来替换原有取消代码注释的功能。在使用ABAP编辑器的时候,原有的添加代码注释和取消代码注释的快捷键未生效,这时我们可以考虑对注释快捷键进行修改。ABAP注释快捷键修改(留着备用)设置修改添加代码注释的快捷键。设置修改取消代码注释的快捷键。原创 2024-07-08 20:45:00 · 482 阅读 · 0 评论 -
SAP GUI status 杂记
具体的方式可参见此链接中的介绍,进行一步一步手动的设置。但在实际的业务场景中,通常会需要对标准的toolbar进行增强,例如,增加一个自定义的按钮等。此时,就需要对GUI status进行手动的设置,其在程序中的关键字为 SET PF-STATUS 'status_name' ,通常位于INITIALIZATION事件中。SAP GUI status是指SAP程序运行中菜单栏,标准工具栏,应用工具栏(menu bar, standard toolbar, application toolbar)的总和。原创 2024-04-23 09:55:21 · 562 阅读 · 0 评论 -
ABAP--将数字金额转换为人民币大写字符串
【代码】ABAP--将数字金额转换为人民币大写字符串。原创 2024-04-11 15:43:03 · 419 阅读 · 0 评论 -
ABAP OOALV标题设置
这时候通过查询layout(wa_layout TYPE lvc_s_layo)里面的变量,发现变量GRID_TITLE,OOALV默认标题是SAP,需要我们自己创建GUI 标题。下面的ALV 报表标题修改的位置在以下代码区域。创建GUI 标题,写好要展示的描述。ABAP OOALV标题设置。添加截图中的代码即可。原创 2024-04-02 15:45:28 · 703 阅读 · 0 评论 -
ALV 不显示应用工具条行
在ABAP开发中,应用OO的方法,有时候会需要去掉ALV中的标准工具栏,找到屏幕,属性里面勾选对应选项。ALV 不显示应用工具条行。原创 2024-04-02 14:31:32 · 578 阅读 · 0 评论 -
OBBH、GGB1替代(Substitutions)和校验(Validation)的传输(Transport)
OBBH、GGB1替代(Substitutions)和校验(Validation)的传输(Transport)传输必须是整个替代(上述截图中ZFI01),不能针对单个步骤进行传输。新增或变更替代校验的步骤需要传输(Transport)到其他系统,否则如下配置系统的集内容将会覆盖生产系统的集内容,导致功能异常。传输包含3个部分内容:逻辑规则(步骤)、传输组(集)、布尔类。其中传输组也就是对应数据集(GS01/GS02/GS03)注意事项:不勾选“传输组”必须取消勾选“传输组”原创 2024-03-27 15:29:41 · 649 阅读 · 0 评论 -
ABAP-FICO固定资产标签纸
anlhtxt LIKE anlh-anlhtxt, "资产主号说明-规格型号。gdlgrp LIKE anla-gdlgrp, "评估组 5-购置日期。bdatu LIKE anlz-bdatu, "结束日。adatu LIKE anlz-adatu, "起始日。sernr LIKE anla-sernr, "序列号。sernr LIKE anla-sernr, "序列号。bdatu LIKE anlz-bdatu, "结束日。原创 2024-03-21 16:24:51 · 715 阅读 · 0 评论 -
SAP 已根据规则拒绝服务器触发的操作 报错处理
SAP GUI在读取和写入文件的时候,询问是否给与权限,误操作点了否,导致报错如下。在下面的界面中依次点击安全配置---》已定制--》打开安全配置。SAP 已根据规则拒绝服务器触发的操作 报错处理。在下面的界面找到你拒绝的条目,双击。原创 2024-03-19 10:29:00 · 590 阅读 · 0 评论 -
ABAP 实现ALV 工具条数量显示
ABAP 实现alv 工具条 数量显示。原创 2024-03-18 11:33:25 · 713 阅读 · 0 评论 -
ALV Grid 函数
在使用 REUSE_ALV_GRID_DISPLAY_LVC 时,会发现使用 REUSE_ALV_GRID_DISPLAY 时的双击显示行明细功能没有了;参数类型为:SLIS_FORMNAME,与 I_CALLBACK_PF_STATUS_SET 参数一样,为定义的子 FORM,不显式调用;参数类型:SLIS_FORMNAME,也与 I_CALLBACK_PF_STATUS_SET 参数一样,为定义的子FORM,不显式调用。两者的操作大同小异,只是后者能更好的和ALV容器结合使用,前后则不能;原创 2024-03-05 13:45:07 · 957 阅读 · 0 评论 -
ABAP 标准状态栏GUI STATUS的快速创建
ABAP 标准状态栏GUI STATUS的快速创建。不用先创建GUI 状态。原创 2024-02-07 09:03:35 · 931 阅读 · 1 评论 -
ABAP 获取屏幕字段值,field-symbols,assign..TO.. 相关知识实例
ABAP 获取屏幕字段值,field-symbols,原创 2024-02-07 08:58:39 · 1426 阅读 · 0 评论 -
ABAP 汇率取值BAPI_EXCHANGERATE_GETDETAIL
【代码】ABAP 汇率取值BAPI_EXCHANGERATE_GETDETAIL。原创 2024-01-26 15:19:58 · 921 阅读 · 0 评论 -
SAP存放状态的几个常用表
业务单据用户状态的变化存储在JEST表中,每一个业务单据都有唯一的对象号,业务单据用户状态的变化由对象号作为标识记录在JEST表中,通过修改JEST表的数据可以达到改变业务单据用户状态的效果。在sap中,包括订单、项目、计划、设备主数据等,存在审批流程的业务单据,这些业务对象都会有状态的属性,用来控制和约束该业务当前的操作。WCAAP 表:存放工作清理管理:应用程序的对象号的表,根据工作票、操作票编号可以查到对应的对象号。PROJ 表:存放项目定义对象号的表,根据项目定义号可以查找到对应项目定义的对象号。原创 2024-01-12 17:21:17 · 2441 阅读 · 0 评论