一直运行的qarun脚本突然不能收集其中几个事务的性能数据了,搞了老半天才发现ERP升级之后,其中的某一个form的label名字更改了,从QUERY_MANAGER_×××变成了QM_×××。所以,脚本怎么也不能定位对应的field,出现错误,脚本便退出了。
是个小问题,开始还以为是预置文件的问题,因为还出现FND: Developer Mode未设置的错误,一直怀疑这个来着。
搞定手工。
2008年1月15日星期二
2007年12月13日星期四
sun-web.xml之痛
去年开发的系统,突然出现了问题,问了原来的开发的成员,说时间太久忘了,只要找我,其实我也差不多忘了。
错误主要是在显示系统中详细信息和保存项目的时候,很快就定位是iplanet端数据库连接池配置问题。
于是,让DBA检查,将密码重新设置,没有成功。
让DBA发过来日志有如下错误,可能是sun-web.xml文件有问题,是不是UNIX下字符出现错误,将我本机的这个文件发过去给DBA,没有成功。
WEB0120: XML error parsing deployment descriptor [/~~~~~~~~/wwwroot/WEB-INF/sun-web.xml]
Failed to create the XML-DOM Document. Check your XML to make sure it is correct.
java.net.ConnectException: 连接超时 at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376) at org.apache.crimson.parser.Parser2.externalParameterEntity(Parser2.java:3064) at org.apache.crimson.parser.Parser2.maybeDoctypeDecl(Parser2.java:1347) at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:656)
最后,重新考虑这个日志的时候,忽略了“java.net.ConnectException: 连接超时 ” 这个错误。怎么会网络访问,重新检查sun-web.xml,发现DOCTYPE节点,其声明的dtd文件是指向http://www.sun.com/的,可能这就是问题所在。以前从来没有注意这个问题,对于DOCTYPE,PUBLIC指定DTD文件是在系统之外,需远程访问;如果是SYSTEM,就在本地找寻dtd文件。虽然在我机器上将网络断开,没有重现这个错误,但是比较肯定系统就是遇到这个问题。将这个节点去掉,将sun-web.xml发给系统管理员,果然成功了!
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 8.1 Servlet 2.4//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-1.dtd">
另外,将系统迁移到iplanet的时候,磕磕碰碰,花费了以整体的时间,记录下来以备忘。
1)Iplanet的版本。
从sun的官方网站下载要注册,我原来有帐户但是忘了,于是从别的地方下载了一个。本来是要6.1版本的,下来发现是6.0的,这就是后面很多错误的根源。
部署完成之后,访问系统的时候,总是出现如下错误:
“"No WebApplicationContext found: no ContextLoaderListener registered"”
在web.xml中增加如下内容,可以Iplanet可以成功启动。
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
但是访问系统的时候,出现Servlet 2.2中不支持setCharacterEncoding() 错误。乖乖,原来IPlanet只支持Servlet 2.2,而我需要的是2.3版本。于是从Sun上下载了6.1颁布,不需要在web.xml增加上述那段,部署成功。
2)数据库连接池的建立
在Iplanet端建立了连接池,出现总是找不到驱动程序的错误,而实际上classes2.jar已经在WEB-INF/lib路径下。最后在JVM Path Settings中将JDBC的路径直接出入,解决这个问题。

3)Iplanet程序的部署。
首先是将Web程序打包成war。但是Iplanet部署war文件的时候有大小限制,可以先不降lib目录打包,待部署完成再拷贝过去。
部署应用。其对应的路径为:
Administration Server > MyServer > vsclass1 > WebApplication。
其中MyServer是系统默认建立的服务器,vsclass1是系统默认建立的虚拟class。可以同时管理n个服务器,一个服务器上又可以建立n个vsclass1,一个vsclass可以对应多个WebApplication。所以,从左到右都是1:n的关系。为什么会有vsclass1的概念呢? 这是因为对于某些Web Application,其配置可能绝大部分相同,所以可以统一在vsclass层次定义就可,这些Web Applications共享这些设置。这个设计应该是为哪些提供hosting服务的机构设定的吧。但是看看现在hosting,绝大部分都在使用LAMP。
然后就是在vsclass层建立,数据库链接池和JDBC的Resource。
最后别忘了将lib拷贝到Web Application的WEB-INF目录下。
总结,
1) 最初发现问题的时候,虽然大概定位,但是没有再深究问题的根本,再加上时差的问题,问题解决效率不高。
2) 没有模拟服务器环境,而开始只在Tomcat上测试,而sun-web.xml在Tomcat环境下是不需要的,对问题的重现带来困难。
3) 在定位sun-web.xml文件的错误之后,没有静下心来研究文档结构,而是意味怀疑字符问题,耽误解决问题的时间。
Any way,问题总算解决了,休息一下,休息一下。
错误主要是在显示系统中详细信息和保存项目的时候,很快就定位是iplanet端数据库连接池配置问题。
于是,让DBA检查,将密码重新设置,没有成功。
让DBA发过来日志有如下错误,可能是sun-web.xml文件有问题,是不是UNIX下字符出现错误,将我本机的这个文件发过去给DBA,没有成功。
WEB0120: XML error parsing deployment descriptor [/~~~~~~~~/wwwroot/WEB-INF/sun-web.xml]
Failed to create the XML-DOM Document. Check your XML to make sure it is correct.
java.net.ConnectException: 连接超时 at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376) at org.apache.crimson.parser.Parser2.externalParameterEntity(Parser2.java:3064) at org.apache.crimson.parser.Parser2.maybeDoctypeDecl(Parser2.java:1347) at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:656)
最后,重新考虑这个日志的时候,忽略了“java.net.ConnectException: 连接超时 ” 这个错误。怎么会网络访问,重新检查sun-web.xml,发现DOCTYPE节点,其声明的dtd文件是指向http://www.sun.com/的,可能这就是问题所在。以前从来没有注意这个问题,对于DOCTYPE,PUBLIC指定DTD文件是在系统之外,需远程访问;如果是SYSTEM,就在本地找寻dtd文件。虽然在我机器上将网络断开,没有重现这个错误,但是比较肯定系统就是遇到这个问题。将这个节点去掉,将sun-web.xml发给系统管理员,果然成功了!
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 8.1 Servlet 2.4//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-1.dtd">
另外,将系统迁移到iplanet的时候,磕磕碰碰,花费了以整体的时间,记录下来以备忘。
1)Iplanet的版本。
从sun的官方网站下载要注册,我原来有帐户但是忘了,于是从别的地方下载了一个。本来是要6.1版本的,下来发现是6.0的,这就是后面很多错误的根源。
部署完成之后,访问系统的时候,总是出现如下错误:
“"No WebApplicationContext found: no ContextLoaderListener registered"”
在web.xml中增加如下内容,可以Iplanet可以成功启动。
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
但是访问系统的时候,出现Servlet 2.2中不支持setCharacterEncoding() 错误。乖乖,原来IPlanet只支持Servlet 2.2,而我需要的是2.3版本。于是从Sun上下载了6.1颁布,不需要在web.xml增加上述那段,部署成功。
2)数据库连接池的建立
在Iplanet端建立了连接池,出现总是找不到驱动程序的错误,而实际上classes2.jar已经在WEB-INF/lib路径下。最后在JVM Path Settings中将JDBC的路径直接出入,解决这个问题。

3)Iplanet程序的部署。
首先是将Web程序打包成war。但是Iplanet部署war文件的时候有大小限制,可以先不降lib目录打包,待部署完成再拷贝过去。
部署应用。其对应的路径为:
Administration Server > MyServer > vsclass1 > WebApplication。
其中MyServer是系统默认建立的服务器,vsclass1是系统默认建立的虚拟class。可以同时管理n个服务器,一个服务器上又可以建立n个vsclass1,一个vsclass可以对应多个WebApplication。所以,从左到右都是1:n的关系。为什么会有vsclass1的概念呢? 这是因为对于某些Web Application,其配置可能绝大部分相同,所以可以统一在vsclass层次定义就可,这些Web Applications共享这些设置。这个设计应该是为哪些提供hosting服务的机构设定的吧。但是看看现在hosting,绝大部分都在使用LAMP。
然后就是在vsclass层建立,数据库链接池和JDBC的Resource。
最后别忘了将lib拷贝到Web Application的WEB-INF目录下。
总结,
1) 最初发现问题的时候,虽然大概定位,但是没有再深究问题的根本,再加上时差的问题,问题解决效率不高。
2) 没有模拟服务器环境,而开始只在Tomcat上测试,而sun-web.xml在Tomcat环境下是不需要的,对问题的重现带来困难。
3) 在定位sun-web.xml文件的错误之后,没有静下心来研究文档结构,而是意味怀疑字符问题,耽误解决问题的时间。
Any way,问题总算解决了,休息一下,休息一下。
2007年12月4日星期二
拷贝定时执行的任务
测试机器上的定期运行的任务停止运行已经有快两个星期,最后一次运行应该是感恩节前了。主要的问题是通过执行程序“Start ClientVantage.exe”再也不能生成计划任务 “Standard Transactions” 了。重新启动,OS升级,杀掉系统中的相关进程都不能。虽然是测试机器,但是数据有时候还是有一定参考意义,今天暂时找到一个方法。
1. 从别的机器上将Windows/tasks下的“Standard Transactions”任务拷贝到测试机器的Windows/tasks目录下。
2. 执行的时候应该会出现“Can not start”的错误,那么就编辑这个任务,将开始时间更改一下,系统会提示让你输入这个操作系统的密码,输入完成确定之后,任务就可以正常执行了。
这只是一个暂时的方法,对于每天重新启动,还是不能应付,再想办法。
1. 从别的机器上将Windows/tasks下的“Standard Transactions”任务拷贝到测试机器的Windows/tasks目录下。
2. 执行的时候应该会出现“Can not start”的错误,那么就编辑这个任务,将开始时间更改一下,系统会提示让你输入这个操作系统的密码,输入完成确定之后,任务就可以正常执行了。
这只是一个暂时的方法,对于每天重新启动,还是不能应付,再想办法。
2007年11月6日星期二
怎样disable掉Supplier Item Catalog Window中的标签页
怎样disable掉Supplier Item Catalog Window中的标签页
在采购模块中,如果从菜单Supplier Item Catalog进入,输入条件,点击Find,就会进入如下的界面。在这个界面中,如果我只想要用户只能够看到“Requisition Templates”,应该怎样设置呢? 手册有这么一段,但是没有说具体怎么做:
========================
There are four tabbed regions in the upper screen of this folder window,but Function Security can be used to determine whether a user will beable to see all of them.

Metalink的一文:
=============================
Subject: How To Restrict Access To Specific Form's Tab In Oracle Applications 11i?
Doc ID: Note:189420.1 Type: HOWTO
Last Revision Date: 05-AUG-2003 Status: PUBLISHED
Goal: How to restrict access to specific form's tab in Oracle Applications 11i?
Fact: Oracle Application Object Library 11.5
Fix:
Every form's tab represents a function. Function security is controlled by Responsibilities. A system administrator should exclude the form's tab Corresponding function from the menu structure assigned to a responsibility, users belong to this responsibility will not be able to access this form's tab anymore. As an example, the following steps will disable the Costing tab in Orgination Items form for some users:
1. Create a new responsibility and attach INV_NAVIGATE menu to it.
2. Assign the new responsibility to users that will not access the above tab.
3. From System Administrator-->menus-->query INV_NAVIGATE and display the menu tree, drill down items -->Organization Items-->get the display name
of the function corresponding to the Costing tab 'Items:Costing Group'.
4. System Administrator-->Responsibilities-->Define, query the new responsibility and use the Menu Exclusions tab to exclude the function in step 3.
5. Logon to Applications using the new responsibility and navigate to
Organization Items form, the Costing tab is disabled.
在采购模块中,如果从菜单Supplier Item Catalog进入,输入条件,点击Find,就会进入如下的界面。在这个界面中,如果我只想要用户只能够看到“Requisition Templates”,应该怎样设置呢? 手册有这么一段,但是没有说具体怎么做:
========================
There are four tabbed regions in the upper screen of this folder window,but Function Security can be used to determine whether a user will beable to see all of them.

Metalink的一文:
=============================
Subject: How To Restrict Access To Specific Form's Tab In Oracle Applications 11i?
Doc ID: Note:189420.1 Type: HOWTO
Last Revision Date: 05-AUG-2003 Status: PUBLISHED
Goal: How to restrict access to specific form's tab in Oracle Applications 11i?
Fact: Oracle Application Object Library 11.5
Fix:
Every form's tab represents a function. Function security is controlled by Responsibilities. A system administrator should exclude the form's tab Corresponding function from the menu structure assigned to a responsibility, users belong to this responsibility will not be able to access this form's tab anymore. As an example, the following steps will disable the Costing tab in Orgination Items form for some users:
1. Create a new responsibility and attach INV_NAVIGATE menu to it.
2. Assign the new responsibility to users that will not access the above tab.
3. From System Administrator-->menus-->query INV_NAVIGATE and display the menu tree, drill down items -->Organization Items-->get the display name
of the function corresponding to the Costing tab 'Items:Costing Group'.
4. System Administrator-->Responsibilities-->Define, query the new responsibility and use the Menu Exclusions tab to exclude the function in step 3.
5. Logon to Applications using the new responsibility and navigate to
Organization Items form, the Costing tab is disabled.
2007年10月25日星期四
采购 -> AutoCreate
Action:
可以将请购单新增文档或则添加到已存在的文档。有两种方式,一种是Create,一种是Add To。

Add To
将新的请购单创建到采购文档T_ClosePoint1,新增加的采购行序号2。

是否可以将请购单Add To已经存在的采购单,必须依据采购文档的安全设置。如果Access Level为View Only。

那么当点击Manual按钮进行创建的时候,系统提示你选择一个已经存在的文档。如果当前用户原来没有创建采购订单,系统将找不对应的采购订单(因为采购文档的安全设置)

如果采购文档的安全设置为可以修改。那么这个时候再Add To,可以找到你需要将请购单提交进去的采购文档。

Document Type:
已经审批的请购单,可以创建如下4种。未审批的请购单只能创建RFQ。

如果针对为审批未通过的请购单创建Standard PO/Planned PO/Blanket Release,那么将会提示如下提示(Manual和Auto略有不同)。

Grouping:
如果是分组方式Default,在创建采购订单行的时候,将会根据请购单行的Item,Item版本,行类型,单位等进行分组。如果是Requisition,那么每一个请购行将会对应一个采购行。

针对如下两个请购行。

如果Grouping = Default,那么创建采购单的时候,将会分组到一个采购订单行上,采购数量为两个请购数量之和。也就是将两者合并了。
可以将请购单新增文档或则添加到已存在的文档。有两种方式,一种是Create,一种是Add To。
Add To
将新的请购单创建到采购文档T_ClosePoint1,新增加的采购行序号2。
是否可以将请购单Add To已经存在的采购单,必须依据采购文档的安全设置。如果Access Level为View Only。
那么当点击Manual按钮进行创建的时候,系统提示你选择一个已经存在的文档。如果当前用户原来没有创建采购订单,系统将找不对应的采购订单(因为采购文档的安全设置)
如果采购文档的安全设置为可以修改。那么这个时候再Add To,可以找到你需要将请购单提交进去的采购文档。
Document Type:
已经审批的请购单,可以创建如下4种。未审批的请购单只能创建RFQ。
如果针对为审批未通过的请购单创建Standard PO/Planned PO/Blanket Release,那么将会提示如下提示(Manual和Auto略有不同)。
Grouping:
如果是分组方式Default,在创建采购订单行的时候,将会根据请购单行的Item,Item版本,行类型,单位等进行分组。如果是Requisition,那么每一个请购行将会对应一个采购行。
针对如下两个请购行。
如果Grouping = Default,那么创建采购单的时候,将会分组到一个采购订单行上,采购数量为两个请购数量之和。也就是将两者合并了。
2007年10月24日星期三
采购 -> Notification Routing Rules
如果审批者由于出差不能及时审批订单,这时候采购员叫天天不应,叫地地不灵。那就叫系统管理员。
一种方法通过“Mass Forwarding Documents”功能,将提交给某一个审批者的订单,批量转发给另外的审批者。
这里讲述的是另外一种方法——Notification Routing Rules。这个功能按钮存在Notification页面上。主要功能就是创建一个Notification路由的规则,对于接收Notification,采取转发,重新分配,或者审批等。如果是系统管理员,那么可以针对任何用户接收的Notification可以创建规则。如果是普通用户,那么只能针对自己的接收的Notification创建规则。
假定,现在你要出差,对于出差这段时间,对所有提交给你审批的采购订单都需要转发到另外一个审批者代劳。那就,开始设置:
1. 点击Notification Summary打开Notification页面,点击页面上的Routing Rules按钮。

2. Routing Rules列表中,点击“Create Rule”来创建一个新的Rule。
在Notification的窗口,有创建Create Notification Rule的按钮。

3. 创建Rule的第一步,选择Item Type,可以选择PO Approval或者Requisition,或者两者。

4. 创建Rule的第二步,设置Notification的格式。

5. 创建Rule的第三步,设置Rule的有效日期,收到Notification后采取的动作。
6. 点击Submit。收拾东西出差吧,出自己的差,让别人去烦审批的事情吧。
7. 其他,测试过程中,不要将Forward To的用户设置为提交审批请求的Buyer,因为在文档类型中设置了Buyer不能审批,最后在系统中出现大量的提示信息——invalid forward-to person,界面也在提交审批界面Pending住,最后只要重新来过。
一种方法通过“Mass Forwarding Documents”功能,将提交给某一个审批者的订单,批量转发给另外的审批者。
这里讲述的是另外一种方法——Notification Routing Rules。这个功能按钮存在Notification页面上。主要功能就是创建一个Notification路由的规则,对于接收Notification,采取转发,重新分配,或者审批等。如果是系统管理员,那么可以针对任何用户接收的Notification可以创建规则。如果是普通用户,那么只能针对自己的接收的Notification创建规则。
假定,现在你要出差,对于出差这段时间,对所有提交给你审批的采购订单都需要转发到另外一个审批者代劳。那就,开始设置:
1. 点击Notification Summary打开Notification页面,点击页面上的Routing Rules按钮。
2. Routing Rules列表中,点击“Create Rule”来创建一个新的Rule。
在Notification的窗口,有创建Create Notification Rule的按钮。
3. 创建Rule的第一步,选择Item Type,可以选择PO Approval或者Requisition,或者两者。
4. 创建Rule的第二步,设置Notification的格式。
5. 创建Rule的第三步,设置Rule的有效日期,收到Notification后采取的动作。
6. 点击Submit。收拾东西出差吧,出自己的差,让别人去烦审批的事情吧。
7. 其他,测试过程中,不要将Forward To的用户设置为提交审批请求的Buyer,因为在文档类型中设置了Buyer不能审批,最后在系统中出现大量的提示信息——invalid forward-to person,界面也在提交审批界面Pending住,最后只要重新来过。
2007年10月23日星期二
采购设置 ——> 3 财务选项
还是没有图片
Supplier – Entry
Path:Setup (M) ->Organization (M) ->Financials Options (M)
是针对Supplier定义的相关设置。对于RFQ Only Site,Hold Unmatched Invoiced,Invoice Match Option等选项,这里的设置会默认到供应商以及供应商地点上对应选项值的设定。Supplier Number,是设置供应商编码的规则。
a. RFQ Only Site
如果Disable这个选项。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier Entry (T)
对于新创建的供应商地点,这个选项默认也是Disable的。
Path:Supplier Base (M) –> Suppliers (M) -> Sites (B)
如果Enable这个选项。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier Entry (T)
对于新创建的供应商地点,这个选项默认也是Enable的。
Path:Supplier Base (M) –> Suppliers (M) -> Sites (B)
如果供应商地点一旦被设置为RFQ Only,那么创建采购订单的时候将不能从Site中选择这个供应商地点。
Path:Purchase Orders(M) -> Purchase Orders(M)
b. Hold Unmatched Invoiced
如果Enable这个选项。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier Entry (T)
对于新创建的供应商以及地点,这个选项默认也是Enable的。
Path:Supplier Base (M) –> Suppliers (M) -> Sites (B)
c. Invoice Match Option
如果选择Purchase Order。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier Entry (T)
对于新创建的供应商以及地点,这个选项默认也是Purchase Order的。
Path:Supplier Base (M) –> Suppliers (M)
d. Supplier Number
供应商编码的编码规则。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier Entry (T)
e. Supplier – Payables
默认供应商定义窗口的Payment页上相关域的值。设置。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier - Payables (T)
从供应商Payment页检查。
Path:Supplier Base (M) –> Suppliers (M) -> Payment (T)
f. Supplier – Purchasing
默认供应商定义窗口的Purchasing页上相关域的值。设置。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier - Purchasing (T)
默认值被带入供应商定义窗口。
Path:Supplier Base (M) –> Suppliers (M)
g. Inventory Organization
创建主组织(000)创建新的Item,不将其分配给其他组织。将Inventory Organization更改为C10(非主组织)
创建采购订单,可以看到系统不能找到对应的采购编码。
Path:Purchase Orders(M) -> Purchase Orders(M)
结论:一旦财务选项中定义了Inventory Organization,那么对于整个OU,对应采购订单行上所有的Item只能这里定义的Inventory Organization上来。而对于Shipment上的Org,包括定义Item的Org以及分配了这个Item的Org。例如,如果将这个Item分配给C10,查看Shipment行,可以看到Org可以选择000或者C10。
发运行上的Org可以选择两个组织。
Path:Purchase Orders(M) -> Purchase Orders(M)-> Shipment (B)
h. Supplier – Encumbrance
尚未使用。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Encumbrance (T)
i. Supplier – Tax
Path:Supplier Base (M) –> Suppliers (M) -> Sites (B)
这里设定的Tax Code带入到新创建的供应商和供应商地点。同时可以在采购选项中设定采购文档的Tax Code的继承层次。
Path:Setup (M) ->Organization (M) ->Purchase Options (M) -> Tax Defaults (T)
j. Enable Recoverable Tax
这里的设置会影响到新建的Tax Code,新建编码默认值从财务选项中带入。而创建的采购订单的Distribution行的Recoverable Tax会根据Tax Code的设定而来。
实际上,Recovery Rate的设置比较复杂。
首先Enable财务选项中的“Enable Recoverable Tax”以及设置“Default Recovery Rate”。
第二,在Purchasing Look Up Code中设置Vendor Type,并在Vendor定义中将Vendor Type分配给对应供应商。
第三,在Tax Recovery Rate中定义Tax Rule,指定帐户访问,以及条件,这里设定对“风险”类型的采购商,可退回税为50%。
第四,在Recovery Code中设定对应的Recovery Rate或者Rule Name。
如果是Rate会默认从财务选项中带入。
如果Rule Name,可以选定步骤三中新建的Rule。
第四:针对上述供应商创建采购订单,检查其Recovery Rate就是定义Rule中定义中的50%。
第五,如果需要对Tax Code和Recovery Rate 进行更改,可以设定两个预置文件。Tax: Allow Override of Tax Code和Tax: Allow Override of Tax Recovery Rate。
结论:财务选项中所设定的Recovery Rate只是会默认带入Tax Code中定义,可以在定义Tax Code的时候进行修改。
在定义Tax Code的时候也选择Recovery Rule来定义Recovery Rate。
最终决定采购文档上Recovery Rate是由Tax Code所定义的Recovery Rate而决定。
而采购文档上的Tax Code是根据采购选项中设定Tax Code的优先次序决定。有可能来自于财务选项,有可能来自于Item层,供应商地点层等。
Supplier – Entry
Path:Setup (M) ->Organization (M) ->Financials Options (M)
是针对Supplier定义的相关设置。对于RFQ Only Site,Hold Unmatched Invoiced,Invoice Match Option等选项,这里的设置会默认到供应商以及供应商地点上对应选项值的设定。Supplier Number,是设置供应商编码的规则。
a. RFQ Only Site
如果Disable这个选项。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier Entry (T)
对于新创建的供应商地点,这个选项默认也是Disable的。
Path:Supplier Base (M) –> Suppliers (M) -> Sites (B)
如果Enable这个选项。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier Entry (T)
对于新创建的供应商地点,这个选项默认也是Enable的。
Path:Supplier Base (M) –> Suppliers (M) -> Sites (B)
如果供应商地点一旦被设置为RFQ Only,那么创建采购订单的时候将不能从Site中选择这个供应商地点。
Path:Purchase Orders(M) -> Purchase Orders(M)
b. Hold Unmatched Invoiced
如果Enable这个选项。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier Entry (T)
对于新创建的供应商以及地点,这个选项默认也是Enable的。
Path:Supplier Base (M) –> Suppliers (M) -> Sites (B)
c. Invoice Match Option
如果选择Purchase Order。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier Entry (T)
对于新创建的供应商以及地点,这个选项默认也是Purchase Order的。
Path:Supplier Base (M) –> Suppliers (M)
d. Supplier Number
供应商编码的编码规则。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier Entry (T)
e. Supplier – Payables
默认供应商定义窗口的Payment页上相关域的值。设置。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier - Payables (T)
从供应商Payment页检查。
Path:Supplier Base (M) –> Suppliers (M) -> Payment (T)
f. Supplier – Purchasing
默认供应商定义窗口的Purchasing页上相关域的值。设置。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Supplier - Purchasing (T)
默认值被带入供应商定义窗口。
Path:Supplier Base (M) –> Suppliers (M)
g. Inventory Organization
创建主组织(000)创建新的Item,不将其分配给其他组织。将Inventory Organization更改为C10(非主组织)
创建采购订单,可以看到系统不能找到对应的采购编码。
Path:Purchase Orders(M) -> Purchase Orders(M)
结论:一旦财务选项中定义了Inventory Organization,那么对于整个OU,对应采购订单行上所有的Item只能这里定义的Inventory Organization上来。而对于Shipment上的Org,包括定义Item的Org以及分配了这个Item的Org。例如,如果将这个Item分配给C10,查看Shipment行,可以看到Org可以选择000或者C10。
发运行上的Org可以选择两个组织。
Path:Purchase Orders(M) -> Purchase Orders(M)-> Shipment (B)
h. Supplier – Encumbrance
尚未使用。
Path:Setup (M) ->Organization (M) ->Financials Options (M) -> Encumbrance (T)
i. Supplier – Tax
Path:Supplier Base (M) –> Suppliers (M) -> Sites (B)
这里设定的Tax Code带入到新创建的供应商和供应商地点。同时可以在采购选项中设定采购文档的Tax Code的继承层次。
Path:Setup (M) ->Organization (M) ->Purchase Options (M) -> Tax Defaults (T)
j. Enable Recoverable Tax
这里的设置会影响到新建的Tax Code,新建编码默认值从财务选项中带入。而创建的采购订单的Distribution行的Recoverable Tax会根据Tax Code的设定而来。
实际上,Recovery Rate的设置比较复杂。
首先Enable财务选项中的“Enable Recoverable Tax”以及设置“Default Recovery Rate”。
第二,在Purchasing Look Up Code中设置Vendor Type,并在Vendor定义中将Vendor Type分配给对应供应商。
第三,在Tax Recovery Rate中定义Tax Rule,指定帐户访问,以及条件,这里设定对“风险”类型的采购商,可退回税为50%。
第四,在Recovery Code中设定对应的Recovery Rate或者Rule Name。
如果是Rate会默认从财务选项中带入。
如果Rule Name,可以选定步骤三中新建的Rule。
第四:针对上述供应商创建采购订单,检查其Recovery Rate就是定义Rule中定义中的50%。
第五,如果需要对Tax Code和Recovery Rate 进行更改,可以设定两个预置文件。Tax: Allow Override of Tax Code和Tax: Allow Override of Tax Recovery Rate。
结论:财务选项中所设定的Recovery Rate只是会默认带入Tax Code中定义,可以在定义Tax Code的时候进行修改。
在定义Tax Code的时候也选择Recovery Rule来定义Recovery Rate。
最终决定采购文档上Recovery Rate是由Tax Code所定义的Recovery Rate而决定。
而采购文档上的Tax Code是根据采购选项中设定Tax Code的优先次序决定。有可能来自于财务选项,有可能来自于Item层,供应商地点层等。
订阅:
博文 (Atom)
