ABAP
文章平均质量分 85
Felix常温
SAP fico/ABAP
博客主要记录学习SAP过程中的一些心得文章
QQ:392532550
展开
-
个人ABAP文章汇总
下面是个人文章汇总链接1.关于TITLEBAR标题的翻译问题,给初学者看看,高手老鸟就可以绕路了。。。------------------------------------------------------------------------------------------------------2.关于在EXCEL中输入01-01-01被转换为2001/1/1怎么原创 2011-11-24 15:34:41 · 892 阅读 · 1 评论 -
FI invoice 的 correspondence信件打印
FI invoice的信件打印 FB03(确认信件类型) - > F.61(触发信件) -> SP02(查看打印) 查看信件打印调用了哪一个FORM原创 2012-10-24 15:37:23 · 1017 阅读 · 0 评论 -
ABAP中正则表达式的应用
案例:如果字段P_NAME1中存在LTD或LIMITED就退出,如果不存在再查找P_STREET,如果存在LTD.或LTD或LIMITED或LIMITED.则 截取查找到之前所有并入P_NAME1中。如:P_NAME = 'HK Chengxing Network' P_STREET = 'Provide LTD. No 12345 Street.'则最后原创 2012-11-14 12:21:35 · 1986 阅读 · 0 评论 -
ABAP中Set Country的应用
SAP中各种报表(LIST & ALV) 、Smartform、ScriptForm都会有货币的输出,而货币的格式可能是 1,234.00也可能是 1.234,00 或者 1 234.00如果我们一个一个去进行转换可能就太麻烦了,其它SAP已经给我们开发者提供了一个语法来决定按国家来确定输出的格式Set Country 'COUNTRY_NAME'.只需要选择原创 2012-11-14 12:29:38 · 1572 阅读 · 0 评论 -
Smartform纸张及窗口字体格式基本设置
DIN4 = A4纸 (宽x高 = 210 x 297 (MM) ) *----------------------------------------------------------------------------------* 各窗口大小位置 宽x高 = 210 x 297 (MM) 上下左右各空25MM,中间原创 2012-12-08 19:32:24 · 7628 阅读 · 0 评论 -
不同系统之间ABAP对象的迁移
方法1: 手动 copy,只适用于对象数量非常小的情况下,无项目价值。 ------------------------------------------------- 方法2:用SAPLINK,需要在每个系统都安装SAPLINK,像ABAP2XLSX这样的开源项目可能会经常用到很多项目中,那我们每次都要给系统将SAPLINK,很麻烦,且可能会有BUG,有一定项目价值。具原创 2012-10-26 12:16:25 · 3219 阅读 · 0 评论 -
创建动态内表示例
关键技巧:1.创建动态内表:a.动态内表的结构的定义动态内表结构的定义必须使用表结构与table type:lvc_t_fcat一样的内表。一般情况下,我们把内表的所有列定义成字符型。b.根据表结构生成内表。系统提供了一个标准的method来产生动态表,使用方法见代码。 2.动态内表的赋值a.获取指定的字段b.给指定的字段赋值 3.读取动态内表的原创 2012-12-26 14:33:43 · 1072 阅读 · 0 评论 -
ALV GRID 响应回车事件修改内容
修改BB的内容,回车后修改CC的值步骤:1.注册类为对类CL_GUI_ALV_GRID的事件DATA_CHANGED_FINISHED定义一个方法,创建对象gt_evnet_receiver2.调用FM'REUSE_ALV_GRID_DISPLAY_LVC'时要调用事件slis_ev_caller_exit_at_start来获取ALV对象并给其注册回车事件及处原创 2012-12-26 14:35:34 · 15947 阅读 · 0 评论 -
SAP自定义纸张格式 如DIN4
在写SMARTFORM或SAPScript的时候首先要定义纸张格式,如DIN4 =A4, DIN5等,但当系统标准的纸张格式并不符合特定的纸张,就需要自定义一种纸张格式了。 总共三个步骤:定义页格式(横打/竖打,宽x高)定义格式类型(用于ABAP LIST/SAPScript/Griphic/..) 把格式分配给打印设备 T-CODE:SPAD原创 2012-12-12 17:41:50 · 5079 阅读 · 0 评论 -
通过TEXT MODULE传递内表至标准SAPScript
标准的SAPScript由于程序已经写死且只有通过复制出Form然后定制,这样就会有很多限制,如果用户想要输出的行项目并不是标准程序中循环的TABLE,或者每一行还有明细,系统标准只输出行而用户需要的是明细(如AR INVOICE中F.61输出的是客户行项目,而用户需要的G/L行项目),该怎么办?一般情况是通过ACCESSKEY修改标准程序多加一个LOOP,这样就得要分析源程序。原创 2012-12-20 17:40:23 · 1630 阅读 · 0 评论 -
两种Search Help的合并使用 : Database View + Search Help Exit
案例:要在As03的Aseet number的Search help中加一些自定义的字段进行查找,自定义的字段在A表NLU中,可以通过将表ANLA和ANLU合并做成一个VIEW来实现,但有2个查找字段Actual NBV(NBVA)和Estimation NBV(NBVE)不存在任何一个表中,是通过表ANLC计算出来的,这里就得要通过Search Help Exit来实现原创 2013-02-28 18:00:19 · 7574 阅读 · 0 评论 -
View Cluster 的优点及创建
View Cluster是一种维护表的方式,不同于一般的View是由于它一般是链接了两个或两个以上有主次关系的表同时进行维护,并且可以保证外键的关系,即次表的主键数据一定要在主表中存在才能创建。 摘抄SAP WIKI中的关于VIEW CLUSTER的优点Benefits of View Cluster1) It is easy to maintain data i原创 2013-03-21 11:11:18 · 4430 阅读 · 0 评论 -
ABAP中ZIP文件的操作
How to zip file in application server REPORTz_zip_files_in_appsvr . DATA:lt_data TYPETABLE OF x255, ls_data LIKE LINE OF lt_data. DATA:lv_zip_content TYPE原创 2013-10-18 17:09:24 · 3217 阅读 · 0 评论 -
自定义SAP系统标准信息的输出及类型
表T100S存放是允许用户更改的应用区域和消息号T100C存放的是FI模块中用户自定义的消息(首先该消息号一定要在表T100S中存在 - 号表示忽略该信息或控制该信息输出类型(I,S,E)) 可以通过T-CODE: OBA5或OFMG来维护该表那么系统程序中是读取该表数据并控制信息输出?直接看一段程序代码就能明白了。原创 2012-10-24 15:45:54 · 4438 阅读 · 0 评论 -
gui_download怎么下载复杂的ALV表头为EXCEL
以上是一个ALV_LIST,如果要下载以上形式到EXCEL.如果用GUI_DOWNLOAD,按常规方法一表头it_colname,一内表,无法输出这样的格式的 ALV. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING filename = l_filename1 file原创 2012-04-25 12:07:49 · 4739 阅读 · 1 评论 -
ALSM_EXCEL_TO_INTERNAL_TABLE 上传EXCEL示例
要把图中的数据传到内表OUTTAB中,源代码如下,用到的函数是ALSM_EXCEL_TO_INTERNAL_TABLE DATA: filetab TYPE filetable WITH HEADER LINE .DATA: rc TYPE i.DATA: outtab TYPE TABLE OF mara WITH HEADER LINE .DATA原创 2012-05-10 15:02:51 · 10091 阅读 · 1 评论 -
GUI_DOWNLOAD如何带表头及输出前导0
今天用到GUI_DOWNLOAD这个程序,遇到了一些问题,特总结一下:问题一:导出的EXCEL如何带表头?解决: DATA:BEGIN OF T_FIELDNAMES OCCURS 0, NAME TYPECHAR20, END OFT_FIELDNAMES. T_FIELDNAMES-NAME =‘公司代码’.原创 2012-05-10 15:06:15 · 4634 阅读 · 0 评论 -
OLE上传及下载并修改excel
对于比较复杂的格式的EXCEL,不方便自己用程序来写格式,此时可以用OLE将EXCEL模板传到系统当中去,然后从系统中下载该模板后再填充需要的数据保存即可实现要想的EXCEL. 上传excel文件时首先需要维护MIME类型,否则不能上传,上传完之后可在表wwwdata看到数据行T_CODE: SMW0 新增: excel *.xls常见的MIME原创 2012-05-10 17:55:26 · 2205 阅读 · 0 评论 -
SAP EXCEL OLE常用方法和属性
SAP EXCEL OLE常用方法和属性 附加网上找到的比较好的源代码示例一份1.ole中如何保存和退出。call method of sheetname 'saveas' exporting #1 = filepath #2 =1. call method of applicationname 'quit'. -----原创 2012-05-10 15:51:47 · 7884 阅读 · 0 评论 -
MD04各类型所在表
执行MD04,输入物料和工厂可以得到下图:原创 2012-05-10 15:15:10 · 2128 阅读 · 0 评论 -
ALV标准导出EXCEL 2010功能无数据
这是因为EXCEL的安全设置阻止了数据的传送。。。 下面是解决方法: Excel 文件-->选项 点击信任中心设置,进入如下对话框。 选择宏设置,按图勾选。测试一下,数据显示正常。。。原创 2012-05-10 15:19:03 · 2740 阅读 · 0 评论 -
将smartform转换成pdf并上传
注:这里存在两种情况下参数 control_parameter的不同设置,第一种没有用到SSF_OPEN,即不用根据条件ON CHANGE 重复打印.这种情况下设置参数 control_parameters-getotf = 'X'. "此参数必须 control_parameters-no_close = ''. "可选原创 2012-05-22 11:50:29 · 1742 阅读 · 0 评论 -
REPORT传值到SMARTFORMS的四种方式
方法1.最通常的用法是通过SE11中建立STRUCTURE XXX(表则没用),在REPORT中申明此结构的数据类型,在SMARTFORMS中的FORM接口申明同样的结构后就可以传值了(itabTYPE XXX) 方法2第二种是不用建立STRUCTURE,省了一个建表的麻烦,不过还是挺麻烦的! 1).程序中申明一个TYPE原创 2012-05-22 12:02:10 · 6860 阅读 · 0 评论 -
Enhancement spot 增强点
ENHANCEMENT-POINT是在程序中直接插入代码,其概念与BADI的USER_EXIT类似,标准程序预留了部分已定义好的增强点可以让ABAP做插入代码来实现这个增强(也可以自定义增强点,但不能自定义增强选项,增强选项一定是系统预留下来的,如果没有增强选项则该处不可做增强),但是不能做屏幕和菜单增强。 其最大的优势在于方便,可以使用程序中已定义的变量,不像BTE和USER_EXIT中原创 2012-09-04 13:00:26 · 7820 阅读 · 0 评论 -
关于类型P和N的数据强制转换为C型问题
P类型是带小数的数值,先来看一个定义g_p17 TYPE P DECIMALS 2.这里的g_p17 共有17位(13位整数,1位小数点,2位小数,1位正负号). P-->C在做一些接口文件时,如TXT、EXCEL时我们可能会要把g_p 强制转换为C型数据,这时C的定义应该是为17位的g_c17 TYPE CHAR17原创 2012-09-26 11:40:42 · 6970 阅读 · 0 评论 -
P,N,C型数据前导0及前导空格问题
去前导0P会自动去掉前导0, N类型的可以通过write no-zero方式. C类型的可以通过函数 CONVERSION_EXIT_ALPHA_INPUT 或语法SHIFT OBJ LEFT DELETING LEADING '0'. 加前导0P类型的应转换为C后原创 2012-09-26 14:06:52 · 3824 阅读 · 0 评论 -
通过逻辑地址得到物理地址
逻辑地址TCODE: FILE所对应的物理地址所在的表是PATH 取地址时的代码是: select single p~pathextern into l_dsn from path as p join opsystem as o on原创 2013-10-18 17:12:40 · 2149 阅读 · 0 评论