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,查询结果就好多了。