随笔分类 - abap
SAP ABAP编程
摘要:计算机科学中的大多数问题都可以通过增加一层间接性来解决。 ——David Wheeler 适配器模式(Adapter Design Pattern),是一个广泛应用于真实世界和面向对象编程语言的设计模式。基于面向对象的标准SAP程序中同样很多地使用了适配器模式。 适配器是什么? 适配器把因为不同的“
阅读全文
摘要:面向对象事件在ABAP中十分重要,并且很容易处理。 我们需要handler方法来注册事件: 然后把它设置为事件处理器: ABAP开发者像上面这样使用事件处理器,但是其中的很多人不关心事件的解除注册。为什么我们需要注意事件的解除注册? 下面的简单代码可以解释事件处理的重要性: 结果如下 : 如你所见,
阅读全文
摘要:编程风格是一个经久不衰的话题,大家所公认的事实是:一个良好的编程风格会带来很多的好处。而对于“良好”的标准,则众说纷纭,莫衷一是。编程风格在ABAP程序中当然也有着重要的意义,因为很少看到专门针对ABAP编程风格的讨论,我决定把我知道的事情总结出来,以抛砖引玉。欢迎看到这篇文章的朋友回复讨论。 20
阅读全文
摘要:1,使用 data_source~*指定列 在7.40, SP08中,可以在SELECT语句中使用data_source~*来指定选取不同的数据库表、视图的全部列来作为结果集。它也可以和单独指定的列col_spec结合(通过聚合表达式)。 当在结果集使用了data_source~*的时候,语法检查会
阅读全文
摘要:如果你在网络或者SCN上面搜索CDS,即SAP的Core Data Services,你会很容易地找到类似“Core Data Services(CDS)是一个在SAP HANA中用于定义和消费富语义数据模型的基础设施”这样的句子。在另一方面,在ABAP字典中似乎也有一种叫做ABAP CDS的东西。
阅读全文
摘要:RT,JSON是当今十分流行的一种轻量数据格式,广泛地应用于各种数据交换场景中。本文会介绍一种比较简单的将ABAP中的数据转换为JSON格式的方法。 (如果你是因为引号的问题搜索到了这篇文章,请直接拉到底部“其它部分”) 本文的正文内容中的转换类cl_trex_json_serializer不建议使
阅读全文
摘要:前些日子接到过一个看起来比较普通的需求: 存在一个系统标准函数组FG01,内含函数模块FM00,FM01……等等。在系统程序中,FM00会调用FM01,通过FM01获取获取某些数据。 需求要求,复制一个FM01为ZFM01,修改其中的代码,然后通过Work Organizer配置的方式替换掉标准程序
阅读全文
摘要:原文在此: These Aren’t the Developers You’re Looking for 在吃饼干的过程中偶然看到这篇文章,立刻被UC化的标题吸引到了。 全文读完,感觉作者还是有点刻薄的。比如,里面似乎提到,相比前端技术来说,ABAP的学习曲线过长,人工有点小贵。而现实恐怕恰恰相反。
阅读全文
摘要:SAP中的某些BADI是不允许多用(multiple use)的,即不能同时存在多个活动的增强实施类。如下图中的这种,无论为其创建多少个实施类,都只有活动的那一个会被触发: tips : 业务加载项定义的多重可用性: 业务加载项定义的多重使用意味着可以有多个活动的 业务加载项实施。在进行调用时,将调
阅读全文
摘要:This article intends to introduce my experience about enhancement for canceling an appointment. I try writing in English. Maybe there are many syntax
阅读全文
摘要:第一次使用BAPI,遇到几个问题。现总结如下。 2017.1.11:在文末更新了两条比较关键的注意事项。 调用之后,没能成功创建任何数据(NEW_PATIENT_DATA为空)。该问题有几种可能性: 调用之后,返回的NEW_PATIENT_DATA中数据正常,但是地址数据没有更新(E_ADDRESS
阅读全文
摘要:本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针。我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表。 在我的项目中,只使用传统的ABAP report。所以很不幸我不能使用ABAP单元测试了,是吗?有个好消息:无论你正在使用哪一种ABAP代码对象进行开发,都可
阅读全文
摘要:当用户从视图离开时,视图将失去它的数据。解决这个问题,需要引入自定义控制器(Custom Controller)(译者注:SAP CRM自定义端中,不同地方的Custom Controller会翻译为“自定义控制器”、“自定义控制器”、“海关控制器”三种结果。这当中显然存在问题。下文如提到“自定义控
阅读全文
摘要:多数情况下,在Web UI为一个特定的字段提供搜索帮助需要在事务SE11中创建搜索帮助。 (注:也可以通过在SE24中创建一个类并实现实现IF_BSP_WD_CUSTOM_F4_CALLBACK接口来提供搜索帮助。) 让我们首先在SE11中创建搜索帮助。 前往事务SE11,创建搜索帮助,输入下图中展
阅读全文
摘要:网络上可以找到一些使用BOL查询、维护数据的DEMO,但几乎都是单纯的代码,缺乏说明,难以理解。本文除了代码外,还给出了详细的注释,有助于理解BOL编程中的一些基本概念。 这是一篇翻译的文章,你可能会发现部分内容不是很明确,这时可以直接阅读原文。 原文所在的sapcrmwebui.com是一个不错的
阅读全文
摘要:这个(BOL里面)最重要的类值得一看。 BOL中的每条记录都会在CL_CRM_BOL_ENTIT中表示。至今,我们已经写过一些事件处理器,并且我们已经直接或间接的通过这个类工作。在业务场景中,我们也许会处理合同、订单、线索、确认等等.... 在Web UI层面,所有的这些业务对象信息都可以使用这个类
阅读全文
摘要:原文地址:How To Trigger SAP Server Event With Javascript 本文地址:http://www.cnblogs.com/hhelibeb/p/5977921.html 为了在BSP中使用Javascript触发server event,你需要在.htm文件中
阅读全文
摘要:业务对象层(BOL)和通用交互层(GenIL)属于业务层。 业务对象层: 在CRM WebClient会话运行期间,业务对象层存储业务对象的数据以及它们属性和关系的定义。 通用交互层 通用交互层将BOL和下层的业务逻辑、数据库连接起来。 BOL内使用不同对象类型,主要有三种对象: 根对象 一个上级对
阅读全文
摘要:在一步步实现ABAP后台导入EXCEL到数据库【2】里,我们已经实现计划后台作业将数据导入数据库的功能。但是,这只是针对一个简单的自定义结构的导入程序。在实践应用中,面对不同的表、不同的导入文件,我们将不得不重写程序,以适应它们的结构的不同。其实多数需要上传的EXCEL文件都是行结构的数据,无非字段
阅读全文
摘要:前文:http://www.cnblogs.com/hhelibeb/p/5912330.html 既然后台作业只能在应用服务器运行,那么,我们可以先将要上传的数据保存在应用服务器中,之后再以后台作业的形式导入数据库。这里需要使用的关键字是OPEN DATASET。 1. OPEN DATASET
阅读全文