diff --git a/base/src/org/compiere/model/MPInstance.java b/base/src/org/compiere/model/MPInstance.java
index b2b820c3f5..3f0a9a8d44 100644
--- a/base/src/org/compiere/model/MPInstance.java
+++ b/base/src/org/compiere/model/MPInstance.java
@@ -32,6 +32,10 @@ import org.compiere.util.Env;
*
* @author Jorg Janke
* @version $Id: MPInstance.java,v 1.3 2006/07/30 00:58:36 jjanke Exp $
+ *
+ * @author Teo Sarca, www.arhipac.ro
+ *
FR [ 2818478 ] Introduce MPInstance.createParameter helper method
+ * https://sourceforge.net/tracker/?func=detail&aid=2818478&group_id=176962&atid=879335
*/
public class MPInstance extends X_AD_PInstance
{
@@ -334,4 +338,42 @@ public class MPInstance extends X_AD_PInstance
return success;
} // afterSave
+ /**
+ * Create Process Instance Parameter and save to database
+ * @param seqNo parameter sequence#
+ * @param parameterName parameter name
+ * @param value parameter value
+ * @return
+ */
+ public MPInstancePara createParameter(int seqNo, String parameterName, Object value)
+ {
+ MPInstancePara ip = new MPInstancePara(this, seqNo);
+ if (value == null)
+ {
+ ip.setParameter(parameterName, (String)null);
+ }
+ else if (value instanceof BigDecimal)
+ {
+ ip.setParameter(parameterName, (BigDecimal)value);
+ }
+ else if (value instanceof Integer)
+ {
+ ip.setParameter(parameterName, (Integer)value);
+ }
+ else if (value instanceof Timestamp)
+ {
+ ip.setParameter(parameterName, (Timestamp)value);
+ }
+ else if (value instanceof Boolean)
+ {
+ ip.setParameter(parameterName, (Boolean)value);
+ }
+ else
+ {
+ ip.setParameter(parameterName, value.toString());
+ }
+ //
+ ip.saveEx();
+ return ip;
+ }
} // MPInstance
diff --git a/base/src/org/compiere/model/MPInstancePara.java b/base/src/org/compiere/model/MPInstancePara.java
index 56ccaccfb8..f9f7b12387 100644
--- a/base/src/org/compiere/model/MPInstancePara.java
+++ b/base/src/org/compiere/model/MPInstancePara.java
@@ -18,6 +18,7 @@ package org.compiere.model;
import java.math.BigDecimal;
import java.sql.ResultSet;
+import java.sql.Timestamp;
import java.util.Properties;
/**
@@ -193,4 +194,26 @@ public class MPInstancePara extends X_AD_PInstance_Para
setP_Number(new BigDecimal(iParameter));
} // setParameter
+ /**
+ * Set Date Parameter
+ * @param parameterName name
+ * @param tsParameter value
+ */
+ public void setParameter (String parameterName, Timestamp tsParameter)
+ {
+ setParameterName(parameterName);
+ setP_Date(tsParameter);
+ } // setParameter
+
+ /**
+ * Set Boolean Parameter
+ * @param parameterName name
+ * @param boolParameter value
+ */
+ public void setParameter (String parameterName, boolean boolParameter)
+ {
+ setParameterName(parameterName);
+ setP_String(boolParameter ? "Y" : "N");
+ } // setParameter
+
} // MPInstance_Para