0

我在用户参数部分创建了一个数据类型为字符且初始值为对偶的词法参数 x_sql。

sql 语句是:- select * from (&x_sql)

现在 x_sql 的值是从在报告前触发器中调用的包中的函数中获取的。

x_sql 包含查询:

SELECT   process          
, part_name                   
, ok_qty               
, "Casting damage"
FROM INHOUSE_REJ_TAB
PIVOT (
  SUM(reason_wise_rej_qty) FOR rejected_reason IN (
    'Casting damage' as "Casting damage"
  )
) ORDER BY part_name

其中 process、part_name 和 ok_qty 是固定列,但铸造损坏是动态的。可能有多个拒绝原因。

现在我需要从这个动态选择查询中生成一个 xml 输出。

查询的输出是

PROCESS         PART_NAME                       OK_QTY  Casting Damage
LPC     PEGEOUT 1.8 CYLINDER HEAD CASTING H29   12420   10

问题是我没有得到所需的输出。

我运行报告后得到的输出是:-

<?xml version="1.0" encoding="UTF-8" ?> 
- <!--  Generated by Oracle Reports version 10.1.2.3.0 
  --> 
- <INHOUSE_REJ>
- <LIST_G_DUMMY>
- <G_DUMMY>
  <DUMMY>X</DUMMY> 
  </G_DUMMY>
  </LIST_G_DUMMY>
  </INHOUSE_REJ>

所需的输出应该是

<INHOUSE_REJ>
  <P_ORGANIZATION_ID>88</P_ORGANIZATION_ID>
  <P_FROM_DATE>2015-01-01</P_FROM_DATE>
  <P_TO_DATE>2015-02-11</P_TO_DATE>
- <LIST_G_DATA>
- <G_DATA>
  <PROCESS>LPC</PROCESS>
  <PART_NAME>PEGEOUT 1.8 CYLINDER HEAD CASTING H29</PART_NAME>
  <OK_QTY>12420</OK_QTY>
  <CASTING DAMAGE>10< /CASTING DAMAGE>
  </G_DATA>
  </LIST_G_DATA>
  </INHOUSE_REJ

P_ORGANIZATION_ID,P_FROM_DATE,P_TO_DATE 是用户参数

我只需要知道一个词法参数是否包含一个在名称和要显示的列数方面本质上是动态的整个 select 语句,然后如何在 Oracle Reports 10g 中处理它。

请帮助我并指导我。

4

0 回答 0