2012-11-03

卸载Adobe Acrobat出错



卸载Adobe Acrobat X程序时,总是报错1324,说Path Contains an Invalid Character(路径中包含无效字符)或multifonction.sequ
日志报告显示错误来自于MircrosoftMsiInstaller
Event Type:       Error
Event Source:   MsiInstaller
Event Category:               None
Event ID:             11324

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 7b 41 43 37 36 42 41 38   {AC76BA8
0008: 36 2d 31 30 33 33 2d 46   6-1033-F
0010: 34 30 30 2d 37 37 36 30   400-7760
0018: 2d 30 30 30 30 30 30 30   -0000000
0020: 30 30 30 30 35 7d         00005} 

发现这个键值{AC76BA86-1033-F400-7760-000000000005}正好是Acrobat安装路径下Setup Files下文件夹的名字里面有Acrobat 10的完整安装文件。
微软早期曾提供一个名为Windows Installer CleanUp utility的小工具来解决安装或卸载程序时出现的问题不过现在被名为program install und uninstall troubleshooterhttp://support.microsoft.com/mats/Program_Install_and_Uninstall 的工具所替代。网上下载之后运行了估计约一刻钟才显示修复了卸载问题。不过原来的程序文件并未被移除,只是在安装的程序列表里没有了。

2012-10-29

德国的增值税能简单些吗

德国的增值税通常为19%,有一些商品和服务享受减免的增值税7%(verminderte Mehrwertsteuersatz),如酒店的住宿前两年就从19%下调到7%。不过今天在火车上看报纸读到了一些关于增值税的例外条款,不得不说德国人就爱把条款搞的负责些。

如,Fisch und Krebstiere, Weichtiere und andere wirbellose Wassertiere享受减免增值税额7%,但是 Zierfisch, Langusten, Hummer, Austern und Schnecken却被排除在外。

如,在Reihen和Mosel河上乘船旅游同样是7%的增值税,但是如果行船超过50公里就不在此列。

如,牛奶和牛奶制品,鸟蛋和蛋黄(Milch und Milcherzeugnisse, Vogeleier und Eigelb)同样是7%的增值税,但是ungenießbare Eier ohne Schale und ungenißbares Eigelb和天然蜂蜜(natürlicher Honig)却是19%。

这样的例子简直太多了。制订一个统一的增值税额不更简单吗?也省得ERP软件在此费一番功夫来解决各种税额的问题。


2012-10-17

看懂Android的Build number

先前一直觉得很奇怪,为什么Android的各个版本代号为什么会起那么些奇怪的名字,什么Froyo (2.2),Gingerbread(2.3),Ice Cream Sandwich(4.0),Jelly Bean (4.1)。原来基本按着代号的第一个单词的首字母的顺序来的。最初的代号从D (Donut)开始,当然中间也有些跳跃,比如H就没有出现。
要读懂Buildnumber也得掌握google的命令规则才行。
  • First letter = release family, e.g. F is Froyo
  • Second letter = branch code that allows Google to identify the exact code branch that the build was made from, and R is by convention the primary release branch
  • Third letter and the two numbers = date code. The letter counts quarters, with A being Q1 2009. Therefore, F is Q2 2010. The two digits count days within the quarter, so F85 is June 24 2010. 
  • Last letter = individual versions related to the same date code, sequentially starting with A; A is actually implicit and usually omitted for brevity.
更多细节:http://source.android.com/source/build-numbers.html 

2012-10-15

无题

早上在去柏林的火车上翻阅Bild报纸,看到上面一条关于前德国一台(ARD)新闻节目Tagesschau主持人Eva Herman破产的消息。今年57岁的Eva Hermann曾在德国一台主持了17年的新闻节目,如今因为无法偿还银行贷款和律师费用和法庭费用被迫宣布破产。她在1995年为了省税花50万欧元在德国东部的莱比锡投资了3处房地产用于出租,但因为租金收益预先估计过高导致收益并不如预期的高,不过好在以前在电视台工作,收入稳定而且颇为丰厚,尚能定期偿还银行的贷款。2006年此人因为写了一本书Das Eva-Prinzip,被认为赞同Nationalsozialismus的关于家庭的政策而激起舆论巨大的讨论。为此她丢掉了电视台的工作,尔后在与前雇主德国一台的法律诉讼中又输了官司。这样她的事业就走到了谷底。
这条新闻告诉我:
1. 不要试图挑战公众认可的观点
2. 买房投资用于出租,租金收入不可过于乐观,最好还贷的数额 << 保守的租金收入
3. 与国家机构打官司不要指望能赢

2012-10-12

再次遭遇Java程序在扩展显示器上的问题

因为前几天都一直接了一个外接显示器作为扩展显示器,今天在家上班直接在笔记本上,没有连扩展显示器,问题就来了。Java程序是通过Citrix client运行的一个远程的SAP enterprise service builder,当要在一些弹出窗口中的列表中选择一些值时,如创建一个message type时,按F4去选择一个data type,这时这个列表在笔记本窗口中不会显示,给用户的假象是,这个session已经死掉了,点击什么都没有反应,其实是因为当前焦点在弹出窗口上,而弹出窗口又没有出现在用户可见的界面上。重新连接Citirx server,重新登录Windows,重启Windows都没解决问题,最后没办法只好连到一个外接显示器上,把那个弹出窗口拖到笔记本的显示器上,问题才算解决。
如果手头没有第二个显示器,如在火车上,这种问题如何解决?

2012-10-10

Firefox在扩展显示器上的显示问题

最近在客户那里把笔记本(Windows 7 Enterprise,64bit)连接到了一个外接的显示器(显示设置为extended display),Firefox 15 在这个扩展显示器上有问题。当点击Firefox的菜单时,菜单闪现一下然后很快就变成一块空白矩形了,当把鼠标移动到空白区域时,菜单内容又显现出来。网上查到2006年就有人报告这个bug,不理解为什么现在这个版本还会出现这个问题。记得以前的版本在扩展显示器没有出现这个问题。刚升级到Firefox 16,问题还是存在。

网上有人给出的解决方法是取消硬件加速,测试了一下可行。

Go to the Firefox Options –> Advanced tab –> General tab. In the “Browsing” section uncheck the box marked “Use hardware acceleration when available”

2012-10-01

取消Outlook 2010中在日历里添加的假日

在Outlook 2010中可以在日历很容易的添加某个或多个国家的假日。选择File - Option - Calendar - Add Holidays,然后勾选需要添加的国家就完成了。可是当你只添加了一个国家的假日,如德国,过一段时间后想取消这个国家的假日,却不能取消选中的国家,然后点击OK,因为当没有选中任何国家时,只能点击Cancel,而OK变成了阴影无法点击。执行下列操作可以删除日历中的所有假日:

  1. In Outlook 2010, in Calendar view, click the "Search Calendar" box. From the Search tab, click Search Tools, and then Advanced Find... .
  2. Click the Advanced tab.
  3. Click Field, select Frequently-used fields, and then choose Categories.
  4. Under "Condition:", use the drop-down list to select contains.
  5. Under "Value:", type holiday .
  6. Click Add to list.
  7. Click Find Now.
  8. Maximize the search results window for easy viewing. If you see the message "There are no items to show in this view.", you have no holidays on your calendar.
  9. In Outlook 2010, to manually select all of the holidays, click in the results area and press Ctrl-A.
  10. In Outlook 2010, right-click the highlighted holidays and choose Delete.
个人认为这是Outlook日历功能设计上的一个缺陷。在下一个版本中会被修正吗?

解决SONY笔记本的音量控制键问题

手头的一款SONY笔记本(型号为VGN-CS21S/P)购买时预装的是Windows Vista Home Premium,键盘上方有一排快捷键,控制视频播放和音量大小。装上Windows 7 Ultimate之后这排控制键就不能用了。一番周折之后,终于让它又能工作了。这个不仅仅是驱动的问题,还要安装一堆SONY自己的东西。从SONY的VAIO支持页面下载并按下列顺序安装:
1. Sony Shared Library
2. Setting Utility Series
3. SFEP
4. Vaio Event Service
5. VAIO Control Center

部分组件在Windows 7找不到,就去Vista或预装的Vista下面去找。安装期间会要求多次重启。

2012-09-15

让Easybox 803仅作为无线路由器工作

Easybox 803默认的工作方式是modem + router,如果不需要它的拨号功能仅把它作为一个无线路由器来使用,需要特别设置一番。首先把有Internet连接的网线接入Easybox的LAN1接口,然后按照下面的方法设置:

1. Erstmal einen Reset der Easybox 803 durchühren
2. Nach dem Neustart ein Telefon anschließen und Hörer abnehmen. Es kommt "Bitte schließen Sie Ihr DSL Kabel an"
3. Nun folgende Tastenkombination am Telefon eingeben: *8375* (mit Sternchen) eingeben. Die Box bootet neu im "VDSL-Modus"
4. Netzwerkkabel vom PC am freien LAN-Anschluss 2 bis 4 anschliessen
5. Im Browser am PC 192.168.2.1 eingeben - Startbildschirm von der EasyBox erscheint. In die Checkbox "root" als Benutzername "123456" als Passwort eingeben
6. "Offenen Modus" wählen und auf "weiter"
7. Im folgenden Menü auf "Daten" und "WAN" gehen. Dort bei WAN 1 eintragen:

Protokoll: "Routing"
IP-Adresse etc. auf 0.0.0.0. lassen
DHCP Client: checkbox anklicken
802.1Q (1p/VLAN ID) Tagging auf 0

WAN1 auf Routing umstellen, DHCP Client aktiv setzen.
802.1Q (1p/VLAN ID) Tagging passend einstellen - vermutlich 0.

Box absichern... Passwort vergeben, WLAN einrichten

在智能手机上设置Vodafone的voip号码

在论坛dolc.de上看到有人在手机上设置vodafone的voip号码,自己动手也试了一下,测试成功。如果手机是Android 2.3以上版本,不需要安装任何支持sip的客户端,原生支持sip。正确设置的关键主要是从Easybox 803的设置文件中读取有关voip的信息,包括sip服务器和密码,而用户名则不必费力查找,通常都是vodafone分配的带区号的电话号码。

由于Easybox是通过输入一串modem code配置的,所以看不到voip的设置信息,在Sprache -> erweiterte Einstellungen下只是显示 Diese Einstellung erfolgt durch Ihren Anbieter。解决方法是先把Easybox的配置存成文件,然后用一个网上提供的Java小程序eb_config_decoder.zip解码这个文件,再用一个十六进制的编辑器(如这个免费的工具 xvi32)打开那个解码后的配置文件,在里面寻找相应的信息(xvi32的address菜单下有个goto命令,支持直接跳转至指定位置)。对于Easybox 803 with firmware Version 30.05.211参照下面的信息:
Internet-Benutzername: F594 hex / 62868 dez.
Internet-Passwort: F618 hex / 63000 dez.
Sprachbenutzername: 1B902 hex / 112898 dez.
Sprachpasswort: 1B932 hex / 112946 dez.
SIP server:1B81C hex

在手机上设置时需要下面的信息:
SIP server:069.sip.arcor.de,(推测是xxx.sip.arcor.de的格式,xxx是区号)
SIP username:自己的电话号码
SIP password:上面的Sprachpasswort,长度为12位,包含字母和数字


2012-09-01

在公司工作五年了

今天是9月1日,刚好是在公司工作五年了。五年前9月1日也是个周六,9月3日去公司报道,然后两个月的培训。培训内容中后来在项目上还能用上的就数ABAP了,至于SAP enterprise portal和SAP Web Application Server Administration的内容算是基本白白的培训了,尽管当时还通过了SAP的认证考试。

此后辗转Düsserldorf,Berlin,München,Oldenburg,Heidelberg,Krefeld,München, Nürnberg,算是跑了不少地,就今年3,4月份才在Bad Homburg做了一个短期项目。不少同事都跳槽了,我还继续着这份工作。

看一看2012年9月1日的统计数据:
  • 67.48% of the people currently at our company joined after you (175366 of 259866).
  • 53.36% of the people currently at our company in your Country (Germany) joined after you (2678 of 5021).
  • 46.62% of the people currently at our company in your City (Frankfurt) joined after you (959 of 2059).
  • 74.16% of the people currently at our company in your Workforce (Solns/Tech Slns) joined after you (74531 of 100495).
  • 54.21% of the people currently at our company in your Job Code (Systems Analyst) joined after you (9329 of 17210).

2012-08-30

Outlook 2010下阅读邮件时放大字体

估计是上了岁数了,越来越不喜欢阅读字体小的东西。用Outlook阅读邮件时通常也把字体放大后再阅读。可是在Outlook 2010下却不能使用在IE下有效的组合键control + +来放大字体。然而如果按住control键,转到鼠标轮是可以增加或减少字体号的。对于我等使用笔记本没有连接外接鼠标的情况下如何能对字体收放自如。要是没记错的话,Outlook 2007下在阅读邮件时使用control + +组合键是可以放大字体的,为什么到了Outlook 2010下却不支持了?

2012-08-22

Windows 7下的problem steps recorder

Windows 7有一个小工具名为problem steps recorder(psr.exe),可以记录用户的的操作,以截屏的形式生成一个mht文件,并发送给指定的接收者,帮助解决问题。

2012-08-21

SAP Netweaver components

SAP在2003年1月发布了Netweaver的第一个版本2004,2004年发布了第二个版本2004S,后来更名为Netweaver 7.0。Netweaver包含众多组件,当前的最新版本7.31包含下列组件:
  • SAP NetWeaver Application Server
  • SAP NetWeaver Business Warehouse
  • SAP NetWeaver Gateway
  • SAP NetWeaver Master Data Management
  • SAP NetWeaver Process Orchestration
  • SAP NetWeaver Portal
  • SAP Auto-ID Infrastructure
  • SAP NetWeaver Identity Management
  • SAP NetWeaver Information Lifecycle Management
更多详情 http://www.sap.com/platform/netweaver/components/index.epx

看看以后的版本里SAP还会往里添加点什么东西。

2012-08-20

SAP PI中的XMB缩写

在SAP XI/PI中有很多XMB的缩写,不少与PI有关的旧一点的transaction code就以SXMB开头,如SXMB_ADM,SXMB_MONI,而新一点的tcode则以SXI打头,如SXI_CACHE,SXI_MONITOR。以前一直不知道这个XMB代表什么,今天google了一下,有了结果。原来在XI发布之前,XI在SAP内部被称为Exchange Message Broker,而transaction code里的第一个字母S这表示和basis component有关。

SAP的IDoc interface


与Idoc interface有关的reposiotry objects都在SED package下,比如table EDIMSG是message type和IDco type的对应。

另外在定义partner profile总是搞不清该选择哪个logis system,查看一下sap help还是有帮助的。

define partner
 
inboud partner profile
 

2012-08-18

油价飙升

今天去加油,E5的汽油价格已经到了1.779欧元一升了。新闻里说联邦卡特尔局对德国市场上的五大燃油公司调查了一番,结果没有证据表明五大公司之间存在暗中商议价格的行为。可是每天各个加油站的油价变化就让加油的人痛恨不已。试问还有哪种商品的价格对普通消费者来说,在一天之内变化这么大?如此下去恐怕离2欧元一升汽油的日子不远了。

2012-08-10

培训 Offering of Healthy & Sustainable Leadership

今天在公司培训,主题为Offering of Healthy & Sustainable Leadership。不知道是大家都去度假去了,还是对这类培训不感兴趣。今天参加培训的人数是我在公司参加的培训中人数最少的一次,一共才6个人,包括了ASG的HR的头头。培训师有一个心理学博士的头衔,以前是PWC的职员,如今自己当老板经营自己的培训公司。对于ASG的HR头头中间要求一个咖啡休息时间,这位培训师还是表现的不卑不亢的委婉拒绝了,要知道ASG的HR头头一句话就可以砍掉这个培训。

培训内容对于我来说基本上是纸上谈兵,对于其他人关于leadership的讨论也是插不上嘴。培训提到的主要要点包括:
  • Resultat
  • Konzentration auf wenige Wesentlichen
  • Beitrag zum Ganzen
  • Stärken
  • Vertrauen
  • Positiv denken

2012-08-06

configure idoc adapter acknowledgment

在PI 7.11 SXMB_MONI下有个interface的ack status总是显示错误。
sender adapter: IDOC
receiver adapter: SOAP

解决办法: run report IDX_NOALE 或maintain table IDXNOALE

configure exception rule for idoc adapter ackownledgement

订了个Samsung Galaxy S3

公司手机的合同到9月底就到期了。这次公司提供两款供选择,Iphone 4S和 Galaxy S3。没考虑太多抓紧时间订了一个Galaxy S3,预计供货时间为7到八周,也就是基本上9月下旬才能拿到手了。

2012-07-01

Riedberg的幼儿园

Riedberg的幼儿园的地址,开放时间和电话



Kita Welt-Raum
Montag 16:00 - 17:00, Mittwoch 15:00 - 17:00  06953098726  Frau Viola Barth

Sonnenwind (小学边,不提供3岁以下孩子的位置)
06950697714 Frau Felicitas Heucher

Kita Mobil (Magda-Spiegel-Weg 10), ( nur 12 Plätze für Kinder unter 3 Jahren )
Montag: 15:00 - 17:00 06953053904  Frau Angelika Bauer

Kita Ginsterhöhe (Margarete-Susman-Weg 2, 尖顶教堂边)
Mittwoch und Donnerstag, 15 bis 17 Uhr 069 - 53053702

Kita Gipfelflitzer (Otto-Schott-Straße 6,购物中心后面)
06957002950 Frau Kathi Diel

Kita Königsblick

2012-05-14

通过DHCP无法获得有效IP地址

最近在客户那里连接他们的无线网总是在电脑(windows 7 enterprise, sp1)启动后第一次无法通过DHCP获得有效IP地址。或者重新再启动一次电脑,或者手动关掉WLAN开关重新打开,才能获得一个有效的IP地址。DHCP server那边一直是正常工作的。查看本地的日志,发现有Eventid为52003的错误:
An error occurred when DHPQEC tried to renew DHCP lease in the adapter {f1edc5b3-d9dc-4147-ae27-815bf44f8356}. Error code is 0x4C7
Source: Dhcp-Nap-Enforcement-Client

管理NAP client的工具,napclcfg.msc


Troubleshooting NAP Enforcement
http://technet.microsoft.com/en-us/magazine/2008.04.cableguy.aspx

Troubleshooting NAP Problems
http://technet.microsoft.com/en-us/library/dd348446(WS.10).aspx

Tools for Troubleshooting NAP
http://technet.microsoft.com/en-us/library/dd348461(WS.10).aspx

2012-05-13

检查PI patch level

In an XI/PI system, all components must be on the same major SP release version. This means that the Basis(ABAP), Java and XI components must all be on the same SP e.g. SP12.

1) To check the BASIS patch version, logon to the XI system and go to:
-> System
-> Status
-> SAP System data
-> click on magnifying glass icon
-> check the SAP_BASIS software component release and level

2) To check the Java and XI component's SP details at the links below:
a) For XI 3.0/PI 7.0, go to the URL:
http://:/sap/monitoring/ComponentInfo
b) For PI 7.1x, go to the URL:
http://:/ -> System Information -> Component Info
c) For PI 7.3x, go to the URL:
http://:/startPage -> System Information -> Component Info

3) How to read the component information:
a) Example from a PI 7.00 system:
SAP-XIAFC  7.00 SP13 (1000.7.00.13.22.20090722122317)
1000 - not relevant
7.00 - this is the NetWeaver release of the PI system
13   - this is the SP version of the system
22   - this is the patch level of the SAP_XIAFC component
20090722122317 - this is the date/time of the patch release, in this case 2009/07/22 12:23:17

In this example, the XIAFC component is on SP13 patch 22

b) Example from a PI 7.10 system:
SAP_XIESR 1000.7.10.7.14.20090525090100
1000 - not relevant
7.10 - this is the NetWeaver release of the PI system
7    - this is the SP version of the system
14   - this is the patch level of the SAP_XIESR component
20090525090100 - this is the date/time of the patch release, in this case 2009/05/25 09:01:00


In this example, the XIESR component is on SP07 patch 14 .


Eventual update here https://www.service.sap.com/sap/support/notes/1381878

2012-05-10

SAP PI courses

TBIT40  SAP NetWeaver Process Integration
https://training.sap.com/de/en/course/tbit40-sap-netweaver-process-integration-classroom-095-g-en

TBIT44 PI Message Mapping and BPM
https://training.sap.com/de/en/course/tbit44-pi-message-mapping-and-bpm-classroom-095-g-en/

2012-04-12

把安装有win 7的笔记本变成无线路由器

Set Windows 7 as WiFi HotSpot

如果无线网卡支持virtual wi-fi,以管理员身份在命令行下执行
netsh wlan set hostednetwork mode=allow ssid=jia key=MyPassword keyUsage=persistent
netsh wlan start hostednetwork
暂停wlan, net wlan stop hostednetwork
取消虚拟网卡, netsh wlan set hostednetwork mode=disallow

或者创建一个快捷方式:
Target [C:\Windows\System32\cmd.exe /c "netsh wlan set hostednetwork mode=allow ssid=jia key=MyPassword  keyUsage=persistent && netsh wlan start hostednetwork && pause"]

From Properties=>Shortcut page:
Tick [Advanced=>Run as Administrator]
Icon from "%SystemRoot%\System32\WlanMM.dll"

2012-04-05

国际化团队

新上一个项目不久,实施SAP new GL。称我们这个团队为国际团队一点都不过分。客户负责人是一个德国人,另外还有4位德国人,其中一人出生在希腊,另一位出生在加纳。其他人则分别来自欧洲其他国家,意大利,波兰,罗马尼亚。当然还有我,来自中国。

2011-11-30

SAP GUI 710 显示bug

在我的笔记本windows 7 下发现设置笔记本屏幕为主显示器,外接显示器为第二显示器,选定扩展显示。如果此时把SAP GUI的窗口放到外接显示器上(第二显示器),并且最大化窗口,那么窗口最上方的几个按钮(最小化,最大化和关闭窗口)将不可见。可是如果把外接显示器做为主显示器,把笔记本设定为第二显示器,把SAP GUI窗口放到第二显示器上却没有这样的问题。
SAP GUI的版本信息:
Release: Final Release 710
Dateiversion: 7100.4.16.1046
Build: 1128319
Patch-Level: 16

2011-11-15

Bahncard的变种

手头的Bahncard下周就要到期了,于是打算再买一张新的Banhcard。在网上发现DB在今年6月份就推出了一种新的针对公司客户的Bahncard Business。12月11日之前Bahncard 50 一等车厢是460欧元,此后价格为560欧元。

优点:购买后不会自动延长,一年后自动结束。另外办理这种卡不需要照片。
缺点:价格比普通的Bahncard更贵。更糟糕的是购票时只有持有Bahncard Business才能享受10%的大客户优惠,而以前则是只要使用公司的信用卡支付就可以自动享受购票9折。

2011-11-14

vim读取临时文件出错

在Windows 7 enterprise (64bit)下使用 gvim 7.3 (64bit),安装了taglist插件,把ctags 5.8放到了路径里,每次在编辑窗口中用 :Tlist 打开列表窗口时总会出现错误提示:
Error detected while processing function 14_Tlist_Window_Toogle..14_Tlist_Window_Open..14_Tlist_Window_Refresh..14_Tlist_Window_Refresh_File..14_Tlist_Process_File:
line 83
E484: Can't open file C:\tmp\VIo24EF.tmp

在windwos下定义了TMP变量为C:\tmp,猜想问题应该出在这个临时文件没有正确生产,导致无法读取。使用 :help E484查看帮助,得到解释:

                            *E484* *E485*  >
  Can't open file {filename}
  Can't read file {filename}

Vim cannot read a temporary file.
查看vim手册,得到解释:

Can't open file C:\TEMP\VIoD243.TMP

On MS-Windows, this message appears when the output of an external command was to be read, but the command didn't run successfully.  This can be caused by many things.  Check the 'shell', 'shellquote', 'shellxquote', 'shellslash' and related options.  It might also be that the external command was not found, there is no different error message for that.
ctags 确认是在路径里,所以只能是调用外部命令没有成功执行。查看shell设置(set shell?)得到:
shell=C:\Windows\system32\cmd.exe;C:\users\dingjun.jia\documents\programme\SysinternalsSuite
不知道是自己不小心把环境变量ComSpec定义错了,还是安装SysinternalsSuite套件时,这个变量被修改了。换用了gvim 32bit版本,修正shell设置后,不在出现错误。

windows 7下几个有用的快捷键

  • Ctrl+Shift+N: 在Windows Explorer中创建新文件夹
  • Win + X: 调出windows mobility center,可以更改屏幕显示亮度,声音,无线网络等设置
  • Alt+Up: 在Windows Explorer中向上一级目录跳转
  • Alt+P: Toggles the preview pane in Windows Explorer
  • Shift+Right-Click on a file: 在右键菜单中增加复制文件所在的目录.
  • Shift+Right-Click on a file: Adds extra hidden items to the Send To menu.
  • Shift+Right-Click on a folder: 在右键菜单中增加Command Prompt Here
  • Win+P: 调整显示屏幕输出
  • Win+(+/-): 放大或缩小屏幕
  • alt + space, then n: 最小化当前激活的窗口
  • alt + space, then x: 最大化当前激活的窗口

2011-11-10

Excel 2010下仅显示重复内容

表里有很多数据行,如果仅显示重复行,可以使用如下操作:
conditional formatting ->highlighting duplicate value,然后点击Data菜单下的filter,在filter上选择filter by colour即可。

2011-11-09

SAP PI 7.11 Runtime Workbench

SAP help 页面
PI 7.11 monitoring
http://help.sap.com/saphelp_nwpi711/helpdata/en/48/aeb1925bb5356be10000000a421937/content.htm

PI 7.0 Runtime Workbench
http://help.sap.com/saphelp_nw04/helpdata/en/88/21bc3ff6beeb0ce10000000a114084/content.htm

Runtime Workbench用于监控PI的各个组件的运行情况,包括下列功能:

Component Monitoring

其中包括
Integration Engine
Business Process Engine
Mapping Runtime
Adapter Engine
Proxy Runtime

Message-Monitoring

下面包括
Integration Engine
Adapter Engine
Proxy Runtime

End-to-End-Monitoring


Performance-Monitoring

Index-Administration

SLD-Registrierung

用于注册以下组件到SLD
Adapter Engine
Runtime Workbench
Integration Directory
Intgeration Repository

Configuration

Alert-Konfiguration

定义 alert category 和 alert rule

Alert-Inbox


Cache-Monitoring

监视不同组件的Cache更新状况
Integration Server (ABAP Cache, including cache object: party, communication component, channel, receiver agreement, sender agreement, interface determination, operation mapping, integration process, process component, alert category)

Central Adapter Engine (including cache object: party, communication component, channel, receiver agreement, sender agreement, adapter metadata, SWCV)

Mapping Runtime Cache ( including Cache object: Value mapping group, mapping progam, SWCV, Channel)

2011-11-02

oulook 2010的邮件索引问题

系统windows 7 entreprise (64bit),outlook 2010 (32bit,版本号14.0.6025.100),MS Exchange 2010 mail account。

最近发现search folder下的文件下总不能自动更新,查看被禁用的addin包括windows search Email indexer mssphtb.dll。启用后重启outlook,又自动被禁用。新建了mail profile也无济于事。后来发现问题根本不在这个addin上,因为根据微软的KB http://support.microsoft.com/kb/2385524, 这个addin在outlook 2010里本身就是被禁用的。
After you install Outlook 2010, you may see the Windows Search Email Indexer add-in listed under Disabled Application Add-ins. This behavior is by design.
安装完service pack 1后问题还是存在。

vim下以tab方式打开文件

gvim在windows下安装后,使用edit with vim菜单每次打开一个新文件的默认方式是新开一个窗口。使用edit with existing Vim打开文件使用已存在的窗口,新开一个buffer,不过不是以tab的方式来显示。在不同buffer之间切换还须使用 :b bufferNumber。要把一个buffer以tab的方式显示,可以使用命令:

:tabnew | b 2 (把buffer 2以tab的方式显示)


如果要直接以tab的方式来打开,在 _gvimrc 中添加:
if (&diff==0)
    :autocmd BufReadPost * tab ball
endif
很奇怪,这样虽然能以tab的方式打开文件,可是后打开的文件没有syntax highlight。

改成下面的设置就没问题:
:au BufAdd,BufNewFile,BufRead * nested tab sball
:bn 切换到下一个tab,:bp 切换到上一个tab,gt 在tab之间切换。

2011-10-27

PI useful URLs

PI开发中的常用URL

Design Time

http://<host>:5<sys>00/dir/start/index.jsp Process Integration PI 7.1 tools

http://<host>:5<sys>00/sld/index.html System Landscape Directory (SLD)

http://<host>:5<sys>00/rep/start/repository.jnlp Enterprise Services Repository (ESR)

http://<host>:5<sys>00/rep/support/public/LockAdminService Unlock Enterprise Service objects

http://<host>:5<sys>00/dir/start/directory.jnlp Integration Directory(ID)

http://<host>:5<sys>00/sr Service Registry(SR)

Runtime

http://<host>:5<sys>00/rwb Runtime Workbench(RWB)

http://<host>:5<sys>00/nwa Local SAP Netweaver Administrator (NWA)

http://<host>:5<sys>00/nwa/quicklinks NWA Quicklinks

http://<host>:5<sys>00/nwapi Central SAP Netweaver Administrator (Visual Admin in XI)

http://<host>:5<sys>00/index.html Netweaver Application Server Java

http://<host>:5<sys>00/CPACache CPA Cache Monitoring

http://<host>:5<sys>00/CPACache/refresh?mode=delta Delta CPA Cache refresh

http://<host>:5<sys>00/CPACache/refresh?mode=full Full CPA Cache Refresh

http://<host>:5<sys>00/mdt Message Display Tool (MDT)

http://<host>:5<sys>00/mdt/channelmonitorservlet Communication channel Monitoring

http://<host>:5<sys>00/mdt/amtServlet Adapter Monitoring

http://<host>:5<sys>00/AdapterFramework/admin/channelstatus.jsp Communication channel Status

http://<host>:5<sys>00/MessagingSystem Message Display Tool

http://<host>:5<sys>00/MessagingSystem/monitor/sequenceMonitor.jsp EOIO Sequence monitor

http://<host>:5<sys>00/MessagingSystem/monitor/systemStatus.jsp Message Queue monitor

http://<host>:5<sys>00/TREX/Monitor TREX Application

http://<host>:5<sys>00/rwb/rtc?op=init Re-Initialize Runtime Workbench
其它:
http://<host>:5<sys>00/utl/UsageTypeInfo  information about useage types

2011-10-21

短途行车导致电池电量不足

上周六车子(BMW E61)显示电池电量不够(erhöte Battrieentladung, Battrie stark entladen)。周一约了个时间,今天去Dreieich的BMW店把车子送过。维修人员上来就问车子开的是否频繁,答曰每周约100公里。对方马上就说车开的太少了,导致电池充电不够,太短距离的行车根本不能给电池充上足够的电,发而会让电池发电,最后导致电瓶电量不够。

去之前google了一下这个问题,网上大部分的讨论都是说电池出问题的可能性很大。我提出给检查一下是否电池有问题,如果有问题,就换一个吧。维修人员先开出了一个检查费用报价,含税155.17欧元。这仅仅是检查的费用。一个电池含税价要215.07欧元(Teilenummer: 61 21 8 381 768),不知道是AGM还是GEL电池,也不知道是多少安培的。这还不包括安装电池的费用,据说如果新换了电池还要在车载电脑Energiemanagement里重新注册一下才能给新电池正常充电。维修人员建议购买一个充电器,定期给电池充电,解决短途行车导致电池充电不够的问题。BMW提供的充电器(Teilenummer: 61 43 2 153 788)的含税价格刚好100欧元(看工作人员电脑显示物料管理用的是SAP)。所有的费用Europlus Garantie都不管,得自掏腰包。


网上的一个讨论:
ca. 30 min bis 1 Std sollten zum Aufladen der Batterie in Ordnung sein. Eine durchschnittliche Lima liefert ca. 50-80 Ampere, Licht, dicke Anlage und Heckscheibenheizung aus, bleiben noch die Verbraucher zur Funktion der Motorsteuerung, sagen wir...10 Ampere, grosszügig bemessen.
Eine durchschnittliche Batterie hat eine Kapazität von ca. 36 - 80 Amperestunden. Einfache Rechnung:
36 Ah Batterie,
80 Ampere Lichtmaschine - 10 Ampere Verbraucher...Ergo 70 Ampere...
Dann ist die Batteie theoretisch in ner halben Stunde voll.
Bei normalem Fahrbetrieb z.B- täglich 15 Km zur Arbeit sollte mit der Leistungsfähigkeit der Batterie nix passieren. Wenn Du aber mit dem Auto nur ins Dorf zum Einkaufen fährst, wohlmöglich noch bei kalten Temperaturen, Heckscheibe und Licht an, hat die Batterie keine Chance vernünftig geladen zu werden.
Wenns das alles nicht ist, sollte vielleicht mal ne neue Batterie her. Manche geben nach drei Jahren den Geist auf, andere wiederum halten 3x so lange. Da steckt man halt nicht drin. 


2011-10-20

BWM E60/E61 隐藏菜单

在网上看到宝马的E60/E61系列的iDrive里有一个隐藏的菜单,在这个隐藏菜单里可以看到当前运行的各种软件的版本。进入菜单的方法如下:

Grundmenü am Bordmonitor einschalten
Controllerknopf 10 sec gedrückt halten
3 mal rechts
3 mal links,
1 mal rechts
1 mal links
1 mal rechts
1 mal drücken
fertig

一会儿左三圈,一会儿右三圈,感觉跟开个保险箱似的 :)

2011-08-24

download SAP Netweaver Development studio


SAP Netweaver Development studio

https://nwds.sap.com/swdc/downloads/updates/netweaver/nwds/ce/

OSS user required

用firefox浏览器下载超过1G的文件还是不太可靠,到快下载完时程序容易死掉,最好还是用wget。

wget  --user=USER --password=PWD  --no-check-certificate  https://nwds.sap.com/swdc/downloads/updates/netweaver/nwds/ce/710/NWDS_platform.zip

2011-08-05

Android启动时间过长

不知道是上次摔了一下手机,还是安装了某个或某些程序,启动GT-9000时间太长了。有时半个小时都不一定能完成启动能输入PIN,进入能打电话的状态。这要是赶上紧急情况,只能把人急死,把手机砸碎。虽然不能进入登陆界面,不过还好能连接到adb。用Android SDK下的ddms查看了一下启动日志信息,发现无法启动是因为系统一直在等待一个名为media.audio.flinger的服务。

08-05 09:08:53.396: ERROR/ServiceManager(2850): set property for kill mediaserver process
08-05 09:08:53.396: INFO/ServiceManager(2850): Waiting for sevice media.audio_flinger...
08-05 09:08:54.398: ERROR/ServiceManager(2850): set property for kill mediaserver process
08-05 09:08:54.400: INFO/ServiceManager(2850): Waiting for sevice media.audio_flinger...:

杀掉这个等待进程后又进入下一次循环,最后又处于黑屏等待状态。希望能尽快解决这个问题。

2011-07-28

命令行工具puttycyg

一直舍不得linux下的命令行工具,所以在笔记本上都一直装了cygwin。cygwin自带的命令行界面有太多不方便的地方,于是一直都是装了open ssh server,然后用putty登陆本机获得命令行界面。以前一直都可以用pageant加载私钥登陆不用输入密码。可是自从笔记本升级到windows 7,登陆windows的用户变为域用户之后,用pageant加载私钥登陆总是失败。为了不用输入密码获得命令行界面用了一下puttycyg,基本和 putty一样,只是多了一个connection type选项 cygterm,在命令行填入bash,port选项不用填就可登入。

2011-07-07

PI lookup use缺少权限

PI lookup user 在SAP ECC里不能读表LFBK,得到错误权限不够。查看LFBK的authorization group为FA,在表TBRG里查找到相应的 authorization object为S_TABU_DIS。

The table that contains all authorization objects is TOBJ.
The table that contains all activities is TACT.
The table that contains definition of all authorization groups is TBRG.

使用表AGR_USERS查找用户的role。查看一个authorization role 包含哪些authorization object,使用表 AGR_1251

2011-05-15

SAP NetWeaver Process Orchestration

SAP NetWeaver BPM
SAP NetWeaver BRM
SAP NetWeaver PI
三者合起来就是SAP NetWeaver Process Orchestration?

2011-05-02

PI message mapping editor shortcut

PI 7.0下的graphic message mapping editor下按住contro + shift,点击鼠标右键,有更多隐藏选项。更强大的快捷组合键是:control + shift + 0

2011-03-28

debug su01

se93,输入su01,得到su01的program名SAPMSUU0。然后se38,输入程序名,进入debugger。然后在debugger中设置断点,方法如下:
breakpoints -> breakpoints at ->breakpoints at Subroutine,在Program处填入saplsuu0,在Fmla处填入auth_check。

2011-01-20

解决jdownloader窗口不能选择正确的显示器

在办公室把笔记本和另外一个显示器连了起来,把笔记本设置为主显示器,画面扩展到大的显示器上。问题出在当把笔记本与外接显示器断开时,启动jdownloader后,jdownloader窗口不能正常显示在笔记本的屏幕上,似乎“显示”在已经没有连接的外接显示器上。鼠标移动到任务栏的图标上,可以看到窗口的缩略图,可就是不能把窗口拽回来。上次就遇到过这样的情况,当时刚好遇上电视开着,就把笔记本与电视连了起来,把窗口拽了回来。这次从办公室回来又发生这样的情况,以为重启启动一下电脑会解决这个问题。没想到重启后还是同样的问题,只好另寻出路。试了一下,这个方法管用。将鼠标移到任务栏的图标上,显示程序缩略图,然后单击右键出现菜单,选择移动,此时千万不要移动鼠标,而是移动左方向键,窗口就回来了!

这个问题好像和java有关,因为上次用的SAP download manager也是用java写的,也有同样的问题。

2011-01-15

XSLT 1.0处理分组

在处理一个接口映射时遇到需要分组的问题,因为发送方使用JDBC adapter从数据库抽取数据,SAP PI得到的数据结构为:
<row>
<column1/>
<column2/>
<column3/>
</row>
其中column1,column2,column3是JDBC adapter中SQL查询语句里select的表列。
这个问题通过graphic mapping的node function估计应该能解决,但没有例子和好的文档就先放弃了,改用XSLT来实现。现在读取出来的数据中有一列为INVOCIE_ID,同一个INVOICE下有多个line_item。为每一个INVOICE _ID应生成一个IDoc,所有具有相同INVOICE_ID的line_item要映射到同一个IDoc下。如果环境支持 XSLT 2.0,可以很方便的使用group-by解决分组的问题。试了一下SAP PI环境不支持group-by语句,只能使用XSLT 1.0支持的语句。一个名为Muenchian的方法颇为有名,使用了xsl:key语句和key函数,提高了XSLT处理分组的性能。一个简化的例子:
XML 源文件
<?xml version="1.0" encoding="UTF-8"?>
<MT_PTP_PURCHASEINVOICE>
    <row>
        <INVOICE_ID>12</INVOICE_ID>
        <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
        <LINE_NUMBER>1</LINE_NUMBER>
    </row>
    <row>
        <INVOICE_ID>12</INVOICE_ID>
        <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
        <LINE_NUMBER>2</LINE_NUMBER>
    </row>
    <row>
        <INVOICE_ID>13</INVOICE_ID>
        <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
        <LINE_NUMBER>1</LINE_NUMBER>       
    </row>
   <row>
        <INVOICE_ID>13</INVOICE_ID>
        <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
        <LINE_NUMBER>2</LINE_NUMBER>
    </row>
</MT_PTP_PURCHASEINVOICE>
XSLT 表单
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output indent="yes"/>
    <xsl:key name="mykey" match="row" use="INVOICE_ID"/>
    <xsl:template match="/">
        <doc>
            <xsl:for-each select="//row[count(. | key('mykey', INVOICE_ID)[1]) = 1]">
                <xsl:sort select="INVOICE_ID"/>
                <invoice>
                    <INVOICE_ID>
                        <xsl:value-of select="INVOICE_ID"/>
                    </INVOICE_ID>
                    <items>
                        <xsl:for-each select="key('mykey', INVOICE_ID)">
                            <xsl:sort select="LINE_NUMBER"/>
                            <line>
                                <xsl:value-of select="LINE_NUMBER"/>
                            </line>
                        </xsl:for-each>
                    </items>
                </invoice>
            </xsl:for-each>
        </doc>
    </xsl:template>
</xsl:stylesheet>

2011-01-11

XSLT下填充空白字符

今天遇到一个问题需要对一些字符串进行操作,以保证字符串达到给定的长度。如果字符串长度不够则在字符串后面添加空白字符来补齐。刚开始的想法是用给定的长度(m)减去字符串的长度(n),然后在字符串后面添加(m-n)个空白字符。不过去构造这(m-n)个空白字符还要额外想办法。google了一下xslt padding,更简洁的办法是添加超过给定长度的空白字符,然后用substring去取指定长度的字符串即可。同一个问题换一个思路方便多了。

如果要常用到,定义一个template,带两个参数。
<xsl:template name="pad">
<xsl:param name="str"/>
<xsl:param name="len"/>
<xsl:variable name="spaces"><xsl:text>                           </xsl:text></xsl:variable>
<!-- <xsl:text>在这里很重要,避免空白字符被过滤掉 -->
<xsl:value-of select="substring(concat($s, $spaces), 1, $len)"/>
</xsl:template>

需要时调用这个template即可:
<xsl:variable name="var">
<xsl:call-template name="pad">
<xsl:with-param name="str" select="concat(firstname, ', ', name)" />
<xsl:with-param name="len" select="10" />
</xsl:call-template>
</xsl:variable>

更灵活一些的template,'padVar' 是要填充的字符, 'length' 是给定的长度。
在前面插入,右对齐:
<xsl:template name="prepend-pad">
<!-- recursive template to right justify and prepend-->
<!-- the value with whatever padChar is passed in   -->
<xsl:param name="padChar"> </xsl:param>
<xsl:param name="padVar"/>
<xsl:param name="length"/>
<xsl:choose>
<xsl:when test="string-length($padVar) &lt; $length">
<xsl:call-template name="prepend-pad">
<xsl:with-param name="padChar" select="$padChar"/>
<xsl:with-param name="padVar" select="concat($padChar,$padVar)"/>
<xsl:with-param name="length" select="$length"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring($padVar,string-length($padVar) - $length + 1)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

在后面插入,左对齐:
<xsl:template name="append-pad">    
<!-- recursive template to left justify and append  -->
<xsl:param name="padChar"> </xsl:param>
<xsl:param name="padVar"/>
<xsl:param name="length"/>
<xsl:choose>
<xsl:when test="string-length($padVar) &lt; $length">
<xsl:call-template name="append-pad">
<xsl:with-param name="padChar" select="$padChar"/>
<xsl:with-param name="padVar" select="concat($padVar,$padChar)"/>
<xsl:with-param name="length" select="$length"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring($padVar,1,$length)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

2011-01-10

galaxy s 的几个常用按键操作

拿着galaxy s手机还没翻看过说明书,不知道这里列出的按键操作是否在说明书中已被提及。
  • 快速重启:同时按住 加大音量和电源键 5秒钟。这样不必按住Power键,选择关机,然后再按Power开机。
  • 调出搜索框:长按住菜单键
  • 切换任务:长按住Home键
  • 在联系人里,往右滑动,拨打联系人电话,往左滑动,发送短信

2011-01-06

启动android SDK manager

Samsung的galaxy s到了,免不了要折腾一下。在笔记本上装了android的SDK,选择的是推荐的installer安装文件。安装完后竟然不能启动SDK manager。点击后没有任何反应,在命令行下执行android.bat update sdk得到错误提示:
'java -jar lib\archquery.jar' is not recognized as an internal or external command,
operable program or batch file.
ERROR: SWT folder '' does not exist.
Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
google了一番,禁用了windows 7的UAC,用管理员权限执行命令,都是同样的结果。既然变量ANDROID_SWT没有被赋正确的值,直接在
for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
后面加上了:
set swt_path=lib\x86_64

在执行android.bat得到错误提示就比较有帮助了:
Cannot load 64-bit SWT libraries on 32-bit JVM
因为windows操作系统是64位的,而我装的JDK是32位,为了运行SAP PI 7.0的客户端,因此64位的swt.jar不能加载。修改为:set swt_path=lib\x86 就能正常启动了。

新手机Samsung Galaxy I9000的版本

新手机到手后先用Samsung的Kies更新到到了Anroid 2.2。键入*#1234#得到firmware信息:
PDA: I9000BOJPB (This is android and all the applications that come with it.)
PHONE: I9000BOJP3 (This is the firmware of the wireless chipset of the device and will operate you WiFi, Blutooth and 3G/2G/GSM connections. 这就是常说的Radio ROM)

CSC: I9000GDTMJP6 (Customer Specific Customization)
build info: 2010.11
这个在刷机的时候检查版本会用到。

soft reset: 按住机身右边电源键
hard reset:按住 VolumeUP+Home+Power,选择“wipe data/factory reset”,恢复到默认设置 (我的手机的这个组合键好像被禁用了,不管用!)

*#1234# : SW Version
*#2222# : HW Version
*#0842# : Vibrator Test
*#0289# : Buzzer Test
*#0228# : Battery Statue

2011-01-04

导入以前的posts

圣诞节前就把wordpress里的帖子导出来,并用wordpress2blogger转换成了blogger的格式,可是在导入时遇到一个问题:页面一直在显示导入的进度条,也不给出任何出错信息。用不同的浏览器在不同的时间去导入帖子都是同样的问题,请教了一个也把wordpress转换到blogger朋友还是没有解决问题,于是把这个事先搁了下来。今天突然想起用我的另外一个google account来创建一个blogger帐号来测试一下。不想在新的blogger账户下导入没有遇到任何问题。原来这个问题和我在同一个google account下有多个blogger账户有关。我其中的一个blogger账户里已经包含部分将导入的帖子,因此导入就不能完成。这应该是导入程序会检测在这个google account下的所有blogger账户里是否包含要导入的帖子,如果有,则导入停止。值得改进的是,应该给出一个对用户更友好的信息。

2010-12-16

XML Tagung in Stuttgart

Xing收到了明年3月1日在斯图加特举行的一个XML会议的邀请,其中的一名报告者为Dr. Michael Key。如果和XML打过些交道的人想必都听说过这个名字。他参与了XSLT 2.0和XPATH 2.0标准的制定,有自己实现的XSLT processor SAXON,并且写了多本关于XPATH和XSLT的书籍,如XPath 2.0 Programmer's Reference,XSLT 2.0 Programmer's Reference,XSLT 2.0 and XPath 2.0 Programmer's Reference,是一位名副其实的XML专家。他在很多mailing list也很活跃,常常参与有关XSL的讨论和解答有关的问题。本来有个Stuttgart的项目找人,但因为时间上不合适放弃了,否则倒是想去凑个热闹,听听这些站在XML技术最前沿的人能带来什么新鲜的东西。不过想到参加这个会议的报名费(包括一顿自助午餐)也不便宜,普通250欧元,有折扣券的180欧元,也不觉得不参加有多大遗憾 :) 。

2010-12-14

在XSLT中调用Java函数

在为客户实现一个sap PI的interface时,用XSLT去生成IDoc的XML文件形式,通过sap PI的IDoc adapter发送IDoc。由于客户现在用SAP替代了旧的Oracle系统,需要映射一些如Cost Centre和Profit Centre的东西,映射所需的表在SAP PI系统中。要读取数据库中的东西借助XSLT不容易实现,只能用Java。在Java代码中使用SAP JCO读取并返回了正确的值,但是在XSLT中调用JAVA函数却大费了一番周折,问题主要出在该如何声明自定义的命名空间才能使XSLT processor能找到编译好的Java class文件,以调用Java类中定义的函数。
当XSLT文件和Java class文件位于一目录下,经过测试,在Altova XML Spy下,命名空间需要声明为:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:myns="java:Test" exclude-result-prefixes="myns">
其中需要注意的是在xmlns:myns="java:Test" exclude-result-prefixes="myns"中,java不能省掉,Test为Java class的名字,否则Altova 的XSLT processo找不到声明的Java class,会返回ClassNotFound exception。
而在SAP PI 7.0环境下,声明自定义的命名空间必须去掉“java:”,否则也会出现找不到Java class的错误。
示例:
XSLT文件
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:myns="java:Test" exclude-result-prefixes="myns">
 
<xsl:template match="/">
<root>
<text><xsl:value-of select="myns:foo(‘hello’, ‘world’)" /></text>
</root>
</xsl:template>
</xsl:stylesheet>
Java class
public class Test {
     public static String foo(String str1, String str2) {
     return str1 + “ ” + str2 ;
     } 
}

2010-12-13

XPATH点滴

XPATH 1.0中一个XPATH表达式返回一个节点的集合(node set),因为是一个集合,所以不存在节点顺序的概念。而在XPATH 2.0中一个表达式返回的则是一个节点序列(sequence of nodes),顺序为document order。

/ 符号:以前基本上认为就是在轴上分隔不同的节点。更广义的理解是这是一个高阶的运算符。比如$EXP1和$EXP2 分别为两个节点集合,那么$EXP1/$EXP2表示对$EXP1中的每一个节点对$EXP2求值,$EXP1/$EXP2的值即为:对$EXP1中每个节点对$EXP2求值的集合。

对轴的理解:轴实际上是一种节点间一对多的映射,可以把轴理解为一种函数,输入为一个单个节点,输出为与该节点有某种关系的节点的集合。

(@code,"N/A")[1]:如果code属性的值不为空,那么这个表达式的值即为code属性的值,否则返回”N/A”。因为当code属性的值为空时,通过运算符逗号 “,” 创建的sequence只有一个item即”N/A”,筛选条件[1]选择sequence中第一个元素。

2010-12-10

实物恋

早上起来打开电视正播放ARD的新闻。很多德国人对柏林墙都是恨之入骨,可是新闻里正报道的一位在柏林生活的美国人对柏林墙却有性喜好。她先是数年前在法国巴黎与埃菲尔铁塔成亲,之后又辗转到柏林,爱上了残余的柏林墙。报道之后采访了一位医学教授,据说德国约有50多名性取向目标为实物。有同性恋,没想到还有实物恋。刚好赶上这条新闻是节目的最后一条,另外估计这个确实罕见,ARD的播音员已经忍不住笑着说了结束语。新闻节目消音后,屏幕上还能看到这位一向严肃的女播音员已经大笑不止了。这和我们的播音员在播音结束后还正襟危坐等待画面切开截然不同。

2010-12-09

不能加载SAPJCORFC

操作系统为Windows 7 64bit Enterprise,JDK版本为32bit的"1.5.0_22"。按照sapjco2的说明已经把sapjcorfc.dll和librfc32.dll复制到目录c:\system\windows\system32,可是仍然得到错误:
Exception in thread "main" java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [no sapjcorfc in java.library.path]. java.library.path [C:\Program Files (x86)\Java\jdk1.5.0_22\bin;.;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Java\jdk1.5.0_22\bin; C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\ThinkPad\Bluetooth Software\;C:\Program Files\ThinkPad\Bluetooth Software\syswow64;C:\Program Files (x86)\Windows Live\Shared;c:\cygwin\bin;C:\Users\dingjun.jia\Documents\Data\UnxUtils\usr\local\wbin;C:\Users\dingjun.jia\Documents\Data\projects\o2 SAP\cmd;]
    at com.sap.mw.jco.JCO.<clinit>(JCO.java:820)
    at JM_I025B.countVendorData(JM_I025B.java:26)
    at JM_I025B.main(JM_I025B.java:10)
很明显是找不到sapjcorfc.dll,所以不能加载。把sapjcorfc.dll和librfc32.dll这两个文件复制到jdk的bin目录下,也就是上面错误中的第一个目录中,就能正确加载了。难道java只在目录列表中的第一个目录去寻找。

2010-11-23

PI 7.1与PI7.0的比较

Name changes PI 7.0 -> PI 7.1

Integration Repository (IR) -> Enterprise Service Repository (ESR)
message interface -> service interface
interface mapping -> operation mapping
business service -> business component

Features of PI 7.1 over PI 7.0

a) Repository Objects

  • Service Registry (SR) is to support publishing, classifying, discovering services.
  • Service Interfaces (SI) may contain several operations where each operation describes one communications (Synchronous / Asynchronous). The various attributes are Category (I/O/A), Mode(S/A), Interface Pattern & Operation Pattern
  • Interface patterns is a new attribute of a service interface that describes the type of communication that is to be executed on the message (Stateless/ Stateless Xi 3.0 Compatible / TU&C/C and Stateful)
  • Operation Patterns depends on Interface patterns (Normal / Commit/ Rollback / Confirm/Tentative Update/Compensate)
  • SAP Global Data type (GDT) is introduced to have business semantics in order to replace SAP Core DT
  • Folders are introduced to organize projects and interfaces which have access authorizations
  • We can use either XML toolkit / JDK 1.5 toolkit for JAVA and XSLT Mapping.

b) Mapping Enhancements


  • We can set Failure Behavior in fix values and value mapping (Return initial value/Default/Exception)
  • Output of fields and functions can be used for multiple target fields for Reusable / Better Runtime Performance
  • Tool support to adjust the mappings after the structure changes to avoid structural inconsistencies.
  • Storing intermediate Results in a variable can be possible and can be reused.
  • Complete copy of XML sub trees is possible
  • Parameterized mapping is useful for Channel Lookup and Reuse of multiple mapping in Interface Determinations and to transfer content of Container in UDF.
  • Function Libraries is useful for reuse of UDF and enhanced portability of UDF.
  • Graphical Support of RFC Lookup and JDBC Lookup is available.
  • Importing SQL Tables Meta Data is possible

c) ccBPM


  • Step Groups - Set of steps that can be reused by embedded in Integration Process across SWCV. Step Parameters can also be used in step groups.
  • Configurable Parameters - Defined in Integration process and the values can be used assigned in ID. Here Agents, Communication channel and simple data type can be used as parameters.
  • User Interaction - User Decision Step in Integration Process with an agent configured in ID is used to get the workflow message to make a decision

d) Configuration Objects


  • Web Service Reliable Messaging WS-RM for Asynchronous messaging is configured in Sender Agreement and Communication Channel for a considerable level of reliability and security.
  • Principal Propagation based on Security Assertion Markup Language (SAML 1.1) can be configured in WS adapter. It means user is securely propagated from a sender system to receiver systems. An authorization check in receiving system based on original user.
  • Advanced Adapter Engine (AAE) is used to increase the performance of message processing by eliminating the need for ABAP stack during the process.
  • Reusable Receiver Rules for logical routing can be used in different Receiver Determination.
  • Cache Notification function is enhanced to analyze the possible error.
  • XML Payload validation is possible in sender and Receiver agreement.
  • Publish the sender agreement in Service Registry for web service Client and provider connected to IS.
  • Centralized administration and monitoring is done by SAP NetWeaver Administrator.
  • Message Packing enables processing bulk messages in one service call and reduce context switches

2010-10-27

XSLT SAP PI 7.0

这两天写xslt文件用于在SAP PI 7.0环境下的interface mapping,才发现SAP PI 7.0下的XSLT环境不完整支持xpath 2.0,如:
  • 不支持xpath 2.0下表示两个节点集合的xpath运算符intersect。Dr. Kay在很多年前就提出在xpath 1.0下的替代表达式 $ns1[count(.|$ns2) = count($ns2)]倒是派上了用场,只是效率差些。
  • 不支持XPATH 2.0下的函数current-date。XPATH 1.0里根本就没有针对date和time的函数,在XSLT下通常只能通过传递参数给stylesheet才能解决这个问题。不过这个问题倒是借助SAP PI的运行环境能解决,因为它提供一些参数,只需在stylesheet下声明一下就可以使用如:

<xsl:param name="TimeSent" />
SendTime的值的格式为:YYYY-MM-DDTHH:MM:SSZ

更多可供使用的参数见:http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/frameset.htm

2010-10-21

暂时远离64位应用

现在64位的windows操作系统被越来越多的安装在个人电脑上了。前两天笔记本的硬盘声音不对去公司更换了个硬盘。换完硬盘后也换上了64位的windows 7 enterprise。不过选择64位的应用程序还是要谨慎,因为很可能和其他的应用程序不能很好的兼容。

之前没仔细阅读64bit office 2010的release note。在msdn下载安装完后才发现问题不少。首先是64位的Outlook 2010与Windows mobile device center不兼容。和我的HD2同步时显示错误提示:
Either there is no default mail client or the current mail client cannot fulfill the messaging request. Please run Microsoft Outlook and set it as the default mail client.

google了一番之后才知道这是一个64bit office 2010的已知问题,尽管问题并不是在64 bit的Outlook 2010这个产品上。微软在2010年5月份就发布一篇KB( http://support.microsoft.com/kb/980513/en-us )描述了这一问题。不能同步的原因在WMDC(windows mobile device center)上,不过软件巨人微软根本不打算修正这一问题(There are no plans to update Windows Mobile Device Center to improve compatibility with Outlook 2010),强迫用户用户要么换回32位的Office应用程序,要么更换手机!我相信为windows phone 7开发的同步软件肯定会修正这一问题,但是那些还没有使用windows phone 7的用户就这样被抛弃了。如此微软怎么能期望更多的用户使用基于windows mobile的手机。很想知道微软如果修复这样一个问题需要多大的开销。

另外一个软件巨人的免费产品google calendar sync也不能和64位的Outlook实现同步。google也是不推出任何更新已解决这个很多用户反映了很久的问题。

2010-10-07

SAP PI 7.11 Integrated Configuration

SAP PI 7.1 EHP1在integration directory中引入了一个新的collaboration agreement object类型,名为Integrated Configuration。这种类型下的message处理仅在advanced adapter engine里完成,与ABAP Stack的Integration Engine无关。

Defining the Integrated Configuration
http://help.sap.com/saphelp_nw73ehp1/helpdata/en/48/cfac399bf23e49e10000000a421937/content.htm

How To configure Integrated Configuration

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/700058f0-b1a1-2a10-39a8-ab2627b87cfa?overridelayout=true

2010-10-06

vim下移动到特定列

以前只知道如何在vim下在不同的行之间移动,现在需要经常在同一行内移动到特定的列,用法为 n|,n为光标所在的列的数目。
在google中查找这个用法是,先用关键字 vim jump to column查找,估计是因为关键字jump的原因,结果中出现了很多在不同tag之间跳转的结果,后来换成vim move to column,查询结果就好多了。

2010-09-01

在公司工作3年了

一转眼就在公司干了三年了。从2007年9月在Frankfurt am Main开始,辗转Düsseldorf, München, Oldenburg, Heidelberg, Köln, Krefeld, München。下一站会是那个城市?

2010-08-27

待做检查

Ringelröteln 传染性红斑

CMV ( Zytomegalie )

Toxoplasmose

2010-08-25

更换HTC HD2

尽管刷了官方最新的ROM,并且显示更新成功,可是我的HD2却怎么不能启动了。启动界面停留在屏幕中间出现一个红色圆圈,左下角显示R,G和D信息。折腾了数小时仍然不见起色。考虑到此前运行Navigon和IGo程序都会过几分钟就会莫名死机,并且有时无法重启,或必须多次重启才能进入系统,或出现一输入PIN,机器自动重启,还有一次竟然在打电话时连上电脑也死机了。打定主意联系Tmobile更换一个,因为它还在保修期内。周一早上一早就给Tmobile服务热线2828打电话,除了等的时间有点长约一刻钟外,没有其他可抱怨的,还好服务热线是免费的。不过工作人员的细心度还有待提高,我报上送货地址的街道名后,也不问如何拼写,把街道名的其中两个字母颠倒了。这应该不是工作人员手误,而是不认识这条街名。
发来的传真说,周四通过GLS送货并取走坏的手机。没想到的是周二上午10点多GLS送货的人就到家门口了。从效率上来看,倒真是不赖,街名拼写错误也如此迅速地送到了。可是如果我真按传真上写的送货时间周四来计划,岂不是这效率也白搭。

2010-08-23

更换热水管阀门

周日中午GK又惊呼没有热水了,于是我直奔地下室查看储水罐的水压力表。果不其然,压力表又变为零了。2个月前才加的水似乎又跑光了。以前就注意到有两个阀门有点漏水,但没想到越来越厉害。这两个阀门在从储水罐出来的Speichervorlauf和Speicherrücklauf这两根管子上,都位于Fermwärme设备的大盒子内。不打开大盒子盖是不容易发现漏水情况的。徒劳地往上缠了些胶条和布条,又来回关上打开折腾数次,阀门转动部分与阀门的接触缝隙似乎越来越大,漏水反而越来越大。这下搞不定了只能请教专家了。周一专家过来,把阀门卸了下来,上了些润滑油试图能阻止漏水情况,可是效果不理想,只能买新的阀门来换掉无法修理的坏阀门。麻烦的是这种阀门不是普通的标准阀门,普通的建材市场如Hornbach之类的根本没有,只好去专业的管道建材商店。

拿出黄页一翻,先找到了一家在Rappstraße的店。拿着画的尺寸图和拍的照片和黄页就出发了,带着黄页是怕万一没买到会多跑几家店。果然第一家店就没有这样的阀门,不过店员态度很好,推荐我去位于Intzestraße的一家名为Stapf的商店,离Porsche中心很近。马上赶了过去,店员态度也很好,拿着图纸上后面去找了很久出来了。虽然没有完全一样的阀门,不过找到了替代品。买了两个回家,简单一试,果然相配,再把专家请了过来才把两个阀门正式安装上。此后关于热水的问题应该能消停一段时间了!

2010-08-22

从SD卡更新HD2 Rom

HD2 在安装完取消启动声音功能后就再也不能启动了。每次启动都停留在红色圆圈界面。连接电脑用ROMUpdateUtility.exe重新刷了HTC Tmobile的ROM还是没有解决问题。并且发现进入三色屏时,最上的一行不是类似PB81110 HX-BC,而是怪怪的oo@ HX-BX,上面还有一条短横线。
* der Akku des HD2 sollte mindestens 80% geladen sein um fortzufahren
* schließe den HD2 wieder an den PC an und wähle im automatisch erscheinenden Menü > Festplatt (Disk Drive)
* entpacke mit 7zip das Rom von HTC welches du z.B. hier gefunden hast
* unter den entpackten Dateien befindet sich die Datei RUU_signed.nbh welche du umbenennen musst in LEOIMG.nbh
* kopiere die Datei LEOIMG.nbh aud die SD Karte des HD2
* trenne nun den HD2 vom PC und schalte ihn aus
* drücke und halte jetzt die Volume Down (leise) Taste
* drücke nun zusätzlich die Power Taste und halte beide 5 Sekunden
* wenn ein Menü auf dem Display angezeigt wird kannst du los lassen
* starte den flash Vorgang durch kurzes drücken der Power Taste
* der Vorgang kann bis zu 15 Minuten dauern und darf nicht unterbrochen werden
* wenn der Vorgang abgeschlossen ist drücke den kleinen roten Restknopf unter dem Akkudeckel (neben dem MicroSD Karten Slot)
* nun startet der HD2 neu und sollte das Betriebssystem laden

其中按住降低音量和电源键5秒钟很重要!
从SD卡更新Rom后,显示:
RADIO_V2 – OK
RCUST – OK
BOOTLOADER – OK
SPLASH1 – OK
OS – OK
CONFIGDATA – OK
RUU_WALLPAPER1 – OK
RUU_WALLPAPER2 – OK

Update Complete
Update SUCCESS

2010-08-19

enable Acrobat key shortcut

记的低一点版本的Acrobat在安装完后是默认启用快捷键的,如Acrobat 6。在Acrobat 9中却是默认不启用这个功能。要启用快捷键可在设置中更改。

Edit – Preference – General 中选中 Use Single-Key Accelerators To access tools

2010-05-01

试用HTCHD2

公司的手机可以续合同了,公司提供HTC HD2这款手机。考虑到这款手机的大显示屏和算是不错的硬件配置便毫不犹豫地订了这款手机。周二发的邮件订手机,周五就到了。效率还算是不错。

试用了一会儿,目前发现的问题有:

reset键在里面,必须打开电池后盖才能reset

没有触笔,在选择下拉菜单选项时很难选中

新拿到手免不了要自己刷机,访问各种论坛。一些基本术语是必须要掌握的,如:

LEOIMG.nbh/ruu_signed.nbh/[Randomname.nbh] - These are all the actual roms, the things you need to flash, usually they are called one of the first two names, but some rom chefs give their own names to the roms, but you can always distiguish which file you need as it will always be a "nbh" file and will always be the largest file in the archive/folder

SPL - Secondary Program Loader: Loads the actual OS. (The SPL is what lets you flash the different aspects of your device, however the stock SPL is 'CID Locked' which means only official releases from HTC can be installed.

HSPL - A 'custom' SPL created by the dark forces team (bepe and cotulla), this is CID Unlocked and it lets you install custom roms and flash any radio. The reason it is called 'Hard' is because it stays on your device after a flash, unlike 'Soft' SPL which is removed after a flash.

RUU - The official 'Rom Update Utility' from HTC which is used to do all your flashing from your pc, its essentialy a nice user interface for the SPL

CustomRUU - The custom Rom Update Utility from the dark forces team which is designed to be used with the HSPL

ROM - An operating system build from HTC, updated to bring you the newest functions and fixes

Custom/Cooked ROM - An operating system build built on a stock rom, these are created by 'Chefs or Cooks' who use 'Kitchens' to design their own roms to release to the community, these are usually alot better than stock roms and contain lots of custom tweaks from others in the xda community.

更多术语可以参考xdadeveloper的wiki页面:http://wiki.xda-developers.com/index.php?pagename=Glossary

2010-04-18

没有热水?

复活节就发生过一次,热水明显不够热。地下室里储热水罐的温度显示只有20度,而我设定的热水温度已经调到了最大55度。考虑到复活节让人来修比平时要贵不少,把修理时间订到了周一早上07:00。周一起一个大早,准备接待修理工。洗漱时发现又有热水了,喜出望外之际赶紧给修理工打了个电话取消了修理请求。

这周一又发生没有热水了,症状与上次一样,只是没有“自我修复”。周四下午到家第一件事就是约Mainova的修理工,结果约到周五早上07:00的时间。修理工检查发现,室内热水循环系统的压力变为了0 Bar,正常的数值应为2Bar。修理工清洗了Schmutzfänger(其实这个应该与我的问题无关),然后拿了一根管子连接水龙头往热水循环系统里加水,直到水压升到2Bar为止。据说自来水水龙头的水压在5  ~ 6 Bar左右,经过室内的减压装置水压变为4Bar。

在网上看到在给暖气放气要注意的事项:
Wichtig: Jeh nach Anzahl der zu entlüftenden Heizkörper und Größe des Heizkreislaufs ist es wichtig, daß nach dem Entlüften Wasser in den Heizkreislauf nachgeführt wird, weil der Druck durchs Entlüften abnimmt. Der otpimale Druck liegt in einem Einfamilienhaus bei ca 1,2-1,5 Bar. Unter 1 Bar sollte er nicht fallen. Zu hoch sollte er auch nicht sein, da die Pumpe sonst schwerer arbeiten muß (Verschleiß, Stromverbrauch).
Das Wasser wird übrigens am Kessel wieder nachgefüllt....
Wenn viel Wasser nachgefüllt werden muß (viel frische Luft), sollte man nach 4-6 Wochen nochmal entlüften.

2010-03-14

认识一下Navigon的nfs文件

使用navigon有一年多了,对这个导航还比较满意。中间插在点烟口上给导航器充电的线坏了一次,发了一个邮件给售后服务,很快就得到了回复。更重要的是很快就邮寄来了一根新的线来。这个售后服务做的也是很到家的。导航软件里有不少nfs文件,其用途分别是:

  • Brunnel_EU.nfs:  Positionen der Tunnel für schnellen Satfix

  • CityModels_EU.nfs: Städte und ihre Gebäude so realistisch wie möglich 3D

  • Landmarks_EU.nfs: zeigt Sehenswürdigkeiten und Sonderziele 3D

  • MapDrawer.nfs: für die Darstellung der Karten zuständig

  • poicats.nfs: Darstellung der Pois

  • RealityView_EU.nfs:  zeigt Beschilderung auf Autobahnkreuzen 3D

  • sat_EU.nfs: Darstellung der Übersichtskarte ohne GPS-Empfang

  • Terrain_EU.nfs: Darstellung der 3D Landschaften (Panorama View 3D)

  • TMC.nfs: TMC (pro) empfangen

2010-03-09

o2 loop surf stick 2, Fehler 720

相信会有其他人在google中以标题中出现的单词作为关键字来查找解决办法的。

我的问题是在Lenovo R400下,操作系统为Vista Enterprise + SP1,使用O2的loop surf stick 2,碰到掉线时,不能重新拨号建立连接,modem的log文件里记录720错误:

A connection to the remote computer could not be established.  You might need to change the network settings for this connection.  For further assistance, click More Info or search Help and Support Center for this error number.(720)

每次必须重新启动电脑才能重新建立连接,让人无法忍受。

google了半天,终于找到了如下解决办法:

1. Services.msc ausführen
2. folgende Services als automatisch einstellen

  • Telefonie
  • RAS-Verbindungsverwaltung (rasman)
  • Verwaltung für automatische RAS-Verbindung (rasauto)


3. Rechner neu starten

网上有Windows 7的用户也反映有这个问题,同样的办法估计应该有效!

2010-02-10

新笔记本让人失望

旧笔记本HP Compaq 6400的硬盘好像开始罢工了,开机时不时有蓝屏错误,查询微软知识库,极有可能是硬件错误引起的,日志里也发现disk warning。于是让同事带去公司修理或更换。离更换新笔记本还有3个月,估计support的人也不愿意折腾,换个硬盘,还倒腾一下数据,隔几个月再倒腾一下数据。于是直接给换了一个新的 Lenovo R400。新电脑用了不到一个小时就发现不少问题:

  • S键掉下来了!!重新给按回去了,不过仍旧是松松垮垮的!

  • 键盘的布局不一样了。ESC键被放置了最最上面,F1键取代了它的位置。这样按ESC的时候,总变成按F1键,可恶的是Vista下,windows的帮助似乎不是那么容易被禁用掉。。

  • Control键和Fn键的位置也互换了一下。Control键用的很多,以前在左下角非常方便,不会在按Control时按成其他的键。现在却被夹在了Fn和Windows徽标键之间。这一点网上抱怨的人很多,以thinkpad swap fn control为关键字一查就知道了。原来IBM很早以前就是把Fn键放在左下角的。另外回车键也变小了些。

  • 还有一点个人认为是设计上的缺陷。USB的口被设计成了与桌面垂直,而不是通常的与桌面平行。这样由于我的UMTS卡插上后,由于UMTS卡的宽度比笔记本要厚,这样要么把笔记本垫起来,要么把插UMTS卡的地方悬空。简直无语!

2010-01-22

Vista + SP1开机后出现黑屏

ZN给我打电话,说家里的台式机(fujitsu)开机(Vista Home Premiun + service pack 1)后虽然能启动,但是开机后没有桌面,一片“漆黑”。只能手动启动task manager,然后执行explorer。我以为是注册表被修改了,觉得应该不是什么问题。他买的是西门子的品牌机,买到后自己也没有作镜像备份(这点电脑厂商对普通用户要求有点过高),系统要是出了问题,没有备份光盘,怎么恢复??
我手里没有Vista的安装盘,倒是有win 7。在此之前有个在一台笔记本上安装win 7的愉快经历。安装很快,并且所有的硬件驱动都自动识别并安装好驱动了,省了很多时间,因此建议他也改用win 7。没想到安装win 7后,硬盘狂转一阵后,也是漆黑一片。关机试图进安全模式,被告知因为安装还没有完成,安装程序不能在安全模式下进行。重启两次都戏。没办法只能把win xp的盘扔进去,再折腾一下自己。安装win xp后,启动后桌面能正常加载。
我原来夸下海口说半小时就能搞定,现在一看没戏了。朋友在旁边玩扑克,看我没解决问题,安慰说,没事,原来那样虽然麻烦点也能用。可是现在不能恢复成原来那个样了,只好拿着他的电脑灰溜溜回家了。回家google了一下,有人提到是BIOS的问题。去厂商的网页下了一个最新的BIOS,更新后,重装win 7,问题解决了!
我怀疑是安装SP 1后带来的问题,因为朋友的机器新买到时就是安装的Vista Home版本,用了一年多都没有这样的问题。总结两点:
1. 解决这类问题时间要估计的宽松一些,有时候半天都不一定能搞定
2. 手里一定得有另外一台能上网的电脑,带刻录机,有空白盘 :)

2009-11-10

SAP Utilities课程

Level 2:
  • IUT110 Introduction to ISU/CCS

Level 3:
  • IUT210 Basic Data/Basic Function
  • IUT220 device management
  • IUT221 work management
  • IUT230 Billing and Invoicing
  • IUT240 Contract Accounts Receivable and Payable
  • IUT250 Customer Service
  • IUT280 Print Workbench
  • IUT225 Energy Data Management
  • IUT235 Real Time Pricing
  • IUT255 Integration of CRM, IS-U and BW

2009-11-06

IS-U基础

上两周刚搬完家,在搬家之前就为新家签订了新的供电合同。当时对一些背景知识还不了解,不知道签的合同后面是什么运作的。经过这一周的培训,现在对IS-U多少有些了解。IS-U涉及的行业包括电,气,水,暖气和垃圾处理。国家对这些行业的调整主要是让提供基础网络设施的公司与供应商分离开来,以引入竞争,让消费者有选择的余地。比如在电网商和供电商没有分开时,消费者只能从当地的电网商购买电,现在就可以向其他供电商购买电,而只需向电网商支付一定的网络使用费用。目前德国的电和气这两个行业在Deregulierung上已经走在了前面,接下来水,暖气和垃圾处理行业会逐渐面临这个问题。

能源市场上的各个公司之间的数据通信采用统一的EDIFACT标准,使用的数据段类型包括:
  • UTILMD:utility master data message
  • MSCONS:meter service consumption report message
  • REMDAV:remittance advice
  • INVOIC:invoice message
  • CONTROL:control message
  • APERAK:application error and acknowledgement message
  • REQDOC:require MSCONS
  • ALOCAT:

UTILMD中包含的值(粗体为常见值):

category:

E01 = Anmeldungen (Netznutzung)
E02 = Abmeldungen (Netznutzung)
E03 = Änderungsmeldungen
E04 = Zuordnungsliste Abgänge
E05 = Zuordnungsliste Zugänge
E06 = Zuordnungsliste Lieferstellen
E07 = Lieferantenzuordnungsliste
E27 = Anfrage
E35 = Kündigung Liefervertrag
E40 = Bilanzkreiszuordnungsliste
E44 = Informationsmeldung (zur Auflösung der Lieferantenkonkurrenz)
E48 = Anmeldung Beistellung
E50 = Abmeldung Beistellung

transaction reason:

E01 = Ein-/Auszug
E02 = Einzug (Neuanlage)
E03 = Lieferantenwechsel
E04 = Ersatzbelieferung
E05 = Stornierung
E06 = Notversorgung

各个类型的值和具体构造可以参看 http://www.edi-energy.de .

2009-10-23

把电话设为音频拨号

家里这个Sigma电话(TAF890 D)虽然内置数字留言功能,不过出厂默认设置竟然是脉冲拨号。在音频拨号和脉冲拨号之间切换还不是通过硬拨动一个小开关,而是通过输入一组键来实现切换。正因为如此才一直保留着那本说明书。切换到音频需要提前电话,并连续输入-> * 3 ->。

2009-10-16

学习BC480课程

BC 480是一个关于在SAP系统中使用基于PDF的打印表单的课程(PDF-Based Print Forms),包括附录一共9个单元。第一单元介绍了SAP interactive form by Adobe与以前的SAPscript和Smart Form相比的优点:
  • PDF是web上表单的事实上的标准
  • Adobe的产品LiveCycle Designer使得设计表单更为轻松和灵活
  • SAP NetWeaber Development Studio和 ABAP Workbechn都集成了LiveCycle Desinger
  • 多种格式的图像文件无需转换可直接插入到表单中
  • 可以旋转对象(包括文本)
  • 可以在同一个表单中的不同页面中使用不同的orientation(landscape or portrait)
  • Forms can be created so that they conform to accessibility standards
  • Complex layout elements can be shared between form developers
  • Existing PDF or Word documents can be imported
  • TrueType Fonts can be used; installation requires no upload
  • Barcodes can be printed on all printers of types Postscript, PCL, PDF, or Zebra
  • Mailing and faxing is easier
  • Forms are regular Repository objects with standard transport and versioning
  • Interactive scenarios and integration into browser-based applications are possible (Web Dynpro for Java or ABAP)
在设计表单时主要完成interface和form template这两个东西,其中template包括content和layout两部分。interface定义了程序可以传递哪些数据给表单,content则定义了interface中的那些部分可以被用在表单中。

2009-10-09

Adobe提供的几个常用网页

1. http://www.adobe.com/support/documentation/
Adobe各种产品的在线文档。打开这个页面后选择想查看的产品,然后会转到http://livedocs.adobe.com/域名下。如选择livecycle后,页面会跳转到 http://livedocs.adobe.com/livecycle/8.2/wb_designer/wwhelp/wwhimpl/js/html/wwhelp.htm 。因为Livecycle designer的帮助文件在不是当前窗口也显示在前,因此查看在线的会更方便些。
2. http://cookbooks.adobe.com/
这个网页与Oreilly合作,用于分享和查找与Adobe产品相关的代码,现在最活跃的是与Flex相关的板块。
3. http://learn.adobe.com/
这是一个wiki站点,让大家共同来创作帮助初学者学习Adobe的产品。