在为法人主体添加平衡段值时选不到相应的平衡段值

1、在为H1038公司添加平衡段值时,值集列表中无法选到需要的平衡段值,进一步对其后台取值逻辑进行分析

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
 WHERE ((UPPER(FLEX_VALUE) LIKE UPPER(:4)))
 ORDER BY FLEX_VALUE

2、原因是在分配的时候没有完全成功,有一些垃圾数据导致无法选择到平衡段,处理方式:删除垃圾数据重新分配

--删除两张表的数据
SELECT * FROM GL_LEDGER_NORM_SEG_VALS WHERE SEGMENT_VALUE LIKE '%H1038%'-- FOR UPDATE;

SELECT * FROM GL_LEDGER_SEGMENT_VALUES T WHERE SEGMENT_VALUE LIKE '%H1038%'-- FOR UPDATE;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值