diff --git a/migration/i1.0c-release/oracle/201308260558_IDEMPIERE-1298.sql b/migration/i1.0c-release/oracle/201308260558_IDEMPIERE-1298.sql new file mode 100644 index 0000000000..117dcdf138 --- /dev/null +++ b/migration/i1.0c-release/oracle/201308260558_IDEMPIERE-1298.sql @@ -0,0 +1,204 @@ +-- Aug 23, 2013 6:08:39 PM MYT +-- IDEMPIERE-1297 2Pack: Remove code for the lookup of record and reference using business key +UPDATE AD_SysConfig SET Value='IDEMPIERE-1298 2Pack: Support copying of data from one client to another',Updated=TO_DATE('2013-08-23 18:08:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_SysConfig_ID=50003 +; + +-- Aug 23, 2013 6:09:08 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Table (ImportTable,CopyColumnsFromTable,IsSecurityEnabled,AccessLevel,LoadSeq,AD_Table_ID,IsHighVolume,IsView,IsChangeLog,EntityType,ReplicationType,AD_Table_UU,IsCentrallyMaintained,IsDeleteable,TableName,Description,Name,IsActive,AD_Org_ID,CreatedBy,Updated,UpdatedBy,Created,AD_Client_ID) VALUES ('N','N','N','2',0,200105,'Y','N','N','D','L','af0292e5-c824-47c2-b0cd-99ec92b9fc02','Y','Y','AD_Package_UUID_Map','UUID Mapping between client','UUID Mapping','Y',0,100,TO_DATE('2013-08-23 18:09:02','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-08-23 18:09:02','YYYY-MM-DD HH24:MI:SS'),0) +; + +-- Aug 23, 2013 6:09:08 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Table_Trl (AD_Language,AD_Table_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Table_Trl_UU ) SELECT l.AD_Language,t.AD_Table_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Table t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Table_ID=200105 AND NOT EXISTS (SELECT * FROM AD_Table_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Table_ID=t.AD_Table_ID) +; + +-- Aug 23, 2013 6:09:09 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Sequence (StartNewYear,CurrentNextSys,IsTableID,CurrentNext,IsAudited,IsAutoSequence,AD_Sequence_ID,Description,Name,AD_Sequence_UU,IncrementNo,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,StartNo,AD_Client_ID) VALUES ('N',200000,'Y',1000000,'N','Y',200153,'Table AD_Package_UUID_Map','AD_Package_UUID_Map','9948e67a-a19d-4dfe-9228-a214e1c93e1e',1,0,TO_DATE('2013-08-23 18:09:08','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-08-23 18:09:08','YYYY-MM-DD HH24:MI:SS'),100,'Y',1000000,0) +; + +-- Aug 23, 2013 6:10:25 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,AD_Val_Rule_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210832,'Y','N','N',0,'N',22,'N',19,129,'N','N','Y','add3d617-c9de-4c23-9867-0d6074f70ad3','Y','AD_Client_ID','Client/Tenant for this installation.','@#AD_Client_ID@','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client','N',TO_DATE('2013-08-23 18:10:13','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:10:13','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',102,'N') +; + +-- Aug 23, 2013 6:10:25 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210832 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:11:04 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,AD_Val_Rule_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210833,'Y','N','N',0,'N',22,'N',19,104,'N','N','Y','38aa87a9-c67a-4351-a18c-52469ea72657','Y','AD_Org_ID','Organizational entity within client','@#AD_Org_ID@','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organization','N',TO_DATE('2013-08-23 18:11:01','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:11:01','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',113,'N') +; + +-- Aug 23, 2013 6:11:04 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210833 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:12:04 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,Description,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('AD_Package_UUID_Map_ID',202600,'UUID Mapping','UUID Mapping between client','UUID Mapping','cf8700a9-65fc-4e1b-afd6-46ed72ca43f1',TO_DATE('2013-08-23 18:11:52','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-08-23 18:11:52','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Aug 23, 2013 6:12:04 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202600 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Aug 23, 2013 6:12:53 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210834,'Y','N','N',0,'N',22,'N',13,'Y','N','Y','bd0090c4-a751-4eb0-8e4c-0bbc50a28df0','N','AD_Package_UUID_Map_ID','UUID Mapping between client','UUID Mapping','N',TO_DATE('2013-08-23 18:12:50','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:12:50','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202600,'N') +; + +-- Aug 23, 2013 6:12:53 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210834 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:13:54 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('AD_Package_UUID_Map_UU',202601,'AD_Package_UUID_Map_UU','AD_Package_UUID_Map_UU','f1a4bfdf-04f0-4aa5-b802-8c3d4cf87341',TO_DATE('2013-08-23 18:13:53','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-08-23 18:13:53','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Aug 23, 2013 6:13:54 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202601 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Aug 23, 2013 6:14:40 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210835,'Y','N','N',0,'N',36,'N',10,'Y','N','Y','52880297-49ce-4540-ade6-e478aa5d3076','N','AD_Package_UUID_Map_UU','AD_Package_UUID_Map_UU','N',TO_DATE('2013-08-23 18:14:33','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:14:33','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202601,'N') +; + +-- Aug 23, 2013 6:14:40 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210835 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:16:23 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210837,'Y','N','N',0,'N',7,'N',16,'N','N','Y','e88a593c-9947-4093-9fa7-9bc3e345f9b5','Y','Created','Date this record was created','The Created field indicates the date that this record was created.','Created','N',TO_DATE('2013-08-23 18:16:22','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:16:22','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',245,'N') +; + +-- Aug 23, 2013 6:16:23 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210837 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:16:57 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,AD_Reference_Value_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210838,110,'Y','N','N',0,'N',22,'N',18,'N','N','Y','f630df83-a88f-42cb-a60f-6756bde50649','Y','CreatedBy','User who created this records','The Created By field indicates the user who created this record.','Created By','N',TO_DATE('2013-08-23 18:16:56','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:16:56','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',246,'N') +; + +-- Aug 23, 2013 6:16:57 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210838 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:17:43 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210839,'Y','N','N',0,'N',1,'N',20,'N','N','Y','7549ea93-ce4e-4ea8-b830-736f7f9827c6','Y','IsActive','The record is active in the system','Y','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','Active','N',TO_DATE('2013-08-23 18:17:42','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:17:42','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',348,'N') +; + +-- Aug 23, 2013 6:17:43 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210839 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:18:23 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210840,'Y','N','N',0,'N',7,'N',16,'N','N','Y','fd68c9c1-769f-4d4d-909e-f6a0d4d3cb7b','Y','Updated','Date this record was updated','The Updated field indicates the date that this record was updated.','Updated','N',TO_DATE('2013-08-23 18:18:22','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:18:22','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',607,'N') +; + +-- Aug 23, 2013 6:18:23 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210840 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:18:52 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,AD_Reference_Value_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210841,110,'Y','N','N',0,'N',22,'N',18,'N','N','Y','637cd467-7d2e-49ee-bffe-998b9f5accad','Y','UpdatedBy','User who updated this records','The Updated By field indicates the user who updated this record.','Updated By','N',TO_DATE('2013-08-23 18:18:51','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:18:51','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',608,'N') +; + +-- Aug 23, 2013 6:18:52 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210841 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:20:17 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,Description,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('Source_UUID',202602,'Source UUID','UUID from the source client','Source UUID','336c16a3-9fea-48c1-a566-86f477383069',TO_DATE('2013-08-23 18:20:16','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-08-23 18:20:16','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Aug 23, 2013 6:20:17 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202602 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Aug 23, 2013 6:22:35 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,Description,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('Target_UUID',202603,'Target UUID','New UUID created by the pack in client','Target UUID','6f1310ba-bbd7-4338-ac10-34fd8f2fe3b7',TO_DATE('2013-08-23 18:22:34','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-08-23 18:22:34','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Aug 23, 2013 6:22:35 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202603 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Aug 23, 2013 6:24:27 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (1,'N',1,200105,210842,'Y','N','Y',1,'N',36,'Y',10,'N','N','Y','b9230f9c-dd53-4a68-905b-f218b0a72eac','N','Source_UUID','UUID from the source client','Source UUID','N',TO_DATE('2013-08-23 18:24:25','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:24:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202602,'N') +; + +-- Aug 23, 2013 6:24:27 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210842 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:25:09 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (2,'N',1,200105,210843,'Y','N','Y',2,'N',36,'Y',10,'N','N','Y','eaaaf750-9b4c-46d1-8bd1-e6bd2d7ae4a6','N','Target_UUID','New UUID created by the pack in client','Target UUID','N',TO_DATE('2013-08-23 18:25:09','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:25:09','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202603,'N') +; + +-- Aug 23, 2013 6:25:10 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210843 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:27:00 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210844,'Y','N','Y',0,'N',22,'Y',19,'N','N','Y','ab0a41c6-0721-4847-abc3-6c485177a043','N','AD_Table_ID','Database Table information','The Database Table provides the information of the table definition','Table','N',TO_DATE('2013-08-23 18:26:58','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-23 18:26:58','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',126,'N') +; + +-- Aug 23, 2013 6:27:00 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210844 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:27:33 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +CREATE TABLE AD_Package_UUID_Map (AD_Client_ID NUMBER(10) NOT NULL, AD_Org_ID NUMBER(10) NOT NULL, AD_Package_UUID_Map_ID NUMBER(10) NOT NULL, AD_Package_UUID_Map_UU NVARCHAR2(36) NOT NULL, AD_Table_ID NUMBER(10) NOT NULL, Created DATE NOT NULL, CreatedBy NUMBER(10) NOT NULL, IsActive CHAR(1) DEFAULT 'Y' CHECK (IsActive IN ('Y','N')) NOT NULL, Source_UUID NVARCHAR2(36) NOT NULL, Target_UUID NVARCHAR2(36) NOT NULL, Updated DATE NOT NULL, UpdatedBy NUMBER(10) NOT NULL, CONSTRAINT AD_Package_UUID_Map_Key PRIMARY KEY (AD_Package_UUID_Map_ID)) +; + +-- Aug 23, 2013 6:27:55 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +UPDATE AD_Column SET IsKey='N',Updated=TO_DATE('2013-08-23 18:27:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210835 +; + +-- Aug 23, 2013 6:27:59 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +CREATE TABLE AD_Package_UUID_Map (AD_Client_ID NUMBER(10) NOT NULL, AD_Org_ID NUMBER(10) NOT NULL, AD_Package_UUID_Map_ID NUMBER(10) NOT NULL, AD_Package_UUID_Map_UU NVARCHAR2(36) NOT NULL, AD_Table_ID NUMBER(10) NOT NULL, Created DATE NOT NULL, CreatedBy NUMBER(10) NOT NULL, IsActive CHAR(1) DEFAULT 'Y' CHECK (IsActive IN ('Y','N')) NOT NULL, Source_UUID NVARCHAR2(36) NOT NULL, Target_UUID NVARCHAR2(36) NOT NULL, Updated DATE NOT NULL, UpdatedBy NUMBER(10) NOT NULL, CONSTRAINT AD_Package_UUID_Map_Key PRIMARY KEY (AD_Package_UUID_Map_ID), CONSTRAINT AD_Package_UUID_Map_UU_idx UNIQUE (AD_Package_UUID_Map_UU)) +; + +ALTER TABLE AD_Package_UUID_Map ADD CONSTRAINT AD_Package_UUID_Map_CTST_Idx UNIQUE ( AD_Client_ID, AD_Table_ID, Source_UUID, Target_UUID ) +; + +SELECT register_migration_script('201308260558_IDEMPIERE-1298.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/201308260558_IDEMPIERE-1298.sql b/migration/i1.0c-release/postgresql/201308260558_IDEMPIERE-1298.sql new file mode 100644 index 0000000000..5301472d0f --- /dev/null +++ b/migration/i1.0c-release/postgresql/201308260558_IDEMPIERE-1298.sql @@ -0,0 +1,204 @@ +-- Aug 23, 2013 6:08:39 PM MYT +-- IDEMPIERE-1297 2Pack: Remove code for the lookup of record and reference using business key +UPDATE AD_SysConfig SET Value='IDEMPIERE-1298 2Pack: Support copying of data from one client to another',Updated=TO_TIMESTAMP('2013-08-23 18:08:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_SysConfig_ID=50003 +; + +-- Aug 23, 2013 6:09:08 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Table (ImportTable,CopyColumnsFromTable,IsSecurityEnabled,AccessLevel,LoadSeq,AD_Table_ID,IsHighVolume,IsView,IsChangeLog,EntityType,ReplicationType,AD_Table_UU,IsCentrallyMaintained,IsDeleteable,TableName,Description,Name,IsActive,AD_Org_ID,CreatedBy,Updated,UpdatedBy,Created,AD_Client_ID) VALUES ('N','N','N','2',0,200105,'Y','N','N','D','L','af0292e5-c824-47c2-b0cd-99ec92b9fc02','Y','Y','AD_Package_UUID_Map','UUID Mapping between client','UUID Mapping','Y',0,100,TO_TIMESTAMP('2013-08-23 18:09:02','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-08-23 18:09:02','YYYY-MM-DD HH24:MI:SS'),0) +; + +-- Aug 23, 2013 6:09:08 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Table_Trl (AD_Language,AD_Table_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Table_Trl_UU ) SELECT l.AD_Language,t.AD_Table_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Table t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Table_ID=200105 AND NOT EXISTS (SELECT * FROM AD_Table_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Table_ID=t.AD_Table_ID) +; + +-- Aug 23, 2013 6:09:09 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Sequence (StartNewYear,CurrentNextSys,IsTableID,CurrentNext,IsAudited,IsAutoSequence,AD_Sequence_ID,Description,Name,AD_Sequence_UU,IncrementNo,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,StartNo,AD_Client_ID) VALUES ('N',200000,'Y',1000000,'N','Y',200153,'Table AD_Package_UUID_Map','AD_Package_UUID_Map','9948e67a-a19d-4dfe-9228-a214e1c93e1e',1,0,TO_TIMESTAMP('2013-08-23 18:09:08','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-08-23 18:09:08','YYYY-MM-DD HH24:MI:SS'),100,'Y',1000000,0) +; + +-- Aug 23, 2013 6:10:25 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,AD_Val_Rule_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210832,'Y','N','N',0,'N',22,'N',19,129,'N','N','Y','add3d617-c9de-4c23-9867-0d6074f70ad3','Y','AD_Client_ID','Client/Tenant for this installation.','@#AD_Client_ID@','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client','N',TO_TIMESTAMP('2013-08-23 18:10:13','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:10:13','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',102,'N') +; + +-- Aug 23, 2013 6:10:25 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210832 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:11:04 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,AD_Val_Rule_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210833,'Y','N','N',0,'N',22,'N',19,104,'N','N','Y','38aa87a9-c67a-4351-a18c-52469ea72657','Y','AD_Org_ID','Organizational entity within client','@#AD_Org_ID@','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organization','N',TO_TIMESTAMP('2013-08-23 18:11:01','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:11:01','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',113,'N') +; + +-- Aug 23, 2013 6:11:04 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210833 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:12:04 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,Description,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('AD_Package_UUID_Map_ID',202600,'UUID Mapping','UUID Mapping between client','UUID Mapping','cf8700a9-65fc-4e1b-afd6-46ed72ca43f1',TO_TIMESTAMP('2013-08-23 18:11:52','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-08-23 18:11:52','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Aug 23, 2013 6:12:04 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202600 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Aug 23, 2013 6:12:53 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210834,'Y','N','N',0,'N',22,'N',13,'Y','N','Y','bd0090c4-a751-4eb0-8e4c-0bbc50a28df0','N','AD_Package_UUID_Map_ID','UUID Mapping between client','UUID Mapping','N',TO_TIMESTAMP('2013-08-23 18:12:50','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:12:50','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202600,'N') +; + +-- Aug 23, 2013 6:12:53 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210834 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:13:54 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('AD_Package_UUID_Map_UU',202601,'AD_Package_UUID_Map_UU','AD_Package_UUID_Map_UU','f1a4bfdf-04f0-4aa5-b802-8c3d4cf87341',TO_TIMESTAMP('2013-08-23 18:13:53','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-08-23 18:13:53','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Aug 23, 2013 6:13:54 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202601 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Aug 23, 2013 6:14:40 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210835,'Y','N','N',0,'N',36,'N',10,'Y','N','Y','52880297-49ce-4540-ade6-e478aa5d3076','N','AD_Package_UUID_Map_UU','AD_Package_UUID_Map_UU','N',TO_TIMESTAMP('2013-08-23 18:14:33','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:14:33','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202601,'N') +; + +-- Aug 23, 2013 6:14:40 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210835 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:16:23 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210837,'Y','N','N',0,'N',7,'N',16,'N','N','Y','e88a593c-9947-4093-9fa7-9bc3e345f9b5','Y','Created','Date this record was created','The Created field indicates the date that this record was created.','Created','N',TO_TIMESTAMP('2013-08-23 18:16:22','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:16:22','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',245,'N') +; + +-- Aug 23, 2013 6:16:23 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210837 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:16:57 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,AD_Reference_Value_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210838,110,'Y','N','N',0,'N',22,'N',18,'N','N','Y','f630df83-a88f-42cb-a60f-6756bde50649','Y','CreatedBy','User who created this records','The Created By field indicates the user who created this record.','Created By','N',TO_TIMESTAMP('2013-08-23 18:16:56','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:16:56','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',246,'N') +; + +-- Aug 23, 2013 6:16:57 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210838 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:17:43 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210839,'Y','N','N',0,'N',1,'N',20,'N','N','Y','7549ea93-ce4e-4ea8-b830-736f7f9827c6','Y','IsActive','The record is active in the system','Y','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','Active','N',TO_TIMESTAMP('2013-08-23 18:17:42','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:17:42','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',348,'N') +; + +-- Aug 23, 2013 6:17:43 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210839 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:18:23 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210840,'Y','N','N',0,'N',7,'N',16,'N','N','Y','fd68c9c1-769f-4d4d-909e-f6a0d4d3cb7b','Y','Updated','Date this record was updated','The Updated field indicates the date that this record was updated.','Updated','N',TO_TIMESTAMP('2013-08-23 18:18:22','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:18:22','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',607,'N') +; + +-- Aug 23, 2013 6:18:23 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210840 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:18:52 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,AD_Reference_Value_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210841,110,'Y','N','N',0,'N',22,'N',18,'N','N','Y','637cd467-7d2e-49ee-bffe-998b9f5accad','Y','UpdatedBy','User who updated this records','The Updated By field indicates the user who updated this record.','Updated By','N',TO_TIMESTAMP('2013-08-23 18:18:51','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:18:51','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',608,'N') +; + +-- Aug 23, 2013 6:18:52 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210841 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:20:17 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,Description,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('Source_UUID',202602,'Source UUID','UUID from the source client','Source UUID','336c16a3-9fea-48c1-a566-86f477383069',TO_TIMESTAMP('2013-08-23 18:20:16','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-08-23 18:20:16','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Aug 23, 2013 6:20:17 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202602 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Aug 23, 2013 6:22:35 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,Description,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('Target_UUID',202603,'Target UUID','New UUID created by the pack in client','Target UUID','6f1310ba-bbd7-4338-ac10-34fd8f2fe3b7',TO_TIMESTAMP('2013-08-23 18:22:34','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-08-23 18:22:34','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Aug 23, 2013 6:22:35 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202603 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Aug 23, 2013 6:24:27 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (1,'N',1,200105,210842,'Y','N','Y',1,'N',36,'Y',10,'N','N','Y','b9230f9c-dd53-4a68-905b-f218b0a72eac','N','Source_UUID','UUID from the source client','Source UUID','N',TO_TIMESTAMP('2013-08-23 18:24:25','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:24:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202602,'N') +; + +-- Aug 23, 2013 6:24:27 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210842 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:25:09 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (2,'N',1,200105,210843,'Y','N','Y',2,'N',36,'Y',10,'N','N','Y','eaaaf750-9b4c-46d1-8bd1-e6bd2d7ae4a6','N','Target_UUID','New UUID created by the pack in client','Target UUID','N',TO_TIMESTAMP('2013-08-23 18:25:09','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:25:09','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202603,'N') +; + +-- Aug 23, 2013 6:25:10 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210843 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:27:00 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,200105,210844,'Y','N','Y',0,'N',22,'Y',19,'N','N','Y','ab0a41c6-0721-4847-abc3-6c485177a043','N','AD_Table_ID','Database Table information','The Database Table provides the information of the table definition','Table','N',TO_TIMESTAMP('2013-08-23 18:26:58','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-23 18:26:58','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',126,'N') +; + +-- Aug 23, 2013 6:27:00 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210844 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 23, 2013 6:27:33 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +CREATE TABLE AD_Package_UUID_Map (AD_Client_ID NUMERIC(10) NOT NULL, AD_Org_ID NUMERIC(10) NOT NULL, AD_Package_UUID_Map_ID NUMERIC(10) NOT NULL, AD_Package_UUID_Map_UU VARCHAR(36) NOT NULL, AD_Table_ID NUMERIC(10) NOT NULL, Created TIMESTAMP NOT NULL, CreatedBy NUMERIC(10) NOT NULL, IsActive CHAR(1) DEFAULT 'Y' CHECK (IsActive IN ('Y','N')) NOT NULL, Source_UUID VARCHAR(36) NOT NULL, Target_UUID VARCHAR(36) NOT NULL, Updated TIMESTAMP NOT NULL, UpdatedBy NUMERIC(10) NOT NULL, CONSTRAINT AD_Package_UUID_Map_Key PRIMARY KEY (AD_Package_UUID_Map_ID)) +; + +-- Aug 23, 2013 6:27:55 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +UPDATE AD_Column SET IsKey='N',Updated=TO_TIMESTAMP('2013-08-23 18:27:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210835 +; + +-- Aug 23, 2013 6:27:59 PM MYT +-- IDEMPIERE-1298 2Pack: Support copying of data from one client to another +CREATE TABLE AD_Package_UUID_Map (AD_Client_ID NUMERIC(10) NOT NULL, AD_Org_ID NUMERIC(10) NOT NULL, AD_Package_UUID_Map_ID NUMERIC(10) NOT NULL, AD_Package_UUID_Map_UU VARCHAR(36) NOT NULL, AD_Table_ID NUMERIC(10) NOT NULL, Created TIMESTAMP NOT NULL, CreatedBy NUMERIC(10) NOT NULL, IsActive CHAR(1) DEFAULT 'Y' CHECK (IsActive IN ('Y','N')) NOT NULL, Source_UUID VARCHAR(36) NOT NULL, Target_UUID VARCHAR(36) NOT NULL, Updated TIMESTAMP NOT NULL, UpdatedBy NUMERIC(10) NOT NULL, CONSTRAINT AD_Package_UUID_Map_Key PRIMARY KEY (AD_Package_UUID_Map_ID), CONSTRAINT AD_Package_UUID_Map_UU_idx UNIQUE (AD_Package_UUID_Map_UU)) +; + +ALTER TABLE AD_Package_UUID_Map ADD CONSTRAINT AD_Package_UUID_Map_CTST_Idx UNIQUE ( AD_Client_ID, AD_Table_ID, Source_UUID, Target_UUID ) +; + +SELECT register_migration_script('201308260558_IDEMPIERE-1298.sql') FROM dual +; + diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_Package_UUID_Map.java b/org.adempiere.base/src/org/compiere/model/I_AD_Package_UUID_Map.java new file mode 100644 index 0000000000..174a6c497a --- /dev/null +++ b/org.adempiere.base/src/org/compiere/model/I_AD_Package_UUID_Map.java @@ -0,0 +1,172 @@ +/****************************************************************************** + * Product: iDempiere ERP & CRM Smart Business Solution * + * Copyright (C) 1999-2012 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.compiere.model; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import org.compiere.util.KeyNamePair; + +/** Generated Interface for AD_Package_UUID_Map + * @author iDempiere (generated) + * @version Release 1.0c + */ +public interface I_AD_Package_UUID_Map +{ + + /** TableName=AD_Package_UUID_Map */ + public static final String Table_Name = "AD_Package_UUID_Map"; + + /** AD_Table_ID=200105 */ + public static final int Table_ID = 200105; + + KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); + + /** AccessLevel = 2 - Client + */ + BigDecimal accessLevel = BigDecimal.valueOf(2); + + /** Load Meta Data */ + + /** Column name AD_Client_ID */ + public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID"; + + /** Get Client. + * Client/Tenant for this installation. + */ + public int getAD_Client_ID(); + + /** Column name AD_Org_ID */ + public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID"; + + /** Set Organization. + * Organizational entity within client + */ + public void setAD_Org_ID (int AD_Org_ID); + + /** Get Organization. + * Organizational entity within client + */ + public int getAD_Org_ID(); + + /** Column name AD_Package_UUID_Map_ID */ + public static final String COLUMNNAME_AD_Package_UUID_Map_ID = "AD_Package_UUID_Map_ID"; + + /** Set UUID Mapping. + * UUID Mapping between client + */ + public void setAD_Package_UUID_Map_ID (int AD_Package_UUID_Map_ID); + + /** Get UUID Mapping. + * UUID Mapping between client + */ + public int getAD_Package_UUID_Map_ID(); + + /** Column name AD_Package_UUID_Map_UU */ + public static final String COLUMNNAME_AD_Package_UUID_Map_UU = "AD_Package_UUID_Map_UU"; + + /** Set AD_Package_UUID_Map_UU */ + public void setAD_Package_UUID_Map_UU (String AD_Package_UUID_Map_UU); + + /** Get AD_Package_UUID_Map_UU */ + public String getAD_Package_UUID_Map_UU(); + + /** Column name AD_Table_ID */ + public static final String COLUMNNAME_AD_Table_ID = "AD_Table_ID"; + + /** Set Table. + * Database Table information + */ + public void setAD_Table_ID (int AD_Table_ID); + + /** Get Table. + * Database Table information + */ + public int getAD_Table_ID(); + + public org.compiere.model.I_AD_Table getAD_Table() throws RuntimeException; + + /** Column name Created */ + public static final String COLUMNNAME_Created = "Created"; + + /** Get Created. + * Date this record was created + */ + public Timestamp getCreated(); + + /** Column name CreatedBy */ + public static final String COLUMNNAME_CreatedBy = "CreatedBy"; + + /** Get Created By. + * User who created this records + */ + public int getCreatedBy(); + + /** Column name IsActive */ + public static final String COLUMNNAME_IsActive = "IsActive"; + + /** Set Active. + * The record is active in the system + */ + public void setIsActive (boolean IsActive); + + /** Get Active. + * The record is active in the system + */ + public boolean isActive(); + + /** Column name Source_UUID */ + public static final String COLUMNNAME_Source_UUID = "Source_UUID"; + + /** Set Source UUID. + * UUID from the source client + */ + public void setSource_UUID (String Source_UUID); + + /** Get Source UUID. + * UUID from the source client + */ + public String getSource_UUID(); + + /** Column name Target_UUID */ + public static final String COLUMNNAME_Target_UUID = "Target_UUID"; + + /** Set Target UUID. + * New UUID created by the pack in client + */ + public void setTarget_UUID (String Target_UUID); + + /** Get Target UUID. + * New UUID created by the pack in client + */ + public String getTarget_UUID(); + + /** Column name Updated */ + public static final String COLUMNNAME_Updated = "Updated"; + + /** Get Updated. + * Date this record was updated + */ + public Timestamp getUpdated(); + + /** Column name UpdatedBy */ + public static final String COLUMNNAME_UpdatedBy = "UpdatedBy"; + + /** Get Updated By. + * User who updated this records + */ + public int getUpdatedBy(); +} diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_Package_UUID_Map.java b/org.adempiere.base/src/org/compiere/model/X_AD_Package_UUID_Map.java new file mode 100644 index 0000000000..f5df9f7c84 --- /dev/null +++ b/org.adempiere.base/src/org/compiere/model/X_AD_Package_UUID_Map.java @@ -0,0 +1,183 @@ +/****************************************************************************** + * Product: iDempiere ERP & CRM Smart Business Solution * + * Copyright (C) 1999-2012 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 * + *****************************************************************************/ +/** Generated Model - DO NOT CHANGE */ +package org.compiere.model; + +import java.sql.ResultSet; +import java.util.Properties; +import org.compiere.util.KeyNamePair; + +/** Generated Model for AD_Package_UUID_Map + * @author iDempiere (generated) + * @version Release 1.0c - $Id$ */ +public class X_AD_Package_UUID_Map extends PO implements I_AD_Package_UUID_Map, I_Persistent +{ + + /** + * + */ + private static final long serialVersionUID = 20130824L; + + /** Standard Constructor */ + public X_AD_Package_UUID_Map (Properties ctx, int AD_Package_UUID_Map_ID, String trxName) + { + super (ctx, AD_Package_UUID_Map_ID, trxName); + /** if (AD_Package_UUID_Map_ID == 0) + { + setAD_Package_UUID_Map_ID (0); + setAD_Package_UUID_Map_UU (null); + setAD_Table_ID (0); + setSource_UUID (null); + setTarget_UUID (null); + } */ + } + + /** Load Constructor */ + public X_AD_Package_UUID_Map (Properties ctx, ResultSet rs, String trxName) + { + super (ctx, rs, trxName); + } + + /** AccessLevel + * @return 2 - Client + */ + protected int get_AccessLevel() + { + return accessLevel.intValue(); + } + + /** Load Meta Data */ + protected POInfo initPO (Properties ctx) + { + POInfo poi = POInfo.getPOInfo (ctx, Table_ID, get_TrxName()); + return poi; + } + + public String toString() + { + StringBuffer sb = new StringBuffer ("X_AD_Package_UUID_Map[") + .append(get_ID()).append("]"); + return sb.toString(); + } + + /** Set UUID Mapping. + @param AD_Package_UUID_Map_ID + UUID Mapping between client + */ + public void setAD_Package_UUID_Map_ID (int AD_Package_UUID_Map_ID) + { + if (AD_Package_UUID_Map_ID < 1) + set_ValueNoCheck (COLUMNNAME_AD_Package_UUID_Map_ID, null); + else + set_ValueNoCheck (COLUMNNAME_AD_Package_UUID_Map_ID, Integer.valueOf(AD_Package_UUID_Map_ID)); + } + + /** Get UUID Mapping. + @return UUID Mapping between client + */ + public int getAD_Package_UUID_Map_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_Package_UUID_Map_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set AD_Package_UUID_Map_UU. + @param AD_Package_UUID_Map_UU AD_Package_UUID_Map_UU */ + public void setAD_Package_UUID_Map_UU (String AD_Package_UUID_Map_UU) + { + set_ValueNoCheck (COLUMNNAME_AD_Package_UUID_Map_UU, AD_Package_UUID_Map_UU); + } + + /** Get AD_Package_UUID_Map_UU. + @return AD_Package_UUID_Map_UU */ + public String getAD_Package_UUID_Map_UU () + { + return (String)get_Value(COLUMNNAME_AD_Package_UUID_Map_UU); + } + + public org.compiere.model.I_AD_Table getAD_Table() throws RuntimeException + { + return (org.compiere.model.I_AD_Table)MTable.get(getCtx(), org.compiere.model.I_AD_Table.Table_Name) + .getPO(getAD_Table_ID(), get_TrxName()); } + + /** Set Table. + @param AD_Table_ID + Database Table information + */ + public void setAD_Table_ID (int AD_Table_ID) + { + if (AD_Table_ID < 1) + set_ValueNoCheck (COLUMNNAME_AD_Table_ID, null); + else + set_ValueNoCheck (COLUMNNAME_AD_Table_ID, Integer.valueOf(AD_Table_ID)); + } + + /** Get Table. + @return Database Table information + */ + public int getAD_Table_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_Table_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Source UUID. + @param Source_UUID + UUID from the source client + */ + public void setSource_UUID (String Source_UUID) + { + set_ValueNoCheck (COLUMNNAME_Source_UUID, Source_UUID); + } + + /** Get Source UUID. + @return UUID from the source client + */ + public String getSource_UUID () + { + return (String)get_Value(COLUMNNAME_Source_UUID); + } + + /** Get Record ID/ColumnName + @return ID/ColumnName pair + */ + public KeyNamePair getKeyNamePair() + { + return new KeyNamePair(get_ID(), getSource_UUID()); + } + + /** Set Target UUID. + @param Target_UUID + New UUID created by the pack in client + */ + public void setTarget_UUID (String Target_UUID) + { + set_ValueNoCheck (COLUMNNAME_Target_UUID, Target_UUID); + } + + /** Get Target UUID. + @return New UUID created by the pack in client + */ + public String getTarget_UUID () + { + return (String)get_Value(COLUMNNAME_Target_UUID); + } +} \ No newline at end of file diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java b/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java index d1d44866f2..0cffa3e603 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java @@ -33,7 +33,6 @@ import org.compiere.model.MColumn; import org.compiere.model.MTable; import org.compiere.model.PO; import org.compiere.model.POInfo; -import org.compiere.model.Query; import org.compiere.model.X_AD_Package_Imp_Backup; import org.compiere.model.X_AD_Package_Imp_Detail; import org.compiere.util.CLogger; @@ -468,26 +467,7 @@ public abstract class AbstractElementHandler implements ElementHandler { * @return T */ protected T findPO(PIPOContext ctx, Element element) { - T po = null; - String tableName = element.getElementValue(); - String uuidColumn = PO.getUUIDColumnName(tableName); - String idColumn = tableName + "_ID"; - if (element.properties.containsKey(uuidColumn)) { - String uuid = element.properties.get(uuidColumn).contents.toString(); - if (uuid != null && uuid.trim().length() == 36) { - Query query = new Query(ctx.ctx, tableName, uuidColumn+"=?", getTrxName(ctx)); - po = query.setParameters(uuid.trim()).firstOnly(); - } - } - - if (po == null && element.properties.containsKey(idColumn)) { - String id = element.properties.get(idColumn).contents.toString(); - if (id != null && id.trim().length() > 0) { - Query query = new Query(ctx.ctx, tableName, idColumn+"=?", getTrxName(ctx)); - po = query.setParameters(Integer.valueOf(id.trim())).firstOnly(); - } - } - return po; + return POFinder.findPO(ctx, element); } protected boolean hasUUIDKey(PIPOContext ctx, Element element) { @@ -526,5 +506,5 @@ public abstract class AbstractElementHandler implements ElementHandler { if (Util.isEmpty((String)po.get_Value(uidColumn)) && (keys == null || keys.length != 1 || po.get_ID() > MTable.MAX_OFFICIAL_ID)) { throw new IllegalStateException("2Pack doesn't work with record without official Id and UUID"); } - } + } } diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/IDFinder.java b/org.adempiere.pipo/src/org/adempiere/pipo2/IDFinder.java index 604b59ec83..615548879d 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/IDFinder.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/IDFinder.java @@ -22,9 +22,9 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import org.adempiere.pipo2.exception.DatabaseAccessException; @@ -46,7 +46,7 @@ public class IDFinder { private static CLogger log = CLogger.getCLogger(IDFinder.class); - private static MapidCache = new HashMap(); + private static MapidCache = new ConcurrentHashMap(); /** * Get ID from column value for a table. @@ -442,7 +442,7 @@ public class IDFinder { return id; } - + public static void clearIDCache() { idCache.clear(); } diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/POFinder.java b/org.adempiere.pipo/src/org/adempiere/pipo2/POFinder.java new file mode 100644 index 0000000000..a1d7e52a3e --- /dev/null +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/POFinder.java @@ -0,0 +1,124 @@ +/****************************************************************************** + * Copyright (C) 2013 Heng Sin Low * + * Copyright (C) 2013 Trek Global * + * 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. * + *****************************************************************************/ +package org.adempiere.pipo2; + +import java.util.Properties; +import java.util.UUID; + +import org.compiere.model.MTable; +import org.compiere.model.PO; +import org.compiere.model.Query; +import org.compiere.model.X_AD_Package_UUID_Map; +import org.compiere.util.DB; +import org.compiere.util.Env; +import org.compiere.util.Util; + +/** + * @author hengsin + * + */ +public class POFinder { + + /** + * + */ + private POFinder() { + } + + /** + * @param ctx + * @param tableName + * @param uuid + * @param trxName + * @return target uuid + */ + public static String getTargetUUID(Properties ctx, String tableName, String uuid, String trxName) { + int AD_Client_ID = Env.getAD_Client_ID(ctx); + if (AD_Client_ID==0) + return uuid; + MTable table = MTable.get(ctx, tableName); + String sql = "SELECT Target_UUID FROM AD_Package_UUID_Map WHERE AD_Client_ID=? AND AD_Table_ID=? AND Source_UUID=?"; + String uid = DB.getSQLValueString(trxName, sql, AD_Client_ID, table.getAD_Table_ID(), uuid); + return Util.isEmpty(uid) ? uuid : uid; + } + + /** + * @param ctx + * @param tableName + * @param uuid + * @param targetUUID + */ + public static void updateUUIDMap(PIPOContext ctx, String tableName, String uuid, String targetUUID) { + X_AD_Package_UUID_Map map = new X_AD_Package_UUID_Map(ctx.ctx, 0, ctx.trx.getTrxName()); + MTable table = MTable.get(ctx.ctx, tableName); + map.setAD_Table_ID(table.getAD_Table_ID()); + map.setSource_UUID(uuid); + map.setTarget_UUID(targetUUID); + map.saveEx(); + } + + /** + * Find po by uuid or id + * @param + * @param ctx + * @param element + * @return T + */ + public static T findPO(PIPOContext ctx, Element element) { + T po = null; + String tableName = element.getElementValue(); + String uuidColumn = PO.getUUIDColumnName(tableName); + String idColumn = tableName + "_ID"; + if (element.properties.containsKey(uuidColumn)) { + String uuid = element.properties.get(uuidColumn).contents.toString(); + if (uuid != null && uuid.trim().length() == 36) { + uuid = uuid.trim(); + String targetUUID = Env.getAD_Client_ID(ctx.ctx) > 0 ? getTargetUUID(ctx.ctx, tableName, uuid, ctx.trx.getTrxName()) : uuid; + Query query = new Query(ctx.ctx, tableName, uuidColumn+"=?", getTrxName(ctx)); + po = query.setParameters(targetUUID).firstOnly(); + if (po != null && po.getAD_Client_ID() > 0) { + if (po.getAD_Client_ID() > 0 && po.getAD_Client_ID() != Env.getAD_Client_ID(ctx.ctx)) { + targetUUID = UUID.randomUUID().toString(); + updateUUIDMap(ctx, tableName, uuid, targetUUID); + return null; + } + } + } + } + + if (po == null && element.properties.containsKey(idColumn)) { + String id = element.properties.get(idColumn).contents.toString(); + if (id != null && id.trim().length() > 0) { + Query query = new Query(ctx.ctx, tableName, idColumn+"=?", getTrxName(ctx)); + po = query.setParameters(Integer.valueOf(id.trim())).firstOnly(); + if (po != null && po.getAD_Client_ID() > 0) { + if (po.getAD_Client_ID() != Env.getAD_Client_ID(ctx.ctx)) { + throw new IllegalStateException("2Pack cannot update/access record that belongs to another client. TableName="+po.get_TableName() + +", Record_ID="+po.get_ID() + ", AD_Client_ID="+po.getAD_Client_ID()+" Context AD_Client_ID="+Env.getAD_Client_ID(ctx.ctx)); + } + } + } + } + return po; + } + + /** + * Get current transaction name + * @param ctx + * @return transaction name + */ + private static String getTrxName(PIPOContext ctx) { + return ctx.trx != null ? ctx.trx.getTrxName() : null; + } +} diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PackOut.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PackOut.java index d403c8bd09..15805780a4 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/PackOut.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PackOut.java @@ -227,6 +227,7 @@ public class PackOut .append("-") .append(client.getName()); atts.addAttribute("", "", "Client", "CDATA", sb.toString()); + atts.addAttribute("", "", "AD_Client_UU", "CDATA", client.getAD_Client_UU()); packoutHandler.startElement("","","idempiere",atts); return packoutHandler; diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PoFiller.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PoFiller.java index 7ba0e53db8..deff5a71bc 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/PoFiller.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PoFiller.java @@ -10,6 +10,7 @@ import org.adempiere.exceptions.AdempiereException; import org.compiere.model.MTable; import org.compiere.model.PO; import org.compiere.model.POInfo; +import org.compiere.util.DB; import org.compiere.util.DisplayType; import org.compiere.util.Env; import org.compiere.util.Util; @@ -230,7 +231,27 @@ public class PoFiller{ String value = e != null ? e.contents.toString() : null; Integer i = !Util.isEmpty(value) ? new Integer(value) : null; if (i != null && i.intValue() > 0 && i.intValue() <= MTable.MAX_OFFICIAL_ID) { - setInteger(qName); + if (po.get_ID() != i.intValue()) { + //make sure id have not been used by other client + int AD_Client_ID = Env.getAD_Client_ID(ctx.ctx); + int tmp = DB.getSQLValue(ctx.trx.getTrxName(), + "SELECT AD_Client_ID FROM " + po.get_TableName() + " WHERE " + + po.get_TableName() + "_ID=?", i.intValue()); + if (tmp <= 0 || tmp == AD_Client_ID) { + setInteger(qName); + } + } + } + continue; + } else if (qName.equals(po.getUUIDColumnName())) { + if (Env.getAD_Client_ID(ctx.ctx) > 0) { + String uuid = e != null ? e.contents.toString() : null; + if (!Util.isEmpty(uuid)) { + uuid = POFinder.getTargetUUID(ctx.ctx, po.get_TableName(), uuid, ctx.trx.getTrxName()); + po.set_ValueNoCheck(qName, uuid); + } + } else { + setString(qName); } continue; } diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/ReferenceUtils.java b/org.adempiere.pipo/src/org/adempiere/pipo2/ReferenceUtils.java index 6fe91a5dc9..c1a28493f8 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/ReferenceUtils.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/ReferenceUtils.java @@ -4,12 +4,16 @@ import java.util.Properties; import org.compiere.model.MTable; import org.compiere.model.PO; +import org.compiere.util.CLogger; import org.compiere.util.DB; import org.compiere.util.Env; import org.xml.sax.helpers.AttributesImpl; public class ReferenceUtils { + @SuppressWarnings("unused") + private final static CLogger log = CLogger.getCLogger(ReferenceUtils.class); + /** * * @param ctx @@ -30,7 +34,10 @@ public class ReferenceUtils { } else if (isUUIDLookup(e)) { - return IDFinder.findIdByColumn(referenceKey, PO.getUUIDColumnName(referenceKey), value.trim(), Env.getAD_Client_ID(ctx), trxName); + String uuid = value.trim(); + String target = Env.getAD_Client_ID(ctx) > 0 ? POFinder.getTargetUUID(ctx, referenceKey, uuid, trxName) : uuid; + int id = IDFinder.findIdByColumn(referenceKey, PO.getUUIDColumnName(referenceKey), target, Env.getAD_Client_ID(ctx), trxName); + return id; } else {