
ABAP相关
文章平均质量分 51
fei2115958
这个作者很懒,什么都没留下…
展开
-
在选择屏幕的标准应用工具条上增加自定义按钮
<br />SAO的选择屏幕的标准工具栏上系统预先定义了5个按钮,他们对应的功能码是FC01-FC05,默认是不激活的。用户可以使用SELECTION-SCREEN FUNCTION KEY i.来激活这5个按钮(这里的i必须是1-5),这五个按钮的文本放在SSCRFields的对应的Functxt_0i中。当用户按下按钮时,系统将触发AT SELECTION-SCREEN 事件,并将功能码放到sscrfields的ucomm字段中。<br />TABLES sscrfields.转载 2010-11-26 10:07:00 · 425 阅读 · 0 评论 -
Background RFC 新方式
事务性RFC方式的RFM调用同步、异步RFC过程中,每一个RFC调用在远程系统中构成一个独立的LUW;事务性RFC调用,可以将多个逻辑上相关的远程调用绑定至同一个LUW上,在该LUW内,按顺序调用,要么执行所有数据库操作,要么完全回滚来取消全部数据库更新操作,保证RFC调用过程的完整性和数据一致性;事务性RFC调用处理保证在程序到达COMMIT WORK语句时执行所有计划的更新,并保证事务性RFC调用仅运行一次;该调用具有安全、可靠的特点;语法:CALL FUNCTION rfm_name IN BA原创 2010-11-18 16:12:00 · 1769 阅读 · 2 评论 -
为什么你的替代不起作用?
<br />替代不起作用通常有两个原因:<br />一.系统默认不允许你替代该字段内容。<br />SAP将所有的允许字段退代关系维护在GB01表中,如果该表中没有出现你的替代字段,你是不能替代的,比如会计科目BSEG-HKONT通常是不允许替代的,你就需要在此表增加。<br />二.替代程序需要重新自动编译。<br />在一些特殊情况下,你发现你的Validaton和Substitution都不起作用了,SE38运行程<br />序RGUGBR00| RGUGBR00, 将能选的项目全选上手工重新编译就行原创 2011-01-17 16:53:00 · 5551 阅读 · 0 评论 -
BUG!!!
<br />今天正式系统的数据出了问题,我找了半天发现是我之前写的一段代码出了问题!<br />检查了半天,终于找出了BUG,特记录如下:<br />问题一:<br /> "get the max number of internal number<br /> SELECT MAX( intno ) INTO lv_cur FROM zco_sum.<br />获取当前内表中已经存在的最大的internal number。乍一看貌似没有什么问题,但是intno的定义是char类型的,导致系统认为9 >原创 2010-11-23 10:47:00 · 407 阅读 · 0 评论 -
sap 如何实现打印输出到Adobe PDF格式文件
在SAP应用中,用户有时会要求将需要打印的内容转化成PDF格式的文件,例如将销售订单打印输出成PDF文件作为邮件附件发送给客户。解决方法:SAP提供了一个标准程序RSTXPDFT4(Convert SAPscript (OTF) or ABAP Lists Spool Job by PDF)可以实现这一功能,你可以用SA38执行这个程序,或者用SE93为用户创建一个自定义的Transaction code映射到这个标准程序。首先将所需打印的内容输出到SAP打印队列,运行上述标准程序或自定义的T-code,运转载 2011-01-19 10:41:00 · 10968 阅读 · 1 评论 -
用户登录时sap时触发一特定程序执行
<br />有时候需要在用户登录时sap时触发一特定程序去执行,sap提供了两种方法t.<br />1) 使用函数 'NAVIGATION_SET_START_TCODE' ,用该函数可以设置用户和一个TCODE,该TCODE当用户登录sap系统后就可以自动执行。sap对应的程序:ADMIN_SET_START_TRANSACTION_FO<br />2)使用用户出口<br />该用户出口的模块名称是:SUSR0001,你可以在该单元里增加你的代码进行相应的控制。.转载 2011-01-19 11:11:00 · 758 阅读 · 0 评论 -
BDC日期处理
<br />大家都知道,SAP的日期是有内部日期和外部日期的区别的。<br /><br />我们在做BDC录屏的时候,如果屏幕中含有日期字段,填充的应该是外部日期。<br />直接将内表中的字段赋值是不正确的。<br /><br />如果自己通过字符串的切割调整,也有可能出问题,因为我们可以通过事务代码 SU3 来改变格式。<br /><br />正确的方法应该是通过函数: CONVERT_DATE_TO_EXTERNAL 来转换日期。 <br />输出结果能根据SU3里面配置的不同而变化。原创 2010-11-24 15:01:00 · 1218 阅读 · 0 评论 -
ALV屏蔽掉layout和varent功能
<br />首先定义了一个自定义的表ZSOLAR,插了几条数据。<br />REPORT zsolar.<br /><br />TYPE-POOLS: slis.<br /><br />DATA: li_solar TYPE TABLE OF zsolar WITH HEADER LINE.<br />DATA: wa_excluding TYPE LINE OF slis_t_extab,<br /> it_excluding TYPE slis_t_extab .<br />"屏蔽掉layo原创 2010-11-25 13:30:00 · 655 阅读 · 0 评论 -
自动过账MRKO生成IDOC
<br />最近需要给VMI的Auto settlement配置output,并且对IDOC进行增强。<br />配置完成后,MRKO进行settlement,MR91无论如何看不到数据。<br />检查无数次配置确定没有错误后,在表NAST里面也发现了记录,于是Debug事务代码MR91。<br /> READ TABLE auth WITH KEY bukrs = ls_objky-bukrs BINARY SEARCH.<br /> IF sy-subrc <> 0.<br />原创 2011-01-25 16:59:00 · 1444 阅读 · 0 评论 -
SM59没有权限怎么办
<br />分析一下函数RFCDES_DISPLAY吧,整个世界清静了......原创 2011-01-30 12:04:00 · 835 阅读 · 0 评论 -
SAPSHOW看不了NOTES
<br />先将sapshow_mk.reg导入系统。<br />新建一个名为sapshow_mk的TXT在内容里面输入<br />REGEDIT4 [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet<br />Explorer/Main/FeatureControl/FEATURE_DISABLE_MK_PROTOCOL] "sapshow.exe"=dword:00000000 <br />然后保存,并把文件的后缀名改为reg,最后再导入注册表即可。<br /转载 2011-03-08 20:41:00 · 2303 阅读 · 0 评论 -
sap中生成BAPI的ALE接口
<br />t-code:bdbg 生成BAPI的ALE接口<br />对象/接口类型 :接口组,可能通过swo1生成。<br />方法:BAPI<br /><br />生成 BAPI 的 ALE 接口<br /><br />信息类型<br /> ZXXX_GETGRITEM ”WE81<br /> ZXXX_GETGRITEM 已生成<br />IDoc 类型<br /> ZXXX_GETGRITEM01 “WE30<br />转载 2011-03-07 09:45:00 · 1087 阅读 · 0 评论 -
ABAP 实现多线程
<br />第一步:初始化server group ,server group 可以用RZ12进行维护,参数支直复制即可,不要修改。<br /> CONSTANTS: serv_group LIKE rzllitab-classname VALUE 'JOBRUN'.<br /> CALL FUNCTION 'SPBT_INITIALIZE'<br /> EXPORTING<br /> group_name = serv_group转载 2011-03-07 09:42:00 · 1353 阅读 · 0 评论 -
No authorization to logon as trusted system (Trusted RC-2)
<br />相关事务代码:SMT1,SMSY,SM59;<br /> <br />在target system中,给账户分配如下权限:<br />S_ADMI_FCD(可选)<br />S_RFC_ADM(可选)<br />S_RFC<br />S_RFCACL原创 2011-03-19 09:56:00 · 2034 阅读 · 0 评论 -
如何调试UPDATE TASK
<br />1. 任意找一个可执行的程序,/H进入调试模式,然后选择 SETTINGS--》Display/Change Debugger Settings, 然后在Debug Modes<br /> 下面的Update Debugging勾上即可,然后退出程序调试模式。<br /><br />2.运行你需要真正调试的程序。<br /><br />3.运行事务代码SM13,选择radio button 'to be updated', 执行就可以看到那个function在alv列表中,接下来就可以开转载 2011-03-28 17:22:00 · 2168 阅读 · 0 评论 -
ABAP--如何在abap中使用日志管理
sap提供标准函数来操作应用日志,这篇文章将详细介绍如何使用应用日志。1、相关TCODE?SLG0 -> Used to maintain the log object?SLG1 -> Used to view the log 2、配置步骤1)运行SLG0,系统将弹出一个提示窗口,点击"OK"按钮;2)点击"新增"按钮,在对象名中输入"ZTESTLOG",在描述中"Test Log",并点击"保存"按钮;3、开发步骤1)用SE11创建一个结构Z_LOG_MESSAGE,结构的字段如下:Component C转载 2010-11-18 15:30:00 · 606 阅读 · 0 评论 -
SAP 汇率
<br />1. 任意货币间的汇率<br /> BAPI_EXCHANGERATE_GETDETAIL<br /> <br />2. 凭意货币金额转换<br /> CONVERT_AMOUNT_TO_CURRENCY<br /> <br />3. CONVERT_FOREIGN_TO_FOREIGN_CUR<br /> <br />4. 取某一货币某一时间的汇率<br /> READ_EXCHANGE_RATE <br />汇率维护TCODE: OB08转载 2010-11-19 10:25:00 · 954 阅读 · 0 评论 -
在选择屏幕的标准应用工具条上增加自定义按钮
<br />sap的选择屏幕的标准工具栏上系统预先定义了5个按钮,他们对应的功能码是FC01-FC05,默认是不激活的。用户可以使用SELECTION-SCREEN FUNCTION KEY i.来激活这5个按钮(这里的i必须是1-5),这五个按钮的文本放在SSCRFields的对应的Functxt_0i中。当用户按下按钮时,系统将触发AT SELECTION-SCREEN 事件,并将功能码放到sscrfields的ucomm字段中。<br />代码样例:<br />REPORT demo_sel_scre转载 2010-11-18 16:22:00 · 369 阅读 · 0 评论 -
ABAP OO EMAIL
<br />REPORT zssp_zens_0010_er6444.<br /><br />TYPE-POOLS: icon.<br /><br />TABLES:zemail_address.<br /><br />DATA: i_bodys TYPE TABLE OF ztarget_val_log WITH HEADER LINE.<br /><br />SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.<br />PARAM原创 2010-11-30 13:47:00 · 1842 阅读 · 0 评论 -
abap 字符串处理
<br />1.对字符串的操作<br /> 1).SHIFT:截断字符串<br /> SHIFT {c} [BY {n} PLACES] [{mode}].:<br /> 作用:去掉字符串的前n个位置的字符,如果n未指定,默认为1,如果指定的n小于等于0,则字符串不变。如果n超出字符串的长度,则字符串变空,所以在做此操作的时候要注意n的指定。可以首先获得该字符串的长度,方法:len=STRLEN(C)。<br /> Mode:指定字符串截断的方向。<br /> LEFT:从左边截断<br /> RIGHT:转载 2010-11-30 14:06:00 · 589 阅读 · 0 评论 -
依据用户参数的设置转换数值格式
FUNCTION zupd_fm.*"----------------------------------------------------------------------*"*"Local Interface:*" IMPORTING*" VALUE(I_IN)*" VALUE(I_UNAME) TYPE UNAME OPTIONAL*" EXPORTING*" REFERENCE(E_OUT)*" REFERENCE(E_DCPFM) TYPE XUDCP原创 2010-11-30 14:10:00 · 3199 阅读 · 0 评论 -
如何避免Exception
<br /> Exception是指ABAP程序在正常执行过程中不能够正常执行下去的情况。BASIS RELEASE 610之后,exception是在exception class的基础之上实现的。CLASS based exception既可以通过abap语句触发也可以由runtime system触发。可以自己定义exception class,不过系统已经自带了一系列的exception class。一个exception由一个exception object来代表,即一个exceptio原创 2010-12-01 15:31:00 · 615 阅读 · 0 评论 -
ABAP乱搞_贪吃蛇
*&---------------------------------------------------------------------**& Report ZSNAKE*&*&---------------------------------------------------------------------**&*& Just for fun*&---------------------------------------------------------------------*REP原创 2010-12-06 14:50:00 · 1362 阅读 · 0 评论 -
SAP外键约束
<br />SAP中,用事务代码SE11可以维护字段对应的外键约束,但是需要注意的是,这个地方维护的约束不等同于直接在数据库里面维护的外键,这里的约束只有在屏幕上面才有校验的效果,直接通过SQL语句更改时起不到约束的作用的;<br />这就意味着这里的外键约束不一定能保证数据的完整性.原创 2010-12-14 14:28:00 · 2809 阅读 · 0 评论 -
提取字符串中的数字
REPORT zsolar.DATA: lc_matcher TYPE REF TO cl_abap_matcher, lc_regex TYPE REF TO cl_abap_regex.DATA: lv_obj TYPE string VALUE 'abc123def4567ghi', li_re TYPE match_result_tab WITH HEADER LINE.TRY原创 2010-12-16 10:13:00 · 1600 阅读 · 0 评论 -
取得一个字符串表达式的计算结果(实现方法一)
利用数据库来帮助我们计算.REPORT zsolar.DATA: lv_re TYPE string.PERFORM frm_test USING '20*(2+3)' CHANGING lv_re.WRITE:/ lv_re.*&---------------------------------------------------------------------**& Form frm_test*&---------------------------------------------原创 2010-12-23 14:36:00 · 757 阅读 · 0 评论 -
取得一个字符串表达式的计算结果(实现方法二)
<br />利用关键字COMPUTE .但是这样子传入的字符串必须满足abap的语法格式.如下例中,lv_aa = '(12+23)*45'. 的话将无法计算出结果.<br /> <br /> <br />REPORT zsolar.<br /><br />DATA: lv_re TYPE string.<br />DATA: lv_aa TYPE string VALUE '( 12 + 23 ) * 45'.<br /><br /><br />PERFORM frm_test USING lv_aa原创 2010-12-24 09:39:00 · 1022 阅读 · 0 评论 -
DEBUG已经执行过的后台JOB的方法
<br />用SM37调出JOB清单,在命令行中输入[JDBG](没有'/'),选中要执行得JOB,按ENTER。转载 2010-12-24 15:57:00 · 685 阅读 · 0 评论 -
351课后练习题一
<br />Write a form WRITE_TABLE which accepts any internal table.<br />Write the contents of the internal table to the ABAP list, line by line and field by field.<br />Define and fill an internal table with a line type of your choice to test the form WRITE_原创 2010-12-28 14:54:00 · 332 阅读 · 0 评论 -
351课后练习题二
<br />Define two PARAMETERs, one for a name of a database table and one for a WHERE-Condition.<br />Use the CREATE DATA statement to create an appropriate internal table as a destination for a SELECT on the database table.<br />Use the OpenSQL SELECT toget原创 2010-12-28 15:36:00 · 494 阅读 · 0 评论 -
DEBUG的另外一种方法
<br />Steps <br />1. Create variant called BACKGROUND for program(ZWBTEST) to be debugged. <br />2. Execute ZDEBUGBG (pgm code below) in background for immediate processing. <br />3. Execute transaction SM50. <br />4. Select process that runs ZDEBUGBG. <br转载 2011-01-05 14:11:00 · 475 阅读 · 0 评论 -
后台运行程序,结果的输出宽度不够怎么办?
<br />NOTES:186603有解决方案<br />Symptom<br />When you display a spool list in SP01 and when you process it further (for example, sending it to SAPoffice), the width of the list is always set to 255 regardless of how wide it was previously.<br />This means tha翻译 2010-11-18 16:20:00 · 1087 阅读 · 0 评论 -
关于SAP的视图类型
<br />1 sap的视图的类型<br />sap的视图的类型有五种<br />•Database views :和数据库的视图形同,连接条件是必须自定义. <br />•Projection views: 用于屏蔽一些字段(一般用于保护数据时使用). <br />•Help views: 该类视图可以用搜索帮助的"selection method"中使用,参与连接表必须存在外键. <br />•Maintenance views:允许你进行对几个表的数据进行修改,参与连接表必须存在外键,他们的连接条件是转载 2011-04-13 10:44:00 · 1174 阅读 · 0 评论