Windows Vista Form 乱码

Posted on November 27, 2008 - Filed Under E-Business Suite | Leave a Comment

之前介绍过 Windows 2003 平台上Form乱码的解决方法,现在系统已经升级到了Windows Vista,发现默认环境下也是有问题的,需要做一些简单的配置和调整: 关于登录Array VPN。必须关闭UAC才能启动Array VPN的Addon,否则,即便允许其执行,当授权返回后VPN也不会启动 关于启动Form。默认的JInitiator的jvm.dll版本太老,IE 7 已经不适用了。需要安装JRE 5或以上版本,然后将jvm.dll覆盖JInitiator的jvm.dll。 Form 启动后乱码。这是由于JInitiator没有相关的字体配置文件所致。请至安装目录下将lib目录中的font.properties.zh.5.1拷贝复制为font.properties.zh.6.0。6.0是Windows Vista的内部版本号。 OK,开始工作

OAF的自验证:selfSecured

Posted on November 13, 2008 - Filed Under E-Business Suite | Leave a Comment

OAF的安全模式有两种,一种是standard,一种是selfSecured,默认是standard。如果设置为selfSecured,则由开发人员自行定义安全性验证,也就是对URL中传入参数的合法性验证。 之前介绍过 RF.jsp和fnd_run_function,它们是用于调用其他功能的。如果FND_VALIDATION_LEVEL和FND_FUNCTION_VALIDATION_LEVEL其中一个不为NONE,并且是调用OAF页面,则会自动添加oas参数,这是根据MAC key生成的加密字符串。访问页面时,系统会通过校验该值(通过URLTools.verifySecureURL)进行身份确认,如果不是同一个SESSION,则要求通过主页来重新进入。但是有时候,我们不想修改两个配置文件,同时又允许快速通过链接来访问OAF页面,该如何实现呢?关键就在于Security Mode。 当Security Mode为standard时,系统有默认的安全验证,即如上所述的特性。当其值设为selfSecured时,通过自行在控制器(Controller)中编写validateParameters来进行验证,如: public String[] validateParameters(OAPageContext oapagecontext, Vector vector) { String as[] = { “LEAD_ID”, “SOURCE”, “SECURESTR” }; return as; } 如果不在控制器中编写validateParameters,则依旧默认为standard的行为。

fnd_run_function

Posted on November 11, 2008 - Filed Under E-Business Suite | Leave a Comment

之前已经介绍过 RF.jsp,该功能是用于调用其他功能的。使用方式,也就是相应的参数,可以通过fnd_run_function.get_run_function_url生成。但是在使用该函数生成的URL时,根据不同系统的配置,可能有不同的效果,例如: You are trying to access a page that is no longer active. – The referring page may have come from a previous session. Please select Home to proceed. 中文: 您正在尝试访问不再有效的页面。 – 引用的页面可能来自上一会话。请选择 主页 以继续。 有两个配置文件可以控制该URL的生成: 1) FND_VALIDATION_LEVEL 2) FND_FUNCTION_VALIDATION_LEVEL 如果两个配置文件值都设置为NONE,则不进行MAC key的验证,同时URL也不会增加oas参数。此时访问RF.jsp就不会再出现会话无效的错误了。 当我们试图访问一个不再活动的页面时,如果引用页不是来自当前SESSION,则要求重新登录或从首页重新打开该页面。该验证就是由上述配置文件控制的,因此修改该配置时还需要考虑这一点,慎重操作。

OAF中使用Groovy

Posted on November 7, 2008 - Filed Under E-Business Suite | 2 Comments

之前介绍过使用Groovy写并发程序。在OAF中使用Groovy也同样有趣,但是实际上,这里并不是直接使用Groovy语法,而是调用Groovyc编译后的class。 首先必须和EBS的java版本保持一致: bash-3.00$ java -version java version “1.4.2_04″ Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05) Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode) (这个版本,看着就头大) Groovy 1.6.x 是不支持java 1.4.x的,必须在1.5版本以上,所以在不升级EBS java版本的前提下,只能使用Groovy 1.5.x (目前最新版本是1.5.7)。遗憾的是,Eclipse不支持1.4.x =_= ,所以不能直接拷贝自动编译的class文件。真是有矛就不能有盾啊~ 步骤很简单: 1. 添加groovy-all-1.5.7.jar。或者解压后直接放到$JAVA_TOP目录下。 2. 在本地切换JAVA_HOME到1.4.x,编译groovy文件,生成相应的class。 3. 上传到服务器相应路径下,直接调用。 这里麻烦的就是本地编译的java环境需要切换一下,不知道有没有什么简便的方式来实现?

RF.jsp (Run Function)

Posted on November 5, 2008 - Filed Under E-Business Suite | Leave a Comment

在Oracle EBS中,不论是Form还是OAF,只要定义成功能了,就可以通过RF.jsp进行调用。这种方式有个最大的方便就是,你可以把链接放到任何你想放置的地方,比如说邮件正文。事实上,Oracle标准的调用方式也是如此。 一种标准的创建URL的方式是利用标准函数fnd_run_function.get_run_function_url。如: DECLARE l_url VARCHAR2(2000); BEGIN l_url := fnd_run_function.get_run_function_url(p_function_id => 28142, p_resp_appl_id => -1, p_resp_id => -1, p_security_group_id => -1, p_parameters => ‘ID=1′, p_override_agent => NULL, p_org_id => NULL, p_lang_code => ‘ZHS’); END; 该函数返回类似如下的字符串: http://host:port/OA_HTML/RF.jsp?function_id=28142&resp_id=-1&resp_appl_id=-1&security_group_id=-1&lang_code=ZHS&params=sj.duQd23zUdctTO-mG7b-T9WvvraxSBe-pGkPnFPbo&oas=nQRSW-NeNOUj7qtLxIOmIA.. 你看到URL末尾两个参数是加密的,其实与其说是加密,不如说是编码过的。Oracle使用WebSessionManagerProc对参数进行编码。个中玄机可以通过下面两个函数得到答案: — 加密 function URLEncrypt(key in varchar2, value in varchar2) return varchar2 as language java name ‘oracle.apps.fnd.security.WebSessionManagerProc.URLEncrypt(java.lang.String,java.lang.String) return java.lang.String’; [...]

Workflow Notification Email charset

Posted on October 31, 2008 - Filed Under Workflow | Leave a Comment

非英语国家阅读电子邮件,最讨厌的莫过于乱码。在工作流邮件中,以前都用Outlook,它对语言编码的兼容性是最好的,所以也没发现过什么问题,最近将客户端迁移到Gmail,才发现工作流邮件的编码有点问题。 直接查看邮件源码。标题: Subject: =?WINDOWS-936?B?(……省略……)==?= 正文编码: Content-Type: text/plain; charset=WINDOWS-936 Content-Transfer-Encoding: quoted-printable Content-Language: en 查询工作流默认语言及编码配置: 1 SELECT wl.nls_codeset 2 FROM wf_languages wl 3 WHERE wl.code = ‘ZHS’; NLS_CODESET —————————— ZHS16CGB231280 在这里,WINDOWS-936 是Windows中的简体中文的字符集,工作流邮件的字符集,是默认为我的邮件客户端应该是运行在Windows上吗?不知道Linux中的Mutt能否正确显示中文……不管它,既然是charset的问题,总是能配置的。 进入Workflow Manager,选择Workflow Notification Mailer并编辑,进入高级编辑选项,一路next到第4步: 选中Rest NLS,意思就是工作流通知邮件根据收件人首选项设置的字符集进行编码。修改完毕后发送测试邮件,看邮件代码: 标题: Subject: =?UTF-8?B?(……省略……)?= 邮件正文: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Language: en OK,告别乱码。

« go back keep looking »

  • Recent Tweets

    • 通信企业内部禁止使用无线路由,是不是有点难以理解?
      6:52 AM Sep 09, 2010
    • 不管是常规行业还是高科技行业,总有一些匪夷所思的方案被提出来,并且总是外行在做决策。
      2:53 AM Sep 09, 2010
    • “模块就如同人的器官,具有特定的功能。人体中最出色的模块设计之一是手,手只有几种动作,却能做无限多的事情。人体中最糟糕的模块设计之一是嘴巴,嘴巴将最有价值但毫无相干的几种功能如吃饭、说话、亲吻混为一体,使之无法并行处理,真乃人类之不幸。”
      1:20 AM Sep 08, 2010
    • 本机架设个IMAP服务器可以解决任何客户端的邮件迁移问题,快速,便捷,高效。
      12:16 PM Sep 06, 2010
    • 大智慧新用户注册时提示密码“可以是英文字母或数字,区分大小写”,但是仅限纯粹字母,或者纯粹数字,如果字母加数字竟然被提示不合法。
      12:26 AM Sep 02, 2010

    Recent Comments

    • lifandong: 学习了,这网站可真清爽,资料也很多...
    • Zeeno: 可以免费的。 他有很多种授权方式,比如写篇博客推荐一番,他也可以给你授权码。...
    • Toney Wu: 有点意思。特别是这种手绘风格即能表达出其际功能,又省得界面开发出和画的不一样让人...
    • 明 强: 今天下班 在说笑中请到了三天假 他问我做什么 随便也提到了谢哥你的博客 我老大说...
    • Zeeno: Oracle ADF 是相对独立的开发框架,目前,ADF没有被EBS应用认证过,...