
21 ABAP深入探索
liangziyisheng
LINUX系统管理
ABAP编程
HANA编程
NW BASIS
PYTHON
系统架构
UML
展开
-
关于search help exit
本文转自:http://blog.youkuaiyun.com/chuckth/article/details/5736802 1. 机能作用 Search Help Exit是用于对标准帮助进行扩充,以便与更加灵活的使用.2. 使用场合标准的Search Help其本身就可以进行一些简单的动态表示设定,比如:对选择条件的初期值进行设定(固定值,SAP转载 2011-11-14 10:46:51 · 1516 阅读 · 0 评论 -
SAP 锁机制
本文转自:http://wfly2004.blog.163.com/blog/static/117642720113883229219/SAP锁机制一、SAP为什么要设置锁: 1,保持数据的一致性 如果几个用户要访问同样的资源,需要找到一种同步访问的方法去保持数据的一致性。比如说,在航班预订系统中,需要检查还有没有空座位,当检查的时候,你不想别人转载 2013-08-04 16:51:40 · 1024 阅读 · 0 评论 -
ABAP 三种操作数据库的方法 OPEN SQL, EXEC SQL, ADBC
OPEN SQL这里就不多说了,可以执行大部分DML语句,但是却不支持DDL,DCL,UNIT,也没办法执行数据内嵌的函数。EXEC SQL 和 ADBC 是所谓的Native SQL,这种方式直接进入指定数据库,不涉及到DBI,这样就没有table buffer。相对EXEC SQL来说,更推荐ADBC的方式执行native sql,这种方式的好处是更加容易追踪错误。以下是实例,原创 2013-05-21 14:19:26 · 11220 阅读 · 2 评论 -
SAP权限对象的创建与使用
在SAP的权限管理范畴,authority object是一个极其重要的东西,要明白SAP如何实现权限控制的,必须理解authority object简单来说,对于SAP的标准程序(一般都是由tcode控制),当用户运行该标准程序,程序首先会验证当前用户是否有运行当前tcode的权限,也就是用SU01察看当前用户是否有那么一个角色包含了s_tcode权限对象(当然该对象中tcode field原创 2012-04-07 14:33:40 · 17694 阅读 · 0 评论 -
BADI中的消息处理
今天一个同事遇到一个问题,发现在badi中按照正常的message xxx的方式无法把message抛出来,google半天也没什么好的解决方案,后来决定CALLPOPUP_TO_CONFIRM去解决这个问题,完了测试一看,像那么回事。且看代码:METHOD if_ex_invoice_update~change_at_save. DATA: lv_answer TYPE c原创 2012-04-03 14:30:02 · 2139 阅读 · 0 评论 -
sort 在field group中的使用
以前看到标准的ABAP程序中有些地方用到sort,后面也没跟internal table也没by,很困惑。今天特地研究一下他的用法。sort在field group中,其实是根据header的字段将后面的dataset进行排序。废话少说看实例: FIELD-GROUPS : header , person_sax, person_info.DATA: name TYPE c LEN原创 2012-03-30 11:59:06 · 1087 阅读 · 0 评论 -
dynamic alv
*This program I created to show how to do with dynamic ALV TYPE-POOLS: abap, slis.SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.PARAMETERS p_tab TYPE c LENGTH 30 DEFAULT 'T001'.SELECTION-SCR原创 2011-11-08 20:09:22 · 960 阅读 · 0 评论 -
为transaction创建variants
对于report程序,直接在se38可以为其创建variant,但是对于dialog程序如何创建variant呢?SAP提供了一个tcode去做这件事情:t-code: SHD0指定该dialog程序tcode为其创建transaction variant如何使用创建好的transaction variant?se93为dialog transaction再创建一个transact原创 2011-12-01 09:17:26 · 1779 阅读 · 0 评论 -
根据内表数据做图表
制作图表有两种方法:1)调用 GRAPH_MATRIX_2D,根据内表数据做2维图,内表的第一个字段是keyDATA: BEGIN OF gt_itab OCCURS 0, stu_name TYPE c LENGTH 20, data1 TYPE f, data2 TYPE f, data3 TYPE f,原创 2011-11-09 19:15:04 · 896 阅读 · 0 评论 -
ABAP中的随机数
ABAP有一些函数用来产生随机数:1) 0-1的随机数 data n type F.DO 10 TIMES.CALL FUNCTION 'QF05_RANDOM' IMPORTING RAN_NUMBER = n.WRITE:/ n.ENDDO. 2)限定范围的随机自然数data n type int4.DO 10 TIMES.原创 2011-11-09 13:52:34 · 2939 阅读 · 0 评论 -
获得内表结构信息
我写了一段代码:TYPE-POOLS: abap.TABLES: sflight.TYPES: BEGIN OF ty_sflight, carrid TYPE s_carrid, connid TYPE s_conn_id, fldate TYPE sy-datum, price TYPE s_price, END原创 2011-11-09 10:23:53 · 1284 阅读 · 0 评论 -
how to find background job and stop them
Two ways: If you know Job name, goto SM37 directly-->enter username and job name-->tick all status which showed as check box -->execute--->select items---> menue "job"--->cancel or de原创 2011-11-08 15:49:04 · 744 阅读 · 0 评论 -
联动search help技术
这两天研究了一下联动search help技术,这里说“联动”是我自定义的一种称谓,它是这样一种效果:当屏幕上的某个字段填充的时候,能把相关的数据带到屏幕的其他field里面去。 实现这个有两种方式(当然还有其他方式,我这里指出以下两种相对简单的方式,如果有更多更好的方法,请读者不吝赐教!!!)1.通过field search help,我们都知道只要我们在屏幕上定义数据的时候,只要屏原创 2011-11-28 11:40:19 · 1509 阅读 · 0 评论 -
ABAP program的类型及其创建
我们在se38会看到创建程序有以下这些类型:1 Executable programI INCLUDE programM Module poolF Function groupS Subroutine poolJ Interface poolK Class poolT Type poolX XSLT program 其中F J K T X是不能通过se38直原创 2011-11-07 15:31:03 · 2327 阅读 · 0 评论 -
transparant table, pooled table, cluster table的区别
透明表:创建一个透明表,数据库里面会相应创建一个数据库表并且结构和透明表一致。我们维护该表相当于直接作用于数据库表,我们可以直接操作数据库对它的数据进行增删改查,池表和簇表不能在数据库读取,数据库本身不存在同名的表。 对应的table pool和table curster会在数据库建立一个表,但是该表不能直接在数据库操作,因为它存储了其他表字段值的联合。池表:池表作为一种逻辑表必须assign原创 2011-11-25 15:08:22 · 881 阅读 · 0 评论 -
给table行加锁,允许多人同时维护
通常情况下我们建立了maintanece以后,每次有人维护那张表,那么那张表就会被锁定,如何解除锁定,允许多人维护那张表呢?创建表,创建表维护,创建锁对象,然后创建一个以下程序并且为该程序建立一个t-code,以后每次都用该t-code维护所创建的表 TABLES: seqg3.DATA: lt_enq TYPE STANDARD TABLE OF seqg3 WITH HEADE原创 2011-11-25 10:36:43 · 976 阅读 · 0 评论 -
search help的优先级问题
以下是search help的优先级(从高到低)-->Input from screen(直接调用那几个function module在程序里面创建search help)-->search help for field(在表里面为field创建search help,这个不太方便的是search help的表field的名字和该表的field名要一致,好处是具有一种连带效果,就是说如果屏原创 2011-11-24 11:44:17 · 835 阅读 · 0 评论 -
如何得到long text
在不知道text id 和object的情况下如何找出对象的long description 呢?1.到TTXOT找到对应的object2.到TTXID找到text id3.SE37 READ_TEXT传入上面的OBJECT和TEXT ID以及要查询的NAME(比如物料编号)。 以上方法不是很高效。你也可以这样:1.进入主数据维护界面,找到维护长文本的那支笔2.点击原创 2011-11-18 13:26:54 · 1413 阅读 · 0 评论 -
subroutine的参数传递
总结一下我们创建subroutine的时候有哪些规则且看标准的 form 用法FORM subr [TABLEStable_parameters] [USING parameters] [CHANGING parameters] [RAISING exc1 exc2 ... ]. ... ENDFO原创 2012-03-30 18:17:31 · 2089 阅读 · 0 评论