You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by bu...@apache.org on 2003/06/03 15:11:35 UTC

DO NOT REPLY [Bug 20446] New: - using get-string for an oracle output parameter

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20446>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20446

using get-string for an oracle output parameter

           Summary: using get-string for an oracle output parameter
           Product: Cocoon 2
           Version: 2.0
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Major
          Priority: Other
         Component: core
        AssignedTo: cocoon-dev@xml.apache.org
        ReportedBy: m.tedford@kainos.com


I am calling an oracle stored proc, which works in SQL PLUS. It has many output 
parameters and when I try to retrieve the numeric output parameters from the 
stored proc via XSL, everything works fine, however when I try to retrieve an 
output parameter, which is defined as a varachr2 in oracle and defined as a 
string in XSL, everything stops working: The following is a sample of the code, 
note when I leave the call out for getting the output parameter, which is a 
string everything works as normal (I have added a note as to where the code 
stops working, look for parameter advanceAA. All suggestions are welcome.
Thanks
Martina
I have used the following code:

<xsl:template match="letterslib:get-advance-for-loan-type">

	<xsp:logic>
		errorMessage="";
		advanceDate="";
		templateName="letterslib:get-advance-for-loan-type";
		iPurchasePrice = 0;
		 iPropertyInsurance = 0;
		 iPropertyInsPremium = 0;
		 iASUInsurance = 0;
		 iASUInsPremium = 0;
		 iIndemnity = 0;
		iArrangement = 0;
		advanceType = "";
	       basisType = "";
	       advanceAA="";
	       String test="";
	  
	</xsp:logic>

	<esql:execute-query>
			<esql:call>{call 
lg_pk_get_loan_details.p_get_advance_particulars(
			<esql:parameter direction="in" 
type="String"><xsp:expr>user_id</xsp:expr></esql:parameter>,
			<esql:parameter direction="in" 
type="String"><xsp:expr>loan_type</xsp:expr></esql:parameter>,
			<esql:parameter direction="in" 
type="String"><xsp:expr>agreement_id</xsp:expr></esql:parameter>,
			<esql:parameter direction="out" 
type="Double"></esql:parameter>,
			<esql:parameter direction="out" 
type="Double"></esql:parameter>,
			<esql:parameter direction="out" 
type="Double"></esql:parameter>,
			<esql:parameter direction="out" 
type="Double"></esql:parameter>,
			<esql:parameter direction="out" 
type="Double"></esql:parameter>,
			<esql:parameter direction="out" 
type="Double"></esql:parameter>,
			<esql:parameter direction="out" 
type="Double"></esql:parameter>,
			<esql:parameter direction="out" 
type="String"></esql:parameter>,
			<esql:parameter direction="out" 
type="String"></esql:parameter>)
		}
		</esql:call>
		<esql:call-results>
		<xsp:logic> 
		
iPurchasePrice=<esql:get-double column="4" from-call="yes"/>;
iPropertyInsurance=<esql:get-double column="5" from-call="yes"/>;
iPropertyInsPremium=<esql:get-double column="6" from-call="yes"/>;
iASUInsurance=<esql:get-double column="7" from-call="yes"/>;
iASUInsPremium=<esql:get-double column="8" from-call="yes"/>;
iIndemnity=<esql:get-double column="9" from-call="yes"/>;
iArrangement=<esql:get-double column="10" from-call="yes"/>; 
advanceAA=<esql:get-string column ="11" from-call="yes"/>; --Note this is the 
line which prevents the URI from working plus I get no meaningful error 
message, without this line everything works fine
		       </xsp:logic>
		</esql:call-results>
		
		
	<PurchasePrice><xsp:expr>iPurchasePrice</xsp:expr></PurchasePrice> 	
		
	<PropertyInsurance><xsp:expr>iPropertyInsurance</xsp:expr></PropertyInsu
rance>
		
	<PropertyInsPremium><xsp:expr>iPropertyInsPremium</xsp:expr></PropertyIn
sPremium>
			<ASUInsurance><xsp:expr> 
iASUInsurance</xsp:expr></ASUInsurance>
			<ASUInsurancePremium><xsp:expr> 
iASUInsPremium</xsp:expr></ASUInsurancePremium>
			<Indemnity><xsp:expr> iIndemnity</xsp:expr></Indemnity>
			<Arrangement><xsp:expr> 
iArrangement</xsp:expr></Arrangement>
			<Advance><xsp:expr>advanceAA</xsp:expr> </Advance>
		<esql:error-results>
			<xsp:logic>
				errorMessage=<esql:get-message/>;
			</xsp:logic>
			<xsl:call-template name="write-error"/>
		</esql:error-results>
		</esql:execute-query>
</xsl:template>