• 博客访问: 27519
  • 博文数量: 20
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-17 18:25
个人简介

暂无介绍

文章分类

全部博文(20)

文章存档

2010年(2)

2008年(18)

我的朋友

分类: IT综合

2008-01-28 20:35:59

srw的总结

1.在报表触发器BeforeReport中调用用户出口函数 FND SRWINIT 来初始化环境:取得并发程序相关信息和预制文件信息
function BeforeReport return boolean is
begin
SRW.USER_EXIT('FND SRWINIT');
srw.reference( :P_COA_ID );------------帐套,必须在report和ebs里都定义这个参数不然会报错SRW.REFERENCE 将引用的对象添加到构造依赖列表中,让Report在触发初始化构造的时候对值进行测定
srw.user_exit('FND FLEXSQL --------------------在报表中调用 FND FLEXIDVAL来动态设置显示的弹性域数据
CODE = "GL#" ------‘GL#’是帐户关键性弹性域的代码;code:弹性域编码
NUM=":P_COA_ID" ---------包括弹性域结构ID的词义变量
APPL_SHORT_NAME = "SQLGL"-----弹性域对应的应用简称
OUTPUT=":ACC_SELECT_ALL" -------------output:用来存贮SQL语句的词义变量(Placeholder)

TABLEALIAS="c")--------如果使用表别名,制定弹性域对应表的别名

MODE="SELECT" "----SELECT 按照内部的格式取出所有段值

DISPLAY="ALL"');---指定有多少段是需要显示的,默认值为 ALL;如果只希望显示其中的一段,
可以通过指定段名或者段号码来实现
return (TRUE);
end;

2.在报表触发器AfterReport中调用用户出口函数 FND SRWEXIT 来释放用户出口函数中使用的内存,USER_EXIT是一个用户出口函数,用于取得帐户段描

function AfterReport return boolean is
begin
SRW.USER_EXIT('FND SRWEXIT');
return (TRUE);
end;

3.在字段内

设置

function ACC_flex_dataFormula return VARCHAR2 is
begin
srw.reference(:ACC_flex);
srw.reference( :P_COA_ID );
srw.user_exit('FND FLEXIDVAL
CODE="GL#"
NUM=":P_COA_ID"
APPL_SHORT_NAME="SQLGL"
DATA=":ACC_FLEX"
VALUE=":ACC_FLEX_DATA"
DISPLAY="ALL"');
return(:ACC_FLEX_DATA);
end;


function ACC_FLEX_DESCFormula return Char is
begin
srw.reference(:ACC_flex);
srw.reference( :P_COA_ID );
srw.user_exit('FND FLEXIDVAL
CODE="GL#"
NUM=":P_COA_ID"
APPL_SHORT_NAME="SQLGL"
DATA=":ACC_FLEX"
FULL_DESCRIPTION=":ACC_FLEX_DESC"
DISPLAY="ALL"');

return(REPLACE(REPLACE(REPLACE(:ACC_flex_desc,'南京本部'),'缺省'),'无'));
end;


4.做一个cp acc_select_all

value is null 为

(c.segment1||'n'||c.segment2||'n'||

c.segment3||'n'||c.segment4||'n'||c.segment5||'n'||

c.segment6||'n'||c.segment7)

具体按要选择的段落分类


5.在报表的SqL里写

select
&acc_select_all acc_flex,


------------------------2------------------------
今天试试了SRW,成功了,特高兴
===========================================================
srw.reference(:FLEXDATA);
srw.reference(:STRUCT_NUM);
srw.user_exit('FND FLEXIDVAL CODE="GL#"
NUM=":STRUCT_NUM"
APPL_SHORT_NAME="SQLGL"
DATA=":FLEXDATA"
VALUE=":FLEXFIELD"
PADDED_VALUE=":FLEXFIELD_PAD"
DESCRIPTION=":FLEXDESC"
DISPLAY="ALL"
IDISPLAY="ALL"');
RETURN(:FLEXFIELD);

增加placeholder (占位符) SELECT_ALL


(CC.SEGMENT1 || 'n' || SEGMENT2 || 'n' || SEGMENT3 || 'n' || SEGMENT4 || 'n' || SEGMENT5 || 'n' || SEGMENT6 || 'n' || SEGMENT7 || 'n' || SEGMENT8 || 'n' || SEGMENT9 || 'n' || SEGMENT10 || 'n' || SEGMENT11 || 'n' || SEGMENT12 || 'n' || SEGMENT13 || 'n' || SEGMENT14 || 'n' || SEGMENT15 || 'n' || SEGMENT16 || 'n' || SEGMENT17 || 'n' || SEGMENT18 || 'n' || SEGMENT19 || 'n' || SEGMENT20 || 'n' || SEGMENT21 || 'n' || SEGMENT22 || 'n' || SEGMENT23 || 'n' || SEGMENT24 || 'n' || SEGMENT25 || 'n' || SEGMENT26 || 'n' || SEGMENT27 || 'n' || SEGMENT28 || 'n' || SEGMENT29 || 'n' || SEGMENT30)


其中 FLEXDATA 是查询的各段的组合,就是SELECT_ALL

STRUCT_NUM 是COAID

FLEXDESC 是科目的描述


FLEXFIELD_PAD还不清楚,戴解决

[@more@]
阅读(1690) | 评论(0) | 转发(0) |
0

上一篇:会计科目余额

下一篇:过程,function,包

给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册