Hey Chris,

removeFirstPrepend would not make sense where you have it specified. It
would be specified on the dynamic tag. The idea being that the first child
tag to generate a prepend would be silenced. However, the dynamic tag does
this by default. You shouldn't need the removeFirstPrepend in this case. Try
removing the open attribute on the dynamic tag with a prepend. In the end it
should look like...


<procedure id="listCustomer" parameterClass="Customer"
resultMap="CustomerResult">
  { call ${listCustomer_sp}
    <dynamic prepend="(" close=")">
      <isNotEmpty property="customerNumber" prepend=",">
        @CustomerNumber =
#customerNumber,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
      </isNotEmpty>
      <isNotEmpty property="customerName" prepend=",">
        @CustomerName =
#customerName,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
      </isNotEmpty>
      <isNotEmpty property="customerClass" prepend=",">
        @CustomerClass =
#customerClass,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
      </isNotEmpty>
...

Let me know if that works,
Brandon Goodin

On Wed, Apr 23, 2008 at 7:04 PM, <[EMAIL PROTECTED]> wrote:

>
> I'm having some trouble with the syntax of removeFirstPrepend. I have a
> procedure that I am attempting to invoke and all of the parameters are
> optional. SO I've embedded the content within the dynamic tag as documented
> and specified on each conditional element removeFirstPrepend="true", but the
> first content that is included does not get its prepend character ","
> removed and the SQL is invalid.
>
> What am I missing?
> Thanks...
>
>   <procedure id="listCustomer" parameterClass="Customer" resultMap=
> "CustomerResult">
>     { call ${listCustomer_sp}
>       <dynamic open="(" close=")">
>         <isNotEmpty property="customerNumber" prepend=","
> removeFirstPrepend="true">
>           @CustomerNumber =
> #customerNumber,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
>         </isNotEmpty>
>         <isNotEmpty property="customerName" prepend="," removeFirstPrepend
> ="true">
>           @CustomerName =
> #customerName,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
>         </isNotEmpty>
>         <isNotEmpty property="customerClass" prepend=","
> removeFirstPrepend="true">
>           @CustomerClass =
> #customerClass,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
>         </isNotEmpty>
> .....
>
>
>
> Chris Mathrusse
> [EMAIL PROTECTED]
> Sybase, Inc
> One Sybase Drive
> Dublin, CA 94568
> (925) 236-5553

Reply via email to