/** * fill MPPProductPlanning using I_ProductPlanning's values * * @param pp MPPProductPlanning * @param ipp I_ProductPlanning */ private void fillValue(MPPProductPlanning pp, X_I_ProductPlanning ipp) { for (MColumn col : getProductPlanningColumns()) { // if(!col.isUpdateable()) // continue; if (MPPProductPlanning.COLUMNNAME_IsRequiredDRP.equals(col.getColumnName()) || MPPProductPlanning.COLUMNNAME_IsRequiredMRP.equals(col.getColumnName()) || MPPProductPlanning.COLUMNNAME_PP_Product_Planning_ID.equals(col.getColumnName()) || MPPProductPlanning.COLUMNNAME_Updated.equals(col.getColumnName()) || col.getAD_Reference_ID() == DisplayType.ID) continue; if (ipp.get_Value(col.getColumnName()) != null && pp.get_Value(col.getColumnName()).equals(ipp.get_Value(col.getColumnName()))) { continue; } pp.set_ValueOfColumn(col.getColumnName(), ipp.get_Value(col.getColumnName())); } pp.setIsRequiredDRP(false); pp.setIsRequiredMRP(false); String error = null; try { pp.saveEx(); ipp.setPP_Product_Planning_ID(pp.getPP_Product_Planning_ID()); ipp.saveEx(); } catch (Exception e) { error = e.getMessage(); ipp.setI_ErrorMsg(error); isImported = false; return; } isImported = true; }
/** * get MPPProductPlanning unique instance based on X_I_ProductPlanning data * * @param ipp X_I_ProductPlanning * @return unique instance of MPPProductPlanning */ private MPPProductPlanning getProductPlanning(X_I_ProductPlanning ipp) { final StringBuffer whereClause = new StringBuffer(); ArrayList<Object> parameters = new ArrayList(); MColumn[] cols = getProductPlanningColumns(); int count = 0; for (MColumn col : cols) { // column primary key for MPPProductPlanning if (MPPProductPlanning.COLUMNNAME_AD_Org_ID.equals(col.getColumnName()) || MPPProductPlanning.COLUMNNAME_S_Resource_ID.equals(col.getColumnName()) || MPPProductPlanning.COLUMNNAME_M_Warehouse_ID.equals(col.getColumnName()) || MPPProductPlanning.COLUMNNAME_M_Product_ID.equals(col.getColumnName())) { whereClause.append(col.getColumnName()).append("=?"); parameters.add(ipp.get_Value(col.getColumnName())); if (count < 3) { whereClause.append(" AND "); count++; } } } return new Query(getCtx(), MPPProductPlanning.Table_Name, whereClause.toString(), get_TrxName()) .setClient_ID() .setParameters(parameters) .firstOnly(); }