08 2009 档案
网络分析中数据包结构的定义
摘要:CODE 协议结构定义 --------------------------------------- #pragma pack(1) //进入字节对齐方式 typedef struct FramHeader_t { //Pcap捕获的数据帧头 BYTE DstMAC[6]; //目的MAC地址 BYTE SrcMAC[6]; ...
阅读全文
网络管理之数据包的解释与结构分析(转)
摘要:以下我们讲讲在TCP/IP协议通信中究竟传递了什么。 什么是数据包 “包”(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。有人说,局域网中传输的不是“帧”(Frame)吗?没错,但是TCP/IP协议是工作在OSI模型第三层(网 络层)、第四层(传输层)上的,而帧是工作在第二层(...
阅读全文
SAP BDC 技术的分类(转)
摘要:首先, 解释BDC这三个英文的意思, 普遍都认同是(Batch Data Communication). 然后下面是一些相关的术语解释: Batch Input: 批输入, 用于大批量, 非实时性( 对速度要求比较低) 的数据传输 使用BDC_OPEN_GROUP, BDC_INSERT_GROUP, BDC_CLOSE_GROUP这几个function实现批输入会话的操作. 然后通过批输入会话将...
阅读全文
Delphi中建议使用的语句
摘要:{ No.1 判断逻辑类型 }var B: Boolean;beginB := Boolean(2); //这样只是为了调试//B := True;if B = True then ShowMessage('B = True'); //不建议//不安全///////if B then ShowMessage('B'); //建议//简短end;var B: Boolean;beginif Edit...
阅读全文
posted @ 2009-08-09 21:20
levin
Delphi面向对象编程的20条规则
摘要:前言大多数Delphi程序员都像使用Visual Basic 那样使用他们手头上开发工具,而丝毫没有意识到Delphi的强大功能,更谈不上使用这些功能了。(写到这里,编辑惶恐的举起了手,怎么可能 呢?)Delphi和Visual Basic不同,Delphi完全建立在面向对象结构上,这不仅影响到VCL的结构,而且影响到使用Delphi开发的每一个程序。在本文中,我不想涉及到面向对象编程(OOP)的...
阅读全文
posted @ 2009-08-09 21:15
levin
Delphi取整函数
摘要:floor 和 ceil 是 math unit 里的函数,使用前要先 Uses Mathtrunc 和 round 是 system unit 里的函数,缺省就可以用。floor 直接往小的取,比如 floor(-123.55)=-124,floor(123.55)=123trunc 直接切下整数,比如 trunc(-123.55)=-123, floor(123.55)=123ceil 直接往...
阅读全文
ECC 6.0 New GL Functionality and General FAQ
摘要:ECC 6.0 New GL Functionality 1.Activate the New General Ledger Accounting by a single click on the clock icon 2.You will reach to change view "activation of New GL A/cg" detail screen and tick the ch...
阅读全文
Delphi中的容器类
摘要:从Delphi 5开始VCL中增加了一个新的Contnrs单元,单元中定义了8个新的类,全部都是基于标准的TList 类。 TList 类TList 类实际上就是一个可以存储指针的容器类,提供了一系列的方法和属性来添加,删除,重排,定位,存取和排序容器中的类,它是基于数组的机制来实现的容器,比较类似于C++中的Vector和Java中的ArrayList,TList 经常用来保存一组对象列表,基...
阅读全文
posted @ 2009-08-06 21:19
levin
BDC教程(转)
摘要:以下以MM01为例介绍一下如何编写BDC程序首先运行T-code SHDB录屏是比较简单的,按你需要的步骤做就可以了,最后可以得到一张BDC表如下所示:370)this.width=370">点击后退,再点PROGRAM系统就会自动生成程序了,但是系统生成的程序经常不能满足我们的要求。根据这张表我们就可以写程序了。程序基本上可以分为四个部分:1、 写BDC表由于写表时有许多程序是重复的操作,...
阅读全文
SAP BDC批量导入数据(转)
摘要:Batch Input是一种数据批量输入SAP');" target="_self"SAP系统的辅助程序,SAP系统的资料、格式可以通过Batch Input录入SAP系统Batch Input的机制是模拟事务处理将数据录入R/3系统Batch Input类似SAP的CATT,控制性更好,处理能力更强1、首先我们需要把需要批导入事务的操作步骤记录下来,可以用T-CODE“SHDB...
阅读全文
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...
阅读全文
如何快速从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...
阅读全文
刷新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...
阅读全文
双击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...
阅读全文
如何查找系统屏幕参数
摘要:在ALV调用t-code时,如何知道屏幕参数ID?1.选中参数输入框,按F12.点击<technical information>3.<Field Data>-><Parameter ID>
阅读全文
一些常用的系统变量(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内表(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字符串比较操作中空格的影响
摘要:ABAP对字符串有很多隐形的操作,有时更方便程序员,有时又比较容易使人困惑。 比如在比较字符串的值时,ABAP会自动忽视有效字符后面的空格,而如果在字符前面有空格,则会影响比较的结果。 比如: ‘X’ 和 ‘X__’ 比较的结果是相等;而’X'和’__X’比较的结果则是不相等。 (这里下划线__代表空格) 运行下面...
阅读全文
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 性能优化技巧 — 性能分析的工具
摘要:以下是SAP提供的各种对ABAP对象进行性能分析的工具: 运行实时分析 transaction SE30 这个 transaction 可以给出对一个ABAP程序的所有分析,包括数据库和非数据库处理操作。 SQL 追踪 transaction ST05 追踪列表有很多行不是关于 SELECT 语句的,因为...
阅读全文
posted @ 2009-08-03 19:33
levin
SAP ABAP 性能优化技巧 — 使用 ABAP “Sort” 取代 “Order By”
摘要:order by 命令是在数据库服务器上执行的,而 sort 语句是在应用服务器上执行的。因此,与其在select语句中使用order by命令,不如将数据先读取到内表中然后使用sort命令来将结果排序,因为应用服务器上的执行速度要比数据库服务器快。
阅读全文
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
SAP ABAP 性能优化技巧 — 缓存表
摘要:推荐使用缓存表因为它可以显著提高程序速度。但是使用以下语句的时候缓存表会被跳过: Select distinct Select … for update Order by, group by, having字段 Joins 在 select 命令后面使用 bypass buffer 附加语句可以明确跳过缓存表。
阅读全文
posted @ 2009-08-03 19:29
levin
SAP ABAP 性能优化技巧 — 向内表添加纪录
摘要:与其使用一般的 loop-endloop 方法来实现向内表添加多条记录,不如使用 append 命令的变体将一个内表的所有记录一次性添加入另一个内表。要注意的是两个内表的结构定义必须完全一样。 不推荐使用: Loop at int_fligh1. Append int_fligh1 to int_fligh2. Endloop. 推荐使用: ...
阅读全文
posted @ 2009-08-03 19:28
levin
SAP ABAP 性能优化技巧 — 使用二分查找(Binary Search)选项
摘要:READ命令使用顺序查找数据表,这会降低处理速度。取而代之,使用binary search的附加命令,可以使用二分查找算法,可以帮助加快内表查找速度。 在使用binary search之前必须首先将内表排序,否则有可能找不到记录,因为二分查找反复将查找区间对半划分,如果要查找的值小于查找区间的中间位置的数据项值,则查找区间将缩小到前半个区间,否则查找将局限于后半区间。要了解更多的关于二分查找算法介...
阅读全文
posted @ 2009-08-03 19:28
levin
SAP ABAP 性能优化技巧 – 修改一组纪录
摘要:修改一个内表的多行纪录 使用modify命令的不同形式加快这种操作的处理速度。 不建议使用: Loop at int_fligh. If int_fligh-flag is initial. Int_fligh-flag = ‘X’. Endif. Modify int_fligh. Endloop. ...
阅读全文
posted @ 2009-08-03 19:27
levin
SAP ABAP 性能优化技巧 –- “into table” 语句
摘要:使用select 命令的 into table语句 与其一行一行的读取数据添加入内表,不如一次性取出所有数据行。 不建议使用: Refresh: int_fligh. Select * from zflight into int_fligh. Append int_fligh. Clear int_fligh. Endselect. ...
阅读全文
posted @ 2009-08-03 19:27
levin
SAP ABAP 性能优化技巧 – 视图取代基本表
摘要:使用视图取代基本表 很多时候 ABAP 程序员需要使用基本表和嵌套的选择。其实我们应该查看一下是否有SAP已经提供的这些基本表的某些视图可供使用,以便直接获得想要的数据,而不用特别编写代码来获取。 不建议使用: Select * from zcntry where cntry like ‘IN%’. Select single ...
阅读全文
posted @ 2009-08-03 19:26
levin
SAP ABAP 性能优化技巧 — 集合函数
摘要:可以使用ABAP提供的集合函数取代ABAP代码来获得最大或最小值。 不建议使用: Maxnu = 0. Select * from zflight where airln = ‘LF’ and cntry = ‘IN’. Check zflight-fligh > maxnu. Max...
阅读全文
posted @ 2009-08-03 19:25
levin
简单话内表(internal table)(转)
摘要:内表是一个运行状态下存在的实例,它在程序开始运行时才生成,在程序结束运行时被销毁。 内表包含两个部分,可有可无的标题行(HeaderLine),和必需的表身。进出内表的值都必须通过标题行。 程序例子: * 声明 data: begin of itab occurs 0, x type c, y type i, end of itab. * 初始化标题行 headerline itab-x = ...
阅读全文
posted @ 2009-08-03 19:23
levin
SAP ABAP 性能优化技巧 — 选择条件(转)
摘要:在从数据库中读取数据时最好直接在select语句中加入选择条件,从而直接限制筛选出符合条件的数据,而不建议读出所有的数据然后用ABAP代码来过滤筛选。 例如,不建议使用: Select * from zflight. Check : zflight-airln = ‘LF’ and zflight-fligh = ‘BW222...
阅读全文
posted @ 2009-08-03 19:22
levin
浙公网安备 33010602011771号