From c5b7b7dfea1dede19561aa54f6041b267b435131 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 12 Feb 2019 16:56:20 +0100 Subject: [PATCH 01/16] IDEMPIERE-3890 potential leak connection on standard window --- org.adempiere.base/src/org/compiere/model/GridTable.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/GridTable.java b/org.adempiere.base/src/org/compiere/model/GridTable.java index cc11e1a1e8..46b1314b1f 100644 --- a/org.adempiere.base/src/org/compiere/model/GridTable.java +++ b/org.adempiere.base/src/org/compiere/model/GridTable.java @@ -3628,12 +3628,12 @@ public class GridTable extends AbstractTableModel } // run private void doRun() { - openResultSet(); - if (m_rs == null) - return; - try { + openResultSet(); + if (m_rs == null) + return; + while (m_rs.next()) { if (Thread.interrupted()) From 8a2a08b61e19be84be86fef52df5a5d74a063000 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Thu, 14 Feb 2019 15:51:50 +0100 Subject: [PATCH 02/16] IDEMPIERE-1887 can make inconsistent data from physical inventory window --- migration/i6.2/oracle/201902141541_IDEMPIERE-1887.sql | 11 +++++++++++ .../i6.2/postgresql/201902141541_IDEMPIERE-1887.sql | 8 ++++++++ .../src/org/compiere/model/MInventory.java | 8 ++++++++ 3 files changed, 27 insertions(+) create mode 100644 migration/i6.2/oracle/201902141541_IDEMPIERE-1887.sql create mode 100644 migration/i6.2/postgresql/201902141541_IDEMPIERE-1887.sql diff --git a/migration/i6.2/oracle/201902141541_IDEMPIERE-1887.sql b/migration/i6.2/oracle/201902141541_IDEMPIERE-1887.sql new file mode 100644 index 0000000000..782124cdac --- /dev/null +++ b/migration/i6.2/oracle/201902141541_IDEMPIERE-1887.sql @@ -0,0 +1,11 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IDEMPIERE-1887 can make inconsistent data from physical inventory window +-- Feb 14, 2019, 3:40:50 PM CET +INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('E','Warehouse cannot be changed because there are lines.',0,0,'Y',TO_DATE('2019-02-14 15:40:49','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-02-14 15:40:49','YYYY-MM-DD HH24:MI:SS'),100,200487,'CannotChangeWarehouse','D','2a9c7a1b-35b2-464c-a2ba-0aa60be3d81d') +; + +SELECT register_migration_script('201902141541_IDEMPIERE-1887.sql') FROM dual +; + diff --git a/migration/i6.2/postgresql/201902141541_IDEMPIERE-1887.sql b/migration/i6.2/postgresql/201902141541_IDEMPIERE-1887.sql new file mode 100644 index 0000000000..8c3d6c846b --- /dev/null +++ b/migration/i6.2/postgresql/201902141541_IDEMPIERE-1887.sql @@ -0,0 +1,8 @@ +-- IDEMPIERE-1887 can make inconsistent data from physical inventory window +-- Feb 14, 2019, 3:40:50 PM CET +INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('E','Warehouse cannot be changed because there are lines.',0,0,'Y',TO_TIMESTAMP('2019-02-14 15:40:49','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-02-14 15:40:49','YYYY-MM-DD HH24:MI:SS'),100,200487,'CannotChangeWarehouse','D','2a9c7a1b-35b2-464c-a2ba-0aa60be3d81d') +; + +SELECT register_migration_script('201902141541_IDEMPIERE-1887.sql') FROM dual +; + diff --git a/org.adempiere.base/src/org/compiere/model/MInventory.java b/org.adempiere.base/src/org/compiere/model/MInventory.java index 586f8661ce..35cb14bbbb 100644 --- a/org.adempiere.base/src/org/compiere/model/MInventory.java +++ b/org.adempiere.base/src/org/compiere/model/MInventory.java @@ -255,6 +255,14 @@ public class MInventory extends X_M_Inventory implements DocAction log.saveError("FillMandatory", Msg.getElement(getCtx(), COLUMNNAME_C_DocType_ID)); return false; } + // IDEMPIERE-1887 can make inconsistent data from physical inventory window + if (!newRecord && is_ValueChanged(COLUMNNAME_M_Warehouse_ID)) { + int cnt = DB.getSQLValueEx(get_TrxName(), "SELECT COUNT(*) FROM M_InventoryLine WHERE M_Inventory_ID=?", getM_Inventory_ID()); + if (cnt > 0) { + log.saveError("Error", Msg.getMsg(getCtx(), "CannotChangeWarehouse")); + return false; + } + } return true; } // beforeSave From ec5040976030a4f955251b658fcb52088f0fc3b7 Mon Sep 17 00:00:00 2001 From: hieplq Date: Thu, 20 Mar 2014 22:05:38 +0700 Subject: [PATCH 03/16] IDEMPIERE-1669:message use ID make not friendly with user, switch to use name for movement document --- .../src/org/compiere/model/MMovement.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MMovement.java b/org.adempiere.base/src/org/compiere/model/MMovement.java index 1a9d7fe67a..06a75714e9 100644 --- a/org.adempiere.base/src/org/compiere/model/MMovement.java +++ b/org.adempiere.base/src/org/compiere/model/MMovement.java @@ -466,7 +466,7 @@ public class MMovement extends X_M_Movement implements DocAction ma.getMovementQty().negate(),ma.getDateMaterialPolicy(), get_TrxName())) { String lastError = CLogger.retrieveErrorString(""); - m_processMsg = "Cannot correct Inventory OnHand (MA) - " + lastError; + m_processMsg = "Cannot correct Inventory OnHand (MA) [" + product.getValue() + "] - " + lastError; return DocAction.STATUS_Invalid; } @@ -485,7 +485,7 @@ public class MMovement extends X_M_Movement implements DocAction ma.getMovementQty(),ma.getDateMaterialPolicy(), get_TrxName())) { String lastError = CLogger.retrieveErrorString(""); - m_processMsg = "Cannot correct Inventory OnHand (MA) - " + lastError; + m_processMsg = "Cannot correct Inventory OnHand (MA) [" + product.getValue() + "] - " + lastError; return DocAction.STATUS_Invalid; } @@ -497,7 +497,7 @@ public class MMovement extends X_M_Movement implements DocAction trxFrom.setM_MovementLine_ID(line.getM_MovementLine_ID()); if (!trxFrom.save()) { - m_processMsg = "Transaction From not inserted (MA)"; + m_processMsg = "Transaction From not inserted (MA) [" + product.getValue() + "] - "; return DocAction.STATUS_Invalid; } // @@ -508,7 +508,7 @@ public class MMovement extends X_M_Movement implements DocAction trxTo.setM_MovementLine_ID(line.getM_MovementLine_ID()); if (!trxTo.save()) { - m_processMsg = "Transaction To not inserted (MA)"; + m_processMsg = "Transaction To not inserted (MA) [" + product.getValue() + "] - "; return DocAction.STATUS_Invalid; } } @@ -553,7 +553,7 @@ public class MMovement extends X_M_Movement implements DocAction line.getMovementQty().negate(),effDateMPolicy, get_TrxName())) { String lastError = CLogger.retrieveErrorString(""); - m_processMsg = "Cannot correct Inventory OnHand (MA) - " + lastError; + m_processMsg = "Cannot correct Inventory OnHand (MA) [" + product.getValue() + "] - " + lastError; return DocAction.STATUS_Invalid; } @@ -569,7 +569,7 @@ public class MMovement extends X_M_Movement implements DocAction line.getMovementQty(),effDateMPolicy, get_TrxName())) { String lastError = CLogger.retrieveErrorString(""); - m_processMsg = "Cannot correct Inventory OnHand (MA) - " + lastError; + m_processMsg = "Cannot correct Inventory OnHand (MA) [" + product.getValue() + "] - " + lastError; return DocAction.STATUS_Invalid; } @@ -581,7 +581,7 @@ public class MMovement extends X_M_Movement implements DocAction trxFrom.setM_MovementLine_ID(line.getM_MovementLine_ID()); if (!trxFrom.save()) { - m_processMsg = "Transaction From not inserted"; + m_processMsg = "Transaction From not inserted (MA) [" + product.getValue() + "] - "; return DocAction.STATUS_Invalid; } // @@ -592,7 +592,7 @@ public class MMovement extends X_M_Movement implements DocAction trxTo.setM_MovementLine_ID(line.getM_MovementLine_ID()); if (!trxTo.save()) { - m_processMsg = "Transaction To not inserted"; + m_processMsg = "Transaction To not inserted [" + product.getValue() + "] - "; return DocAction.STATUS_Invalid; } } // Fallback @@ -878,7 +878,7 @@ public class MMovement extends X_M_Movement implements DocAction rLine.setProcessed(false); if (!rLine.save()) { - m_processMsg = "Could not create Movement Reversal Line"; + m_processMsg = "Could not create Movement Reversal Line for @Line@ " + rLine.getLine() + ", @M_Product_ID@=" + rLine.getProduct().getValue(); return null; } From 5f1c8e0860cc7fdc99782ee1323f4ae2d79b5d44 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Thu, 14 Feb 2019 16:56:02 +0100 Subject: [PATCH 04/16] IDEMPIERE-1615 Multiple key columns lead to data corruption or data loss --- migration/i6.2/oracle/201902141651_IDEMPIERE-1615.sql | 11 +++++++++++ .../i6.2/postgresql/201902141651_IDEMPIERE-1615.sql | 8 ++++++++ .../src/org/compiere/model/MColumn.java | 11 +++++++++++ 3 files changed, 30 insertions(+) create mode 100644 migration/i6.2/oracle/201902141651_IDEMPIERE-1615.sql create mode 100644 migration/i6.2/postgresql/201902141651_IDEMPIERE-1615.sql diff --git a/migration/i6.2/oracle/201902141651_IDEMPIERE-1615.sql b/migration/i6.2/oracle/201902141651_IDEMPIERE-1615.sql new file mode 100644 index 0000000000..c5cc814729 --- /dev/null +++ b/migration/i6.2/oracle/201902141651_IDEMPIERE-1615.sql @@ -0,0 +1,11 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IDEMPIERE-1615 Multiple key columns lead to data corruption or data loss +-- Feb 14, 2019, 4:51:33 PM CET +INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','The table has already a key column, there can be just one key.',0,0,'Y',TO_DATE('2019-02-14 16:51:32','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-02-14 16:51:32','YYYY-MM-DD HH24:MI:SS'),100,200488,'KeyColumnAlreadyDefined','D','c5011666-1371-4620-a5bc-aa29265f5d90') +; + +SELECT register_migration_script('201902141651_IDEMPIERE-1615.sql') FROM dual +; + diff --git a/migration/i6.2/postgresql/201902141651_IDEMPIERE-1615.sql b/migration/i6.2/postgresql/201902141651_IDEMPIERE-1615.sql new file mode 100644 index 0000000000..ef2a62b7ac --- /dev/null +++ b/migration/i6.2/postgresql/201902141651_IDEMPIERE-1615.sql @@ -0,0 +1,8 @@ +-- IDEMPIERE-1615 Multiple key columns lead to data corruption or data loss +-- Feb 14, 2019, 4:51:33 PM CET +INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','The table has already a key column, there can be just one key.',0,0,'Y',TO_TIMESTAMP('2019-02-14 16:51:32','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-02-14 16:51:32','YYYY-MM-DD HH24:MI:SS'),100,200488,'KeyColumnAlreadyDefined','D','c5011666-1371-4620-a5bc-aa29265f5d90') +; + +SELECT register_migration_script('201902141651_IDEMPIERE-1615.sql') FROM dual +; + diff --git a/org.adempiere.base/src/org/compiere/model/MColumn.java b/org.adempiere.base/src/org/compiere/model/MColumn.java index 7c12a848ec..b5f6574179 100644 --- a/org.adempiere.base/src/org/compiere/model/MColumn.java +++ b/org.adempiere.base/src/org/compiere/model/MColumn.java @@ -413,6 +413,17 @@ public class MColumn extends X_AD_Column } } + // IDEMPIERE-1615 Multiple key columns lead to data corruption or data loss + if ((is_ValueChanged(COLUMNNAME_IsKey) || is_ValueChanged(COLUMNNAME_IsActive)) && isKey() && isActive()) { + int cnt = DB.getSQLValueEx(get_TrxName(), + "SELECT COUNT(*) FROM AD_Column WHERE AD_Table_ID=? AND IsActive='Y' AND AD_Column_ID!=? AND IsKey='Y'", + getAD_Table_ID(), getAD_Column_ID()); + if (cnt > 0) { + log.saveError("Error", Msg.getMsg(getCtx(), "KeyColumnAlreadyDefined")); + return false; + } + } + return true; } // beforeSave From b65e393e334f16bb48cc308d5aef87471283614f Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 15 Feb 2019 16:57:47 +0100 Subject: [PATCH 05/16] IDEMPIERE-1744 after import record. in detail tab, parent key is not load --- .../src/org/compiere/model/Lookup.java | 8 +++++++- .../src/org/compiere/model/MLookup.java | 11 ++++++++--- .../org/adempiere/webui/editor/WTableDirEditor.java | 12 +++++++++++- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/Lookup.java b/org.adempiere.base/src/org/compiere/model/Lookup.java index cfe6264717..f2171c64e7 100644 --- a/org.adempiere.base/src/org/compiere/model/Lookup.java +++ b/org.adempiere.base/src/org/compiere/model/Lookup.java @@ -43,7 +43,7 @@ public abstract class Lookup extends AbstractListModel /** * */ - private static final long serialVersionUID = -28200392264647953L; + private static final long serialVersionUID = -2500275921218601088L; /** * Lookup @@ -468,8 +468,14 @@ public abstract class Lookup extends AbstractListModel * @param key key * @param saveInCache save in cache for r/w * @param cacheLocal cache locally for r/o + * @param trxName the transaction name * @return value */ + public NamePair getDirect (Object key, boolean saveInCache, boolean cacheLocal, String trxName) + { + return get (key); + } // getDirect + public NamePair getDirect (Object key, boolean saveInCache, boolean cacheLocal) { return get (key); diff --git a/org.adempiere.base/src/org/compiere/model/MLookup.java b/org.adempiere.base/src/org/compiere/model/MLookup.java index fbf48b26cc..e8ba95e710 100644 --- a/org.adempiere.base/src/org/compiere/model/MLookup.java +++ b/org.adempiere.base/src/org/compiere/model/MLookup.java @@ -56,7 +56,7 @@ public final class MLookup extends Lookup implements Serializable /** * */ - private static final long serialVersionUID = 2228200000988048623L; + private static final long serialVersionUID = 2288661955135689187L; /** * MLookup Constructor @@ -488,6 +488,11 @@ public final class MLookup extends Lookup implements Serializable private Object m_directNullKey = null; private Future m_loaderFuture; + public NamePair getDirect (Object key, boolean saveInCache, boolean cacheLocal) + { + return getDirect(key, saveInCache, cacheLocal, null); + } // getDirect + /** * Get Data Direct from Table. * @param key key @@ -495,7 +500,7 @@ public final class MLookup extends Lookup implements Serializable * @param cacheLocal cache locally for r/o * @return value */ - public NamePair getDirect (Object key, boolean saveInCache, boolean cacheLocal) + public NamePair getDirect (Object key, boolean saveInCache, boolean cacheLocal, String trxName) { // Nothing to query if (key == null || m_info.QueryDirect == null || m_info.QueryDirect.length() == 0) @@ -520,7 +525,7 @@ public final class MLookup extends Lookup implements Serializable try { // SELECT Key, Value, Name FROM ... - pstmt = DB.prepareStatement(m_info.QueryDirect, null); + pstmt = DB.prepareStatement(m_info.QueryDirect, trxName); if (isNumber) pstmt.setInt(1, Integer.parseInt(key.toString())); else diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java index 7f6accd3c3..0b4a5e0b27 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java @@ -39,6 +39,7 @@ import org.adempiere.webui.util.ZKUpdateUtil; import org.adempiere.webui.window.WFieldRecordInfo; import org.adempiere.webui.window.WLocationDialog; import org.compiere.model.GridField; +import org.compiere.model.GridTable; import org.compiere.model.Lookup; import org.compiere.model.MBPartnerLocation; import org.compiere.model.MLocation; @@ -413,7 +414,16 @@ ContextMenuListener, IZoomableEditor { if (lookup != null) { - NamePair pair = lookup.getDirect(oldValue, false, false); + String trxName = null; + if ( gridField != null + && gridField.getGridTab() != null + && gridField.getGridTab().getTableModel() != null) { + GridTable gt = gridField.getGridTab().getTableModel(); + if (gt.isImporting()) { + trxName = gt.get_TrxName(); + } + } + NamePair pair = lookup.getDirect(oldValue, false, false, trxName); if (pair != null) { if (pair instanceof KeyNamePair) { int key = ((KeyNamePair)pair).getKey(); From d2a5982e48c6daeee4d3952098da8048e7aba407 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 15 Feb 2019 16:59:08 +0100 Subject: [PATCH 06/16] IDEMPIERE-1752 fix problem with CostAdjustmentCalloutFactory --- .../callout/CostAdjustmentCalloutFactory.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/org.adempiere.base.callout/src/org/adempiere/base/callout/CostAdjustmentCalloutFactory.java b/org.adempiere.base.callout/src/org/adempiere/base/callout/CostAdjustmentCalloutFactory.java index 322ddcc852..37f4daf7e2 100644 --- a/org.adempiere.base.callout/src/org/adempiere/base/callout/CostAdjustmentCalloutFactory.java +++ b/org.adempiere.base.callout/src/org/adempiere/base/callout/CostAdjustmentCalloutFactory.java @@ -20,6 +20,7 @@ import org.adempiere.base.IColumnCallout; import org.adempiere.base.IColumnCalloutFactory; import org.compiere.model.GridField; import org.compiere.model.GridTab; +import org.compiere.model.GridTable; import org.compiere.model.I_M_InventoryLine; import org.compiere.model.MAcctSchema; import org.compiere.model.MClient; @@ -66,7 +67,15 @@ public class CostAdjustmentCalloutFactory implements IColumnCalloutFactory { @Override public String start(Properties ctx, int WindowNo, GridTab mTab, GridField mField, Object value, Object oldValue) { - MInventory inventory = MInventory.get(ctx, (Integer) mTab.getValue("M_Inventory_ID")); + String trxName = null; + if ( mTab != null + && mTab.getTableModel() != null) { + GridTable gt = mTab.getTableModel(); + if (gt.isImporting()) { + trxName = gt.get_TrxName(); + } + } + MInventory inventory = new MInventory(ctx, (Integer) mTab.getValue("M_Inventory_ID"), trxName); if (MDocType.DOCSUBTYPEINV_CostAdjustment.equals(inventory.getC_DocType().getDocSubTypeInv())) { String costingMethod = inventory.getCostingMethod(); if (value == null) { @@ -121,7 +130,15 @@ public class CostAdjustmentCalloutFactory implements IColumnCalloutFactory { @Override public String start(Properties ctx, int WindowNo, GridTab mTab, GridField mField, Object value, Object oldValue) { - MInventory inventory = MInventory.get(ctx, (Integer) mTab.getValue("M_Inventory_ID")); + String trxName = null; + if ( mTab != null + && mTab.getTableModel() != null) { + GridTable gt = mTab.getTableModel(); + if (gt.isImporting()) { + trxName = gt.get_TrxName(); + } + } + MInventory inventory = new MInventory(ctx, (Integer) mTab.getValue("M_Inventory_ID"), trxName); if (MDocType.DOCSUBTYPEINV_CostAdjustment.equals(inventory.getC_DocType().getDocSubTypeInv())) { String costingMethod = inventory.getCostingMethod(); Object productValue = mTab.getValue(I_M_InventoryLine.COLUMNNAME_M_Product_ID); From 9d00488815d38cf518e06feff6f7ebcf18c9888b Mon Sep 17 00:00:00 2001 From: hieplq Date: Wed, 13 Feb 2019 23:09:00 +0700 Subject: [PATCH 07/16] IDEMPIERE-3883:preserve sorting of info window --- .../adempiere/webui/adwindow/AbstractADWindowContent.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java index 825fd2c89b..885665fb3d 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java @@ -1811,16 +1811,16 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements public void onRefresh() { GridTab gridTab = adTabbox.getSelectedGridTab(); - if (gridTab != null && gridTab.getTableModel() != null) + /*if (gridTab != null && gridTab.getTableModel() != null) { gridTab.getTableModel().resetCacheSortState(); } - Column sortColumn = findCurrentSortColumn(); + Column sortColumn = findCurrentSortColumn();*/ onRefresh(true, false); - if (sortColumn != null) + /*if (sortColumn != null) { sortColumn.setSortDirection("natural"); - } + }*/ if (gridTab.isSortTab()) { // refresh is not refreshing sort tabs IADTabpanel tabPanel = adTabbox.getSelectedTabpanel(); tabPanel.query(false, 0, 0); From b33c82d14d7974f13cfae40a3c0c435de73f2394 Mon Sep 17 00:00:00 2001 From: hieplq Date: Thu, 14 Feb 2019 23:28:12 +0700 Subject: [PATCH 08/16] IDEMPIERE-3883:preserve sorting of info window/clear warning --- .../adempiere/webui/adwindow/AbstractADWindowContent.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java index 885665fb3d..b4221e07e4 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java @@ -119,7 +119,6 @@ import org.zkoss.zk.ui.util.Clients; import org.zkoss.zul.Column; import org.zkoss.zul.Columns; import org.zkoss.zul.Div; -import org.zkoss.zul.Grid; import org.zkoss.zul.Menuitem; import org.zkoss.zul.Menupopup; import org.zkoss.zul.Window.Mode; @@ -1826,7 +1825,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements tabPanel.query(false, 0, 0); } } - +/* private Column findCurrentSortColumn() { IADTabpanel iadtabpanel = getADTab().getSelectedTabpanel(); if (iadtabpanel instanceof ADTabpanel) { @@ -1849,7 +1848,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements } return null; } - +*/ /** * @see ToolbarListener#onHelp() */ From 1c5a27152c8037f1fa8b51ec33d2635480a42932 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 15 Feb 2019 17:22:13 +0100 Subject: [PATCH 09/16] IDEMPIERE-3894 IllegalArgumentException when printing a print format with a short name --- .../adempiere/webui/window/ZkJRViewer.java | 7 +++---- .../webui/window/ZkReportViewer.java | 21 ++++++++----------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewer.java index ac0f4e675f..96416301fa 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewer.java @@ -334,10 +334,9 @@ public class ZkJRViewer extends Window implements EventListener, ITabOnCl prefix = makePrefix(jasperPrintList.get(0).getName())+"_List"; else prefix = makePrefix(jasperPrint.getName()); - if (log.isLoggable(Level.FINE)) - { - log.log(Level.FINE, "Path="+path + " Prefix="+prefix); - } + if (prefix.length() < 3) + prefix += "_".repeat(3-prefix.length()); + if (log.isLoggable(Level.FINE)) log.log(Level.FINE, "Path="+path + " Prefix="+prefix); File file = File.createTempFile(prefix, ".html", new File(path)); HtmlExporter exporter = new HtmlExporter(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java index 73507e3367..4bfd60e9d6 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java @@ -1556,10 +1556,9 @@ public class ZkReportViewer extends Window implements EventListener, ITab log.warning("Cannot archive Document"); String path = System.getProperty("java.io.tmpdir"); String prefix = viewer.makePrefix(viewer.m_reportEngine.getName()); - if (log.isLoggable(Level.FINE)) - { - log.log(Level.FINE, "Path="+path + " Prefix="+prefix); - } + if (prefix.length() < 3) + prefix += "_".repeat(3-prefix.length()); + if (log.isLoggable(Level.FINE)) log.log(Level.FINE, "Path="+path + " Prefix="+prefix); File file = File.createTempFile(prefix, ".pdf", new File(path)); viewer.m_reportEngine.createPDF(file); viewer.media = new AMedia(file.getName(), "pdf", "application/pdf", file, true); @@ -1603,10 +1602,9 @@ public class ZkReportViewer extends Window implements EventListener, ITab log.warning("Cannot archive Document"); String path = System.getProperty("java.io.tmpdir"); String prefix = viewer.makePrefix(viewer.m_reportEngine.getName()); - if (log.isLoggable(Level.FINE)) - { - log.log(Level.FINE, "Path="+path + " Prefix="+prefix); - } + if (prefix.length() < 3) + prefix += "_".repeat(3-prefix.length()); + if (log.isLoggable(Level.FINE)) log.log(Level.FINE, "Path="+path + " Prefix="+prefix); File file = File.createTempFile(prefix, ".html", new File(path)); viewer.m_reportEngine.createHTML(file, false, viewer.m_reportEngine.getPrintFormat().getLanguage(), new HTMLExtension(contextPath, "rp", viewer.getUuid())); viewer.media = new AMedia(file.getName(), "html", "text/html", file, false); @@ -1649,10 +1647,9 @@ public class ZkReportViewer extends Window implements EventListener, ITab log.warning("Cannot archive Document"); String path = System.getProperty("java.io.tmpdir"); String prefix = viewer.makePrefix(viewer.m_reportEngine.getName()); - if (log.isLoggable(Level.FINE)) - { - log.log(Level.FINE, "Path="+path + " Prefix="+prefix); - } + if (prefix.length() < 3) + prefix += "_".repeat(3-prefix.length()); + if (log.isLoggable(Level.FINE)) log.log(Level.FINE, "Path="+path + " Prefix="+prefix); File file = File.createTempFile(prefix, ".xls", new File(path)); viewer.m_reportEngine.createXLS(file, viewer.m_reportEngine.getPrintFormat().getLanguage()); viewer.media = new AMedia(file.getName(), "xls", "application/vnd.ms-excel", file, true); From 259bf176945ad6e0f1a3f3f63219775222a418fb Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 15 Feb 2019 17:26:46 +0100 Subject: [PATCH 10/16] IDEMPIERE-3894 IllegalArgumentException when printing a print format with a short name --- .../adempiere/webui/window/ZkJRViewer.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewer.java index 96416301fa..4f5fbc55b8 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewer.java @@ -359,10 +359,9 @@ public class ZkJRViewer extends Window implements EventListener, ITabOnCl prefix = makePrefix(jasperPrintList.get(0).getName())+"_List"; else prefix = makePrefix(jasperPrint.getName()); - if (log.isLoggable(Level.FINE)) - { - log.log(Level.FINE, "Path="+path + " Prefix="+prefix); - } + if (prefix.length() < 3) + prefix += "_".repeat(3-prefix.length()); + if (log.isLoggable(Level.FINE)) log.log(Level.FINE, "Path="+path + " Prefix="+prefix); File file = File.createTempFile(prefix, ".xls", new File(path)); FileOutputStream fos = new FileOutputStream(file); @@ -388,10 +387,9 @@ public class ZkJRViewer extends Window implements EventListener, ITabOnCl prefix = makePrefix(jasperPrintList.get(0).getName())+"_List"; else prefix = makePrefix(jasperPrint.getName()); - if (log.isLoggable(Level.FINE)) - { - log.log(Level.FINE, "Path="+path + " Prefix="+prefix); - } + if (prefix.length() < 3) + prefix += "_".repeat(3-prefix.length()); + if (log.isLoggable(Level.FINE)) log.log(Level.FINE, "Path="+path + " Prefix="+prefix); File file = File.createTempFile(prefix, ".csv", new File(path)); FileOutputStream fos = new FileOutputStream(file); JRCsvExporter exporter= new JRCsvExporter(); @@ -412,10 +410,9 @@ public class ZkJRViewer extends Window implements EventListener, ITabOnCl prefix = makePrefix(jasperPrintList.get(0).getName())+"_List"; else prefix = makePrefix(jasperPrint.getName()); - if (log.isLoggable(Level.FINE)) - { - log.log(Level.FINE, "Path="+path + " Prefix="+prefix); - } + if (prefix.length() < 3) + prefix += "_".repeat(3-prefix.length()); + if (log.isLoggable(Level.FINE)) log.log(Level.FINE, "Path="+path + " Prefix="+prefix); File file = File.createTempFile(prefix, ".ssv", new File(path)); FileOutputStream fos = new FileOutputStream(file); JRCsvExporter exporter= new JRCsvExporter(); From ad0ffe1fbfdbaaeda9d6d72e345c7fc9b41d2b05 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 15 Feb 2019 18:24:46 +0100 Subject: [PATCH 11/16] IDEMPIERE-3888 Some date patterns (may) lead to print problems --- .../src/org/compiere/util/Language.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/util/Language.java b/org.adempiere.base/src/org/compiere/util/Language.java index 980fb7134e..5590bb9c12 100644 --- a/org.adempiere.base/src/org/compiere/util/Language.java +++ b/org.adempiere.base/src/org/compiere/util/Language.java @@ -42,7 +42,7 @@ public class Language implements Serializable /** * */ - private static final long serialVersionUID = 8855937839841807335L; + private static final long serialVersionUID = 7039775951366180267L; /** * @@ -368,6 +368,7 @@ public class Language implements Serializable private Boolean m_decimalPoint; private Boolean m_leftToRight; private SimpleDateFormat m_dateFormat; + private String m_dbDateFormat; private MediaSize m_mediaSize = MediaSize.ISO.A4; private boolean m_fromDB = false; @@ -566,12 +567,18 @@ public class Language implements Serializable /** * Get Database Date Pattern. - * Derive from date pattern (make upper case) + * Derive from date pattern (make upper case and replace month as word with MM) * @return date pattern */ public String getDBdatePattern() { - return getDateFormat().toPattern().toUpperCase(m_locale); + if (m_dbDateFormat == null) + { + m_dbDateFormat = getDateFormat().toPattern().toUpperCase(m_locale); + // IDEMPIERE-3888 - temporary hack - a better solution would be to implement AD_Language.DBDatePattern + m_dbDateFormat = m_dbDateFormat.replaceFirst("MMM*", "MM"); + } + return m_dbDateFormat; } // getDBdatePattern /** From 10f834d36aaf89e54993b89beca3670dee24ab6d Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Sat, 16 Feb 2019 11:33:39 +0100 Subject: [PATCH 12/16] IDEMPIERE-3895 NPE in fitnesse login fixture when wrong username --- .../src/org/idempiere/fitnesse/fixture/Login.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Login.java b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Login.java index 86a7bcfb0a..d62ef6ab00 100644 --- a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Login.java +++ b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Login.java @@ -167,11 +167,13 @@ public class Login extends TableFixture { KeyNamePair[] clients = login.getClients(m_user, m_password); boolean okclient = false; KeyNamePair selectedClient = null; - for (KeyNamePair client : clients) { - if (client.getKey() == m_client_id) { - okclient = true; - selectedClient = client; - break; + if (clients != null) { + for (KeyNamePair client : clients) { + if (client.getKey() == m_client_id) { + okclient = true; + selectedClient = client; + break; + } } } if (!okclient) From 6ef4cff3d2169c173a2f8c300185b57959dbb048 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Sat, 16 Feb 2019 11:48:51 +0100 Subject: [PATCH 13/16] IDEMPIERE-3895 NPE in fitnesse login fixture when wrong username / improve error message --- .../src/org/idempiere/fitnesse/fixture/Login.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Login.java b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Login.java index d62ef6ab00..079aa680cd 100644 --- a/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Login.java +++ b/org.idempiere.fitnesse.fixture/src/org/idempiere/fitnesse/fixture/Login.java @@ -175,6 +175,8 @@ public class Login extends TableFixture { break; } } + } else { + return "Error logging in - user/password combination not valid"; } if (!okclient) return "Error logging in - client not allowed for this user"; From 5d55c6e6ef743e926766d00eb2de9f306a8ebc12 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Sun, 17 Feb 2019 10:06:53 +0100 Subject: [PATCH 14/16] IDEMPIERE-3869 discount / write off tax corrections in allocation post require inverted Debit/Credit logic in certain scenarios; tax rate added to Fact_Acct tax correction postings --- .../src/org/compiere/acct/Doc_AllocationHdr.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_AllocationHdr.java b/org.adempiere.base/src/org/compiere/acct/Doc_AllocationHdr.java index f159087158..dfc0a20f73 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_AllocationHdr.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_AllocationHdr.java @@ -1047,12 +1047,14 @@ class Doc_AllocationTax for (int i = 0; i < m_facts.size(); i++) { MFactAcct factAcct = (MFactAcct)m_facts.get(i); - if (factAcct.getAmtSourceDr().compareTo(total) > 0) + if ( (factAcct.getAmtSourceDr().signum() > 0 && factAcct.getAmtSourceDr().compareTo(total) > 0) + || (factAcct.getAmtSourceDr().signum() < 0 && factAcct.getAmtSourceDr().compareTo(total) < 0)) { total = factAcct.getAmtSourceDr(); m_totalIndex = i; } - if (factAcct.getAmtSourceCr().compareTo(total) > 0) + if ( (factAcct.getAmtSourceCr().signum() > 0 && factAcct.getAmtSourceCr().compareTo(total) > 0) + || (factAcct.getAmtSourceCr().signum() < 0 && factAcct.getAmtSourceCr().compareTo(total) < 0)) { total = factAcct.getAmtSourceCr(); m_totalIndex = i; From 907eed3f93b4b9682aac68520c9e35c5679ebdb9 Mon Sep 17 00:00:00 2001 From: Diego Ruiz Date: Sat, 16 Feb 2019 19:53:40 +0100 Subject: [PATCH 15/16] IDEMPIERE-3896 Process that fixes M_StorageReservation when wrong reservations are found --- .../oracle/201902121250_IDEMPIERE-3896.sql | 474 ++++++++++++++++++ .../201902121250_IDEMPIERE-3896.sql | 471 +++++++++++++++++ .../process/RecreateStorageReservation.java | 106 ++++ 3 files changed, 1051 insertions(+) create mode 100644 migration/i6.2/oracle/201902121250_IDEMPIERE-3896.sql create mode 100644 migration/i6.2/postgresql/201902121250_IDEMPIERE-3896.sql create mode 100644 org.adempiere.base/src/org/adempiere/process/RecreateStorageReservation.java diff --git a/migration/i6.2/oracle/201902121250_IDEMPIERE-3896.sql b/migration/i6.2/oracle/201902121250_IDEMPIERE-3896.sql new file mode 100644 index 0000000000..07c98766c0 --- /dev/null +++ b/migration/i6.2/oracle/201902121250_IDEMPIERE-3896.sql @@ -0,0 +1,474 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Feb 11, 2019 4:36:05 PM CET +-- IDEMPIERE-3896 Process that fixes M_StorageReservation when wrong reservations are found +INSERT INTO AD_Process (CopyFromProcess,AD_Process_ID,Help,IsDirectPrint,IsReport,AD_Process_UU,AccessLevel,IsBetaFunctionality,IsServerProcess,Statistic_Seconds,Statistic_Count,ShowHelp,Updated,IsActive,UpdatedBy,Name,Created,CreatedBy,Classname,AD_Client_ID,EntityType,Value,AD_Org_ID,AllowMultipleExecution) VALUES ('N',200107,'The process checks if there are errors in storage reservartion (storageqtyReserved <> orderqtyreserved), if there are, it recreates all the reservation records for the offending products.','N','N','c4409eac-e5a8-4eac-b34a-1ac73319aa03','3','N','N',0,0,'Y',TO_DATE('2019-02-11 16:36:04','YYYY-MM-DD HH24:MI:SS'),'Y',100,'Recreate Storage Reservation',TO_DATE('2019-02-11 16:36:04','YYYY-MM-DD HH24:MI:SS'),100,'org.adempiere.process.RecreateStorageReservation',0,'D','RecreateStorageReservation',0,'N') +; + +-- Feb 11, 2019 4:37:49 PM CET +INSERT INTO AD_Menu (AD_Menu_ID,IsSummary,AD_Menu_UU,IsSOTrx,IsReadOnly,AD_Process_ID,IsCentrallyMaintained,Name,Action,IsActive,CreatedBy,AD_Client_ID,Created,Updated,UpdatedBy,EntityType,AD_Org_ID) VALUES (200166,'N','cac979ac-f9b3-4756-a367-1f2f5941ad41','N','N',200107,'Y','Recreate Storage Reservation','P','Y',100,0,TO_DATE('2019-02-11 16:37:48','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2019-02-11 16:37:48','YYYY-MM-DD HH24:MI:SS'),100,'D',0) +; + +-- Feb 11, 2019 4:37:49 PM CET +INSERT INTO AD_TreeNode (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy, AD_Tree_ID, Node_ID, Parent_ID, SeqNo, AD_TreeNode_UU) SELECT t.AD_Client_ID, 0, 'Y', SysDate, 100, SysDate, 100,t.AD_Tree_ID, 200166, 0, 999, Generate_UUID() FROM AD_Tree t WHERE t.AD_Client_ID=0 AND t.IsActive='Y' AND t.IsAllNodes='Y' AND t.TreeType='TL' AND t.AD_Table_ID=116 AND NOT EXISTS (SELECT * FROM AD_TreeNode e WHERE e.AD_Tree_ID=t.AD_Tree_ID AND Node_ID=200166) +; + +-- Feb 11, 2019 4:37:49 PM CET +INSERT INTO AD_TreeNodeMM (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy, AD_Tree_ID, Node_ID, Parent_ID, SeqNo, AD_TreeNodeMM_UU) SELECT t.AD_Client_ID, 0, 'Y', SysDate, 100, SysDate, 100,t.AD_Tree_ID, 200166, 0, 999, Generate_UUID() FROM AD_Tree t WHERE t.AD_Client_ID=0 AND t.IsActive='Y' AND t.IsAllNodes='Y' AND t.TreeType='MM' AND NOT EXISTS (SELECT * FROM AD_TreeNodeMM e WHERE e.AD_Tree_ID=t.AD_Tree_ID AND Node_ID=200166) +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=0, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=218 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=1, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=153 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=2, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=263 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=3, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=166 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=4, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=203 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=5, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=236 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=6, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=183 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=7, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=160 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=8, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=278 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=9, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000087 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=10, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=345 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=11, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=53296 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=12, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=53014 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=13, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=53108 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=14, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000361 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=15, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000050 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=16, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000343 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=17, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000460 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=18, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000385 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=19, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000386 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=20, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000244 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=21, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000232 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=22, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000256 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=23, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000284 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=24, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000329 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=25, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000313 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=26, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000225 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=27, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000394 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=28, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000155 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=29, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000144 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=30, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000167 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=31, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000081 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=32, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000171 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=33, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000170 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=34, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000156 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=35, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000049 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=36, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000175 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=37, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000279 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=38, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000295 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=39, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000183 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=40, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000377 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=41, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000381 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=42, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000092 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=43, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000250 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=44, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000181 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=45, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000182 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=46, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000052 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=47, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000231 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=48, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000152 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=49, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000389 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=50, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000230 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=51, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000240 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=52, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000403 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=53, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000406 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=54, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000407 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=55, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000402 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=56, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000411 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=57, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000442 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=58, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000443 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=59, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000452 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=60, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000428 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=61, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000431 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=62, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000424 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=63, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000433 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=64, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000434 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=65, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000413 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=66, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000429 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=67, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000414 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=68, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000464 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=69, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000445 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=70, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000465 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=71, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000454 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=72, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000463 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=73, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000447 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=74, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000455 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=75, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000449 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=76, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000459 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=77, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000448 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=0, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=200166 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=1, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=167 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=2, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=357 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=3, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=229 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=4, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=412 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=5, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=256 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=6, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=197 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=7, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=477 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=8, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=181 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=9, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=484 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=10, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=179 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=11, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=503 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=12, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=200064 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=13, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=196 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=14, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=479 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=15, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=482 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=16, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=481 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=17, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=411 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=18, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000305 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=19, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=53253 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=20, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=426 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=21, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=537 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=22, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=311 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=23, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=292 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=24, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=504 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=25, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=515 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=26, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000252 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=27, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000373 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=28, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000372 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=29, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000370 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=30, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000151 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=31, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000241 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=32, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000323 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=33, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000278 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=34, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000312 +; + +SELECT register_migration_script('201902121250_IDEMPIERE-3896.sql') FROM dual +; diff --git a/migration/i6.2/postgresql/201902121250_IDEMPIERE-3896.sql b/migration/i6.2/postgresql/201902121250_IDEMPIERE-3896.sql new file mode 100644 index 0000000000..e2bcc82a9e --- /dev/null +++ b/migration/i6.2/postgresql/201902121250_IDEMPIERE-3896.sql @@ -0,0 +1,471 @@ +-- Feb 11, 2019 4:36:05 PM CET +-- IDEMPIERE-3896 Process that fixes M_StorageReservation when wrong reservations are found +INSERT INTO AD_Process (CopyFromProcess,AD_Process_ID,Help,IsDirectPrint,IsReport,AD_Process_UU,AccessLevel,IsBetaFunctionality,IsServerProcess,Statistic_Seconds,Statistic_Count,ShowHelp,Updated,IsActive,UpdatedBy,Name,Created,CreatedBy,Classname,AD_Client_ID,EntityType,Value,AD_Org_ID,AllowMultipleExecution) VALUES ('N',200107,'The process checks if there are errors in storage reservartion (storageqtyReserved <> orderqtyreserved), if there are, it recreates all the reservation records for the offending products.','N','N','c4409eac-e5a8-4eac-b34a-1ac73319aa03','3','N','N',0,0,'Y',TO_TIMESTAMP('2019-02-11 16:36:04','YYYY-MM-DD HH24:MI:SS'),'Y',100,'Recreate Storage Reservation',TO_TIMESTAMP('2019-02-11 16:36:04','YYYY-MM-DD HH24:MI:SS'),100,'org.adempiere.process.RecreateStorageReservation',0,'D','RecreateStorageReservation',0,'N') +; + +-- Feb 11, 2019 4:37:49 PM CET +INSERT INTO AD_Menu (AD_Menu_ID,IsSummary,AD_Menu_UU,IsSOTrx,IsReadOnly,AD_Process_ID,IsCentrallyMaintained,Name,"action",IsActive,CreatedBy,AD_Client_ID,Created,Updated,UpdatedBy,EntityType,AD_Org_ID) VALUES (200166,'N','cac979ac-f9b3-4756-a367-1f2f5941ad41','N','N',200107,'Y','Recreate Storage Reservation','P','Y',100,0,TO_TIMESTAMP('2019-02-11 16:37:48','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2019-02-11 16:37:48','YYYY-MM-DD HH24:MI:SS'),100,'D',0) +; + +-- Feb 11, 2019 4:37:49 PM CET +INSERT INTO AD_TreeNode (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy, AD_Tree_ID, Node_ID, Parent_ID, SeqNo, AD_TreeNode_UU) SELECT t.AD_Client_ID, 0, 'Y', statement_timestamp(), 100, statement_timestamp(), 100,t.AD_Tree_ID, 200166, 0, 999, Generate_UUID() FROM AD_Tree t WHERE t.AD_Client_ID=0 AND t.IsActive='Y' AND t.IsAllNodes='Y' AND t.TreeType='TL' AND t.AD_Table_ID=116 AND NOT EXISTS (SELECT * FROM AD_TreeNode e WHERE e.AD_Tree_ID=t.AD_Tree_ID AND Node_ID=200166) +; + +-- Feb 11, 2019 4:37:49 PM CET +INSERT INTO AD_TreeNodeMM (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy, AD_Tree_ID, Node_ID, Parent_ID, SeqNo, AD_TreeNodeMM_UU) SELECT t.AD_Client_ID, 0, 'Y', statement_timestamp(), 100, statement_timestamp(), 100,t.AD_Tree_ID, 200166, 0, 999, Generate_UUID() FROM AD_Tree t WHERE t.AD_Client_ID=0 AND t.IsActive='Y' AND t.IsAllNodes='Y' AND t.TreeType='MM' AND NOT EXISTS (SELECT * FROM AD_TreeNodeMM e WHERE e.AD_Tree_ID=t.AD_Tree_ID AND Node_ID=200166) +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=0, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=218 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=1, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=153 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=2, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=263 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=3, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=166 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=4, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=203 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=5, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=236 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=6, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=183 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=7, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=160 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=8, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=278 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=9, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000087 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=10, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=345 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=11, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=53296 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=12, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=53014 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=13, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=53108 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=14, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000361 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=15, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000050 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=16, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000343 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=17, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000460 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=18, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000385 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=19, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000386 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=20, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000244 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=21, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000232 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=22, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000256 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=23, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000284 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=24, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000329 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=25, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000313 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=26, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000225 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=27, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000394 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=28, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000155 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=29, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000144 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=30, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000167 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=31, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000081 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=32, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000171 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=33, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000170 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=34, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000156 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=35, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000049 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=36, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000175 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=37, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000279 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=38, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000295 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=39, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000183 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=40, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000377 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=41, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000381 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=42, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000092 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=43, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000250 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=44, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000181 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=45, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000182 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=46, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000052 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=47, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000231 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=48, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000152 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=49, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000389 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=50, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000230 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=51, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000240 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=52, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000403 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=53, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000406 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=54, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000407 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=55, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000402 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=56, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000411 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=57, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000442 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=58, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000443 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=59, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000452 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=60, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000428 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=61, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000431 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=62, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000424 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=63, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000433 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=64, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000434 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=65, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000413 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=66, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000429 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=67, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000414 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=68, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000464 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=69, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000445 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=70, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000465 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=71, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000454 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=72, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000463 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=73, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000447 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=74, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000455 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=75, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000449 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=76, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000459 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=77, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000448 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=0, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=200166 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=1, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=167 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=2, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=357 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=3, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=229 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=4, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=412 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=5, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=256 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=6, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=197 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=7, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=477 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=8, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=181 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=9, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=484 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=10, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=179 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=11, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=503 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=12, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=200064 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=13, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=196 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=14, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=479 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=15, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=482 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=16, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=481 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=17, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=411 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=18, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000305 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=19, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=53253 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=20, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=426 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=21, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=537 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=22, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=311 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=23, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=292 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=24, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=504 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=25, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=515 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=26, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000252 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=27, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000373 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=28, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000372 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=29, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000370 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=30, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000151 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=31, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000241 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=32, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000323 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=33, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000278 +; + +-- Feb 11, 2019 4:38:11 PM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=34, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000312 +; + +SELECT register_migration_script('201902121250_IDEMPIERE-3896.sql') FROM dual +; diff --git a/org.adempiere.base/src/org/adempiere/process/RecreateStorageReservation.java b/org.adempiere.base/src/org/adempiere/process/RecreateStorageReservation.java new file mode 100644 index 0000000000..50ad356cc3 --- /dev/null +++ b/org.adempiere.base/src/org/adempiere/process/RecreateStorageReservation.java @@ -0,0 +1,106 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * + * or via info@compiere.org or http://www.compiere.org/license.html * + *****************************************************************************/ +package org.adempiere.process; + +import org.compiere.process.SvrProcess; +import org.compiere.util.DB; +import org.compiere.util.Env; + +public class RecreateStorageReservation extends SvrProcess { + + private int m_AD_Client_ID = 0; + + @Override + protected void prepare() { + m_AD_Client_ID = Env.getAD_Client_ID(getCtx()); + } + + @Override + protected String doIt() throws Exception { + + StringBuilder sql = new StringBuilder(); + sql.append("SELECT count(*) FROM "); + sql.append(" ("); + sql.append(" SELECT SUM(ol.qtyreserved) AS orderqtyreserved, ol.m_warehouse_id,"); + sql.append(" ol.m_product_id, coalesce(m_attributesetinstance_id,0) AS m_attributesetinstance_id,"); + sql.append(" o.issotrx, w.ad_client_id,w.ad_org_id"); + sql.append(" FROM c_orderline ol "); + sql.append(" JOIN c_order o ON ( ol.c_order_id = o.c_order_id ) "); + sql.append(" JOIN m_warehouse w ON (w.m_warehouse_id = o.m_warehouse_id)"); + sql.append(" WHERE ol.m_product_id > 0 AND ol.qtyreserved!=0 AND o.docstatus NOT IN ('VO','RE') "); + sql.append(" GROUP BY 2,3,4,5,6,7 "); + sql.append(" ) AS y "); + sql.append(" FULL OUTER JOIN "); + sql.append(" ( "); + sql.append(" SELECT qty AS storageqtyReserved,"); + sql.append(" m_warehouse_id, m_product_id, m_attributesetinstance_id,issotrx,ad_client_id"); + sql.append(" FROM m_storagereservation"); + sql.append(" WHERE qty!=0"); + sql.append(" ) AS x"); + sql.append(" ON y.m_warehouse_id = x.m_warehouse_id"); + sql.append(" AND x.m_product_id = y.m_product_id"); + sql.append(" AND x.m_attributesetinstance_id = y.m_attributesetinstance_id"); + sql.append(" AND x.issotrx = y.issotrx"); + sql.append(" WHERE COALESCE(x.storageqtyreserved, 0) <> COALESCE(y.orderqtyreserved, 0)"); + sql.append(" AND (x.ad_client_id = ? OR y.ad_client_id = ?)"); + + int wrongReservations = DB.getSQLValue(get_TrxName(), sql.toString(), m_AD_Client_ID, m_AD_Client_ID); + + int noInserted = 0; + if (wrongReservations > 0) { + + log.warning(wrongReservations + " wrong reservation records found"); + + final String deleteSql = "DELETE FROM M_StorageReservation WHERE AD_Client_ID=?"; + int no = DB.executeUpdateEx(deleteSql, new Object[]{m_AD_Client_ID}, get_TrxName()); + log.warning(no + " reservation records deleted"); + + sql = new StringBuilder(); + sql.append("INSERT INTO M_StorageReservation "); + sql.append(" (qty, m_warehouse_id,"); + sql.append(" m_product_id,m_attributesetinstance_id,"); + sql.append(" issotrx, ad_client_id, ad_org_id,"); + sql.append(" created, createdby,"); + sql.append(" updated, updatedby,"); + sql.append(" isactive)"); + sql.append(" SELECT SUM(ol.qtyreserved) AS orderqtyreserved,"); + sql.append(" ol.m_warehouse_id, "); + sql.append(" ol.m_product_id,"); + sql.append(" COALESCE(m_attributesetinstance_id,0),"); + sql.append(" o.issotrx, w.ad_client_id, w.ad_org_id,"); + sql.append(" SYSDATE,"); + sql.append(Env.getAD_User_ID(getCtx())); + sql.append(" ,SYSDATE,"); + sql.append(Env.getAD_User_ID(getCtx())); + sql.append(" ,'Y' "); + sql.append(" FROM c_orderline ol"); + sql.append(" JOIN c_order o ON ( ol.c_order_id = o.c_order_id )"); + sql.append(" JOIN m_warehouse w ON (w.m_warehouse_id = o.m_warehouse_id)"); + sql.append(" WHERE ol.m_product_id > 0"); + sql.append(" AND ol.qtyreserved != 0"); + sql.append(" AND o.docstatus NOT IN ('VO', 'RE')"); + sql.append(" AND o.ad_client_id = ?"); + sql.append(" GROUP BY 2, 3, 4, 5, 6,7,8,9,10,11,12"); + + noInserted = DB.executeUpdateEx(sql.toString(), new Object[]{m_AD_Client_ID}, get_TrxName()); + log.warning(noInserted + " reservation records inserted"); + } + + return noInserted + " @Inserted@"; + } + +} From 9aeb90550f2b4bd429a0d866242ef76a5c44cc2a Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Sun, 17 Feb 2019 11:32:23 +0100 Subject: [PATCH 16/16] IDEMPIERE-3896 Process that fixes M_StorageReservation when wrong reservations are found / peer review - fix for oracle --- .../oracle/201902121250_IDEMPIERE-3896.sql | 452 +----------------- .../201902121250_IDEMPIERE-3896.sql | 452 +----------------- .../process/RecreateStorageReservation.java | 149 +++--- 3 files changed, 109 insertions(+), 944 deletions(-) diff --git a/migration/i6.2/oracle/201902121250_IDEMPIERE-3896.sql b/migration/i6.2/oracle/201902121250_IDEMPIERE-3896.sql index 07c98766c0..8655b9c9ec 100644 --- a/migration/i6.2/oracle/201902121250_IDEMPIERE-3896.sql +++ b/migration/i6.2/oracle/201902121250_IDEMPIERE-3896.sql @@ -18,456 +18,24 @@ INSERT INTO AD_TreeNode (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Upda INSERT INTO AD_TreeNodeMM (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy, AD_Tree_ID, Node_ID, Parent_ID, SeqNo, AD_TreeNodeMM_UU) SELECT t.AD_Client_ID, 0, 'Y', SysDate, 100, SysDate, 100,t.AD_Tree_ID, 200166, 0, 999, Generate_UUID() FROM AD_Tree t WHERE t.AD_Client_ID=0 AND t.IsActive='Y' AND t.IsAllNodes='Y' AND t.TreeType='MM' AND NOT EXISTS (SELECT * FROM AD_TreeNodeMM e WHERE e.AD_Tree_ID=t.AD_Tree_ID AND Node_ID=200166) ; --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=0, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=218 +-- Feb 17, 2019, 11:22:47 AM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=20, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=200166 ; --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=1, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=153 +-- Feb 17, 2019, 11:22:47 AM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=21, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=311 ; --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=2, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=263 +-- Feb 17, 2019, 11:22:47 AM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=22, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=292 ; --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=3, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=166 +-- Feb 17, 2019, 11:22:47 AM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=23, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=504 ; --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=4, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=203 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=5, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=236 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=6, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=183 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=7, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=160 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=8, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=278 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=9, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000087 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=10, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=345 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=11, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=53296 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=12, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=53014 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=13, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=53108 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=14, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000361 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=15, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000050 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=16, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000343 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=17, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000460 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=18, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000385 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=19, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000386 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=20, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000244 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=21, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000232 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=22, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000256 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=23, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000284 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=24, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000329 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=25, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000313 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=26, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000225 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=27, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000394 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=28, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000155 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=29, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000144 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=30, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000167 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=31, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000081 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=32, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000171 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=33, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000170 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=34, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000156 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=35, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000049 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=36, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000175 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=37, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000279 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=38, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000295 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=39, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000183 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=40, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000377 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=41, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000381 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=42, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000092 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=43, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000250 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=44, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000181 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=45, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000182 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=46, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000052 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=47, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000231 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=48, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000152 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=49, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000389 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=50, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000230 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=51, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000240 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=52, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000403 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=53, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000406 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=54, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000407 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=55, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000402 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=56, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000411 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=57, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000442 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=58, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000443 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=59, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000452 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=60, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000428 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=61, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000431 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=62, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000424 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=63, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000433 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=64, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000434 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=65, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000413 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=66, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000429 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=67, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000414 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=68, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000464 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=69, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000445 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=70, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000465 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=71, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000454 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=72, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000463 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=73, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000447 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=74, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000455 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=75, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000449 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=76, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000459 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=77, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000448 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=0, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=200166 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=1, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=167 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=2, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=357 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=3, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=229 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=4, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=412 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=5, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=256 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=6, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=197 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=7, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=477 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=8, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=181 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=9, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=484 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=10, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=179 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=11, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=503 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=12, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=200064 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=13, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=196 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=14, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=479 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=15, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=482 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=16, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=481 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=17, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=411 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=18, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000305 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=19, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=53253 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=20, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=426 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=21, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=537 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=22, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=311 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=23, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=292 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=24, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=504 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=25, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=515 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=26, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000252 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=27, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000373 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=28, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000372 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=29, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000370 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=30, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000151 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=31, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000241 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=32, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000323 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=33, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000278 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=34, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=1000312 +-- Feb 17, 2019, 11:22:47 AM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=24, Updated=SysDate WHERE AD_Tree_ID=10 AND Node_ID=515 ; SELECT register_migration_script('201902121250_IDEMPIERE-3896.sql') FROM dual diff --git a/migration/i6.2/postgresql/201902121250_IDEMPIERE-3896.sql b/migration/i6.2/postgresql/201902121250_IDEMPIERE-3896.sql index e2bcc82a9e..9acbc90322 100644 --- a/migration/i6.2/postgresql/201902121250_IDEMPIERE-3896.sql +++ b/migration/i6.2/postgresql/201902121250_IDEMPIERE-3896.sql @@ -15,456 +15,24 @@ INSERT INTO AD_TreeNode (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Upda INSERT INTO AD_TreeNodeMM (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy, AD_Tree_ID, Node_ID, Parent_ID, SeqNo, AD_TreeNodeMM_UU) SELECT t.AD_Client_ID, 0, 'Y', statement_timestamp(), 100, statement_timestamp(), 100,t.AD_Tree_ID, 200166, 0, 999, Generate_UUID() FROM AD_Tree t WHERE t.AD_Client_ID=0 AND t.IsActive='Y' AND t.IsAllNodes='Y' AND t.TreeType='MM' AND NOT EXISTS (SELECT * FROM AD_TreeNodeMM e WHERE e.AD_Tree_ID=t.AD_Tree_ID AND Node_ID=200166) ; --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=0, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=218 +-- Feb 17, 2019, 11:22:47 AM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=20, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=200166 ; --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=1, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=153 +-- Feb 17, 2019, 11:22:47 AM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=21, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=311 ; --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=2, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=263 +-- Feb 17, 2019, 11:22:47 AM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=22, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=292 ; --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=3, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=166 +-- Feb 17, 2019, 11:22:47 AM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=23, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=504 ; --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=4, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=203 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=5, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=236 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=6, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=183 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=7, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=160 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=8, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=278 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=9, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000087 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=10, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=345 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=11, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=53296 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=12, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=53014 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=13, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=53108 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=14, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000361 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=15, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000050 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=16, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000343 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=17, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000460 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=18, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000385 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=19, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000386 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=20, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000244 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=21, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000232 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=22, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000256 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=23, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000284 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=24, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000329 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=25, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000313 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=26, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000225 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=27, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000394 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=28, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000155 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=29, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000144 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=30, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000167 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=31, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000081 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=32, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000171 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=33, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000170 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=34, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000156 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=35, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000049 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=36, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000175 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=37, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000279 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=38, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000295 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=39, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000183 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=40, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000377 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=41, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000381 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=42, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000092 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=43, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000250 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=44, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000181 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=45, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000182 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=46, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000052 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=47, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000231 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=48, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000152 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=49, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000389 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=50, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000230 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=51, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000240 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=52, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000403 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=53, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000406 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=54, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000407 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=55, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000402 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=56, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000411 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=57, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000442 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=58, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000443 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=59, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000452 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=60, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000428 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=61, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000431 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=62, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000424 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=63, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000433 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=64, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000434 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=65, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000413 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=66, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000429 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=67, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000414 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=68, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000464 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=69, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000445 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=70, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000465 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=71, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000454 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=72, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000463 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=73, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000447 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=74, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000455 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=75, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000449 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=76, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000459 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=0, SeqNo=77, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000448 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=0, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=200166 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=1, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=167 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=2, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=357 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=3, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=229 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=4, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=412 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=5, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=256 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=6, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=197 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=7, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=477 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=8, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=181 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=9, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=484 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=10, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=179 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=11, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=503 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=12, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=200064 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=13, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=196 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=14, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=479 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=15, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=482 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=16, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=481 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=17, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=411 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=18, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000305 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=19, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=53253 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=20, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=426 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=21, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=537 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=22, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=311 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=23, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=292 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=24, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=504 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=25, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=515 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=26, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000252 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=27, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000373 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=28, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000372 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=29, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000370 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=30, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000151 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=31, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000241 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=32, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000323 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=33, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000278 -; - --- Feb 11, 2019 4:38:11 PM CET -UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=34, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=1000312 +-- Feb 17, 2019, 11:22:47 AM CET +UPDATE AD_TreeNodeMM SET Parent_ID=183, SeqNo=24, Updated=statement_timestamp() WHERE AD_Tree_ID=10 AND Node_ID=515 ; SELECT register_migration_script('201902121250_IDEMPIERE-3896.sql') FROM dual diff --git a/org.adempiere.base/src/org/adempiere/process/RecreateStorageReservation.java b/org.adempiere.base/src/org/adempiere/process/RecreateStorageReservation.java index 50ad356cc3..883451a6b2 100644 --- a/org.adempiere.base/src/org/adempiere/process/RecreateStorageReservation.java +++ b/org.adempiere.base/src/org/adempiere/process/RecreateStorageReservation.java @@ -1,6 +1,6 @@ /****************************************************************************** - * Product: Adempiere ERP & CRM Smart Business Solution * - * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. * + * Project: Trek Global ERP * + * Copyright (C) 2009-2018 Trek Global Corporation * * This program is free software; you can redistribute it and/or modify it * * under the terms version 2 of the GNU General Public License as published * * by the Free Software Foundation. This program is distributed in the hope * @@ -10,9 +10,6 @@ * You should have received a copy of the GNU General Public License along * * with this program; if not, write to the Free Software Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * - * For the text or an alternative of this public license, you may reach us * - * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * - * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ package org.adempiere.process; @@ -31,34 +28,51 @@ public class RecreateStorageReservation extends SvrProcess { @Override protected String doIt() throws Exception { - - StringBuilder sql = new StringBuilder(); - sql.append("SELECT count(*) FROM "); - sql.append(" ("); - sql.append(" SELECT SUM(ol.qtyreserved) AS orderqtyreserved, ol.m_warehouse_id,"); - sql.append(" ol.m_product_id, coalesce(m_attributesetinstance_id,0) AS m_attributesetinstance_id,"); - sql.append(" o.issotrx, w.ad_client_id,w.ad_org_id"); - sql.append(" FROM c_orderline ol "); - sql.append(" JOIN c_order o ON ( ol.c_order_id = o.c_order_id ) "); - sql.append(" JOIN m_warehouse w ON (w.m_warehouse_id = o.m_warehouse_id)"); - sql.append(" WHERE ol.m_product_id > 0 AND ol.qtyreserved!=0 AND o.docstatus NOT IN ('VO','RE') "); - sql.append(" GROUP BY 2,3,4,5,6,7 "); - sql.append(" ) AS y "); - sql.append(" FULL OUTER JOIN "); - sql.append(" ( "); - sql.append(" SELECT qty AS storageqtyReserved,"); - sql.append(" m_warehouse_id, m_product_id, m_attributesetinstance_id,issotrx,ad_client_id"); - sql.append(" FROM m_storagereservation"); - sql.append(" WHERE qty!=0"); - sql.append(" ) AS x"); - sql.append(" ON y.m_warehouse_id = x.m_warehouse_id"); - sql.append(" AND x.m_product_id = y.m_product_id"); - sql.append(" AND x.m_attributesetinstance_id = y.m_attributesetinstance_id"); - sql.append(" AND x.issotrx = y.issotrx"); - sql.append(" WHERE COALESCE(x.storageqtyreserved, 0) <> COALESCE(y.orderqtyreserved, 0)"); - sql.append(" AND (x.ad_client_id = ? OR y.ad_client_id = ?)"); - - int wrongReservations = DB.getSQLValue(get_TrxName(), sql.toString(), m_AD_Client_ID, m_AD_Client_ID); + + final String sql = "" + + "SELECT COUNT(*) " + + "FROM " + + "( " + + "SELECT SUM(ol.QtyReserved) AS OrderQtyReserved, " + + " ol.M_Warehouse_ID, " + + " ol.M_Product_ID, " + + " COALESCE(M_AttributeSetInstance_ID, 0) AS M_AttributeSetInstance_ID, " + + " o.IsSOTrx, " + + " w.AD_Client_ID, " + + " w.AD_Org_ID " + + "FROM C_OrderLine ol " + + " JOIN C_Order o ON ( ol.C_Order_ID = o.C_Order_ID ) " + + " JOIN M_Warehouse w ON ( w.M_Warehouse_ID = o.M_Warehouse_ID ) " + + "WHERE ol.m_product_ID > 0 " + + " AND ol.ad_client_ID = ? " + + " AND ol.qtyreserved != 0 " + + " AND o.docstatus NOT IN ( 'VO', 'RE' ) " + + "GROUP BY ol.M_Warehouse_ID, " + + " ol.M_Product_ID, " + + " COALESCE(M_AttributeSetInstance_ID, 0), " + + " o.IsSOTrx, " + + " w.AD_Client_ID, " + + " w.AD_Org_ID " + + ") y " + + "FULL OUTER JOIN " + + "( " + + "SELECT Qty AS StorageQtyreserved, " + + " M_Warehouse_ID, " + + " M_Product_ID, " + + " M_AttributeSetInstance_ID, " + + " IsSOTrx, " + + " AD_Client_ID " + + "FROM M_StorageReservation " + + "WHERE AD_Client_ID = ? " + + " AND Qty != 0 " + + ") x " + + " ON y.M_Warehouse_ID = x.M_Warehouse_ID " + + " AND x.M_Product_ID = y.M_Product_ID " + + " AND x.M_AttributeSetInstance_ID = y.M_AttributeSetInstance_ID " + + " AND x.IsSOTrx = y.IsSOTrx " + + "WHERE COALESCE(x.StorageQtyReserved, 0) <> COALESCE(y.OrderQtyReserved, 0)"; + + int wrongReservations = DB.getSQLValueEx(get_TrxName(), sql, m_AD_Client_ID, m_AD_Client_ID); int noInserted = 0; if (wrongReservations > 0) { @@ -69,34 +83,49 @@ public class RecreateStorageReservation extends SvrProcess { int no = DB.executeUpdateEx(deleteSql, new Object[]{m_AD_Client_ID}, get_TrxName()); log.warning(no + " reservation records deleted"); - sql = new StringBuilder(); - sql.append("INSERT INTO M_StorageReservation "); - sql.append(" (qty, m_warehouse_id,"); - sql.append(" m_product_id,m_attributesetinstance_id,"); - sql.append(" issotrx, ad_client_id, ad_org_id,"); - sql.append(" created, createdby,"); - sql.append(" updated, updatedby,"); - sql.append(" isactive)"); - sql.append(" SELECT SUM(ol.qtyreserved) AS orderqtyreserved,"); - sql.append(" ol.m_warehouse_id, "); - sql.append(" ol.m_product_id,"); - sql.append(" COALESCE(m_attributesetinstance_id,0),"); - sql.append(" o.issotrx, w.ad_client_id, w.ad_org_id,"); - sql.append(" SYSDATE,"); - sql.append(Env.getAD_User_ID(getCtx())); - sql.append(" ,SYSDATE,"); - sql.append(Env.getAD_User_ID(getCtx())); - sql.append(" ,'Y' "); - sql.append(" FROM c_orderline ol"); - sql.append(" JOIN c_order o ON ( ol.c_order_id = o.c_order_id )"); - sql.append(" JOIN m_warehouse w ON (w.m_warehouse_id = o.m_warehouse_id)"); - sql.append(" WHERE ol.m_product_id > 0"); - sql.append(" AND ol.qtyreserved != 0"); - sql.append(" AND o.docstatus NOT IN ('VO', 'RE')"); - sql.append(" AND o.ad_client_id = ?"); - sql.append(" GROUP BY 2, 3, 4, 5, 6,7,8,9,10,11,12"); + final String ins = "" + + "INSERT INTO M_StorageReservation " + + " (Qty, " + + " M_Warehouse_ID, " + + " M_Product_ID, " + + " M_AttributeSetInstance_ID, " + + " IsSOTrx, " + + " AD_Client_ID, " + + " AD_Org_ID, " + + " Created, " + + " CreatedBy, " + + " Updated, " + + " UpdatedBy, " + + " IsActive, " + + " M_StorageReservation_UU) " + + "SELECT SUM(ol.QtyReserved) AS OrderQtyReserved, " + + " ol.M_Warehouse_ID, " + + " ol.M_Product_ID, " + + " COALESCE(M_AttributeSetInstance_ID, 0), " + + " o.IsSOTrx, " + + " w.AD_Client_ID, " + + " w.AD_Org_ID, " + + " SysDate, " + + " ?, " + + " SysDate, " + + " ?, " + + " 'Y', " + + " generate_uuid() " + + "FROM C_OrderLine ol " + + " JOIN C_Order o ON ( ol.C_Order_ID = o.C_Order_ID ) " + + " JOIN M_Warehouse w ON ( w.M_Warehouse_ID = o.M_Warehouse_ID ) " + + "WHERE ol.M_Product_ID > 0 " + + " AND ol.QtyReserved != 0 " + + " AND o.DocStatus NOT IN ( 'VO', 'RE' ) " + + " AND o.AD_Client_ID = ? " + + "GROUP BY ol.M_Warehouse_ID, " + + " ol.M_Product_ID, " + + " COALESCE(M_AttributeSetInstance_ID, 0), " + + " o.IsSOTrx, " + + " w.AD_Client_ID, " + + " w.AD_Org_ID"; - noInserted = DB.executeUpdateEx(sql.toString(), new Object[]{m_AD_Client_ID}, get_TrxName()); + noInserted = DB.executeUpdateEx(ins, new Object[]{Env.getAD_User_ID(getCtx()), Env.getAD_User_ID(getCtx()), m_AD_Client_ID}, get_TrxName()); log.warning(noInserted + " reservation records inserted"); }