作者:笃笃声_965 | 来源:互联网 | 2023-10-10 16:37
1、在为1069公司添加平衡段值时,值集列表中无法选到需要的平衡段值,进一步对其后台取值逻辑进行分析SELECT*FROM(SELECTFLEXVALUES.FLEX_VALUE,
1、在为1069公司添加平衡段值时,值集列表中无法选到需要的平衡段值,进一步对其后台取值逻辑进行分析
SELECT *
FROM (SELECT FLEXVALUES.FLEX_VALUE, FLEXVALUES.DESCRIPTION
FROM FND_FLEX_VALUES_VL FLEXVALUES
WHERE FLEXVALUES.FLEX_VALUE_SET_ID = :1
AND FLEXVALUES.SUMMARY_FLAG = 'N'
AND NOT EXISTS
(SELECT 'X'
FROM GL_LEGAL_ENTITIES_BSVS LEB
WHERE LEB.FLEX_VALUE_SET_ID = FLEXVALUES.FLEX_VALUE_SET_ID
AND LEB.FLEX_SEGMENT_VALUE = FLEXVALUES.FLEX_VALUE
AND LEB.LEGAL_ENTITY_ID IN
(SELECT LCD.OBJECT_ID
FROM GL_LEDGER_CONFIG_DETAILS LCD,
GL_LEDGER_CONFIG_DETAILS LCD2
WHERE LCD2.OBJECT_ID = :2
AND LCD2.OBJECT_TYPE_CODE = 'LEGAL_ENTITY'
AND LCD.CONFIGURATION_ID = LCD2.CONFIGURATION_ID
AND LCD.OBJECT_TYPE_CODE = 'LEGAL_ENTITY'))
AND NOT EXISTS
(SELECT 'X'
FROM GL_LEDGER_NORM_SEG_VALS NORMSEGVALS, GL_LEDGERS LGR
WHERE NORMSEGVALS.LEDGER_ID IN
(SELECT D2.OBJECT_ID
FROM GL_LEDGER_CONFIG_DETAILS D1,
GL_LEDGER_CONFIG_DETAILS D2
WHERE D1.OBJECT_ID = :3
AND D1.OBJECT_TYPE_CODE = 'LEGAL_ENTITY'
AND D2.CONFIGURATION_ID = D1.CONFIGURATION_ID
AND D2.OBJECT_TYPE_CODE <> 'LEGAL_ENTITY'
AND D2.SETUP_STEP_CODE = 'NONE')
AND NORMSEGVALS.SEGMENT_TYPE_CODE = 'B'
AND (NORMSEGVALS.STATUS_CODE <> 'D' OR
NORMSEGVALS.STATUS_CODE IS NULL)
AND LGR.LEDGER_ID = NORMSEGVALS.LEDGER_ID
AND LGR.BAL_SEG_VALUE_SET_ID =
FLEXVALUES.FLEX_VALUE_SET_ID
AND NORMSEGVALS.SEGMENT_VALUE = FLEXVALUES.FLEX_VALUE)) QRSLT
ORDER BY FLEX_VALUE
通过以上SQL 发现,该值集是通过两个NOT EXISTS 的程序段进行限制的,通过测试运行,第一个的作用是查询所有的平衡段值在该帐套的所有法人主体下是否已经分配了,将未分配的进行显示,第二个的作用是查询所有的平衡段值是否在分类账下做了分配,将未分配的进行显示。
2、通过测试,发现该平衡段被财务人员误分配在分类账的平衡段值里了,将该分配删除后即可找到在值集中正常显示了。
3、有些版本会发现在分类账平衡段值处无法删除,提示如下:
只有在所有法人主体均已分配到至少一个值后,才能确认平衡段值分配。 | | |
请查看oracle support 文章编号:
| 怎样移除分类账平衡段值 (BSV) 分配并把它分配给法人实体 (文档 ID 1552386.1) |