Jasper Reports Dynamic Query String
Hi guys. Could you help me out? I'm trying to create a program with jasper reports where the query string should be dynamic. Meaning the sql queries are to change depending on certain conditions. For example, Condition A executes sqlqueryA while condition B executes sqlqueryB. All on the same report. Although of course not at the same time. Is it possible? Could you give me a sample code? I have no idea at all. Thanks.
Hi guys. Could you help me out? I'm trying to create a program with jasper reports where the query string should be dynamic. Meaning the sql queries are to change depending on certain conditions. For example, Condition A executes sqlqueryA while condition B executes sqlqueryB. All on the same report. Although of course not at the same time. Is it possible? Could you give me a sample code? I have no idea at all. Thanks.
Similar Messages
-
How to build dynamic query strings in the query using DB adapter 'Pure SQL'
Dear Forum,
I am building an application which will access DB to fetch some result set. The query involves retrieving data from multiple tables(nearly 10 tables). So I have created a DB adapter using 'execute pure sql' option. With this query works fine, but my inputs parameters will vary. So I need to make my query dynamic to append the query strings at runtime depending on the inputs.
For example I have 3 input variables - input1,input2 and input3 (in my request xsd) which are used in the pure sql query. Now if I get a 4th input parameter input4 in the request, I need to append this to query string as 'AND input4=[some value]' at runtime. Otherwise my query should have only 3 parameters. Please suggest how this can be achieved.
Regards,
Satya.This is a strange requirement, depending on the columns you have and what are optional in them, one way is to have separate operations and each opeartion will have different inputs and for each operation , a different DB Adapter is called. But this way, it results in more number of operations for the service as well as more number of references in the composite. Even if you pass the column inputs to the SQL procedure, it will result in a large number of if-else cases..
Thanks,
N -
Dynamic Query string in Receiver HTTP_AAE adapter
Hi All,
Currently I am working with a scenario where I need to use HTTP_AAE receiver adapter. I need to create the query string http://server:port/WebOrder?param=value dynamically.
I created below mentioned UDF.
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey urlParameter1 = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/HTTP_AAE", "URLParamOne");
conf.put(urlParameter1, "value");
return "";
In configuration part I entered below mentioned details in HTTP receiver adapter,
Target Host: server
Target Port: port
Path: /WebOrder?
Click Set Adapter specific Message properties
Click URL Parameters
I entered "param".
But I am getting the below mentioned error.
exception caught with cause com.sap.aii.adapter.http.api.HttpAdapterException: STATUS_CODE_NOT_OK-Not Found.
Could you please help me here.
Thanks
DipankarDear Team,
I am working on SAP PO 7.4 Single stack. we are have scenario to send sms to customers via portal system and the delivery status has to be updated in ECC. Failed to hit the sms portal by using the HTTP_AAE adapter.
URL - http://103.112.70/smpp/sendsms?username=xxxxx&password=xxxxx&to=919797979797&from=919560054422&text=test message.
Scenario - ECC(proxy) -> PO(HTTP adapter) -> SMS portal
Development:
ESR - In the mapping
Five parameters- username , password , to , from and text from ECC to PO as part of request message.
UDF -
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey parmValue;
try{
parmValue = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/HTTP", "URLParamOne");
conf.put(parmValue, var1);
parmValue = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/HTTP", "URLParamTwo");
conf.put(parmValue, var2);
parmValue = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/HTTP", "URLParamThree");
conf.put(parmValue, var3);
parmValue = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/HTTP", "URLParamFour");
conf.put(parmValue, var4);
parmValue = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/HTTP", "URLParamFive");
conf.put(parmValue, var5);
}catch(Exception ex){}
return "";
Integration Directory-
Communcation channel:
Tranport Protocol - HTTP 1.1
Message Protocol - GET
General Tab-
Addressing Mode - URL Address
Target Host - 103.112.70
Target Port - 80
Path - smpp/sendsms
Mainpayload Parameter Name - MT_SMS_Cust_Req
Advanced Tab-
Header fileds - EMPTY
Query Parameters - sender party - enabled
sender service - enbled
Receiver Interface - enabled
Message ID - enabled
Quality of service - enabled
Adapter -Specific Message Properties
set Adapter -specific Message Properties - enabled
URL parameters - enabled
parameter 1(URLParamOne) - username
parameter 2(URLParamTwo)-password
parameter3(URLParamThree)-to
parameter4(URLParamFour)-from
parameter5(URLParamFive)-text
After the configureations..The structture is not getting created as per the url format . In runtime PO system is sending only - smpp/sendsms to SMS portal and getting the response as Not authorized means the username&Password&to&from&text are not hitting the SMS porta.
Please check the configurations and guide me if any configurations were missing.
Regards,
Teja. -
Receiver HTTP Adapter Dynamic Query String
Hello,
I am using HTTP Adapter on receiver side.
My URL is <b>http://server:port/abc/def?xyz=123&luw=345</b>
When I am using Adapter specific attributes.
If I check apply Parameters and pass
Parameter 1 as xyz and Parameter 2 as luw and pass their values through dynamic configuration will they get appended to the dynamic querystring
http://server:port/abc/def at the end and I get back the complete URL.
Can this be achieved? I am stuck on this.
Regards,Srihari,
The best way to debug this and check what is happening would be to use the TCP gateway tool as shown in this blog by Stefan Grube.
/people/stefan.grube/blog/2007/03/29/troubleshooting-soap-http-and-mail-adapter-scenarios-with-tcpgateway
Send the request to the TCP gateway and forward it from there to the correspionding target.
You will be able to see the URL being passed including the Query String parameters.
Regards
Bhavesh -
How to set the backcolor of an element in jasper report dynamically
Hi,
I've just start using jasper report for my project. I have a problem that : my report will show some records get from database, I want some data field on report must have "red" backcolor according to its value, for example : if a text value is 3 its back color is red, and others value its backcolor is transparent. I don't know if there are some way to control jasper report script as I use java code in html file.
Please help me, thanks,
Dat.Hi,
I had the same problem. There are two ways (as far as I know) to solve it.
- if you only want to highlight some fields you can create a rectangle with your color and set the printWhenExpression
- if you want to set the color from your DataSource, you can use styled text. Just select styled text from the font panel and use the <style> element in the textFieldExpression like:
"<style backcolor=\"" + $F{COLOR} + "</style>" Hope this helps -
Hi,
I have a report based on 'PL/SQL function returning SQL query'. The attribute 'Sort' is selected for all column headings. This report has links to branch to other pages. Is it possible to clear the Last Sorted column session information and get the report sorted by the default column when returned to the report from another page? ie If I sort the report by third column and then click on a link to go to another page. If I click on 'Submit' of the second page and come back to the report, is it possible to get the report sorted by default column? I tried clearing the cache of the report page, when 'Submit' in the second page is clicked. Still I get the report sorted by the last sorted column.
Thanks for any help.
RekhaHi Rekha,
You sort information are stored in your user's preferences. You need to reset those preferences to get back to your default sorting. To reset you could e.g. use a process type called "reset preferences (remove all preferences for current user)".
Hope this helps,
Marc -
In HTTP receiver, how to make a dynamic query string in URL
Hi,
I have a scenario where after a map we get an XML output as shown below
<FUNLOC>000010038</FUNLOC>
<SECONDARY_KEY>0000010038</SECONDARY_KEY>
<SOURCE>SAP customer</SOURCE>
<NAME>NAME NAME12 NAME13</NAME>.
Now what i need that my HTTP receiver URL should add these tags as
FUNLOC=000010038&SECONDARY_KEY=0000010038&SOURCE=SAP customer&NAME=NAME NAME12 NAME13.
Can any one help me out in step by step process to archive this.
This will be a great help from you.
Thanks in advance,
SmitaHi Smita,
Check these threads You can find the solution there.
https://forums.sdn.sap.com/click.jspa?searchID=5694804&messageID=3189288
https://forums.sdn.sap.com/click.jspa?searchID=5694804&messageID=3717577
Regards,
Sreenivas -
I had posted this question earlier in PI forum and it was suggested that I could use ABAP Webdynpro .
My requirement is to use execute a dynamic http query string and process the Output file that is returned. I would like to know if this would be feasible from ABAP web dynpro (we have ecc 6.0) ?Hi,
can you tell what File Format you need to process,,,
As it is easy to call dynamic query-string using "OPEN_WINDOW "URL using Webdynpro .. -
Issue in attaching dynamic Query to the View Object
Hi,
We are having a View Object attached to the JRAD page.
The View object is build thru as Expert mode. There is no any CDATA
SQLQUERY stored in the VO.xml file.
We are building the query dynamically and attaching it to the VO in
RUNTIME.
The code is as below
// getFcstQuery() is method used to return the dynamic query
String query = getFcstQuery();
// Setting the Query to View Object
getViewDef().setQuery(query);
setQuery(query);
The JRAD page has sorting option on 5 columns. so when a sorting is
done the data are interchanged between the clients.
For example how the query will be build id
Say for the first user the query will be as
"select ename,eno,dno from emp where eno=1 "
for the second user the query may be
"select ename,eno,dno from emp where eno=2 "
Now if both the user hit the sorting on any of the column the data is
interchagned between this both users.
Please provide solution if possible.
Thanks in advance
BalamohanHi Steve,
We are using 5 tables in building the query.
Say,
1) summary
2) transactions
3) transactions_history
4) rules
5) rules_temp
but only 2 tables are used at a time
for read only we are using
summary table
for edit only mode we are using
1) transactions and
2) rules
tables
for edit and recalculate mode we are using
1) transactions and
2) rules_temp
tables
for one more condition we are using
1) transactions_history and
2) rules
tables
From all the above combination we are getting 5 columns. All the columns are defined the above combination tables. So using the same region. based on the conditions the combination of tables will change.
Becoz of this we are building the query dynamically.
Thanks
Balamohan -
Dynamic query...but I want to maintain performance.
Say I have a simple PL/SQL PROC like this...
PROCEDURE some_proc(p_id IN NUMBER)
IS
v_fn VARCHAR2(100);
BEGIN
SELECT first_name INTO v_fn
FROM tblEmployees
WHERE id = p_id;
dbms_output.put_line('Name is: ' || v_fn);
END;
Now let's say I want to accept another param in the proc which dictates the order...
Looking at the example below, what would be the best way to dynamically allow the query to change depending on what the user passes in the p_order_col parameter? For example, let's say the user passes "last_name" as the parameter...I would want the query to be:
SELECT first_name
FROM tblEmployees
WHERE id = p_id
ORDER BY last_name;
PROCEDURE some_proc(p_id IN NUMBER, p_order_col IN VARCHAR2)
IS
v_fn VARCHAR2(100);
BEGIN
SELECT first_name INTO v_fn
FROM tblEmployees
WHERE id = p_id;
dbms_output.put_line('Name is: ' || v_fn);
END;
Bear in mind I want to make sure that this query maximizes efficiency. I am wondering if by making the order by clause dynamic, it will make too many Hard Parses and not make use of binding. What I am really looking for here is some sort of DBA/performance expert advice on the right way to do this and not fill up the SGA by doing it the wrong way. I don't simply want to know how to do it...looking for the right way. I was thinking that maybe I could use dbms_sql package and open a cursor, then call .parse to my dynamic query string, then .bind_variable for the p_id. Is that the right start?Thank you for the quick reply. Theoretically it could be any number of columns. I tried to use a simple example, but in reality it would have to be dynamic for a few reasons...
1) My example is not so simple...to explain it here would take a lot of time...however tblEmployees is a huge query in reality...I was just trying to simplify for my post.
2) I need to order by on possibly multiple rows and that order needs to be dynamic.
I like your decode suggestions, but unfortunately I can't use it here.
Would doing something like this still allow me to make use of binds? Granted, I realize every query which has a different order by clause would qualify as a different query.
v_cursor INTEGER;
v_emp_name VARCHAR2(100);
v_cursor := dbms_sql.open_cursor;
dbms_sql.parse(v_cursor,'SELECT first_name AS emp_name FROM tblEmployees WHERE id = :p_id ORDER BY ' || p_order_col,dbms_sql.native);
dbms_sql.bind_variable(v_cursor, ':p_id', p_id);
dms_sql.define_column(v_cursor,1,v_emp_name);
v_rows := dbms_sql.execute(v_cursor);
LOOP
IF dbms_sql.fetch_rows(v_cursor) = 0 THEN
EXIT;
END IF;
dbms_sql.column_value(v_cursor,1,v_emp_name);
END LOOP;
dbms_sql.close(v_cursor);
dbms_output.put_line('Name: ' || v_emp_name); -
Add parameter in jasper report query string
Dear Experts,
i developed a pdf report using jasperreports . in this reports i used a query string where dont have any parameter, now i want to add a parameter between querystring. how can i do this?? (i know another solution and that is using jrDatasource) in this context i dont want to do this beacuse then i have to do it again from begining.
here is my XML FILE
i just want to add a parameter in querysting
like
<queryString><![CDATA[SELECT CH_RECORD_ID,FH_PRODUCT_ID,
CH_SEQUENCE_NO FROM TABLE_NAE WHERE ID='<![CDATA[$P{CH_FULL_NAME}]]>'can i do this or how can i do this
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="Statement"
columnCount="1"
printOrder="Vertical"
orientation="Portrait"
pageWidth="612"
pageHeight="864"
columnWidth="612"
columnSpacing="0"
leftMargin="0"
rightMargin="0"
topMargin="0"
bottomMargin="0"
whenNoDataType="BlankPage"
isTitleNewPage="true"
isSummaryNewPage="false">
<queryString><![CDATA[SELECT CH_RECORD_ID,FH_PRODUCT_ID,
CH_SEQUENCE_NO,
CH_CUSTOMER_NO,
CH_FULL_NAME,
CH_COMPANY_NAME,
CH_ADDR1 as ADD1,
CH_ADDR2 as ADD2,
CH_CITY,
CH_STATE,
CH_CNTRY,
CH_POSTCODE,
CH_STMT_DATE,
CH_STMT_END_DATE,
CH_PAYDUE_DATE,
CH_COMBINE_LIMIT,
CH_BARCODED_COMBINE_LIMIT,
AH_RECORD_ID,
AH_SEQUENCE_NO,
AH_CARDHOLDER_NO,
AH_CARD_DESC,
AH_CARD_DESC2,
AH_BILLING_CURR_CD,
AH_OUTSTD_BAL,
AH_OUTSTD_BAL_S,
AH_MIN_PMT,
AH_BPON_OPEN,
AH_BPNT_EARN,
AH_BPNT_EARN_S,
AH_BPNT_MGM,
AH_BPNT_MGM_S,
AH_BPNT_REDEEM,
AH_BPNT_REDEEM_S,
AH_BPNT_EXPIRY_MTH,
AH_BPNT_EXPIRY_MTH_S,
AH_BPNT_CLOSE,
AH_BPNT_EXPIRY,
AH_BPNT_EXP_DATE,
AH_REWARDS_IND,
AH_LINE_LIMIT,
AH_AVAIL_LIMIT,
AH_AVAIL_LIMIT_S,
AH_AVAIL_CASH_LIMIT,
AH_AVAIL_CASH_LIMIT_S,
TD_RECORD_ID,
TD_RECORD_TAG,
TD_CARDHOLDER_NO,
TD_CARDHOLDER_NAME,
TD_BILLING_CURR_CD,
TD_BAS_SUPP_IND,
if(TD_TRXN_DATE="00000000",' ',TD_TRXN_DATE) as TD_TRXN_DATE,
if(TD_POST_DATE="00000000",' ',TD_POST_DATE) as TD_POST_DATE ,
TD_DESCRIPTION,
TD_AMOUNT,
TD_AMOUNT_S,
TD_CARD_LIMIT FROM CUSTOMER_HEADER,
ACCOUNT_HEADER, TRANSACTION_DETAIL,FILE_HEADER
WHERE
CH_RECORD_ID = AH_RECORD_ID AND
AH_RECORD_ID = TD_RECORD_ID AND
AH_BILLING_CURR_CD = TD_BILLING_CURR_CD AND
TD_DESCRIPTION!='SUB TOTAL'
ORDER BY CH_RECORD_ID,
AH_BILLING_CURR_CD,
TD_BILLING_CURR_CD,
TD_RECORD_TAG, TD_POST_DATE]]></queryString>
<field name="ADD1" class="java.lang.String"/>
<field name="ADD2" class="java.lang.String"/>
<field name="AH_AVAIL_CASH_LIMIT" class="java.lang.String"/>
<field name="AH_AVAIL_CASH_LIMIT_S" class="java.lang.String"/>
<field name="AH_AVAIL_LIMIT" class="java.lang.String"/>
<field name="AH_AVAIL_LIMIT_S" class="java.lang.String"/>
<field name="AH_BILLING_CURR_CD" class="java.lang.String"/>
<field name="AH_BPNT_CLOSE" class="java.lang.String"/>
<field name="AH_BPNT_EARN" class="java.lang.String"/>
<field name="AH_BPNT_EARN_S" class="java.lang.String"/>
<field name="AH_BPNT_EXPIRY" class="java.lang.String"/>
<field name="AH_BPNT_EXPIRY_MTH" class="java.lang.String"/>
<field name="AH_BPNT_EXPIRY_MTH_S" class="java.lang.String"/>
<field name="AH_BPNT_EXP_DATE" class="java.lang.String"/>
<field name="AH_BPNT_MGM" class="java.lang.String"/>
<field name="AH_BPNT_MGM_S" class="java.lang.String"/>
<field name="AH_BPNT_REDEEM" class="java.lang.String"/>
<field name="AH_BPNT_REDEEM_S" class="java.lang.String"/>
<field name="AH_BPON_OPEN" class="java.lang.String"/>
<field name="AH_CARDHOLDER_NO" class="java.lang.String"/>
<field name="AH_CARD_DESC" class="java.lang.String"/>
<field name="AH_CARD_DESC2" class="java.lang.String"/>
<field name="AH_LINE_LIMIT" class="java.lang.String"/>
<field name="AH_MIN_PMT" class="java.lang.String"/>
<field name="AH_OUTSTD_BAL" class="java.lang.String"/>
<field name="AH_OUTSTD_BAL_S" class="java.lang.String"/>
<field name="AH_RECORD_ID" class="java.lang.String"/>
<field name="AH_REWARDS_IND" class="java.lang.String"/>
<field name="AH_SEQUENCE_NO" class="java.lang.String"/>
<field name="CH_BARCODED_COMBINE_LIMIT" class="java.lang.String"/>
<field name="CH_CITY" class="java.lang.String"/>
<field name="CH_CNTRY" class="java.lang.String"/>
<field name="CH_COMBINE_LIMIT" class="java.lang.String"/>
<field name="CH_COMPANY_NAME" class="java.lang.String"/>
<field name="CH_CUSTOMER_NO" class="java.lang.String"/>
<field name="CH_FULL_NAME" class="java.lang.String"/>
<field name="CH_PAYDUE_DATE" class="java.lang.String"/>
<field name="CH_POSTCODE" class="java.lang.String"/>
<field name="CH_RECORD_ID" class="java.lang.String"/>
<field name="CH_SEQUENCE_NO" class="java.lang.String"/>
<field name="CH_STATE" class="java.lang.String"/>
<field name="CH_STMT_DATE" class="java.lang.String"/>
<field name="CH_STMT_END_DATE" class="java.lang.String"/>
<field name="FH_PRODUCT_ID" class="java.lang.String"/>
<field name="TD_AMOUNT" class="java.lang.String"/>
<field name="TD_AMOUNT_S" class="java.lang.String"/>
<field name="TD_BAS_SUPP_IND" class="java.lang.String"/>
<field name="TD_BILLING_CURR_CD" class="java.lang.String"/>
<field name="TD_CARDHOLDER_NAME" class="java.lang.String"/>
<field name="TD_CARDHOLDER_NO" class="java.lang.String"/>
<field name="TD_CARD_LIMIT" class="java.lang.String"/>
<field name="TD_DESCRIPTION" class="java.lang.String"/>
<field name="TD_POST_DATE" class="java.lang.String"/>
<field name="TD_RECORD_ID" class="java.lang.String"/>
<field name="TD_RECORD_TAG" class="java.lang.String"/>
<field name="TD_TRXN_DATE" class="java.lang.String"/>
<group name="Customer_header" isStartNewColumn="false" isStartNewPage="true" isResetPageNumber="true" isReprintHeaderOnEachPage="true" minHeightToStartNewPage="0" >
<groupExpression><![CDATA[$F{CH_RECORD_ID}]]></groupExpression>
<groupHeader>
<band height="208" isSplitAllowed="true" >
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="168"
y="84"
width="274"
height="16"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_FULL_NAME}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="168"
y="116"
width="281"
height="14"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{ADD1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="168"
y="100"
width="179"
height="14"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_COMPANY_NAME}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="239"
y="148"
width="119"
height="14"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_CITY}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="168"
y="148"
width="70"
height="14"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_POSTCODE}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="168"
y="164"
width="201"
height="13"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_CNTRY}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="29"
y="130"
width="90"
height="14"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Center" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_STMT_DATE}.substring(6,8)+"."+$F{CH_STMT_DATE}.substring(4,6)+"."+$F{CH_STMT_DATE}.substring(0,4)]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="470"
y="130"
width="81"
height="13"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Center" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_PAYDUE_DATE}.substring(6,8)+"."+$F{CH_PAYDUE_DATE}.substring(4,6)+"."+$F{CH_PAYDUE_DATE}.substring(0,4)]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="476"
y="67"
width="46"
height="13"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{FH_PRODUCT_ID}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="168"
y="132"
width="236"
height="14"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{ADD2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="529"
y="67"
width="28"
height="13"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_RECORD_ID}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="0" isSplitAllowed="true" >
</band>
</groupFooter>
</group>
<group name="Account_Header" isStartNewColumn="false" isStartNewPage="false" isResetPageNumber="true" isReprintHeaderOnEachPage="true" minHeightToStartNewPage="0" >
<groupExpression><![CDATA[$F{AH_BILLING_CURR_CD}]]></groupExpression>
<groupHeader>
<band height="175" isSplitAllowed="true" >
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="12"
y="16"
width="156"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Center" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{AH_CARDHOLDER_NO}.substring(0,4)+" "+$F{AH_CARDHOLDER_NO}.substring(4,8)+" "+$F{AH_CARDHOLDER_NO}.substring(8,12)+" "+$F{AH_CARDHOLDER_NO}.substring(12,16)]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="226"
y="16"
width="84"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Right" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{AH_OUTSTD_BAL}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="417"
y="16"
width="90"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Right" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{AH_MIN_PMT}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="0"
y="95"
width="128"
height="14"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Center" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{AH_CARDHOLDER_NO}.substring(0,4)+" "+$F{AH_CARDHOLDER_NO}.substring(4,8)+" "+$F{AH_CARDHOLDER_NO}.substring(8,12)+" "+$F{AH_CARDHOLDER_NO}.substring(12,16)]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="191"
y="95"
width="216"
height="14"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Center" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_FULL_NAME}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="517"
y="95"
width="35"
height="14"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Center" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.Integer"><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="9"
y="134"
width="72"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Center" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_STMT_DATE}.substring(6,8)+"."+$F{CH_STMT_DATE}.substring(4,6)+"."+$F{CH_STMT_DATE}.substring(0,4)]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="123"
y="135"
width="69"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Center" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CH_PAYDUE_DATE}.substring(6,8)+"."+$F{CH_PAYDUE_DATE}.substring(4,6)+"."+$F{CH_PAYDUE_DATE}.substring(0,4)]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="201"
y="135"
width="82"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Right" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{AH_LINE_LIMIT}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="332"
y="135"
width="88"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Right" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{AH_AVAIL_LIMIT}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="461"
y="136"
width="79"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Right" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{AH_AVAIL_CASH_LIMIT}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="284"
y="135"
width="44"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["("+$F{AH_BILLING_CURR_CD}+")"]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="421"
y="135"
width="30"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{AH_AVAIL_LIMIT_S}.equals("-")?"CR":""]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="541"
y="136"
width="22"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{AH_AVAIL_CASH_LIMIT_S}.equals("-")?"CR":""]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" > <reportElement
mode="Opaque"
x="337"
y="16"
width="19"
height="15"
forecolor="#000000"
backcolor="#FFFFFF"
positionType="Float"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="12" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="CP1252" isStrikeThrough="false" />
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{AH_OUTSTD_BAL_S}.equals("-")?"CR":""]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="0" isSplitAllowed="true" >
</band>
</groupFooter>
</group>
<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
<HI.
Try using Ireport for pass the parameters and edit the query easier. -
Hi,
I have to generate a report which contains a query with database link. This database link is not hard coded and would be picked up from another report which contans a link to this report. So this database link value for the query could be any. Can anyone guide me hot to write a dynamic select statement so that i could append database link value at run time.
Thanks
SalmanHi,
You can not directly use a PL/SQL query to create an Interactive Report - that is not yet available.
What you could do is create a collection from your query and then use that for the report. Have a look at: [http://download-uk.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32471/advnc.htm#BABGHJFD].
In there, you will see APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY - this allows you to create a collection from a string. You could add a PL/SQL process to your page that runs "On Load: Before Header" that actually creates the collection. Something like:
BEGIN
IF APEX_COLLECTION.COLLECTION_EXISTS('MYCOLLECTIONNAME') THEN
APEX_COLLECTION.DELETE_COLLECTION('MYCOLLECTIONNAME');
END IF;
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY('MYCOLLECTIONNAME','MY SQL QUERY STRING');
END;Your Interactive Report can then be based on:
SELECT SEQ_ID, C001, C002, C003, ...
FROM APEX_COLLECTIONS
WHERE COLLECTION_NAME = 'MYCOLLECTIONNAME'The tricky part is the headings as these would tend to be the SEQ_ID, C001, C002, C003, etc column names from the collection itself.
To get around this, make sure that the report's sql statement includes as many Cnnn columns as you will need for the widest of the reports. Before doing anything else, run the report once to make sure that all these columns are included in the output.
Then, through Shared Components, Application Items, create items that will hold heading names - for example, G_HEADING1, G_HEADING2 etc - one for each possibile column.
Now, update the process to:
BEGIN
IF APEX_COLLECTION.COLLECTION_EXISTS('MYCOLLECTIONNAME') THEN
APEX_COLLECTION.DELETE_COLLECTION('MYCOLLECTIONNAME');
END IF;
IF ..test1.. THEN
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY('MYCOLLECTIONNAME','MY SQL QUERY STRING 1');
:G_HEADING1 := 'ColumnHeading1Value';
:G_HEADING2 := 'ColumnHeading2Value';
:G_HEADING3 := NULL; -- column not used for this query, so set it to null
ELSIF ..test2 .. THEN
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY('MYCOLLECTIONNAME','MY SQL QUERY STRING 2');
:G_HEADING1 := 'ColumnHeading1Value';
:G_HEADING2 := 'ColumnHeading2Value';
:G_HEADING3 := 'ColumnHeading3Value';
ELSIF ...etc...
.. etc ...
END IF;
END;Finally, on the report itself, set the column headings to *&G_HEADING1.*, *&G_HEADING2.* etc. Then, on each column, set a Condition of "Value of Item in Expression 1 is NOT NULL" and in Expression 1, enter in the application item for that column - eg, G_HEADING1
I have done all that here: [http://apex.oracle.com/pls/otn/f?p=16338:5] - select either Departments or Employees from the list and the report will change.
Andy -
Reports 6i Encrypting query string parameters using Web.Show_Document()
I am developing Forms 6i form which initiates a report on our reports server (using rwcgi60) using a call to Web.Show_Document(). However, we pass several parameters to the report from the form which we'd like to encrypt, otherwise they're likely to be abused.
For example, I might have something like:
http://www.myserver.com/dev60cgi/rwcgi60?report=MYREPORT&p_unsecure_param=1234
I am aware of the following document which describes how to use a JavaBean implmentation and client cookie to hide sensitive information using a client side cookie - but this appears to be specific to hiding user logon information - can it be extended to cover any parameter on the query string?
http://www.oracle.com/technology/products/forms/pdf/secure_webshowdoc_rep6i.pdf
...or will I have to provide my own solution - e.g. perhaps using the DBMS_OBFUSCATION encryption and decryption functions to pass an encrypted parameter string to the report, and have the report decrypt the string on the reports server....
I should probably point out that the parameter values are dynamic - not static, so adding an entry to cgicmd.dat isn't going to solve my problem.
Any ideas?
ShaneFrank,
Thanks for confirming this - this is what I had suspected - just wanted to check that there wasn't already some inbuilt functionality which I had overlooked. DBMS_OBFUSCATION_TOOLKIT it is then!
Shane -
QSUF (Query string url filter) and SQL Server reporting services report viewer parameters
Hi,
this is my issue:
I have a SQL Server reporting services web part on a page with a report with 1 parameter, lets say it's a client list
Then i have a QSUF that will be used to filter the clients list through the URL
However, once i connect the filter and the report viewer web part, the parameter goes away and is no longer accessible
I'd like to somehow keep the parameter visible, in case there is no parameter sent through the URL, i would like the user to be able to choose a client from the parameter drop down list
I saw that there is a "send empty if no values are passed" option, but i can't seem to get this working properly and i don't know if this option will make the parameter visible again
Any help would be appreciated
Thanks.Hi,
According to your post, my understanding is that the query string url filter web part not worked well with SQL server reproting services web part.
Did you use the Wiki page layout in your environment?
You can change the page to a web part page, then check whether it work.
There is a similar thread for your reference.
http://social.msdn.microsoft.com/Forums/sharepoint/en-US/4d7584e3-8e1a-48bf-9346-32f8cb480dd1/query-string-url-filter-web-part?forum=sharepointgeneralprevious
Thanks & Regards,
Jason
Jason Guo
TechNet Community Support -
Dynamic Interface in Query String does not work?
Hi All,
i have exposed a interface as a webservice with the help of the Define Web Service in Configuration Builder.
In the SOAP Sender Communication Channel i have checked the options Use Encoded Headers and Use Query String
The url of the webservice looks like this:
http://server:50000/XISOAPAdapter/MessageServlet?channel=:BS:CC_SOAP_SENDER&version=3.0&Sender.Service=BS&Interface=http%3A%2F%2Fnamespace.com%2Fabc%2HER%2FGlobal%5EMIOS_GetDetails
This works which is great, i can now retrieve supplier details with this webservice. Now i want to expose another interface as a webservice. That URL looks like this:
http://server:50000/XISOAPAdapter/MessageServlet?channel=:BS:CC_SOAP_SENDER&version=3.0&Sender.Service=BS&Interface=http%3A%2F%2Fnamespace.com%2Fabc%2HER%2FGlobal%5EMIOS_EventBooking
As you can see i have a different interface in the URL's of the Webservices. I want to have both make use of the same Communication Channel which is possible according to [SAP Note 856597|https://websmp130.sap-ag.de/sap(bD1ubCZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=856597] See Q: Can I set the interface name dynamically from the client? also in this document : [How to Use the XI 3.0 Soap Adapter|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79]
The problem is that when i try to call the second web service (EventBooking) that is routes to the mapping of the GetDetails interface, i can see this in SXMB_MONI. Therefore it gives an Error.
When i try both scenarios in Configuration Builder they both work fine, only the webservice call of EventBooking ends up in the Message Mapping of GetDetail.... Why? And how to solve this?
Anyone have experience with the feature mentioned in the SAP note?After some further examination it seems that both calls are picked up by the same interface. In the RWB both the messages are picked up by the MIOS_GetDetails...
How can i fix this?
Maybe you are looking for
-
I want to place all my menu items in a template and apply it to the pages. I was able to do this with several pages using the instructions in the help documents. At some point, moving the template icon onto the page quit working. What is the preferre
-
hi guys im rubbish at regex basically i was to put the line: 527787 137625 01/11/2005 00:30:00 4 into 5 string varibles using a regular expressions any ideas? so string a = 527787 string b = 137625 string c = 01/11/2005 string d= 00:3
-
How buy at att on line or store?
if i will buy some iphones at store or online.. they forced me to make a contract ? i need some for gift... but i buy 2 before to apple store with my card... att can sold if you buy before ??
-
Golden Gate Process to be monitored
Hi Expoerts, We are evaluating an opportunity to monitor golden gate processes using 3rd party tool, would like to know what the process that we can monitor? and what is the best way to have monitoring implemented. - Any Doc or implementation guide f
-
Why can't I accept the iTunes user agreement?
[IMG]http://img246.imageshack.us/img246/4671/000101203030401wx6.png[/IMG] So i click to accept iot and then there is no continue button or anything, and that is full screen and it wont let me scroll or anything.