文章分类 -  ABAP-Report

摘要:ABAP屏幕编程的一些问题http://blog.sina.com.cn/s/blog_7057e5240100m7wo.html简要介绍: 此处的屏幕指的是SAP GUI中的屏幕, 屏幕又叫做dynpro动态程序, ABAP的屏幕的主要组成部分有GUI Status, GUI Title, Screen等, 简单的屏幕元素如输入框, check box, radio button,等,还有复杂些的如Table control可用来批量修改数据, Tabstrip 选项卡用来在一个区域内显示一组意义相关屏幕. 而ABAP屏幕处理中最重要的事件就是PBO PAI,前者用来动态处理屏幕展示前屏幕元 阅读全文
posted @ 2013-10-02 23:08 VerySky 阅读(1379) 评论(0) 推荐(0)
摘要:ABAP/4报表编程模板转自http://blog.sina.com.cn/s/blog_3f3df76a0100a95z.html(2008-07-16 11:50:00)ABAP/4 报表编程模板初学者必看*&--------------------------------------------------------------**& ReportZ_X_XXXXX*& Module:Module \ SubModule*&--------------------------------------------------------------**&a 阅读全文
posted @ 2013-05-04 13:17 VerySky 阅读(779) 评论(0) 推荐(0)
摘要:转自:http://scnblogs.techweb.com.cn/gaovv2000/archives/58.html使用案例:在程序中,我们通过按钮进行单据的附件查看。单据如果有或没有附件,设置按钮不同的图标和文字描述。步骤如下:1. 声明变量。 DATA: BEGIN OF x_button, icon_id TYPE icon_d, icon_text TYPE gui_ic_txt, END OF x_button.2.创建GUI STATUS ,并在STATUS上,新增ITEM.如下图: 3.PBO中,设置状态栏,并赋值。 ... 阅读全文
posted @ 2012-09-20 11:08 VerySky 阅读(1564) 评论(0) 推荐(0)
摘要:smartform 中currency 字段的小数点问题近日开发遇到了一个问题,当我自定义了一个表里面有金额字段PRICE 类型为currency 13小数位为4位小数,当我调用smartform 对它进行显示的时候,price自动扩大了一百倍,比如:10.0000变成了1000.0000 。这个问题的解决方法如下:在smartfrom 中定义一个全局字段NETPR 声明和PRICE 相同的数据元素,在显示单价字段之前写一个程序行,将IT_TAB-PRICE字段的值赋给NETPR,将NETPR显示出来既是正确的数据,既:10.0000 。但注意:不要将NETPR字段在全局定义中声明为“货币/数 阅读全文
posted @ 2012-06-05 12:05 VerySky 阅读(478) 评论(0) 推荐(0)
摘要:abap smartforms pdf 生成器*&---------------------------------------------------------------------**& Report ZSMARTFORM_2_PDF_TEST*&*&---------------------------------------------------------------------**&*&*&------------------------------------------------------------------ 阅读全文
posted @ 2012-06-05 11:00 VerySky 阅读(5541) 评论(0) 推荐(0)
摘要:SmartForms 小技巧原贴地址:http://www.cnblogs.com/guoyiwen1021/archive/2008/12/08/1350396.html用在变量中&symbol& (括号中,小写字母为变量)&symbol& 屏蔽从第一位开始的N位&symbol (n)& 只显示前N位&symbol (S)& 忽略正负号&symbol (<)& 符号在左边&symbol (>)& 符号在右边&symbol (Z)& 不输出前导零&symbol ( 阅读全文
posted @ 2012-05-10 16:43 VerySky 阅读(2043) 评论(0) 推荐(0)
摘要:原贴地址:http://scnblogs.techweb.com.cn/songxianl/archives/11.html以前写SMARTFORMS,传内表数据的时候总要 先到SE11建立一个结构,很是麻烦.下面主要描述一下SMARTFORM是怎么从调用它的程序取相应内表的值.首先在SMARTFORM全局定义->类型这个TAB页下定义个TYPES,结构跟要取的内表的结构一致.如:types:BEGIN OF MY_TYPE, lgnum type ltak-lgnum, TANUM TYPE LTAK-TANUM, LGTOR TYPE LTAK-LGTOR, BNAME TYPE L 阅读全文
posted @ 2012-05-10 16:28 VerySky 阅读(1589) 评论(0) 推荐(0)
摘要:Smartform標準調用打印(可打PDF)WHEN 'ZPRINTE'. "PDF* --to print PERFORM SUB_SET_PRINTER_CONTROL_B USING '1' '' 'X' '1' 'X'."pcopies,preview,print no dialog,printlanguage,PDF PERFORM SUB_BEGIN_PRINTER_MODULE USING 'ZRPP049_A5'. "PERFORM SU 阅读全文
posted @ 2012-05-08 16:21 VerySky 阅读(645) 评论(0) 推荐(0)
摘要:SAP SMARTFORMS 之由竖打向横打的转换在同一个SMARTFOMR中,想实现前几页是竖向打印的,而后几页变为横向打印的,觉得这个需求有点不切实际。如果你有好的方法能够实现在同一个SMARTFORM中实现打印方向的改变,请你与我联系,我将非常感谢。当然,需求是不能不实现的,简便的方法做不出来,只能用笨方法做了,一个SMARTFORM完成不了的工作,我把他分配给两个,这样实现起来虽然麻烦点,但终归是把这个需求解决了,还是挺高兴的。具体实现方法就不详细说了,其实很简单,和上一篇循环打印的原理差不多,只是把一个SMARTFORM的循环打印变成了控制两个SMARTFORM同时打印而已。贴段代码 阅读全文
posted @ 2012-05-08 16:18 VerySky 阅读(1807) 评论(0) 推荐(0)
摘要:SMARTFORM 循环打印实现 (循环调用SMARTFORM)作者:╅獨メ儛ㄣ? | 出处:博客园 |2011/12/25 19:28:44 | 阅读16次用SMARTFORM做打印已经很久了,功能也了解了不少,但是还是有很多功能有待去学习。SAP做的东西都太强大了,怎么学也学不完。最近在做FORM打印的时候,客户要求按供应商分类打印,并且按每个供应商的信息统计页码,当然,在程序中定义些变量什么的也是可以实现的,但是还是有点麻烦。还是用SMARTFORM标准的页码吧,就想到循环打印了,研究了一下,实现实现起来还是挺简单的。贴出来共享之……*&--------------------- 阅读全文
posted @ 2012-05-08 16:17 VerySky 阅读(468) 评论(0) 推荐(0)
摘要:Smart Form[转]发现Smart Form在ECC6中和4.6C相比改变了不少,最近重新研究了一下。help.sap.com上的文档基本上是针对新特性的,不过例子却还是旧的。做个笔记省的以后找不到最新的example。最大的改变在Table上,现在table的header和footer比以前好做了。还是用IDES自带的SFLIGHT表做例子,先看一下打印出来的效果:Smart Form相对SAP Script来说,系统给封装了很多功能,这样用户在Form中的代码写的少了一些,更容易维护,如果把SAP Script比作汇编语言的话,Smart Form可以算上C++了,不过个人感觉对于复 阅读全文
posted @ 2012-05-08 16:12 VerySky 阅读(416) 评论(0) 推荐(0)
摘要:[SmartForm]SAPscript与smartform区别[转]1, smartform在激活的时候会自动地创建一个功能模块, 而SAPscript则不会;2, smartform可以直接书写子程序, 使用"Program Line"节点, 而SAPscript则只能使用控制命令语句PERFORM调用subroutine;3, SAPscript是基于client的, 而smartform不区分在任何client;SAP Script的Administration information里有Client项,而SmartForm的General Attribute中没有 阅读全文
posted @ 2012-05-08 15:59 VerySky 阅读(509) 评论(0) 推荐(0)
摘要:方法很多,不知道要哪种.(1). 用TCODE:se41,se80,se90(Programming Library-->Programming SubObjects--> Gui Status.)等都可以,拷贝一个标准的GUI status( 拷贝程序SAPLKKBL中的'STANDARD' GUI status)到你的程序.然后写PBO写代码:DATA: I_QMEL LIKE MAKT OCCURS 0.DATA V_REPID TYPE REPID.SELECT * FROM MAKT INTO TABLE I_QMEL.V_REPID = SY-REPID 阅读全文
posted @ 2012-03-12 11:57 VerySky 阅读(2690) 评论(0) 推荐(0)
摘要:如何编辑或移去ALV中的状态栏?DATA: BEGIN OF ex_tab OCCURS 0, fcode LIKE sy-ucomm, END OF ex_tab. ex_tab-fcode = 'DISP'. APPEND ex_tab. ex_tab-fcode = 'DELE'. APPEND ex_tab. ex_tab-fcode = 'SAVE'. APPEND ex_tab. SET PF-STATUS 'MENU100' EXCLUDING ex_tab. 阅读全文
posted @ 2012-03-12 11:56 VerySky 阅读(384) 评论(0) 推荐(0)
摘要:浅谈ABAP报表设计思路http://hi.baidu.com/michael_wu/blog/item/ea346ca74167808fd143581b.html报表的自主开发设计主要逻辑都是依托于选择屏幕上字段,也就是提供给用户让他们得到自己想要结果的选择条件途径。其中最重要的就是必选字段,因为必选字段是取数逻辑的精华所在,可以很巧妙的限制很多非必要的情况出现,减少代码开发人员的开发量,还能让用户最直接最快捷的得到与实际业务相关的展现结果。对于一个报表程序的代码编写,一般都会有几个INCLUDE.(X代表任意自定义字母)REPORT ZXXXXXX.INCLUDE ZXXXX_INIT.I 阅读全文
posted @ 2011-09-22 22:30 VerySky 阅读(2135) 评论(0) 推荐(0)
摘要:声明REPORT Yxxx LINE-SIZE col LINE-COUNT lines MESSAGE-ID xx NO STANDARD PAGE HEAD.TABLES:…CONSTANTS:…TYPES: …DATA:… DATA:Begin of xxx occurs, ……End of xxx. 数据定义SELECTION-SCREEN BEGIN OF xxx. 选择屏幕PARAMETERS:…SELECT-OPTIONS:…SELECTION-SCREENEND OF xxx.INITIALIZATION. 程序初始化PERFORM INIT_PARAMS.AT SELECT. 阅读全文
posted @ 2011-08-21 23:15 VerySky 阅读(448) 评论(0) 推荐(0)