随笔分类 -  ABAP

SAP BDC 技术的分类(转)
摘要:首先, 解释BDC这三个英文的意思, 普遍都认同是(Batch Data Communication). 然后下面是一些相关的术语解释: Batch Input: 批输入, 用于大批量, 非实时性( 对速度要求比较低) 的数据传输 使用BDC_OPEN_GROUP, BDC_INSERT_GROUP, BDC_CLOSE_GROUP这几个function实现批输入会话的操作. 然后通过批输入会话将... 阅读全文
posted @ 2009-08-10 21:27 levin 阅读(2445) 评论(0) 推荐(1)
BDC教程(转)
摘要:以下以MM01为例介绍一下如何编写BDC程序首先运行T-code SHDB录屏是比较简单的,按你需要的步骤做就可以了,最后可以得到一张BDC表如下所示:370)this.width=370">点击后退,再点PROGRAM系统就会自动生成程序了,但是系统生成的程序经常不能满足我们的要求。根据这张表我们就可以写程序了。程序基本上可以分为四个部分:1、 写BDC表由于写表时有许多程序是重复的操作,... 阅读全文
posted @ 2009-08-06 18:22 levin 阅读(611) 评论(0) 推荐(0)
SAP BDC批量导入数据(转)
摘要:Batch Input是一种数据批量输入SAP');" target="_self"SAP系统的辅助程序,SAP系统的资料、格式可以通过Batch Input录入SAP系统Batch Input的机制是模拟事务处理将数据录入R/3系统Batch Input类似SAP的CATT,控制性更好,处理能力更强1、首先我们需要把需要批导入事务的操作步骤记录下来,可以用T-CODE“SHDB&#... 阅读全文
posted @ 2009-08-06 18:00 levin 阅读(1042) 评论(0) 推荐(0)
Master data-Customer
摘要:KNA1 - Customer master KNB1 - Customer / company KNVV - Customer sales data KNBK - Bank details KNVH - Customer hierarchy KNVP - Customer partners KNVS- Shipment data for customer KNVK - Contac... 阅读全文
posted @ 2009-08-05 22:48 levin 阅读(1929) 评论(0) 推荐(0)
如何快速从BSEG读取数据(转)
摘要:由于bseg表很大,而且表的索引字段是: BUKRS - Company Code BELNR - Accounting Document Number GJAHR - Fiscal Year BUZEI - Line Item Number 访问此表最佳的是包含所有的索引字段,但在实际应用是很少能达到的。但要有好的性能根据经验必须要有公司和凭证号作为查询条件。为了达到这一点,我可以根据条件不... 阅读全文
posted @ 2009-08-05 17:40 levin
Rules for Better SQL Programming
摘要:Always try to keep the hit list small by using the where clause were ever required or by describing the full search condition in the where clause.Select Query #1 Wrong SELECT * FROM sflight INTO xfli... 阅读全文
posted @ 2009-08-04 20:42 levin 阅读(241) 评论(0) 推荐(0)
刷新ALV定位到当前记录行
摘要:如果使用"REFRESH_TABLE_DISPLAY"刷新ALV后,记录会跳到第一行,以下代码可以使记录仍然定位在当前行 DATA ls_stable TYPE lvc_s_stbl. ls_stable-row = 'X'. ls_stable-col = 'X'. CALL METHOD gr_alvgrid->refresh_table_display EXPORTING is_sta... 阅读全文
posted @ 2009-08-04 20:26 levin 阅读(853) 评论(0) 推荐(0)
双击ALV调用事务代码并传入参数
摘要:CALLFUNCTION'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM=g_repid i_callback_user_command='USER_CALLBACK' I_STRUCTURE_NAME='T_OUTPUT' I_GRID_TITLE='DocumentList' is_layout=gs_layout is_variant... 阅读全文
posted @ 2009-08-03 21:58 levin 阅读(349) 评论(0) 推荐(0)
如何查找系统屏幕参数
摘要:在ALV调用t-code时,如何知道屏幕参数ID?1.选中参数输入框,按F12.点击<technical information>3.<Field Data>-><Parameter ID> 阅读全文
posted @ 2009-08-03 21:52 levin 阅读(509) 评论(0) 推荐(0)
一些常用的系统变量(SYST)
摘要:SY-SUBRC 执行状态 SY-DATUM 服务器日期 SY-UZEIT 服务器时间 SY-INDEX 循环的次数(DO While)SY-TABIX 当前处理的内表的IndexSY-LINSZ 当前报表宽度 SY-UNAME 用户名 SY-TCODE 当前的事务代码 SY-LANGU 当前登录语言SY-BATCH 后台的程序运行SY-DYNNR 当前屏幕的编号SY-LINCT 当前报表长度 S... 阅读全文
posted @ 2009-08-03 21:04 levin
ABAP字符串比较操作中空格的影响
摘要:ABAP对字符串有很多隐形的操作,有时更方便程序员,有时又比较容易使人困惑。 比如在比较字符串的值时,ABAP会自动忽视有效字符后面的空格,而如果在字符前面有空格,则会影响比较的结果。 比如: ‘X’ 和 ‘X__’ 比较的结果是相等;而’X'和’__X’比较的结果则是不相等。 (这里下划线__代表空格) 运行下面... 阅读全文
posted @ 2009-08-03 19:47 levin
ABAP内表(internal table)有关的系统变量
摘要:SY-TABIX – 内表当前行的索引号。SY-TABIX 的值可以被以下命令修改,但是只适用于索引表(index table)。对于哈希表(Hashed table),这个系统变量的值为空或0。 APPEND 将 SY-TABIX 的值置为表最后一行的索引号,也就是说它将等于内表的行数。COLLECT 将 SY-TABIX 的值置为现有或刚刚插入的行的索引号。如果内表为哈希(hash... 阅读全文
posted @ 2009-08-03 19:47 levin
ABAP中如何检查字母数字类型(alpha numeric)的变量
摘要:Business requirment经常要求某个ID的值只能包含26个字母和10个数字字符,这就要求ABAP程序能够检查相应变量内容,辨别特殊字符。sap-img上的一个例子提供了这样的功能: REPORT ZCHECK_ALPHA_NUMERIC. * Declare the variable * For Length data: serial_length type i. * For Al... 阅读全文
posted @ 2009-08-03 19:45 levin
SAP ABAP 性能优化技巧
摘要:SAP ABAP 性能优化技巧 — 选择条件简单话内表(internal table)SAP ABAP 性能优化技巧 — 集合函数SAP ABAP 性能优化技巧 – 视图取代基本表SAP ABAP 性能优化技巧 – 修改一组纪录SAP ABAP 性能优化技巧 — 向内表添加纪录SAP ABAP 性能优化技巧 — 使用二分查找(... 阅读全文
posted @ 2009-08-03 19:35 levin
SAP ABAP 性能优化技巧 — 使用 ABAP “Sort” 取代 “Order By”
摘要:order by 命令是在数据库服务器上执行的,而 sort 语句是在应用服务器上执行的。因此,与其在select语句中使用order by命令,不如将数据先读取到内表中然后使用sort命令来将结果排序,因为应用服务器上的执行速度要比数据库服务器快。 阅读全文
posted @ 2009-08-03 19:33 levin
SAP ABAP 性能优化技巧 — 性能分析的工具
摘要:以下是SAP提供的各种对ABAP对象进行性能分析的工具: 运行实时分析 transaction SE30 这个 transaction 可以给出对一个ABAP程序的所有分析,包括数据库和非数据库处理操作。 SQL 追踪 transaction ST05 追踪列表有很多行不是关于 SELECT 语句的,因为... 阅读全文
posted @ 2009-08-03 19:33 levin
SAP ABAP 性能优化技巧 — 正确使用”inner join”
摘要:当多个 SAP 表在逻辑上关联的时候,总是建议使用右关联 inner join 来从中读取数据。这会降低网络的负载。 以两个表为例:zairln 和 zflight。表 zairln 有字段 airln 存储了航空公司的代码,和字段 lnnam 存储了航空公司的名称。表 zflight 有航空公司代码字段 airln, 以及其他字段存储了航空公司运行的航班的详细信息。 ... 阅读全文
posted @ 2009-08-03 19:32 levin
SAP ABAP 性能优化技巧 — 正确使用”move” 语句
摘要:建议使用move语句取代 move-corresponding 语句, 因为move-corresponding的执行速度很慢。应该尽量一次性搬移内表的整条记录,而不是一个字段一个字段的取值。move-corresponding会需要这个字段的比较域名,因此速度会很慢。 阅读全文
posted @ 2009-08-03 19:32 levin
SAP ABAP 性能优化技巧 — “where” 语句的正确结构
摘要:当一个基本表有多个索引的时候, where 语句中的字段顺序应该与索引的顺序一致,无论第一索引还是第二索引。 在选择一个索引的时候,优化机会检查where语句中字段名,然后选择一个与这些字段名排列顺序一致的索引。 另外一个提示就是如果一个表是以 客户端编号MANDT 开始的,而索引不是的话,则优化机很有可能不会使用那个索引。 在某些情况下,建议查看是否有新的索引可以加速程序的运行。这在访问财务表的... 阅读全文
posted @ 2009-08-03 19:31 levin
SAP ABAP 性能优化技巧 — 使用 “for all entries”
摘要:在select语句后面的where附加项中可以使用左关联,这会极大的提高程序速度,但同时也有一些局限,如下: 重复项会被从结果数据集中自动删除,因此要注意在select语句中需要给出详细的唯一关键字组合。 如果 For All Entries IN 字段修饰的内表是空表的话,源表的所有行都会被选入目标表中。因此在使用前一定要首先检查第一个表是否为空,这一点很重要... 阅读全文
posted @ 2009-08-03 19:30 levin