2008-06-22

web dynpro for abap基础知识(4)

本篇是关于如何访问controller context。

访问一个context node

对于每一个controller,系统都会为其自动创建一个interface,名为IF_<ctrol_name>。在这个interface中,对于每一个context node都会有一个相应的WDCTX_<node_name>存在。访问root node直接使用WD_CONTEXT,访问root node的子node使用get_child_node( )方法,要注意的是方法名作为参数被传递时必须是大写!方法返回指向指定node的引用,类型为IF_WD_CONTEXT_NODE。这个方法还有一个可选参数,是要访问的element在父node中的索引编号。

访问一个node element

获得一个指向node的引用后就可以使用get_element( )方法来获得指向element at selection的引用,类型为IF_WD_CONTEXT_ELEMENT。

2008-06-21

学习HR350课程

sap的HR350是一个关于Human Capital Management的ABAP编程的课程。这个课程按课程材料规划是5天,此次在Heidelberg的HCMS学习这个课程却只有3天时间,因此只学习了第1单元到第5单元。Unit 6 (Data structures in personal planning),Unit 7(Logical database PCH),Unit 8 (customer-specific Infotypes)和Unit 9(HCM ABAP Feature)只能自己在家学习了。

2008-06-20

web dynpro for abap基础知识(3)

web dynpro中controller的方法

在web dynpro中每个controller都有两个默认的方法:

wddoinit():这是一个controller内第一个被调用的方法,常用于初始化数据。

wddoexit():这是一个controller内最后一个被调用的方法,用于做收尾工作。

这两个方法在controller被创建时自动生成,并且都是空的方法。

对于component controller还有两外两个重要的方法:

wddobeforenavigation():
This method is called after the action method has been processed and just before the web dynpro frameworkprocesses the events in the navigation queque.

wddopostprocessing():
This method allows data validation from multiple components, and it's the last controller method that is processed before the UI is sent to the client.

view controller也有自己的两个方法:

2008-06-19

web dynpro for abap基础知识(2)

在web  dynpro中定义user interface

定义user interface相对比较简单,从左边栏的工具箱里拖拽需要的UI elements到layout里面,并设置各个UI element的属性。更多的工作是关于data binding。

有些UI elements是不可见的,如TransparentContainer, ViewUIElementsContainer。这类元素用于组织其他的可见元素,如Button, Label,InputField,Table,Tree等。所有的UI elements被组织成一个树状结构,根节点名为RootUIElement,类型为TransparentContainer。RootUIElement下的每个container element都有一个属性Layout,它规定了在container内元素的布局。4种layout manager可供layout属性选择:

2008-06-18

web dynpro for abap基础知识(1)

空闲在家开始学习sap课程NET310 abap web dynpro。想学这个课程是因为Alex说,现在对web dynpro for abap的需求会越来越大。想到到他搞sap已经十几年了,先相信他这一判断。

这个课程以BC400和BC401(abap objects)为基础。BC400没有完整的学过,BC401也没学过。看了前几个单元,先纸上谈兵一番,总结一下关于wda(web dynpro for abap)的基础知识。

web dynpro for abap采用了MVC的设计方法。一个web dynpro component包括window,views和component controller。window和view主要和UI有关。windows只是一种容器,在一个component内一个window可以包含任意多个view,而component controller只有一个。如果一个component不需要view,那么windows也就相应无需存在了。

一个web dynpro component可以与一个URL关联,通过浏览器来访问,或者作为另一个web dynpro component的sub-component供调用。

用abap创建一个简单的web dynpro application

执行se80,选择Repository Browser,并选择Web Dynpro Comp. / Inf.

填入要创建的web dynpro component的名字,回车,系统创建web dynpro component,并为它创建了一个Main view和一个window。

接下来在main view的tab context中为view context创建一个context node,在main view的tab layout中插入一个表格,并完成data binding,实现main view的tab methods下的WDDOINIT方法。之后创建一个web dynpro application,并激活整个web dynpro component。测试这个web dynpro app会自动打开浏览器显示表格内容。

2008-06-17

abap objects中的命名习惯

abap objects中的类和接口与data elements,tables,structures和types共用一个命名空间,它们都被保存在表TADIR中。

classes in the class library: CL_<class name>
example: CL_COMPANY_CODE, CL_GENERAL_LEDGER_ACCOUNT

interfaces in the class library: IF_<interface name>
example: IF_STATUS_MANAGEMANT, IF_CHECKER

local classes in programs: LCL_<class name>
example: LCL_TREE_MANAGEMENT

local interfaces in programs: LIF_<interface name>
example: LIF_PRINTER

2008-06-12

使用ALV的一个例子

HR350中的Unit 4介绍了使用ALV(ABAP list viewer)来格式化report的数据输出,使输出的数据具有排序,打印,搜索,过滤,隐藏/显示特定字段等功能。使用ALV最基本的步骤包括:

1. 把要显示的数据都放到一个内表中

2. 定义一个field catalog,用于确定要显示的列

3. 调用函数 REUSE_ALV_GRID_DISPLAY

2008-05-05

Outlook 2003的search folder功能

search folder是我在Outlook中常用的一个功能,因为它能方便的根据不同的条件来组织邮件。现在的项目先后有两个负责的经理,为了把项目有关的邮件组织在一起,所以建立了一个search folder,过滤条件是From or Sent to。公司用的是Exchange Server,所以过滤条件内容为vorname1.name1; vorname2.name2。奇怪的是过滤出来的结果中没有包含后面那位经理的邮件。很明显问题只可能出在过滤条件的输入内容上,但是反复检查都没有拼写错误。最后把第二位经理的邮件地址写为name2, vorname2,过滤结果中就包括她的邮件了。实在不知道为什么,估计和Exchanger Server那边两位经理的user profile有关。

2008-05-04

升级MDA到windows mobile 6

公司发的MDA compact III操作系统为windows mobile 5.0,今天抽空把它升级到了6.0,并把Microsoft ActiveSync从4.2升级到4.5。安装完Windows Mobile 6.0后发现自带了杀毒软件F-Secure Mobile,其他也就是图标换了换,另外word默认保存为Word 2007支持的docx格式。原来在Kontakte只显示Outlook里同步过来的联系人,现在升级后SIM卡里的联系人也一并在Kontakte中显示,并且不提供选项更改。这一点感觉很不友好!

2007-11-25

解决Daemon Tools的安装问题

在单位的笔记本上安装完Daemon Tool后,启动Daemon Tool总得到错误提示:Unable to add adapter. Device problem 39。右键单击任务栏的图标得到错误提示:virtual scsi driver not detected。Windows的日志报告中没有关于这个错误的任何报告

google了一下,发现已经有人报告这类错误,解决建议包括卸载程序,重新安装,在安全模式下安装等等。我卸载数次再安装都没有解决问题,最后在安全模式下重新安装才能正常使用它加载虚拟光驱。

修改Firefox的字体设置

单位的笔记本操作系统为英文版的Windows XP。用Firefox阅读中文网页时,字体看起来很别扭。在系统中添加了微软的雅黑字体,想让Firefox显示中文网页时默认使用雅黑字体,需要修改一下字体设置。有一个变量font.name.serif.x-western,默认的值为“time new roman”,把它的值改为“Microsoft YaHei”后,中文网页的字体看起来就好多了。

2007-11-13

恢复blog

在停了两个多月后,现在终于又有点时间了。9月份先是ABAP,10月份SAP Netweaver Portal,11月现在作无聊的Co-Trainer,到20号才正式开始工作。

小提示:

在Hbf乘S4去Campus,在104站台最好往前走,大概在B的位置是最佳位置。这样下车的时候可以在S-Bahn还没有通过马路时赶紧穿过马路,因为此处过马路没有斑马线。这在赶时间的时候还是有用的:)。

回家乘S1或S2刚好相反,尽量坐在火车的后面比较划算,这样下车之后回家可以少走几步。

2007-11-06

初识SAP认证

各个大的IT公司都有自己的认证体系,如IBM,Microsoft, SAP,Oracle等等。除了这些公司提供的认证之外,还有非商业机构提供的认证,如由Linux Professional Institute提供的关于Linux的LPI认证。各个公司的认证体系既能提高使用本公司产品的用户的专业水平,也为企业招聘员工提供了一个衡量的尺度,当然也为公司带来了一笔收入,因此各个公司对此都非常重视。相比之下更多的人会选择去考取微软的认证。我想这主要是因为微软的产品普及地比较广泛,作为个人接触其产品和获取认证资料的机会也相对较多。这一点与SAP的产品形成一个鲜明的对比。SAP早期产品只是针对大企业用户,现在SAP公司正努力拓取中小企业市场,其门槛才慢慢降下来,因此考取SAP认证的人数相对而言就要更少一些。

现在SAP在全世界推行一套统一的认证体系。SAP认证包括三个级别,分别为Associate, Professional和Master。其中Associate这一级别的认证主要针对牢固掌握SAP基础知识,从业经验在1到3年之间的用户,而Professional则要求从业经验在4至7年之间,并拥有实际的项目经验。持有最高级别的Master认证的SAP咨询师则被认为是真正的SAP专家,熟悉系统整合,优化和架构知识,并能领导团队顺利完成项目。除了认证级别之外,还有一个认证领域的概念,因为SAP系统涉及企业管理的方方面面,确实比较繁杂。认证领域包括应用(application),开发(development)和技术(technology,此处译作技术欠佳,但不知道什么词更合适)。应用主要包括自定义SAP系统适应企业需求,开发则包括使用ABAP和Java的编程,技术类涉及SAP Netweaver Web Application Server和Portal等的安装和维护。早期的SAP认证,如Solution Consultant, Development Consultant 和 Technology Consultant分别对应Associate级别的Application,Development和Technology。
这样一来一个完整的SAP认证证书名称实际上由多个部分组成(符合SAP的习惯,名字也弄繁杂点 :)),首先是认证级别,紧接着是认证领域,然后是短横线接认证时所使用的SAP产品版本。比如Development Associate – ABAP with SAP
NetWeaver 7.0 或者Development Professional – ABAP System Integration with SAP NetWeaver 7.0。

因为有各种各样的认证搭配,SAP为此提供一个查询功能,供用户查询SAP提供的认证。查询表单有三个可选项。第一个可选项为认证涉及的解决方案,个 人认为与常说的模块比较接近,包括 SAP NetWeaver,Enterprise SOA,SAP Customer Relation Management, SAP ERP, SAP Product Lifecycle Management, SAP Supply Chain Management, SAP Business One, Small and Midsize Enterprise (SME)。第二个可选项是上面提到的认证领域,即application,development,technology。最后一个可选项为在企业中的角色,提供的选择包括架构师,应用咨询师,开发咨询师和技术咨询师,IT管理员及行业咨询师。
以分别选择SAP Netweaver, Technology,和technology consultat为例,系统会返回SAP提供的多种认证可能。包括:
    * SAP Certified Technology Professional - Security with SAP NetWeaver 7.0
    * SAP Certified Technology Consultant SAP NetWeaver 2004 - SAP Web AS for MAX DB
    * SAP Certified Technology Consultant SAP NetWeaver '04 - SAP Web AS for Oracle
    * SAP Certified Technology Consultant SAP NetWeaver 2004 - SAP Web AS for MS SQL Server
    * SAP Certified Technology Consultant SAP NetWeaver 2004 - SAP Web AS for DB2 UDB
    * SAP Certified Technology Consultant SAP NetWeaver 04 - OS/DB Migration for SAP Systems
    * SAP Certified Technology Consultant SAP NetWeaver - SAP Web AS Implementation & Operation for DB (2003) (for Tech. Cons. 2000)
    * SAP Certified Technology Consultant SAP NetWeaver - SAP Security (2004)
    * SAP Certified Technology Consultant SAP NetWeaver 2004 - SAP Web AS for DB2 on z/OS
    * SAP Certified Tech. Associate - System Admin (Oracle DB) with SAP NW 7.0
    * SAP Certified Technology Consultant SAP NetWeaver 2004 - Enterprise Portal, Knowledge Management & Collaboration
    * SAP Certified Technology Professional - Platform Technology with SAP NetWeaver 7.0
    * SAP Certified Technology Consultant SAP NetWeaver 7.0 Exchange Infrastructure
    * SAP Consultant Certification Technology Consultant SAP NetWeaver 2004s - Portal
    * SAP Certified Technology Associate - System Administration (MS SQL DB) with SAP NetWeaver 7.0
    * SAP Certified Technology Associate - System Administration (DB2) with SAP NetWeaver 7.0
    * SAP Certified Technology Associate - System Administration (MAX DB) with SAP NetWeaver 7.0
    * SAP Certified Technology Professional - Portal with SAP NetWeaver 7.0
    * SAP Certfied Technology Associate - Process Integration with SAP NetWeaver (PI 7.1)

点击这些列出的认证能获得更多的关于该认证的信息,包括认证考试涉及的主题和SAP针对该主题提供的培训课程,各个主题所占的比例等等。这些信息对于准备认证考试是必不可少的。

我在Preentry School的第二个月曾接受了一个月的由SAP提供的培训。我仔细比对了一下,我们当时培训的课程与上面SAP Consultant Certification Technology Consultant SAP NetWeaver 2004s - Portal里列出的课程完全一致,包括:
SAPTEC: Fundam. of SAP Web AS
SAPEP: Enterprise Portal Fund.
ADM 200: Web AS Java Administration
ADM 102: Web AS Admin II
EP 200: Enterprise Portal System Admin.
EP 300: Configuration of Knowledge Management und Collaboration

内容本身并不难,只是比较多,要在四个星期之内完成。因为当时只有考试通过了才能拿到正式的合同,所以大家都学地比较认真。培训结束时的考试也是SAP的认证考试。由SAP的一位工作人员人带着笔记本过来,考试前在每人的笔记本上安装一个SAP提供的程序,连接到考官的笔记本上。从回答第一道题开始计时,必须在3个小时内回答120个选择题,包括单选和多选。个人感觉考试内容并不难,所考的内容基本上来自培训资料。尽管EP 300也属于考试内容,但考试时因为时间关系,我们尚未来得及学习,尽管这样我们绝大多数人都通过了考试,但没有获得SAP的认证证书,因为公司为了保护自己利益仅仅颁发了一个ATS的培训证明。由此看来要考取一个SAP证书并不是很难。个人认为准备一个Associate级别的认证考试最少也需要一个月的高强度学习。更高级别的考试我没参加过,所以无从估计。但是有一点是肯定的,对于我们经历了无数考试的70后来说,这种考试我们是可以通过的。

2007-09-29

10月份培训内容

10月份继续接受培训,主题为SAP NetWeaver Portal,内容包括:

SAPTEC: Fundam. of SAP Web AS

SAPEP: Enterprise Portal Fund.

ADM 200: Web AS Java Administration

ADM 102: Web AS Admin II

EP 200: Enterprise Portal System Admin.

EP 300: Configuration of Knowledge Management und Collaboration

2007-09-02

Firefox插件列表

今天是在大学工作的最后一天了,需要的数据都备份完了。我的机器ge2pc51里Firefox中安装的插件也在此罗列一下。列表是由listZilla插件生成的:

Adblock Plus 0.7.5.1
Aptana Debugger Service 0.2.8.14433
CHM Reader 0.2.1.1
CSSViewer 1.0.2
del.icio.us 1.2.1
ErrorZilla 0.2
Firebug 1.05
Full Screen 0.5
Fullerscreen 2.02
Google Notebook 1.0.0.18
Google Toolbar for Firefox 3.0.20070525W
Greasemonkey 0.7.20070607.0
Html Validator 0.8.4.0
Java Console 6.0
ListZilla 0.8
Live HTTP Headers 0.13.1
LiveClick 0.2.4
Right Encoding 0.2.2
ScrapBook 1.2.0.8
Searchbar Autosizer 1.3.7
SwitchProxy Tool 1.4.1
View Cookies 1.6
Web Developer 1.1.4
XML Developer Toolbar 0.2

2007-08-17

工作许可下来了

等了一个多月的工作许可终于下来了。6月29日晚上打完球看信箱收到了公司寄过来的已经准备好的申请材料。7月2日周一一早去外管局递交了材料,7月3日材料到达Frankfurt劳工局,8月13日电话询问外管局得知没有进一步的消息,发Mail给公司请求公司联系劳工局查询材料的处理情况,立即收到Tania回复,答应去查询有消息即刻通知我。8月16日中午刚吃过午饭收到Tania的邮件,告诉我工作许可下来了,让我可以去Rehm那儿去了。交了30Euro之后,护照上又少了两页空白页。

2007-08-16

Wordpress 2.2使用jquery

Wordpress的开发者从2.2版本开始使用jquery作为其核心的Javascript库了,因为他们认为jquery is lighter and faster。看来jquery的发展越来越被人看好。在扩展digilib时我也使用了jquery,觉得它非常方便,清晰。一个名为visual jqeury的文档对这个库的各个函数作了很明了的分类,有时要比阅读API更方便。

jquery中很多函数操作的对象都为jqury对象的集合,而jquery自身的一个名为implicit iteration的特性能自动遍历处理集合中的每一个对象,省掉了很多for循环语句。

另外jquery的selector非常丰富,支持CSS和Xpath的表达式。此外jquery还有一个名为chaining的特性,能避免创建过多的临时变量。

This means that the result of most operations on an object is the object itself, ready for the next action to be applied to it.