EBS项目问题记载
这几天在上海上项目,主要是做EBS中的报表与FROM。不过还是写PL/SQL花的时间多一点,呵呵。今天遇到了两个问题,给我的印象最深,记载下来,如果有人和我有同样的问题,希望能帮到大家。
问题一:关于报表打印时需要不同的模板
需求:如果CURRENCY_CODE为CNY 则打印中文模板
如果CURRENCY_CODE为USD 则打印英文模板
解决方案:在模板中套用
<?choose:?>
<?when:expression?>
……
<?when:expression?>
……
<?otherwise?>
示例代码:
<?choose:?>
<?when:CURRENCY_CODE='CNY'?>
中国 〈这里显示中文模板〉
<?end when?>
<?otherwise:?>
CHINA 〈这里显示英文模板〉
<?end otherwise?>
<?end choose?>
问题二:关于FORM的消息屏蔽
需求:页面上的复选框打上勾后不需要用户自己执行保存,当点击“打印”
按钮时,自动执行保存动作,再调用打印的请求
解决方案:
在打印按钮的 WHEN-BUTTON-PRESSED 触发器中添加
do_key('commit_form'),执行保存动作。
问题:在执行了commit_form后,会带出一个消息框,提示用户保存数据
是否被保存。
需求:需要屏蔽弹出的消息
解决方案:在do_key('commit_form')后,执行
if message_code in (40400,40401,40406,40407) then
clear_message;
end if;
清空消息栈
问题三:根据固定格式自动生成编号
格式要求:C2008090001,C2008090002。。。。
C+系统时间的年+月+0001<自动增长>
解决方案:<我在这里写了一个方法,用来自动生成编号>
-- 获取对帐单编号
FUNCTION get_verification_number RETURN VARCHAR2 IS
l_verification_number VARCHAR2(100);
BEGIN
l_verification_number := to_char('C' ||
(to_number(to_char(SYSDATE, 'yyyymm') ||
'0000') +
g_verification_number));
RETURN(l_verification_number);
END get_verification_number;
其中g_verification_number为全局变量,初始值为0,每次调用该方法后执行
g_verification_numbe:=g_verification_number+1;
页:
[1]