Execute Non Query: Parameter 'Invoice Status': Value is too large to bind

Hi Guys,

I’m calling one procedure from my Main workflow where I’m facing
this error Value is too large to bind

2
these are the parameters I’m passing to proc


In DB the Invoice Status type is varchar2

What might be the issue here?

Thanks

What is the length of InvStatus variable? It could be that the value returned is too big for this variable.

Thanks, @csathys for the reply
InvStatus variable type is varchar2 in DB
and in workflow i declared a string variable to receive it
below is the proc code

InvStatus varchar2;
v_err_msg_lns VARCHAR2 (4000);
v_err_msg_lns := NULL;
v_err_msg_lns := v_err_msg_lns|| 'No data exists for receipt - '|| p_po_number;
InvStatus := v_err_msg_lns;

So v_err_msg_lns is causing the problem here???

But when I’ve executed this procedure in database I’m getting simple two-line content in InvStatus variable

  1. What database are you using?
  2. InvStatus is Varchar2 is ok, but what is the size?
  3. How exactly are you making the call in WF vs off workflow?

The db is oracle 11g
size is not declared for InvStatus, it is simply varchar2

for off workflow, i’m simply executing the procedure in db by passing input parameters and declared one output parameter InvStatus type varchar 2, it’s working fine able to print the InvStatus

with workflow i’m using execute query activity and passing input values and receiving output through parameters property

The variable that is receiving the OUT parameter in your calling procedure has to have a size. For example, assuming result is OUT parameter and InvNum is IN parameter, passing them to a procedure Yourprocedure, this is how we typically do. How/where is your code different from this?

declare
 InvStatus varchar2(4000);
begin
    Yourprocedure(result=>InvStatus, InvNum=>'9199111');
    dbms_output.put_line('Status is : '||InvStatus);
end;

There’s no way in UiPath to catch the value of dbms_output.put_line(). If you know of any, please let me know.