Designing subreports
How to design a report based on this oracle query. My query is very big but i am giving sub query of the Total query.<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
SELECT A.COMP_CODE,A.MATCODE,B.UNIT_CODE,A.ATTRIB1,A.ATTRIB2,MAT_NAME,SUP_PROD_CODE,
SUP_CODE,BRAND_CODE,CAT_CODE,SGRPCODE,SUB_SGRPCODE,COST_PRICE,GRN_DATE FROM
(
SELECT A.COMP_CODE,A.MATCODE,A.ATTRIB1,A.ATTRIB2,MAT_NAME,SUP_PROD_CODE,
SUP_CODE,BRAND_CODE,CAT_CODE,SGRPCODE,SUB_SGRPCODE,B.COST_PRICE,B.GRN_DATE FROM
(
SELECT A.COMP_CODE,A.MATCODE,A.ATTRIB1,A.ATTRIB2,B.MAT_NAME,B.SUP_PROD_CODE,
B.SUP_CODE,B.BRAND_CODE,B.CAT_CODE,B.SGRPCODE,B.SUB_SGRPCODE FROM
MAT_LIST A,
MATERIAL_MASTER B
WHERE A.COMP_CODE=B.COMP_CODE
AND A.MATCODE=B.MATCODE
--AND A.MATCODE='168847'
)A,
(SELECT A.COMP_CODE,A.MAIN_CODE,A.MATCODE,NVL(A.ATTRIB_CODE1,0) ATTRIB1,NVL(A.ATTRIB_CODE2,0) ATTRIB2,
A.MAT_TYPE,MAX(A.MAT_COST) COST_PRICE,GRN_DATE
FROM INV_GRN_DTL_V A
WHERE a.grn_date=(select max(b.grn_date) from inv_grn_dtl_v b
where b.comp_code=a.comp_code and
b.main_code=a.main_code and
b.matcode=a.matcode and
nvl(b.grn_status,'P')='A' and
nvl(b.auth_status,'P')='A' and
b.supcode<>'GDS1' and
b.grn_date<=:TO_DT)
AND NVL(A.GRN_STATUS,'P')='A'
AND NVL(A.AUTH_STATUS,'P')='A'
GROUP BY A.COMP_CODE,A.MAIN_CODE,A.MATCODE,A.ATTRIB_CODE1,A.ATTRIB_CODE2,A.MAT_TYPE,GRN_DATE
) B
WHERE A.COMP_CODE=B.COMP_CODE(+)
AND A.MATCODE=B.MATCODE(+)
AND A.ATTRIB1=B.ATTRIB1(+)
AND A.ATTRIB2=B.ATTRIB2(+)
AND A.COMP_CODE=[img]http://www.birt-exchange.org/org/forum/public/style_emoticons/<#EMO_DIR#>/tongue.gif[/img]_COMP_CODE)
A,(
SELECT COMP_CODE,MAIN_CODE,UNIT_CODE
FROM UNIT_MST WHERE COMP_CODE=56
AND UNIT_CODE IN (SELECT DISTINCT UNIT_CODE FROM STK_SALES_VU
WHERE ORD_DATE BETWEEN :FR_DT AND :TO_DT
AND COMP_CODE=[img]http://www.birt-exchange.org/org/forum/public/style_emoticons/<#EMO_DIR#>/tongue.gif[/img]_COMP_CODE)
--UNION ALL
--SELECT DISTINCT COMP_CODE,MAIN_CODE,'STOCK' FROM UNIT_MST WHERE COMP_CODE=[img]http://www.birt-exchange.org/org/forum/public/style_emoticons/<#EMO_DIR#>/tongue.gif[/img]_COMP_CODE
) B
WHERE A.COMP_CODE=B.COMP_CODE
AND A.COMP_CODE=[img]http://www.birt-exchange.org/org/forum/public/style_emoticons/<#EMO_DIR#>/tongue.gif[/img]_COMP_CODE
AND UNIT_CODE=DECODE(:_UNIT_CODE,'ALL',UNIT_CODE,[img]http://www.birt-exchange.org/org/forum/public/style_emoticons/<#EMO_DIR#>/tongue.gif[/img]_UNIT_CODE)
AND CAT_CODE BETWEEN DECODE(:FR_CAT,'ALL',CAT_CODE,:FR_CAT)
AND DECODE(:TO_CAT,'ALL',CAT_CODE,:TO_CAT)
AND SUP_CODE=DECODE([img]http://www.birt-exchange.org/org/forum/public/style_emoticons/<#EMO_DIR#>/tongue.gif[/img]_SUP_CODE,'ALL',SUP_CODE,[img]http://www.birt-exchange.org/org/forum/public/style_emoticons/<#EMO_DIR#>/tongue.gif[/img]_SUP_CODE))
</pre>
<br />
Here each <strong class='bbc'>:param(: P_UNIT_CODE)</strong> should be replaced with the Report parameter, I created the report parameters but i don't know how to assign them to sub queries especially at <strong class='bbc'>between</strong> operator and <strong class='bbc'>DECODE</strong> function. The parameters are -> <strong class='bbc'>(:FR_DT,:TO_DT, : p_COMP_CODE, :FR_CAT, :TO_CAT, : p_SUP_CODE)</strong> which need to be replaced with '?' while writing the query in dataset. But i don't know how to replace same parameter which is occurring at multiple places with the query parameters. Pls Help Me.