随笔分类 -  SAP

内表行数统计方法
摘要:以下是统计内表行数常用的三种方法,如下:1 . LOOP AT it_itab . g_lines2 = g_lines2 + 1. ENDLOOP. 该方法是通过循环内部表自己累加行数。 2 . DESCRIBE TABLE it_itab  LINES g_lines1 . 该语句通过获得内部表的属性,将内部表行数赋值给 g_lines1 , g_lines1 为 I 型变量。 3 . g_l... 阅读全文
posted @ 2010-09-16 10:01 vibratea 阅读(306) 评论(0) 推荐(0)
在sap系统设置纸张打印格式
摘要:在sap做一个打印报表,要先设置一个纸张打印格式,下面以工厂中常用来打印的针孔纸为例,在sap设置该纸张的打印格式,以用于报表: 1、运行事务代码SPAD;选择工具栏上的【完全管理】按钮-->选择【设备类型】页面(在该页面上有四个按钮:【设备类型】、【打印控制】、【格式类型】、【页格式】); 2、选择【页格式】进入页格式列表界面,选择工具栏上的【修改】图标,工具栏左边会出现【新建】图标(注:... 阅读全文
posted @ 2010-09-16 10:01 vibratea 阅读(423) 评论(0) 推荐(0)
ABAP中的F4帮助怎么用?
摘要:ABAP中的F4帮助怎么用? 当我们在sap的界面上,焦点放到一个字段上的时候,按F4,会出现选择或者搜索的界面,这就是abap中的f4帮助。 有多种实现f4帮助的方法,现在就把我指导的一点点说出来: 1 , 固定值。 我们在Domain 中可以定义 value range ,在 value range 中定义的值,就可以出现在f4帮助中。这是最简单的实现f4帮助的方法。 2 ,数据类型关联。 加... 阅读全文
posted @ 2010-09-16 10:00 vibratea 阅读(519) 评论(0) 推荐(1)
得到内表不重复记录
摘要:Delete adjacent duplicates from itab. 阅读全文
posted @ 2010-09-16 10:00 vibratea 阅读(189) 评论(0) 推荐(0)
ABAP 数字处理相关内容备注
摘要:ABAP 数学函数ABS -Absolute value of the argument arg SIGN - +/- sign of the argument arg: -1, if the value of arg is negative; 0, if the value of arg is 0; 1, if the value of arg is positive. CEIL - Sma... 阅读全文
posted @ 2010-09-16 09:59 vibratea 阅读(513) 评论(0) 推荐(0)
SAP ABAP程序优化方法
摘要:关于SQL语句的性能作者:神话 日期:2005-11-22字体大小: 小 中 大DATA: BEGIN OF it_mara OCCURS 0,matnr LIKE mara-matnr,maktx LIKE makt-maktx,END OF it_mara.第一种写法:Select matnrINTO it_maraFROM mara.APPEND it_mara.ENDSelect. 第二种... 阅读全文
posted @ 2010-09-16 09:59 vibratea 阅读(588) 评论(0) 推荐(0)
For all entries使用中注意的问题
摘要:对于不能join的表,使用for all entries in语句将该表与内表串联。SELECT bseg~kunnr bseg~lifnr bseg~belnr INTO TABLE itab_bseg FROM bseg FOR ALL ENTRIES IN itab_main WHERE bukrs in _bukrs and ( belnr = itab_main-belnr AN... 阅读全文
posted @ 2010-09-16 09:58 vibratea 阅读(464) 评论(0) 推荐(0)
SAP程序性能优化
摘要:For all entriesThe for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of entries in the driver table is larger than rsdb/max_blocking... 阅读全文
posted @ 2010-09-16 09:57 vibratea 阅读(443) 评论(0) 推荐(0)
ABAP 性能优化
摘要:近来做的程序数据都有几十万,上百万条记录。性能问题是一个难题,如何优化? 前一段时间ACCENTURE 的老师讲了一天关于优化的问题受益不小。 从近来开发的程序来看优化主要有以下几个方面。1.数据库查询 2.数据处理。1.数据库查询: 当查询的最终数据比较少,而表内的数据比较多的时候,应该想办法把最能缩小范围的条件放在前面查询。这样在后面的查询记录会少很多 对尽更能用关键字查询,有时可能用一个关键... 阅读全文
posted @ 2010-09-16 09:57 vibratea 阅读(448) 评论(0) 推荐(0)
存储税码和税率的表
摘要:税码和税率存储在表 T007V 中,是跟请求号挂钩的,没有找到 SAP 更多的解释,只管用就是了。在系统安装的时候,这个表里就会有一些标准数据,TRKORR 字段的值为 PL0K008530,如果在配置中修改过,则该字段会变成实际的定制传输请求号。价格字段 KBETR 的值是乘以了 1000,比如税率是 17%,则在数据库里这个字段的值就是 170,在计算时应该除以 1000。MANDTMANDT... 阅读全文
posted @ 2010-09-16 09:56 vibratea 阅读(311) 评论(0) 推荐(0)
打印输出到spool
摘要:REPORT zhou.DATA str(10) TYPE c VALUE 'print list'.DATA: g_valid, g_pripar LIKE pri_params, g_arcpar LIKE arc_params.CALL FUNCTION 'GET_PRINT_PARAMETERS' EXPORTING layout = 'X_65_132' line_count = 65 ... 阅读全文
posted @ 2010-09-16 09:56 vibratea 阅读(456) 评论(0) 推荐(0)
物料管理相关表(MM)
摘要:物料管理(MM) 一般设置 检查单位 CUNI 维护日历 SCAL 企业结构 定义工厂 创建采购组织 SM30 定义库存地点 OX09 给公司代码分配工厂 OX18 给公司代码分配采购组织 OX01 分配工厂给采购组织 OX17 ... 阅读全文
posted @ 2009-07-27 14:25 vibratea 阅读(373) 评论(0) 推荐(0)
内表行数统计的三种方法
摘要:1.LOOP AT itab. n = n + 1. ENDLOOP. 该方法是通过循环内部表自己累加行数。 2.DESCRIBE TABLE itab LINES n. 该语句通过获得内部表的属性,将内部表行数赋值给n,n为I型变量。 3.n = lines( itab ). 使用函数来计算内部表行数。此函数由三部分构成。 1)函数名和左括号(其间没有空格); 2)处理对象内部表(与左右括号之间... 阅读全文
posted @ 2009-07-27 14:23 vibratea 阅读(376) 评论(0) 推荐(0)
三个月精通ABAP(8)(完)
摘要:上面的方法不妥的是如修改了SAP*密码,basis很快就会知道,为什么不尝试建立一个临时用户呢?下面介绍一个如何通过程序随意建立用户并赋予所有权限的例子,此例的特点在于直接在用户授权对象表USRBF2中加入授权对象,使用SU01看不到任何迹象,隐蔽性较强. 下面是建立用户ZSTHACKER(初始密码123qaz)并赋予SAP*用户的所有权限. Program ZCRTUSER. ... 阅读全文
posted @ 2009-07-27 09:48 vibratea 阅读(762) 评论(0) 推荐(0)
三个月精通ABAP(7)
摘要:5. 预制凭证可使用退代吗 ? 这个问题就好比去问一个人是否有双眉毛一样?答案是一般天生是没有,如去整容院整就能有. SAP标准程序是不允许预制凭证有退代的,其实也没必要,因为预制凭证本来就不是正式凭证,比如posting date就算现在根据某种规则退代了,等真正posting时还不是要根据正常凭证的规则去post ,这不多此一举. 如果真需为预制设置退代,也很容易.请看下面分解. (1... 阅读全文
posted @ 2009-07-27 09:44 vibratea 阅读(635) 评论(0) 推荐(0)
三个月精通ABAP(6)
摘要:3. 再谈建立Validation操作.(图7-9) [1]删除Prerequisite和Check代码. [2]合并字符字段 [3]比如对line Validation,BKFF,BSEG,SYST(如想By Tcode选SYST-TCODE做条件)三对象可使用. [4]选择rule做Prerequisite和Check(参考图7-5). [5]可使用User Exit做Prerequis... 阅读全文
posted @ 2009-07-27 09:42 vibratea 阅读(688) 评论(0) 推荐(0)
三个月精通ABAP(5)
摘要:下面是使用VB Call BAPI_CREATE_PO建立PO的例子的部分,首先使用SE37 测试,基本上建立PO最简单只需要以下参数. 注意vendor必须是10位数,如果长度不足,请加0 tvendor = Mid("0000000000", 1, 10 - Len(Trim(VENDOR.Text))) + Trim(VENDOR.Text) '保证如果vendor length<10... 阅读全文
posted @ 2009-07-27 09:36 vibratea 阅读(452) 评论(0) 推荐(0)
三个月精通ABAP(4)
摘要:用户增强: 所有的Enhancement在表MODSAP,用户增强大概有三类 MODSAP是Enhancement表, 而TFDIR是看是否此enhancement被激活,就看字段MAND是否是"C"而已 1. E Enhancement exits :就是常说的写User_exit 2. C GUI codes 没用过 3. 3. S Subscreens 屏幕增强 OK,其实上面不用codin... 阅读全文
posted @ 2009-07-27 09:34 vibratea 阅读(837) 评论(0) 推荐(0)
三个月精通ABAP(3)
摘要:14.使用用户授权 15.调用外部程序和程序动态生产 16.选择屏幕 17.使用程序运行变式 18.制作Tcode 二.加强篇. 1.CATT 2.BDC 3.制作程序的background job 4.SapScript 5.Smartform 6.SAP Query 7.ALV编程 8.ALE/iDoc ... 阅读全文
posted @ 2009-07-27 09:31 vibratea 阅读(829) 评论(0) 推荐(0)
三个月精通ABAP(2)
摘要:5.第一个程序-Hello World. 如何进行ABAP开发呢?本节使用老套的做法,介绍如何建立一个"Hello World"的ABAP程序, 为了让读者尽快掌握ABAP开发熟悉ABAP开发环境是必须的,请看图 1.5-1. 程序的原代码如下: Report ZHELLO. Write 'Hello World!'. 按F8运行,运行成功在屏幕上显示... 阅读全文
posted @ 2009-07-27 09:29 vibratea 阅读(816) 评论(0) 推荐(0)