壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2227|回复: 5

如何使用OM中default rule根据subinventory设定tax code

[复制链接]
发表于 2007/12/14 16:01:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
请问有谁用过OM中的default rule
我这有个问题,当order line中某一行的subinventory为特定value的时候,把tax code设为0
谢谢!

自己找到了答案,详见6楼

[ 本帖最后由 firefeather 于 2007-12-19 16:20 编辑 ]
sshot-71.png
sshot-72.png
 楼主| 发表于 2007/12/17 09:02:49 | 显示全部楼层
没人回答吗?
自己顶一下
发表于 2007/12/17 09:44:27 | 显示全部楼层
还真没研究过,不过税吗可以跟客户关联起来,搂住不妨试一试。你为什么要把库存和税吗连起来,说说你的业务需求!
 楼主| 发表于 2007/12/17 10:05:36 | 显示全部楼层
这些是user的需求,指定要通过这种方式去做
例如 ship_from_org_id = 3的时候,当subinventory like 'j%' 时,tax_code 设为0
 楼主| 发表于 2007/12/18 09:40:55 | 显示全部楼层
难道没人知道吗?
 楼主| 发表于 2007/12/19 16:17:57 | 显示全部楼层
没人回答只能自己解决了,经过不懈努力,终于成功了,现公布答案:
SO line中Tax code根据subinventory进行设置的方法:
1. 进responsibility: Order Management

2. 进Setup>Rules>Defaulting
Application:Order Management
Entity:Order Line
Attribute:Tax Code
然后点Default Rules...按钮

3.增加一个defaulting condition:always
在下方default sourcing rules中增加一个source type:PL/SQL API,Default Source/value中输入客制的Package名称和function名称
package body:

CREATE OR REPLACE PACKAGE BODY DEF_TAX_PKG
AS
   FUNCTION DEF_TAX_FCN (
      p_database_object_name   IN   VARCHAR2,
      p_attribute_code         IN   VARCHAR2
   )
      RETURN VARCHAR2
   AS
      l_org_id                 NUMBER;
      l_subinventory           VARCHAR2 (100);
      l_tax_code               VARCHAR2 (100);
      l_debug_level   CONSTANT NUMBER         := oe_debug_pub.g_debug_level;
   BEGIN
      IF     ont_line_def_hdlr.g_record.org_id IS NOT NULL
         AND ont_line_def_hdlr.g_record.subinventory IS NOT NULL
      THEN
         l_org_id := ont_line_def_hdlr.g_record.org_id;
         l_subinventory := ont_line_def_hdlr.g_record.subinventory;

         IF     l_org_id = 288
            AND (   l_subinventory = 'RTSGMINFG'
                 OR (    l_subinventory LIKE 'JDSG%'
                     AND (    l_subinventory NOT LIKE 'JDSG%SIN'
                          AND l_subinventory NOT LIKE 'JDSGCPBSTG'
                         )
                    )
                )
         THEN
            l_tax_code := '0';
         ELSE
            l_tax_code := NULL;
         END IF;
      END IF;

      RETURN l_tax_code;
   EXCEPTION
      WHEN OTHERS
      THEN
         IF l_debug_level > 0
         THEN
            oe_debug_pub.ADD ('Error in DEF_TAX_FNC');
            oe_debug_pub.ADD ('Error :' || SUBSTR (SQLERRM, 1, 200));
         END IF;

         RETURN NULL;
   END DEF_TAX_FCN;
END;


4.点菜单tools/create defaulting handler package

5.建立dependency
更改$ONT_TOP/patch/115/sql/OEXEDEPB.pls
增加内容:
    IF p_entity_code = OE_GLOBALS.G_ENTITY_LINE THEN
           x_extn_dep_tbl(l_index).source_attribute := OE_LINE_UTIL.G_SUBINVENTORY;
           x_extn_dep_tbl(l_index).dependent_attribute := OE_LINE_UTIL.G_TAX;
           x_extn_dep_tbl(l_index).enabled_flag := 'Y';
           l_index := l_index+1;
    END IF;
然后执行package

6.设置完成,进sales order查看结果吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 14:30 , Processed in 0.019405 second(s), 15 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表