实施ERP,做为内部顾问,用PL/SQL查询是基本功,经常的,我们需要查询、制作报表一些例如发票、收款、付款、日记帐行等等等等的状态信息,除了很少一部份系统建立有些view,提供给我们方便的查询之外,还有大部份的“快速编码”在基表中只是用英文简写标识,例如,收款基表中的:CHECK_STATUS段,“UNID”对应为“未标识”,诸如此类,怎样能够直接显示成中文呢?
通常的,我们是连接几个表,ap_lookups1,ap_lookup2...... 这样一,容易错,二看得太累,有什么好办法呢?
其实系统有一个包:‘ARPT_SQL_FUNC_UTIL’,自动处理这种情况,在查询、做报表时调用这个包里的‘get_lookup_meaning’,就可以方便的从US换算成ZHS的状态说明,举例如下:
select
ARPT_SQL_FUNC_UTIL.get_lookup_meaning('CHECK_STATUS', CR.STATUS),
cr.status RECEIPT_STATUS_DSP
from ar_cash_receipts_all cr
红色标记处为该快速编码对应的lookup_type.
结果:
ARPT_SQL_FUNC_UTIL.GET_LOOKUP_ RECEIPT_STATUS_DSP
1 未标识 UNID
2 未标识 UNID
3 已核销 APP
4 未核销 UNAPP
5 未标识 UNID
6 冲销用户误差 REV
7 冲销用户误差 REV
8 已核销 APP
9 未核销 UNAPP
10 已核销 APP
11 已核销 APP
如何转换弹性域里面的说明,请等待下一篇。。。