Sql Oracle报告(查询和报告触发器)
查询是:- 在它的报告触发器中有这个after参数形式 /*格式于2016年5月18日上午10:37:19 QP5 v5.163.1008.3004*/Sql Oracle报告(查询和报告触发器),sql,oracle,plsql,oraclereports,oracle-apps,Sql,Oracle,Plsql,Oraclereports,Oracle Apps,查询是:- 在它的报告触发器中有这个after参数形式 /*格式于2016年5月18日上午10:37:19 QP5 v5.163.1008.3004*/ FUNCTION AfterPForm RETURN BOOLEAN IS LV_DATE_FROM VARCHAR2 (100); LV_DATE_TO VARCHAR2 (100); BEGIN IF :P_BRANCH_CODE IS NOT NULL THEN :ADD_WHERE_
FUNCTION AfterPForm
RETURN BOOLEAN
IS
LV_DATE_FROM VARCHAR2 (100);
LV_DATE_TO VARCHAR2 (100);
BEGIN
IF :P_BRANCH_CODE IS NOT NULL
THEN
:ADD_WHERE_CLAUSE :=
:ADD_WHERE_CLAUSE || ' AND GCC.SEGMENT10 = :P_BRANCH_CODE ';
END IF;
/* IF :P_DATE_FROM IS NOT NULL AND :P_DATE_TO IS NOT NULL THEN
:ADD_WHERE_CLAUSE := :ADD_WHERE_CLAUSE || ' AND TRUNC(GJH.DEFAULT_EFFECTIVE_DATE) BETWEEN TO_CHAR(TO_DATE(:P_DATE_FROM,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') AND TO_CHAR(TO_DATE(:P_DATE_TO,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') ';
:ADD_WHERE_CLAUSE1 := :ADD_WHERE_CLAUSE1 || ' and trunc(gjh1.DEFAULT_EFFECTIVE_DATE) < to_char(to_date(:P_DATE_FROM,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') ';
:ADD_WHERE_CLAUSE3 := :ADD_WHERE_CLAUSE3 || ' and trunc(gjh3.DEFAULT_EFFECTIVE_DATE) < to_char(to_date(:P_DATE_FROM,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') ';
:ADD_WHERE_CLAUSE4 := :ADD_WHERE_CLAUSE4 || ' AND TRUNC(GJH4.DEFAULT_EFFECTIVE_DATE) BETWEEN TO_CHAR(TO_DATE(:P_DATE_FROM,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') AND TO_CHAR(TO_DATE(:P_DATE_TO,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') ';
END IF;
*/
IF :P_SOURCE IS NOT NULL
THEN
IF :P_SOURCE = 'ETL'
THEN
:ADD_WHERE_CLAUSE :=
:ADD_WHERE_CLAUSE
|| ' and gjh.JE_SOURCE = ''1'' and gjh.JE_CATEGORY = ''1'' and gjh.REVERSED_JE_HEADER_ID is null and gjh.JE_HEADER_ID not in ( select distinct nvl(a.REVERSED_JE_HEADER_ID,0)from gl_je_headers a where a.JE_HEADER_ID <> gjh.JE_HEADER_ID )';
:ADD_WHERE_CLAUSE1 :=
:ADD_WHERE_CLAUSE1
|| ' and gjh1.JE_SOURCE = ''1'' and gjh1.JE_CATEGORY = ''1''and gjh1.REVERSED_JE_HEADER_ID is null and gjh1.JE_HEADER_ID not in ( select distinct nvl(a.REVERSED_JE_HEADER_ID,0)from gl_je_headers a where a.JE_HEADER_ID <> gjh1.JE_HEADER_ID ) ';
:ADD_WHERE_CLAUSE3 :=
:ADD_WHERE_CLAUSE3
|| ' and gjh3.JE_SOURCE = ''1'' and gjh3.JE_CATEGORY = ''1''and gjh3.REVERSED_JE_HEADER_ID is null and gjh3.JE_HEADER_ID not in ( select distinct nvl(a.REVERSED_JE_HEADER_ID,0)from gl_je_headers a where a.JE_HEADER_ID <> gjh3.JE_HEADER_ID ) ';
:ADD_WHERE_CLAUSE4 :=
:ADD_WHERE_CLAUSE4
|| ' and gjh4.JE_SOURCE = ''1'' and gjh4.JE_CATEGORY = ''1''and gjh4.REVERSED_JE_HEADER_ID is null and gjh4.JE_HEADER_ID not in ( select distinct nvl(a.REVERSED_JE_HEADER_ID,0)from gl_je_headers a where a.JE_HEADER_ID <> gjh4.JE_HEADER_ID ) ';
ELSIF :P_SOURCE = 'OFSA'
THEN
:ADD_WHERE_CLAUSE :=
:ADD_WHERE_CLAUSE
|| ' and gjh.JE_SOURCE <> ''1'' and gjh.JE_CATEGORY <> ''1''';
:ADD_WHERE_CLAUSE1 :=
:ADD_WHERE_CLAUSE1
|| ' and gjh1.JE_SOURCE <> ''1'' and gjh1.JE_CATEGORY <> ''1''';
:ADD_WHERE_CLAUSE3 :=
:ADD_WHERE_CLAUSE3
|| ' and gjh3.JE_SOURCE <> ''1'' and gjh3.JE_CATEGORY <> ''1''';
:ADD_WHERE_CLAUSE3 :=
:ADD_WHERE_CLAUSE3
|| ' and gjh3.JE_SOURCE <> ''1'' and gjh3.JE_CATEGORY <> ''1''';
:ADD_WHERE_CLAUSE4 :=
:ADD_WHERE_CLAUSE4
|| ' and gjh4.JE_SOURCE <> ''1'' and gjh4.JE_CATEGORY <> ''1''';
END IF;
END IF;
/*
IF :P_PERIOD_FROM IS NOT NULL AND :P_PERIOD_TO IS NOT NULL THEN
SELECT TO_CHAR(TRUNC(GP.START_DATE),'DD-MON-YYYY')
INTO LV_DATE_FROM
FROM GL_PERIODS GP
WHERE GP.PERIOD_NAME = :P_PERIOD_FROM
AND PERIOD_SET_NAME = 'NIB_Calendar';
SELECT TO_CHAR(TRUNC(GP.END_DATE),'DD-MON-YYYY')
INTO LV_DATE_TO
FROM GL_PERIODS GP
WHERE GP.PERIOD_NAME = :P_PERIOD_TO
AND PERIOD_SET_NAME = 'NIB_Calendar';
:P_DATE_FROM := LV_DATE_FROM;
:P_DATE_TO := LV_DATE_TO;
:ADD_WHERE_CLAUSE := :ADD_WHERE_CLAUSE || ' and trunc(gjh.DEFAULT_EFFECTIVE_DATE) between :p_date_from and :p_date_to';
:ADD_WHERE_CLAUSE1 := :ADD_WHERE_CLAUSE1 || ' and trunc(GJH1.DEFAULT_EFFECTIVE_DATE ) <= (SELECT A.START_DATE-1 FROM GL_PERIODS A WHERE A.PERIOD_NAME = GJH.PERIOD_NAME ) ';
:ADD_WHERE_CLAUSE3 := :ADD_WHERE_CLAUSE3 || ' and trunc(GJH3.DEFAULT_EFFECTIVE_DATE ) <= (SELECT A.START_DATE-1 FROM GL_PERIODS A WHERE A.PERIOD_NAME = :P_PERIOD_FROM) ';
:ADD_WHERE_CLAUSE4 := :ADD_WHERE_CLAUSE4 || ' and trunc(gjh4.DEFAULT_EFFECTIVE_DATE) between :p_date_from and :p_date_to';
END IF;
*/
RETURN (TRUE);
END;
我想在toad上运行查询
它要求提供add_where_子句参数。有人告诉我应该放什么值吗?有人告诉我,报表触发add_where_子句将出现
提前感谢 写集定义关闭;在函数脚本的顶部,按f5按钮。在查询的末尾有: &按GCC.SEGMENT7、GJH.POSTED\u日期添加条款顺序 我想您应该删除并添加WHERE子句,然后执行查询,或者用WHERE子句替换并添加WHERE子句
FUNCTION AfterPForm
RETURN BOOLEAN
IS
LV_DATE_FROM VARCHAR2 (100);
LV_DATE_TO VARCHAR2 (100);
BEGIN
IF :P_BRANCH_CODE IS NOT NULL
THEN
:ADD_WHERE_CLAUSE :=
:ADD_WHERE_CLAUSE || ' AND GCC.SEGMENT10 = :P_BRANCH_CODE ';
END IF;
/* IF :P_DATE_FROM IS NOT NULL AND :P_DATE_TO IS NOT NULL THEN
:ADD_WHERE_CLAUSE := :ADD_WHERE_CLAUSE || ' AND TRUNC(GJH.DEFAULT_EFFECTIVE_DATE) BETWEEN TO_CHAR(TO_DATE(:P_DATE_FROM,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') AND TO_CHAR(TO_DATE(:P_DATE_TO,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') ';
:ADD_WHERE_CLAUSE1 := :ADD_WHERE_CLAUSE1 || ' and trunc(gjh1.DEFAULT_EFFECTIVE_DATE) < to_char(to_date(:P_DATE_FROM,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') ';
:ADD_WHERE_CLAUSE3 := :ADD_WHERE_CLAUSE3 || ' and trunc(gjh3.DEFAULT_EFFECTIVE_DATE) < to_char(to_date(:P_DATE_FROM,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') ';
:ADD_WHERE_CLAUSE4 := :ADD_WHERE_CLAUSE4 || ' AND TRUNC(GJH4.DEFAULT_EFFECTIVE_DATE) BETWEEN TO_CHAR(TO_DATE(:P_DATE_FROM,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') AND TO_CHAR(TO_DATE(:P_DATE_TO,''YYYY/MM/DD HH24:MI:SS''),''DD-MON-YYYY'') ';
END IF;
*/
IF :P_SOURCE IS NOT NULL
THEN
IF :P_SOURCE = 'ETL'
THEN
:ADD_WHERE_CLAUSE :=
:ADD_WHERE_CLAUSE
|| ' and gjh.JE_SOURCE = ''1'' and gjh.JE_CATEGORY = ''1'' and gjh.REVERSED_JE_HEADER_ID is null and gjh.JE_HEADER_ID not in ( select distinct nvl(a.REVERSED_JE_HEADER_ID,0)from gl_je_headers a where a.JE_HEADER_ID <> gjh.JE_HEADER_ID )';
:ADD_WHERE_CLAUSE1 :=
:ADD_WHERE_CLAUSE1
|| ' and gjh1.JE_SOURCE = ''1'' and gjh1.JE_CATEGORY = ''1''and gjh1.REVERSED_JE_HEADER_ID is null and gjh1.JE_HEADER_ID not in ( select distinct nvl(a.REVERSED_JE_HEADER_ID,0)from gl_je_headers a where a.JE_HEADER_ID <> gjh1.JE_HEADER_ID ) ';
:ADD_WHERE_CLAUSE3 :=
:ADD_WHERE_CLAUSE3
|| ' and gjh3.JE_SOURCE = ''1'' and gjh3.JE_CATEGORY = ''1''and gjh3.REVERSED_JE_HEADER_ID is null and gjh3.JE_HEADER_ID not in ( select distinct nvl(a.REVERSED_JE_HEADER_ID,0)from gl_je_headers a where a.JE_HEADER_ID <> gjh3.JE_HEADER_ID ) ';
:ADD_WHERE_CLAUSE4 :=
:ADD_WHERE_CLAUSE4
|| ' and gjh4.JE_SOURCE = ''1'' and gjh4.JE_CATEGORY = ''1''and gjh4.REVERSED_JE_HEADER_ID is null and gjh4.JE_HEADER_ID not in ( select distinct nvl(a.REVERSED_JE_HEADER_ID,0)from gl_je_headers a where a.JE_HEADER_ID <> gjh4.JE_HEADER_ID ) ';
ELSIF :P_SOURCE = 'OFSA'
THEN
:ADD_WHERE_CLAUSE :=
:ADD_WHERE_CLAUSE
|| ' and gjh.JE_SOURCE <> ''1'' and gjh.JE_CATEGORY <> ''1''';
:ADD_WHERE_CLAUSE1 :=
:ADD_WHERE_CLAUSE1
|| ' and gjh1.JE_SOURCE <> ''1'' and gjh1.JE_CATEGORY <> ''1''';
:ADD_WHERE_CLAUSE3 :=
:ADD_WHERE_CLAUSE3
|| ' and gjh3.JE_SOURCE <> ''1'' and gjh3.JE_CATEGORY <> ''1''';
:ADD_WHERE_CLAUSE3 :=
:ADD_WHERE_CLAUSE3
|| ' and gjh3.JE_SOURCE <> ''1'' and gjh3.JE_CATEGORY <> ''1''';
:ADD_WHERE_CLAUSE4 :=
:ADD_WHERE_CLAUSE4
|| ' and gjh4.JE_SOURCE <> ''1'' and gjh4.JE_CATEGORY <> ''1''';
END IF;
END IF;
/*
IF :P_PERIOD_FROM IS NOT NULL AND :P_PERIOD_TO IS NOT NULL THEN
SELECT TO_CHAR(TRUNC(GP.START_DATE),'DD-MON-YYYY')
INTO LV_DATE_FROM
FROM GL_PERIODS GP
WHERE GP.PERIOD_NAME = :P_PERIOD_FROM
AND PERIOD_SET_NAME = 'NIB_Calendar';
SELECT TO_CHAR(TRUNC(GP.END_DATE),'DD-MON-YYYY')
INTO LV_DATE_TO
FROM GL_PERIODS GP
WHERE GP.PERIOD_NAME = :P_PERIOD_TO
AND PERIOD_SET_NAME = 'NIB_Calendar';
:P_DATE_FROM := LV_DATE_FROM;
:P_DATE_TO := LV_DATE_TO;
:ADD_WHERE_CLAUSE := :ADD_WHERE_CLAUSE || ' and trunc(gjh.DEFAULT_EFFECTIVE_DATE) between :p_date_from and :p_date_to';
:ADD_WHERE_CLAUSE1 := :ADD_WHERE_CLAUSE1 || ' and trunc(GJH1.DEFAULT_EFFECTIVE_DATE ) <= (SELECT A.START_DATE-1 FROM GL_PERIODS A WHERE A.PERIOD_NAME = GJH.PERIOD_NAME ) ';
:ADD_WHERE_CLAUSE3 := :ADD_WHERE_CLAUSE3 || ' and trunc(GJH3.DEFAULT_EFFECTIVE_DATE ) <= (SELECT A.START_DATE-1 FROM GL_PERIODS A WHERE A.PERIOD_NAME = :P_PERIOD_FROM) ';
:ADD_WHERE_CLAUSE4 := :ADD_WHERE_CLAUSE4 || ' and trunc(gjh4.DEFAULT_EFFECTIVE_DATE) between :p_date_from and :p_date_to';
END IF;
*/
RETURN (TRUE);
END;