![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ABAP
踩沙滩
E-mail & MSN: huiyang.yang@outlook.com
QQ: 362046076
展开
-
ADBC:根据SQL Select的字段返回动态内表
DATA: lv_con_name TYPE dbcon-con_name, lr_cx_sql_exception TYPE REF TO cx_sql_exception, lr_connection TYPE REF TO cl_sql_connection, lr_statement TYPE REF TO cl_sql_statement, lr_result_set TYPE REF TO cl_sql_result_..原创 2021-06-01 15:21:58 · 1034 阅读 · 0 评论 -
ABAP 发送JSON报文
调用主函数:FUNCTION ZWMS_MATERIAL_POST.*"----------------------------------------------------------------------*"*"本地接口:*" IMPORTING*" REFERENCE(INPUT) TYPE ZWMSP007*" EXPORTING*" REFERENCE(OUTPUT) TYPE ZWMSP002*"-------------------------.原创 2021-01-05 16:23:20 · 1010 阅读 · 0 评论 -
利用SM30表维护事件实现保存校验
表维护经常遇到需要对数据进行校验的情况,文章用以下场景为例,讲述表维护事件用法。场景:配置表存的是公司某个期间的持股比例。校验一个公司的期间不能交叉重合。数据如:效果:新建一个AAA,和原来202002-202005期间有交叉时,不能保存。实现:FORM check_period.*-检查是否有重复期间 DATA:lt_in TYPE zbpctt001, ls_in LIKE LINE OF lt_in. DATA:lt_return TYPE原创 2020-11-12 14:51:09 · 4500 阅读 · 0 评论 -
ABAP 隐藏状态栏的应用程序工具栏(Application Toolbar)
效果:隐藏红圈的工具栏:隐藏后:设置方法:把无应用程序工具栏勾上原创 2020-10-27 10:12:56 · 1223 阅读 · 0 评论 -
ABAP 年月搜索帮组(自定义财务期间)
时间格式可自己处理,样例格式是YYYY.MM效果:实现过程:*&---------------------------------------------------------------------**& Form FRM_VALUEHELP_PERIOD*&---------------------------------------------------------------------**& text*&------------原创 2020-10-26 15:20:29 · 323 阅读 · 0 评论 -
ABAP 替换字符串中最后一次出现的字符
场景:需要将最后一个出现的字符替换成某个字符,如A23A3,将最后一次出现的A替换为01.DATA: text TYPE char100, moff TYPE i, mlen TYPE i, mcnt TYPE i.text = `A23A3`.WRITE / '转换前:' && text.FIND ALL OCCURRENCES OF 'A' IN text MATCH OFFSET moff MATC原创 2020-07-06 20:06:00 · 1690 阅读 · 0 评论 -
Adobe Form 简单例子
题外话,SAP提供了很多测试程序:FP_TEST*创建Adobe form主要有以下几个步骤:1.创建需要显示的结构以及表类型2.创建接口:定义传入参数,以及一些全局变量。和Smartforms类似3.绘制表单: 3.1设置上下文,将第二步的接口参数传入到表单中 3.2 拖拽相应的控件,并做相应的数据绑定下面是过程:创建接口创建相应的结构...原创 2020-01-07 18:27:18 · 2551 阅读 · 0 评论 -
SFP 无法启动布局设计器 FPUIFB086
现象Tcode:SFP 进入一个表单,点击布局时不能打开布局设计器b:原因:系统缺少Adobe LiveCycle Designer解决办法:下载Adobe LiveCycle Designer并安装安装完成后:...原创 2020-01-07 11:38:00 · 1298 阅读 · 2 评论 -
ABAP内表数据和JSON格式互转
转字老白微信公众号http://mp.weixin.qq.com/s?__biz=MzA5NjUwMjQ1Mw==&mid=400615837&idx=1&sn=45051238fd86610182186af721b79b4a&scene=4#wechat_redirect*&-----------------------------------------------------------转载 2015-11-20 15:50:54 · 7651 阅读 · 4 评论 -
ABAP 定时刷新ALV (TIMER)
function alv定时刷新,10分钟刷新一次,通过定时器10分钟触发一次自定义的按钮refresh,然后就会refresh按钮的响应事件,进入user command 重新取数,user command里会刷新ALV。下面贴源代码,重点看前面class定义和START-OF-SELECTION、P_USER_COMMAND里的代码。**************************原创 2016-09-20 16:14:10 · 3634 阅读 · 0 评论 -
ABAP 7.4新特性(一):行内定义 Inline Declarations
以前我们要用一个变量的时候,需要在使用语句的前面先定义。现在,可以在使用的时候就定义了。比如说我们经常要预先定义表的工作区,然后在loop时使用。现在可以在loop的时候就定义对于表的工作区了。以前:DATA itab TYPE TABLE OF scarr.SELECT * FROM scarr into TABLE itab.DATA wa LIKE LINE OF itab.原创 2016-06-03 11:40:38 · 4234 阅读 · 2 评论 -
ABAP FUNCTION ALV单元格单击/双击事件
ABAP ALV单元格单击/双击 事件原创 2016-09-25 10:51:44 · 18951 阅读 · 0 评论 -
SE73 条形码说明
NOTES:645158 - New bar code technology 里面有详尽的条码类型介绍原创 2017-02-07 11:39:51 · 2027 阅读 · 0 评论 -
ABAP SE37 FM 提交 commit
SE37 在测试序列中最后添加BAPI_TRANSACTION_COMMIT,运行,执行完你要的FM后 返回 就会跳到BAPI_TRANSACTION_COMMIT这个函数,执行即可提交。原创 2016-08-25 14:46:14 · 4563 阅读 · 0 评论 -
ABAP 7.4新特性(四):内表访问表达式
现在新语法支持itab[ ] 这种类似数组的形式了,不过注意的是如果内表不含deep struct ,itab[ 1 ][ 2 ] 是不允许的,这是和二维数组区别之一。只能通过itab[ 1 ]-colname 的形式,也就是说用itab[ ] 一般用来返回某一行的数据,如果你想访问改行的某一列则加上 - 和列名即可。 使用主索引访问内表 wa = itab[ idx ]. 相当于 READ原创 2016-07-27 11:49:23 · 6442 阅读 · 3 评论 -
ABAP 7.4新特性(三): VALUE 操作符
关于VALUE前面也提到过了,其主要是用来给一个结构、内表等对象初始化值。主要有下面三个方式:...value dtype\#() 构造一个任意类型的初始值...value dtype\#( comp1 = a1 comp2 = a2 ....) 构造一个任意类型的结构体的初始值...value dtype\#( ( ...) (...) ... )... 构造一个任意类型的内表的原创 2016-06-06 17:32:20 · 19945 阅读 · 0 评论 -
ABAP 7.4新特性(二):NEW 操作符
NEW实例操作符了解JAVA的知道,我们可以new一个对象实例出来,现在ABAP也可以这样了。NEW可以创建匿名的数据对象或者类的实例。匿名就是new出来的对象没有名字。。。因为后面不需要这个对象了,只是为了new出来赋值给左边的对象(赋值也不太对,就指向。。。),一次使用,简化代码。具体参考java匿名类 一般用到的3种形式 后面例子详细解释1.... NEW dtype( v原创 2016-06-03 17:12:24 · 6610 阅读 · 1 评论 -
ABAP CL_DEMO_OUTPUT类
http://scn.sap.com/community/abap/blog/2016/05/10/cldemooutput-part-1-of-2--usage翻译 2016-06-03 14:11:51 · 3182 阅读 · 0 评论 -
SMW0报错:For selected object type excel no application has been defined Maintain the settings
上传的文件后缀不能识别,需维护MIME编辑器和MIME类型先维护MIME类型,然后为MIME类型分配编辑器MIME Typ选择上面维护的类型,而下面的”编辑器“则选择系统用于打开该文件类型应用的路径,原创 2016-04-22 11:09:20 · 1188 阅读 · 0 评论 -
Smartforms字段显示格式控制
&field+&对于字符变量设置从何位置显示数据,如果offset大于字符变量长度时,系统就不会显示任何数据&field()&设置输出长度.&field(*)&如果该字段类型是abap数据字典里定义的类型,系统将按照字典定义的长度设置输出长度&field(S)&禁止输出符号位&field(符号位显示在数据的左边&fie转载 2016-04-22 09:50:24 · 3823 阅读 · 0 评论 -
ABAP 选择屏幕下拉框-listbox
主要代码:*------------------------------------------------------------------------------** SELECTION-SCREEN **--------------------------原创 2016-10-11 09:34:23 · 14643 阅读 · 0 评论 -
ABAP 选择屏幕选择条件带出信息
选择屏幕中,选择一个参数,按回车后在旁边文本显示先关信息。主要是先定义一个SELECTION-SCREEN COMMENT,然后 在AT SELECTION-SCREEN OUTPUT里写取要显示的数据逻辑。REPORT ZPROJECT_SELEMP.*&----------------------------------------------------------------原创 2016-01-22 13:26:59 · 4566 阅读 · 0 评论 -
BAPI_PO_CREATE1 净价net_price 无效
今天测试发现用BAPI_PO_CREATE1 创建采购订单,虽然能成功创建采购订单,但是行项目的净价总是和自己导入的数据不对。然后在前台手工创建时,发现会自动带出一个净价,奇怪从哪来。原来是因为我采购信息记录没有维护净价,它就会采用上一个采购订单的净价。 查找相关资料,BAPI_PO_CREATE1 函数中的 EXPORTING中的NO_PRICE_FROM_PO 设为X。原创 2015-12-09 16:43:37 · 6914 阅读 · 0 评论 -
ABAP 类:静态方法与属性
在一个程序中,直接调用静态方法设置一个静态属性后,那么此程序后面如再次调用,那么此静态属性为先前被初始化的值。静态变量的存储方式能保证静态变量一旦申明,它的生存期就能扩展到整个程序运行期间,其生命周期就相当于全局变量 ...原创 2018-09-27 10:44:20 · 4357 阅读 · 0 评论 -
ABAP_DEBUG时通过文件上传数据到内表
有时候我们调试的时候需要给某个内表添加很多行数据,SAP提供上传文件的方式将数据更新到内表。举例如下:要给内表gt_aufnr 调试时上传数据1.2.建一个文本文件,填入数据,列字段顺序需和内表一致3.4.5....原创 2018-06-28 16:57:47 · 1436 阅读 · 0 评论 -
ABAP INSERT ACCEPTING DUPLICATE KEYS
使用ACCEPTING DUPLICATE KEYS时,当插入时发现这条记录已存在时,那么这条记录将不会被insert,后续记录继续执行insert原创 2017-12-28 11:24:33 · 5997 阅读 · 0 评论 -
ABAP HASH TABLE 主键重复时
当定义内表为hashed table, unique key的时候,如果表里已经存在一条记录,你再insert相同主键的记录进去的时候,结果是insert失败,SY-SUBRC = 4. 记录也不会被覆盖/增加,原数据不变.START-OF-SELECTION. DATA:BEGIN OF gs_mard, matnr TYPE matnr,原创 2017-12-11 09:34:17 · 2189 阅读 · 0 评论 -
COGI生成的261凭证不能被取消(自动倒冲)
matdoc(S4)的字段强制修改成vgart = 'WA' tcode2 = 'MIGO_GI'原创 2017-09-28 15:44:06 · 1662 阅读 · 0 评论 -
S4 更新MSEG失败sy-subrc = 4
S4之后MSEG已经废弃,改用MATDOC.虽然SE11还能看到MSEG数据,但实际已是视图NSDM_V_MSEG显示的内容.原创 2017-09-25 17:00:54 · 1950 阅读 · 0 评论 -
S4 1610 smartforms取消使用word编辑器
原创 2017-04-19 16:35:15 · 1319 阅读 · 0 评论 -
年月F4帮助
PARAMETERS: p_yymm TYPE SPMON DEFAULT sy-DATUM+0(6).AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_yymm.CALL FUNCTION 'POPUP_TO_SELECT_MONTH' EXPORTING ACTUAL_MONTH = sy-DATU原创 2016-02-17 16:02:30 · 512 阅读 · 0 评论 -
DYNPRO: FIELD
在示例程序demo_dynpro_field中,屏幕PAI:PROCESS AFTER INPUT. MODULE USER_COMMAND_0100. MODULE MODULE_1. FIELD BOX2. MODULE MODULE_2. FIELD: BOX1, BOX3. MODULE MODULE_3.程序屏幕有4个复选框BOX1,BOX2,原创 2016-12-30 16:51:07 · 1023 阅读 · 0 评论 -
LSMW RMDATIND 税分类 TAXKM导入问题
用lsmw标准程序导入物料业务视图数据的时候,发现如下图的TAXKM在标准程序提供的字段没有。在LMSW里面只有下面的字段。因为税务是个table,所以会有多个行项目,如果只有一个税分类的话,只维护taty1和taxm1应该就行了。如果你想导入2个税分类,依次维护TATY2,TAXM2....就可以了。这里默认国家是CN。暂不清楚用这种方法如何设置国家,原创 2015-12-09 13:31:54 · 1743 阅读 · 0 评论 -
SOAMANAGER 无反应/打不开
输入SOAMANGER左下角提示正在启动..一闪而过,并没有弹出浏览器。因:某些版本不支持Chrome。。。 解决: 提前打开ie,然后输入事务码即可..或者打打补丁原创 2016-10-26 10:55:16 · 11444 阅读 · 2 评论 -
BC404学习笔记-ABAP面向对象编程(三)-CAST 向上、向下转型问题.
1.向上、向下中的上下,可以理解成父类和子类。2.向上转型(up-cast或者narrowing cast)指子类型引用实例化父类型对象,这样父类引用指向子类引用。这样之后父类的引用是访问不了子类的变量和方法的。用narrowing理解好点。 3.向下转型(down-cast或者widening cast) 父类型的引用来实例化子类型对象。这样之后子类型可以访问子类型所有方法原创 2016-04-12 17:07:08 · 4257 阅读 · 1 评论 -
BC404学习笔记-ABAP面向对象编程(二)-继承中的构造函数
关于构造函数注意的是:1. CREATE OBJECT 的时候会自动调用构造函数2.父类自定义了构造函数后,子类必须在其构造函数里面调用父类的构造函数 call METHOD super->constructor,并且是在子类构造函数里的第一条语句。这样做是为了能确保对象正确的被实例化。可以这样理解,子类时继承父类的,所以先得构造出父类,子类才知道继承的是个什么东东。另外一方面,子类可以原创 2016-04-12 14:41:17 · 1626 阅读 · 0 评论 -
BC404学习笔记-ABAP面向对象编程(一)-基础
只摘录注意事项和难以理解的地方。总的来说和JAVA、C++面向对象编程技术差不太多。类、继承、封装之类的概念在abapoo中也都有体现。面向对象的对象简单理解就是现实世界的事物,到编程世界就用类来表现,事物的属性和一些行为就对应类的变量和方法。 静态变量、方法 1.声明的时候用CLASS-DATA、CLASS-METHODS。 引用 使用原创 2016-04-12 10:16:22 · 4007 阅读 · 0 评论 -
When START-OF-SELECTION is Not Required
STATEMENT NOT ACCESSIBLE 语句不能访问 语法错误翻译 2015-10-12 15:44:03 · 949 阅读 · 0 评论 -
ABAP BDC MM02实例
shdb abap bdc录屏实例 以mm02为例原创 2015-10-09 16:55:56 · 6354 阅读 · 0 评论 -
ABAP 根据按钮动态显示/改变屏幕
先说实现效果吧。运行开始时:点击P1后:看代码要注意,p2按钮是对应p_werks的!!!!!!代码:REPORT ZLEARNING3.PARAMETERS: p1 TYPE c RADIOBUTTON GROUP g1 USER-COMMAND uc, p2 TYPE c RADIOBUTTON GROUP g1 DEFAULT 'X'.P原创 2015-09-21 12:08:18 · 6481 阅读 · 1 评论