Search in sources :

Example 56 with Trx

use of org.compiere.util.Trx in project adempiere by adempiere.

the class OrderDistributionReceipt method generate.

//	saveSelection
/**************************************************************************
	 *	Generate Movements
	 */
public String generate(MiniTable miniTable, IStatusBar statusBar, String docActionSelected) {
    String info = "";
    log.info("DD_Order_ID=" + m_DD_Order_ID);
    log.info("MovementDate" + m_MovementDate);
    String trxName = Trx.createTrxName("MVG");
    Trx trx = Trx.get(trxName, true);
    //  prevents from being called twice
    setSelectionActive(false);
    statusBar.setStatusLine(Msg.translate(Env.getCtx(), "M_Movement_ID"));
    statusBar.setStatusDB(String.valueOf(getSelection().size()));
    Properties m_ctx = Env.getCtx();
    Timestamp movementDate = (Timestamp) m_MovementDate;
    MDDOrder order = new MDDOrder(m_ctx, Integer.parseInt(m_DD_Order_ID.toString()), trxName);
    MMovement movement = new MMovement(order, movementDate);
    movement.saveEx();
    ArrayList<Integer> ids = getSelection();
    int i = 0;
    for (int DD_OrderLine_ID : ids) {
        MDDOrderLine oline = new MDDOrderLine(m_ctx, DD_OrderLine_ID, trxName);
        MMovementLine line = new MMovementLine(movement);
        line.setM_Product_ID(oline.getM_Product_ID());
        BigDecimal QtyDeliver = (BigDecimal) miniTable.getValueAt(i, 1);
        if (QtyDeliver == null | QtyDeliver.compareTo(oline.getQtyInTransit()) > 0)
            throw new AdempiereException("Error in Qty");
        line.setOrderLine(oline, QtyDeliver, true);
        line.saveEx();
        i++;
    }
    //	Fails if there is a confirmation
    if (!movement.processIt(MMovement.ACTION_Complete))
        log.warning("Failed: " + movement);
    movement.setDocStatus(MMovement.DOCACTION_Complete);
    movement.setDocAction(MMovement.ACTION_Close);
    movement.saveEx();
    return info;
}
Also used : Properties(java.util.Properties) Timestamp(java.sql.Timestamp) BigDecimal(java.math.BigDecimal) MDDOrderLine(org.eevolution.model.MDDOrderLine) AdempiereException(org.adempiere.exceptions.AdempiereException) Trx(org.compiere.util.Trx) MDDOrder(org.eevolution.model.MDDOrder) MMovementLine(org.compiere.model.MMovementLine) MMovement(org.compiere.model.MMovement)

Example 57 with Trx

use of org.compiere.util.Trx in project adempiere by adempiere.

the class OrderDistribution method generate.

//	saveSelection
public String generate(IStatusBar statusBar, String docActionSelected) {
    String info = "";
    log.info("M_Locator_ID=" + m_M_Locator_ID);
    String trxName = Trx.createTrxName("IMG");
    Trx trx = Trx.get(trxName, true);
    //  prevents from being called twice
    setSelectionActive(false);
    statusBar.setStatusLine(Msg.translate(Env.getCtx(), "M_Movement_ID"));
    statusBar.setStatusDB(String.valueOf(getSelection().size()));
    //	Prepare Process
    int AD_Process_ID = MProcess.getProcess_ID("M_Generate Movement", trxName);
    MPInstance instance = new MPInstance(Env.getCtx(), AD_Process_ID, 0);
    if (!instance.save()) {
        info = Msg.getMsg(Env.getCtx(), "ProcessNoInstance");
        return info;
    }
    DB.createT_Selection(instance.getAD_PInstance_ID(), getSelection(), null);
    //call process
    ProcessInfo pi = new ProcessInfo("VOrderDistribution", AD_Process_ID);
    pi.setAD_PInstance_ID(instance.getAD_PInstance_ID());
    //	Add Parameter - Selection=Y
    MPInstancePara ip = new MPInstancePara(instance, 10);
    ip.setParameter("Selection", "Y");
    ip.saveEx();
    MLocator locator = MLocator.get(Env.getCtx(), Integer.parseInt(m_M_Locator_ID.toString()));
    //	Add Parameter - M_Warehouse_ID=x
    ip = new MPInstancePara(instance, 20);
    ip.setParameter("M_Warehouse_ID", locator.getM_Warehouse_ID());
    ip.saveEx();
    setTrx(trx);
    setProcessInfo(pi);
    return info;
}
Also used : MPInstancePara(org.compiere.model.MPInstancePara) MPInstance(org.compiere.model.MPInstance) MLocator(org.compiere.model.MLocator) Trx(org.compiere.util.Trx) ProcessInfo(org.compiere.process.ProcessInfo)

Example 58 with Trx

use of org.compiere.util.Trx in project adempiere by adempiere.

the class SynchronizeTerminology method doIt.

//	prepare
/**
	 * 	Process
	 *	@return message
	 *	@throws Exception
	 */
protected String doIt() throws Exception {
    //TODO Error handling
    String sql = null;
    try {
        int no;
        Trx trx = Trx.get(get_TrxName(), false);
        if (isCreateElementsfromColumnOrParameters()) {
            // Create Elements from ColumnNames
            sql = "SELECT DISTINCT ColumnName, Name, Description, Help, EntityType " + "FROM	AD_COLUMN c WHERE NOT EXISTS " + "(SELECT 1 FROM AD_ELEMENT e " + " WHERE UPPER(c.ColumnName)=UPPER(e.ColumnName))" + " AND c.isActive = 'Y'";
            PreparedStatement pstmt = DB.prepareStatement(sql, get_TrxName());
            ResultSet rs = pstmt.executeQuery();
            while (rs.next()) {
                String columnName = rs.getString(1);
                String name = rs.getString(2);
                String desc = rs.getString(3);
                String help = rs.getString(4);
                String entityType = rs.getString(5);
                M_Element elem = new M_Element(getCtx(), columnName, entityType, get_TrxName());
                elem.setDescription(desc);
                elem.setHelp(help);
                elem.setPrintName(name);
                elem.saveEx();
            }
            pstmt.close();
            rs.close();
            trx.commit(true);
            // Create Elements for Process Parameters which are centrally maintained
            sql = "SELECT DISTINCT ColumnName, Name, Description, Help, EntityType " + " FROM	AD_PROCESS_PARA p " + " WHERE NOT EXISTS " + " (SELECT 1 FROM AD_ELEMENT e " + " WHERE UPPER(p.ColumnName)=UPPER(e.ColumnName))" + " AND p.isCentrallyMaintained = 'Y'" + " AND p.isActive = 'Y'";
            pstmt = DB.prepareStatement(sql, get_TrxName());
            rs = pstmt.executeQuery();
            while (rs.next()) {
                String columnName = rs.getString(1);
                String name = rs.getString(2);
                String desc = rs.getString(3);
                String help = rs.getString(4);
                String entityType = rs.getString(5);
                //TODO AD_SEQ system !!!
                M_Element elem = new M_Element(getCtx(), columnName, entityType, get_TrxName());
                elem.setDescription(desc);
                elem.setHelp(help);
                elem.setPrintName(name);
                elem.saveEx();
            }
            pstmt.close();
            rs.close();
            trx.commit(true);
        }
        log.info("Adding missing Element Translations");
        sql = "INSERT INTO AD_ELEMENT_TRL (AD_Element_ID, AD_LANGUAGE, AD_Client_ID, AD_Org_ID," + " IsActive, Created, CreatedBy, Updated, UpdatedBy," + " Name, PrintName, Description, Help, IsTranslated)" + " SELECT m.AD_Element_ID, l.AD_LANGUAGE, m.AD_Client_ID, m.AD_Org_ID," + " m.IsActive, m.Created, m.CreatedBy, m.Updated, m.UpdatedBy," + " m.Name, m.PrintName, m.Description, m.Help, 'N'" + " FROM	AD_ELEMENT m, AD_LANGUAGE l" + " WHERE	l.IsActive = 'Y' AND l.IsSystemLanguage = 'Y'" + " AND	AD_Element_ID || AD_LANGUAGE NOT IN " + " (SELECT AD_Element_ID || AD_LANGUAGE FROM AD_ELEMENT_TRL)";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        log.info("Creating link from Element to Column");
        sql = "UPDATE	AD_COLUMN c" + " SET		AD_Element_id =" + " 	(SELECT AD_Element_ID FROM AD_ELEMENT e" + " 	WHERE UPPER(c.ColumnName)=UPPER(e.ColumnName))" + " 	WHERE AD_Element_ID IS NULL";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        if (isDeletingUnusedElements()) {
            log.info("Deleting unused Elements");
            sql = "DELETE	AD_ELEMENT_TRL" + " 	WHERE	AD_Element_ID IN" + " 	(SELECT AD_Element_ID FROM AD_ELEMENT e " + " 	WHERE NOT EXISTS" + " 	(SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName))" + " 	AND NOT EXISTS" + " 	(SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName)))";
            no = DB.executeUpdate(sql, false, get_TrxName());
            log.info("  rows deleted: " + no);
            trx.commit(true);
            sql = "DELETE	AD_ELEMENT e" + " 	WHERE AD_Element_ID >= 1000000 AND NOT EXISTS" + " 	(SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName))" + " 	AND NOT EXISTS" + " 	(SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName))";
            no = DB.executeUpdate(sql, false, get_TrxName());
            log.info("  rows deleted: " + no);
            trx.commit(true);
        }
        //	Columns
        log.info("Synchronize Column");
        sql = " 	UPDATE AD_COLUMN c" + " 		SET	(ColumnName, Name, Description, Help) =" + " 	           (SELECT ColumnName, Name, Description, Help" + " 	            FROM AD_ELEMENT e WHERE c.AD_Element_ID=e.AD_Element_ID)," + " 			Updated = SYSDATE" + " 	WHERE EXISTS (SELECT 1 FROM AD_ELEMENT e " + " 				WHERE c.AD_Element_ID=e.AD_Element_ID" + " 				  AND (c.ColumnName <> e.ColumnName OR c.Name <> e.Name " + " 					OR NVL(c.Description,' ') <> NVL(e.Description,' ') OR NVL(c.Help,' ') <> NVL(e.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Fields should now be synchronized
        log.info("Synchronize Field");
        sql = " 	UPDATE AD_FIELD f" + " 		SET (Name, Description, Help) = " + " 	            (SELECT e.Name, e.Description, e.Help" + " 	            FROM AD_ELEMENT e, AD_COLUMN c" + " 	    	    WHERE e.AD_Element_ID=c.AD_Element_ID AND c.AD_Column_ID=f.AD_Column_ID)," + " 			Updated = SYSDATE" + " 	WHERE f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + " 	 AND EXISTS (SELECT 1 FROM AD_ELEMENT e, AD_COLUMN c" + " 				WHERE f.AD_Column_ID=c.AD_Column_ID" + " 				  AND c.AD_Element_ID=e.AD_Element_ID AND c.AD_Process_ID IS NULL" + " 				  AND (f.Name <> e.Name OR NVL(f.Description,' ') <> NVL(e.Description,' ') OR NVL(f.Help,' ') <> NVL(e.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Field Translations
        log.info("Synchronize Field Translations");
        sql = "UPDATE AD_FIELD_TRL trl" + " SET Name = (SELECT e.Name FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f" + "			WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID " + "			  AND c.AD_Column_ID=f.AD_Column_ID AND f.AD_Field_ID=trl.AD_Field_ID)," + "	Description = (SELECT e.Description FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f" + "			WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID " + "			  AND c.AD_Column_ID=f.AD_Column_ID AND f.AD_Field_ID=trl.AD_Field_ID)," + "	Help = (SELECT e.Help FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f" + "			WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID " + "			  AND c.AD_Column_ID=f.AD_Column_ID AND f.AD_Field_ID=trl.AD_Field_ID)," + "	IsTranslated = (SELECT e.IsTranslated FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f" + "			WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID " + "			  AND c.AD_Column_ID=f.AD_Column_ID AND f.AD_Field_ID=trl.AD_Field_ID)," + "	Updated = SYSDATE" + " WHERE EXISTS (SELECT 1 FROM AD_FIELD f, AD_ELEMENT_TRL e, AD_COLUMN c" + "		WHERE trl.AD_Field_ID=f.AD_Field_ID" + "		  AND f.AD_Column_ID=c.AD_Column_ID" + "		  AND c.AD_Element_ID=e.AD_Element_ID AND c.AD_Process_ID IS NULL" + "		  AND trl.AD_LANGUAGE=e.AD_LANGUAGE" + "		  AND f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + "		  AND (trl.Name <> e.Name OR NVL(trl.Description,' ') <> NVL(e.Description,' ') OR NVL(trl.Help,' ') <> NVL(e.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Fields should now be synchronized
        log.info("Synchronize PO Field");
        sql = "UPDATE AD_FIELD f" + " SET Name = (SELECT e.PO_Name FROM AD_ELEMENT e, AD_COLUMN c" + " 			WHERE e.AD_Element_ID=c.AD_Element_ID AND c.AD_Column_ID=f.AD_Column_ID)," + " 	Description = (SELECT e.PO_Description FROM AD_ELEMENT e, AD_COLUMN c" + " 			WHERE e.AD_Element_ID=c.AD_Element_ID AND c.AD_Column_ID=f.AD_Column_ID)," + " 	Help = (SELECT e.PO_Help FROM AD_ELEMENT e, AD_COLUMN c" + " 			WHERE e.AD_Element_ID=c.AD_Element_ID AND c.AD_Column_ID=f.AD_Column_ID)," + " 	Updated = SYSDATE" + " WHERE f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + " AND EXISTS (SELECT 1 FROM AD_ELEMENT e, AD_COLUMN c" + " 		WHERE f.AD_Column_ID=c.AD_Column_ID" + " 		  AND c.AD_Element_ID=e.AD_Element_ID AND c.AD_Process_ID IS NULL" + " 		  AND (f.Name <> e.PO_Name OR NVL(f.Description,' ') <> NVL(e.PO_Description,' ') OR NVL(f.Help,' ') <> NVL(e.PO_Help,' '))" + " 		  AND e.PO_Name IS NOT NULL)" + " AND EXISTS (SELECT 1 FROM AD_TAB t, AD_WINDOW w" + " 		WHERE f.AD_Tab_ID=t.AD_Tab_ID" + " 		  AND t.AD_Window_ID=w.AD_Window_ID" + " 		  AND w.IsSOTrx='N')";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Field Translations
        log.info("Synchronize PO Field Translations");
        sql = " UPDATE AD_FIELD_TRL trl" + " SET Name = (SELECT e.PO_Name FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f" + " 		WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID" + " 		  AND c.AD_Column_ID=f.AD_Column_ID AND f.AD_Field_ID=trl.AD_Field_ID)," + " Description = (SELECT e.PO_Description FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f" + " 		WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID " + " 		  AND c.AD_Column_ID=f.AD_Column_ID AND f.AD_Field_ID=trl.AD_Field_ID)," + " Help = (SELECT e.PO_Help FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f" + " 		WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID" + " 		  AND c.AD_Column_ID=f.AD_Column_ID AND f.AD_Field_ID=trl.AD_Field_ID)," + " IsTranslated = (SELECT e.IsTranslated FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f" + " 		WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID " + " 		  AND c.AD_Column_ID=f.AD_Column_ID AND f.AD_Field_ID=trl.AD_Field_ID)," + " Updated = SYSDATE" + " WHERE EXISTS (SELECT 1 FROM AD_FIELD f, AD_ELEMENT_TRL e, AD_COLUMN c" + " 	WHERE trl.AD_Field_ID=f.AD_Field_ID" + " 	  AND f.AD_Column_ID=c.AD_Column_ID" + " 	  AND c.AD_Element_ID=e.AD_Element_ID AND c.AD_Process_ID IS NULL" + " 	  AND trl.AD_LANGUAGE=e.AD_LANGUAGE" + " 	  AND f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + " 	  AND (trl.Name <> e.PO_Name OR NVL(trl.Description,' ') <> NVL(e.PO_Description,' ') OR NVL(trl.Help,' ') <> NVL(e.PO_Help,' '))" + " 	  AND e.PO_Name IS NOT NULL)" + " AND EXISTS (SELECT 1 FROM AD_FIELD f, AD_TAB t, AD_WINDOW w" + " 	WHERE trl.AD_Field_ID=f.AD_Field_ID" + " 	  AND f.AD_Tab_ID=t.AD_Tab_ID" + " 	  AND t.AD_Window_ID=w.AD_Window_ID" + " 	  AND w.IsSOTrx='N')";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Fields from Process
        log.info("Synchronize Field from Process");
        sql = "UPDATE AD_FIELD f" + " SET Name = (SELECT p.Name FROM AD_PROCESS p, AD_COLUMN c WHERE p.AD_Process_ID=c.AD_Process_ID" + " 			AND c.AD_Column_ID=f.AD_Column_ID)," + " 	Description = (SELECT p.Description FROM AD_PROCESS p, AD_COLUMN c WHERE p.AD_Process_ID=c.AD_Process_ID" + " 			AND c.AD_Column_ID=f.AD_Column_ID)," + " 	Help = (SELECT p.Help FROM AD_PROCESS p, AD_COLUMN c WHERE p.AD_Process_ID=c.AD_Process_ID" + " 			AND c.AD_Column_ID=f.AD_Column_ID)," + " 	Updated = SYSDATE" + " WHERE f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + " AND EXISTS (SELECT 1 FROM AD_PROCESS p, AD_COLUMN c" + " 		WHERE c.AD_Process_ID=p.AD_Process_ID AND f.AD_Column_ID=c.AD_Column_ID" + " 		AND (f.Name<>p.Name OR NVL(f.Description,' ')<>NVL(p.Description,' ') OR NVL(f.Help,' ')<>NVL(p.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Field Translations from Process
        log.info("Synchronize Field Trl from Process Trl");
        sql = "UPDATE AD_FIELD_TRL trl" + " SET Name = (SELECT p.Name FROM AD_PROCESS_TRL p, AD_COLUMN c, AD_FIELD f" + " 			WHERE p.AD_Process_ID=c.AD_Process_ID AND c.AD_Column_ID=f.AD_Column_ID" + " 			AND f.AD_Field_ID=trl.AD_Field_ID AND p.AD_LANGUAGE=trl.AD_LANGUAGE)," + " 	Description = (SELECT p.Description FROM AD_PROCESS_TRL p, AD_COLUMN c, AD_FIELD f" + " 			WHERE p.AD_Process_ID=c.AD_Process_ID AND c.AD_Column_ID=f.AD_Column_ID" + " 			AND f.AD_Field_ID=trl.AD_Field_ID AND p.AD_LANGUAGE=trl.AD_LANGUAGE)," + " 	Help = (SELECT p.Help FROM AD_PROCESS_TRL p, AD_COLUMN c, AD_FIELD f " + " 			WHERE p.AD_Process_ID=c.AD_Process_ID AND c.AD_Column_ID=f.AD_Column_ID" + " 			AND f.AD_Field_ID=trl.AD_Field_ID AND p.AD_LANGUAGE=trl.AD_LANGUAGE)," + " 	IsTranslated = (SELECT p.IsTranslated FROM AD_PROCESS_TRL p, AD_COLUMN c, AD_FIELD f" + " 			WHERE p.AD_Process_ID=c.AD_Process_ID AND c.AD_Column_ID=f.AD_Column_ID" + " 			AND f.AD_Field_ID=trl.AD_Field_ID AND p.AD_LANGUAGE=trl.AD_LANGUAGE)," + " 	Updated = SYSDATE" + " WHERE EXISTS (SELECT 1 FROM AD_PROCESS_TRL p, AD_COLUMN c, AD_FIELD f" + " 		WHERE c.AD_Process_ID=p.AD_Process_ID AND f.AD_Column_ID=c.AD_Column_ID" + " 		AND f.AD_Field_ID=trl.AD_Field_ID AND p.AD_LANGUAGE=trl.AD_LANGUAGE" + " 		AND f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + " 		AND (trl.Name<>p.Name OR NVL(trl.Description,' ')<>NVL(p.Description,' ') OR NVL(trl.Help,' ')<>NVL(p.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //Browse Fields should now be synchronized
        log.info("Synchronize Browse Field");
        sql = " 	UPDATE AD_BROWSE_FIELD f" + " 		SET (Name, Description, Help) = " + " 	            (SELECT e.Name, e.Description, e.Help" + " 	            FROM AD_ELEMENT e " + " 	    	    WHERE e.AD_Element_ID=f.AD_Element_ID)," + " 			Updated = SYSDATE" + " 	WHERE f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + " 	 AND EXISTS (SELECT 1 FROM AD_ELEMENT e " + " 				  WHERE f.AD_Element_ID=e.AD_Element_ID " + " 				  AND (f.Name <> e.Name OR NVL(f.Description,' ') <> NVL(e.Description,' ') OR NVL(f.Help,' ') <> NVL(e.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Browse Field Translations
        log.info("Synchronize Browse Field Translations");
        sql = "UPDATE AD_BROWSE_FIELD_TRL trl" + " SET Name = (SELECT e.Name FROM AD_ELEMENT_TRL e , AD_BROWSE_FIELD f" + "			WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=f.AD_Element_ID " + "			 AND f.AD_Browse_Field_ID=trl.AD_Browse_Field_ID)," + "	Description = (SELECT e.Description FROM AD_ELEMENT_TRL e, AD_BROWSE_FIELD f" + "			WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=f.AD_Element_ID " + "			 AND f.AD_Browse_Field_ID=trl.AD_Browse_Field_ID)," + "	Help = (SELECT e.Help FROM AD_ELEMENT_TRL e, AD_BROWSE_FIELD f" + "			WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=f.AD_Element_ID " + "			 AND f.AD_Browse_Field_ID=trl.AD_Browse_Field_ID)," + "	IsTranslated = (SELECT e.IsTranslated FROM AD_ELEMENT_TRL e, AD_BROWSE_FIELD f" + "			WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=f.AD_Element_ID " + "			  AND f.AD_Browse_Field_ID=trl.AD_Browse_Field_ID)," + "	Updated = SYSDATE" + " WHERE EXISTS (SELECT 1 FROM AD_BROWSE_FIELD f, AD_ELEMENT_TRL e" + "		WHERE trl.AD_Browse_Field_ID=f.AD_Browse_Field_ID" + "		  AND f.AD_Element_ID=e.AD_Element_ID" + "		  AND trl.AD_LANGUAGE=e.AD_LANGUAGE" + "		  AND f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + "		  AND (trl.Name <> e.Name OR NVL(trl.Description,' ') <> NVL(e.Description,' ') OR NVL(trl.Help,' ') <> NVL(e.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Sync Parameter ColumnName
        sql = "UPDATE	AD_PROCESS_PARA f" + " SET	ColumnName = (SELECT e.ColumnName FROM AD_ELEMENT e" + " 			WHERE UPPER(e.ColumnName)=UPPER(f.ColumnName))" + // +" 			WHERE e.ColumnName=f.ColumnName)"
        " WHERE f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + " AND EXISTS (SELECT 1 FROM AD_ELEMENT e" + " WHERE UPPER(e.ColumnName)=UPPER(f.ColumnName)" + " AND e.ColumnName<>f.ColumnName)";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Parameter Fields
        sql = "UPDATE	AD_PROCESS_PARA p" + " SET	IsCentrallyMaintained = 'N'" + " WHERE	IsCentrallyMaintained <> 'N'" + " AND NOT EXISTS (SELECT 1 FROM AD_ELEMENT e WHERE p.ColumnName=e.ColumnName)";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Parameter Fields
        log.info("Synchronize Process Parameter");
        sql = "UPDATE AD_PROCESS_PARA f" + " SET Name = (SELECT e.Name FROM AD_ELEMENT e" + " 			WHERE e.ColumnName=f.ColumnName)," + " 	Description = (SELECT e.Description FROM AD_ELEMENT e" + " 			WHERE e.ColumnName=f.ColumnName)," + " 	Help = (SELECT e.Help FROM AD_ELEMENT e" + " 			WHERE e.ColumnName=f.ColumnName)," + " 	Updated = SYSDATE" + " WHERE f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + " AND EXISTS (SELECT 1 FROM AD_ELEMENT e" + " 		WHERE e.ColumnName=f.ColumnName" + " 		  AND (f.Name <> e.Name OR NVL(f.Description,' ') <> NVL(e.Description,' ') OR NVL(f.Help,' ') <> NVL(e.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Parameter Translations
        log.info("Synchronize Process Parameter Trl");
        sql = "UPDATE AD_PROCESS_PARA_TRL trl" + " SET Name = (SELECT et.Name FROM AD_ELEMENT_TRL et, AD_ELEMENT e, AD_PROCESS_PARA f" + " 			WHERE et.AD_LANGUAGE=trl.AD_LANGUAGE AND et.AD_Element_ID=e.AD_Element_ID" + " 			  AND e.ColumnName=f.ColumnName AND f.AD_Process_Para_ID=trl.AD_Process_Para_ID)," + " 	Description = (SELECT et.Description FROM AD_ELEMENT_TRL et, AD_ELEMENT e, AD_PROCESS_PARA f" + " 			WHERE et.AD_LANGUAGE=trl.AD_LANGUAGE AND et.AD_Element_ID=e.AD_Element_ID" + " 			  AND e.ColumnName=f.ColumnName AND f.AD_Process_Para_ID=trl.AD_Process_Para_ID)," + " 	Help = (SELECT et.Help FROM AD_ELEMENT_TRL et, AD_ELEMENT e, AD_PROCESS_PARA f" + " 			WHERE et.AD_LANGUAGE=trl.AD_LANGUAGE AND et.AD_Element_ID=e.AD_Element_ID" + " 			  AND e.ColumnName=f.ColumnName AND f.AD_Process_Para_ID=trl.AD_Process_Para_ID)," + " 	IsTranslated = (SELECT et.IsTranslated FROM AD_ELEMENT_TRL et, AD_ELEMENT e, AD_PROCESS_PARA f" + " 			WHERE et.AD_LANGUAGE=trl.AD_LANGUAGE AND et.AD_Element_ID=e.AD_Element_ID" + " 			  AND e.ColumnName=f.ColumnName AND f.AD_Process_Para_ID=trl.AD_Process_Para_ID)," + " 	Updated = SYSDATE" + " WHERE EXISTS (SELECT 1 FROM AD_ELEMENT_TRL et, AD_ELEMENT e, AD_PROCESS_PARA f" + " 			WHERE et.AD_LANGUAGE=trl.AD_LANGUAGE AND et.AD_Element_ID=e.AD_Element_ID" + " 			  AND e.ColumnName=f.ColumnName AND f.AD_Process_Para_ID=trl.AD_Process_Para_ID" + " 			  AND f.IsCentrallyMaintained='Y' AND f.IsActive='Y'" + " 			  AND (trl.Name <> et.Name OR NVL(trl.Description,' ') <> NVL(et.Description,' ') OR NVL(trl.Help,' ') <> NVL(et.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Workflow Node - Window
        log.info("Synchronize Workflow Node from Window");
        sql = "UPDATE AD_WF_NODE n" + " SET Name = (SELECT w.Name FROM AD_WINDOW w" + " 			WHERE w.AD_Window_ID=n.AD_Window_ID)," + " 	Description = (SELECT w.Description FROM AD_WINDOW w" + " 			WHERE w.AD_Window_ID=n.AD_Window_ID)," + " 	Help = (SELECT w.Help FROM AD_WINDOW w" + " 			WHERE w.AD_Window_ID=n.AD_Window_ID)" + " WHERE n.IsCentrallyMaintained = 'Y'" + "  AND EXISTS  (SELECT 1 FROM AD_WINDOW w" + " 		WHERE w.AD_Window_ID=n.AD_Window_ID" + " 		  AND (w.Name <> n.Name OR NVL(w.Description,' ') <> NVL(n.Description,' ') OR NVL(w.Help,' ') <> NVL(n.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Workflow Translations - Window
        log.info("Synchronize Workflow Node Trl from Window Trl");
        sql = "UPDATE AD_WF_NODE_TRL trl" + " SET Name = (SELECT t.Name FROM AD_WINDOW_TRL t, AD_WF_NODE n" + " 			WHERE trl.AD_WF_Node_ID=n.AD_WF_Node_ID AND n.AD_Window_ID=t.AD_Window_ID" + " 			  AND trl.AD_LANGUAGE=t.AD_LANGUAGE)," + " 	Description = (SELECT t.Description FROM AD_WINDOW_TRL t, AD_WF_NODE n" + " 			WHERE trl.AD_WF_Node_ID=n.AD_WF_Node_ID AND n.AD_Window_ID=t.AD_Window_ID" + " 			  AND trl.AD_LANGUAGE=t.AD_LANGUAGE)," + " 	Help = (SELECT t.Help FROM AD_WINDOW_TRL t, AD_WF_NODE n" + " 			WHERE trl.AD_WF_Node_ID=n.AD_WF_Node_ID AND n.AD_Window_ID=t.AD_Window_ID" + " 			  AND trl.AD_LANGUAGE=t.AD_LANGUAGE)" + " WHERE EXISTS (SELECT 1 FROM AD_WINDOW_TRL t, AD_WF_NODE n" + " 		WHERE trl.AD_WF_Node_ID=n.AD_WF_Node_ID AND n.AD_Window_ID=t.AD_Window_ID" + " 		  AND trl.AD_LANGUAGE=t.AD_LANGUAGE AND n.IsCentrallyMaintained='Y' AND n.IsActive='Y'" + " 		  AND (trl.Name <> t.Name OR NVL(trl.Description,' ') <> NVL(t.Description,' ') OR NVL(trl.Help,' ') <> NVL(t.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Workflow Node - Form
        log.info("Synchronize Workflow Node from Form");
        sql = "UPDATE AD_WF_NODE n" + " SET (Name, Description, Help) = (SELECT f.Name, f.Description, f.Help" + " 		FROM AD_FORM f" + " 		WHERE f.AD_Form_ID=n.AD_Form_ID)" + " WHERE n.IsCentrallyMaintained = 'Y'" + " AND EXISTS  (SELECT 1 FROM AD_FORM f" + " 		WHERE f.AD_Form_ID=n.AD_Form_ID" + " 		  AND (f.Name <> n.Name OR NVL(f.Description,' ') <> NVL(n.Description,' ') OR NVL(f.Help,' ') <> NVL(n.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Workflow Translations - Form
        log.info("Synchronize Workflow Node Trl from Form Trl");
        sql = " UPDATE AD_WF_NODE_TRL trl" + " SET (Name, Description, Help) = (SELECT t.Name, t.Description, t.Help" + " 	FROM AD_FORM_TRL t, AD_WF_NODE n" + " 	WHERE trl.AD_WF_Node_ID=n.AD_WF_Node_ID AND n.AD_Form_ID=t.AD_Form_ID" + " 	  AND trl.AD_LANGUAGE=t.AD_LANGUAGE)" + " WHERE EXISTS (SELECT 1 FROM AD_FORM_TRL t, AD_WF_NODE n" + " 		WHERE trl.AD_WF_Node_ID=n.AD_WF_Node_ID AND n.AD_Form_ID=t.AD_Form_ID" + " 		  AND trl.AD_LANGUAGE=t.AD_LANGUAGE AND n.IsCentrallyMaintained='Y' AND n.IsActive='Y'" + " 		  AND (trl.Name <> t.Name OR NVL(trl.Description,' ') <> NVL(t.Description,' ') OR NVL(trl.Help,' ') <> NVL(t.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Workflow Node - Report
        log.info("Synchronize Workflow Node from Process");
        sql = "UPDATE AD_WF_NODE n" + " SET (Name, Description, Help) = (SELECT f.Name, f.Description, f.Help" + " 		FROM AD_PROCESS f" + " 		WHERE f.AD_Process_ID=n.AD_Process_ID)" + " WHERE n.IsCentrallyMaintained = 'Y'" + " AND EXISTS  (SELECT 1 FROM AD_PROCESS f" + " 		WHERE f.AD_Process_ID=n.AD_Process_ID" + " 		  AND (f.Name <> n.Name OR NVL(f.Description,' ') <> NVL(n.Description,' ') OR NVL(f.Help,' ') <> NVL(n.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Workflow Translations - Form
        log.info("Synchronize Workflow Node Trl from Process Trl");
        sql = "UPDATE AD_WF_NODE_TRL trl" + " SET (Name, Description, Help) = (SELECT t.Name, t.Description, t.Help" + " FROM AD_PROCESS_TRL t, AD_WF_NODE n" + " WHERE trl.AD_WF_Node_ID=n.AD_WF_Node_ID AND n.AD_Process_ID=t.AD_Process_ID" + "  AND trl.AD_LANGUAGE=t.AD_LANGUAGE)" + " WHERE EXISTS (SELECT 1 FROM AD_PROCESS_TRL t, AD_WF_NODE n" + " WHERE trl.AD_WF_Node_ID=n.AD_WF_Node_ID AND n.AD_Process_ID=t.AD_Process_ID" + "  AND trl.AD_LANGUAGE=t.AD_LANGUAGE AND n.IsCentrallyMaintained='Y' AND n.IsActive='Y'" + "  AND (trl.Name <> t.Name OR NVL(trl.Description,' ') <> NVL(t.Description,' ') OR NVL(trl.Help,' ') <> NVL(t.Help,' ')))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //  Need centrally maintained flag here!
        log.info("Synchronize PrintFormatItem Name from Element");
        sql = "UPDATE AD_PRINTFORMATITEM pfi" + " SET Name = (SELECT e.Name " + " FROM AD_ELEMENT e, AD_COLUMN c" + " WHERE e.AD_Element_ID=c.AD_Element_ID" + " AND c.AD_Column_ID=pfi.AD_Column_ID)" + " WHERE pfi.IsCentrallyMaintained='Y'" + " AND EXISTS (SELECT 1 " + " FROM AD_ELEMENT e, AD_COLUMN c" + " WHERE e.AD_Element_ID=c.AD_Element_ID" + " AND c.AD_Column_ID=pfi.AD_Column_ID" + " AND e.Name<>pfi.Name)" + " AND EXISTS (SELECT 1 FROM AD_CLIENT" + " WHERE AD_Client_ID=pfi.AD_Client_ID AND IsMultiLingualDocument='Y')";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        log.info("Synchronize PrintFormatItem PrintName from Element");
        sql = "UPDATE AD_PRINTFORMATITEM pfi" + " SET PrintName = (SELECT e.PrintName " + " FROM AD_ELEMENT e, AD_COLUMN c" + " WHERE e.AD_Element_ID=c.AD_Element_ID" + " AND c.AD_Column_ID=pfi.AD_Column_ID)" + " WHERE pfi.IsCentrallyMaintained='Y'" + " AND EXISTS (SELECT 1 " + " FROM AD_ELEMENT e, AD_COLUMN c, AD_PRINTFORMAT pf" + " WHERE e.AD_Element_ID=c.AD_Element_ID" + " AND c.AD_Column_ID=pfi.AD_Column_ID" + " AND LENGTH(pfi.PrintName) > 0" + " AND e.PrintName<>pfi.PrintName" + " AND pf.AD_PrintFormat_ID=pfi.AD_PrintFormat_ID" + " AND pf.IsForm='N' AND IsTableBased='Y')" + " AND EXISTS (SELECT 1 FROM AD_CLIENT " + " WHERE AD_Client_ID=pfi.AD_Client_ID AND IsMultiLingualDocument='Y')";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        log.info("Synchronize PrintFormatItem Trl from Element Trl (Multi-Lingual)");
        sql = "UPDATE AD_PRINTFORMATITEM_TRL trl" + " SET PrintName = (SELECT e.PrintName" + " FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_PRINTFORMATITEM pfi" + " WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE" + " AND e.AD_Element_ID=c.AD_Element_ID" + " AND c.AD_Column_ID=pfi.AD_Column_ID" + " AND pfi.AD_PrintFormatItem_ID=trl.AD_PrintFormatItem_ID)" + " WHERE EXISTS (SELECT 1 " + " FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_PRINTFORMATITEM pfi, AD_PRINTFORMAT pf" + " WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE" + " AND e.AD_Element_ID=c.AD_Element_ID" + " AND c.AD_Column_ID=pfi.AD_Column_ID" + " AND pfi.AD_PrintFormatItem_ID=trl.AD_PrintFormatItem_ID" + " AND pfi.IsCentrallyMaintained='Y'" + " AND LENGTH(pfi.PrintName) > 0" + " AND (e.PrintName<>trl.PrintName OR trl.PrintName IS NULL)" + " AND pf.AD_PrintFormat_ID=pfi.AD_PrintFormat_ID " + " AND pf.IsForm='N' AND IsTableBased='Y')" + " AND EXISTS (SELECT 1 FROM AD_CLIENT " + " WHERE AD_Client_ID=trl.AD_Client_ID AND IsMultiLingualDocument='Y')";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        log.info("Synchronize PrintFormatItem Trl (Not Multi-Lingual)");
        sql = "UPDATE AD_PRINTFORMATITEM_TRL trl" + " SET PrintName = (SELECT pfi.PrintName" + " FROM AD_PRINTFORMATITEM pfi" + " WHERE pfi.AD_PrintFormatItem_ID=trl.AD_PrintFormatItem_ID)" + " WHERE EXISTS (SELECT 1 " + " FROM AD_PRINTFORMATITEM pfi, AD_PRINTFORMAT pf" + " WHERE pfi.AD_PrintFormatItem_ID=trl.AD_PrintFormatItem_ID" + " AND pfi.IsCentrallyMaintained='Y'" + " AND LENGTH(pfi.PrintName) > 0" + " AND pfi.PrintName<>trl.PrintName" + " AND pf.AD_PrintFormat_ID=pfi.AD_PrintFormat_ID " + " AND pf.IsForm='N' AND pf.IsTableBased='Y')" + " AND EXISTS (SELECT 1 FROM AD_CLIENT " + " WHERE AD_Client_ID=trl.AD_Client_ID AND IsMultiLingualDocument='N')";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        log.info("Reset PrintFormatItem Trl where not used in base table");
        sql = "UPDATE AD_PRINTFORMATITEM_TRL trl" + " SET PrintName = NULL" + " WHERE PrintName IS NOT NULL" + " AND EXISTS (SELECT 1" + " FROM AD_PRINTFORMATITEM pfi" + " WHERE pfi.AD_PrintFormatItem_ID=trl.AD_PrintFormatItem_ID" + " AND pfi.IsCentrallyMaintained='Y'" + " AND (LENGTH (pfi.PrintName) = 0 OR pfi.PrintName IS NULL))";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        /**
				SELECT 	e.PrintName "Element", pfi.PrintName "FormatItem", trl.AD_Language, trl.PrintName "Trl"
				FROM 	AD_Element e
				  INNER JOIN AD_Column c ON (e.AD_Element_ID=c.AD_Element_ID)
				  INNER JOIN AD_PrintFormatItem pfi ON (c.AD_Column_ID=pfi.AD_Column_ID)
				  INNER JOIN AD_PrintFormatItem_Trl trl ON (pfi.AD_PrintFormatItem_ID=trl.AD_PrintFormatItem_ID)
				WHERE pfi.AD_PrintFormatItem_ID=?
			 **/
        //	Sync Names - Window
        log.info("Synchronizing Menu with Window");
        sql = "UPDATE	AD_MENU m" + " SET		Name = (SELECT Name FROM AD_WINDOW w WHERE m.AD_Window_ID=w.AD_Window_ID)," + " Description = (SELECT Description FROM AD_WINDOW w WHERE m.AD_Window_ID=w.AD_Window_ID)" + " WHERE	m.AD_Window_ID IS NOT NULL" + "  AND m.Action = 'W'" + "  AND m.IsCentrallyMaintained='Y' AND m.IsActive='Y'";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        sql = "UPDATE	AD_MENU_TRL mt" + " SET		Name = (SELECT wt.Name FROM AD_WINDOW_TRL wt, AD_MENU m " + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Window_ID=wt.AD_Window_ID " + " AND mt.AD_LANGUAGE=wt.AD_LANGUAGE)," + " Description = (SELECT wt.Description FROM AD_WINDOW_TRL wt, AD_MENU m " + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Window_ID=wt.AD_Window_ID " + " AND mt.AD_LANGUAGE=wt.AD_LANGUAGE)," + " IsTranslated = (SELECT wt.IsTranslated FROM AD_WINDOW_TRL wt, AD_MENU m " + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Window_ID=wt.AD_Window_ID " + " AND mt.AD_LANGUAGE=wt.AD_LANGUAGE)" + " WHERE EXISTS (SELECT 1 FROM AD_WINDOW_TRL wt, AD_MENU m " + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Window_ID=wt.AD_Window_ID " + " AND mt.AD_LANGUAGE=wt.AD_LANGUAGE" + " AND m.AD_Window_ID IS NOT NULL" + " AND m.Action = 'W'" + " AND m.IsCentrallyMaintained='Y' AND m.IsActive='Y'" + ")";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        // Sync Names - Process
        log.info("Synchronizing Menu with Processes");
        sql = "UPDATE	AD_MENU m" + " SET		Name = (SELECT p.Name FROM AD_PROCESS p WHERE m.AD_Process_ID=p.AD_Process_ID)," + " Description = (SELECT p.Description FROM AD_PROCESS p WHERE m.AD_Process_ID=p.AD_Process_ID)" + " WHERE m.AD_Process_ID IS NOT NULL" + " AND m.Action IN ('R', 'P')" + " AND m.IsCentrallyMaintained='Y' AND m.IsActive='Y'";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        sql = "UPDATE	AD_MENU_TRL mt" + " SET		Name = (SELECT pt.Name FROM AD_PROCESS_TRL pt, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Process_ID=pt.AD_Process_ID" + " AND mt.AD_LANGUAGE=pt.AD_LANGUAGE)," + " Description = (SELECT pt.Description FROM AD_PROCESS_TRL pt, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Process_ID=pt.AD_Process_ID" + " AND mt.AD_LANGUAGE=pt.AD_LANGUAGE)," + " IsTranslated = (SELECT pt.IsTranslated FROM AD_PROCESS_TRL pt, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Process_ID=pt.AD_Process_ID" + " AND mt.AD_LANGUAGE=pt.AD_LANGUAGE)" + " WHERE EXISTS (SELECT 1 FROM AD_PROCESS_TRL pt, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Process_ID=pt.AD_Process_ID" + " AND mt.AD_LANGUAGE=pt.AD_LANGUAGE" + " AND m.AD_Process_ID IS NOT NULL" + " AND m.Action IN ('R', 'P')" + " AND m.IsCentrallyMaintained='Y' AND m.IsActive='Y'" + ")";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Sync Names = Form
        log.info("Synchronizing Menu with Forms");
        sql = "UPDATE	AD_MENU m" + " SET		Name = (SELECT Name FROM AD_FORM f WHERE m.AD_Form_ID=f.AD_Form_ID)," + " Description = (SELECT Description FROM AD_FORM f WHERE m.AD_Form_ID=f.AD_Form_ID)" + " WHERE m.AD_Form_ID IS NOT NULL" + " AND m.Action = 'X'" + " AND m.IsCentrallyMaintained='Y' AND m.IsActive='Y'";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        sql = "UPDATE	AD_MENU_TRL mt" + " SET		Name = (SELECT ft.Name FROM AD_FORM_TRL ft, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Form_ID=ft.AD_Form_ID" + " AND mt.AD_LANGUAGE=ft.AD_LANGUAGE)," + " Description = (SELECT ft.Description FROM AD_FORM_TRL ft, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Form_ID=ft.AD_Form_ID" + " AND mt.AD_LANGUAGE=ft.AD_LANGUAGE)," + " IsTranslated = (SELECT ft.IsTranslated FROM AD_FORM_TRL ft, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Form_ID=ft.AD_Form_ID" + " AND mt.AD_LANGUAGE=ft.AD_LANGUAGE)" + " WHERE EXISTS (SELECT 1 FROM AD_FORM_TRL ft, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Form_ID=ft.AD_Form_ID" + " AND mt.AD_LANGUAGE=ft.AD_LANGUAGE" + " AND m.AD_Form_ID IS NOT NULL" + " AND m.Action = 'X'" + " AND m.IsCentrallyMaintained='Y' AND m.IsActive='Y'" + ")";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Sync Names - Workflow
        log.info("Synchronizing Menu with Workflows");
        sql = "UPDATE	AD_MENU m" + " SET		Name = (SELECT p.Name FROM AD_WORKFLOW p WHERE m.AD_Workflow_ID=p.AD_Workflow_ID)," + " Description = (SELECT p.Description FROM AD_WORKFLOW p WHERE m.AD_Workflow_ID=p.AD_Workflow_ID)" + " WHERE m.AD_Workflow_ID IS NOT NULL" + " AND m.Action = 'F'" + " AND m.IsCentrallyMaintained='Y' AND m.IsActive='Y'";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        sql = "UPDATE	AD_MENU_TRL mt" + " SET		Name = (SELECT pt.Name FROM AD_WORKFLOW_TRL pt, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Workflow_ID=pt.AD_Workflow_ID" + " AND mt.AD_LANGUAGE=pt.AD_LANGUAGE)," + " Description = (SELECT pt.Description FROM AD_WORKFLOW_TRL pt, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Workflow_ID=pt.AD_Workflow_ID" + " AND mt.AD_LANGUAGE=pt.AD_LANGUAGE)," + " IsTranslated = (SELECT pt.IsTranslated FROM AD_WORKFLOW_TRL pt, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Workflow_ID=pt.AD_Workflow_ID" + " AND mt.AD_LANGUAGE=pt.AD_LANGUAGE)" + " WHERE EXISTS (SELECT 1 FROM AD_WORKFLOW_TRL pt, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Workflow_ID=pt.AD_Workflow_ID" + " AND mt.AD_LANGUAGE=pt.AD_LANGUAGE" + " AND m.AD_Workflow_ID IS NOT NULL" + " AND m.Action = 'F'" + " AND m.IsCentrallyMaintained='Y' AND m.IsActive='Y'" + ")";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //	Sync Names = Task
        log.info("Synchronizing Menu with Tasks");
        sql = "UPDATE	AD_MENU m" + " SET		Name = (SELECT Name FROM AD_TASK f WHERE m.AD_Task_ID=f.AD_Task_ID)," + " Description = (SELECT Description FROM AD_TASK f WHERE m.AD_Task_ID=f.AD_Task_ID)" + " WHERE m.AD_Task_ID IS NOT NULL" + " AND m.Action = 'T'" + " AND m.IsCentrallyMaintained='Y' AND m.IsActive='Y'";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        sql = "UPDATE	AD_MENU_TRL mt" + " SET		Name = (SELECT ft.Name FROM AD_TASK_TRL ft, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Task_ID=ft.AD_Task_ID" + " AND mt.AD_LANGUAGE=ft.AD_LANGUAGE)," + " Description = (SELECT ft.Description FROM AD_TASK_TRL ft, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Task_ID=ft.AD_Task_ID" + " AND mt.AD_LANGUAGE=ft.AD_LANGUAGE)," + " IsTranslated = (SELECT ft.IsTranslated FROM AD_TASK_TRL ft, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Task_ID=ft.AD_Task_ID" + " AND mt.AD_LANGUAGE=ft.AD_LANGUAGE)" + " WHERE EXISTS (SELECT 1 FROM AD_TASK_TRL ft, AD_MENU m" + " WHERE mt.AD_Menu_ID=m.AD_Menu_ID AND m.AD_Task_ID=ft.AD_Task_ID" + " AND mt.AD_LANGUAGE=ft.AD_LANGUAGE" + " AND m.AD_Task_ID IS NOT NULL" + " AND m.Action = 'T'" + " AND m.IsCentrallyMaintained='Y' AND m.IsActive='Y'" + ")";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //  Column Name + Element
        log.info("Synchronizing Column with Element");
        sql = "UPDATE AD_COLUMN c" + " SET (Name,Description,Help) =" + " (SELECT e.Name,e.Description,e.Help " + " FROM AD_ELEMENT e WHERE c.AD_Element_ID=e.AD_Element_ID)" + " WHERE EXISTS " + " (SELECT 1 FROM AD_ELEMENT e " + " WHERE c.AD_Element_ID=e.AD_Element_ID" + " AND c.Name<>e.Name)";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        sql = "UPDATE AD_COLUMN_TRL ct" + " SET Name = (SELECT e.Name" + " FROM AD_COLUMN c INNER JOIN AD_ELEMENT_TRL e ON (c.AD_Element_ID=e.AD_Element_ID)" + " WHERE ct.AD_Column_ID=c.AD_Column_ID AND ct.AD_LANGUAGE=e.AD_LANGUAGE)" + " WHERE EXISTS " + " (SELECT 1 FROM AD_COLUMN c INNER JOIN AD_ELEMENT_TRL e ON (c.AD_Element_ID=e.AD_Element_ID)" + " WHERE ct.AD_Column_ID=c.AD_Column_ID AND ct.AD_LANGUAGE=e.AD_LANGUAGE" + " AND ct.Name<>e.Name)";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  rows updated: " + no);
        trx.commit(true);
        //  Table Name + Element
        log.info("Synchronizing Table with Element");
        sql = "UPDATE AD_TABLE t " + "SET (Name,Description) = (SELECT e.Name,e.Description FROM AD_ELEMENT e " + "WHERE t.TableName||'_ID'=e.ColumnName) " + "WHERE EXISTS (SELECT 1 FROM AD_ELEMENT e " + "WHERE t.TableName||'_ID'=e.ColumnName " + "AND t.Name<>e.Name)";
        no = DB.executeUpdate(sql, false, get_TrxName());
        trx.commit(true);
        log.info("  rows updated: " + no);
        sql = "UPDATE AD_TABLE_TRL tt" + " SET Name = (SELECT e.Name " + " FROM AD_TABLE t INNER JOIN AD_ELEMENT ex ON (t.TableName||'_ID'=ex.ColumnName)" + " INNER JOIN AD_ELEMENT_TRL e ON (ex.AD_Element_ID=e.AD_Element_ID)" + " WHERE tt.AD_Table_ID=t.AD_Table_ID AND tt.AD_LANGUAGE=e.AD_LANGUAGE)" + " WHERE EXISTS (SELECT 1 " + " FROM AD_TABLE t INNER JOIN AD_ELEMENT ex ON (t.TableName||'_ID'=ex.ColumnName)" + " INNER JOIN AD_ELEMENT_TRL e ON (ex.AD_Element_ID=e.AD_Element_ID)" + " WHERE tt.AD_Table_ID=t.AD_Table_ID AND tt.AD_LANGUAGE=e.AD_LANGUAGE" + " AND tt.Name<>e.Name)";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  trl rows updated: " + no);
        trx.commit(true);
        //  Trl Table Name + Element
        sql = "UPDATE AD_TABLE t" + " SET (Name,Description) = (SELECT e.Name||' Trl', e.Description " + " FROM AD_ELEMENT e " + " WHERE SUBSTR(t.TableName,1,LENGTH(t.TableName)-4)||'_ID'=e.ColumnName)" + " WHERE TableName LIKE '%_Trl'" + " AND EXISTS (SELECT 1 FROM AD_ELEMENT e " + " WHERE SUBSTR(t.TableName,1,LENGTH(t.TableName)-4)||'_ID'=e.ColumnName" + " AND t.Name<>e.Name)";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  trl rows updated: " + no);
        trx.commit(true);
        sql = " UPDATE AD_TABLE_TRL tt" + " SET Name = (SELECT e.Name || ' **'" + " FROM AD_TABLE t INNER JOIN AD_ELEMENT ex ON (SUBSTR(t.TableName,1,LENGTH(t.TableName)-4)||'_ID'=ex.ColumnName)" + " INNER JOIN AD_ELEMENT_TRL e ON (ex.AD_Element_ID=e.AD_Element_ID)" + " WHERE tt.AD_Table_ID=t.AD_Table_ID AND tt.AD_LANGUAGE=e.AD_LANGUAGE)" + " WHERE EXISTS (SELECT 1 " + " FROM AD_TABLE t INNER JOIN AD_ELEMENT ex ON (SUBSTR(t.TableName,1,LENGTH(t.TableName)-4)||'_ID'=ex.ColumnName)" + " INNER JOIN AD_ELEMENT_TRL e ON (ex.AD_Element_ID=e.AD_Element_ID)" + " WHERE tt.AD_Table_ID=t.AD_Table_ID AND tt.AD_LANGUAGE=e.AD_LANGUAGE" + " AND t.TableName LIKE '%_Trl'" + " AND tt.Name<>e.Name)";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  trl rows updated: " + no);
        trx.commit(true);
        //	FR [ 237 ]
        //	Copy parent Print Name
        log.info("Synchronizing Report View with Table");
        sql = " UPDATE AD_ReportView rvt " + "SET PrintName = COALESCE(rvt.Description, (SELECT COALESCE(e.PrintName, t.Name) " + "				FROM AD_Table t" + "				INNER JOIN AD_ReportView rv ON(rv.AD_Table_ID = t.AD_Table_ID)" + "				LEFT JOIN AD_Element e ON(SUBSTR(t.TableName, 1, LENGTH(t.TableName) - 4) || '_ID' = e.ColumnName)" + "				WHERE rv.AD_ReportView_ID = rvt.AD_ReportView_ID" + "))" + "WHERE EXISTS (SELECT 1 " + " 				FROM AD_Table tt " + "				INNER JOIN AD_ReportView rv ON(rv.AD_Table_ID = tt.AD_Table_ID) " + "				WHERE rv.AD_ReportView_ID = rvt.AD_ReportView_ID " + " 				AND tt.Name <> COALESCE(rvt.PrintName, NULL)" + "				AND rv.IsCentrallyMaintained = 'Y') ";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  trl rows updated: " + no);
        trx.commit(true);
        //	For Translation
        log.info("Synchronizing Report View with Table");
        sql = " UPDATE AD_ReportView_Trl rvt " + "SET Name = (SELECT tt.Name " + "				FROM AD_Table_Trl tt " + "				INNER JOIN AD_ReportView rv ON(rv.AD_Table_ID = tt.AD_Table_ID) " + "				WHERE rv.AD_ReportView_ID = rvt.AD_ReportView_ID " + "				AND tt.AD_Language = rvt.AD_Language" + "), " + "PrintName = (SELECT COALESCE(et.PrintName, et.Name, tt.Name) " + "				FROM AD_Table t" + "				INNER JOIN AD_Table_Trl tt ON(tt.AD_Table_ID = t.AD_Table_ID)" + "				INNER JOIN AD_ReportView rv ON(rv.AD_Table_ID = tt.AD_Table_ID)" + "				LEFT JOIN AD_Element e ON(SUBSTR(t.TableName, 1, LENGTH(t.TableName) - 4) || '_ID' = e.ColumnName)" + "				LEFT JOIN AD_Element_Trl et ON(et.AD_Element_ID = e.AD_Element_ID AND et.AD_Language = tt.AD_Language)" + "				WHERE rv.AD_ReportView_ID = rvt.AD_ReportView_ID" + "				AND tt.AD_Language = rvt.AD_Language" + "), " + "Description = (SELECT COALESCE(et.Name, tt.Name) " + "				FROM AD_Table t" + "				INNER JOIN AD_Table_Trl tt ON(tt.AD_Table_ID = t.AD_Table_ID)" + "				INNER JOIN AD_ReportView rv ON(rv.AD_Table_ID = tt.AD_Table_ID)" + "				LEFT JOIN AD_Element e ON(SUBSTR(t.TableName, 1, LENGTH(t.TableName) - 4) || '_ID' = e.ColumnName)" + "				LEFT JOIN AD_Element_Trl et ON(et.AD_Element_ID = e.AD_Element_ID AND et.AD_Language = tt.AD_Language)" + "				WHERE rv.AD_ReportView_ID = rvt.AD_ReportView_ID" + "				AND tt.AD_Language = rvt.AD_Language" + ")" + "WHERE EXISTS (SELECT 1 " + " 				FROM AD_Table_Trl tt " + "				INNER JOIN AD_ReportView rv ON(rv.AD_Table_ID = tt.AD_Table_ID) " + "				WHERE rv.AD_ReportView_ID = rvt.AD_ReportView_ID AND tt.AD_Language = rvt.AD_Language " + " 				AND tt.Name<>rvt.Name" + "				AND rv.IsCentrallyMaintained = 'Y') ";
        no = DB.executeUpdate(sql, false, get_TrxName());
        log.info("  trl rows updated: " + no);
        trx.commit(true);
    } catch (Exception e) {
        log.log(Level.SEVERE, "@Failed@: " + e.getLocalizedMessage(), e);
        throw e;
    }
    return "@OK@";
}
Also used : ResultSet(java.sql.ResultSet) PreparedStatement(java.sql.PreparedStatement) M_Element(org.compiere.model.M_Element) Trx(org.compiere.util.Trx)

Example 59 with Trx

use of org.compiere.util.Trx in project adempiere by adempiere.

the class MWFActivity method run.

//	getApproval
/**************************************************************************
	 * 	Execute Work.
	 * 	Called from MWFProcess.startNext
	 * 	Feedback to Process via setWFState -> checkActivities
	 */
public void run() {
    log.info("Node=" + getNode());
    m_newValue = null;
    //m_trx = Trx.get(, true);
    Trx trx = null;
    boolean localTrx = false;
    if (get_TrxName() == null) {
        this.set_TrxName(Trx.createTrxName("WFA"));
        localTrx = true;
    }
    trx = Trx.get(get_TrxName(), true);
    Savepoint savepoint = null;
    //
    try {
        if (!localTrx)
            savepoint = trx.setSavepoint(null);
        if (!m_state.isValidAction(StateEngine.ACTION_Start)) {
            setTextMsg("State=" + getWFState() + " - cannot start");
            addTextMsg(new Exception(""));
            setWFState(StateEngine.STATE_Terminated);
            return;
        }
        //
        setWFState(StateEngine.STATE_Running);
        if (getNode().get_ID() == 0) {
            setTextMsg("Node not found - AD_WF_Node_ID=" + getAD_WF_Node_ID());
            setWFState(StateEngine.STATE_Aborted);
            return;
        }
        //	Do Work
        /****	Trx Start	****/
        boolean done = performWork(Trx.get(get_TrxName(), false));
        // Reason: if the commit fails the document should be put in Invalid state
        if (localTrx) {
            try {
                trx.commit(true);
            } catch (Exception e) {
                // If we have a DocStatus, change it to Invalid, and throw the exception to the next level
                if (m_docStatus != null)
                    m_docStatus = DocAction.STATUS_Invalid;
                throw e;
            }
        }
        setWFState(done ? StateEngine.STATE_Completed : StateEngine.STATE_Suspended);
    } catch (Exception e) {
        log.log(Level.WARNING, "" + getNode(), e);
        /****	Trx Rollback	****/
        if (localTrx) {
            trx.rollback();
        } else if (savepoint != null) {
            try {
                trx.rollback(savepoint);
            } catch (SQLException e1) {
            }
        }
        //
        if (e.getCause() != null)
            log.log(Level.WARNING, "Cause", e.getCause());
        String processMsg = e.getLocalizedMessage();
        if (processMsg == null || processMsg.length() == 0)
            processMsg = e.getMessage();
        setTextMsg(processMsg);
        addTextMsg(e);
        //	unlocks
        setWFState(StateEngine.STATE_Terminated);
        //	Set Document Status 
        if (m_po != null && m_po instanceof DocAction && m_docStatus != null) {
            m_po.load(get_TrxName());
            DocAction doc = (DocAction) m_po;
            doc.setDocStatus(m_docStatus);
            m_po.saveEx();
        }
    } finally {
        if (localTrx && trx != null) {
            trx.close();
        }
    }
}
Also used : DocAction(org.compiere.process.DocAction) SQLException(java.sql.SQLException) Savepoint(java.sql.Savepoint) Trx(org.compiere.util.Trx) SQLException(java.sql.SQLException) AdempiereException(org.adempiere.exceptions.AdempiereException)

Example 60 with Trx

use of org.compiere.util.Trx in project adempiere by adempiere.

the class PackOutTest method testPackOut.

public void testPackOut() {
    PackOut m_PackOut = new PackOut();
    PackInHandler m_PackInHandler = new PackInHandler();
    Trx m_trx = Trx.get(getTrxName(), true);
    int m_ad_process_id = IDFinder.get_IDWithColumn("ad_process", "Name", "PackOut", getAD_Client_ID(), getTrxName());
    int m_ad_table_id = IDFinder.get_IDWithColumn("ad_table", "Name", "AD_Package_Exp_ID", getAD_Client_ID(), getTrxName());
    //Create 2Pack Export Package
    MPackageExp m_MPackageExp = new MPackageExp(getCtx(), 0, getTrxName());
    m_MPackageExp.setName("testSqlStatement2Pack");
    m_MPackageExp.setIsActive(true);
    m_MPackageExp.setDescription("Test Output Package");
    m_MPackageExp.setEMail("wgheath@gmail.com");
    m_MPackageExp.setUserName("wgheath@gmail.com");
    m_MPackageExp.setFile_Directory("packages/");
    m_MPackageExp.setInstructions("use 2pack to import this package");
    m_MPackageExp.setReleaseNo(X_AD_Package_Exp_Detail.RELEASENO_NoSpecificRelease);
    m_MPackageExp.setVersion("1.0");
    m_MPackageExp.setPK_Version("1.0");
    boolean saveResult = m_MPackageExp.save();
    assertTrue("MPackageExp.save()", saveResult);
    X_AD_Package_Exp_Detail m_PackDetail = new X_AD_Package_Exp_Detail(getCtx(), 0, getTrxName());
    m_PackDetail.setAD_Org_ID(m_MPackageExp.getAD_Org_ID());
    m_PackDetail.setAD_Package_Exp_ID(m_MPackageExp.get_ID());
    m_MPackageExp.setIsActive(true);
    m_PackDetail.setType(X_AD_Package_Exp_Detail.TYPE_SQLStatement);
    m_PackDetail.setDBType("ALL");
    m_PackDetail.setSQLStatement("select * from ad_table");
    m_PackDetail.setDescription("2pack test sql statement");
    /*m_PackDetail.setFileName(rs.getString("FILENAME"));
		m_PackDetail.setAD_Client_ID(m_MPackageExp.getAD_Client_ID());
		m_PackDetail.setDescription(rs.getString("DESCRIPTION"));
		m_PackDetail.setTarget_Directory(rs.getString("TARGET_DIRECTORY"));
		m_PackDetail.setFile_Directory(rs.getString("FILE_DIRECTORY"));
		m_PackDetail.setDestination_Directory(rs.getString("DESTINATION_DIRECTORY"));
		m_PackDetail.setAD_Workflow_ID(rs.getInt("AD_WORKFLOW_ID"));
		m_PackDetail.setAD_Window_ID(rs.getInt("AD_WINDOW_ID"));
		m_PackDetail.setAD_Role_ID(rs.getInt("AD_ROLE_ID"));
		m_PackDetail.setAD_Process_ID(rs.getInt("AD_PROCESS_ID"));
		m_PackDetail.setAD_Menu_ID(rs.getInt("AD_MENU_ID"));
		m_PackDetail.setAD_ImpFormat_ID(rs.getInt("AD_IMPFORMAT_ID"));
		m_PackDetail.setAD_Workbench_ID(rs.getInt("AD_WORKBENCH_ID"));
		m_PackDetail.setAD_Table_ID(rs.getInt("AD_TABLE_ID"));
		m_PackDetail.setAD_Form_ID(rs.getInt("AD_FORM_ID"));
		m_PackDetail.setAD_ReportView_ID(rs.getInt("AD_REPORTVIEW_ID"));
		*/
    m_PackDetail.setLine(10);
    saveResult = m_PackDetail.save();
    assertTrue("X_AD_Package_Exp_Detail.save()", saveResult);
    int m_ad_record_id = IDFinder.get_IDWithColumn("ad_package_exp", "Name", "test2packJunit", getAD_Client_ID(), getTrxName());
    ProcessInfo m_ProcessInfo = new ProcessInfo("PackOut", m_ad_process_id, m_ad_table_id, m_MPackageExp.get_ID());
    m_PackOut.startProcess(getCtx(), m_ProcessInfo, m_trx);
    assertFalse("PackOut", m_ProcessInfo.isError());
    try {
        commit();
    } catch (Exception e) {
        fail(e.getLocalizedMessage());
    }
}
Also used : PackInHandler(org.adempiere.pipo.PackInHandler) X_AD_Package_Exp_Detail(org.compiere.model.X_AD_Package_Exp_Detail) PackOut(org.adempiere.pipo.PackOut) Trx(org.compiere.util.Trx) ProcessInfo(org.compiere.process.ProcessInfo) MPackageExp(org.compiere.model.MPackageExp)

Aggregations

Trx (org.compiere.util.Trx)60 SQLException (java.sql.SQLException)20 ProcessInfo (org.compiere.process.ProcessInfo)16 AdempiereException (org.adempiere.exceptions.AdempiereException)12 MPInstance (org.compiere.model.MPInstance)11 DBException (org.adempiere.exceptions.DBException)10 Timestamp (java.sql.Timestamp)9 File (java.io.File)8 Properties (java.util.Properties)8 Connection (java.sql.Connection)7 MPInstancePara (org.compiere.model.MPInstancePara)7 BigDecimal (java.math.BigDecimal)6 PreparedStatement (java.sql.PreparedStatement)6 ResultSet (java.sql.ResultSet)6 IOException (java.io.IOException)5 MTable (org.compiere.model.MTable)5 PO (org.compiere.model.PO)5 ServletException (javax.servlet.ServletException)4 CConnection (org.compiere.db.CConnection)4 ReportEngine (org.compiere.print.ReportEngine)4