abap注意】的更多相关文章

本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report.所以很不幸我不能使用ABAP单元测试了,是吗?有个好消息:无论你正在使用哪一种ABAP代码对象进行开发,都可以通过添加单元测试使得它更加稳定和更易于扩展.对于reports,模块池(module pools)和函数组(function groups),可以通过添加手写本地类的方式添加单元测试.假设一个简单的…
ABAP开发工程中,有时候需要让跳转出的屏幕自动实现跳转和刷新的功能,该功能的实现需要在屏幕PBO 里面调用相应的事件执行. 关键代码为: SET TITLEBAR ' 屏幕自动程序'. IF g_contine_no IS INITIAL. CREATE OBJECT gr_timer. CREATE OBJECT gr_app_timer. SET HANDLER gr_app_timer->handle_get_brgew FOR gr_timer. "0.5S 刷新一次 gr_ti…
在一步步实现ABAP后台导入EXCEL到数据库[2]里,我们已经实现计划后台作业将数据导入数据库的功能.但是,这只是针对一个简单的自定义结构的导入程序.在实践应用中,面对不同的表.不同的导入文件,我们将不得不重写程序,以适应它们的结构的不同.其实多数需要上传的EXCEL文件都是行结构的数据,无非字段不同,为什么不把这个功能做成一个具有通用性的函数,以减少工作量呢? 实际上我已经完成了这个函数的大部分内容. 导入的参数: 异常: 代码就不贴了,其实和之前在[1][2]两篇文中完成的程序是很相似的,…
前文:http://www.cnblogs.com/hhelibeb/p/5912330.html 既然后台作业只能在应用服务器运行,那么,我们可以先将要上传的数据保存在应用服务器中,之后再以后台作业的形式导入数据库.这里需要使用的关键字是OPEN DATASET. 1. OPEN DATASET Syntax OPEN DATASET dset   FOR { INPUT | OUTPUT | APPENDING | UPDATE }   IN { { BINARY MODE }      |…
引言 ABAP是一种和当代编程语言在许多方面有着相当不同的编程语言.ABAP的某些方面可能会让我们奇怪,为什么它会如此复杂?而它的某些方面又是那么杰出,给予了ABAP开发者们比其它任何语言更多的便利. 我发现有两样东西太cool了: 朴实的IDE(ABAP Editor)以及 酷炫的调试 尽管SAP的IDE不支持某些更加有名的IDE(比如Eclipse)的一些特点,我依然发现在ABAP Editor中写代码要比其它IDE舒服太多.原因在于以下的快捷键以及它的可定制性.我会列出一些我常用的功能清单…
在Oracle,SQLServer中游标的使用是经常的,所以在ABAP不懂是不行的......     1.声明游标 OPEN CURSOR [WITH HOLD] <c> FOR SELECT      <result> FROM      <source> [WHERE    <condition>] [GROUP BY <fields>] [HAVING   <cond>] [ORDER BY <fields>].…
在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台作业,既可以节约用户的时间,也可以有效利用闲时的服务器资源,最重要的是可以避开程序超时.下面来介绍一下相关的知识和具体实践办法. 本文链接:http://www.cnblogs.com/hhelibeb/p/5912330.html 原创内容,转载请注明 1,定义结构 首先,新建程序ztest_up…
网上有关SUBMIT实现程序调用的例子稍显复杂,而相关的参考和解释则不是很完善.本文给出一个SUBMIT的小示例程序(代码见文末),实现了最简单的程序间调用及返回值,以及SAP官方文档中相关内容的翻译.解释. 本文链接:http://www.cnblogs.com/hhelibeb/p/5802398.html 转载请注明 SUBMIT - 参考 语法 SUBMIT {rep|(name)} [USING SELECTION-SCREEN dynnr] [VIA SELECTION-SCREEN…
在ABAP 编程的时候会遇到查询单条语句的时候数能取对  但是条目数多了的话 会出现数不准确的问题   原因可能出现在查询使用了二分法查询方式  二分法查询下必须按排序的字段排序  还得按照排序的字段进行二分法查询…
SAP ABAP学习路线图--标准教程 摘自:http://www.cnblogs.com/clsoho/archive/2010/07/05/1771400.html…
引言 ABAP是一种和当代编程语言在许多方面有着相当不同的编程语言.ABAP的某些方面可能会让我们奇怪,为什么它会如此复杂?而它的某些方面又是那么杰出,给予了ABAP开发者们比其它任何语言更多的便利. 我发现有两样东西太cool了: 朴实的IDE(ABAP Editor)以及 酷炫的调试器 尽管SAP的IDE不支持某些更加有名的IDE(比如Eclipse)的一些特点,我依然发现在ABAP Editor中写代码要比其它IDE舒服太多.原因在于以下的快捷键以及它的可定制性.我会列出一些我常用的功能清…
在很多ABAP开发中,我们使用CSV文件,有时候,关于CSV文件本身的一些问题使人迷惑.它仅仅是一种被逗号分割的文本文档吗? 让我们先来看看接下来可能要处理的几个相关组件的词汇的语义. Separator:两个字段之间的界线,在CSV文件中即是“,”. Delimiter:这种符号的开端和结束,代表了某种东西的界限.举个例子“测试字符串”有两个delimiters,即两个双引号.在文本中包含很多逗号的情形下,CSV文件会使用双引号作为Delimiter. Terminator : 代表片段的结束…
厌倦了总是下载一模一样的EXCEL文档?没有颜色,边框,有效性验证.... 让我们看看怎样用OLE2对象来创造可爱的EXCEL工作表吧!(效果如下) 首先你需要知道微软EXCEL中的不同部分的名称,每个部分在我们的程序中都代表一个OLE2对象 本文地址:http://www.cnblogs.com/hhelibeb/p/5787396.html 原文地址:Using ole2 objects for create an excel file 转载请注明 开始 所有例子都使用了下面这个模板报表.你…
ABAP Development Tools for Eclipse(简称ADT)是一个基于Eclipse的全新ABAP IDE,这篇文档试图回答有关ADT的最重要的常见问题.这只是一个开始,如果你对更多问题感兴趣,请看这个论坛,或者直接在本文下面回复.有关ABAP development tools的更多信息请看它的文档Getting Started Guide以及Quick Launch Sheet. 一般问题 为什么SAP选择了Eclipse平台建立一个新的ABAP IDE? 开源的Ecl…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4292545.html Passing Data Between Programs Calling Programs 下面ABAP语句允许你调用一个可执行程序或者事务码,调用后你可以直接退出主调程…
定义语法 DEFINE macro. ... &1 ... &9 ... END-OF-DEFINITION. 调用语法: macro [p1 p2 ... ]. 最多时能有9参数 例子: DATA: result TYPE i, n1 TYPE i VALUE 5, n2 TYPE i VALUE 6. DEFINE operation. result = &1 &2 &3.  *&1 &2 &3是参数 output &1 &…
ABAP编辑器每行允许的最大字符数: Utilities->Settings打开选项卡: 勾选:Downward-Compat.line Length(72) 设置后看到的效果: 设置步骤:…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html   该文档是根据我过去多年学习与工作经验总结而成,项目开发过程中我都会参考此文档,主要ABAP很多细节上的东西还是还多,不可能你记得很牢固,或者你记得一时,但过不了几天就会…
废话不多说,直接上. 鉴于abap调研的dll文件需要在wins注册,自己尝试过delphi和C#感觉不是很好,最后毅然选择了VB来写 因为需要用到MScomm控件,所以对于将要写的dll需要带form的,貌似这样才能将控件加到dll中来. 步骤: 1,新建dll程序,添加一个窗体 2,在from_load中初始化com口参数 1 2 3 4 5 6 7 8 With MSComm1         .CommPort = 1  '设置Com1为通信端口         .Settings =…
ABAP面试 1.简单的Report包括哪些东西 2.Dialog 逻辑流以及相应的处理内容 3.用过的几种增强方式:怎么找增强 4.接口和函数的使用,一般遇到自己不会的函数怎么处理 5.关联查询:INNER JOIN 与 LEFT JOIN 与 FOR ALL ENTRIES IN各用在什么情况 ABAP基础:报表,功能,增强,接口,数据处理及性能优化(不管内部还是外部,均需了解) REPORT:1)数据定义:定义内表,结构,选择屏幕 2)数据处理:包括屏幕数据检查,数据查询,内表数据处理等…
     工作区域跟变量一样,是用来保存数据的.区别是变量只能从中保存一个数据.而工作区域可以存放多个.把多个数据合在一起就成工作区域了.下面我们来看看工作区域是如何定义的吧.定义有四种方法,如下:1,直接定义DATA: BEGIN OF WA_EKBE,MATNR TYPE MARA-MATNR,MAKTX TYPE MAKT-MAKTX,END OF WA_EKBE.上面是以BEGIN和END关键字开始,在其中的就是其工作区域的内容.它存放的内容也就是这两个. 2,参照表或结构DATA: W…
转自http://www.cnblogs.com/aBaoRong/archive/2012/06/15/2550458.html ABAP 程序运行锁 1. create a Table ZRUNNING_LOCK (tcode:se11) fields: MANDT , PROGNAME 2. create Lock object        EZRUNLOCK (tcode:se11) 短文本             程序运行锁 3. 如果需对程序加锁,则在程序中执行   perform…
转自 http://www.cnblogs.com/aBaoRong/archive/2012/06/05/2536591.html abap 屏幕控制 ******************** 屏幕變動 ***************************************************************AT SELECTION-SCREEN OUTPUT.  IF R1 = 'X'.    CLEAR: P_KDAUF[],           P_KDPOS[], …
ABAP 生产订单的创建与修改函数转自http://www.cnblogs.com/aBaoRong/archive/2012/04/11/2441946.html   如果生产订单过多,可以批量创建生产订单,例如通过上传excel文件来批量创建,系统也有相应BAPI,否则BDC又很慢. 创建生产订单: 'BAPI_PRODORD_CREATE' CALL FUNCTION 'BAPI_PRODORD_CREATE'        EXPORTING          ORDERDATA    …
1).SHIFT:截断字符串 SHIFT {c} [BY {n} PLACES] [{mode}].: 作用:去掉字符串的前n个位置的字符,如果n未指定,默认为1,如果指定的n小于等于0,则字符串不变.如果n超出字符串的长度,则字符串变空,所以在做 此操作的时候要注意n的指定.可以首先获得该字符串的长度,方法:len=STRLEN(C). Mode:指定字符串截断的方向. LEFT:从左边截断 RIGHT:从右边截断 CIRCULAR:把左边的字符放到右边. SHIFT {c} UP TO {s…
     ABAP数据字典中的参考表和参考字段的作用 大家最初在SE11中创建表和结构的时候都会遇到一个问题,如果设定了某个字段为QUAN或者CURR类型,也就是数量或金额的时候,总会要求输入一个参考表... 大家最初在 SE11 中创建表和结构的时候都会遇到一个问题,如果设定了某个字段为 QUAN 或者 CURR 类型,也就是数量或金额的时候,总会要求输入一个参考表和参考字段,它是做什么用的呢? 这要从数字的本质说起,大家都知道一句话“数字会说话”,但是,商业数字不是代数,一个没有没有单位的商…
这段代码的功能是在SAP里面实现声音的播放,可以用作程序提醒功能,和SAP里面’噹噹噹’那个声音的意思差不多.将来在项目中遇到客户想要SAP ABAP发出一点声音的时候就可以参考一下这个程序. REPORT zplay.DATA: command TYPE string. *本地命令语句CONCATENATE ‘vbscript:execute(”document.write ””<bgsound src=’”‘file:///”+Replace(”C:\lg\Bad Romance.mp3“,…
最近要写个程序,既有更新的,也有删除的,需要涉及到很多系统表,如果一个表一个表进行更新或者删除太慢了,于是就想通过创建动态内表来实现这些功能,在网上找了一些资料,经过多次尝试,终于测试成功了.网上讲述的创建动态内表的方法大致有两种.我做了一下测试,源代码附后.在这里提醒大家一点,在做动态更新程序的时候,要注意两点:      1.使用modify (p_tabname) from <dyn_wa>. 的时候,一定要确定要更新的字段是不是系统表的关键字段,如果是关键字段的话,需要先删除这条记录,…
1 .定义指針 :指針的定義主 要有以下語句 定義任意類型的指針,但是不具備欄位結構(僅僅是一個地址) FIELD-SYMBOLS <carrid> TYPE ANY. 參考數據庫表定義(這種指針是含有欄位結構的,參考內表同理) FIELD-SYMBOLS <sflight> TYPE sflight. FIELD-SYMBOLS <sflight> LIKE sflight. FIELD-SYMBOLS <sflight> LIKE LINE OF sfl…
ABAP Graphics FM OverviewABAP绘图功能模块概观 此处仅将功能模块及范例程序列出(若要列出详细参数篇幅过大) 2 Main Graphics Demo Program: GRDEMO_D: Main menu link to program BCGRDEMO: Through PushButton link to different graphics [1]---------------------------------------------------------…