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: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


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>

Reply via email to