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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1698|回复: 11

ebs的会计科目如何取上级代码?

  [复制链接]
发表于 2011/7/28 14:30:21 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 gyzsuper 于 2011/7/28 14:31 编辑

如题,请高手赐教!
发表于 2011/7/29 13:13:21 | 显示全部楼层
没看明白什么意思
 楼主| 发表于 2011/7/29 14:51:23 | 显示全部楼层
polly0905 发表于 2011/7/29 13:13
没看明白什么意思

想取一些数据内容包括科目代码,科目名称,上级代码,科目级次,是否明细
SELECT v.flex_value                           '科目代码
,t.description                          '科目名称
,case when LENGTH(v.flex_value)=7 then
substr(v.flex_value,1,4)
else
(select max(flex_value) from FND_FLEX_VALUES where flex_value_set_id = 1009792
and v.flex_value like flex_value||'%' and flex_value <>v.flex_value
)
end          '上级
,case when LENGTH(v.flex_value)=7
then 2
else
(select count(*)  from FND_FLEX_VALUES where flex_value_set_id = 1009792 and v.flex_value like flex_value||'%')
end   '级次
,case when SUMMARY_FLAG ='Y' then 0 else 1 end
FROM FND_FLEX_VALUES v , FND_FLEX_VALUES_TL t
 楼主| 发表于 2011/7/29 14:54:48 | 显示全部楼层
gyzsuper 发表于 2011/7/29 14:51
想取一些数据内容包括科目代码,科目名称,上级代码,科目级次,是否明细
SELECT v.flex_value          ...

关键就是取上级代码时case when LENGTH(v.flex_value)=7 then
substr(v.flex_value,1,4)
else
(select max(flex_value) from FND_FLEX_VALUES where flex_value_set_id = 1009792
and v.flex_value like flex_value||'%' and flex_value <>v.flex_value
)
end      

像LENGTH(v.flex_value)=7,包括substr(v.flex_value,1,4)都是写死了,有没有好的办法取上级代码?我不知道明细科目的长度怎么取,还有到底substr应该取多少位是他的上级科目代码.请大家帮我想想办法
发表于 2011/7/30 08:08:08 | 显示全部楼层
晕,上级科目是由你们公司实施时,实施顾问与你们公司财务关键用户设定好的规定,哪有固定的,如果你们当时实施时设计的规范,可以咨询你们当时的财务关键用户,科目设置的规则,根据规则写相应的代码,实现可以递归获取上级科目!
发表于 2011/8/2 11:27:48 | 显示全部楼层
难道LZ只看表不看Setup吗?在实施时,肯定有过规定如何setup。。。资料库的表也是分Segment的,不难理解
发表于 2011/8/3 15:20:56 | 显示全部楼层
楼主的意思是 一级科目 1200
                    二级科目 120010
                    二级科目 120011

 楼主| 发表于 2011/8/4 08:12:39 | 显示全部楼层
erpgame 发表于 2011/8/3 15:20
楼主的意思是 一级科目 1200
                    二级科目 120010
                    二级科目 120011 ...

是的 二级科目 120010 上级科目是1200,1200的上级科目就是空字符
发表于 2011/8/4 10:48:52 | 显示全部楼层
以下仅供参考:
11i
GL -> 设置  ->  财务系统  -> 弹性域 -> 值
在这里可以查找到为会计科目创建的 值集 (值集名是什么就要看你们是怎么定义的了);
代码如下 :
SELECT s.FLEX_VALUE_SET_NAME 值集名
       ,s.description 值集描述
       ,v.FLEX_VALUE   会计科目
      --,FLEX_VALUE_MEANING
      ,v.DESCRIPTION  说明
      ,v.ENABLED_FLAG  是否启用
      ,v.SUMMARY_FLAG  是否汇总科目
                        ,(select h.hierarchy_name
                            from fnd_flex_hierarchies_vl h
                           where v.structured_hierarchy_level =h.HIERARCHY_ID) 科目级别
      ,v.HIERARCHY_LEVEL
      --,FLEX_VALUE_SET_ID
      --,PARENT_FLEX_VALUE_LOW
      --,PARENT_FLEX_VALUE_HIGH
      ,v.structured_hierarchy_level
      ,v.COMPILED_VALUE_ATTRIBUTES  限定词
      --,VALUE_CATEGORY
                        --,STRUCTURED_HIERARCHY_NAME
  FROM FND_FLEX_VALUES_VL v , --具体的值
             fnd_flex_value_sets S --值集
WHERE v.FLEX_VALUE_SET_ID = s.FLEX_VALUE_SET_ID  --会计科目值集的ID
   and s.description LIKE '%会计科目段%'
order by v.flex_value
发表于 2011/8/4 10:51:02 | 显示全部楼层
如果财务人员在定义会计科目的时候没有设置值集的层次结构的话 此代码就不适用了
 楼主| 发表于 2011/8/5 08:03:10 | 显示全部楼层
erpgame 发表于 2011/8/4 10:51
如果财务人员在定义会计科目的时候没有设置值集的层次结构的话 此代码就不适用了

谢谢,{:soso_e181:}
发表于 2011/8/15 09:37:55 | 显示全部楼层
{:soso_e191:} 帮到你就最好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025/11/29 00:13 , Processed in 0.019737 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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