- 博客(117)
- 资源 (5)
- 收藏
- 关注
原创 SAP-ABAP-销售发票创建,修改成功后隐式增强位置
这个位置看名称应该是标准预留的一代增强出口,这里使用四代隐式增强实现,也可以用一代增强。IF SY-MSGID = 'VF' AND SY-MSGNO = '311'.满足条件时做开始写增强逻辑。标准表的数据可以直接使用标准表看是否能获取到。代码逻辑: VF01/VF02创建或者修改发票成功和,没有系统报错时,系统消息是VF的311代码判断。注意事项 : 增强中更新后台表不能写COMMIT语句,要与系统标准更新数据一起更新。增强位置 :在包含文件RV60AFZZ 创建隐式增强,具体位置在。
2023-06-25 17:35:36
1334
原创 SAP-ABAP-销售订单创建,修改完成,保存之后的隐式增强点
SY-MSGID = 'V1' AND SY-MSGNO = '311'.当满足这段代码时开始执行增强逻辑。原来VBAP的数据存在表XVBAP中,可以loop这个表做数据处理,还有一些其他表的数据可以看这个form下面的代码。增强位置: 在包含文件 MV45AF0C_CHANGE_DOCUMENT_CREAT。注意事项: 增强中不能使用COMMIT 提交更新,自己想要更新的数据会随后面的表中表一起更新上去。FORM change_document_create 的第一行创建隐式增强开始写代码。
2023-06-25 17:23:51
1839
原创 SAP-ABAP-如何根据bom批量获取物料的最顶层料号
思路就是把所有的最底层级算作一个整体for all 取上一层,记录最底层料号和中间料号,然后按照这个逻辑用中间料号for all再找上一层,一层层往上找,最多的只需要for all 层级数,用到的select其实不会很多。查上层的方法就是STPO表输入料号找到BOM单号,MAST根据BOM单号找到上层物料。简单代码DEMO如下。以上代码没考虑工厂问题,每个公司工厂问题可能不同,按照自己公司修改即可。
2023-02-06 17:02:27
1732
1
原创 SAP-ABAP-SQL连表时多个字段连一个问题处理方案
写代码时经常遇到一些两个字段拼接起来取连另外一个表的情况,比如MSEG表物料凭证号+年关联BKPF的AWKEY 字段是mseg~MBLNR + mseg~mjahr =BKPF~AWKEY。这时候普通的连表会提示长度不一致的问题我们可以用下面的方法连表。
2023-01-13 16:28:06
1615
原创 SAP-MM-如何配置移动类型对应的具体科目(OMWN,OBYC)
2.进入维护后发现能修改的只有两个字段,科目修改和检查,科目修改是在后面OBYC用到的,检查的作用是若设置该标识,系统就可检查总帐或帐户分配是否已在项目屏幕上指定。若已指定,系统将复制该数据至过帐行。若未设置该标识,系统将使用自动确定的总帐或帐户分配。3.找到要配置的移动类型后,打开OBYC,第二列的事务对应的是上文OMWN的TE码,双击即可编辑对应的科目,双击某个事物后,输入账目表。1.为移动类型定义科目分组,SPRO的配置路径如下图,也可输入事务代码OMWN。4.按照对应的描述即可维护对应的科目。
2022-11-04 14:25:15
5883
原创 SAP-ABAP-FBL1H/FBL3H/FBL5H/FAGLL03H等事务代码远程调用时ALV展示与标准不同时布局问题增强修改
但是如果是程序submit调用这个程序,跳过选择屏幕直接展示报表了话展示的就是另外一种格式的报表,如下图所示,非常的简陋,甚至都不能导出数据来。在展示ALV时会判断是不是submit调用,如果是submit调用的话会按照不同的格式展示,具体代码如下,满足if语句则会设置展示格式参数。ld_display_style=’s' ,如果系统的版本低,根本就没有这些代码,可以考虑打note2636523,是展示布局更加好看。经过研究发现,这一系列的程序,如下图所示事务代码。
2022-10-21 11:59:25
1540
原创 SAP-ABAP-CK40N返回消息标准ALV列表新增字段增强
原始需求是在CK40N的返回消息屏幕添加一个物料描述字段,我觉得这个程序加字段应该是有标准配置的,但是我找不到,只好用增强解决了,本文提供一种给标准报表新增字段的思路,为ALV添加字段不外乎两个步骤,第一步添加fieldcat,使展示时能够展示在屏幕上面,第二部填充新增字段的数据。找到了最终展示的ALV的fieldcat,里面的参考表主要有两个,通过SE11验证,这两个结构都存在,所以无论对哪个结构新增,应该都可以为ALV新增字段,这里我选择了CMIOBJCK1,因为物料编码参考的是这个结构。
2022-09-13 16:59:59
1369
1
原创 SAP-ABAP-SELECT语法SQL语法详解
ABAP中SQL语法详细介绍,包括基础语法和各种聚合函数,如MAX,MIN,AVG,COUNT,SUM,DIV,MOD,CEIL,FLOOR,DIVSION,ROUND,FOR ALL ENTRIES IN.除了各种聚合函数还有字段拆分,连接,子语句查询,字段类型转换,分情况赋值等
2022-09-02 10:09:22
16839
3
原创 SAP-ABAP-RFC类型接口创建步骤
遇到这个警告确认功能模块和函数组的第一位都是Z开头,确认没问题点击勾,这样就创建了一个空的接口,此时是未激活状态。选择包,这里我选择了不传输的测试包,然后创建请求号,将函数组包入刚刚创建的请求号内。在导出页签创建一个N类型的ANSWER字段,描述为计算结果,然后激活。将第一步创建的函数组填入,同时填写接口的描述,点击保存。激活时需要同时选中刚刚创建的函数组,然后点击勾确认激活。所以代码就是如下,这样我们就创建完成了一个最简单的函数。事务代码输入SE37,转到->函数组->创建组->输入函数组及函数组文本。.
2022-08-04 09:29:41
1878
原创 SAP-ABAP-740新语法解析中文版六:REDUCE运算符,迭代运算
REDUCE 循环迭代构造数据,可以计算下列几种数据1.统计表中符合要求的数据有多少行2.循环累加计算总金额3.循环拼接字符串具体代码如下REDUCE语句只能计算一个数值,类型是紧跟着REDUCE的类型,可以用基本数据类型和数据元素定义,INIT后面接变量,初始化数据,for接循环数据,可以循环表,也可以累计循环,循环表就如同正常了loop循环一样,循环每一行存储到工作区,然后做计算,累计循环用for做控制数据,then做每循环一次做的修改,until作为跳出循环的条件,next作为没循环一次需要做的
2022-06-14 16:30:56
3471
3
原创 SAP-ABAP-740新语法解析中文版五:FOR运算
1.快速将内表的某一个字段赋值到另一个表740之前的语法需要定义结构,定义表,定义工作区,然后loop循环数据添加740只后的新语法只需要定义一个表类型的结构,然后用FOR运算符循环赋值即可,但是限制条件很多。(说的不对的欢迎评论区指正)限制条件1,只能快速赋值一个字段,不能多个字段限制条件2,定义的类型TY_FIEELD2只能是表类型的,不能像往常740之前的语法定义行类型的好处在于省略了很多代码,并且循环表LT_03M的工作区LS_03M也快速定义了2.FOR 循环给表赋值......
2022-06-14 13:45:33
2609
1
原创 SAP-ABAP-740新语法解析中文版四:快速给结构,表赋值
1使用方法如下变量:VALUEdtype|#()结构:VALUEdtype|#(comp1 = a1 comp2 = a2…)表 : VALUEdtype |#( ( ... ) ( ... ) ... ) ...2代码示例"""结构赋值TYPES: BEGIN OF ty_columns1, "简单结构 cols1 TYPE i, cols2 TYPE i, END OF ty_c..
2022-05-23 16:16:05
2142
2
原创 SAP-ABAP-740新语法解析中文版三:转换操作符CONV
740前我们可以使用 方法cl_abap_codepage=>convert_to 来转换字段类型,如下列代码DATA text TYPE c LENGTH 255.DATA helper TYPE string.DATA xstr TYPE xstring.helper = text. "char类型转换为string类型直接用等于赋值即可 helper = text. xstr = cl_abap_codepage=>conver...
2022-05-23 15:29:10
3934
1
转载 ABAP 7.4新语法最全原版(英文版)
ABAP 7.4新语法最全原版(英文版)前言本博客用来转载备用学习。So you’re an experienced ABAP programmer wanting to leverage off the fantastic new functionality available to you in ABAP 7.40!ABAP 7.40 Quick Reference Author: Jeffrey Towell Creat..
2022-05-23 14:58:12
2234
原创 SAP-ABAP会计凭证创建BAPI
BAPI调用的代码如下,下面分别介绍几个主要参数 CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST' EXPORTING documentheader = lw_documentheader customercpd = lw_customercpd contractheader = lw_contractheader IMPOR
2022-05-20 12:16:06
5388
原创 SAP-ABAP-清账函数BAPI使用POSTING_INTERFACE_CLEARING,应付暂估外币清账程序
本程序使用bapi对应付暂估外币清账程序bapi名称是POSTING_INTERFACE_CLE,用的是全部清账而非部分清账,程序代码如下,使用的是OOALV格式主程序代码*&---------------------------------------------------------------------**& Report ZFIR262*&----------------------------------------------------------
2022-05-09 15:16:05
4948
1
原创 SAP-ABAP-SM30自建表维护如何控制某个字段不可输入,如何自动带出描述,如何校验数据准确性
代码如下,PBO的MODULE后面要加OUTPUT,代码的意思就是循环屏幕参数,当屏幕参数是TXT50这个字段的时候,将INPUT设置为0,改成不可输入。5.首先创建表结构,本文将对下列自建表限制字段TXT50资产描述不可输入,根据公司代码及资产号码自动带出资产描述,校验所填的公司代码及资产号在表ANLA中存在。1.创建表维护生成器2.双击上图中的概述屏幕1,进入屏幕 1的代码。或者事务代码SE80输入刚刚表维护生成器生成的函数组ZTFI231_DIYAN...
2022-05-06 17:10:46
5229
2
原创 SAP-ABAP-文件批导程序通用部分
文章代码实现下图功能,复制可用1.点击按钮模板下载将SMW0中的模板下载至指定位置注意修改代码中的此处,此处是文件在smw0中的代号,及下载后文件名称2.选择屏幕以及F4帮助打开文件路径选择下载路径,反写至选择屏幕以上为代码实现功能,所有带如下,复制可用*&---------------------------------------------------------------------**& Report ZFIR019*&-
2022-04-19 12:18:03
1072
2
原创 SAP-ABAP-后台表数据万能导出程序
利用灵活sql取配置表数据构造动态内表导出至本地及服务器,代码如下*&---------------------------------------------------------------------**& Report ZFIR252*&---------------------------------------------------------------------**& author 李强 Qunending 2022.02.16*&
2022-04-11 11:37:08
4804
5
原创 SAP-ABAP-如何查询function 函数的参数
DATA: lv_FUNCNAME type RS38L_FNAM , lt_import TYPE rsfb_para WITH HEADER LINE, lt_export TYPE rsfb_para WITH HEADER LINE, lt_change TYPE rsfb_para WITH HEADER LINE, lt_tables TYPE rsfb_para WITH HEADER LINE.* Read par...
2022-04-07 09:39:28
3106
2
原创 SAP-ABAP 选择屏幕根据按钮活动
SELECTION-SCREENBEGINOFBLOCKBLK1WITHFRAMETITLETEXT-001.SELECT-OPTIONSS_VERKFFORZTMM123_LOG_1-VERKFMODIFIDM1."物流订单号SELECT-OPTIONSS_BILLNFORZPPT_SCAN_JIT-BILLNUMBERMODIFIDM2."同步物流指示票号SELECT-OPT...
2022-03-28 15:36:19
724
原创 SAP-ABAP-基础-如何调试程序,debug模式下的一些按钮
1.找程序名1.1通过事物代码找程序名称一般遇到问题都能知道哪个事物代码,已知事务代码可以通过SE93查找对应的程序名称也可以通过事务代码进入程序之后点击 系统-->状态找到对应的程序1.2通过后台表搜索查询名称事务代码SE16N对表TRDIRT限制程序名Z*查询自开发查询,限制标题查询关键字就能查询出哪些程序满足条件,然后再自己一个个排除1.3进入程序包查找事务代码SE80,选择package然后查找Z*可以弹出系统存在的包名称,根据描述及模块双击..
2022-03-09 11:40:55
7513
1
原创 SAP-ABAP-一些很方便的小运算及小函数
A = 3.14B= -3.14151.向上取整CEIL( A ) = 4 .2.向下取整FLOOR( A ) = 3 .3.取绝对值ABS( B ) = 3.1415 .4.字符串长度STRLEN( A ) = 45.除法取整A DIV B = 0 .B DIV A = -1 .6.除法取余A MOD B7.内表行数DATA: LV_LINES TYPE INT4.LV_LINES = LINES( GT_OUT[] ).8.取UUID
2022-01-21 11:17:33
2408
2
原创 SAP-ABAP-财务校验出口,附代码
1.SE38复制RGGBR000到程序ZRGGBR000,include不用复制2.新增出口编号代码如下,注意不要复制UM001那个,那个param不是财务校验的参数。写错了会找不到这个出口。 exits-name = 'Z901'. "matrix validation: exits-param = c_exit_param_none. "complete data used in exit. exits-title = '车型
2022-01-20 09:17:32
1645
4
原创 SAP-ABAP-普通OOALV,OOALV分屏展示,发送邮件excel附件合并单元格,附件带框线,附件居中。
普通OOALV,分三个屏幕的OOALV,带格式的excel附件邮件(合并居中,带框线,规定列宽)
2022-01-19 11:59:35
3080
2
原创 SAP-ABAP-后台导出大批量数据及本地导出数据程序
为了应对审计导出大量凭证的要求,写了此程序来导出bkpf及bseg表数据,此程序分两种导出方式,导出至本地及导出至服务器,因为数据量巨大,所以也支持后台导出至服务器(导出至本地不支持后台执行,sap服务器没办法把文件写到本地)。程序设计的思路:1.创建个自建表,维护两个表中需要导出的字段清单2.取自建表清单数据,构造动态内表3.构造动态取表字段数据4.将动态数据存储至动态内表5.根据自建表取表字段的描述,构造导出结构的表头 6.循...
2022-01-04 12:08:11
5537
9
原创 SAP-ABAP-一般FUNCTION ALV代码示例
*&---------------------------------------------------------------------**& Report ZFIR251*&---------------------------------------------------------------------**& 集成凭证摘要取值*&---------------------------------------------------------.
2021-12-17 15:15:09
1024
原创 SAP-ABAP-搜索帮助,及搜索帮助出口
1.创建搜索帮助2.使用说明2.1选择方法:指定搜索帮助表数据来源2.2对话类型2.2.1根据值集合的对话:如果数据量大于100条就不会直接展示数据,会先展示一个筛选界面2.2.2立即显示值:就是立即展示数据源表中的全部数据2.2.3具有值限制的对话:搜索帮助一开始不会将数据表中的全部数据展示出了,会给个筛选条件2.3输入字段的建议搜索帮助:如果勾选该字段则不需要调用搜索帮助,在输入字段中直接输入与该字段同名的搜索帮助的输入参数的值,系统会根据你输入的内容在下方.
2021-11-10 19:06:54
5373
原创 SAP-ABAP-SQL语句中分情况取值CASE WHEN 如何使用
*&---------------------------------------------------------------------**& Report ZLQT_SQL*&---------------------------------------------------------------------**&*&---------------------------------------------------------------...
2021-11-02 14:17:59
5746
原创 SAP-ABAP-SQL语句中CAST字段类型转换示例,CONCAT连接示例,SUBSTRING截断示例
本文只针对S/4 HANA 1809 及更高版本有效。话不多说,先上示例代码,然后再慢慢讲解 REPORT ZLQT_CAST. GET TIME STAMP FIELD DATA(timestamp). DELETE FROM demo_expressions. INSERT demo_expressions FROM @( VALUE #( id = 'X' timestamp1 = timestamp ) ). SELECT SINGLE FR
2021-10-20 16:31:59
6633
原创 SAP-ABAP-简单的BDC代码模板
本文以MSC2N修改批次主数据上的失效日期为例,来提供一个简单的BDC批导代码模板定义 DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE. DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.form 构造屏幕及字段表* bdcdata-program:程序名* bdcdata-dynpro:屏幕号FORM bdc_dynpro USI
2021-10-19 10:42:55
885
2
原创 SAP-SD-国家调整增值税,sap如何同步调整
业务背景:2018年5月1日开始增值税17%降到16%,至2019年4月1日又从16%调整到了13%。那我们再做销售订单时如何修改配置来满足国家的税率调整呢?经过我的研究,下列方法调整最简单,且能适应后续问题1.FTXP维护税码,将16%进项税及13%进项税维护好2.VK11,VK12配置进项税有效日期,有效期分为三段。第一段2000.01.01-2018.04.30 为17%销项税第二段2018.05.01-2019.03.31为16%销项税第三段2019.04.01-999.
2021-10-19 10:33:01
1163
1
原创 SAP-ABAP-ALV弹出窗口供用户输入,获取输入数据
调用function :POPUP_GET_VALUES可以弹出下图窗口供用户选择并输入数据,效果图如下所示实现代码如下 DATA LV_STGRD TYPE RF05R-STGRD . DATA LV_BUDAT TYPE RF05R-BUDAT . DATA LV_MONAT TYPE RF05R-MONAT . DATA: it_value TYPE TABLE OF sval, wa_value TYPE sval, lv_rtn_.
2021-08-24 17:09:26
2104
1
原创 SAP-FICO-银行承兑汇票相关操作,收票入账,背书转让,贴现
首先,什么是承兑汇票:承兑汇票指办理过承兑手续的汇票。即在交易活动中,售货人为了向购货人索取货款而签发汇票,并经付款人在票面上注明承认到期付款的“承兑”字样及签章。付款人承兑以后成为汇票的承兑人。经购货人承兑的称“商业承兑汇票”,经银行承兑的称“银行承兑汇票”通俗的说就是可以在银行换钱的一种票,也可以用作给供应商付款。同样客户也可以用这种票据付款给我们。总结来说票据常见的三种业务就是这几种1.收票入账---客户用票据付款2.背书转让---用票据付款给供应商3.贴现---用票据去银行换钱,
2021-08-17 20:24:08
3139
2
原创 SAP-ABAP-会计凭证bapi更新BSED表增强
标准的会计凭证bapiBAPI_ACC_DOCUMENT_POST 无法更新票据相关数据想要同时更新票据BSED表相关数据需要按照下列步骤操作1.增强结构新增票据相关字段2.在调用程序bapi时export出数据至内存 DATA: lt_bsed TYPE TABLE OF bsed, ls_bsed TYPE bsed. DATA: lv_umskz_flag TYPE flag. " 用来判断要创建的会计凭证是否有特别总账标识 IF ...
2021-08-16 20:34:33
3125
2
转载 SAP-ABAP-动态创建表结构类的使用
*&---------------------------------------------------------------------**& Report ZLQT_STRUCT*&---------------------------------------------------------------------**&*&--------------------------------------------------------------.
2021-08-16 19:57:49
1841
1
原创 SAP-ABAP-如何根据XML报文动态创建表结构
当有时收到xml报文,但是没法解析时,可用该类按照报文生成特定的内表生成代码如下*&---------------------------------------------------------------------**& Report ZLQT_STRUCT*&---------------------------------------------------------------------**&*&------------------
2021-08-16 19:50:24
567
原创 SAP-ABAP-调用HTTP接口请求FUNCTION
为了方便方便调用http类型的接口,我将其进行了封装,只需传入报文及接口地址即可得到接口返回消息,具体如何新建function如下图所示,代码说明可详细看我这篇文章SAP-ABAP-如何用WEBAPI的方式调用外部接口。下面的截图是function的参数FUNCTION zrfc_call_http_request .*"----------------------------------------------------------------------*"*"本地接口:*..
2021-08-03 13:56:02
4306
6
SAP-ABAP-SQL中的select语句讲解
2022-09-14
fi配置学习笔记.xlsx
2020-09-12
SAP-MM-供应商配置.docx
2020-08-27
信息安全相关事项指引20200516.docx
2020-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人