diff --git a/migration/360lts-release/oracle/933_CreditCardsOnline.sql b/migration/360lts-release/oracle/933_CreditCardsOnline.sql new file mode 100644 index 0000000000..671c5e48e3 --- /dev/null +++ b/migration/360lts-release/oracle/933_CreditCardsOnline.sql @@ -0,0 +1,1277 @@ +-- Oct 12, 2012 2:47:39 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200604,'U','N','N','N',0,'N',10,'N',19,'N','N',1385,'N','Y','56df3d84-fc69-4921-b0cf-6868235d0caf','N','Y','N','C_PaymentProcessor_ID','Payment processor for electronic payments','The Payment Processor indicates the processor to be used for electronic payments','Payment Processor','Y',100,TO_DATE('2012-10-12 14:47:37','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-10-12 14:47:37','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:47:39 PM SGT +-- Credit Cards Online +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=200604 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) +; + +-- Oct 12, 2012 2:47:53 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD C_PaymentProcessor_ID NUMBER(10) DEFAULT NULL +; + +-- Oct 12, 2012 2:48:34 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('CustomerPaymentProfileID',200177,'U','Customer Payment Profile ID','Customer Payment Profile ID','53b868ea-9905-4911-97bb-cd10bdfca500',0,TO_DATE('2012-10-12 14:48:33','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-10-12 14:48:33','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 12, 2012 2:48:34 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200177 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) +; + +-- Oct 12, 2012 2:50:09 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200605,'U','N','N','N',0,'N',60,'N',10,'N','N',200177,'N','Y','dbc4a09c-16e9-4c00-b721-48835ab4fed0','N','Y','N','CustomerPaymentProfileID','Customer Payment Profile ID','Y',100,TO_DATE('2012-10-12 14:50:08','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-10-12 14:50:08','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:50:09 PM SGT +-- Credit Cards Online +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=200605 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) +; + +-- Oct 12, 2012 2:50:21 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD CustomerPaymentProfileID NVARCHAR2(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:50:46 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('CustomerProfileID',200178,'U','Customer Profile ID','Customer Profile ID','b2c5fc6c-b123-4100-bd66-d18efad21c84',0,TO_DATE('2012-10-12 14:50:46','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-10-12 14:50:46','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 12, 2012 2:50:46 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200178 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) +; + +-- Oct 12, 2012 2:51:04 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200606,'U','N','N','N',0,'N',60,'N',10,'N','N',200178,'N','Y','7ea69556-9beb-4451-a36b-0bd325807608','N','Y','N','CustomerProfileID','Customer Profile ID','Y',100,TO_DATE('2012-10-12 14:51:04','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-10-12 14:51:04','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:51:05 PM SGT +-- Credit Cards Online +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=200606 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) +; + +-- Oct 12, 2012 2:51:09 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD CustomerProfileID NVARCHAR2(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:51:32 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('CustomerAddressID',200179,'U','Customer Address ID','Customer Address ID','97af8b7f-e95d-4909-a8f8-ce802a36a394',0,TO_DATE('2012-10-12 14:51:31','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-10-12 14:51:31','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 12, 2012 2:51:32 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200179 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) +; + +-- Oct 12, 2012 2:51:48 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200607,'U','N','N','N',0,'N',60,'N',10,'N','N',200179,'N','Y','4877fa01-0d5b-4770-aab2-d5351c506aae','N','Y','N','CustomerAddressID','Customer Address ID','Y',100,TO_DATE('2012-10-12 14:51:47','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-10-12 14:51:47','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:51:48 PM SGT +-- Credit Cards Online +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=200607 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) +; + +-- Oct 12, 2012 2:51:52 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD CustomerAddressID NVARCHAR2(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:52:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('IsVoided',200180,'U','Voided','Voided','a3270fc9-075e-4aea-a816-f3e2a8291e97',0,TO_DATE('2012-10-12 14:52:50','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-10-12 14:52:50','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 12, 2012 2:52:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200180 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) +; + +-- Oct 12, 2012 2:53:10 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,DefaultValue,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200608,'U','Y','N','N',0,'N',1,'N',20,'N','N',200180,'N','Y','4ae42f8f-d6f3-49c8-bfc2-4fa90449d6fd','N','Y','N','IsVoided','N','Voided','Y',100,TO_DATE('2012-10-12 14:53:09','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-10-12 14:53:09','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:53:10 PM SGT +-- Credit Cards Online +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=200608 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) +; + +-- Oct 12, 2012 2:53:14 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD IsVoided CHAR(1) DEFAULT 'N' CHECK (IsVoided IN ('Y','N')) NOT NULL +; + +-- Oct 12, 2012 2:53:42 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('R_VoidMsg',200181,'U','Void Message','Void Message','540fe118-8e5a-4491-82ec-83da12bfb31e',0,TO_DATE('2012-10-12 14:53:41','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-10-12 14:53:41','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 12, 2012 2:53:42 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200181 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) +; + +-- Oct 12, 2012 2:53:52 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200609,'U','N','N','N',0,'N',255,'N',14,'N','N',200181,'N','Y','fd9cb9e1-b792-4746-8403-464c6573a9d8','N','Y','N','R_VoidMsg','Void Message','Y',100,TO_DATE('2012-10-12 14:53:51','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-10-12 14:53:51','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:53:52 PM SGT +-- Credit Cards Online +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=200609 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) +; + +-- Oct 12, 2012 2:53:56 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD R_VoidMsg NVARCHAR2(255) DEFAULT NULL +; + +-- Oct 12, 2012 2:54:27 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,298,200610,'U','N','N','N',0,'N',60,'N',10,'N','N',200177,'N','Y','cf44d48a-8bac-4f6c-9ec7-5855b0553c5d','N','Y','N','CustomerPaymentProfileID','Customer Payment Profile ID','Y',100,TO_DATE('2012-10-12 14:54:26','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-10-12 14:54:26','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:54:27 PM SGT +-- Credit Cards Online +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=200610 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) +; + +-- Oct 12, 2012 2:54:31 PM SGT +-- Credit Cards Online +ALTER TABLE C_BP_BankAccount ADD CustomerPaymentProfileID NVARCHAR2(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:55:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,293,200611,'U','N','N','N',0,'N',60,'N',10,'N','N',200179,'N','Y','7dba45a0-88ec-4ed3-ba15-e0b9e9a7cb39','N','Y','N','CustomerAddressID','Customer Address ID','Y',100,TO_DATE('2012-10-12 14:55:05','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-10-12 14:55:05','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:55:06 PM SGT +-- Credit Cards Online +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=200611 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) +; + +-- Oct 12, 2012 2:55:12 PM SGT +-- Credit Cards Online +ALTER TABLE C_BPartner_Location ADD CustomerAddressID NVARCHAR2(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:56:01 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,291,200612,'U','N','N','N',0,'N',60,'N',10,'N','N',200178,'N','Y','8dc700b3-493a-45f2-a0da-3ccabb91f6ea','N','Y','N','CustomerProfileID','Customer Profile ID','Y',100,TO_DATE('2012-10-12 14:56:00','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-10-12 14:56:00','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:56:01 PM SGT +-- Credit Cards Online +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=200612 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) +; + +-- Oct 12, 2012 2:56:08 PM SGT +-- Credit Cards Online +ALTER TABLE C_BPartner ADD CustomerProfileID NVARCHAR2(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:58:28 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',226,36,'N','N',60608,'Y',200616,'N','D','C_BP_BankAccount_UU','N','Y','f157b7ae-47ea-4c60-a688-7faed3dc4789',100,0,TO_DATE('2012-10-12 14:58:27','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 14:58:27','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 2:58:28 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200616 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 2:58:29 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',226,60,'N','N',200610,'Y',200617,'N','U','Customer Payment Profile ID','N','Y','d363ee5c-ddf1-4113-b56b-5d4d7f117631',100,0,TO_DATE('2012-10-12 14:58:28','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 14:58:28','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 2:58:29 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200617 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 2:58:36 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200616 +; + +-- Oct 12, 2012 2:58:36 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=280,IsDisplayed='Y' WHERE AD_Field_ID=200617 +; + +-- Oct 12, 2012 2:58:40 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200616 +; + +-- Oct 12, 2012 2:58:40 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=280,IsDisplayedGrid='Y' WHERE AD_Field_ID=200617 +; + +-- Oct 12, 2012 2:58:53 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-12 14:58:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200617 +; + +-- Oct 12, 2012 2:59:15 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',222,36,'N','N',60606,'Y',200618,'N','D','C_BPartner_Location_UU','N','Y','d1bdc44f-81cc-4c85-be76-a9c3dbfeae03',100,0,TO_DATE('2012-10-12 14:59:14','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 14:59:14','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 2:59:15 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200618 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 2:59:15 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',222,60,'N','N',200611,'Y',200619,'N','U','Customer Address ID','N','Y','5ca1616f-7ff7-4122-80c1-8163a04bbabc',100,0,TO_DATE('2012-10-12 14:59:15','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 14:59:15','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 2:59:15 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200619 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200618 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=2613 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=10,IsDisplayed='Y' WHERE AD_Field_ID=2181 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=20,IsDisplayed='Y' WHERE AD_Field_ID=2182 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=30,IsDisplayed='Y' WHERE AD_Field_ID=2183 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=2190 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=2189 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=2185 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=2191 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=2192 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=2187 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=2188 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=2196 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=120,IsDisplayed='Y' WHERE AD_Field_ID=2193 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=130,IsDisplayed='Y' WHERE AD_Field_ID=2194 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=2195 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=2186 +; + +-- Oct 12, 2012 2:59:23 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=200619 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200618 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=2613 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=2181 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=2182 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=2183 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=2190 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=2189 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=2185 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=2191 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=2192 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=2187 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=2188 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=2196 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=120,IsDisplayedGrid='Y' WHERE AD_Field_ID=2193 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=130,IsDisplayedGrid='Y' WHERE AD_Field_ID=2194 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=140,IsDisplayedGrid='Y' WHERE AD_Field_ID=2195 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=150,IsDisplayedGrid='Y' WHERE AD_Field_ID=2186 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=160,IsDisplayedGrid='Y' WHERE AD_Field_ID=200619 +; + +-- Oct 12, 2012 2:59:45 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-12 14:59:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200619 +; + +-- Oct 12, 2012 3:00:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',220,36,'N','N',60605,'Y',200620,'N','D','C_BPartner_UU','N','Y','bf715801-124c-4d74-9d33-76716e763e2f',100,0,TO_DATE('2012-10-12 15:00:06','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:00:06','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:00:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200620 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:00:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',220,60,'N','N',200612,'Y',200621,'N','U','Customer Profile ID','N','Y','7871a05d-2257-43bc-bace-3d75f6f6100e',100,0,TO_DATE('2012-10-12 15:00:07','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:00:07','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:00:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200621 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:00:08 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',220,1,'N','N',58596,'Y',200622,'N','D','Indicate role of this Business partner as Manufacturer','Is Manufacturer','N','Y','17515cc8-f7d9-4364-bce0-6f28c00a4b8d',100,0,TO_DATE('2012-10-12 15:00:07','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:00:07','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:00:08 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200622 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:00:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200620 +; + +-- Oct 12, 2012 3:00:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200622 +; + +-- Oct 12, 2012 3:00:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=340,IsDisplayed='Y' WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:00:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200620 +; + +-- Oct 12, 2012 3:00:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200622 +; + +-- Oct 12, 2012 3:00:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=340,IsDisplayedGrid='Y' WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:00:41 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-12 15:00:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:01:02 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,36,'N','N',60721,'Y',200623,'N','D','C_Payment_UU','N','Y','60b37d1c-7202-4946-b378-739ebb09a12d',100,0,TO_DATE('2012-10-12 15:01:02','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:01:02','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:02 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200623 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:03 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,60,'N','N',200607,'Y',200624,'N','U','Customer Address ID','N','Y','331957e9-eb69-42e1-aaaf-b6bc50df09a4',100,0,TO_DATE('2012-10-12 15:01:03','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:01:03','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:03 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200624 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:04 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,60,'N','N',200605,'Y',200625,'N','U','Customer Payment Profile ID','N','Y','de578287-46c7-4500-8a1e-fb2944c7c972',100,0,TO_DATE('2012-10-12 15:01:03','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:01:03','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:04 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200625 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:05 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,60,'N','N',200606,'Y',200626,'N','U','Customer Profile ID','N','Y','9196e838-5fae-4e46-ace3-378dcb42bc24',100,0,TO_DATE('2012-10-12 15:01:04','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:01:04','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:05 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200626 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,10,'N','N',200604,'Y',200627,'N','The Payment Processor indicates the processor to be used for electronic payments','U','Payment processor for electronic payments','Payment Processor','N','Y','41f24066-99f9-4ba0-ac5a-b224666a90cb',100,0,TO_DATE('2012-10-12 15:01:05','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:01:05','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200627 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,20,'N','N',59039,'Y',200628,'N','The ProcessedOn Date+Time save the exact moment (nanoseconds precision if allowed by the DB) when a document has been processed.','D','The date+time (expressed in decimal format) when the document has been processed','Processed On','N','Y','95c7ee21-c5ac-4ea9-a073-c6baba2be408',100,0,TO_DATE('2012-10-12 15:01:06','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:01:06','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200628 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,22,'N','N',55309,'Y',200629,'N','D','ID of document reversal','Reversal ID','N','Y','fcd3cf89-1bc2-474b-bbfe-13fc2fad4b1c',100,0,TO_DATE('2012-10-12 15:01:07','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:01:07','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200629 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:08 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,255,'N','N',200609,'Y',200630,'N','U','Void Message','N','Y','b26bb847-00cf-4154-9978-71a99704697c',100,0,TO_DATE('2012-10-12 15:01:07','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:01:07','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:08 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200630 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:09 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,1,'N','N',200608,'Y',200631,'N','U','Voided','N','Y','aa300b96-d887-451f-88f5-711949e592ca',100,0,TO_DATE('2012-10-12 15:01:08','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:01:08','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:09 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200631 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200623 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200628 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200629 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=680,IsDisplayed='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=690,IsDisplayed='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=700,IsDisplayed='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=710,IsDisplayed='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=720,IsDisplayed='Y' WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=730,IsDisplayed='Y' WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:02:19 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200623 +; + +-- Oct 12, 2012 3:02:19 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200628 +; + +-- Oct 12, 2012 3:02:19 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200629 +; + +-- Oct 12, 2012 3:02:19 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=670,IsDisplayedGrid='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:02:19 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=680,IsDisplayedGrid='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:02:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=690,IsDisplayedGrid='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:02:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=700,IsDisplayedGrid='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:02:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=710,IsDisplayedGrid='Y' WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:02:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=720,IsDisplayedGrid='Y' WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:02:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=680,IsDisplayed='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:02:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=690,IsDisplayed='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:02:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=700,IsDisplayed='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:02:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=710,IsDisplayed='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:03:12 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2012-10-12 15:03:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:03:17 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2012-10-12 15:03:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:03:27 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsSameLine='Y', IsReadOnly='Y',Updated=TO_DATE('2012-10-12 15:03:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:03:35 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2012-10-12 15:03:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:03:53 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-12 15:03:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:03:55 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-12 15:03:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:03:56 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-12 15:03:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:03:58 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-12 15:03:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:04:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-12 15:04:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:04:10 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-12 15:04:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:04:13 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET XPosition=2,Updated=TO_DATE('2012-10-12 15:04:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:04:17 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2012-10-12 15:04:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:04:51 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2012-10-12 15:04:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:06:54 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2012-10-12 15:06:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200617 +; + +-- Oct 12, 2012 3:07:01 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2012-10-12 15:07:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200619 +; + +-- Oct 12, 2012 3:34:34 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:34:40 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:34:47 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,36,'N','N',60605,'Y',200632,'N','D','C_BPartner_UU','N','Y','6d075331-9d18-4ab5-b87d-70a24ab357d2',100,0,TO_DATE('2012-10-12 15:34:46','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:34:46','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:47 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200632 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:34:48 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,60,'N','N',200612,'Y',200633,'N','U','Customer Profile ID','N','Y','ecccb306-359f-4744-adf1-23b119e7ac81',100,0,TO_DATE('2012-10-12 15:34:48','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:34:48','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:48 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200633 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:34:49 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,1,'N','N',58596,'Y',200634,'N','D','Indicate role of this Business partner as Manufacturer','Is Manufacturer','N','Y','2edc19d5-ff0b-4393-ab9b-07b1a23fa5cd',100,0,TO_DATE('2012-10-12 15:34:48','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:34:48','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:49 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200634 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:34:50 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,10,'N','N',58113,'Y',200635,'N','D','Logo','N','Y','10112b66-395c-49ab-b614-be4dfbeddaa8',100,0,TO_DATE('2012-10-12 15:34:49','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:34:49','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:50 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200635 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:34:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,1,'N','N',58381,'Y',200636,'N','If a business partner is exempt from tax on purchases, the exempt tax rate is used. For this, you need to set up a tax rate with a 0% rate and indicate that this is your tax exempt rate. This is required for tax reporting, so that you can track tax exempt transactions.','D','Business partner is exempt from tax on purchases','PO Tax exempt','N','Y','64ded006-c7b5-49be-8497-dba5c5a03db4',100,0,TO_DATE('2012-10-12 15:34:50','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:34:50','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200636 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:34:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,10,'N','N',54463,'Y',200637,'N','EE04','Tax Group','N','Y','1d4a8b40-8391-4db4-806c-b8cdbf26e2ae',100,0,TO_DATE('2012-10-12 15:34:51','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-10-12 15:34:51','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200637 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200632 +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200634 +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200635 +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200636 +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200637 +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=270,IsDisplayed='Y' WHERE AD_Field_ID=200633 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200632 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200634 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200635 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200636 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200637 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=270,IsDisplayedGrid='Y' WHERE AD_Field_ID=200633 +; + +-- Oct 12, 2012 3:35:30 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=26, IsReadOnly='Y', ColumnSpan=2,Updated=TO_DATE('2012-10-12 15:35:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200633 +; + +-- Oct 12, 2012 3:36:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=20,Updated=TO_DATE('2012-10-12 15:36:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200617 +; + +-- Oct 12, 2012 3:36:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=26,Updated=TO_DATE('2012-10-12 15:36:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200619 +; + +-- Oct 12, 2012 3:37:06 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=580,IsDisplayed='Y' WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=590,IsDisplayed='Y' WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=600,IsDisplayed='Y' WHERE AD_Field_ID=4051 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=610,IsDisplayed='Y' WHERE AD_Field_ID=4047 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=620,IsDisplayed='Y' WHERE AD_Field_ID=4049 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=630,IsDisplayed='Y' WHERE AD_Field_ID=4048 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=640,IsDisplayed='Y' WHERE AD_Field_ID=4362 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=650,IsDisplayed='Y' WHERE AD_Field_ID=4361 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=660,IsDisplayed='Y' WHERE AD_Field_ID=6552 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=670,IsDisplayed='Y' WHERE AD_Field_ID=4044 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=680,IsDisplayed='Y' WHERE AD_Field_ID=4266 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=690,IsDisplayed='Y' WHERE AD_Field_ID=52052 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=700,IsDisplayed='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=710,IsDisplayed='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=720,IsDisplayed='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=730,IsDisplayed='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=570,IsDisplayedGrid='Y' WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=580,IsDisplayedGrid='Y' WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=590,IsDisplayedGrid='Y' WHERE AD_Field_ID=4051 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=600,IsDisplayedGrid='Y' WHERE AD_Field_ID=4047 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=610,IsDisplayedGrid='Y' WHERE AD_Field_ID=4049 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=620,IsDisplayedGrid='Y' WHERE AD_Field_ID=4048 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=630,IsDisplayedGrid='Y' WHERE AD_Field_ID=4362 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=640,IsDisplayedGrid='Y' WHERE AD_Field_ID=4361 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=650,IsDisplayedGrid='Y' WHERE AD_Field_ID=6552 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=660,IsDisplayedGrid='Y' WHERE AD_Field_ID=4044 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=670,IsDisplayedGrid='Y' WHERE AD_Field_ID=4266 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=680,IsDisplayedGrid='Y' WHERE AD_Field_ID=52052 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=690,IsDisplayedGrid='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=700,IsDisplayedGrid='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=710,IsDisplayedGrid='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=720,IsDisplayedGrid='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=640,IsDisplayed='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=650,IsDisplayed='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=660,IsDisplayed='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=670,IsDisplayed='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=680,IsDisplayed='Y' WHERE AD_Field_ID=4362 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=690,IsDisplayed='Y' WHERE AD_Field_ID=4361 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=700,IsDisplayed='Y' WHERE AD_Field_ID=6552 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=710,IsDisplayed='Y' WHERE AD_Field_ID=4044 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=720,IsDisplayed='Y' WHERE AD_Field_ID=4266 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=730,IsDisplayed='Y' WHERE AD_Field_ID=52052 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=630,IsDisplayedGrid='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=640,IsDisplayedGrid='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=650,IsDisplayedGrid='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=660,IsDisplayedGrid='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=670,IsDisplayedGrid='Y' WHERE AD_Field_ID=4362 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=680,IsDisplayedGrid='Y' WHERE AD_Field_ID=4361 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=690,IsDisplayedGrid='Y' WHERE AD_Field_ID=6552 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=700,IsDisplayedGrid='Y' WHERE AD_Field_ID=4044 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=710,IsDisplayedGrid='Y' WHERE AD_Field_ID=4266 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=720,IsDisplayedGrid='Y' WHERE AD_Field_ID=52052 +; + +-- Oct 12, 2012 3:38:17 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@IsOnline@=Y',Updated=TO_DATE('2012-10-12 15:38:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:39:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@IsOnline@=Y', NumLines=3,Updated=TO_DATE('2012-10-12 15:39:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:39:08 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@IsOnline@=Y',Updated=TO_DATE('2012-10-12 15:39:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:39:09 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@IsOnline@=Y',Updated=TO_DATE('2012-10-12 15:39:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:39:12 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@IsOnline@=Y',Updated=TO_DATE('2012-10-12 15:39:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:39:23 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=20,Updated=TO_DATE('2012-10-12 15:39:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:39:25 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=20,Updated=TO_DATE('2012-10-12 15:39:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:39:27 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=20,Updated=TO_DATE('2012-10-12 15:39:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:41:35 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2012-10-12 15:41:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:41:36 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsSameLine='Y',Updated=TO_DATE('2012-10-12 15:41:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:53:32 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET XPosition=5,Updated=TO_DATE('2012-10-12 15:53:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:53:49 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=5,Updated=TO_DATE('2012-10-12 15:53:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:54:15 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2012-10-12 15:54:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 5:25:25 PM SGT +-- Credit Cards Online +INSERT INTO AD_Reference (AD_Reference_ID,Name,EntityType,AD_Reference_UU,IsOrderByValue,Description,ValidationType,AD_Client_ID,AD_Org_ID,CreatedBy,Updated,IsActive,Created,UpdatedBy) VALUES (200012,'Payment','U','8959c366-e7f0-4893-8d23-edb1abe2db3f','N','Payment Rule list and Process Payment button','D',0,0,100,TO_DATE('2012-10-12 17:25:23','YYYY-MM-DD HH24:MI:SS'),'Y',TO_DATE('2012-10-12 17:25:23','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Oct 12, 2012 5:25:25 PM SGT +-- Credit Cards Online +INSERT INTO AD_Reference_Trl (AD_Language,AD_Reference_ID, Help,Name,Description, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Reference_Trl_UU ) SELECT l.AD_Language,t.AD_Reference_ID, t.Help,t.Name,t.Description, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Reference t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Reference_ID=200012 AND NOT EXISTS (SELECT * FROM AD_Reference_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Reference_ID=t.AD_Reference_ID) +; + +-- Oct 12, 2012 5:36:49 PM SGT +-- Credit Cards Online +UPDATE AD_Column SET AD_Reference_Value_ID=NULL, AD_Reference_ID=200012,Updated=TO_DATE('2012-10-12 17:36:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=4019 +; + +-- Oct 12, 2012 5:38:41 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@AD_Reference_ID@=17 | @AD_Reference_ID@=18 | @AD_Reference_ID@=19 | @AD_Reference_ID@=28 | @AD_Reference_ID@=30 | @AD_Reference_ID@=200012',Updated=TO_DATE('2012-10-12 17:38:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54401 +; + +-- Oct 12, 2012 5:40:41 PM SGT +-- Credit Cards Online +UPDATE AD_Column SET AD_Reference_Value_ID=NULL, AD_Reference_ID=200012,Updated=TO_DATE('2012-10-12 17:40:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=4020 +; + +-- Oct 12, 2012 6:45:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@AD_Reference_ID@=17 | @AD_Reference_ID@=18 | @AD_Reference_ID@=19 | @AD_Reference_ID@=28 | @AD_Reference_ID@=30 | @AD_Reference_ID@=200012',Updated=TO_DATE('2012-10-12 18:45:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=172 +; + +SELECT register_migration_script('933_CreditCardsOnline.sql') FROM dual +; \ No newline at end of file diff --git a/migration/360lts-release/oracle/934_IDEMPIERE-389.sql b/migration/360lts-release/oracle/934_IDEMPIERE-389.sql new file mode 100644 index 0000000000..4bbf7d9174 --- /dev/null +++ b/migration/360lts-release/oracle/934_IDEMPIERE-389.sql @@ -0,0 +1,27 @@ +-- Oct 15, 2012 6:21:27 PM IST +-- IDEMPIERE-389 Adding server name on AD_Session +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('ServerName',200182,'Load balancing instance name','U','Server Name','Server Name','7bd7b80a-d97d-4643-8d69-e2856a2a144a',0,TO_DATE('2012-10-15 18:21:26','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-10-15 18:21:26','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 15, 2012 6:21:27 PM IST +-- IDEMPIERE-389 Adding server name on AD_Session +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200182 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) +; + +-- Oct 15, 2012 6:22:04 PM IST +-- IDEMPIERE-389 Adding server name on AD_Session +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,566,200613,'U','N','N','N',0,'N',40,'Y',14,'N','N',200182,'N','Y','14d3c02e-9f80-40cb-8507-e040fbaf3ef6','N','Y','N','ServerName','Load balancing instance name','Server Name','Y',100,TO_DATE('2012-10-15 18:22:03','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-10-15 18:22:03','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 15, 2012 6:22:04 PM IST +-- IDEMPIERE-389 Adding server name on AD_Session +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=200613 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) +; + +-- Oct 15, 2012 6:22:45 PM IST +-- IDEMPIERE-389 Adding server name on AD_Session +ALTER TABLE AD_Session ADD ServerName NVARCHAR2(40) DEFAULT NULL +; + +SELECT register_migration_script('934_IDEMPIERE-389.sql') FROM dual +; \ No newline at end of file diff --git a/migration/360lts-release/postgresql/933_CreditCardsOnline.sql b/migration/360lts-release/postgresql/933_CreditCardsOnline.sql new file mode 100644 index 0000000000..f3c75247ee --- /dev/null +++ b/migration/360lts-release/postgresql/933_CreditCardsOnline.sql @@ -0,0 +1,1277 @@ +-- Oct 12, 2012 2:47:39 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200604,'U','N','N','N',0,'N',10,'N',19,'N','N',1385,'N','Y','56df3d84-fc69-4921-b0cf-6868235d0caf','N','Y','N','C_PaymentProcessor_ID','Payment processor for electronic payments','The Payment Processor indicates the processor to be used for electronic payments','Payment Processor','Y',100,TO_TIMESTAMP('2012-10-12 14:47:37','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-10-12 14:47:37','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:47:39 PM SGT +-- Credit Cards Online +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=200604 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) +; + +-- Oct 12, 2012 2:47:53 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD COLUMN C_PaymentProcessor_ID NUMERIC(10) DEFAULT NULL +; + +-- Oct 12, 2012 2:48:34 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('CustomerPaymentProfileID',200177,'U','Customer Payment Profile ID','Customer Payment Profile ID','53b868ea-9905-4911-97bb-cd10bdfca500',0,TO_TIMESTAMP('2012-10-12 14:48:33','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-10-12 14:48:33','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 12, 2012 2:48:34 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200177 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) +; + +-- Oct 12, 2012 2:50:09 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200605,'U','N','N','N',0,'N',60,'N',10,'N','N',200177,'N','Y','dbc4a09c-16e9-4c00-b721-48835ab4fed0','N','Y','N','CustomerPaymentProfileID','Customer Payment Profile ID','Y',100,TO_TIMESTAMP('2012-10-12 14:50:08','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-10-12 14:50:08','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:50:09 PM SGT +-- Credit Cards Online +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=200605 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) +; + +-- Oct 12, 2012 2:50:21 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD COLUMN CustomerPaymentProfileID VARCHAR(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:50:46 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('CustomerProfileID',200178,'U','Customer Profile ID','Customer Profile ID','b2c5fc6c-b123-4100-bd66-d18efad21c84',0,TO_TIMESTAMP('2012-10-12 14:50:46','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-10-12 14:50:46','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 12, 2012 2:50:46 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200178 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) +; + +-- Oct 12, 2012 2:51:04 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200606,'U','N','N','N',0,'N',60,'N',10,'N','N',200178,'N','Y','7ea69556-9beb-4451-a36b-0bd325807608','N','Y','N','CustomerProfileID','Customer Profile ID','Y',100,TO_TIMESTAMP('2012-10-12 14:51:04','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-10-12 14:51:04','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:51:05 PM SGT +-- Credit Cards Online +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=200606 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) +; + +-- Oct 12, 2012 2:51:09 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD COLUMN CustomerProfileID VARCHAR(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:51:32 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('CustomerAddressID',200179,'U','Customer Address ID','Customer Address ID','97af8b7f-e95d-4909-a8f8-ce802a36a394',0,TO_TIMESTAMP('2012-10-12 14:51:31','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-10-12 14:51:31','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 12, 2012 2:51:32 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200179 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) +; + +-- Oct 12, 2012 2:51:48 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200607,'U','N','N','N',0,'N',60,'N',10,'N','N',200179,'N','Y','4877fa01-0d5b-4770-aab2-d5351c506aae','N','Y','N','CustomerAddressID','Customer Address ID','Y',100,TO_TIMESTAMP('2012-10-12 14:51:47','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-10-12 14:51:47','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:51:48 PM SGT +-- Credit Cards Online +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=200607 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) +; + +-- Oct 12, 2012 2:51:52 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD COLUMN CustomerAddressID VARCHAR(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:52:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('IsVoided',200180,'U','Voided','Voided','a3270fc9-075e-4aea-a816-f3e2a8291e97',0,TO_TIMESTAMP('2012-10-12 14:52:50','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-10-12 14:52:50','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 12, 2012 2:52:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200180 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) +; + +-- Oct 12, 2012 2:53:10 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,DefaultValue,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200608,'U','Y','N','N',0,'N',1,'N',20,'N','N',200180,'N','Y','4ae42f8f-d6f3-49c8-bfc2-4fa90449d6fd','N','Y','N','IsVoided','N','Voided','Y',100,TO_TIMESTAMP('2012-10-12 14:53:09','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-10-12 14:53:09','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:53:10 PM SGT +-- Credit Cards Online +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=200608 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) +; + +-- Oct 12, 2012 2:53:14 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD COLUMN IsVoided CHAR(1) DEFAULT 'N' CHECK (IsVoided IN ('Y','N')) NOT NULL +; + +-- Oct 12, 2012 2:53:42 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('R_VoidMsg',200181,'U','Void Message','Void Message','540fe118-8e5a-4491-82ec-83da12bfb31e',0,TO_TIMESTAMP('2012-10-12 14:53:41','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-10-12 14:53:41','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 12, 2012 2:53:42 PM SGT +-- Credit Cards Online +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200181 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) +; + +-- Oct 12, 2012 2:53:52 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,335,200609,'U','N','N','N',0,'N',255,'N',14,'N','N',200181,'N','Y','fd9cb9e1-b792-4746-8403-464c6573a9d8','N','Y','N','R_VoidMsg','Void Message','Y',100,TO_TIMESTAMP('2012-10-12 14:53:51','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-10-12 14:53:51','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:53:52 PM SGT +-- Credit Cards Online +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=200609 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) +; + +-- Oct 12, 2012 2:53:56 PM SGT +-- Credit Cards Online +ALTER TABLE C_Payment ADD COLUMN R_VoidMsg VARCHAR(255) DEFAULT NULL +; + +-- Oct 12, 2012 2:54:27 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,298,200610,'U','N','N','N',0,'N',60,'N',10,'N','N',200177,'N','Y','cf44d48a-8bac-4f6c-9ec7-5855b0553c5d','N','Y','N','CustomerPaymentProfileID','Customer Payment Profile ID','Y',100,TO_TIMESTAMP('2012-10-12 14:54:26','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-10-12 14:54:26','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:54:27 PM SGT +-- Credit Cards Online +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=200610 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) +; + +-- Oct 12, 2012 2:54:31 PM SGT +-- Credit Cards Online +ALTER TABLE C_BP_BankAccount ADD COLUMN CustomerPaymentProfileID VARCHAR(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:55:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,293,200611,'U','N','N','N',0,'N',60,'N',10,'N','N',200179,'N','Y','7dba45a0-88ec-4ed3-ba15-e0b9e9a7cb39','N','Y','N','CustomerAddressID','Customer Address ID','Y',100,TO_TIMESTAMP('2012-10-12 14:55:05','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-10-12 14:55:05','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:55:06 PM SGT +-- Credit Cards Online +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=200611 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) +; + +-- Oct 12, 2012 2:55:12 PM SGT +-- Credit Cards Online +ALTER TABLE C_BPartner_Location ADD COLUMN CustomerAddressID VARCHAR(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:56:01 PM SGT +-- Credit Cards Online +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,291,200612,'U','N','N','N',0,'N',60,'N',10,'N','N',200178,'N','Y','8dc700b3-493a-45f2-a0da-3ccabb91f6ea','N','Y','N','CustomerProfileID','Customer Profile ID','Y',100,TO_TIMESTAMP('2012-10-12 14:56:00','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-10-12 14:56:00','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 12, 2012 2:56:01 PM SGT +-- Credit Cards Online +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=200612 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) +; + +-- Oct 12, 2012 2:56:08 PM SGT +-- Credit Cards Online +ALTER TABLE C_BPartner ADD COLUMN CustomerProfileID VARCHAR(60) DEFAULT NULL +; + +-- Oct 12, 2012 2:58:28 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',226,36,'N','N',60608,'Y',200616,'N','D','C_BP_BankAccount_UU','N','Y','f157b7ae-47ea-4c60-a688-7faed3dc4789',100,0,TO_TIMESTAMP('2012-10-12 14:58:27','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 14:58:27','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 2:58:28 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200616 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 2:58:29 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',226,60,'N','N',200610,'Y',200617,'N','U','Customer Payment Profile ID','N','Y','d363ee5c-ddf1-4113-b56b-5d4d7f117631',100,0,TO_TIMESTAMP('2012-10-12 14:58:28','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 14:58:28','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 2:58:29 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200617 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 2:58:36 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200616 +; + +-- Oct 12, 2012 2:58:36 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=280,IsDisplayed='Y' WHERE AD_Field_ID=200617 +; + +-- Oct 12, 2012 2:58:40 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200616 +; + +-- Oct 12, 2012 2:58:40 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=280,IsDisplayedGrid='Y' WHERE AD_Field_ID=200617 +; + +-- Oct 12, 2012 2:58:53 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-12 14:58:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200617 +; + +-- Oct 12, 2012 2:59:15 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',222,36,'N','N',60606,'Y',200618,'N','D','C_BPartner_Location_UU','N','Y','d1bdc44f-81cc-4c85-be76-a9c3dbfeae03',100,0,TO_TIMESTAMP('2012-10-12 14:59:14','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 14:59:14','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 2:59:15 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200618 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 2:59:15 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',222,60,'N','N',200611,'Y',200619,'N','U','Customer Address ID','N','Y','5ca1616f-7ff7-4122-80c1-8163a04bbabc',100,0,TO_TIMESTAMP('2012-10-12 14:59:15','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 14:59:15','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 2:59:15 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200619 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200618 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=2613 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=10,IsDisplayed='Y' WHERE AD_Field_ID=2181 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=20,IsDisplayed='Y' WHERE AD_Field_ID=2182 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=30,IsDisplayed='Y' WHERE AD_Field_ID=2183 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=2190 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=2189 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=2185 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=2191 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=2192 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=2187 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=2188 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=2196 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=120,IsDisplayed='Y' WHERE AD_Field_ID=2193 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=130,IsDisplayed='Y' WHERE AD_Field_ID=2194 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=2195 +; + +-- Oct 12, 2012 2:59:22 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=2186 +; + +-- Oct 12, 2012 2:59:23 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=200619 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200618 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=2613 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=2181 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=2182 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=2183 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=2190 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=2189 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=2185 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=2191 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=2192 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=2187 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=2188 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=2196 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=120,IsDisplayedGrid='Y' WHERE AD_Field_ID=2193 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=130,IsDisplayedGrid='Y' WHERE AD_Field_ID=2194 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=140,IsDisplayedGrid='Y' WHERE AD_Field_ID=2195 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=150,IsDisplayedGrid='Y' WHERE AD_Field_ID=2186 +; + +-- Oct 12, 2012 2:59:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=160,IsDisplayedGrid='Y' WHERE AD_Field_ID=200619 +; + +-- Oct 12, 2012 2:59:45 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-12 14:59:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200619 +; + +-- Oct 12, 2012 3:00:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',220,36,'N','N',60605,'Y',200620,'N','D','C_BPartner_UU','N','Y','bf715801-124c-4d74-9d33-76716e763e2f',100,0,TO_TIMESTAMP('2012-10-12 15:00:06','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:00:06','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:00:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200620 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:00:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',220,60,'N','N',200612,'Y',200621,'N','U','Customer Profile ID','N','Y','7871a05d-2257-43bc-bace-3d75f6f6100e',100,0,TO_TIMESTAMP('2012-10-12 15:00:07','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:00:07','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:00:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200621 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:00:08 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',220,1,'N','N',58596,'Y',200622,'N','D','Indicate role of this Business partner as Manufacturer','Is Manufacturer','N','Y','17515cc8-f7d9-4364-bce0-6f28c00a4b8d',100,0,TO_TIMESTAMP('2012-10-12 15:00:07','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:00:07','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:00:08 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200622 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:00:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200620 +; + +-- Oct 12, 2012 3:00:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200622 +; + +-- Oct 12, 2012 3:00:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=340,IsDisplayed='Y' WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:00:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200620 +; + +-- Oct 12, 2012 3:00:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200622 +; + +-- Oct 12, 2012 3:00:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=340,IsDisplayedGrid='Y' WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:00:41 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-12 15:00:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:01:02 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,36,'N','N',60721,'Y',200623,'N','D','C_Payment_UU','N','Y','60b37d1c-7202-4946-b378-739ebb09a12d',100,0,TO_TIMESTAMP('2012-10-12 15:01:02','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:01:02','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:02 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200623 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:03 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,60,'N','N',200607,'Y',200624,'N','U','Customer Address ID','N','Y','331957e9-eb69-42e1-aaaf-b6bc50df09a4',100,0,TO_TIMESTAMP('2012-10-12 15:01:03','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:01:03','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:03 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200624 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:04 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,60,'N','N',200605,'Y',200625,'N','U','Customer Payment Profile ID','N','Y','de578287-46c7-4500-8a1e-fb2944c7c972',100,0,TO_TIMESTAMP('2012-10-12 15:01:03','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:01:03','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:04 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200625 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:05 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,60,'N','N',200606,'Y',200626,'N','U','Customer Profile ID','N','Y','9196e838-5fae-4e46-ace3-378dcb42bc24',100,0,TO_TIMESTAMP('2012-10-12 15:01:04','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:01:04','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:05 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200626 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,10,'N','N',200604,'Y',200627,'N','The Payment Processor indicates the processor to be used for electronic payments','U','Payment processor for electronic payments','Payment Processor','N','Y','41f24066-99f9-4ba0-ac5a-b224666a90cb',100,0,TO_TIMESTAMP('2012-10-12 15:01:05','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:01:05','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200627 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:06 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,20,'N','N',59039,'Y',200628,'N','The ProcessedOn Date+Time save the exact moment (nanoseconds precision if allowed by the DB) when a document has been processed.','D','The date+time (expressed in decimal format) when the document has been processed','Processed On','N','Y','95c7ee21-c5ac-4ea9-a073-c6baba2be408',100,0,TO_TIMESTAMP('2012-10-12 15:01:06','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:01:06','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200628 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,22,'N','N',55309,'Y',200629,'N','D','ID of document reversal','Reversal ID','N','Y','fcd3cf89-1bc2-474b-bbfe-13fc2fad4b1c',100,0,TO_TIMESTAMP('2012-10-12 15:01:07','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:01:07','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:07 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200629 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:08 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,255,'N','N',200609,'Y',200630,'N','U','Void Message','N','Y','b26bb847-00cf-4154-9978-71a99704697c',100,0,TO_TIMESTAMP('2012-10-12 15:01:07','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:01:07','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:08 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200630 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:01:09 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',330,1,'N','N',200608,'Y',200631,'N','U','Voided','N','Y','aa300b96-d887-451f-88f5-711949e592ca',100,0,TO_TIMESTAMP('2012-10-12 15:01:08','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:01:08','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:01:09 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200631 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200623 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200628 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200629 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=680,IsDisplayed='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=690,IsDisplayed='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=700,IsDisplayed='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=710,IsDisplayed='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=720,IsDisplayed='Y' WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:02:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=730,IsDisplayed='Y' WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:02:19 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200623 +; + +-- Oct 12, 2012 3:02:19 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200628 +; + +-- Oct 12, 2012 3:02:19 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200629 +; + +-- Oct 12, 2012 3:02:19 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=670,IsDisplayedGrid='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:02:19 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=680,IsDisplayedGrid='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:02:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=690,IsDisplayedGrid='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:02:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=700,IsDisplayedGrid='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:02:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=710,IsDisplayedGrid='Y' WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:02:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=720,IsDisplayedGrid='Y' WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:02:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=680,IsDisplayed='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:02:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=690,IsDisplayed='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:02:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=700,IsDisplayed='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:02:28 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=710,IsDisplayed='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:03:12 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2012-10-12 15:03:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:03:17 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2012-10-12 15:03:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:03:27 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsSameLine='Y', IsReadOnly='Y',Updated=TO_TIMESTAMP('2012-10-12 15:03:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:03:35 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2012-10-12 15:03:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:03:53 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-12 15:03:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:03:55 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-12 15:03:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:03:56 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-12 15:03:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:03:58 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-12 15:03:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:04:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-12 15:04:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:04:10 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-12 15:04:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:04:13 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET XPosition=2,Updated=TO_TIMESTAMP('2012-10-12 15:04:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:04:17 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2012-10-12 15:04:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:04:51 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2012-10-12 15:04:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:06:54 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2012-10-12 15:06:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200617 +; + +-- Oct 12, 2012 3:07:01 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2012-10-12 15:07:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200619 +; + +-- Oct 12, 2012 3:34:34 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:34:40 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200621 +; + +-- Oct 12, 2012 3:34:47 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,36,'N','N',60605,'Y',200632,'N','D','C_BPartner_UU','N','Y','6d075331-9d18-4ab5-b87d-70a24ab357d2',100,0,TO_TIMESTAMP('2012-10-12 15:34:46','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:34:46','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:47 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200632 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:34:48 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,60,'N','N',200612,'Y',200633,'N','U','Customer Profile ID','N','Y','ecccb306-359f-4744-adf1-23b119e7ac81',100,0,TO_TIMESTAMP('2012-10-12 15:34:48','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:34:48','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:48 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200633 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:34:49 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,1,'N','N',58596,'Y',200634,'N','D','Indicate role of this Business partner as Manufacturer','Is Manufacturer','N','Y','2edc19d5-ff0b-4393-ab9b-07b1a23fa5cd',100,0,TO_TIMESTAMP('2012-10-12 15:34:48','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:34:48','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:49 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200634 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:34:50 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,10,'N','N',58113,'Y',200635,'N','D','Logo','N','Y','10112b66-395c-49ab-b614-be4dfbeddaa8',100,0,TO_TIMESTAMP('2012-10-12 15:34:49','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:34:49','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:50 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200635 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:34:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,1,'N','N',58381,'Y',200636,'N','If a business partner is exempt from tax on purchases, the exempt tax rate is used. For this, you need to set up a tax rate with a 0% rate and indicate that this is your tax exempt rate. This is required for tax reporting, so that you can track tax exempt transactions.','D','Business partner is exempt from tax on purchases','PO Tax exempt','N','Y','64ded006-c7b5-49be-8497-dba5c5a03db4',100,0,TO_TIMESTAMP('2012-10-12 15:34:50','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:34:50','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200636 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:34:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsFieldOnly,IsDisplayed,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',223,10,'N','N',54463,'Y',200637,'N','EE04','Tax Group','N','Y','1d4a8b40-8391-4db4-806c-b8cdbf26e2ae',100,0,TO_TIMESTAMP('2012-10-12 15:34:51','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-10-12 15:34:51','YYYY-MM-DD HH24:MI:SS'),'Y') +; + +-- Oct 12, 2012 3:34:51 PM SGT +-- Credit Cards Online +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,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_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200637 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200632 +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200634 +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200635 +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200636 +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200637 +; + +-- Oct 12, 2012 3:35:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=270,IsDisplayed='Y' WHERE AD_Field_ID=200633 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200632 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200634 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200635 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200636 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200637 +; + +-- Oct 12, 2012 3:35:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=270,IsDisplayedGrid='Y' WHERE AD_Field_ID=200633 +; + +-- Oct 12, 2012 3:35:30 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=26, IsReadOnly='Y', ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-12 15:35:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200633 +; + +-- Oct 12, 2012 3:36:02 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=20,Updated=TO_TIMESTAMP('2012-10-12 15:36:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200617 +; + +-- Oct 12, 2012 3:36:20 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=26,Updated=TO_TIMESTAMP('2012-10-12 15:36:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200619 +; + +-- Oct 12, 2012 3:37:06 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=580,IsDisplayed='Y' WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=590,IsDisplayed='Y' WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=600,IsDisplayed='Y' WHERE AD_Field_ID=4051 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=610,IsDisplayed='Y' WHERE AD_Field_ID=4047 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=620,IsDisplayed='Y' WHERE AD_Field_ID=4049 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=630,IsDisplayed='Y' WHERE AD_Field_ID=4048 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=640,IsDisplayed='Y' WHERE AD_Field_ID=4362 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=650,IsDisplayed='Y' WHERE AD_Field_ID=4361 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=660,IsDisplayed='Y' WHERE AD_Field_ID=6552 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=670,IsDisplayed='Y' WHERE AD_Field_ID=4044 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=680,IsDisplayed='Y' WHERE AD_Field_ID=4266 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=690,IsDisplayed='Y' WHERE AD_Field_ID=52052 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=700,IsDisplayed='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=710,IsDisplayed='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=720,IsDisplayed='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:37:07 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=730,IsDisplayed='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=570,IsDisplayedGrid='Y' WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=580,IsDisplayedGrid='Y' WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=590,IsDisplayedGrid='Y' WHERE AD_Field_ID=4051 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=600,IsDisplayedGrid='Y' WHERE AD_Field_ID=4047 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=610,IsDisplayedGrid='Y' WHERE AD_Field_ID=4049 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=620,IsDisplayedGrid='Y' WHERE AD_Field_ID=4048 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=630,IsDisplayedGrid='Y' WHERE AD_Field_ID=4362 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=640,IsDisplayedGrid='Y' WHERE AD_Field_ID=4361 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=650,IsDisplayedGrid='Y' WHERE AD_Field_ID=6552 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=660,IsDisplayedGrid='Y' WHERE AD_Field_ID=4044 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=670,IsDisplayedGrid='Y' WHERE AD_Field_ID=4266 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=680,IsDisplayedGrid='Y' WHERE AD_Field_ID=52052 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=690,IsDisplayedGrid='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=700,IsDisplayedGrid='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=710,IsDisplayedGrid='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:37:37 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=720,IsDisplayedGrid='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=640,IsDisplayed='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=650,IsDisplayed='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=660,IsDisplayed='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=670,IsDisplayed='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=680,IsDisplayed='Y' WHERE AD_Field_ID=4362 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=690,IsDisplayed='Y' WHERE AD_Field_ID=4361 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=700,IsDisplayed='Y' WHERE AD_Field_ID=6552 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=710,IsDisplayed='Y' WHERE AD_Field_ID=4044 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=720,IsDisplayed='Y' WHERE AD_Field_ID=4266 +; + +-- Oct 12, 2012 3:37:48 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNo=730,IsDisplayed='Y' WHERE AD_Field_ID=52052 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=630,IsDisplayedGrid='Y' WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=640,IsDisplayedGrid='Y' WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=650,IsDisplayedGrid='Y' WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=660,IsDisplayedGrid='Y' WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=670,IsDisplayedGrid='Y' WHERE AD_Field_ID=4362 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=680,IsDisplayedGrid='Y' WHERE AD_Field_ID=4361 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=690,IsDisplayedGrid='Y' WHERE AD_Field_ID=6552 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=700,IsDisplayedGrid='Y' WHERE AD_Field_ID=4044 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=710,IsDisplayedGrid='Y' WHERE AD_Field_ID=4266 +; + +-- Oct 12, 2012 3:38:05 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET SeqNoGrid=720,IsDisplayedGrid='Y' WHERE AD_Field_ID=52052 +; + +-- Oct 12, 2012 3:38:17 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@IsOnline@=Y',Updated=TO_TIMESTAMP('2012-10-12 15:38:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:39:00 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@IsOnline@=Y', NumLines=3,Updated=TO_TIMESTAMP('2012-10-12 15:39:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:39:08 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@IsOnline@=Y',Updated=TO_TIMESTAMP('2012-10-12 15:39:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:39:09 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@IsOnline@=Y',Updated=TO_TIMESTAMP('2012-10-12 15:39:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:39:12 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@IsOnline@=Y',Updated=TO_TIMESTAMP('2012-10-12 15:39:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:39:23 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=20,Updated=TO_TIMESTAMP('2012-10-12 15:39:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:39:25 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=20,Updated=TO_TIMESTAMP('2012-10-12 15:39:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200626 +; + +-- Oct 12, 2012 3:39:27 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLength=20,Updated=TO_TIMESTAMP('2012-10-12 15:39:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200624 +; + +-- Oct 12, 2012 3:41:35 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2012-10-12 15:41:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200627 +; + +-- Oct 12, 2012 3:41:36 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET IsSameLine='Y',Updated=TO_TIMESTAMP('2012-10-12 15:41:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 3:53:32 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET XPosition=5,Updated=TO_TIMESTAMP('2012-10-12 15:53:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200631 +; + +-- Oct 12, 2012 3:53:49 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET ColumnSpan=5,Updated=TO_TIMESTAMP('2012-10-12 15:53:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200630 +; + +-- Oct 12, 2012 3:54:15 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2012-10-12 15:54:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200625 +; + +-- Oct 12, 2012 5:25:25 PM SGT +-- Credit Cards Online +INSERT INTO AD_Reference (AD_Reference_ID,Name,EntityType,AD_Reference_UU,IsOrderByValue,Description,ValidationType,AD_Client_ID,AD_Org_ID,CreatedBy,Updated,IsActive,Created,UpdatedBy) VALUES (200012,'Payment','U','8959c366-e7f0-4893-8d23-edb1abe2db3f','N','Payment Rule list and Process Payment button','D',0,0,100,TO_TIMESTAMP('2012-10-12 17:25:23','YYYY-MM-DD HH24:MI:SS'),'Y',TO_TIMESTAMP('2012-10-12 17:25:23','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Oct 12, 2012 5:25:25 PM SGT +-- Credit Cards Online +INSERT INTO AD_Reference_Trl (AD_Language,AD_Reference_ID, Help,Name,Description, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Reference_Trl_UU ) SELECT l.AD_Language,t.AD_Reference_ID, t.Help,t.Name,t.Description, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Reference t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Reference_ID=200012 AND NOT EXISTS (SELECT * FROM AD_Reference_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Reference_ID=t.AD_Reference_ID) +; + +-- Oct 12, 2012 5:36:49 PM SGT +-- Credit Cards Online +UPDATE AD_Column SET AD_Reference_Value_ID=NULL, AD_Reference_ID=200012,Updated=TO_TIMESTAMP('2012-10-12 17:36:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=4019 +; + +-- Oct 12, 2012 5:38:41 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@AD_Reference_ID@=17 | @AD_Reference_ID@=18 | @AD_Reference_ID@=19 | @AD_Reference_ID@=28 | @AD_Reference_ID@=30 | @AD_Reference_ID@=200012',Updated=TO_TIMESTAMP('2012-10-12 17:38:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54401 +; + +-- Oct 12, 2012 5:40:41 PM SGT +-- Credit Cards Online +UPDATE AD_Column SET AD_Reference_Value_ID=NULL, AD_Reference_ID=200012,Updated=TO_TIMESTAMP('2012-10-12 17:40:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=4020 +; + +-- Oct 12, 2012 6:45:31 PM SGT +-- Credit Cards Online +UPDATE AD_Field SET DisplayLogic='@AD_Reference_ID@=17 | @AD_Reference_ID@=18 | @AD_Reference_ID@=19 | @AD_Reference_ID@=28 | @AD_Reference_ID@=30 | @AD_Reference_ID@=200012',Updated=TO_TIMESTAMP('2012-10-12 18:45:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=172 +; + +SELECT register_migration_script('933_CreditCardsOnline.sql') FROM dual +; \ No newline at end of file diff --git a/migration/360lts-release/postgresql/934_IDEMPIERE-389.sql b/migration/360lts-release/postgresql/934_IDEMPIERE-389.sql new file mode 100644 index 0000000000..c2940b2e68 --- /dev/null +++ b/migration/360lts-release/postgresql/934_IDEMPIERE-389.sql @@ -0,0 +1,27 @@ +-- Oct 15, 2012 6:21:27 PM IST +-- IDEMPIERE-389 Adding server name on AD_Session +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('ServerName',200182,'Load balancing instance name','U','Server Name','Server Name','7bd7b80a-d97d-4643-8d69-e2856a2a144a',0,TO_TIMESTAMP('2012-10-15 18:21:26','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-10-15 18:21:26','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y') +; + +-- Oct 15, 2012 6:21:27 PM IST +-- IDEMPIERE-389 Adding server name on AD_Session +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Description,Name,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.Description,t.Name,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=200182 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) +; + +-- Oct 15, 2012 6:22:04 PM IST +-- IDEMPIERE-389 Adding server name on AD_Session +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection) VALUES (0,566,200613,'U','N','N','N',0,'N',40,'Y',14,'N','N',200182,'N','Y','14d3c02e-9f80-40cb-8507-e040fbaf3ef6','N','Y','N','ServerName','Load balancing instance name','Server Name','Y',100,TO_TIMESTAMP('2012-10-15 18:22:03','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-10-15 18:22:03','YYYY-MM-DD HH24:MI:SS'),100,0,0) +; + +-- Oct 15, 2012 6:22:04 PM IST +-- IDEMPIERE-389 Adding server name on AD_Session +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=200613 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) +; + +-- Oct 15, 2012 6:22:45 PM IST +-- IDEMPIERE-389 Adding server name on AD_Session +ALTER TABLE AD_Session ADD COLUMN ServerName VARCHAR(40) DEFAULT NULL +; + +SELECT register_migration_script('934_IDEMPIERE-389.sql') FROM dual +; \ No newline at end of file diff --git a/org.adempiere.base/src/org/adempiere/util/PaymentUtil.java b/org.adempiere.base/src/org/adempiere/util/PaymentUtil.java new file mode 100644 index 0000000000..d1169736ff --- /dev/null +++ b/org.adempiere.base/src/org/adempiere/util/PaymentUtil.java @@ -0,0 +1,90 @@ +package org.adempiere.util; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.text.NumberFormat; +import java.text.ParsePosition; +import java.util.ArrayList; +import java.util.logging.Level; + +import org.compiere.model.MBPBankAccount; +import org.compiere.model.MBPartner; +import org.compiere.util.CLogger; +import org.compiere.util.DB; + +public class PaymentUtil { + + private static final CLogger logger = CLogger.getCLogger(PaymentUtil.class); + + public static MBPBankAccount[] getBankAccounts(MBPartner bpartner, + String creditCardNo) { + ArrayList list = new ArrayList(); + String sql = "SELECT * FROM C_BP_BankAccount WHERE C_BPartner_ID=? AND CREDITCARDNUMBER=?"; + PreparedStatement pstmt = null; + ResultSet rs = null; + try { + pstmt = DB.prepareStatement(sql, bpartner.get_TrxName()); + pstmt.setInt(1, bpartner.getC_BPartner_ID()); + pstmt.setString(2, creditCardNo); + rs = pstmt.executeQuery(); + while (rs.next()) + list.add(new MBPBankAccount(bpartner.getCtx(), rs, bpartner + .get_TrxName())); + } catch (Exception e) { + logger.log(Level.SEVERE, sql, e); + } finally { + DB.close(rs, pstmt); + } + + MBPBankAccount[] m_accounts = new MBPBankAccount[list.size()]; + list.toArray(m_accounts); + return m_accounts; + } + + public static String encrpytCreditCard(String value) { + if (value == null) + return ""; + else + + if (value.length() <= 4) + return value; + + Integer valueLength = value.length(); + + StringBuffer encryptedCC = new StringBuffer(); + + for (int i = 0; i < (valueLength - 4); i++) { + encryptedCC.append("*"); + } + + encryptedCC.append(value.substring(valueLength - 4, valueLength)); + + return encryptedCC.toString(); + } + + public static String encrpytCvv(String creditCardVV) { + if (creditCardVV == null) + return ""; + else { + Integer valueLength = creditCardVV.length(); + + StringBuffer encryptedCC = new StringBuffer(); + + for (int i = 0; i < valueLength; i++) { + encryptedCC.append("0"); + } + return encryptedCC.toString(); + } + } + + public static boolean isNumeric(String str) { + if (str != null && str.length() > 0) { + NumberFormat formatter = NumberFormat.getInstance(); + ParsePosition pos = new ParsePosition(0); + + formatter.parse(str, pos); + return str.length() == pos.getIndex(); + } + return true; + } +} diff --git a/org.adempiere.base/src/org/compiere/model/GridField.java b/org.adempiere.base/src/org/compiere/model/GridField.java index c589734106..caf92e6aa1 100644 --- a/org.adempiere.base/src/org/compiere/model/GridField.java +++ b/org.adempiere.base/src/org/compiere/model/GridField.java @@ -202,6 +202,11 @@ public class GridField MPAttributeLookup pa = new MPAttributeLookup (m_vo.ctx, m_vo.WindowNo); m_lookup = pa; } + else if (m_vo.displayType == DisplayType.Payment) + { + MPaymentLookup pl = new MPaymentLookup (m_vo.ctx, m_vo.WindowNo, m_vo.AD_Column_ID); + m_lookup = pl; + } } // m_lookup /** @@ -239,7 +244,8 @@ public class GridField else if (m_vo.displayType == DisplayType.Location || m_vo.displayType == DisplayType.Locator || m_vo.displayType == DisplayType.Account - || m_vo.displayType == DisplayType.PAttribute) + || m_vo.displayType == DisplayType.PAttribute + || m_vo.displayType == DisplayType.Payment) retValue = true; return retValue; diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_Session.java b/org.adempiere.base/src/org/compiere/model/I_AD_Session.java index 9fb27032be..ef58feb340 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_Session.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_Session.java @@ -180,6 +180,15 @@ public interface I_AD_Session */ public String getRemote_Host(); + /** Column name ServerName */ + public static final String COLUMNNAME_ServerName = "ServerName"; + + /** Set Server name */ + public void setServerName (String ServerName); + + /** Get Server name */ + public String getServerName(); + /** Column name Updated */ public static final String COLUMNNAME_Updated = "Updated"; diff --git a/org.adempiere.base/src/org/compiere/model/I_C_BP_BankAccount.java b/org.adempiere.base/src/org/compiere/model/I_C_BP_BankAccount.java index 6e244aecc2..2babd49e28 100644 --- a/org.adempiere.base/src/org/compiere/model/I_C_BP_BankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/I_C_BP_BankAccount.java @@ -31,7 +31,7 @@ public interface I_C_BP_BankAccount public static final String Table_Name = "C_BP_BankAccount"; /** AD_Table_ID=298 */ - public static final int Table_ID = MTable.getTable_ID(Table_Name); + public static final int Table_ID = 298; KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); @@ -41,19 +41,6 @@ public interface I_C_BP_BankAccount /** Load Meta Data */ - /** Column name AccountNo */ - public static final String COLUMNNAME_AccountNo = "AccountNo"; - - /** Set Account No. - * Account Number - */ - public void setAccountNo (String AccountNo); - - /** Get Account No. - * Account Number - */ - public String getAccountNo(); - /** Column name A_City */ public static final String COLUMNNAME_A_City = "A_City"; @@ -80,42 +67,6 @@ public interface I_C_BP_BankAccount */ public String getA_Country(); - /** 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_User_ID */ - public static final String COLUMNNAME_AD_User_ID = "AD_User_ID"; - - /** Set User/Contact. - * User within the system - Internal or Business Partner Contact - */ - public void setAD_User_ID (int AD_User_ID); - - /** Get User/Contact. - * User within the system - Internal or Business Partner Contact - */ - public int getAD_User_ID(); - - public I_AD_User getAD_User() throws RuntimeException; - /** Column name A_EMail */ public static final String COLUMNNAME_A_EMail = "A_EMail"; @@ -207,6 +158,55 @@ public interface I_C_BP_BankAccount */ public String getA_Zip(); + /** Column name AccountNo */ + public static final String COLUMNNAME_AccountNo = "AccountNo"; + + /** Set Account No. + * Account Number + */ + public void setAccountNo (String AccountNo); + + /** Get Account No. + * Account Number + */ + public String getAccountNo(); + + /** 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_User_ID */ + public static final String COLUMNNAME_AD_User_ID = "AD_User_ID"; + + /** Set User/Contact. + * User within the system - Internal or Business Partner Contact + */ + public void setAD_User_ID (int AD_User_ID); + + /** Get User/Contact. + * User within the system - Internal or Business Partner Contact + */ + public int getAD_User_ID(); + + public org.compiere.model.I_AD_User getAD_User() throws RuntimeException; + /** Column name BankAccountType */ public static final String COLUMNNAME_BankAccountType = "BankAccountType"; @@ -246,7 +246,29 @@ public interface I_C_BP_BankAccount */ public int getC_Bank_ID(); - public I_C_Bank getC_Bank() throws RuntimeException; + public org.compiere.model.I_C_Bank getC_Bank() throws RuntimeException; + + /** Column name C_BP_BankAccount_ID */ + public static final String COLUMNNAME_C_BP_BankAccount_ID = "C_BP_BankAccount_ID"; + + /** Set Partner Bank Account. + * Bank Account of the Business Partner + */ + public void setC_BP_BankAccount_ID (int C_BP_BankAccount_ID); + + /** Get Partner Bank Account. + * Bank Account of the Business Partner + */ + public int getC_BP_BankAccount_ID(); + + /** Column name C_BP_BankAccount_UU */ + public static final String COLUMNNAME_C_BP_BankAccount_UU = "C_BP_BankAccount_UU"; + + /** Set C_BP_BankAccount_UU */ + public void setC_BP_BankAccount_UU (String C_BP_BankAccount_UU); + + /** Get C_BP_BankAccount_UU */ + public String getC_BP_BankAccount_UU(); /** Column name C_BPartner_ID */ public static final String COLUMNNAME_C_BPartner_ID = "C_BPartner_ID"; @@ -261,20 +283,7 @@ public interface I_C_BP_BankAccount */ public int getC_BPartner_ID(); - public I_C_BPartner getC_BPartner() throws RuntimeException; - - /** Column name C_BP_BankAccount_ID */ - public static final String COLUMNNAME_C_BP_BankAccount_ID = "C_BP_BankAccount_ID"; - - /** Set Partner Bank Account. - * Bank Account of the Business Partner - */ - public void setC_BP_BankAccount_ID (int C_BP_BankAccount_ID); - - /** Get Partner Bank Account. - * Bank Account of the Business Partner - */ - public int getC_BP_BankAccount_ID(); + public org.compiere.model.I_C_BPartner getC_BPartner() throws RuntimeException; /** Column name Created */ public static final String COLUMNNAME_Created = "Created"; @@ -357,6 +366,15 @@ public interface I_C_BP_BankAccount */ public String getCreditCardVV(); + /** Column name CustomerPaymentProfileID */ + public static final String COLUMNNAME_CustomerPaymentProfileID = "CustomerPaymentProfileID"; + + /** Set Customer Payment Profile ID */ + public void setCustomerPaymentProfileID (String CustomerPaymentProfileID); + + /** Get Customer Payment Profile ID */ + public String getCustomerPaymentProfileID(); + /** Column name IsACH */ public static final String COLUMNNAME_IsACH = "IsACH"; diff --git a/org.adempiere.base/src/org/compiere/model/I_C_BPartner.java b/org.adempiere.base/src/org/compiere/model/I_C_BPartner.java index 27b42af541..5b381f00ce 100644 --- a/org.adempiere.base/src/org/compiere/model/I_C_BPartner.java +++ b/org.adempiere.base/src/org/compiere/model/I_C_BPartner.java @@ -88,19 +88,6 @@ public interface I_C_BPartner */ public String getAD_Language(); - /** Column name AD_OrgBP_ID */ - public static final String COLUMNNAME_AD_OrgBP_ID = "AD_OrgBP_ID"; - - /** Set Linked Organization. - * The Business Partner is another Organization for explicit Inter-Org transactions - */ - public void setAD_OrgBP_ID (String AD_OrgBP_ID); - - /** Get Linked Organization. - * The Business Partner is another Organization for explicit Inter-Org transactions - */ - public String getAD_OrgBP_ID(); - /** Column name AD_Org_ID */ public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID"; @@ -114,6 +101,19 @@ public interface I_C_BPartner */ public int getAD_Org_ID(); + /** Column name AD_OrgBP_ID */ + public static final String COLUMNNAME_AD_OrgBP_ID = "AD_OrgBP_ID"; + + /** Set Linked Organization. + * The Business Partner is another Organization for explicit Inter-Org transactions + */ + public void setAD_OrgBP_ID (String AD_OrgBP_ID); + + /** Get Linked Organization. + * The Business Partner is another Organization for explicit Inter-Org transactions + */ + public String getAD_OrgBP_ID(); + /** Column name BPartner_Parent_ID */ public static final String COLUMNNAME_BPartner_Parent_ID = "BPartner_Parent_ID"; @@ -127,6 +127,21 @@ public interface I_C_BPartner */ public int getBPartner_Parent_ID(); + /** Column name C_BP_Group_ID */ + public static final String COLUMNNAME_C_BP_Group_ID = "C_BP_Group_ID"; + + /** Set Business Partner Group. + * Business Partner Group + */ + public void setC_BP_Group_ID (int C_BP_Group_ID); + + /** Get Business Partner Group. + * Business Partner Group + */ + public int getC_BP_Group_ID(); + + public org.compiere.model.I_C_BP_Group getC_BP_Group() throws RuntimeException; + /** Column name C_BPartner_ID */ public static final String COLUMNNAME_C_BPartner_ID = "C_BPartner_ID"; @@ -149,21 +164,6 @@ public interface I_C_BPartner /** Get C_BPartner_UU */ public String getC_BPartner_UU(); - /** Column name C_BP_Group_ID */ - public static final String COLUMNNAME_C_BP_Group_ID = "C_BP_Group_ID"; - - /** Set Business Partner Group. - * Business Partner Group - */ - public void setC_BP_Group_ID (int C_BP_Group_ID); - - /** Get Business Partner Group. - * Business Partner Group - */ - public int getC_BP_Group_ID(); - - public org.compiere.model.I_C_BP_Group getC_BP_Group() throws RuntimeException; - /** Column name C_Dunning_ID */ public static final String COLUMNNAME_C_Dunning_ID = "C_Dunning_ID"; @@ -224,6 +224,17 @@ public interface I_C_BPartner public org.compiere.model.I_C_PaymentTerm getC_PaymentTerm() throws RuntimeException; + /** Column name C_TaxGroup_ID */ + public static final String COLUMNNAME_C_TaxGroup_ID = "C_TaxGroup_ID"; + + /** Set Tax Group */ + public void setC_TaxGroup_ID (int C_TaxGroup_ID); + + /** Get Tax Group */ + public int getC_TaxGroup_ID(); + + public org.eevolution.model.I_C_TaxGroup getC_TaxGroup() throws RuntimeException; + /** Column name Created */ public static final String COLUMNNAME_Created = "Created"; @@ -240,16 +251,14 @@ public interface I_C_BPartner */ public int getCreatedBy(); - /** Column name C_TaxGroup_ID */ - public static final String COLUMNNAME_C_TaxGroup_ID = "C_TaxGroup_ID"; + /** Column name CustomerProfileID */ + public static final String COLUMNNAME_CustomerProfileID = "CustomerProfileID"; - /** Set Tax Group */ - public void setC_TaxGroup_ID (int C_TaxGroup_ID); + /** Set Customer Profile ID */ + public void setCustomerProfileID (String CustomerProfileID); - /** Get Tax Group */ - public int getC_TaxGroup_ID(); - - public org.eevolution.model.I_C_TaxGroup getC_TaxGroup() throws RuntimeException; + /** Get Customer Profile ID */ + public String getCustomerProfileID(); /** Column name DeliveryRule */ public static final String COLUMNNAME_DeliveryRule = "DeliveryRule"; @@ -838,19 +847,6 @@ public interface I_C_BPartner */ public BigDecimal getSO_CreditLimit(); - /** Column name SOCreditStatus */ - public static final String COLUMNNAME_SOCreditStatus = "SOCreditStatus"; - - /** Set Credit Status. - * Business Partner Credit Status - */ - public void setSOCreditStatus (String SOCreditStatus); - - /** Get Credit Status. - * Business Partner Credit Status - */ - public String getSOCreditStatus(); - /** Column name SO_CreditUsed */ public static final String COLUMNNAME_SO_CreditUsed = "SO_CreditUsed"; @@ -877,6 +873,19 @@ public interface I_C_BPartner */ public String getSO_Description(); + /** Column name SOCreditStatus */ + public static final String COLUMNNAME_SOCreditStatus = "SOCreditStatus"; + + /** Set Credit Status. + * Business Partner Credit Status + */ + public void setSOCreditStatus (String SOCreditStatus); + + /** Get Credit Status. + * Business Partner Credit Status + */ + public String getSOCreditStatus(); + /** Column name TaxID */ public static final String COLUMNNAME_TaxID = "TaxID"; diff --git a/org.adempiere.base/src/org/compiere/model/I_C_BPartner_Location.java b/org.adempiere.base/src/org/compiere/model/I_C_BPartner_Location.java index a083e7dc2d..136c45f900 100644 --- a/org.adempiere.base/src/org/compiere/model/I_C_BPartner_Location.java +++ b/org.adempiere.base/src/org/compiere/model/I_C_BPartner_Location.java @@ -31,7 +31,7 @@ public interface I_C_BPartner_Location public static final String Table_Name = "C_BPartner_Location"; /** AD_Table_ID=293 */ - public static final int Table_ID = MTable.getTable_ID(Table_Name); + public static final int Table_ID = 293; KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); @@ -75,7 +75,7 @@ public interface I_C_BPartner_Location */ public int getC_BPartner_ID(); - public I_C_BPartner getC_BPartner() throws RuntimeException; + public org.compiere.model.I_C_BPartner getC_BPartner() throws RuntimeException; /** Column name C_BPartner_Location_ID */ public static final String COLUMNNAME_C_BPartner_Location_ID = "C_BPartner_Location_ID"; @@ -90,6 +90,15 @@ public interface I_C_BPartner_Location */ public int getC_BPartner_Location_ID(); + /** Column name C_BPartner_Location_UU */ + public static final String COLUMNNAME_C_BPartner_Location_UU = "C_BPartner_Location_UU"; + + /** Set C_BPartner_Location_UU */ + public void setC_BPartner_Location_UU (String C_BPartner_Location_UU); + + /** Get C_BPartner_Location_UU */ + public String getC_BPartner_Location_UU(); + /** Column name C_Location_ID */ public static final String COLUMNNAME_C_Location_ID = "C_Location_ID"; @@ -105,6 +114,21 @@ public interface I_C_BPartner_Location public I_C_Location getC_Location() throws RuntimeException; + /** Column name C_SalesRegion_ID */ + public static final String COLUMNNAME_C_SalesRegion_ID = "C_SalesRegion_ID"; + + /** Set Sales Region. + * Sales coverage region + */ + public void setC_SalesRegion_ID (int C_SalesRegion_ID); + + /** Get Sales Region. + * Sales coverage region + */ + public int getC_SalesRegion_ID(); + + public org.compiere.model.I_C_SalesRegion getC_SalesRegion() throws RuntimeException; + /** Column name Created */ public static final String COLUMNNAME_Created = "Created"; @@ -121,20 +145,14 @@ public interface I_C_BPartner_Location */ public int getCreatedBy(); - /** Column name C_SalesRegion_ID */ - public static final String COLUMNNAME_C_SalesRegion_ID = "C_SalesRegion_ID"; + /** Column name CustomerAddressID */ + public static final String COLUMNNAME_CustomerAddressID = "CustomerAddressID"; - /** Set Sales Region. - * Sales coverage region - */ - public void setC_SalesRegion_ID (int C_SalesRegion_ID); + /** Set Customer Address ID */ + public void setCustomerAddressID (String CustomerAddressID); - /** Get Sales Region. - * Sales coverage region - */ - public int getC_SalesRegion_ID(); - - public I_C_SalesRegion getC_SalesRegion() throws RuntimeException; + /** Get Customer Address ID */ + public String getCustomerAddressID(); /** Column name Fax */ public static final String COLUMNNAME_Fax = "Fax"; diff --git a/org.adempiere.base/src/org/compiere/model/I_C_Payment.java b/org.adempiere.base/src/org/compiere/model/I_C_Payment.java index 540c5d2a5a..92a5b898f9 100644 --- a/org.adempiere.base/src/org/compiere/model/I_C_Payment.java +++ b/org.adempiere.base/src/org/compiere/model/I_C_Payment.java @@ -41,19 +41,6 @@ public interface I_C_Payment /** Load Meta Data */ - /** Column name AccountNo */ - public static final String COLUMNNAME_AccountNo = "AccountNo"; - - /** Set Account No. - * Account Number - */ - public void setAccountNo (String AccountNo); - - /** Get Account No. - * Account Number - */ - public String getAccountNo(); - /** Column name A_City */ public static final String COLUMNNAME_A_City = "A_City"; @@ -80,40 +67,6 @@ public interface I_C_Payment */ public String getA_Country(); - /** 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_OrgTrx_ID */ - public static final String COLUMNNAME_AD_OrgTrx_ID = "AD_OrgTrx_ID"; - - /** Set Trx Organization. - * Performing or initiating organization - */ - public void setAD_OrgTrx_ID (int AD_OrgTrx_ID); - - /** Get Trx Organization. - * Performing or initiating organization - */ - public int getAD_OrgTrx_ID(); - /** Column name A_EMail */ public static final String COLUMNNAME_A_EMail = "A_EMail"; @@ -205,6 +158,53 @@ public interface I_C_Payment */ public String getA_Zip(); + /** Column name AccountNo */ + public static final String COLUMNNAME_AccountNo = "AccountNo"; + + /** Set Account No. + * Account Number + */ + public void setAccountNo (String AccountNo); + + /** Get Account No. + * Account Number + */ + public String getAccountNo(); + + /** 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_OrgTrx_ID */ + public static final String COLUMNNAME_AD_OrgTrx_ID = "AD_OrgTrx_ID"; + + /** Set Trx Organization. + * Performing or initiating organization + */ + public void setAD_OrgTrx_ID (int AD_OrgTrx_ID); + + /** Get Trx Organization. + * Performing or initiating organization + */ + public int getAD_OrgTrx_ID(); + /** Column name C_Activity_ID */ public static final String COLUMNNAME_C_Activity_ID = "C_Activity_ID"; @@ -235,21 +235,6 @@ public interface I_C_Payment public org.compiere.model.I_C_BankAccount getC_BankAccount() throws RuntimeException; - /** Column name C_BPartner_ID */ - public static final String COLUMNNAME_C_BPartner_ID = "C_BPartner_ID"; - - /** Set Business Partner . - * Identifies a Business Partner - */ - public void setC_BPartner_ID (int C_BPartner_ID); - - /** Get Business Partner . - * Identifies a Business Partner - */ - public int getC_BPartner_ID(); - - public org.compiere.model.I_C_BPartner getC_BPartner() throws RuntimeException; - /** Column name C_BP_BankAccount_ID */ public static final String COLUMNNAME_C_BP_BankAccount_ID = "C_BP_BankAccount_ID"; @@ -265,6 +250,21 @@ public interface I_C_Payment public org.compiere.model.I_C_BP_BankAccount getC_BP_BankAccount() throws RuntimeException; + /** Column name C_BPartner_ID */ + public static final String COLUMNNAME_C_BPartner_ID = "C_BPartner_ID"; + + /** Set Business Partner . + * Identifies a Business Partner + */ + public void setC_BPartner_ID (int C_BPartner_ID); + + /** Get Business Partner . + * Identifies a Business Partner + */ + public int getC_BPartner_ID(); + + public org.compiere.model.I_C_BPartner getC_BPartner() throws RuntimeException; + /** Column name C_Campaign_ID */ public static final String COLUMNNAME_C_Campaign_ID = "C_Campaign_ID"; @@ -355,32 +355,6 @@ public interface I_C_Payment public org.compiere.model.I_C_DocType getC_DocType() throws RuntimeException; - /** Column name ChargeAmt */ - public static final String COLUMNNAME_ChargeAmt = "ChargeAmt"; - - /** Set Charge amount. - * Charge Amount - */ - public void setChargeAmt (BigDecimal ChargeAmt); - - /** Get Charge amount. - * Charge Amount - */ - public BigDecimal getChargeAmt(); - - /** Column name CheckNo */ - public static final String COLUMNNAME_CheckNo = "CheckNo"; - - /** Set Check No. - * Check Number - */ - public void setCheckNo (String CheckNo); - - /** Get Check No. - * Check Number - */ - public String getCheckNo(); - /** Column name C_Invoice_ID */ public static final String COLUMNNAME_C_Invoice_ID = "C_Invoice_ID"; @@ -411,21 +385,6 @@ public interface I_C_Payment public org.compiere.model.I_C_Order getC_Order() throws RuntimeException; - /** Column name C_PaymentBatch_ID */ - public static final String COLUMNNAME_C_PaymentBatch_ID = "C_PaymentBatch_ID"; - - /** Set Payment Batch. - * Payment batch for EFT - */ - public void setC_PaymentBatch_ID (int C_PaymentBatch_ID); - - /** Get Payment Batch. - * Payment batch for EFT - */ - public int getC_PaymentBatch_ID(); - - public org.compiere.model.I_C_PaymentBatch getC_PaymentBatch() throws RuntimeException; - /** Column name C_Payment_ID */ public static final String COLUMNNAME_C_Payment_ID = "C_Payment_ID"; @@ -448,6 +407,36 @@ public interface I_C_Payment /** Get C_Payment_UU */ public String getC_Payment_UU(); + /** Column name C_PaymentBatch_ID */ + public static final String COLUMNNAME_C_PaymentBatch_ID = "C_PaymentBatch_ID"; + + /** Set Payment Batch. + * Payment batch for EFT + */ + public void setC_PaymentBatch_ID (int C_PaymentBatch_ID); + + /** Get Payment Batch. + * Payment batch for EFT + */ + public int getC_PaymentBatch_ID(); + + public org.compiere.model.I_C_PaymentBatch getC_PaymentBatch() throws RuntimeException; + + /** Column name C_PaymentProcessor_ID */ + public static final String COLUMNNAME_C_PaymentProcessor_ID = "C_PaymentProcessor_ID"; + + /** Set Payment Processor. + * Payment processor for electronic payments + */ + public void setC_PaymentProcessor_ID (int C_PaymentProcessor_ID); + + /** Get Payment Processor. + * Payment processor for electronic payments + */ + public int getC_PaymentProcessor_ID(); + + public org.compiere.model.I_C_PaymentProcessor getC_PaymentProcessor() throws RuntimeException; + /** Column name C_POSTenderType_ID */ public static final String COLUMNNAME_C_POSTenderType_ID = "C_POSTenderType_ID"; @@ -474,6 +463,32 @@ public interface I_C_Payment public org.compiere.model.I_C_Project getC_Project() throws RuntimeException; + /** Column name ChargeAmt */ + public static final String COLUMNNAME_ChargeAmt = "ChargeAmt"; + + /** Set Charge amount. + * Charge Amount + */ + public void setChargeAmt (BigDecimal ChargeAmt); + + /** Get Charge amount. + * Charge Amount + */ + public BigDecimal getChargeAmt(); + + /** Column name CheckNo */ + public static final String COLUMNNAME_CheckNo = "CheckNo"; + + /** Set Check No. + * Check Number + */ + public void setCheckNo (String CheckNo); + + /** Get Check No. + * Check Number + */ + public String getCheckNo(); + /** Column name Created */ public static final String COLUMNNAME_Created = "Created"; @@ -555,6 +570,33 @@ public interface I_C_Payment */ public String getCreditCardVV(); + /** Column name CustomerAddressID */ + public static final String COLUMNNAME_CustomerAddressID = "CustomerAddressID"; + + /** Set Customer Address ID */ + public void setCustomerAddressID (String CustomerAddressID); + + /** Get Customer Address ID */ + public String getCustomerAddressID(); + + /** Column name CustomerPaymentProfileID */ + public static final String COLUMNNAME_CustomerPaymentProfileID = "CustomerPaymentProfileID"; + + /** Set Customer Payment Profile ID */ + public void setCustomerPaymentProfileID (String CustomerPaymentProfileID); + + /** Get Customer Payment Profile ID */ + public String getCustomerPaymentProfileID(); + + /** Column name CustomerProfileID */ + public static final String COLUMNNAME_CustomerProfileID = "CustomerProfileID"; + + /** Set Customer Profile ID */ + public void setCustomerProfileID (String CustomerProfileID); + + /** Get Customer Profile ID */ + public String getCustomerProfileID(); + /** Column name DateAcct */ public static final String COLUMNNAME_DateAcct = "DateAcct"; @@ -776,6 +818,15 @@ public interface I_C_Payment */ public boolean isSelfService(); + /** Column name IsVoided */ + public static final String COLUMNNAME_IsVoided = "IsVoided"; + + /** Set Voided */ + public void setIsVoided (boolean IsVoided); + + /** Get Voided */ + public boolean isVoided(); + /** Column name Micr */ public static final String COLUMNNAME_Micr = "Micr"; @@ -967,32 +1018,6 @@ public interface I_C_Payment */ public boolean isR_CVV2Match(); - /** Column name Ref_Payment_ID */ - public static final String COLUMNNAME_Ref_Payment_ID = "Ref_Payment_ID"; - - /** Set Referenced Payment */ - public void setRef_Payment_ID (int Ref_Payment_ID); - - /** Get Referenced Payment */ - public int getRef_Payment_ID(); - - public org.compiere.model.I_C_Payment getRef_Payment() throws RuntimeException; - - /** Column name Reversal_ID */ - public static final String COLUMNNAME_Reversal_ID = "Reversal_ID"; - - /** Set Reversal ID. - * ID of document reversal - */ - public void setReversal_ID (int Reversal_ID); - - /** Get Reversal ID. - * ID of document reversal - */ - public int getReversal_ID(); - - public org.compiere.model.I_C_Payment getReversal() throws RuntimeException; - /** Column name R_Info */ public static final String COLUMNNAME_R_Info = "R_Info"; @@ -1006,19 +1031,6 @@ public interface I_C_Payment */ public String getR_Info(); - /** Column name RoutingNo */ - public static final String COLUMNNAME_RoutingNo = "RoutingNo"; - - /** Set Routing No. - * Bank Routing Number - */ - public void setRoutingNo (String RoutingNo); - - /** Get Routing No. - * Bank Routing Number - */ - public String getRoutingNo(); - /** Column name R_PnRef */ public static final String COLUMNNAME_R_PnRef = "R_PnRef"; @@ -1071,6 +1083,54 @@ public interface I_C_Payment */ public String getR_Result(); + /** Column name R_VoidMsg */ + public static final String COLUMNNAME_R_VoidMsg = "R_VoidMsg"; + + /** Set Void Message */ + public void setR_VoidMsg (String R_VoidMsg); + + /** Get Void Message */ + public String getR_VoidMsg(); + + /** Column name Ref_Payment_ID */ + public static final String COLUMNNAME_Ref_Payment_ID = "Ref_Payment_ID"; + + /** Set Referenced Payment */ + public void setRef_Payment_ID (int Ref_Payment_ID); + + /** Get Referenced Payment */ + public int getRef_Payment_ID(); + + public org.compiere.model.I_C_Payment getRef_Payment() throws RuntimeException; + + /** Column name Reversal_ID */ + public static final String COLUMNNAME_Reversal_ID = "Reversal_ID"; + + /** Set Reversal ID. + * ID of document reversal + */ + public void setReversal_ID (int Reversal_ID); + + /** Get Reversal ID. + * ID of document reversal + */ + public int getReversal_ID(); + + public org.compiere.model.I_C_Payment getReversal() throws RuntimeException; + + /** Column name RoutingNo */ + public static final String COLUMNNAME_RoutingNo = "RoutingNo"; + + /** Set Routing No. + * Bank Routing Number + */ + public void setRoutingNo (String RoutingNo); + + /** Get Routing No. + * Bank Routing Number + */ + public String getRoutingNo(); + /** Column name Swipe */ public static final String COLUMNNAME_Swipe = "Swipe"; diff --git a/org.adempiere.base/src/org/compiere/model/MPaymentLookup.java b/org.adempiere.base/src/org/compiere/model/MPaymentLookup.java new file mode 100644 index 0000000000..87c5577af9 --- /dev/null +++ b/org.adempiere.base/src/org/compiere/model/MPaymentLookup.java @@ -0,0 +1,203 @@ +package org.compiere.model; + +import java.io.Serializable; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Properties; +import java.util.logging.Level; + +import org.compiere.util.DB; +import org.compiere.util.DisplayType; +import org.compiere.util.Env; +import org.compiere.util.NamePair; +import org.compiere.util.ValueNamePair; + +public class MPaymentLookup extends Lookup implements Serializable { + + private static final int PAYMENT_RULE_REFERENCE_ID = 195; + + /** Context */ + private Properties m_ctx; + /** IsSOTrx */ + private boolean m_isSOTrx = false; + /** AD_Column_ID */ + private int m_AD_Column_ID; + + public MPaymentLookup(Properties ctx, int windowNo, int columnID) { + super(DisplayType.TableDir, windowNo); + m_ctx = ctx; + m_AD_Column_ID = columnID; + m_isSOTrx = "Y".equals(Env.getContext(Env.getCtx(), windowNo, "IsSOTrx")); + } + + @Override + public String getDisplay(Object key) { + if (key == null) + return null; + + ValueNamePair[] values = getData(); + for (ValueNamePair value : values) + { + if(value.getValue().equals(key.toString())) + return value.getName(); + } + + StringBuilder msgreturn = new StringBuilder("<").append(key.toString()).append(">"); + return msgreturn.toString(); + } + + @Override + public NamePair get(Object key) { + if (key == null) + return null; + + ValueNamePair[] values = getData(); + for (ValueNamePair value : values) + { + if(value.getValue().equals(key.toString())) + return value; + } + + return null; + } + + @Override + public boolean containsKey(Object key) { + ValueNamePair[] values = getData(); + for (ValueNamePair value : values) + { + if(value.getValue().equals(key.toString())) + return true; + } + return false; + } + + @Override + public String getColumnName() { + return "PaymentRule"; + } + + private ValueNamePair[] getData() + { + String ad_language = Env.getAD_Language(m_ctx); + boolean isBaseLanguage = Env.isBaseLanguage(ad_language, "AD_Ref_List"); + StringBuilder sb = new StringBuilder(); + if (isBaseLanguage) + sb.append("SELECT r.Value, r.Name FROM AD_Ref_List r WHERE r.AD_Reference_ID=? AND r.IsActive='Y'"); + else + { + sb.append("SELECT r.Value, t.Name FROM AD_Ref_List_Trl t"); + sb.append(" INNER JOIN AD_Ref_List r ON (r.AD_Ref_List_ID=t.AD_Ref_List_ID)"); + sb.append(" WHERE r.AD_Reference_ID=? AND t.AD_Language=? AND r.IsActive='Y'"); + } + + String wc = getWhereClause(); + if (wc != null && wc.length() > 0) + { + wc = wc.replace("AD_Ref_List", "r"); + wc = wc.replace("AD_Ref_List_Trl", "t"); + sb.append(" AND ").append(wc); + } + + if (isBaseLanguage) + sb.append(" ORDER BY r.Name"); + else + sb.append(" ORDER BY t.Name"); + + PreparedStatement pstmt = null; + ResultSet rs = null; + + ArrayList list = new ArrayList(); + try + { + pstmt = DB.prepareStatement(sb.toString(), null); + pstmt.setInt(1, PAYMENT_RULE_REFERENCE_ID); + if (!isBaseLanguage) + pstmt.setString(2, ad_language); + rs = pstmt.executeQuery(); + while (rs.next()) + list.add(new ValueNamePair(rs.getString(1), rs.getString(2))); + rs.close(); + pstmt.close(); + pstmt = null; + } + catch (SQLException e) + { + log.log(Level.SEVERE, sb.toString(), e); + } + finally + { + DB.close(rs, pstmt); + rs = null; pstmt = null; + } + ValueNamePair[] retValue = new ValueNamePair[list.size()]; + list.toArray(retValue); + return retValue; + } + + public String getValidation() + { + StringBuilder sb = new StringBuilder(); + sb.append("SELECT vr.Code "); + sb.append("FROM AD_Column c"); + sb.append(" LEFT OUTER JOIN AD_Val_Rule vr ON (c.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) "); + sb.append("WHERE c.AD_Column_ID=?"); + String validation = DB.getSQLValueString(null, sb.toString(), m_AD_Column_ID); + if (validation == null) + return ""; + return validation.trim(); + } + + private String getWhereClause() + { + String whereClause = ""; + String validation = getValidation(); + if (validation == null) + validation = ""; + if (whereClause.length() == 0) + whereClause = validation; + else if (validation.length() > 0) + whereClause += " AND " + validation; + if (whereClause.indexOf('@') != -1) + { + String validated = Env.parseContext(Env.getCtx(), getWindowNo(), whereClause, false); + if (validated.length() == 0) + log.severe(getColumnName() + " - Cannot Parse=" + whereClause); + else + { + log.fine(getColumnName() + " - Parsed: " + validated); + return validated; + } + } + return whereClause; + } + + @Override + public ArrayList getData(boolean mandatory, boolean onlyValidated, + boolean onlyActive, boolean temporary) { + ArrayList list = new ArrayList(); + + ValueNamePair[] values = getData(); + for (ValueNamePair value : values) + { + String PaymentRule = value.getValue(); + if (MInvoice.PAYMENTRULE_DirectDebit.equals(PaymentRule) // SO + && !m_isSOTrx) + continue; + else if (MInvoice.PAYMENTRULE_DirectDeposit.equals(PaymentRule) // PO + && m_isSOTrx) + continue; + list.add(value); + } + + return list; + } + + @Override + public int refresh() { + fillComboBox(isMandatory(), true, true, false); + return super.getSize(); + } +} diff --git a/org.adempiere.base/src/org/compiere/model/MSession.java b/org.adempiere.base/src/org/compiere/model/MSession.java index 948bba494e..99baa121b7 100644 --- a/org.adempiere.base/src/org/compiere/model/MSession.java +++ b/org.adempiere.base/src/org/compiere/model/MSession.java @@ -148,6 +148,7 @@ public class MSession extends X_AD_Session public MSession (Properties ctx, String Remote_Addr, String Remote_Host, String WebSession, String trxName) { this (ctx, 0, trxName); + setServerName(Ini.getProperties().getProperty("ServerName")); if (Remote_Addr != null) setRemote_Addr(Remote_Addr); if (Remote_Host != null) @@ -172,6 +173,7 @@ public class MSession extends X_AD_Session try { InetAddress lh = InetAddress.getLocalHost(); + setServerName(Ini.getProperties().getProperty("ServerName")); setRemote_Addr(lh.getHostAddress()); setRemote_Host(lh.getHostName()); setDescription(Adempiere.MAIN_VERSION + "_" diff --git a/org.adempiere.base/src/org/compiere/model/SystemIDs.java b/org.adempiere.base/src/org/compiere/model/SystemIDs.java index 793b845fa9..6c2207bb4b 100644 --- a/org.adempiere.base/src/org/compiere/model/SystemIDs.java +++ b/org.adempiere.base/src/org/compiere/model/SystemIDs.java @@ -96,6 +96,7 @@ public class SystemIDs public final static int REFERENCE_DATATYPE_LOCATOR = 31; public final static int REFERENCE_DATATYPE_MEMO = 34; public final static int REFERENCE_DATATYPE_NUMBER = 22; + public final static int REFERENCE_DATATYPE_PAYMENT = 200012; public final static int REFERENCE_DATATYPE_PRINTNAME = 42; public final static int REFERENCE_DATATYPE_PRODUCTATTRIBUTE = 35; public final static int REFERENCE_DATATYPE_QUANTITY = 29; diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_Session.java b/org.adempiere.base/src/org/compiere/model/X_AD_Session.java index 9221ef8268..372a237e2e 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_Session.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_Session.java @@ -220,6 +220,20 @@ public class X_AD_Session extends PO implements I_AD_Session, I_Persistent return (String)get_Value(COLUMNNAME_Remote_Host); } + /** Set Server name. + @param ServerName Server name */ + public void setServerName (String ServerName) + { + set_Value (COLUMNNAME_ServerName, ServerName); + } + + /** Get Server name. + @return Server name */ + public String getServerName () + { + return (String)get_Value(COLUMNNAME_ServerName); + } + /** Set Web Session. @param WebSession Web Session ID diff --git a/org.adempiere.base/src/org/compiere/model/X_C_BP_BankAccount.java b/org.adempiere.base/src/org/compiere/model/X_C_BP_BankAccount.java index 6f85172bee..da67a349a6 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_BP_BankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_BP_BankAccount.java @@ -30,7 +30,7 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers /** * */ - private static final long serialVersionUID = 20100614L; + private static final long serialVersionUID = 20121012L; /** Standard Constructor */ public X_C_BP_BankAccount (Properties ctx, int C_BP_BankAccount_ID, String trxName) @@ -39,8 +39,8 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers /** if (C_BP_BankAccount_ID == 0) { setA_Name (null); - setC_BPartner_ID (0); setC_BP_BankAccount_ID (0); + setC_BPartner_ID (0); setIsACH (false); } */ } @@ -73,23 +73,6 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers return sb.toString(); } - /** Set Account No. - @param AccountNo - Account Number - */ - public void setAccountNo (String AccountNo) - { - set_Value (COLUMNNAME_AccountNo, AccountNo); - } - - /** Get Account No. - @return Account Number - */ - public String getAccountNo () - { - return (String)get_Value(COLUMNNAME_AccountNo); - } - /** Set Account City. @param A_City City or the Credit Card or Account Holder @@ -124,34 +107,6 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers return (String)get_Value(COLUMNNAME_A_Country); } - public I_AD_User getAD_User() throws RuntimeException - { - return (I_AD_User)MTable.get(getCtx(), I_AD_User.Table_Name) - .getPO(getAD_User_ID(), get_TrxName()); } - - /** Set User/Contact. - @param AD_User_ID - User within the system - Internal or Business Partner Contact - */ - public void setAD_User_ID (int AD_User_ID) - { - if (AD_User_ID < 1) - set_Value (COLUMNNAME_AD_User_ID, null); - else - set_Value (COLUMNNAME_AD_User_ID, Integer.valueOf(AD_User_ID)); - } - - /** Get User/Contact. - @return User within the system - Internal or Business Partner Contact - */ - public int getAD_User_ID () - { - Integer ii = (Integer)get_Value(COLUMNNAME_AD_User_ID); - if (ii == null) - return 0; - return ii.intValue(); - } - /** Set Account EMail. @param A_EMail Email Address @@ -279,12 +234,61 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers return (String)get_Value(COLUMNNAME_A_Zip); } + /** Set Account No. + @param AccountNo + Account Number + */ + public void setAccountNo (String AccountNo) + { + set_Value (COLUMNNAME_AccountNo, AccountNo); + } + + /** Get Account No. + @return Account Number + */ + public String getAccountNo () + { + return (String)get_Value(COLUMNNAME_AccountNo); + } + + public org.compiere.model.I_AD_User getAD_User() throws RuntimeException + { + return (org.compiere.model.I_AD_User)MTable.get(getCtx(), org.compiere.model.I_AD_User.Table_Name) + .getPO(getAD_User_ID(), get_TrxName()); } + + /** Set User/Contact. + @param AD_User_ID + User within the system - Internal or Business Partner Contact + */ + public void setAD_User_ID (int AD_User_ID) + { + if (AD_User_ID < 1) + set_Value (COLUMNNAME_AD_User_ID, null); + else + set_Value (COLUMNNAME_AD_User_ID, Integer.valueOf(AD_User_ID)); + } + + /** Get User/Contact. + @return User within the system - Internal or Business Partner Contact + */ + public int getAD_User_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_User_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + /** BankAccountType AD_Reference_ID=216 */ public static final int BANKACCOUNTTYPE_AD_Reference_ID=216; /** Checking = C */ public static final String BANKACCOUNTTYPE_Checking = "C"; /** Savings = S */ public static final String BANKACCOUNTTYPE_Savings = "S"; + /** Cash = B */ + public static final String BANKACCOUNTTYPE_Cash = "B"; + /** Card = D */ + public static final String BANKACCOUNTTYPE_Card = "D"; /** Set Bank Account Type. @param BankAccountType Bank Account Type @@ -331,9 +335,9 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers return (String)get_Value(COLUMNNAME_BPBankAcctUse); } - public I_C_Bank getC_Bank() throws RuntimeException + public org.compiere.model.I_C_Bank getC_Bank() throws RuntimeException { - return (I_C_Bank)MTable.get(getCtx(), I_C_Bank.Table_Name) + return (org.compiere.model.I_C_Bank)MTable.get(getCtx(), org.compiere.model.I_C_Bank.Table_Name) .getPO(getC_Bank_ID(), get_TrxName()); } /** Set Bank. @@ -359,9 +363,46 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers return ii.intValue(); } - public I_C_BPartner getC_BPartner() throws RuntimeException + /** Set Partner Bank Account. + @param C_BP_BankAccount_ID + Bank Account of the Business Partner + */ + public void setC_BP_BankAccount_ID (int C_BP_BankAccount_ID) + { + if (C_BP_BankAccount_ID < 1) + set_ValueNoCheck (COLUMNNAME_C_BP_BankAccount_ID, null); + else + set_ValueNoCheck (COLUMNNAME_C_BP_BankAccount_ID, Integer.valueOf(C_BP_BankAccount_ID)); + } + + /** Get Partner Bank Account. + @return Bank Account of the Business Partner + */ + public int getC_BP_BankAccount_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_BP_BankAccount_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set C_BP_BankAccount_UU. + @param C_BP_BankAccount_UU C_BP_BankAccount_UU */ + public void setC_BP_BankAccount_UU (String C_BP_BankAccount_UU) + { + set_Value (COLUMNNAME_C_BP_BankAccount_UU, C_BP_BankAccount_UU); + } + + /** Get C_BP_BankAccount_UU. + @return C_BP_BankAccount_UU */ + public String getC_BP_BankAccount_UU () + { + return (String)get_Value(COLUMNNAME_C_BP_BankAccount_UU); + } + + public org.compiere.model.I_C_BPartner getC_BPartner() throws RuntimeException { - return (I_C_BPartner)MTable.get(getCtx(), I_C_BPartner.Table_Name) + return (org.compiere.model.I_C_BPartner)MTable.get(getCtx(), org.compiere.model.I_C_BPartner.Table_Name) .getPO(getC_BPartner_ID(), get_TrxName()); } /** Set Business Partner . @@ -387,29 +428,6 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers return ii.intValue(); } - /** Set Partner Bank Account. - @param C_BP_BankAccount_ID - Bank Account of the Business Partner - */ - public void setC_BP_BankAccount_ID (int C_BP_BankAccount_ID) - { - if (C_BP_BankAccount_ID < 1) - set_ValueNoCheck (COLUMNNAME_C_BP_BankAccount_ID, null); - else - set_ValueNoCheck (COLUMNNAME_C_BP_BankAccount_ID, Integer.valueOf(C_BP_BankAccount_ID)); - } - - /** Get Partner Bank Account. - @return Bank Account of the Business Partner - */ - public int getC_BP_BankAccount_ID () - { - Integer ii = (Integer)get_Value(COLUMNNAME_C_BP_BankAccount_ID); - if (ii == null) - return 0; - return ii.intValue(); - } - /** Set Exp. Month. @param CreditCardExpMM Expiry Month @@ -518,6 +536,20 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers return (String)get_Value(COLUMNNAME_CreditCardVV); } + /** Set Customer Payment Profile ID. + @param CustomerPaymentProfileID Customer Payment Profile ID */ + public void setCustomerPaymentProfileID (String CustomerPaymentProfileID) + { + set_Value (COLUMNNAME_CustomerPaymentProfileID, CustomerPaymentProfileID); + } + + /** Get Customer Payment Profile ID. + @return Customer Payment Profile ID */ + public String getCustomerPaymentProfileID () + { + return (String)get_Value(COLUMNNAME_CustomerPaymentProfileID); + } + /** Set ACH. @param IsACH Automatic Clearing House diff --git a/org.adempiere.base/src/org/compiere/model/X_C_BPartner.java b/org.adempiere.base/src/org/compiere/model/X_C_BPartner.java index a143c01c56..263df44c89 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_BPartner.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_BPartner.java @@ -33,7 +33,7 @@ public class X_C_BPartner extends PO implements I_C_BPartner, I_Persistent /** * */ - private static final long serialVersionUID = 20120906L; + private static final long serialVersionUID = 20121012L; /** Standard Constructor */ public X_C_BPartner (Properties ctx, int C_BPartner_ID, String trxName) @@ -41,8 +41,8 @@ public class X_C_BPartner extends PO implements I_C_BPartner, I_Persistent super (ctx, C_BPartner_ID, trxName); /** if (C_BPartner_ID == 0) { - setC_BPartner_ID (0); setC_BP_Group_ID (0); + setC_BPartner_ID (0); setIsCustomer (false); setIsEmployee (false); setIsOneTime (false); @@ -188,6 +188,34 @@ public class X_C_BPartner extends PO implements I_C_BPartner, I_Persistent return ii.intValue(); } + public org.compiere.model.I_C_BP_Group getC_BP_Group() throws RuntimeException + { + return (org.compiere.model.I_C_BP_Group)MTable.get(getCtx(), org.compiere.model.I_C_BP_Group.Table_Name) + .getPO(getC_BP_Group_ID(), get_TrxName()); } + + /** Set Business Partner Group. + @param C_BP_Group_ID + Business Partner Group + */ + public void setC_BP_Group_ID (int C_BP_Group_ID) + { + if (C_BP_Group_ID < 1) + set_Value (COLUMNNAME_C_BP_Group_ID, null); + else + set_Value (COLUMNNAME_C_BP_Group_ID, Integer.valueOf(C_BP_Group_ID)); + } + + /** Get Business Partner Group. + @return Business Partner Group + */ + public int getC_BP_Group_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_BP_Group_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + /** Set Business Partner . @param C_BPartner_ID Identifies a Business Partner @@ -225,34 +253,6 @@ public class X_C_BPartner extends PO implements I_C_BPartner, I_Persistent return (String)get_Value(COLUMNNAME_C_BPartner_UU); } - public org.compiere.model.I_C_BP_Group getC_BP_Group() throws RuntimeException - { - return (org.compiere.model.I_C_BP_Group)MTable.get(getCtx(), org.compiere.model.I_C_BP_Group.Table_Name) - .getPO(getC_BP_Group_ID(), get_TrxName()); } - - /** Set Business Partner Group. - @param C_BP_Group_ID - Business Partner Group - */ - public void setC_BP_Group_ID (int C_BP_Group_ID) - { - if (C_BP_Group_ID < 1) - set_Value (COLUMNNAME_C_BP_Group_ID, null); - else - set_Value (COLUMNNAME_C_BP_Group_ID, Integer.valueOf(C_BP_Group_ID)); - } - - /** Get Business Partner Group. - @return Business Partner Group - */ - public int getC_BP_Group_ID () - { - Integer ii = (Integer)get_Value(COLUMNNAME_C_BP_Group_ID); - if (ii == null) - return 0; - return ii.intValue(); - } - public org.compiere.model.I_C_Dunning getC_Dunning() throws RuntimeException { return (org.compiere.model.I_C_Dunning)MTable.get(getCtx(), org.compiere.model.I_C_Dunning.Table_Name) @@ -390,6 +390,20 @@ public class X_C_BPartner extends PO implements I_C_BPartner, I_Persistent return ii.intValue(); } + /** Set Customer Profile ID. + @param CustomerProfileID Customer Profile ID */ + public void setCustomerProfileID (String CustomerProfileID) + { + set_Value (COLUMNNAME_CustomerProfileID, CustomerProfileID); + } + + /** Get Customer Profile ID. + @return Customer Profile ID */ + public String getCustomerProfileID () + { + return (String)get_Value(COLUMNNAME_CustomerProfileID); + } + /** DeliveryRule AD_Reference_ID=151 */ public static final int DELIVERYRULE_AD_Reference_ID=151; /** After Receipt = R */ @@ -1408,36 +1422,6 @@ public class X_C_BPartner extends PO implements I_C_BPartner, I_Persistent return bd; } - /** SOCreditStatus AD_Reference_ID=289 */ - public static final int SOCREDITSTATUS_AD_Reference_ID=289; - /** Credit Stop = S */ - public static final String SOCREDITSTATUS_CreditStop = "S"; - /** Credit Hold = H */ - public static final String SOCREDITSTATUS_CreditHold = "H"; - /** Credit Watch = W */ - public static final String SOCREDITSTATUS_CreditWatch = "W"; - /** No Credit Check = X */ - public static final String SOCREDITSTATUS_NoCreditCheck = "X"; - /** Credit OK = O */ - public static final String SOCREDITSTATUS_CreditOK = "O"; - /** Set Credit Status. - @param SOCreditStatus - Business Partner Credit Status - */ - public void setSOCreditStatus (String SOCreditStatus) - { - - set_Value (COLUMNNAME_SOCreditStatus, SOCreditStatus); - } - - /** Get Credit Status. - @return Business Partner Credit Status - */ - public String getSOCreditStatus () - { - return (String)get_Value(COLUMNNAME_SOCreditStatus); - } - /** Set Credit Used. @param SO_CreditUsed Current open balance @@ -1475,6 +1459,36 @@ public class X_C_BPartner extends PO implements I_C_BPartner, I_Persistent return (String)get_Value(COLUMNNAME_SO_Description); } + /** SOCreditStatus AD_Reference_ID=289 */ + public static final int SOCREDITSTATUS_AD_Reference_ID=289; + /** Credit Stop = S */ + public static final String SOCREDITSTATUS_CreditStop = "S"; + /** Credit Hold = H */ + public static final String SOCREDITSTATUS_CreditHold = "H"; + /** Credit Watch = W */ + public static final String SOCREDITSTATUS_CreditWatch = "W"; + /** No Credit Check = X */ + public static final String SOCREDITSTATUS_NoCreditCheck = "X"; + /** Credit OK = O */ + public static final String SOCREDITSTATUS_CreditOK = "O"; + /** Set Credit Status. + @param SOCreditStatus + Business Partner Credit Status + */ + public void setSOCreditStatus (String SOCreditStatus) + { + + set_Value (COLUMNNAME_SOCreditStatus, SOCreditStatus); + } + + /** Get Credit Status. + @return Business Partner Credit Status + */ + public String getSOCreditStatus () + { + return (String)get_Value(COLUMNNAME_SOCreditStatus); + } + /** Set Tax ID. @param TaxID Tax Identification diff --git a/org.adempiere.base/src/org/compiere/model/X_C_BPartner_Location.java b/org.adempiere.base/src/org/compiere/model/X_C_BPartner_Location.java index 2d1aaf49e0..9d5f4a9574 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_BPartner_Location.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_BPartner_Location.java @@ -30,7 +30,7 @@ public class X_C_BPartner_Location extends PO implements I_C_BPartner_Location, /** * */ - private static final long serialVersionUID = 20100614L; + private static final long serialVersionUID = 20121012L; /** Standard Constructor */ public X_C_BPartner_Location (Properties ctx, int C_BPartner_Location_ID, String trxName) @@ -82,9 +82,9 @@ public class X_C_BPartner_Location extends PO implements I_C_BPartner_Location, return sb.toString(); } - public I_C_BPartner getC_BPartner() throws RuntimeException + public org.compiere.model.I_C_BPartner getC_BPartner() throws RuntimeException { - return (I_C_BPartner)MTable.get(getCtx(), I_C_BPartner.Table_Name) + return (org.compiere.model.I_C_BPartner)MTable.get(getCtx(), org.compiere.model.I_C_BPartner.Table_Name) .getPO(getC_BPartner_ID(), get_TrxName()); } /** Set Business Partner . @@ -133,6 +133,20 @@ public class X_C_BPartner_Location extends PO implements I_C_BPartner_Location, return ii.intValue(); } + /** Set C_BPartner_Location_UU. + @param C_BPartner_Location_UU C_BPartner_Location_UU */ + public void setC_BPartner_Location_UU (String C_BPartner_Location_UU) + { + set_Value (COLUMNNAME_C_BPartner_Location_UU, C_BPartner_Location_UU); + } + + /** Get C_BPartner_Location_UU. + @return C_BPartner_Location_UU */ + public String getC_BPartner_Location_UU () + { + return (String)get_Value(COLUMNNAME_C_BPartner_Location_UU); + } + public I_C_Location getC_Location() throws RuntimeException { return (I_C_Location)MTable.get(getCtx(), I_C_Location.Table_Name) @@ -161,9 +175,9 @@ public class X_C_BPartner_Location extends PO implements I_C_BPartner_Location, return ii.intValue(); } - public I_C_SalesRegion getC_SalesRegion() throws RuntimeException + public org.compiere.model.I_C_SalesRegion getC_SalesRegion() throws RuntimeException { - return (I_C_SalesRegion)MTable.get(getCtx(), I_C_SalesRegion.Table_Name) + return (org.compiere.model.I_C_SalesRegion)MTable.get(getCtx(), org.compiere.model.I_C_SalesRegion.Table_Name) .getPO(getC_SalesRegion_ID(), get_TrxName()); } /** Set Sales Region. @@ -189,6 +203,20 @@ public class X_C_BPartner_Location extends PO implements I_C_BPartner_Location, return ii.intValue(); } + /** Set Customer Address ID. + @param CustomerAddressID Customer Address ID */ + public void setCustomerAddressID (String CustomerAddressID) + { + set_Value (COLUMNNAME_CustomerAddressID, CustomerAddressID); + } + + /** Get Customer Address ID. + @return Customer Address ID */ + public String getCustomerAddressID () + { + return (String)get_Value(COLUMNNAME_CustomerAddressID); + } + /** Set Fax. @param Fax Facsimile number diff --git a/org.adempiere.base/src/org/compiere/model/X_C_Payment.java b/org.adempiere.base/src/org/compiere/model/X_C_Payment.java index 86a9da06eb..f03325bf24 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_Payment.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_Payment.java @@ -33,7 +33,7 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent /** * */ - private static final long serialVersionUID = 20120906L; + private static final long serialVersionUID = 20121012L; /** Standard Constructor */ public X_C_Payment (Properties ctx, int C_Payment_ID, String trxName) @@ -65,6 +65,8 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent setIsReceipt (false); setIsReconciled (false); setIsSelfService (false); + setIsVoided (false); +// N setPayAmt (Env.ZERO); // 0 setPosted (false); @@ -105,23 +107,6 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return sb.toString(); } - /** Set Account No. - @param AccountNo - Account Number - */ - public void setAccountNo (String AccountNo) - { - set_Value (COLUMNNAME_AccountNo, AccountNo); - } - - /** Get Account No. - @return Account Number - */ - public String getAccountNo () - { - return (String)get_Value(COLUMNNAME_AccountNo); - } - /** Set Account City. @param A_City City or the Credit Card or Account Holder @@ -156,29 +141,6 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return (String)get_Value(COLUMNNAME_A_Country); } - /** Set Trx Organization. - @param AD_OrgTrx_ID - Performing or initiating organization - */ - public void setAD_OrgTrx_ID (int AD_OrgTrx_ID) - { - if (AD_OrgTrx_ID < 1) - set_Value (COLUMNNAME_AD_OrgTrx_ID, null); - else - set_Value (COLUMNNAME_AD_OrgTrx_ID, Integer.valueOf(AD_OrgTrx_ID)); - } - - /** Get Trx Organization. - @return Performing or initiating organization - */ - public int getAD_OrgTrx_ID () - { - Integer ii = (Integer)get_Value(COLUMNNAME_AD_OrgTrx_ID); - if (ii == null) - return 0; - return ii.intValue(); - } - /** Set Account EMail. @param A_EMail Email Address @@ -298,6 +260,46 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return (String)get_Value(COLUMNNAME_A_Zip); } + /** Set Account No. + @param AccountNo + Account Number + */ + public void setAccountNo (String AccountNo) + { + set_Value (COLUMNNAME_AccountNo, AccountNo); + } + + /** Get Account No. + @return Account Number + */ + public String getAccountNo () + { + return (String)get_Value(COLUMNNAME_AccountNo); + } + + /** Set Trx Organization. + @param AD_OrgTrx_ID + Performing or initiating organization + */ + public void setAD_OrgTrx_ID (int AD_OrgTrx_ID) + { + if (AD_OrgTrx_ID < 1) + set_Value (COLUMNNAME_AD_OrgTrx_ID, null); + else + set_Value (COLUMNNAME_AD_OrgTrx_ID, Integer.valueOf(AD_OrgTrx_ID)); + } + + /** Get Trx Organization. + @return Performing or initiating organization + */ + public int getAD_OrgTrx_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_OrgTrx_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + public org.compiere.model.I_C_Activity getC_Activity() throws RuntimeException { return (org.compiere.model.I_C_Activity)MTable.get(getCtx(), org.compiere.model.I_C_Activity.Table_Name) @@ -354,34 +356,6 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return ii.intValue(); } - public org.compiere.model.I_C_BPartner getC_BPartner() throws RuntimeException - { - return (org.compiere.model.I_C_BPartner)MTable.get(getCtx(), org.compiere.model.I_C_BPartner.Table_Name) - .getPO(getC_BPartner_ID(), get_TrxName()); } - - /** Set Business Partner . - @param C_BPartner_ID - Identifies a Business Partner - */ - public void setC_BPartner_ID (int C_BPartner_ID) - { - if (C_BPartner_ID < 1) - set_Value (COLUMNNAME_C_BPartner_ID, null); - else - set_Value (COLUMNNAME_C_BPartner_ID, Integer.valueOf(C_BPartner_ID)); - } - - /** Get Business Partner . - @return Identifies a Business Partner - */ - public int getC_BPartner_ID () - { - Integer ii = (Integer)get_Value(COLUMNNAME_C_BPartner_ID); - if (ii == null) - return 0; - return ii.intValue(); - } - public org.compiere.model.I_C_BP_BankAccount getC_BP_BankAccount() throws RuntimeException { return (org.compiere.model.I_C_BP_BankAccount)MTable.get(getCtx(), org.compiere.model.I_C_BP_BankAccount.Table_Name) @@ -410,6 +384,34 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return ii.intValue(); } + public org.compiere.model.I_C_BPartner getC_BPartner() throws RuntimeException + { + return (org.compiere.model.I_C_BPartner)MTable.get(getCtx(), org.compiere.model.I_C_BPartner.Table_Name) + .getPO(getC_BPartner_ID(), get_TrxName()); } + + /** Set Business Partner . + @param C_BPartner_ID + Identifies a Business Partner + */ + public void setC_BPartner_ID (int C_BPartner_ID) + { + if (C_BPartner_ID < 1) + set_Value (COLUMNNAME_C_BPartner_ID, null); + else + set_Value (COLUMNNAME_C_BPartner_ID, Integer.valueOf(C_BPartner_ID)); + } + + /** Get Business Partner . + @return Identifies a Business Partner + */ + public int getC_BPartner_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_BPartner_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + public org.compiere.model.I_C_Campaign getC_Campaign() throws RuntimeException { return (org.compiere.model.I_C_Campaign)MTable.get(getCtx(), org.compiere.model.I_C_Campaign.Table_Name) @@ -578,43 +580,6 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return ii.intValue(); } - /** Set Charge amount. - @param ChargeAmt - Charge Amount - */ - public void setChargeAmt (BigDecimal ChargeAmt) - { - set_Value (COLUMNNAME_ChargeAmt, ChargeAmt); - } - - /** Get Charge amount. - @return Charge Amount - */ - public BigDecimal getChargeAmt () - { - BigDecimal bd = (BigDecimal)get_Value(COLUMNNAME_ChargeAmt); - if (bd == null) - return Env.ZERO; - return bd; - } - - /** Set Check No. - @param CheckNo - Check Number - */ - public void setCheckNo (String CheckNo) - { - set_Value (COLUMNNAME_CheckNo, CheckNo); - } - - /** Get Check No. - @return Check Number - */ - public String getCheckNo () - { - return (String)get_Value(COLUMNNAME_CheckNo); - } - public org.compiere.model.I_C_Invoice getC_Invoice() throws RuntimeException { return (org.compiere.model.I_C_Invoice)MTable.get(getCtx(), org.compiere.model.I_C_Invoice.Table_Name) @@ -671,34 +636,6 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return ii.intValue(); } - public org.compiere.model.I_C_PaymentBatch getC_PaymentBatch() throws RuntimeException - { - return (org.compiere.model.I_C_PaymentBatch)MTable.get(getCtx(), org.compiere.model.I_C_PaymentBatch.Table_Name) - .getPO(getC_PaymentBatch_ID(), get_TrxName()); } - - /** Set Payment Batch. - @param C_PaymentBatch_ID - Payment batch for EFT - */ - public void setC_PaymentBatch_ID (int C_PaymentBatch_ID) - { - if (C_PaymentBatch_ID < 1) - set_Value (COLUMNNAME_C_PaymentBatch_ID, null); - else - set_Value (COLUMNNAME_C_PaymentBatch_ID, Integer.valueOf(C_PaymentBatch_ID)); - } - - /** Get Payment Batch. - @return Payment batch for EFT - */ - public int getC_PaymentBatch_ID () - { - Integer ii = (Integer)get_Value(COLUMNNAME_C_PaymentBatch_ID); - if (ii == null) - return 0; - return ii.intValue(); - } - /** Set Payment. @param C_Payment_ID Payment identifier @@ -736,6 +673,62 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return (String)get_Value(COLUMNNAME_C_Payment_UU); } + public org.compiere.model.I_C_PaymentBatch getC_PaymentBatch() throws RuntimeException + { + return (org.compiere.model.I_C_PaymentBatch)MTable.get(getCtx(), org.compiere.model.I_C_PaymentBatch.Table_Name) + .getPO(getC_PaymentBatch_ID(), get_TrxName()); } + + /** Set Payment Batch. + @param C_PaymentBatch_ID + Payment batch for EFT + */ + public void setC_PaymentBatch_ID (int C_PaymentBatch_ID) + { + if (C_PaymentBatch_ID < 1) + set_Value (COLUMNNAME_C_PaymentBatch_ID, null); + else + set_Value (COLUMNNAME_C_PaymentBatch_ID, Integer.valueOf(C_PaymentBatch_ID)); + } + + /** Get Payment Batch. + @return Payment batch for EFT + */ + public int getC_PaymentBatch_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_PaymentBatch_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.compiere.model.I_C_PaymentProcessor getC_PaymentProcessor() throws RuntimeException + { + return (org.compiere.model.I_C_PaymentProcessor)MTable.get(getCtx(), org.compiere.model.I_C_PaymentProcessor.Table_Name) + .getPO(getC_PaymentProcessor_ID(), get_TrxName()); } + + /** Set Payment Processor. + @param C_PaymentProcessor_ID + Payment processor for electronic payments + */ + public void setC_PaymentProcessor_ID (int C_PaymentProcessor_ID) + { + if (C_PaymentProcessor_ID < 1) + set_Value (COLUMNNAME_C_PaymentProcessor_ID, null); + else + set_Value (COLUMNNAME_C_PaymentProcessor_ID, Integer.valueOf(C_PaymentProcessor_ID)); + } + + /** Get Payment Processor. + @return Payment processor for electronic payments + */ + public int getC_PaymentProcessor_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_PaymentProcessor_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + public org.compiere.model.I_C_POSTenderType getC_POSTenderType() throws RuntimeException { return (org.compiere.model.I_C_POSTenderType)MTable.get(getCtx(), org.compiere.model.I_C_POSTenderType.Table_Name) @@ -789,6 +782,43 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return ii.intValue(); } + /** Set Charge amount. + @param ChargeAmt + Charge Amount + */ + public void setChargeAmt (BigDecimal ChargeAmt) + { + set_Value (COLUMNNAME_ChargeAmt, ChargeAmt); + } + + /** Get Charge amount. + @return Charge Amount + */ + public BigDecimal getChargeAmt () + { + BigDecimal bd = (BigDecimal)get_Value(COLUMNNAME_ChargeAmt); + if (bd == null) + return Env.ZERO; + return bd; + } + + /** Set Check No. + @param CheckNo + Check Number + */ + public void setCheckNo (String CheckNo) + { + set_Value (COLUMNNAME_CheckNo, CheckNo); + } + + /** Get Check No. + @return Check Number + */ + public String getCheckNo () + { + return (String)get_Value(COLUMNNAME_CheckNo); + } + /** Set Exp. Month. @param CreditCardExpMM Expiry Month @@ -897,6 +927,48 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return (String)get_Value(COLUMNNAME_CreditCardVV); } + /** Set Customer Address ID. + @param CustomerAddressID Customer Address ID */ + public void setCustomerAddressID (String CustomerAddressID) + { + set_Value (COLUMNNAME_CustomerAddressID, CustomerAddressID); + } + + /** Get Customer Address ID. + @return Customer Address ID */ + public String getCustomerAddressID () + { + return (String)get_Value(COLUMNNAME_CustomerAddressID); + } + + /** Set Customer Payment Profile ID. + @param CustomerPaymentProfileID Customer Payment Profile ID */ + public void setCustomerPaymentProfileID (String CustomerPaymentProfileID) + { + set_Value (COLUMNNAME_CustomerPaymentProfileID, CustomerPaymentProfileID); + } + + /** Get Customer Payment Profile ID. + @return Customer Payment Profile ID */ + public String getCustomerPaymentProfileID () + { + return (String)get_Value(COLUMNNAME_CustomerPaymentProfileID); + } + + /** Set Customer Profile ID. + @param CustomerProfileID Customer Profile ID */ + public void setCustomerProfileID (String CustomerProfileID) + { + set_Value (COLUMNNAME_CustomerProfileID, CustomerProfileID); + } + + /** Get Customer Profile ID. + @return Customer Profile ID */ + public String getCustomerProfileID () + { + return (String)get_Value(COLUMNNAME_CustomerProfileID); + } + /** Set Account Date. @param DateAcct Accounting Date @@ -1301,6 +1373,27 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return false; } + /** Set Voided. + @param IsVoided Voided */ + public void setIsVoided (boolean IsVoided) + { + set_Value (COLUMNNAME_IsVoided, Boolean.valueOf(IsVoided)); + } + + /** Get Voided. + @return Voided */ + public boolean isVoided () + { + Object oo = get_Value(COLUMNNAME_IsVoided); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + /** Set Micr. @param Micr Combination of routing no, account and check no @@ -1608,59 +1701,6 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return false; } - public org.compiere.model.I_C_Payment getRef_Payment() throws RuntimeException - { - return (org.compiere.model.I_C_Payment)MTable.get(getCtx(), org.compiere.model.I_C_Payment.Table_Name) - .getPO(getRef_Payment_ID(), get_TrxName()); } - - /** Set Referenced Payment. - @param Ref_Payment_ID Referenced Payment */ - public void setRef_Payment_ID (int Ref_Payment_ID) - { - if (Ref_Payment_ID < 1) - set_ValueNoCheck (COLUMNNAME_Ref_Payment_ID, null); - else - set_ValueNoCheck (COLUMNNAME_Ref_Payment_ID, Integer.valueOf(Ref_Payment_ID)); - } - - /** Get Referenced Payment. - @return Referenced Payment */ - public int getRef_Payment_ID () - { - Integer ii = (Integer)get_Value(COLUMNNAME_Ref_Payment_ID); - if (ii == null) - return 0; - return ii.intValue(); - } - - public org.compiere.model.I_C_Payment getReversal() throws RuntimeException - { - return (org.compiere.model.I_C_Payment)MTable.get(getCtx(), org.compiere.model.I_C_Payment.Table_Name) - .getPO(getReversal_ID(), get_TrxName()); } - - /** Set Reversal ID. - @param Reversal_ID - ID of document reversal - */ - public void setReversal_ID (int Reversal_ID) - { - if (Reversal_ID < 1) - set_Value (COLUMNNAME_Reversal_ID, null); - else - set_Value (COLUMNNAME_Reversal_ID, Integer.valueOf(Reversal_ID)); - } - - /** Get Reversal ID. - @return ID of document reversal - */ - public int getReversal_ID () - { - Integer ii = (Integer)get_Value(COLUMNNAME_Reversal_ID); - if (ii == null) - return 0; - return ii.intValue(); - } - /** Set Info. @param R_Info Response info @@ -1678,23 +1718,6 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return (String)get_Value(COLUMNNAME_R_Info); } - /** Set Routing No. - @param RoutingNo - Bank Routing Number - */ - public void setRoutingNo (String RoutingNo) - { - set_Value (COLUMNNAME_RoutingNo, RoutingNo); - } - - /** Get Routing No. - @return Bank Routing Number - */ - public String getRoutingNo () - { - return (String)get_Value(COLUMNNAME_RoutingNo); - } - /** Set Reference. @param R_PnRef Payment reference @@ -1763,6 +1786,90 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return (String)get_Value(COLUMNNAME_R_Result); } + /** Set Void Message. + @param R_VoidMsg Void Message */ + public void setR_VoidMsg (String R_VoidMsg) + { + set_Value (COLUMNNAME_R_VoidMsg, R_VoidMsg); + } + + /** Get Void Message. + @return Void Message */ + public String getR_VoidMsg () + { + return (String)get_Value(COLUMNNAME_R_VoidMsg); + } + + public org.compiere.model.I_C_Payment getRef_Payment() throws RuntimeException + { + return (org.compiere.model.I_C_Payment)MTable.get(getCtx(), org.compiere.model.I_C_Payment.Table_Name) + .getPO(getRef_Payment_ID(), get_TrxName()); } + + /** Set Referenced Payment. + @param Ref_Payment_ID Referenced Payment */ + public void setRef_Payment_ID (int Ref_Payment_ID) + { + if (Ref_Payment_ID < 1) + set_ValueNoCheck (COLUMNNAME_Ref_Payment_ID, null); + else + set_ValueNoCheck (COLUMNNAME_Ref_Payment_ID, Integer.valueOf(Ref_Payment_ID)); + } + + /** Get Referenced Payment. + @return Referenced Payment */ + public int getRef_Payment_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_Ref_Payment_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.compiere.model.I_C_Payment getReversal() throws RuntimeException + { + return (org.compiere.model.I_C_Payment)MTable.get(getCtx(), org.compiere.model.I_C_Payment.Table_Name) + .getPO(getReversal_ID(), get_TrxName()); } + + /** Set Reversal ID. + @param Reversal_ID + ID of document reversal + */ + public void setReversal_ID (int Reversal_ID) + { + if (Reversal_ID < 1) + set_Value (COLUMNNAME_Reversal_ID, null); + else + set_Value (COLUMNNAME_Reversal_ID, Integer.valueOf(Reversal_ID)); + } + + /** Get Reversal ID. + @return ID of document reversal + */ + public int getReversal_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_Reversal_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Routing No. + @param RoutingNo + Bank Routing Number + */ + public void setRoutingNo (String RoutingNo) + { + set_Value (COLUMNNAME_RoutingNo, RoutingNo); + } + + /** Get Routing No. + @return Bank Routing Number + */ + public String getRoutingNo () + { + return (String)get_Value(COLUMNNAME_RoutingNo); + } + /** Set Swipe. @param Swipe Track 1 and 2 of the Credit Card diff --git a/org.adempiere.base/src/org/compiere/util/DisplayType.java b/org.adempiere.base/src/org/compiere/util/DisplayType.java index 23ce0efcee..9c5b04a0a7 100644 --- a/org.adempiere.base/src/org/compiere/util/DisplayType.java +++ b/org.adempiere.base/src/org/compiere/util/DisplayType.java @@ -16,6 +16,40 @@ *****************************************************************************/ package org.compiere.util; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_ACCOUNT; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_AMOUNT; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_ASSIGNMENT; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_BINARY; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_BUTTON; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_COLOR; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_COSTPRICE; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_DATE; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_DATETIME; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_FILENAME; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_FILEPATH; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_ID; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_IMAGE; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_INTEGER; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_LIST; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_LOCATION; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_LOCATOR; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_MEMO; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_NUMBER; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_PAYMENT; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_PRINTNAME; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_PRODUCTATTRIBUTE; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_QUANTITY; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_ROWID; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_SEARCH; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_STRING; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_TABLE; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_TABLEDIR; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_TEXT; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_TEXTLONG; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_TIME; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_URL; +import static org.compiere.model.SystemIDs.REFERENCE_DATATYPE_YES_NO; + import java.text.DateFormat; import java.text.DecimalFormat; import java.text.NumberFormat; @@ -23,8 +57,6 @@ import java.text.SimpleDateFormat; import java.util.Locale; import java.util.logging.Level; -import static org.compiere.model.SystemIDs.*; - /** * System Display Types. *
@@ -103,6 +135,8 @@ public final class DisplayType
 	/** Display Type 42	PrinterName	*/
 	public static final int PrinterName  = REFERENCE_DATATYPE_PRINTNAME;
 	//	Candidates:
+	/** Display Type 200012	Payment	*/
+	public static final int Payment  = REFERENCE_DATATYPE_PAYMENT;
 
 	/**
 	 *	- New Display Type
@@ -428,7 +462,7 @@ public final class DisplayType
 	 */
 	public static Class getClass (int displayType, boolean yesNoAsBoolean)
 	{
-		if (isText(displayType) || displayType == List)
+		if (isText(displayType) || displayType == List || displayType == Payment)
 			return String.class;
 		else if (isID(displayType) || displayType == Integer)    //  note that Integer is stored as BD
 			return Integer.class;
@@ -488,7 +522,7 @@ public final class DisplayType
 			return "CLOB";
 		if (displayType == DisplayType.YesNo)
 			return "CHAR(1)";
-		if (displayType == DisplayType.List) {
+		if (displayType == DisplayType.List || displayType == DisplayType.Payment) {
 			if (fieldLength == 1)
 				return "CHAR(" + fieldLength + ")";
 			else
@@ -585,6 +619,8 @@ public final class DisplayType
 			return "URL";
 		if (displayType == PrinterName)
 			return "PrinterName";
+		if (displayType == Payment)
+			return "Payment";
 		//
 		return "UNKNOWN DisplayType=" + displayType;
 	}	//	getDescription
diff --git a/org.adempiere.base/src/org/compiere/util/Ini.java b/org.adempiere.base/src/org/compiere/util/Ini.java
index 7e9ae05d39..bf35e8ae39 100644
--- a/org.adempiere.base/src/org/compiere/util/Ini.java
+++ b/org.adempiere.base/src/org/compiere/util/Ini.java
@@ -141,6 +141,9 @@ public final class Ini implements Serializable
 	/** Role					*/
 	public static final String  P_ROLE =			"Role";
 	private static final String  DEFAULT_ROLE =		"";
+	/**Server Name				*/
+	public static final String  P_SERVERNAME =			"ServerName";
+	private static final String  DEFAULT_SERVERNAME =	"";
 	/** Client Name				*/
 	public static final String	P_CLIENT =			"Client";
 	private static final String	DEFAULT_CLIENT =	"";
@@ -196,7 +199,7 @@ public final class Ini implements Serializable
 		P_ADEMPIERESYS, P_LOGMIGRATIONSCRIPT, P_SHOW_ACCT, P_SHOW_TRL,
 		P_SHOW_ADVANCED, P_CACHE_WINDOW,
 		P_CONTEXT, P_TEMP_DIR,
-		P_ROLE, P_CLIENT, P_ORG, P_PRINTER, P_WAREHOUSE, P_TODAY,
+		P_ROLE, P_SERVERNAME, P_CLIENT, P_ORG, P_PRINTER, P_WAREHOUSE, P_TODAY,
 		P_PRINTPREVIEW,
 		P_VALIDATE_CONNECTION_ON_STARTUP,
 		P_SINGLE_INSTANCE_PER_WINDOW,
@@ -214,7 +217,7 @@ public final class Ini implements Serializable
 		DEFAULT_ADEMPIERESYS?"Y":"N", DEFAULT_LOGMIGRATIONSCRIPT?"Y":"N", DEFAULT_SHOW_ACCT?"Y":"N", DEFAULT_SHOW_TRL?"Y":"N",
 		DEFAULT_SHOW_ADVANCED?"Y":"N", DEFAULT_CACHE_WINDOW?"Y":"N",
 		DEFAULT_CONTEXT, DEFAULT_TEMP_DIR,
-		DEFAULT_ROLE, DEFAULT_CLIENT, DEFAULT_ORG, DEFAULT_PRINTER, DEFAULT_WAREHOUSE, DEFAULT_TODAY.toString(),
+		DEFAULT_ROLE, DEFAULT_SERVERNAME, DEFAULT_CLIENT, DEFAULT_ORG, DEFAULT_PRINTER, DEFAULT_WAREHOUSE, DEFAULT_TODAY.toString(),
 		DEFAULT_PRINTPREVIEW?"Y":"N",
 		DEFAULT_VALIDATE_CONNECTION_ON_STARTUP?"Y":"N",
 		DEFAULT_SINGLE_INSTANCE_PER_WINDOW?"Y":"N",
diff --git a/org.adempiere.base/src/org/compiere/util/WebLogin.java b/org.adempiere.base/src/org/compiere/util/WebLogin.java
index af315fa5bd..1b288eaffe 100644
--- a/org.adempiere.base/src/org/compiere/util/WebLogin.java
+++ b/org.adempiere.base/src/org/compiere/util/WebLogin.java
@@ -154,6 +154,9 @@ public class WebLogin
 	 */
 	public boolean action() throws IOException, ServletException
 	{
+		//remote Address
+		String remoteIP = m_request.getHeader("X-Forwarded-For");
+		remoteIP = remoteIP!=null ? remoteIP : m_request.getRemoteAddr(); 
 		//	Mode
 		if (getMode() == null) 
 		{
@@ -228,7 +231,7 @@ public class WebLogin
 				if (m_forward==null || m_forward.equals(getLogin_RelURL ()))
 					m_forward = "/index.jsp";
 				//	Create Session with User ID
-				MSession cSession = MSession.get (m_ctx, m_request.getRemoteAddr(), 
+				MSession cSession = MSession.get (m_ctx, remoteIP, 
 					m_request.getRemoteHost(), m_session.getId());
 				if (cSession != null)
 					cSession.setWebStoreSession(true);
@@ -275,7 +278,7 @@ public class WebLogin
 					//	Create / set session
 					if (m_wu.isLoggedIn())
 					{
-						MSession cSession = MSession.get (m_ctx, m_request.getRemoteAddr(), 
+						MSession cSession = MSession.get (m_ctx, remoteIP, 
 							m_request.getRemoteHost(), m_session.getId());
 						if (cSession != null)
 							cSession.setWebStoreSession(true);
@@ -312,7 +315,7 @@ public class WebLogin
 					{
 						m_session.setAttribute (WebInfo.NAME, new WebInfo (m_ctx, m_wu));
 						//	Create / set session
-						MSession cSession = MSession.get (m_ctx, m_request.getRemoteAddr(), 
+						MSession cSession = MSession.get (m_ctx, remoteIP, 
 							m_request.getRemoteHost(), m_session.getId());
 						if (cSession != null)
 							cSession.setWebStoreSession(true);
@@ -380,7 +383,7 @@ public class WebLogin
                 return false;
             }
 
-            MSession cSession = MSession.get (m_ctx, m_request.getRemoteAddr(), m_request.getRemoteHost(), m_session.getId());
+            MSession cSession = MSession.get (m_ctx, remoteIP, m_request.getRemoteHost(), m_session.getId());
             if (cSession != null)
                 cSession.setWebStoreSession(true);
 
diff --git a/org.adempiere.ui.swing/src/org/adempiere/ui/swing/factory/DefaultEditorFactory.java b/org.adempiere.ui.swing/src/org/adempiere/ui/swing/factory/DefaultEditorFactory.java
index 346b66dbd3..f60a44b01a 100644
--- a/org.adempiere.ui.swing/src/org/adempiere/ui/swing/factory/DefaultEditorFactory.java
+++ b/org.adempiere.ui.swing/src/org/adempiere/ui/swing/factory/DefaultEditorFactory.java
@@ -31,6 +31,7 @@ import org.compiere.grid.ed.VMemo;
 import org.compiere.grid.ed.VNumber;
 import org.compiere.grid.ed.VPAttribute;
 import org.compiere.grid.ed.VPassword;
+import org.compiere.grid.ed.VPaymentEditor;
 import org.compiere.grid.ed.VString;
 import org.compiere.grid.ed.VText;
 import org.compiere.grid.ed.VTextLong;
@@ -41,6 +42,7 @@ import org.compiere.model.MAccountLookup;
 import org.compiere.model.MLocationLookup;
 import org.compiere.model.MLocatorLookup;
 import org.compiere.model.MPAttributeLookup;
+import org.compiere.model.MPaymentLookup;
 import org.compiere.util.DisplayType;
 
 /**
@@ -285,6 +287,12 @@ public class DefaultEditorFactory implements IEditorFactory {
 			bin.setField (mField);
 			editor = bin;
 		}
+		
+		else if (displayType == DisplayType.Payment)
+		{
+			VPaymentEditor p = new VPaymentEditor (mField, columnName, mandatory, readOnly, updateable, (MPaymentLookup) mField.getLookup());
+			editor = p;
+		}
 
 		return editor;
 	}
diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormCash.java b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormCash.java
new file mode 100644
index 0000000000..92d1d9cae3
--- /dev/null
+++ b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormCash.java
@@ -0,0 +1,231 @@
+package org.compiere.grid;
+
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Enumeration;
+
+import org.compiere.apps.ADialog;
+import org.compiere.grid.ed.VDate;
+import org.compiere.grid.ed.VNumber;
+import org.compiere.model.GridTab;
+import org.compiere.model.MConversionRate;
+import org.compiere.model.MInvoice;
+import org.compiere.swing.CComboBox;
+import org.compiere.swing.CLabel;
+import org.compiere.util.DisplayType;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+import org.compiere.util.Msg;
+
+
+public class VPaymentFormCash extends PaymentFormCash implements ActionListener {
+
+	private VPaymentFormDialog dialog;
+	
+	private CLabel bBankAccountLabel = new CLabel();
+	private CComboBox bBankAccountCombo = new CComboBox();
+	private CLabel bCashBookLabel = new CLabel();
+	private CComboBox bCashBookCombo = new CComboBox();
+	private CLabel bCurrencyLabel = new CLabel();
+	private CComboBox bCurrencyCombo = new CComboBox();
+	private VDate bDateField;
+	private CLabel bDateLabel = new CLabel();
+	private CLabel bAmountLabel = new CLabel();
+	private VNumber bAmountField = new VNumber();
+
+	public VPaymentFormCash(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		bDateField = new VDate("DateAcct", false, false, true, DisplayType.Date, "DateAcct");
+		dialog = new VPaymentFormDialog(this, windowNo);	
+		init();		
+		
+		//Bojana&Daniel
+		//If Invoice is Vendor invoice then Cash has to be created by negative amount
+		int C_Invoice_ID = Env.getContextAsInt(Env.getCtx(), windowNo, "C_Invoice_ID");
+		MInvoice invoice_tmp = new MInvoice (Env.getCtx(), C_Invoice_ID, null);
+		if (! invoice_tmp.isSOTrx())
+		{
+			bAmountField.setValue(m_Amount.negate());
+		}else {
+			bAmountField.setValue(m_Amount);
+		}
+		invoice_tmp = null;
+	}
+	
+	public void init() {
+		GridBagLayout bPanelLayout = new GridBagLayout();
+		bBankAccountLabel.setText(Msg.translate(Env.getCtx(), "C_BankAccount_ID"));
+		bCurrencyLabel.setText(Msg.translate(Env.getCtx(), "C_Currency_ID"));		
+		dialog.getPanel().setLayout(bPanelLayout);
+		bAmountLabel.setText(Msg.getMsg(Env.getCtx(), "Amount"));
+		//bAmountField.setText("");
+		bDateLabel.setText(Msg.translate(Env.getCtx(), "DateAcct"));
+		
+		if (m_Cash_As_Payment){
+			dialog.getPanel().add(bBankAccountLabel,   new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
+					,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 2, 0), 0, 0));
+			dialog.getPanel().add(bBankAccountCombo,    new GridBagConstraints(1, 0, 2, 1, 0.0, 0.0
+					,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, 5, 2, 5), 0, 0));
+
+		} else {
+			bCashBookLabel.setText(Msg.translate(Env.getCtx(), "C_CashBook_ID"));
+			dialog.getPanel().add(bCashBookLabel,  new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
+					,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 2, 0), 0, 0));
+			dialog.getPanel().add(bCashBookCombo,  new GridBagConstraints(1, 0, 2, 1, 0.0, 0.0
+					,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, 5, 2, 5), 0, 0));
+
+		}
+		
+		dialog.getPanel().add(bCurrencyLabel,  new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(bCurrencyCombo,  new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, 5, 2, 5), 0, 0));
+		dialog.getPanel().add(bDateLabel,  new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0
+				,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(bDateField,  new GridBagConstraints(1, 2, 2, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 2, 5), 0, 0));
+		dialog.getPanel().add(bAmountLabel,   new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(bAmountField,  new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 2, 5), 0, 0));
+	}
+	
+	@Override
+	public void loadData() {
+		bAmountField.setValue(m_Amount);
+		
+		if (m_C_Payment_ID != 0)
+			bAmountField.setValue(m_mPayment.getPayAmt());
+		
+		//  Existing Cashbook entry
+		if (m_C_CashLine_ID != 0)
+			bAmountField.setValue(m_cashLine.getAmount()); 
+
+		//	Accounting Date
+		bDateField.setValue(m_DateAcct);
+		
+		// Is the currency an EMU currency?
+		Integer C_Currency_ID = new Integer(m_C_Currency_ID);
+		if (s_Currencies.containsKey(C_Currency_ID)) {
+			Enumeration en = s_Currencies.keys();
+			while (en.hasMoreElements()) {
+				Object key = en.nextElement();
+				bCurrencyCombo.addItem(s_Currencies.get(key));
+			}
+			bCurrencyCombo.addActionListener(this);
+			bCurrencyCombo.setSelectedItem(s_Currencies.get(C_Currency_ID));
+		} 
+		else // No EMU Currency
+		{
+			bCurrencyLabel.setVisible(false); // Cash
+			bCurrencyCombo.setVisible(false);
+		}
+		
+		ArrayList list = getBankAccountList();
+		for (KeyNamePair pp : list)
+			bBankAccountCombo.addItem(pp);
+		
+		//	Set Selection
+		if (selectedBankAccount != null)
+			bBankAccountCombo.setSelectedItem(selectedBankAccount);
+		
+		
+		list = getCashBookList();
+		for (KeyNamePair pp : list)
+			bCashBookCombo.addItem(pp);
+		
+		//	Set Selection
+		if (selectedCashBook != null)
+			bCashBookCombo.setSelectedItem(selectedCashBook);
+	}
+	
+	public void actionPerformed(ActionEvent e)
+	{
+		if (e.getSource() == bCurrencyCombo)
+		{
+			KeyNamePair pp = (KeyNamePair)bCurrencyCombo.getSelectedItem();
+			BigDecimal amt = MConversionRate.convert(Env.getCtx(),
+				m_Amount, m_C_Currency_ID, pp.getKey(), m_AD_Client_ID, m_AD_Org_ID);
+			bAmountField.setValue(amt);
+		}
+	}
+	
+	@Override
+	public boolean checkMandatory() {
+		int C_BankAccount_ID = 0;
+		/***********************
+		 *	Mandatory Data Check
+		 */
+		boolean dataOK = true;
+		if (m_Cash_As_Payment)
+		{
+			KeyNamePair kp = (KeyNamePair)bBankAccountCombo.getSelectedItem();
+			if (kp != null)
+				C_BankAccount_ID = kp.getKey();
+		}
+		
+		//  find Bank Account if not qualified yet
+		if (m_Cash_As_Payment && C_BankAccount_ID == 0)
+		{
+			// Check & Cash (Payment) must have a bank account
+			if (C_BankAccount_ID == 0 && m_Cash_As_Payment)
+			{
+				ADialog.error(getWindowNo(), dialog, "FillMandatory", bBankAccountLabel.getText());
+				dataOK = false;
+			}
+		}
+		
+		return dataOK;
+	}
+
+	@Override
+	public boolean saveChangesInTrx(String trxName) {
+		int newC_CashBook_ID = m_C_CashBook_ID;
+		int newC_BankAccount_ID = 0;
+		if (m_Cash_As_Payment){
+			// get bank account
+			KeyNamePair kp = (KeyNamePair)bBankAccountCombo.getSelectedItem();
+			if (kp != null)
+				newC_BankAccount_ID = kp.getKey();
+		} else {
+			// get cash book
+			KeyNamePair kp = (KeyNamePair)bCashBookCombo.getSelectedItem();
+			if (kp != null)
+				newC_CashBook_ID = kp.getKey();	
+		}
+		
+		Timestamp newDateAcct = (Timestamp)bDateField.getValue();
+		
+		boolean ok = save(newC_BankAccount_ID,newC_CashBook_ID, newDateAcct, (BigDecimal) bAmountField.getValue(), trxName);
+		
+		if (!ok)
+			ADialog.error(getWindowNo(), dialog, "PaymentError", processMsg);
+		else if (processMsg != null)
+			ADialog.info(getWindowNo(), dialog, "PaymentCreated", processMsg);
+		
+		return true;
+	}
+
+	@Override
+	public void showWindow()
+	{
+		dialog.setVisible(true);
+	}
+	
+	@Override
+	public void closeWindow()
+	{
+		dialog.dispose();
+	}
+	
+	@Override
+	public Object getWindow() {
+		return dialog;
+	}
+}
diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormCheck.java b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormCheck.java
new file mode 100644
index 0000000000..9372033e30
--- /dev/null
+++ b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormCheck.java
@@ -0,0 +1,225 @@
+package org.compiere.grid;
+
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Enumeration;
+
+import org.adempiere.plaf.AdempierePLAF;
+import org.compiere.apps.ADialog;
+import org.compiere.grid.ed.VNumber;
+import org.compiere.model.GridTab;
+import org.compiere.model.MConversionRate;
+import org.compiere.model.MPaymentValidate;
+import org.compiere.swing.CButton;
+import org.compiere.swing.CComboBox;
+import org.compiere.swing.CLabel;
+import org.compiere.swing.CTextField;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+import org.compiere.util.Msg;
+
+public class VPaymentFormCheck extends PaymentFormCheck implements ActionListener {
+
+	private VPaymentFormDialog dialog;
+	
+	private CLabel sBankAccountLabel = new CLabel();
+	private CComboBox sBankAccountCombo = new CComboBox();
+	private CLabel sCurrencyLabel = new CLabel();
+	private CComboBox sCurrencyCombo = new CComboBox();
+	private CLabel sAmountLabel = new CLabel();
+	private VNumber sAmountField = new VNumber();
+	private CLabel sRoutingLabel = new CLabel();
+	private CTextField sRoutingField = new CTextField();	
+	private CLabel sNumberLabel = new CLabel();
+	private CTextField sNumberField = new CTextField();
+	private CLabel sCheckLabel = new CLabel();
+	private CTextField sCheckField = new CTextField();
+	private CButton sOnline = new CButton();
+	private CLabel sStatus = new CLabel();
+
+	public VPaymentFormCheck(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		dialog = new VPaymentFormDialog(this, windowNo);
+		init();
+	}
+	
+	public void init() {
+		GridBagLayout sPanelLayout = new GridBagLayout();
+		dialog.getPanel().setLayout(sPanelLayout);
+		sBankAccountLabel.setText(Msg.translate(Env.getCtx(), "C_BankAccount_ID"));
+		sAmountLabel.setText(Msg.getMsg(Env.getCtx(), "Amount"));
+		//sAmountField.setText("");
+		sRoutingLabel.setText(Msg.translate(Env.getCtx(), "RoutingNo"));
+		sNumberLabel.setText(Msg.translate(Env.getCtx(), "AccountNo"));
+		sCheckLabel.setText(Msg.translate(Env.getCtx(), "CheckNo"));
+		sCheckField.setColumns(8);
+		sCurrencyLabel.setText(Msg.translate(Env.getCtx(), "C_Currency_ID"));
+		sNumberField.setPreferredSize(new Dimension(100, 21));
+		sRoutingField.setPreferredSize(new Dimension(70, 21));
+		sStatus.setText(" ");
+		sOnline.setText(Msg.getMsg(Env.getCtx(), "Online"));
+		dialog.getPanel().add(sBankAccountLabel,   new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
+				,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(sBankAccountCombo,    new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0
+				,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 2, 5), 0, 0));
+		dialog.getPanel().add(sCurrencyLabel,   new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(sCurrencyCombo,    new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, 5, 2, 5), 0, 0));
+		dialog.getPanel().add(sAmountLabel,   new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0
+				,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 5, 0), 0, 0));
+		dialog.getPanel().add(sAmountField,     new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0
+				,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, 5, 5, 5), 0, 0));
+		dialog.getPanel().add(sRoutingLabel,   new GridBagConstraints(0, 3, 1, 2, 0.0, 0.0
+				,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(sRoutingField,    new GridBagConstraints(1, 3, 2, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 5, 2, 0), 0, 0));
+		dialog.getPanel().add(sNumberLabel,   new GridBagConstraints(0, 5, 1, 1, 0.0, 0.0
+				,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(sNumberField,    new GridBagConstraints(1, 5, 2, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 5, 2, 0), 0, 0));
+		dialog.getPanel().add(sCheckLabel,   new GridBagConstraints(0, 6, 1, 1, 0.0, 0.0
+				,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(sCheckField,    new GridBagConstraints(1, 6, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, 5, 2, 0), 0, 0));
+		dialog.getPanel().add(sOnline,      new GridBagConstraints(3, 6, 1, 1, 0.0, 0.0
+				,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
+		dialog.getPanel().add(sStatus,    new GridBagConstraints(0, 7, 3, 1, 0.0, 0.0
+			,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));	
+	}
+
+	@Override
+	public void loadData() {
+		sAmountField.setValue(m_Amount);
+		
+		if (m_C_Payment_ID != 0)
+		{
+			sRoutingField.setText(m_mPayment.getRoutingNo());
+			sNumberField.setText(m_mPayment.getAccountNo());
+			sCheckField.setText(m_mPayment.getCheckNo());
+			sStatus.setText(m_mPayment.getR_PnRef());
+			sAmountField.setValue(m_mPayment.getPayAmt());
+		}
+		
+		//	Is the currency an EMU currency?
+		Integer C_Currency_ID = new Integer(m_C_Currency_ID);
+		if (s_Currencies.containsKey(C_Currency_ID))
+		{
+			Enumeration en = s_Currencies.keys();
+			while (en.hasMoreElements())
+			{
+				Object key = en.nextElement();
+				sCurrencyCombo.addItem(s_Currencies.get(key));
+			}
+			sCurrencyCombo.addActionListener(this);
+			sCurrencyCombo.setSelectedItem(s_Currencies.get(C_Currency_ID));
+		}
+		else	//	No EMU Currency
+		{
+			sCurrencyLabel.setVisible(false);	//	Check
+			sCurrencyCombo.setVisible(false);
+		}
+
+		ArrayList list = getBankAccountList();
+		for (KeyNamePair pp : list)
+			sBankAccountCombo.addItem(pp);
+		
+		//	Set Selection
+		if (selectedBankAccount != null)
+			sBankAccountCombo.setSelectedItem(selectedBankAccount);
+	}
+	
+	public void actionPerformed(ActionEvent e)
+	{
+		if (e.getSource() == sCurrencyCombo)
+		{
+			KeyNamePair pp = (KeyNamePair)sCurrencyCombo.getSelectedItem();
+			BigDecimal amt = MConversionRate.convert(Env.getCtx(),
+				m_Amount, m_C_Currency_ID, pp.getKey(), m_AD_Client_ID, m_AD_Org_ID);
+			sAmountField.setValue(amt);
+		}
+//		else if (e.getSource() == sOnline)
+//			processOnline();
+	}
+	
+	@Override
+	public boolean checkMandatory() {
+		int C_BankAccount_ID = 0;
+		/***********************
+		 *	Mandatory Data Check
+		 */
+		boolean dataOK = true;
+		KeyNamePair kp = (KeyNamePair)sBankAccountCombo.getSelectedItem();
+		if (kp != null)
+			C_BankAccount_ID = kp.getKey();
+		String error = MPaymentValidate.validateRoutingNo(sRoutingField.getText());
+		if (error.length() != 0)
+		{
+			sRoutingField.setBackground(AdempierePLAF.getFieldBackground_Error());
+			ADialog.error(getWindowNo(), dialog, error);
+			dataOK = false;
+		}
+		error = MPaymentValidate.validateAccountNo(sNumberField.getText());
+		if (error.length() != 0)
+		{
+			sNumberField.setBackground(AdempierePLAF.getFieldBackground_Error());
+			ADialog.error(getWindowNo(), dialog, error);
+			dataOK = false;
+		}
+		error = MPaymentValidate.validateCheckNo(sCheckField.getText());
+		if (error.length() != 0)
+		{
+			sCheckField.setBackground(AdempierePLAF.getFieldBackground_Error());
+			ADialog.error(getWindowNo(), dialog, error);
+			dataOK = false;
+		}
+		
+		// Check & Cash (Payment) must have a bank account
+		if (C_BankAccount_ID == 0)
+		{
+			ADialog.error(getWindowNo(), dialog, "FillMandatory", sBankAccountLabel.getText());
+			dataOK = false;
+		}
+		
+		return dataOK;
+	}
+
+	@Override
+	public boolean saveChangesInTrx(String trxName) {
+		int newC_BankAccount_ID = 0;
+		KeyNamePair kp = (KeyNamePair)sBankAccountCombo.getSelectedItem();
+		if (kp != null)
+			newC_BankAccount_ID = kp.getKey();
+		
+		boolean ok = save(newC_BankAccount_ID, sRoutingField.getText(), sNumberField.getText(), sCheckField.getText(), (BigDecimal) sAmountField.getValue());		
+		if (!ok)
+			ADialog.error(getWindowNo(), dialog, "PaymentError", processMsg);
+		else if (processMsg != null)
+			ADialog.info(getWindowNo(), dialog, "PaymentCreated", m_mPayment.getDocumentNo());
+		
+		return true;
+	}
+
+	@Override
+	public void showWindow()
+	{
+		dialog.setVisible(true);
+	}
+	
+	@Override
+	public void closeWindow()
+	{
+		dialog.dispose();
+	}
+	
+	@Override
+	public Object getWindow() {
+		return dialog;
+	}
+}
diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormCreditCard.java b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormCreditCard.java
new file mode 100644
index 0000000000..9369663408
--- /dev/null
+++ b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormCreditCard.java
@@ -0,0 +1,188 @@
+package org.compiere.grid;
+
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.math.BigDecimal;
+
+import org.compiere.apps.ADialog;
+import org.compiere.grid.ed.VNumber;
+import org.compiere.model.GridTab;
+import org.compiere.swing.CButton;
+import org.compiere.swing.CComboBox;
+import org.compiere.swing.CLabel;
+import org.compiere.swing.CTextField;
+import org.compiere.util.Env;
+import org.compiere.util.Msg;
+import org.compiere.util.ValueNamePair;
+
+public class VPaymentFormCreditCard extends PaymentFormCreditCard implements ActionListener {
+
+	private VPaymentFormDialog dialog;
+	
+	private CLabel kTypeLabel = new CLabel();
+	private CComboBox kTypeCombo = new CComboBox();
+	private CLabel kNumberLabel = new CLabel();
+	private CTextField kNumberField = new CTextField();
+	private CLabel kNameLabel = new CLabel();
+	private CTextField kNameField = new CTextField();
+	private CLabel kExpLabel = new CLabel();
+	private CTextField kExpField = new CTextField();
+	private CLabel kAmountLabel = new CLabel();
+	private VNumber kAmountField = new VNumber();
+	private CLabel kApprovalLabel = new CLabel();
+	private CTextField kApprovalField = new CTextField();
+	private CButton kOnline = new CButton();
+	private CLabel kStatus = new CLabel();
+
+	
+	public VPaymentFormCreditCard(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		dialog = new VPaymentFormDialog(this, windowNo);
+		init();
+	}
+	
+	public void init() {
+		GridBagLayout kLayout = new GridBagLayout();
+		dialog.getPanel().setLayout(kLayout);
+		kNumberField.setPreferredSize(new Dimension(160, 21));
+		kNameField.setPreferredSize(new Dimension(160, 21));
+		kExpField.setPreferredSize(new Dimension(40, 21));
+		kApprovalField.setPreferredSize(new Dimension(120, 21));
+		kTypeLabel.setText(Msg.translate(Env.getCtx(), "CreditCardType"));
+		kNumberLabel.setText(Msg.translate(Env.getCtx(), "CreditCardNumber"));
+		kNameLabel.setText(Msg.translate(Env.getCtx(),"Name"));
+		kExpLabel.setText(Msg.getMsg(Env.getCtx(), "Expires"));
+		kApprovalLabel.setText(Msg.translate(Env.getCtx(), "VoiceAuthCode"));
+		kAmountLabel.setText(Msg.getMsg(Env.getCtx(), "Amount"));
+		kOnline.setText(Msg.getMsg(Env.getCtx(), "Online"));
+		kOnline.addActionListener(this);
+		kStatus.setText(" ");
+		dialog.getPanel().add(kTypeLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(kTypeCombo, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, 5, 2, 5), 0, 0));
+		dialog.getPanel().add(kNumberLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(kNumberField, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.VERTICAL, new Insets(2, 5, 2, 5), 0, 0));
+		dialog.getPanel().add(kNameLabel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(kNameField, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0
+				,GridBagConstraints.WEST, GridBagConstraints.VERTICAL, new Insets(2, 5, 2, 5), 0, 0));
+		dialog.getPanel().add(kExpLabel, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 2, 0), 0, 0));
+		dialog.getPanel().add(kExpField, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, 5, 2, 5), 0, 0));
+		dialog.getPanel().add(kAmountLabel,   new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0
+				,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 0, 5, 0), 0, 0));
+		dialog.getPanel().add(kAmountField,     new GridBagConstraints(1, 4, 1, 1, 0.0, 0.0
+				,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, 5, 5, 5), 0, 0));
+		dialog.getPanel().add(kApprovalLabel, new GridBagConstraints(0, 5, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 0), 0, 0));
+		dialog.getPanel().add(kApprovalField, new GridBagConstraints(1, 5, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
+		dialog.getPanel().add(kStatus, new GridBagConstraints(0, 6, 2, 1, 0.0, 0.0
+			,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
+		dialog.getPanel().add(kOnline, new GridBagConstraints(2, 5, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
+	}
+
+	@Override
+	public void loadData() {
+		kAmountField.setValue(m_Amount);
+		
+		if (m_C_Payment_ID != 0)
+		{
+			kNumberField.setText(m_mPayment.getCreditCardNumber());
+			kNameField.setText(m_mPayment.getA_Name());
+			kExpField.setText(m_mPayment.getCreditCardExp(null));
+			kApprovalField.setText(m_mPayment.getVoiceAuthCode());
+			kStatus.setText(m_mPayment.getR_PnRef());
+			kAmountField.setValue(m_mPayment.getPayAmt());
+			
+			//	if approved/paid, don't let it change
+			kTypeCombo.setReadWrite(!m_mPayment.isApproved());
+			kNumberField.setReadWrite(!m_mPayment.isApproved());
+			kNameField.setReadWrite(!m_mPayment.isApproved());
+			kExpField.setReadWrite(!m_mPayment.isApproved());
+			kApprovalField.setReadWrite(!m_mPayment.isApproved());
+			kOnline.setReadWrite(!m_mPayment.isApproved());
+			kAmountField.setReadWrite(!m_mPayment.isApproved());
+		}
+		
+		/**
+		 *	Load Credit Cards
+		 */
+		ValueNamePair[] ccs = getCreditCardList();
+		for (int i = 0; i < ccs.length; i++)
+			kTypeCombo.addItem(ccs[i]);
+		
+		//	Set Selection
+		if (selectedCreditCard != null)
+			kTypeCombo.setSelectedItem(selectedCreditCard);
+	}
+	
+	public void actionPerformed(ActionEvent e)
+	{
+		if (e.getSource() == kOnline)
+			processOnline();
+	}
+	
+	@Override
+	public boolean checkMandatory() {
+		return true;
+	}
+
+	@Override
+	public boolean saveChangesInTrx(String trxName) {
+		String newCCType = m_CCType;
+		ValueNamePair vp = (ValueNamePair)kTypeCombo.getSelectedItem();
+		if (vp != null)
+			newCCType = vp.getValue();
+
+		boolean ok = save(newCCType, kNumberField.getText(), kExpField.getText(), (BigDecimal) kAmountField.getValue());		
+		if(!ok)
+			ADialog.error(getWindowNo(), dialog, "PaymentError", processMsg);
+		else if (processMsg != null)
+			ADialog.info(getWindowNo(), dialog, "PaymentCreated", processMsg);
+		
+		return true;
+		
+	}
+	
+	/**************************************************************************
+	 *  Process Online (sales only) - if approved - exit
+	 */
+	public void processOnline()
+	{
+		ValueNamePair vp = (ValueNamePair)kTypeCombo.getSelectedItem();
+		String CCType = vp.getValue();
+		
+		boolean ok = processOnline(CCType, kNumberField.getText(), kExpField.getText());
+		if (!ok)
+			ADialog.error(getWindowNo(), dialog, "PaymentError", processMsg);
+		else if (processMsg != null)
+			ADialog.info(getWindowNo(), dialog, "PaymentProcessed", processMsg);
+	}   //  online
+
+	@Override
+	public void showWindow()
+	{
+		dialog.setVisible(true);
+	}
+	
+	@Override
+	public void closeWindow()
+	{
+		dialog.dispose();
+	}
+	
+	@Override
+	public Object getWindow() {
+		return dialog;
+	}
+}
diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormDialog.java b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormDialog.java
new file mode 100644
index 0000000000..ac4cb2fdd9
--- /dev/null
+++ b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormDialog.java
@@ -0,0 +1,93 @@
+package org.compiere.grid;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.BorderFactory;
+
+import org.compiere.apps.ADialog;
+import org.compiere.apps.AEnv;
+import org.compiere.apps.ConfirmPanel;
+import org.compiere.swing.CDialog;
+import org.compiere.swing.CPanel;
+import org.compiere.util.Env;
+import org.compiere.util.Msg;
+
+public class VPaymentFormDialog extends CDialog implements ActionListener
+{
+	private PaymentForm paymentForm;
+	private int windowNo;
+
+	private CPanel mainPanel = new CPanel();
+	private BorderLayout mainLayout = new BorderLayout();
+	private CPanel centerPanel = new CPanel();
+	private ConfirmPanel confirmPanel = new ConfirmPanel(true);
+	
+	private boolean initOK = false;
+	
+	public VPaymentFormDialog(PaymentForm paymentForm, int windowNo)
+	{
+		super(AEnv.getWindow(windowNo), Msg.getMsg(Env.getCtx(), "Payment"), true);
+		
+		this.paymentForm = paymentForm;
+		this.windowNo = windowNo;
+
+		try {
+			jbInit();
+			initOK = dynInit(); // Null Pointer if order/invoice not saved yet
+		} catch (Exception ex) {
+			ADialog.error(windowNo, this, ex.getMessage());
+			initOK = false;
+		}
+		
+		setPreferredSize(new Dimension(500, 400));
+		pack();
+	}
+	
+	private void jbInit() throws Exception
+	{
+		getContentPane().add(mainPanel);
+		mainPanel.setLayout(mainLayout);
+		centerPanel.setBorder(BorderFactory.createRaisedBevelBorder());
+		mainPanel.add(centerPanel, BorderLayout.CENTER);	
+		mainPanel.add(confirmPanel, BorderLayout.SOUTH);
+		confirmPanel.addActionListener(this);
+	}
+	
+	private boolean dynInit() throws Exception
+	{
+		boolean isInitOK = paymentForm.dynInit();
+		centerPanel.setVisible(!paymentForm.isOnlyRule());
+		return isInitOK;
+	}
+	
+	public CPanel getPanel() {
+		return centerPanel;
+	}
+
+	/**************************************************************************
+	 *	Action Listener
+	 *  @param e event
+	 */
+	public void actionPerformed(ActionEvent e)
+	{
+		//	Finish
+		if (e.getActionCommand().equals(ConfirmPanel.A_OK))
+		{
+			if (paymentForm.checkMandatory())
+			{
+				paymentForm.saveChanges(); // cannot recover
+				dispose ();
+			}
+		}
+		else if (e.getActionCommand().equals(ConfirmPanel.A_CANCEL))
+			dispose();
+	}
+	
+	public boolean isInitOK()
+	{
+		return initOK;
+	}
+}
\ No newline at end of file
diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormDirectDebit.java b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormDirectDebit.java
new file mode 100644
index 0000000000..467521d950
--- /dev/null
+++ b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormDirectDebit.java
@@ -0,0 +1,11 @@
+package org.compiere.grid;
+
+import org.compiere.model.GridTab;
+
+public class VPaymentFormDirectDebit extends VPaymentFormDirectDeposit {
+
+	public VPaymentFormDirectDebit(int WindowNo, GridTab mTab) {
+		super(WindowNo, mTab);
+	}
+
+}
diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormDirectDeposit.java b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormDirectDeposit.java
new file mode 100644
index 0000000000..1ba21f5a5d
--- /dev/null
+++ b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormDirectDeposit.java
@@ -0,0 +1,125 @@
+package org.compiere.grid;
+
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.util.ArrayList;
+
+import org.adempiere.plaf.AdempierePLAF;
+import org.compiere.apps.ADialog;
+import org.compiere.model.GridTab;
+import org.compiere.swing.CButton;
+import org.compiere.swing.CComboBox;
+import org.compiere.swing.CLabel;
+import org.compiere.swing.CTextField;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+import org.compiere.util.Msg;
+
+public class VPaymentFormDirectDeposit extends PaymentFormDirectDeposit {
+	
+	private VPaymentFormDialog dialog;
+	
+	private CLabel tAccountLabel = new CLabel();
+	private CComboBox tAccountCombo = new CComboBox();
+	private CButton tOnline = new CButton();
+	private CTextField tRoutingField = new CTextField();
+	private CTextField tNumberField = new CTextField();
+	private CLabel tStatus = new CLabel();
+	private CLabel tRoutingText = new CLabel();
+	private CLabel tNumberText = new CLabel();
+
+	public VPaymentFormDirectDeposit(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		dialog = new VPaymentFormDialog(this, windowNo);
+		init();
+	}
+	
+	public void init() {
+		GridBagLayout tPanelLayout = new GridBagLayout();
+		dialog.getPanel().setLayout(tPanelLayout);
+		tAccountLabel.setText(Msg.translate(Env.getCtx(), "C_BP_BankAccount_ID"));
+		tRoutingField.setColumns(8);
+		tNumberField.setColumns(10);
+		tRoutingText.setText(Msg.translate(Env.getCtx(), "RoutingNo"));
+		tNumberText.setText(Msg.translate(Env.getCtx(), "AccountNo"));
+		tOnline.setText(Msg.getMsg(Env.getCtx(), "Online"));
+		tStatus.setText(" ");
+		dialog.getPanel().add(tAccountLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 0), 0, 0));
+		dialog.getPanel().add(tAccountCombo, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
+		dialog.getPanel().add(tRoutingField, new GridBagConstraints(1, 1, 2, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 0, 5), 0, 0));
+		dialog.getPanel().add(tNumberField, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 0, 5), 0, 0));
+		dialog.getPanel().add(tStatus, new GridBagConstraints(0, 3, 2, 1, 0.0, 0.0
+			,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
+		dialog.getPanel().add(tRoutingText, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 0, 0), 0, 0));
+		dialog.getPanel().add(tNumberText, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 0, 0), 0, 0));
+		dialog.getPanel().add(tOnline, new GridBagConstraints(3, 2, 1, 1, 0.0, 0.0
+			,GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
+	}
+	
+	@Override
+	public void loadData() {
+		if (m_C_Payment_ID != 0)
+		{
+			tRoutingField.setText(m_mPayment.getRoutingNo());
+			tNumberField.setText(m_mPayment.getAccountNo());
+			tStatus.setText(m_mPayment.getR_PnRef());
+		}
+		
+		ArrayList list = getBankAccountList();
+		for (KeyNamePair pp : list)
+			tAccountCombo.addItem(pp);
+	}
+	
+	@Override
+	public boolean checkMandatory() {
+		/***********************
+		 *	Mandatory Data Check
+		 */
+		boolean dataOK = true;
+		KeyNamePair bpba = (KeyNamePair)tAccountCombo.getSelectedItem();
+		if (bpba == null)
+		{
+			tAccountCombo.setBackground(AdempierePLAF.getFieldBackground_Error());
+			ADialog.error(getWindowNo(), dialog, "PaymentBPBankNotFound");
+			dataOK = false;
+		}
+		//
+		log.config("OK=" + dataOK);
+		return dataOK;
+	}
+
+	@Override
+	public boolean saveChangesInTrx(String trxName) {
+		boolean ok = save();		
+		if (!ok)
+			ADialog.error(getWindowNo(), dialog, "PaymentError", processMsg);
+		else if (processMsg != null)
+			ADialog.info(getWindowNo(), dialog, "PaymentCreated", m_mPayment.getDocumentNo());
+		
+		return true;
+	}
+
+	@Override
+	public void showWindow()
+	{
+		dialog.setVisible(true);
+	}
+	
+	@Override
+	public void closeWindow()
+	{
+		dialog.dispose();
+	}
+	
+	@Override
+	public Object getWindow() {
+		return dialog;
+	}
+}
diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormFactory.java b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormFactory.java
new file mode 100644
index 0000000000..a843002551
--- /dev/null
+++ b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormFactory.java
@@ -0,0 +1,63 @@
+package org.compiere.grid;
+
+import java.util.HashMap;
+import java.util.logging.Level;
+
+import org.compiere.model.GridTab;
+import org.compiere.util.CLogger;
+
+public class VPaymentFormFactory {
+	/**	Static Logger	*/
+	private static CLogger 	s_log = CLogger.getCLogger (VPaymentFormFactory.class);
+
+	private static HashMap> s_registeredClasses = null;
+
+	/**
+	 * Register custom VPaymentForm* class
+	 * @param ad_table_id
+	 * @param cl custom class
+	 */
+	public static final void registerClass(String paymentRule, Class cl)
+	{
+		s_registeredClasses.put(paymentRule, cl);
+		s_log.info("Registered PaymentRule="+paymentRule+", Class="+cl);
+	}
+	
+	static
+	{
+		// Register defaults:
+		s_registeredClasses = new HashMap>();
+		s_registeredClasses.put(PaymentFormCash.PAYMENTRULE, VPaymentFormCash.class);
+		s_registeredClasses.put(PaymentFormCheck.PAYMENTRULE, VPaymentFormCheck.class);
+		s_registeredClasses.put(PaymentFormCreditCard.PAYMENTRULE, VPaymentFormCreditCard.class);
+		s_registeredClasses.put(PaymentFormDirectDebit.PAYMENTRULE, VPaymentFormDirectDebit.class);
+		s_registeredClasses.put(PaymentFormDirectDeposit.PAYMENTRULE, VPaymentFormDirectDeposit.class);
+		s_registeredClasses.put(PaymentFormMixedPOS.PAYMENTRULE, VPaymentFormMixedPOS.class);
+		s_registeredClasses.put(PaymentFormOnCredit.PAYMENTRULE, VPaymentFormOnCredit.class);
+	}
+	
+	public static IPaymentForm create (int windowNo, GridTab mTab, String paymentRule)
+	{
+		IPaymentForm retValue = null;
+		Class cl = s_registeredClasses.get(paymentRule);
+		if (cl != null)
+		{
+			try
+			{
+				java.lang.reflect.Constructor ctor = cl.getConstructor(int.class, GridTab.class);
+				retValue = ctor.newInstance(windowNo, mTab);
+			}
+			catch (Throwable e)
+			{
+				s_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
+				return null;
+			}
+		}
+		if (retValue == null)
+		{
+			s_log.info("Unsupported PaymentRule=" + paymentRule);
+			return null;
+		}
+		return retValue;
+	}   //  create
+}
diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormMixedPOS.java b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormMixedPOS.java
new file mode 100644
index 0000000000..d64924f207
--- /dev/null
+++ b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormMixedPOS.java
@@ -0,0 +1,43 @@
+package org.compiere.grid;
+
+import org.compiere.model.GridTab;
+
+public class VPaymentFormMixedPOS extends PaymentFormMixedPOS {
+	private VPaymentFormDialog dialog;
+	
+	public VPaymentFormMixedPOS(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		dialog = new VPaymentFormDialog(this, windowNo);
+	}
+		
+	@Override
+	public void loadData() {
+	}
+	
+	@Override
+	public boolean checkMandatory() {
+		return true;
+	}
+
+	@Override
+	public boolean saveChangesInTrx(String trxName) {
+		return true;
+	}
+
+	@Override
+	public void showWindow()
+	{
+		dialog.setVisible(true);
+	}
+	
+	@Override
+	public void closeWindow()
+	{
+		dialog.dispose();
+	}
+	
+	@Override
+	public Object getWindow() {
+		return dialog;
+	}
+}
diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormOnCredit.java b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormOnCredit.java
new file mode 100644
index 0000000000..bdefc9df47
--- /dev/null
+++ b/org.adempiere.ui.swing/src/org/compiere/grid/VPaymentFormOnCredit.java
@@ -0,0 +1,80 @@
+package org.compiere.grid;
+
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.util.ArrayList;
+
+import org.compiere.model.GridTab;
+import org.compiere.swing.CComboBox;
+import org.compiere.swing.CLabel;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+import org.compiere.util.Msg;
+
+public class VPaymentFormOnCredit extends PaymentFormOnCredit {
+
+	private VPaymentFormDialog dialog;
+	
+	private CLabel pTermLabel = new CLabel();
+	private CComboBox pTermCombo = new CComboBox();
+
+	public VPaymentFormOnCredit(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		dialog = new VPaymentFormDialog(this, windowNo);
+		init();
+	}
+	
+	public void init() {
+		GridBagLayout pPanelLayout = new GridBagLayout();
+		dialog.getPanel().setLayout(pPanelLayout);
+		pTermLabel.setText(Msg.translate(Env.getCtx(), "C_PaymentTerm_ID"));
+		dialog.getPanel().add(pTermLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
+			,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(2, 5, 2, 0), 0, 0));
+		dialog.getPanel().add(pTermCombo, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0
+			,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, 5, 2, 5), 0, 0));
+	}
+	
+	@Override
+	public void loadData() {
+		ArrayList list = getPaymentTermList();
+		for (KeyNamePair pp : list)
+			pTermCombo.addItem(pp);
+		
+		// Set Selection
+		if (selectedPaymentTerm != null)
+			pTermCombo.setSelectedItem(selectedPaymentTerm);
+	}
+	
+	@Override
+	public boolean checkMandatory() {
+		return true;
+	}
+
+	@Override
+	public boolean saveChangesInTrx(String trxName) {
+		int newC_PaymentTerm_ID = 0;
+		KeyNamePair kp = (KeyNamePair)pTermCombo.getSelectedItem();
+		if (kp != null)
+			newC_PaymentTerm_ID = kp.getKey();
+		
+		return save(newC_PaymentTerm_ID);		
+	}
+
+	@Override
+	public void showWindow()
+	{
+		dialog.setVisible(true);
+	}
+	
+	@Override
+	public void closeWindow()
+	{
+		dialog.dispose();
+	}
+	
+	@Override
+	public Object getWindow() {
+		return dialog;
+	}
+}
diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/ed/VPaymentEditor.java b/org.adempiere.ui.swing/src/org/compiere/grid/ed/VPaymentEditor.java
new file mode 100644
index 0000000000..71e0d5b056
--- /dev/null
+++ b/org.adempiere.ui.swing/src/org/compiere/grid/ed/VPaymentEditor.java
@@ -0,0 +1,534 @@
+package org.compiere.grid.ed;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyVetoException;
+import java.util.logging.Level;
+
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JComponent;
+
+import org.compiere.grid.IPaymentForm;
+import org.compiere.grid.VPaymentFormDialog;
+import org.compiere.grid.VPaymentFormFactory;
+import org.compiere.model.GridField;
+import org.compiere.model.GridTab;
+import org.compiere.model.MLookup;
+import org.compiere.model.MPaymentLookup;
+import org.compiere.swing.CButton;
+import org.compiere.util.CLogger;
+import org.compiere.util.DisplayType;
+import org.compiere.util.Env;
+import org.compiere.util.NamePair;
+
+public class VPaymentEditor extends JComponent implements VEditor, ActionListener, FocusListener {
+
+	/**	Logger			*/
+	private static CLogger log = CLogger.getCLogger(VPaymentEditor.class);
+	/** Search: The Button to open Editor   */
+	private CButton				m_button = new CButton();
+	/** The Combo Box if not a Search Lookup    */
+	private VComboBox			m_combo = new VComboBox();
+	/** Column Name								*/
+	private String				m_columnName;
+	/** Lookup									*/
+	private MPaymentLookup		m_lookup;
+	/** The Value								*/
+	private Object				m_value;
+	
+	/** Indicator that value is being set       */
+	private volatile boolean 	m_settingValue = false;
+	/** Indicator that docus is being set       */
+	private volatile boolean 	m_settingFocus = false;
+	/** Indicator that Lookup has focus         */
+	private volatile boolean	m_haveFocus = false;
+	/** Indicator - inserting new value			*/
+	private volatile boolean	m_inserting = false;
+	/** Last Display							*/
+	private String				m_lastDisplay = "";
+	
+	private boolean 			m_stopediting = false;
+	
+	private GridField m_mField;
+	
+	public VPaymentEditor(GridField gridField, String columnName, boolean mandatory, boolean isReadOnly, boolean isUpdateable, MPaymentLookup lookup) {
+		super();
+		m_mField = gridField;
+		super.setName(columnName);
+		m_combo.setName(columnName);
+		m_columnName = columnName;
+		setMandatory(mandatory);
+		m_lookup = lookup;
+		if (m_lookup != null)
+			m_lookup.setMandatory(mandatory);
+		//
+		setLayout(new BorderLayout());
+
+		//  Button
+		m_button.addActionListener(this);
+		m_button.setFocusable(false);   //  don't focus when tabbing
+		m_button.setMargin(new Insets(0, 0, 0, 0));
+		m_button.setIcon(Env.getImageIcon("Payment10.gif"));
+
+		//	*** VComboBox	***
+		if (m_lookup != null)
+		{
+			//  Don't have to fill up combobox if it is readonly
+			if (!isReadOnly && isUpdateable)
+				m_lookup.fillComboBox (isMandatory(), true, true, false);
+			m_combo.setModel(m_lookup);
+			//
+			// AutoCompletion.enable(m_combo);
+			m_combo.addActionListener(this);							//	Selection
+			//	FocusListener to refresh selection before opening
+			m_combo.addFocusListener(this);
+		}
+
+		setUI (true);
+		//	ReadWrite	-	decides what components to show
+		if (isReadOnly || !isUpdateable || m_lookup == null)
+			setReadWrite(false);
+		else
+			setReadWrite(true);
+	}
+	
+	@Override
+	public void dispose() {
+		m_button = null;
+		m_lookup = null;
+		m_mField = null;
+		//
+		m_combo.getEditor().getEditorComponent().removeFocusListener(this);
+		m_combo.removeFocusListener(this);
+		m_combo.removeActionListener(this);
+		m_combo.setModel(new DefaultComboBoxModel());    //  remove reference
+	//	m_combo.removeAllItems();
+		m_combo = null;
+	}
+	
+	private void setUI (boolean initial)
+	{
+		if (initial)
+		{
+			Dimension size = m_combo.getPreferredSize();
+			setPreferredSize(new Dimension(size));  //	causes r/o to be the same length
+			setMinimumSize(new Dimension (30, size.height));
+			//
+			Dimension bSize = new Dimension(size.height, size.height);
+			m_button.setPreferredSize (bSize);
+		}
+
+		//	What to show
+		this.remove(m_combo);
+		this.remove(m_button);
+		//
+		this.setBorder(null);
+		this.add(m_combo, BorderLayout.CENTER);
+		this.add(m_button, BorderLayout.EAST);
+	}
+	
+	@Override
+	public void setReadWrite(boolean value) {
+		setReadWrite0(value);
+		
+		GridTab m_mTab = m_mField.getGridTab();
+		String m_DocStatus = (String) m_mTab.getValue("DocStatus");
+		// DocStatus
+		if (m_DocStatus == null)
+			m_DocStatus = "";
+		// Is the Trx closed? Reversed / Voided / Cloased
+		if (m_DocStatus.equals("RE") || m_DocStatus.equals("VO") || m_DocStatus.equals("CL"))
+		{
+			m_button.setVisible(false);
+			return;
+		}
+		
+		boolean m_onlyRule = false;
+		// Document is not complete - allow to change the Payment Rule only
+		if (m_DocStatus.equals("CO") || m_DocStatus.equals("WP"))
+			m_onlyRule = false;
+		else
+			m_onlyRule = true;
+		
+		boolean m_isSOTrx = "Y".equals(Env.getContext(Env.getCtx(), m_mField.getWindowNo(), "IsSOTrx"));
+		// PO only Rule
+		if (!m_onlyRule // Only order has Warehouse
+				&& !m_isSOTrx && m_mTab.getValue("M_Warehouse_ID") != null)
+			m_onlyRule = true;
+
+		m_button.setVisible(value && !m_onlyRule);
+	}
+	
+	private void setReadWrite0(boolean value)
+	{
+		boolean rw = value;
+		if (m_lookup == null)
+			rw = false;
+		if (m_combo.isReadWrite() != value)
+		{
+			m_combo.setReadWrite(rw);
+			setUI (false);
+			if (value) {
+				m_settingValue = true;		//	disable actions
+				refresh();
+				m_settingValue = false;
+			}
+			setValue (m_value);
+		}
+	}
+
+	@Override
+	public boolean isReadWrite() {
+		return m_combo.isReadWrite();
+	}
+
+	@Override
+	public void setMandatory(boolean mandatory) {
+		m_combo.setMandatory(mandatory);
+	}
+
+	@Override
+	public boolean isMandatory() {
+		return m_combo.isMandatory();
+	}
+
+	@Override
+	public void setBackground(boolean error) {
+		m_combo.setBackground(error);
+	}
+	
+	@Override
+	public void requestFocus ()
+	{
+		if (m_lookup != null)
+			m_combo.requestFocus ();
+	}
+
+	@Override
+	public void setValue(Object value) {
+		log.fine(m_columnName + "=" + value);
+		m_settingValue = true;		//	disable actions
+		m_value = value;
+
+		//	Set both for switching
+		if (value == null)
+		{
+			m_combo.setValue (value);
+			m_lastDisplay = "";
+			m_settingValue = false;
+			return;
+		}
+		if (m_lookup == null)
+		{
+			m_combo.setValue (value);
+			m_lastDisplay = value.toString();
+			m_settingValue = false;
+			return;
+		}
+
+		//must call m_combo.setvalue after m_lookup as
+		//loading of combo data might happen in m_lookup.getDisplay
+		m_lastDisplay = m_lookup.getDisplay(value);
+		m_combo.setValue (value);
+
+		if (m_lastDisplay.equals("<-1>"))
+		{
+			m_lastDisplay = "";
+			m_value = null;
+		}
+		boolean notFound = m_lastDisplay.startsWith("<") && m_lastDisplay.endsWith(">");
+
+		//	Nothing showing in Combo and should be showing
+		if (m_combo.getSelectedItem() == null)
+		{
+			//  lookup found nothing too
+			if (notFound)
+			{
+				log.finest(m_columnName + "=" + value + ": Not found - " + m_lastDisplay);
+				//  we may have a new value
+				m_lookup.refresh();
+				m_combo.setValue (value);
+				m_lastDisplay = m_lookup.getDisplay(value);
+				notFound = m_lastDisplay.startsWith("<") && m_lastDisplay.endsWith(">");
+			}
+			if (notFound && value instanceof Integer && m_lookup.getDisplayType() != DisplayType.ID) // for IDs is ok to be out of the list
+			{
+				m_value = null;
+				actionCombo (null);             //  data binding
+				log.fine(m_columnName + "=" + value + ": Not found");
+			}
+			//  we have lookup
+			else if (m_combo.getSelectedItem() == null)
+			{
+				NamePair pp = m_lookup.get(value);
+				if (pp != null)
+				{
+					log.fine(m_columnName + " added to combo - " + pp);
+					//  Add to Combo
+					m_combo.addItem (pp);
+					m_combo.setValue (value);
+				}
+			}
+			//  Not in Lookup - set to Null
+			if (m_combo.getSelectedItem() == null)
+			{
+				if (value instanceof Integer && m_lookup.getDisplayType() != DisplayType.ID) // for IDs is ok to be out of the list
+				{
+					log.info(m_columnName + "=" + value + ": not in Lookup - set to NULL");
+					actionCombo (null);             //  data binding (calls setValue again)
+					m_value = null;
+				}
+			}
+		}
+		m_settingValue = false;
+	}
+	
+	@Override
+	public void propertyChange(PropertyChangeEvent evt) {
+		if (m_stopediting)
+			return;
+
+	//	log.fine( "VLookup.propertyChange", evt);
+		if (evt.getPropertyName().equals(GridField.PROPERTY))
+		{
+			m_inserting = GridField.INSERTING.equals(evt.getOldValue());	//	MField.setValue
+			setValue(evt.getNewValue());
+			m_inserting = false;
+		}
+	}
+
+	@Override
+	public Object getValue() {
+		return m_combo.getValue ();
+	}
+
+	@Override
+	public String getDisplay() {
+		return m_combo.getDisplay();
+	}
+
+	@Override
+	public void setField(GridField mField) {
+		m_mField = mField;
+	}
+
+	@Override
+	public GridField getField() {
+		return m_mField;
+	}
+
+	@Override
+	public void actionPerformed(ActionEvent e) {
+		if (m_settingValue || m_settingFocus || m_stopediting)
+			return;
+		log.config(m_columnName + " - " + e.getActionCommand() + ", ComboValue=" + m_combo.getSelectedItem());
+
+		//  Combo Selection
+		if (e.getSource() == m_combo)
+		{
+			Object value = getValue();
+			Object o = m_combo.getSelectedItem();
+			if (o != null)
+			{
+				String s = o.toString();
+				//  don't allow selection of inactive
+				if (s.startsWith(MLookup.INACTIVE_S) && s.endsWith(MLookup.INACTIVE_E))
+				{
+					log.info(m_columnName + " - selection inactive set to NULL");
+					value = null;
+				}
+			}
+			actionCombo (value);                //  data binding
+		}
+		//  Button pressed
+		else if (e.getSource() == m_button)
+			actionButton ();
+	}
+	
+	@Override
+	public void addActionListener(ActionListener listener) {
+		m_combo.addActionListener(listener);
+	}
+	
+	private void actionCombo (Object value)
+	{
+		log.fine("Value=" + value);
+		try
+		{
+			// -> GridController.vetoableChange
+			fireVetoableChange (m_columnName, null, value);
+		}
+		catch (PropertyVetoException pve)
+		{
+			log.log(Level.SEVERE, m_columnName, pve);
+		}
+		//  is the value updated ?
+		boolean updated = false;
+
+		Object updatedValue = value;
+
+		if (updatedValue instanceof Object[] && ((Object[])updatedValue).length > 0)
+		{
+			updatedValue = ((Object[])updatedValue)[0];
+		}
+
+		if (updatedValue == null && m_value == null)
+			updated = true;
+		else if (updatedValue != null && value.equals(m_value))
+			updated = true;
+		if (!updated)
+		{
+			//  happens if VLookup is used outside of APanel/GridController (no property listener)
+			log.fine(m_columnName + " - Value explicitly set - new=" + updatedValue + ", old=" + m_value);
+
+			// phib: the following check causes the update to fail on jre > 1.6.0_13
+			// commenting out as it does not appear to be necessary
+			//if (getListeners(PropertyChangeListener.class).length <= 0)
+				setValue(updatedValue);
+		}
+	}	//	actionCombo
+	
+	private void actionButton ()
+	{
+		m_button.setEnabled(false);                 //  disable double click
+		if (m_lookup == null)
+			return;		//	leave button disabled
+		m_combo.requestFocus();						//  closes other editors
+		
+		int windowNo = m_lookup.getWindowNo();
+		Object newValue = getValue();
+		if (newValue != null)
+		{
+			IPaymentForm pf = VPaymentFormFactory.create(windowNo, getField().getGridTab(), (String) newValue);
+			if(pf != null)
+			{
+				VPaymentFormDialog dialog = (VPaymentFormDialog) pf.getWindow();
+				if(dialog.isInitOK())
+				{
+					dialog.setLocationRelativeTo(null);
+					pf.showWindow();
+					pf.closeWindow();
+					getField().getGridTab().dataRefresh();
+				}
+				else
+					pf.closeWindow();
+			}
+		}
+		
+		m_button.setEnabled(true);
+		m_combo.requestFocus();
+	}	//	actionButton
+	
+	@Override
+	public void focusGained (FocusEvent e)
+	{
+		if (m_combo == null || m_combo.getEditor() == null)
+			return;
+		if ((e.getSource() != m_combo && e.getSource() != m_combo.getEditor().getEditorComponent())
+			|| e.isTemporary() || m_haveFocus || m_lookup == null)
+			return;
+
+		//avoid repeated query
+		if (m_lookup.isValidated() && m_lookup.isLoaded())
+		{
+			m_haveFocus = true;
+			return;
+		}
+		//
+		m_haveFocus = true;     //  prevents calling focus gained twice
+		m_settingFocus = true;  //  prevents actionPerformed
+		//
+		Object obj = m_lookup.getSelectedItem();
+		log.config(m_columnName
+			+ " - Start    Count=" + m_combo.getItemCount() + ", Selected=" + obj);
+	//	log.fine( "VLookupHash=" + this.hashCode());
+		boolean popupVisible = m_combo.isPopupVisible();
+		m_lookup.fillComboBox(isMandatory(), true, true, false);     //  only validated & active
+		if (popupVisible)
+		{
+			//refresh
+			m_combo.hidePopup();
+			m_combo.showPopup();
+		}
+		log.config(m_columnName
+			+ " - Update   Count=" + m_combo.getItemCount() + ", Selected=" + m_lookup.getSelectedItem());
+		m_lookup.setSelectedItem(obj);
+		log.config(m_columnName
+			+ " - Selected Count=" + m_combo.getItemCount() + ", Selected=" + m_lookup.getSelectedItem());
+		//
+		m_settingFocus = false;
+	}	//	focusGained
+
+	@Override
+	public void focusLost(FocusEvent e)
+	{
+		if (e.isTemporary()
+			|| m_lookup == null
+			|| !m_button.isEnabled() )	//	set by actionButton
+			return;
+		//	Combo lost focus
+		if (e.getSource() != m_combo && e.getSource() != m_combo.getEditor().getEditorComponent())
+			return;
+		if (m_lookup.isValidated() && !m_lookup.hasInactive())
+		{
+			m_haveFocus = false;
+			return;
+		}
+		//
+		m_settingFocus = true;  //  prevents actionPerformed
+		//
+		log.config(m_columnName + " = " + m_combo.getSelectedItem());
+		Object obj = m_combo.getSelectedItem();
+		/*
+		//	set original model
+		if (!m_lookup.isValidated())
+			m_lookup.fillComboBox(true);    //  previous selection
+		*/
+		//	Set value
+		if (obj != null)
+		{
+			m_combo.setSelectedItem(obj);
+			//	original model may not have item
+			if (!m_combo.getSelectedItem().equals(obj))
+			{
+				log.fine(m_columnName + " - added to combo - " + obj);
+				m_combo.addItem(obj);
+				m_combo.setSelectedItem(obj);
+			}
+		}
+	//	actionCombo(getValue());
+		m_settingFocus = false;
+		m_haveFocus = false;    //  can gain focus again
+	}	//	focusLost
+	
+	public void setToolTipText(String text)
+	{
+		super.setToolTipText(text);
+		m_button.setToolTipText(text);
+		m_combo.setToolTipText(text);
+	}
+	
+	public int refresh()
+	{
+		if (m_lookup == null)
+			return -1;
+
+		//no need to refresh readonly lookup, just remove direct cache
+		if (!isReadWrite()) {
+			m_lookup.removeAllElements();
+			return 0;
+		}
+
+		return m_lookup.refresh();
+	}	//	refresh
+	
+	public void setStopEditing(boolean stopediting) {
+		m_stopediting = stopediting;
+	}
+}
diff --git a/org.adempiere.ui.swing/src/org/compiere/images/Payment10.gif b/org.adempiere.ui.swing/src/org/compiere/images/Payment10.gif
new file mode 100644
index 0000000000..04a3e556f4
Binary files /dev/null and b/org.adempiere.ui.swing/src/org/compiere/images/Payment10.gif differ
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java
index 5811450ae1..3631ad380d 100644
--- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java
@@ -202,10 +202,11 @@ public class AdempiereWebUI extends Window implements EventListener, IWeb
 		//	Create adempiere Session - user id in ctx
         Session currSess = Executions.getCurrent().getDesktop().getSession();
         HttpSession httpSess = (HttpSession) currSess.getNativeSession();
+        String x_Forward_IP = Executions.getCurrent().getHeader("X-Forwarded-For");
+        
+		MSession mSession = MSession.get (ctx, x_Forward_IP!=null ? x_Forward_IP : currSess.getRemoteAddr(),
+			currSess.getRemoteHost(), httpSess.getId() );
 
-		MSession mSession = MSession.get (ctx, currSess.getRemoteAddr(),
-		currSess.getRemoteHost(), httpSess.getId() );
-		
 		 currSess.setAttribute("Check_AD_User_ID", Env.getAD_User_ID(ctx));
 
 		//enable full interface, relook into this when doing preference
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java
index 8250dbc933..2ca421fa59 100644
--- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java
@@ -42,6 +42,7 @@ import org.adempiere.webui.editor.IZoomableEditor;
 import org.adempiere.webui.editor.WButtonEditor;
 import org.adempiere.webui.editor.WEditor;
 import org.adempiere.webui.editor.WEditorPopupMenu;
+import org.adempiere.webui.editor.WPaymentEditor;
 import org.adempiere.webui.editor.WebEditorFactory;
 import org.adempiere.webui.event.ContextMenuListener;
 import org.adempiere.webui.util.GridTabDataBinder;
@@ -103,7 +104,7 @@ DataStatusListener, IADTabpanel
 	private static final long serialVersionUID = -6082680802978974909L;
 
 	private static final String ON_DEFER_SET_SELECTED_NODE = "onDeferSetSelectedNode";
-
+	
 	private static final CLogger logger;
 
     static
@@ -161,6 +162,7 @@ DataStatusListener, IADTabpanel
     {
         initComponents();
         addEventListener(ON_DEFER_SET_SELECTED_NODE, this);
+        addEventListener(WPaymentEditor.ON_SAVE_PAYMENT, this);
     }
 
     private void initComponents()
@@ -854,7 +856,7 @@ DataStatusListener, IADTabpanel
     	{    		
     		Events.sendEvent(this, new Event(ON_TOGGLE_EVENT, this));
     	}
-    	else if (event.getTarget() == treePanel.getTree()) {
+    	else if (treePanel != null && event.getTarget() == treePanel.getTree()) {
     		Treeitem item =  treePanel.getTree().getSelectedItem();
     		navigateTo((DefaultTreeNode)item.getValue());
     	}
@@ -862,7 +864,10 @@ DataStatusListener, IADTabpanel
     		if (gridTab.getRecord_ID() > 0 && gridTab.isTreeTab() && treePanel != null) {
             	setSelectedNode(gridTab.getRecord_ID());
             }
-    	} 
+    	}
+    	else if (WPaymentEditor.ON_SAVE_PAYMENT.equals(event.getName())) {
+    		windowPanel.onSavePayment();
+    	}
     }
 
     private void navigateTo(DefaultTreeNode value) {
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java
index 89f0c1579b..7b7228cf9b 100644
--- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java
@@ -87,7 +87,6 @@ import org.compiere.util.DB;
 import org.compiere.util.DisplayType;
 import org.compiere.util.Env;
 import org.compiere.util.Msg;
-import org.compiere.util.Util;
 import org.compiere.util.WebDoc;
 import org.zkoss.zk.ui.Component;
 import org.zkoss.zk.ui.Executions;
@@ -451,12 +450,21 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
 
 	private void initQueryOnNew(MQuery result) {
 		GridTab curTab = adTabbox.getSelectedGridTab();
+		boolean onNew = false;
 		if (curTab.isHighVolume() && m_findCreateNew)
-			onNew();
+			onNew = true;
 		else if (result == null && curTab.getRowCount() == 0 && Env.isAutoNew(ctx, curWindowNo))
-			onNew();
+			onNew = true;
 		else if (!curTab.isReadOnly() && curTab.isQueryNewRecord())
-			onNew();
+			onNew = true;
+		if (onNew) {
+			Executions.schedule(AEnv.getDesktop(), new EventListener() {
+				@Override
+				public void onEvent(Event event) throws Exception {
+					onNew();
+				}
+			}, new Event("onInsert"));
+		}
 	}
 	
 	/**
@@ -1211,7 +1219,9 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
         {
         	adTabbox.updateDetailPaneToolbar(changed, readOnly);
         }
-        toolbar.enableIgnore(adTabbox.needSave(true, false));
+        toolbar.enableIgnore(adTabbox.needSave(true, false) ||
+        		adTabbox.getSelectedGridTab().isNew() ||
+        		(adTabbox.getSelectedDetailADTabpanel() != null && adTabbox.getSelectedDetailADTabpanel().getGridTab().isNew()));
 
         if (changed && !readOnly && !toolbar.isSaveEnable() ) {
         	if (tabPanel.getGridTab().getRecord_ID() > 0) {
@@ -1578,6 +1588,18 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
 			}
 		});    	    	
     }
+    
+    public void onSavePayment()
+    {
+    	onSave(false, false, new Callback() {
+		
+			@Override
+			public void onCallback(Boolean result) {
+				onRefresh(false, false);
+			}
+			
+		});
+    }
 
     /**
      * @param onSaveEvent
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java
index 209b5871d6..90e914fd06 100644
--- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java
@@ -33,6 +33,7 @@ import org.compiere.model.DataStatusEvent;
 import org.compiere.model.MRole;
 import org.compiere.util.Env;
 import org.compiere.util.Msg;
+import org.compiere.util.Util;
 import org.zkoss.zhtml.Text;
 import org.zkoss.zk.ui.Component;
 import org.zkoss.zk.ui.Execution;
@@ -42,7 +43,6 @@ import org.zkoss.zk.ui.event.Event;
 import org.zkoss.zk.ui.event.EventListener;
 import org.zkoss.zk.ui.event.Events;
 import org.zkoss.zk.ui.event.KeyEvent;
-import org.zkoss.zk.ui.event.MouseEvent;
 import org.zkoss.zk.ui.util.Clients;
 import org.zkoss.zul.Caption;
 import org.zkoss.zul.Div;
@@ -126,9 +126,9 @@ public class BreadCrumb extends Div implements EventListener{
         toolbar.appendChild(btnPrevious);
         btnRecordInfo = new ToolBarButton();
         btnRecordInfo.setLabel("");
-        btnRecordInfo.setStyle("font-size: 12px");
-        btnRecordInfo.setTooltiptext("Record Info");
+        btnRecordInfo.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Who")));
         btnRecordInfo.addEventListener(Events.ON_CLICK, this);
+        btnRecordInfo.setSclass("breadcrumb-record-info");
         toolbar.appendChild(btnRecordInfo);
         btnNext = createButton("Next", "Next", "Next");
         toolbar.appendChild(btnNext);
@@ -274,7 +274,7 @@ public class BreadCrumb extends Div implements EventListener{
         	btn.setAttribute(AdempiereIdGenerator.ZK_COMPONENT_PREFIX_ATTRIBUTE, btn.getName());
         btn.setImage("/images/"+image + "24.png");
         btn.setTooltiptext(Msg.getMsg(Env.getCtx(),tooltip));
-        btn.setSclass("toolbar-button");
+        btn.setSclass("breadcrumb-toolbar-button");
         
         buttons.put(name, btn);
         this.appendChild(btn);
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormCash.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormCash.java
new file mode 100644
index 0000000000..9bf7193eba
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormCash.java
@@ -0,0 +1,244 @@
+package org.adempiere.webui.apps.form;
+
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Enumeration;
+
+import org.adempiere.webui.component.Column;
+import org.adempiere.webui.component.Columns;
+import org.adempiere.webui.component.Grid;
+import org.adempiere.webui.component.GridFactory;
+import org.adempiere.webui.component.Label;
+import org.adempiere.webui.component.ListItem;
+import org.adempiere.webui.component.Listbox;
+import org.adempiere.webui.component.ListboxFactory;
+import org.adempiere.webui.component.Row;
+import org.adempiere.webui.component.Rows;
+import org.adempiere.webui.editor.WDateEditor;
+import org.adempiere.webui.editor.WNumberEditor;
+import org.adempiere.webui.window.FDialog;
+import org.compiere.grid.PaymentFormCash;
+import org.compiere.model.GridTab;
+import org.compiere.model.MConversionRate;
+import org.compiere.model.MInvoice;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+import org.compiere.util.Msg;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+
+public class WPaymentFormCash extends PaymentFormCash implements EventListener {
+
+	private WPaymentFormWindow window;
+	
+	private Label bBankAccountLabel = new Label();
+	private Listbox bBankAccountCombo = ListboxFactory.newDropdownListbox();
+	private Label bCashBookLabel = new Label();
+	private Listbox bCashBookCombo = ListboxFactory.newDropdownListbox();
+	private Label bCurrencyLabel = new Label();
+	private Listbox bCurrencyCombo = ListboxFactory.newDropdownListbox();
+	private Label bDateLabel = new Label();
+	private WDateEditor bDateField;
+	private Label bAmountLabel = new Label();
+	private WNumberEditor bAmountField = new WNumberEditor();
+	
+	public WPaymentFormCash(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		bDateField = new WDateEditor("DateAcct", false, false, true, "DateAcct");
+		window = new WPaymentFormWindow(this, windowNo);
+		init();
+				
+		//Bojana&Daniel
+		//If Invoice is Vendor invoice then Cash has to be created by negative amount
+		int C_Invoice_ID = Env.getContextAsInt(Env.getCtx(), getWindowNo(), "C_Invoice_ID");
+		MInvoice invoice_tmp = new MInvoice (Env.getCtx(), C_Invoice_ID, null);
+		if (! invoice_tmp.isSOTrx())
+		{
+			bAmountField.setValue(m_Amount.negate());
+		}else {
+			bAmountField.setValue(m_Amount);
+		}
+		invoice_tmp = null;
+	}
+	
+	public void init() {
+		Grid bPanelLayout = GridFactory.newGridLayout();
+		window.getPanel().appendChild(bPanelLayout);
+		bCashBookLabel.setText(Msg.translate(Env.getCtx(), "C_CashBook_ID"));
+		bCurrencyLabel.setText(Msg.translate(Env.getCtx(), "C_Currency_ID"));
+		bAmountLabel.setText(Msg.getMsg(Env.getCtx(), "Amount"));
+		//bAmountField.setText("");
+		bDateLabel.setText(Msg.translate(Env.getCtx(), "DateAcct"));
+		window.getPanel().setId("bPanel");
+		
+		Columns columns = new Columns();
+		bPanelLayout.appendChild(columns);
+		
+		Column column = new Column();
+		columns.appendChild(column);
+		column.setWidth("40%");
+		
+		column = new Column();
+		columns.appendChild(column);
+		column.setWidth("60%");
+		
+		bAmountField.getComponent().setWidth("150px");
+		
+		Rows rows = bPanelLayout.newRows();
+		Row row = rows.newRow();
+		if (m_Cash_As_Payment) {
+			bBankAccountLabel.setText(Msg.translate(Env.getCtx(), "C_BankAccount_ID"));
+			row.appendChild(bBankAccountLabel.rightAlign());
+			row.appendChild(bBankAccountCombo);
+		} else {
+			row.appendChild(bCashBookLabel.rightAlign());
+			row.appendChild(bCashBookCombo);
+		}
+		
+		row = rows.newRow();
+		row.appendChild(bCurrencyLabel.rightAlign());
+		row.appendChild(bCurrencyCombo);
+		
+		row = rows.newRow();
+		row.appendChild(bDateLabel.rightAlign());
+		row.appendChild(bDateField.getComponent());
+		
+		row = rows.newRow();
+		row.appendChild(bAmountLabel.rightAlign());
+		row.appendChild(bAmountField.getComponent());
+	}
+
+	@Override
+	public void loadData() {
+		bAmountField.setValue(m_Amount);
+		
+		if (m_C_Payment_ID != 0)
+			bAmountField.setValue(m_mPayment.getPayAmt());
+		
+		//  Existing Cashbook entry
+		if (m_C_CashLine_ID != 0)
+			bAmountField.setValue(m_cashLine.getAmount()); 
+
+		//	Accounting Date
+		bDateField.setValue(m_DateAcct);
+		
+		// Is the currency an EMU currency?
+		Integer C_Currency_ID = new Integer(m_C_Currency_ID);
+		if (s_Currencies.containsKey(C_Currency_ID)) {
+			Enumeration en = s_Currencies.keys();
+			while (en.hasMoreElements()) {
+				Object key = en.nextElement();
+				bCurrencyCombo.addItem(s_Currencies.get(key));
+			}
+			bCurrencyCombo.addActionListener(this);
+			bCurrencyCombo.setSelectedKeyNamePair(s_Currencies.get(C_Currency_ID));
+		} 
+		else // No EMU Currency
+		{
+			bCurrencyLabel.setVisible(false); // Cash
+			bCurrencyCombo.setVisible(false);
+		}
+		
+		ArrayList list = getBankAccountList();
+		for (KeyNamePair pp : list)
+			bBankAccountCombo.addItem(pp);
+		
+		//	Set Selection
+		if (selectedBankAccount != null)
+			bBankAccountCombo.setSelectedKeyNamePair(selectedBankAccount);
+		
+		
+		list = getCashBookList();
+		for (KeyNamePair pp : list)
+			bCashBookCombo.addItem(pp);
+		
+		//	Set Selection
+		if (selectedCashBook != null)
+			bCashBookCombo.setSelectedKeyNamePair(selectedCashBook);
+	}
+	
+	public void onEvent(Event e)
+	{
+		if (e.getTarget() == bCurrencyCombo)
+		{
+			KeyNamePair pp = bCurrencyCombo.getSelectedItem().toKeyNamePair();
+			BigDecimal amt = MConversionRate.convert(Env.getCtx(), m_Amount, m_C_Currency_ID, pp.getKey(), m_AD_Client_ID, m_AD_Org_ID);
+			bAmountField.setValue(amt);
+		}
+	}
+	
+	@Override
+	public boolean checkMandatory() {
+		int C_BankAccount_ID = 0;
+		/***********************
+		 *	Mandatory Data Check
+		 */
+		boolean dataOK = true;
+		if (m_Cash_As_Payment)
+		{
+			ListItem selected = bBankAccountCombo.getSelectedItem(); 
+			KeyNamePair kp = selected != null ? selected.toKeyNamePair() : null;
+			if (kp != null)
+				C_BankAccount_ID = kp.getKey();
+		}
+		
+		//  find Bank Account if not qualified yet
+		if (m_Cash_As_Payment && C_BankAccount_ID == 0)
+		{
+			// Check & Cash (Payment) must have a bank account
+			if (C_BankAccount_ID == 0 && m_Cash_As_Payment)
+			{
+				FDialog.error(getWindowNo(), window, "FillMandatory", bBankAccountLabel.getValue());
+				dataOK = false;
+			}
+		}
+		
+		return dataOK;
+	}
+
+	@Override
+	public boolean saveChangesInTrx(final String trxName) {
+		int newC_CashBook_ID = m_C_CashBook_ID;
+		int newC_BankAccount_ID = 0;
+		if (m_Cash_As_Payment){
+			// get bank account
+			ListItem selected = bBankAccountCombo.getSelectedItem(); 
+			KeyNamePair kp = selected != null ? selected.toKeyNamePair() : null;
+			if (kp != null)
+				newC_BankAccount_ID = kp.getKey();
+		} else {
+			// get cash book
+			ListItem selected = bCashBookCombo.getSelectedItem(); 
+			KeyNamePair kp = selected != null ? selected.toKeyNamePair() : null;
+			if (kp != null)
+				newC_CashBook_ID = kp.getKey();	
+		}
+		
+		Timestamp newDateAcct = (Timestamp)bDateField.getValue();
+		
+		boolean ok = save(newC_BankAccount_ID,newC_CashBook_ID, newDateAcct, (BigDecimal) bAmountField.getValue(), trxName);
+		
+		if (!ok)
+			FDialog.error(getWindowNo(), window, "PaymentError", processMsg);
+		else if (processMsg != null)
+			FDialog.info(getWindowNo(), window, "PaymentCreated", processMsg);
+		
+		return true;
+	}
+	
+	@Override
+	public void showWindow() {
+		window.setVisible(true);
+	}
+
+	@Override
+	public void closeWindow() {
+		window.dispose();
+	}
+
+	@Override
+	public Object getWindow() {
+		return window;
+	}
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormCheck.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormCheck.java
new file mode 100644
index 0000000000..b842f0a746
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormCheck.java
@@ -0,0 +1,260 @@
+package org.adempiere.webui.apps.form;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Enumeration;
+
+import org.adempiere.webui.LayoutUtils;
+import org.adempiere.webui.component.Button;
+import org.adempiere.webui.component.Column;
+import org.adempiere.webui.component.Columns;
+import org.adempiere.webui.component.Grid;
+import org.adempiere.webui.component.GridFactory;
+import org.adempiere.webui.component.Label;
+import org.adempiere.webui.component.ListItem;
+import org.adempiere.webui.component.Listbox;
+import org.adempiere.webui.component.ListboxFactory;
+import org.adempiere.webui.component.Row;
+import org.adempiere.webui.component.Rows;
+import org.adempiere.webui.component.Textbox;
+import org.adempiere.webui.editor.WNumberEditor;
+import org.adempiere.webui.window.FDialog;
+import org.compiere.grid.PaymentFormCheck;
+import org.compiere.model.GridTab;
+import org.compiere.model.MConversionRate;
+import org.compiere.model.MPaymentValidate;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+import org.compiere.util.Msg;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zul.Cell;
+import org.zkoss.zul.Space;
+
+public class WPaymentFormCheck extends PaymentFormCheck implements EventListener {
+
+	private WPaymentFormWindow window;
+	
+	private Label sBankAccountLabel = new Label();
+	private Listbox sBankAccountCombo = ListboxFactory.newDropdownListbox();
+	private Label sCurrencyLabel = new Label();
+	private Listbox sCurrencyCombo = ListboxFactory.newDropdownListbox();
+	private Label sAmountLabel = new Label();
+	private WNumberEditor sAmountField = new WNumberEditor();
+	private Label sRoutingLabel = new Label();
+	private Textbox sRoutingField = new Textbox();
+	private Label sNumberLabel = new Label();
+	private Textbox sNumberField = new Textbox();
+	private Textbox sCheckField = new Textbox();
+	private Label sCheckLabel = new Label();
+	private Button sOnline = new Button();
+	private Label sStatus = new Label();
+	
+	public WPaymentFormCheck(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		window = new WPaymentFormWindow(this, windowNo);
+		init();
+	}
+	
+	public void init() {
+		Grid sPanelLayout = GridFactory.newGridLayout();
+		window.getPanel().appendChild(sPanelLayout);
+		sBankAccountLabel.setText(Msg.translate(Env.getCtx(), "C_BankAccount_ID"));
+		sAmountLabel.setText(Msg.getMsg(Env.getCtx(), "Amount"));
+		sRoutingLabel.setText(Msg.translate(Env.getCtx(), "RoutingNo"));
+		sNumberLabel.setText(Msg.translate(Env.getCtx(), "AccountNo"));
+		sCheckLabel.setText(Msg.translate(Env.getCtx(), "CheckNo"));
+		sCheckField.setCols(8);
+		sCurrencyLabel.setText(Msg.translate(Env.getCtx(), "C_Currency_ID"));
+		sNumberField.setWidth("100pt");
+		sRoutingField.setWidth("70pt");
+		sStatus.setText(" ");
+		sOnline.setLabel(Msg.getMsg(Env.getCtx(), "Online"));
+		LayoutUtils.addSclass("action-text-button", sOnline);
+//		sOnline.addActionListener(this);
+		window.getPanel().setId("sPanel");
+		
+		Columns columns = new Columns();
+		sPanelLayout.appendChild(columns);
+		
+		Column column = new Column();
+		columns.appendChild(column);
+		column.setWidth("30%");
+		
+		column = new Column();
+		columns.appendChild(column);
+		column.setWidth("50%");
+		
+		column = new Column();
+		columns.appendChild(column);
+		column.setWidth("20%");
+		
+		sAmountField.getComponent().setWidth("150px");
+		
+		Rows rows = sPanelLayout.newRows();
+		Row row = rows.newRow();
+		row.appendChild(sBankAccountLabel.rightAlign());
+		row.appendChild(sBankAccountCombo);
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(sCurrencyLabel.rightAlign());
+		row.appendChild(sCurrencyCombo);
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(sAmountLabel.rightAlign());
+		row.appendChild(sAmountField.getComponent());
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(sRoutingLabel.rightAlign());
+		row.appendChild(sRoutingField);
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(sNumberLabel.rightAlign());
+		row.appendChild(sNumberField);
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(sCheckLabel.rightAlign());
+		row.appendChild(sCheckField);
+		row.appendChild(sOnline);
+		
+		row = rows.newRow();
+		Cell cell = new Cell();
+		row.appendChild(cell);
+		cell.appendChild(sStatus);
+		cell.setColspan(3);
+	}
+
+	@Override
+	public void loadData() {		
+		sAmountField.setValue(m_Amount);
+		
+		if (m_C_Payment_ID != 0)
+		{
+			sRoutingField.setText(m_mPayment.getRoutingNo());
+			sNumberField.setText(m_mPayment.getAccountNo());
+			sCheckField.setText(m_mPayment.getCheckNo());
+			sStatus.setText(m_mPayment.getR_PnRef());
+			sAmountField.setValue(m_mPayment.getPayAmt());
+		}
+		
+		//	Is the currency an EMU currency?
+		Integer C_Currency_ID = new Integer(m_C_Currency_ID);
+		if (s_Currencies.containsKey(C_Currency_ID))
+		{
+			Enumeration en = s_Currencies.keys();
+			while (en.hasMoreElements())
+			{
+				Object key = en.nextElement();
+				sCurrencyCombo.addItem(s_Currencies.get(key));
+			}
+			sCurrencyCombo.addActionListener(this);
+			sCurrencyCombo.setSelectedKeyNamePair(s_Currencies.get(C_Currency_ID));
+		}
+		else	//	No EMU Currency
+		{
+			sCurrencyLabel.setVisible(false);	//	Check
+			sCurrencyCombo.setVisible(false);
+		}
+
+		ArrayList list = getBankAccountList();
+		for (KeyNamePair pp : list)
+			sBankAccountCombo.addItem(pp);
+		
+		//	Set Selection
+		if (selectedBankAccount != null)
+			sBankAccountCombo.setSelectedKeyNamePair(selectedBankAccount);
+	}
+	
+	public void onEvent(Event e)
+	{
+		if (e.getTarget() == sCurrencyCombo)
+		{
+			KeyNamePair pp = sCurrencyCombo.getSelectedItem().toKeyNamePair();
+			BigDecimal amt = MConversionRate.convert(Env.getCtx(),
+					m_Amount, m_C_Currency_ID, pp.getKey(), m_AD_Client_ID, m_AD_Org_ID);
+			sAmountField.setValue(amt);
+		}
+//		else if (e.getTarget() == sOnline) {
+//			window.lockUI();
+//			Clients.response(new AuEcho(window, "runProcessOnline", null));
+//		}
+	}
+	
+	@Override
+	public boolean checkMandatory() {
+		int C_BankAccount_ID = 0;
+		/***********************
+		 *	Mandatory Data Check
+		 */
+		boolean dataOK = true;
+		ListItem selected = sBankAccountCombo.getSelectedItem(); 
+		KeyNamePair kp = selected != null ? selected.toKeyNamePair() : null;
+		if (kp != null)
+			C_BankAccount_ID = kp.getKey();
+		String error = MPaymentValidate.validateRoutingNo(sRoutingField.getText());
+		if (error.length() != 0)
+		{
+			FDialog.error(getWindowNo(), window, error);
+			dataOK = false;
+		}
+		error = MPaymentValidate.validateAccountNo(sNumberField.getText());
+		if (error.length() != 0)
+		{
+			FDialog.error(getWindowNo(), window, error);
+			dataOK = false;
+		}
+		error = MPaymentValidate.validateCheckNo(sCheckField.getText());
+		if (error.length() != 0)
+		{
+			FDialog.error(getWindowNo(), window, error);
+			dataOK = false;
+		}
+		
+		// Check & Cash (Payment) must have a bank account
+		if (C_BankAccount_ID == 0)
+		{
+			FDialog.error(getWindowNo(), window, "FillMandatory", sBankAccountLabel.getValue());
+			dataOK = false;
+		}
+		//
+		log.config("OK=" + dataOK);
+		return dataOK;
+	}	
+
+	@Override
+	public boolean saveChangesInTrx(final String trxName) {
+		int newC_BankAccount_ID = 0;
+		ListItem selected = sBankAccountCombo.getSelectedItem(); 
+		KeyNamePair kp = selected != null ? selected.toKeyNamePair() : null;
+		if (kp != null)
+			newC_BankAccount_ID = kp.getKey();
+		
+		boolean ok = save(newC_BankAccount_ID, sRoutingField.getText(), sNumberField.getText(), sCheckField.getText(), (BigDecimal) sAmountField.getValue());		
+		if (!ok)
+			FDialog.error(getWindowNo(), window, "PaymentError", processMsg);
+		else if (processMsg != null)
+			FDialog.info(getWindowNo(), window, "PaymentCreated", m_mPayment.getDocumentNo());
+		
+		return true;
+	}
+	
+	@Override
+	public void showWindow() {
+		window.setVisible(true);
+	}
+
+	@Override
+	public void closeWindow() {
+		window.dispose();
+	}
+
+	@Override
+	public Object getWindow() {
+		return window;
+	}
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormCreditCard.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormCreditCard.java
new file mode 100644
index 0000000000..05eea7a290
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormCreditCard.java
@@ -0,0 +1,212 @@
+package org.adempiere.webui.apps.form;
+
+import java.math.BigDecimal;
+
+import org.adempiere.webui.LayoutUtils;
+import org.adempiere.webui.component.Button;
+import org.adempiere.webui.component.Column;
+import org.adempiere.webui.component.Columns;
+import org.adempiere.webui.component.Grid;
+import org.adempiere.webui.component.GridFactory;
+import org.adempiere.webui.component.Label;
+import org.adempiere.webui.component.ListItem;
+import org.adempiere.webui.component.Listbox;
+import org.adempiere.webui.component.ListboxFactory;
+import org.adempiere.webui.component.Row;
+import org.adempiere.webui.component.Rows;
+import org.adempiere.webui.component.Textbox;
+import org.adempiere.webui.editor.WNumberEditor;
+import org.adempiere.webui.window.FDialog;
+import org.compiere.grid.PaymentFormCreditCard;
+import org.compiere.model.GridTab;
+import org.compiere.util.Env;
+import org.compiere.util.Msg;
+import org.compiere.util.ValueNamePair;
+import org.zkoss.zk.au.out.AuEcho;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.util.Clients;
+import org.zkoss.zul.Space;
+
+public class WPaymentFormCreditCard extends PaymentFormCreditCard implements EventListener {
+
+	private WPaymentFormWindow window;
+	
+	private Label kTypeLabel = new Label();
+	private Listbox kTypeCombo = ListboxFactory.newDropdownListbox();
+	private Label kNumberLabel = new Label();
+	private Textbox kNumberField = new Textbox();
+	private Label kExpLabel = new Label();
+	private Textbox kExpField = new Textbox();
+	private Label kAmountLabel = new Label();
+	private WNumberEditor kAmountField = new WNumberEditor();
+	private Label kApprovalLabel = new Label();
+	private Textbox kApprovalField = new Textbox();
+	private Button kOnline = new Button();
+	private Label kStatus = new Label();
+	
+	public WPaymentFormCreditCard(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		window = new WPaymentFormWindow(this, windowNo);
+		init();
+	}
+	
+	public void init() {
+		Grid kLayout = GridFactory.newGridLayout();
+		window.getPanel().appendChild(kLayout);
+		kNumberField.setCols(16);
+		kExpField.setCols(4);
+		kApprovalField.setCols(4);
+		kTypeLabel.setText(Msg.translate(Env.getCtx(), "CreditCardType"));
+		kNumberLabel.setText(Msg.translate(Env.getCtx(), "CreditCardNumber"));
+		kExpLabel.setText(Msg.getMsg(Env.getCtx(), "Expires"));
+		kApprovalLabel.setText(Msg.translate(Env.getCtx(), "VoiceAuthCode"));
+		kAmountLabel.setText(Msg.getMsg(Env.getCtx(), "Amount"));
+		kOnline.setLabel(Msg.getMsg(Env.getCtx(), "Online"));
+		LayoutUtils.addSclass("action-text-button", kOnline);
+		kOnline.addActionListener(this);
+		kStatus.setText(" ");
+		window.getPanel().setId("kPanel");
+		
+		Columns columns = new Columns();
+		kLayout.appendChild(columns);
+		
+		Column column = new Column();
+		columns.appendChild(column);
+		column.setWidth("30%");
+		
+		column = new Column();
+		columns.appendChild(column);
+		column.setWidth("50%");
+		
+		column = new Column();
+		columns.appendChild(column);
+		column.setWidth("20%");
+		
+		kAmountField.getComponent().setWidth("150px");
+		
+		Rows rows = kLayout.newRows();
+		Row row = rows.newRow();
+		row.appendChild(kTypeLabel.rightAlign());
+		row.appendChild(kTypeCombo);
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(kNumberLabel.rightAlign());
+		row.appendChild(kNumberField);
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(kExpLabel.rightAlign());
+		row.appendChild(kExpField);
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(kAmountLabel.rightAlign());
+		row.appendChild(kAmountField.getComponent());
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(kApprovalLabel.rightAlign());
+		row.appendChild(kApprovalField);
+		row.appendChild(kOnline);
+		
+		row = rows.newRow();
+		row.appendCellChild(kStatus, 3);
+	}
+
+	@Override
+	public void loadData() {
+		kAmountField.setValue(m_Amount);
+		
+		if (m_C_Payment_ID != 0)
+		{
+			kNumberField.setText(m_mPayment.getCreditCardNumber());
+			kExpField.setText(m_mPayment.getCreditCardExp(null));
+			kApprovalField.setText(m_mPayment.getVoiceAuthCode());
+			kStatus.setText(m_mPayment.getR_PnRef());
+			kAmountField.setValue(m_mPayment.getPayAmt());
+			
+			//	if approved/paid, don't let it change
+			kTypeCombo.setEnabled(!m_mPayment.isApproved());
+			kNumberField.setReadonly(m_mPayment.isApproved());
+			kExpField.setReadonly(m_mPayment.isApproved());
+			kApprovalField.setReadonly(m_mPayment.isApproved());
+			kOnline.setEnabled(!m_mPayment.isApproved());
+			kAmountField.setReadWrite(!m_mPayment.isApproved());
+		}
+		
+		/**
+		 *	Load Credit Cards
+		 */
+		ValueNamePair[] ccs = getCreditCardList();
+		for (int i = 0; i < ccs.length; i++)
+			kTypeCombo.addItem(ccs[i]);
+		
+		//	Set Selection
+		if (selectedCreditCard != null)
+			kTypeCombo.setSelectedValueNamePair(selectedCreditCard);
+	}
+	
+	public void onEvent(Event e)
+	{
+		if (e.getTarget() == kOnline) {
+			window.lockUI();
+			Clients.response(new AuEcho(window, "runProcessOnline", null));
+		}
+	}
+
+	@Override
+	public boolean checkMandatory() {
+		return true;
+	}
+
+	@Override
+	public boolean saveChangesInTrx(final String trxName) {
+		String newCCType = m_CCType;
+		ListItem selected = kTypeCombo.getSelectedItem(); 
+		ValueNamePair vp = selected != null ? selected.toValueNamePair() : null;
+		if (vp != null)
+			newCCType = vp.getValue();
+		
+		boolean ok = save(newCCType, kNumberField.getText(), kExpField.getText(), (BigDecimal) kAmountField.getValue());		
+		if(!ok)
+			FDialog.error(getWindowNo(), window, "PaymentError", processMsg);
+		else if (processMsg != null)
+			FDialog.info(getWindowNo(), window, "PaymentCreated", processMsg);
+		
+		return true;
+	}
+	
+	@Override
+	public void processOnline()
+	{
+		log.config("");
+		if (!checkMandatory())
+			return;
+
+		ValueNamePair vp = kTypeCombo.getSelectedItem().toValueNamePair();
+		String CCType = vp.getValue();
+		
+		boolean ok = processOnline(CCType, kNumberField.getText(), kExpField.getText());
+		if (!ok)
+			FDialog.error(getWindowNo(), window, "PaymentError", processMsg);
+		else if (processMsg != null)
+			FDialog.info(getWindowNo(), window, "PaymentProcessed", processMsg);
+	}   //  online
+	
+	@Override
+	public void showWindow() {
+		window.setVisible(true);
+	}
+
+	@Override
+	public void closeWindow() {
+		window.dispose();
+	}
+
+	@Override
+	public Object getWindow() {
+		return window;
+	}
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormDirectDebit.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormDirectDebit.java
new file mode 100644
index 0000000000..da586ac96a
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormDirectDebit.java
@@ -0,0 +1,10 @@
+package org.adempiere.webui.apps.form;
+
+import org.compiere.model.GridTab;
+
+public class WPaymentFormDirectDebit extends WPaymentFormDirectDeposit {
+
+	public WPaymentFormDirectDebit(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+	}
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormDirectDeposit.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormDirectDeposit.java
new file mode 100644
index 0000000000..8abac750de
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormDirectDeposit.java
@@ -0,0 +1,150 @@
+package org.adempiere.webui.apps.form;
+
+import java.util.ArrayList;
+
+import org.adempiere.webui.LayoutUtils;
+import org.adempiere.webui.component.Button;
+import org.adempiere.webui.component.Column;
+import org.adempiere.webui.component.Columns;
+import org.adempiere.webui.component.Grid;
+import org.adempiere.webui.component.GridFactory;
+import org.adempiere.webui.component.Label;
+import org.adempiere.webui.component.ListItem;
+import org.adempiere.webui.component.Listbox;
+import org.adempiere.webui.component.ListboxFactory;
+import org.adempiere.webui.component.Row;
+import org.adempiere.webui.component.Rows;
+import org.adempiere.webui.component.Textbox;
+import org.adempiere.webui.window.FDialog;
+import org.compiere.grid.PaymentFormDirectDeposit;
+import org.compiere.model.GridTab;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+import org.compiere.util.Msg;
+import org.zkoss.zul.Space;
+
+public class WPaymentFormDirectDeposit extends PaymentFormDirectDeposit {
+
+	private WPaymentFormWindow window;
+	
+	private Label tAccountLabel = new Label();
+	private Listbox tAccountCombo = ListboxFactory.newDropdownListbox();
+	private Button tOnline = new Button();
+	private Textbox tRoutingField = new Textbox();
+	private Textbox tNumberField = new Textbox();
+	private Label tStatus = new Label();
+	private Label tRoutingText = new Label();
+	private Label tNumberText = new Label();
+	
+	public WPaymentFormDirectDeposit(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		window = new WPaymentFormWindow(this, windowNo);
+		init();
+	}
+	
+	public void init() {		
+		Grid tPanelLayout = GridFactory.newGridLayout();
+		window.getPanel().appendChild(tPanelLayout);
+		tAccountLabel.setText(Msg.translate(Env.getCtx(), "C_BP_BankAccount_ID"));
+		tRoutingField.setCols(8);
+		tNumberField.setCols(10);
+		tRoutingText.setText(Msg.translate(Env.getCtx(), "RoutingNo"));
+		tNumberText.setText(Msg.translate(Env.getCtx(), "AccountNo"));
+		tOnline.setLabel(Msg.getMsg(Env.getCtx(), "Online"));
+		LayoutUtils.addSclass("action-text-button", tOnline);
+		tStatus.setText(" ");
+		window.getPanel().setId("tPanel");
+		
+		Columns columns = new Columns();
+		tPanelLayout.appendChild(columns);
+		
+		Column column = new Column();
+		columns.appendChild(column);
+		column.setWidth("30%");
+		
+		column = new Column();
+		columns.appendChild(column);
+		column.setWidth("50%");
+		
+		column = new Column();
+		columns.appendChild(column);
+		column.setWidth("20%");
+		
+		Rows rows = tPanelLayout.newRows();
+		Row row = rows.newRow();
+		row.appendChild(tAccountLabel.rightAlign());
+		row.appendChild(tAccountCombo);
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(tRoutingText.rightAlign());
+		row.appendChild(tRoutingField);
+		row.appendChild(new Space());
+		
+		row = rows.newRow();
+		row.appendChild(tNumberText.rightAlign());
+		row.appendChild(tNumberField);
+		row.appendChild(tOnline);		
+		
+		row = rows.newRow();		
+		row.appendCellChild(tStatus, 3);
+	}
+
+	@Override
+	public void loadData() {		
+		if (m_C_Payment_ID != 0)
+		{
+			tRoutingField.setText(m_mPayment.getRoutingNo());
+			tNumberField.setText(m_mPayment.getAccountNo());
+			tStatus.setText(m_mPayment.getR_PnRef());
+		}
+		
+		ArrayList list = getBankAccountList();
+		for (KeyNamePair pp : list)
+			tAccountCombo.addItem(pp);
+	}
+
+	@Override
+	public boolean checkMandatory() {
+		/***********************
+		 *	Mandatory Data Check
+		 */
+		boolean dataOK = true;
+		ListItem selected =  tAccountCombo.getSelectedItem();
+		KeyNamePair bpba = selected != null ? selected.toKeyNamePair() : null;
+		if (bpba == null)
+		{
+			FDialog.error(getWindowNo(), window, "PaymentBPBankNotFound");
+			dataOK = false;
+		}
+		//
+		log.config("OK=" + dataOK);
+		return dataOK;
+	}
+
+	@Override
+	public boolean saveChangesInTrx(final String trxName) {		
+		boolean ok = save();		
+		if (!ok)
+			FDialog.error(getWindowNo(), window, "PaymentError", processMsg);
+		else if (processMsg != null)
+			FDialog.info(getWindowNo(), window, "PaymentCreated", m_mPayment.getDocumentNo());
+		
+		return true;
+	}
+
+	@Override
+	public void showWindow() {
+		window.setVisible(true);
+	}
+
+	@Override
+	public void closeWindow() {
+		window.dispose();
+	}
+
+	@Override
+	public Object getWindow() {
+		return window;
+	}
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormFactory.java
new file mode 100644
index 0000000000..ca340fe9d2
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormFactory.java
@@ -0,0 +1,72 @@
+package org.adempiere.webui.apps.form;
+
+import java.util.HashMap;
+import java.util.logging.Level;
+
+import org.compiere.grid.IPaymentForm;
+import org.compiere.grid.PaymentFormCash;
+import org.compiere.grid.PaymentFormCheck;
+import org.compiere.grid.PaymentFormCreditCard;
+import org.compiere.grid.PaymentFormDirectDebit;
+import org.compiere.grid.PaymentFormDirectDeposit;
+import org.compiere.grid.PaymentFormMixedPOS;
+import org.compiere.grid.PaymentFormOnCredit;
+import org.compiere.model.GridTab;
+import org.compiere.util.CLogger;
+
+public class WPaymentFormFactory {
+
+	/**	Static Logger	*/
+	private static CLogger 	s_log = CLogger.getCLogger (WPaymentFormFactory.class);
+
+	private static HashMap> s_registeredClasses = null;
+	
+	/**
+	 * Register custom WPaymentForm* class
+	 * @param ad_table_id
+	 * @param cl custom class
+	 */
+	public static final void registerClass(String paymentRule, Class cl)
+	{
+		s_registeredClasses.put(paymentRule, cl);
+		s_log.info("Registered PaymentRule="+paymentRule+", Class="+cl);
+	}
+	
+	static
+	{
+		// Register defaults:
+		s_registeredClasses = new HashMap>();
+		s_registeredClasses.put(PaymentFormCash.PAYMENTRULE, WPaymentFormCash.class);
+		s_registeredClasses.put(PaymentFormCheck.PAYMENTRULE, WPaymentFormCheck.class);
+		s_registeredClasses.put(PaymentFormCreditCard.PAYMENTRULE, WPaymentFormCreditCard.class);
+		s_registeredClasses.put(PaymentFormDirectDebit.PAYMENTRULE, WPaymentFormDirectDebit.class);
+		s_registeredClasses.put(PaymentFormDirectDeposit.PAYMENTRULE, WPaymentFormDirectDeposit.class);
+		s_registeredClasses.put(PaymentFormMixedPOS.PAYMENTRULE, WPaymentFormMixedPOS.class);
+		s_registeredClasses.put(PaymentFormOnCredit.PAYMENTRULE, WPaymentFormOnCredit.class);
+	}
+	
+	public static IPaymentForm create(int windowNo, GridTab mTab, String paymentRule)
+	{
+		IPaymentForm retValue = null;
+		Class cl = s_registeredClasses.get(paymentRule);
+		if (cl != null)
+		{
+			try
+			{
+				java.lang.reflect.Constructor ctor = cl.getConstructor(int.class, GridTab.class);
+				retValue = ctor.newInstance(windowNo, mTab);
+			}
+			catch (Throwable e)
+			{
+				s_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
+				return null;
+			}
+		}
+		if (retValue == null)
+		{
+			s_log.info("Unsupported PaymentRule=" + paymentRule);
+			return null;
+		}
+		return retValue;
+	}   //  create
+}
\ No newline at end of file
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormMixedPOS.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormMixedPOS.java
new file mode 100644
index 0000000000..ef09dfc5da
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormMixedPOS.java
@@ -0,0 +1,43 @@
+package org.adempiere.webui.apps.form;
+
+import org.compiere.grid.PaymentFormMixedPOS;
+import org.compiere.model.GridTab;
+
+public class WPaymentFormMixedPOS extends PaymentFormMixedPOS {
+
+	private WPaymentFormWindow window;
+	
+	public WPaymentFormMixedPOS(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		window = new WPaymentFormWindow(this, windowNo);
+	}
+
+	@Override
+	public void loadData() {
+	}
+
+	@Override
+	public boolean checkMandatory() {
+		return true;
+	}
+
+	@Override
+	public boolean saveChangesInTrx(final String trxName) {
+		return true;
+	}
+	
+	@Override
+	public void showWindow() {
+		window.setVisible(true);
+	}
+
+	@Override
+	public void closeWindow() {
+		window.dispose();
+	}
+
+	@Override
+	public Object getWindow() {
+		return window;
+	}
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormOnCredit.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormOnCredit.java
new file mode 100644
index 0000000000..4318ba204e
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormOnCredit.java
@@ -0,0 +1,98 @@
+package org.adempiere.webui.apps.form;
+
+import java.util.ArrayList;
+
+import org.adempiere.webui.component.Column;
+import org.adempiere.webui.component.Columns;
+import org.adempiere.webui.component.Grid;
+import org.adempiere.webui.component.GridFactory;
+import org.adempiere.webui.component.Label;
+import org.adempiere.webui.component.ListItem;
+import org.adempiere.webui.component.Listbox;
+import org.adempiere.webui.component.ListboxFactory;
+import org.adempiere.webui.component.Row;
+import org.adempiere.webui.component.Rows;
+import org.compiere.grid.PaymentFormOnCredit;
+import org.compiere.model.GridTab;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+import org.compiere.util.Msg;
+
+public class WPaymentFormOnCredit extends PaymentFormOnCredit {
+
+	private WPaymentFormWindow window;
+		
+	private Label pTermLabel = new Label();
+	private Listbox pTermCombo = ListboxFactory.newDropdownListbox();
+		
+	public WPaymentFormOnCredit(int windowNo, GridTab mTab) {
+		super(windowNo, mTab);
+		window = new WPaymentFormWindow(this, windowNo);
+		init();
+	}
+	
+	public void init() {
+		Grid pPanelLayout = GridFactory.newGridLayout();
+		window.getPanel().appendChild(pPanelLayout);
+		pTermLabel.setText(Msg.translate(Env.getCtx(), "C_PaymentTerm_ID"));
+		window.getPanel().setId("pPanel");
+		
+		Columns columns = new Columns();
+		pPanelLayout.appendChild(columns);
+		
+		Column column = new Column();
+		columns.appendChild(column);
+		column.setWidth("40%");
+		
+		column = new Column();
+		columns.appendChild(column);
+		column.setWidth("60%");
+		
+		Rows rows = pPanelLayout.newRows();
+		Row row = rows.newRow();
+		row.appendChild(pTermLabel.rightAlign());
+		row.appendChild(pTermCombo);		
+	}
+
+	@Override
+	public void loadData() {
+		ArrayList list = getPaymentTermList();
+		for (KeyNamePair pp : list)
+			pTermCombo.addItem(pp);
+		
+		// Set Selection
+		if (selectedPaymentTerm != null)
+			pTermCombo.setSelectedKeyNamePair(selectedPaymentTerm);
+	}
+	
+	@Override
+	public boolean checkMandatory() {
+		return true;
+	}
+	
+	@Override
+	public boolean saveChangesInTrx(final String trxName) {
+		int newC_PaymentTerm_ID = 0;
+		ListItem selected = pTermCombo.getSelectedItem(); 
+		KeyNamePair kp = selected != null ? selected.toKeyNamePair() : null;
+		if (kp != null)
+			newC_PaymentTerm_ID = kp.getKey();
+		
+		return save(newC_PaymentTerm_ID);
+	}
+
+	@Override
+	public void showWindow() {
+		window.setVisible(true);
+	}
+
+	@Override
+	public void closeWindow() {
+		window.dispose();
+	}
+
+	@Override
+	public Object getWindow() {
+		return window;
+	}
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormWindow.java
new file mode 100644
index 0000000000..d2b3c672ca
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPaymentFormWindow.java
@@ -0,0 +1,144 @@
+package org.adempiere.webui.apps.form;
+
+import org.adempiere.webui.apps.BusyDialog;
+import org.adempiere.webui.component.ConfirmPanel;
+import org.adempiere.webui.component.Panel;
+import org.adempiere.webui.component.Window;
+import org.adempiere.webui.event.DialogEvents;
+import org.adempiere.webui.window.FDialog;
+import org.compiere.grid.PaymentForm;
+import org.compiere.util.Env;
+import org.compiere.util.Msg;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zul.Borderlayout;
+import org.zkoss.zul.Center;
+import org.zkoss.zul.South;
+
+public class WPaymentFormWindow extends Window implements EventListener, DialogEvents {
+
+	private PaymentForm paymentForm;
+	private int windowNo;
+	
+	private Panel mainPanel = new Panel();
+	private Panel centerPanel = new Panel();
+	private Borderlayout mainLayout = new Borderlayout();
+	private ConfirmPanel confirmPanel = new ConfirmPanel(true);
+	
+	private boolean m_isLocked = false;
+	private boolean initOK = false;
+	private BusyDialog progressWindow;
+	
+	public WPaymentFormWindow(PaymentForm paymentForm, int windowNo)
+	{
+		super();
+		
+		this.paymentForm = paymentForm;
+		this.windowNo = windowNo;
+
+		try {
+			zkInit();
+			initOK = dynInit(); // Null Pointer if order/invoice not saved yet
+		} catch (Exception ex) {
+			FDialog.error(windowNo, this, ex.getMessage());
+			initOK = false;
+		}
+		
+		this.setTitle(Msg.getMsg(Env.getCtx(), "Payment"));
+		this.setHeight("400px");
+		this.setWidth("500px");
+		this.setBorder("normal");
+	}
+	
+	private void zkInit() throws Exception {
+		this.appendChild(mainPanel);
+		mainPanel.appendChild(mainLayout);
+		mainPanel.setStyle("width: 100%; height: 100%; padding: 0; margin: 0");
+		mainLayout.setHeight("100%");
+		mainLayout.setWidth("100%");
+		Center center = new Center();
+		mainLayout.appendChild(center);
+		center.appendChild(centerPanel = getPanel());
+		//
+		South south = new South();
+		south.setStyle("border: none");
+		mainLayout.appendChild(south);
+		south.appendChild(confirmPanel);
+		confirmPanel.addActionListener(this);
+	}
+	
+	private boolean dynInit() throws Exception {
+		boolean isInitOK = paymentForm.dynInit();
+		centerPanel.setVisible(!paymentForm.isOnlyRule());
+		return isInitOK;
+	}
+	
+	public Panel getPanel() {
+		return centerPanel;
+	}
+	
+	/**************************************************************************
+	 * Action Listener
+	 * 
+	 * @param e
+	 *            event
+	 */
+	public void onEvent(Event e) {
+		// Finish
+		if (e.getTarget().getId().equals(ConfirmPanel.A_OK)) {
+			if (paymentForm.checkMandatory()) {
+				paymentForm.saveChanges(); // cannot recover
+				dispose();
+			}
+		} else if (e.getTarget().getId().equals(ConfirmPanel.A_CANCEL))
+			dispose();
+		
+	} // actionPerformed
+	
+	public void runProcessOnline() {
+		try {
+			paymentForm.processOnline();
+		} finally {
+			unlockUI();
+		}
+	}
+	
+	public void unlockUI() {
+		if (!m_isLocked) return;
+		
+		m_isLocked = false;
+		hideBusyDialog();
+		updateUI();
+	}
+	
+	public void lockUI() {
+		if (m_isLocked) return;
+		
+		m_isLocked = true;
+		
+		showBusyDialog();
+	}
+	
+	private void hideBusyDialog() {
+		if (progressWindow != null) {
+			progressWindow.dispose();
+			progressWindow = null;
+		}
+	}
+
+	private void updateUI() {
+		if (paymentForm.isApproved())
+			dispose();
+	}
+	
+	private void showBusyDialog() {
+		progressWindow = new BusyDialog();
+		progressWindow.setPage(this.getPage());
+		progressWindow.doHighlighted();
+	}
+	
+	public boolean isInitOK()
+	{
+		return initOK;
+	}
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Group.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Group.java
index c58a25226d..b06403f39b 100644
--- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Group.java
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Group.java
@@ -25,17 +25,17 @@ public class Group extends org.zkoss.zul.Group {
 
 	public Group() {
 		super();
-		setSclass("z-group");
+		setZclass("z-group");
 	}
 	
 	public Group(String label) {
 		super(label);
-		setSclass("z-group");
+		setZclass("z-group");
 	}
 	
 	public  Group(String label, T value) {
 		super(label, value);
-		setSclass("z-group");
+		setZclass("z-group");
 	}
 
 	public String getLabel() {
@@ -101,9 +101,10 @@ public class Group extends org.zkoss.zul.Group {
 		
 		private void init()
 		{
-			setSclass("z-group-cnt");
+			setZclass("z-group-cnt");
 			
 			img = new Image();
+			img.setZclass("z-group-img");
 			appendChild(img);
 			img.addEventListener(Events.ON_CLICK, this);
 			
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Paymentbox.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Paymentbox.java
new file mode 100644
index 0000000000..1f9d1ffbc4
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Paymentbox.java
@@ -0,0 +1,92 @@
+package org.adempiere.webui.component;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+
+import org.adempiere.webui.LayoutUtils;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zul.Comboitem;
+import org.zkoss.zul.Div;
+import org.zkoss.zul.Hlayout;
+
+public class Paymentbox extends Div {
+
+	protected PropertyChangeSupport m_propertyChangeListeners = new PropertyChangeSupport(this);
+	protected Combobox combo;
+	protected Button btn;
+	
+	public Paymentbox() {
+		initComponents();
+	}
+	
+	public Paymentbox(Comboitem comboitem) {
+		initComponents();
+		setSelectedComboItem(comboitem);
+	}
+	
+	public void setButtonImage(String imageSrc) {
+		btn.setImage(imageSrc);
+	}
+	
+	private void initComponents() {
+		Hlayout hlayout = new Hlayout();
+		this.appendChild(hlayout);
+		hlayout.setHflex("1");
+		combo = new Combobox();
+		hlayout.appendChild(combo);
+		combo.setHflex("1");
+
+		btn = new Button();
+		btn.setTabindex(-1);
+		btn.setSclass("editor-button");
+		btn.setHflex("0");
+		hlayout.appendChild(btn);
+
+		LayoutUtils.addSclass("editor-box", this);
+	}
+	
+	public Combobox getCombobox() {
+		return combo;
+	}
+	
+	public void setSelectedComboItem(Comboitem comboitem) {
+		combo.setSelectedItem(comboitem);
+	}
+	
+	public Comboitem getSelectedComboItem() {
+		return combo.getSelectedItem();
+	}
+	
+	public void setEnabled(boolean isComboEnabled, boolean isBtnEnabled) {
+		combo.setReadonly(!isComboEnabled);
+		btn.setEnabled(isBtnEnabled);
+		btn.setVisible(isBtnEnabled);
+		if (isBtnEnabled) {
+			btn.setSclass("editor-button");
+			btn.setParent(this.getFirstChild());
+		} else {
+			btn.detach();
+		}
+	}
+	
+	public boolean isEnabled() {
+		return !combo.isReadonly();
+	}
+	
+	public boolean addEventListener(String evtnm, EventListener listener) {
+		if (Events.ON_CLICK.equals(evtnm)) {
+			return btn.addEventListener(evtnm, listener);
+		} else {
+			return combo.addEventListener(evtnm, listener);
+		}
+	}
+	
+	public synchronized void addPropertyChangeListener(PropertyChangeListener l) {
+		m_propertyChangeListeners.addPropertyChangeListener(l);
+	}
+	
+	public Button getButton() {
+		return btn;
+	}
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java
index 6f85b60849..3b179bdc5f 100644
--- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java
@@ -115,7 +115,6 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
         pnlHead.setParent(n);
 
         West w = new West();
-        w.setTitle(" ");
         w.setId("desktop-left-column");
         layout.appendChild(w);
         w.setSclass("desktop-left-column");
@@ -146,6 +145,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
         homeTab = new Tabpanel();
         windowContainer.addWindow(homeTab, Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Home")), false);
         homeTab.getLinkedTab().setSclass("desktop-hometab");
+        homeTab.setSclass("desktop-home-tabpanel");
         BusyDialog busyDialog = new BusyDialog();
         busyDialog.setShadow(false);
         homeTab.appendChild(busyDialog);
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPaymentEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPaymentEditor.java
new file mode 100644
index 0000000000..55d7b38141
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPaymentEditor.java
@@ -0,0 +1,338 @@
+package org.adempiere.webui.editor;
+
+import javax.swing.event.ListDataListener;
+
+import org.adempiere.webui.adwindow.ADTabpanel;
+import org.adempiere.webui.apps.AEnv;
+import org.adempiere.webui.apps.form.WPaymentFormFactory;
+import org.adempiere.webui.apps.form.WPaymentFormWindow;
+import org.adempiere.webui.component.Paymentbox;
+import org.adempiere.webui.component.Window;
+import org.adempiere.webui.event.DialogEvents;
+import org.adempiere.webui.event.ValueChangeEvent;
+import org.compiere.grid.IPaymentForm;
+import org.compiere.model.GridField;
+import org.compiere.model.GridTab;
+import org.compiere.model.MPaymentLookup;
+import org.compiere.util.DisplayType;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+import org.compiere.util.NamePair;
+import org.compiere.util.ValueNamePair;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zul.Comboitem;
+
+public class WPaymentEditor extends WEditor implements ListDataListener {
+
+	public final static String ON_SAVE_PAYMENT = "onSavePayment";
+	
+	public final static String[] LISTENER_EVENTS = {Events.ON_SELECT};
+	
+	private MPaymentLookup lookup;
+	private Object oldValue;
+	
+	public WPaymentEditor(GridField gridField) {
+		super(new Paymentbox(), gridField);
+		lookup = (MPaymentLookup) gridField.getLookup();
+		init();
+	}
+	
+	private void init()
+    {
+        getComponent().getCombobox().setAutocomplete(true);
+        getComponent().getCombobox().setAutodrop(true);
+        getComponent().getCombobox().addEventListener(Events.ON_BLUR, this);
+        getComponent().setButtonImage("/images/Payment10.png");        
+        getComponent().getButton().addActionListener(this);
+
+        if (lookup != null)
+        {
+            lookup.addListDataListener(this);
+            //always need the empty item for zk to work correctly
+            lookup.setMandatory(false);
+            
+            //no need to refresh readonly lookup
+            if (isReadWrite())
+            	lookup.refresh();
+            refreshList();
+        }
+    }
+	
+	@Override
+	public String getDisplay() {
+		String display = null;
+        Comboitem selItem = getComponent().getCombobox().getSelectedItem();
+        if (selItem != null)
+        {
+        	display = selItem.getLabel();
+        }
+        return display;
+	}
+
+	@Override
+	public Object getValue() {
+		Object retVal = null;
+        Comboitem selItem = getComponent().getCombobox().getSelectedItem();
+        if (selItem != null)
+        {
+            retVal = selItem.getValue();
+            if ((retVal instanceof Integer) && (Integer)retVal == -1)
+            	retVal = null;
+        }
+        return retVal;
+	}
+
+	@Override
+	public void setValue(Object value) {
+		if (value != null && (value instanceof Integer || value instanceof String))
+        {
+            getComponent().getCombobox().setValue(value);            
+            if (!getComponent().getCombobox().isSelected(value))
+            {
+            	if (isReadWrite() && lookup != null)
+            		lookup.refresh();
+            	Object curValue = oldValue;
+                oldValue = value;
+                refreshList();
+                
+                //still not in list, reset to zero
+                if (!getComponent().getCombobox().isSelected(value))
+                {
+                	if (value instanceof Integer && gridField != null && gridField.getDisplayType() != DisplayType.ID) // for IDs is ok to be out of the list
+                	{
+                		getComponent().getCombobox().setValue(null);
+                		if (curValue == null)
+                			curValue = value;
+                		ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), curValue, null);
+            	        super.fireValueChange(changeEvent);
+                		oldValue = null;
+                	}
+                }
+            }
+            else
+            {
+            	oldValue = value;
+            }
+        }
+        else
+        {
+            getComponent().getCombobox().setValue(null);
+            oldValue = value;
+        }
+	}
+	
+	@Override
+	public Paymentbox getComponent() {
+		return (Paymentbox) super.getComponent();
+	}
+	
+	@Override
+	public boolean isReadWrite() {
+		return getComponent().isEnabled();
+	}
+	
+	@Override
+	public void setReadWrite(boolean readWrite) {
+		GridTab m_mTab = gridField.getGridTab();
+		String m_DocStatus = (String) m_mTab.getValue("DocStatus");
+		// DocStatus
+		if (m_DocStatus == null)
+			m_DocStatus = "";
+		// Is the Trx closed? Reversed / Voided / Cloased
+		if (m_DocStatus.equals("RE") || m_DocStatus.equals("VO") || m_DocStatus.equals("CL"))
+		{
+			getComponent().setEnabled(readWrite, false);
+			return;
+		}
+		
+		boolean m_onlyRule = false;
+		// Document is not complete - allow to change the Payment Rule only
+		if (m_DocStatus.equals("CO") || m_DocStatus.equals("WP"))
+			m_onlyRule = false;
+		else
+			m_onlyRule = true;
+		
+		boolean m_isSOTrx = "Y".equals(Env.getContext(Env.getCtx(), gridField.getWindowNo(), "IsSOTrx"));
+		// PO only Rule
+		if (!m_onlyRule // Only order has Warehouse
+				&& !m_isSOTrx && m_mTab.getValue("M_Warehouse_ID") != null)
+			m_onlyRule = true;
+
+		getComponent().setEnabled(readWrite, readWrite && !m_onlyRule);
+	}
+	
+	private void refreshList()
+    {
+    	if (getComponent().getCombobox().getItemCount() > 0)
+    		getComponent().getCombobox().removeAllItems();
+
+    	if (isReadWrite())
+    	{
+	        if (lookup != null)
+	        {
+	            int size = lookup.getSize();
+	            
+	            boolean found = false;
+	            for (int i = 0; i < size; i++)
+	            {
+	                Object obj = lookup.getElementAt(i);
+	                if (obj instanceof KeyNamePair)
+	                {
+	                    KeyNamePair lookupKNPair = (KeyNamePair) obj;
+	                    getComponent().getCombobox().appendItem(lookupKNPair.getName(), lookupKNPair.getKey());
+	                    if (!found && oldValue != null && oldValue instanceof Integer &&
+	                    	lookupKNPair.getKey() == (Integer)oldValue)
+	                    {
+	                    	found = true;
+	                	}
+	                }
+	                else if (obj instanceof ValueNamePair)
+	                {
+	                    ValueNamePair lookupKNPair = (ValueNamePair) obj;
+	                    getComponent().getCombobox().appendItem(lookupKNPair.getName(), lookupKNPair.getValue());
+	                    if (!found && oldValue != null && lookupKNPair.getValue().equals(oldValue.toString()))
+		                {
+	                    	found = true;
+	                	}
+	            	}
+	        	}	        	        
+	            if (!found && oldValue != null)
+	            {
+	            	NamePair pair = lookup.getDirect(oldValue, false, false);
+	            	if (pair != null) {
+		    			if (pair instanceof KeyNamePair) {
+		    				int key = ((KeyNamePair)pair).getKey();
+		    				getComponent().getCombobox().appendItem(pair.getName(), key);
+		    			} else if (pair instanceof ValueNamePair) {
+		    				ValueNamePair valueNamePair = (ValueNamePair) pair;
+		                    getComponent().getCombobox().appendItem(valueNamePair.getName(), valueNamePair.getValue());
+		    			}
+	            	}
+	            }
+	        }
+    	}
+    	else
+    	{
+    		if (lookup != null)
+	        {
+    			NamePair pair = lookup.getDirect(oldValue, false, false);
+    			if (pair != null) {
+    				if (pair instanceof KeyNamePair) {
+    					int key = ((KeyNamePair)pair).getKey();
+    					getComponent().getCombobox().appendItem(pair.getName(), key);
+    				} else if (pair instanceof ValueNamePair) {
+    					ValueNamePair valueNamePair = (ValueNamePair) pair;
+                    	getComponent().getCombobox().appendItem(valueNamePair.getName(), valueNamePair.getValue());
+    				}
+	        	}
+    		}
+    	}
+    	getComponent().getCombobox().setValue(oldValue);
+    }
+
+	@Override
+	public void onEvent(Event event) throws Exception {
+		if (Events.ON_SELECT.equalsIgnoreCase(event.getName()))
+    	{
+	        Object newValue = getValue();
+	        if (isValueChange(newValue)) {
+		        ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue);
+		        super.fireValueChange(changeEvent);
+		        oldValue = newValue;
+	        }
+    	}
+    	else if (Events.ON_BLUR.equalsIgnoreCase(event.getName()))
+    	{
+    		Comboitem item = getComponent().getCombobox().getSelectedItem();
+    		if (item == null) 
+    		{
+    			setValue(oldValue);
+    		}
+    		else 
+    		{
+    			//on select not fire for empty label item
+    			if (item.getLabel().equals(""))
+    			{
+    				Object newValue = getValue();
+    				if (isValueChange(newValue)) {
+	    				ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue);
+	    		        super.fireValueChange(changeEvent);
+	    		        oldValue = newValue;
+    				}
+    			}
+    		}
+    	}
+    	else if (Events.ON_CLICK.equalsIgnoreCase(event.getName()))
+    	{
+    		int windowNo = lookup == null ? 0 : lookup.getWindowNo();
+    		Object newValue = getValue();
+    		if (newValue != null)
+    		{
+    			final IPaymentForm pf = WPaymentFormFactory.create(windowNo, getGridField().getGridTab(), (String) newValue);
+    			if (pf != null)
+    			{
+    				final WPaymentFormWindow window = (WPaymentFormWindow) pf.getWindow();
+    				
+    				if (window.isInitOK())
+    				{
+	    				window.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED);
+	    				window.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener() {
+	    					@Override
+	    					public void onEvent(Event event) throws Exception {
+	    						if (pf.needSave())
+	    						{
+	    							Component comp = getComponent();
+	    							while(comp != null)
+	    							{
+	    								comp = comp.getParent();
+	    								if (comp instanceof ADTabpanel)
+	    								{
+	    									Events.sendEvent(comp, new Event(ON_SAVE_PAYMENT, comp));
+	    									return;
+	    								}
+	    							}
+	    							
+//	    					        Events.sendEvent(new Event("onSave", this));
+	    					        
+//	    							onSave(false, false, new Callback() {
+//	    							
+//	    								@Override
+//	    								public void onCallback(Boolean result) {
+//	    									onRefresh(false, false);
+//	    								}
+//	    								
+//	    							});							
+	    						}	
+	    					}
+	    				});
+	    				pf.showWindow();
+	    				AEnv.showWindow(window);
+    				}
+    			}
+    		}
+    	}
+	}
+	
+	@Override
+	public void contentsChanged(javax.swing.event.ListDataEvent e) {
+		refreshList();
+	}
+
+	@Override
+	public void intervalAdded(javax.swing.event.ListDataEvent e) {}
+
+	@Override
+	public void intervalRemoved(javax.swing.event.ListDataEvent e) {}
+	
+	private boolean isValueChange(Object newValue) {
+		return (oldValue == null && newValue != null) || (oldValue != null && newValue == null)
+				|| ((oldValue != null && newValue != null) && !oldValue.equals(newValue));
+	}
+
+	public String[] getEvents() {
+		return LISTENER_EVENTS;
+	}
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultEditorFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultEditorFactory.java
index 56647e4d22..454eba76e9 100644
--- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultEditorFactory.java
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultEditorFactory.java
@@ -28,6 +28,7 @@ import org.adempiere.webui.editor.WLocatorEditor;
 import org.adempiere.webui.editor.WNumberEditor;
 import org.adempiere.webui.editor.WPAttributeEditor;
 import org.adempiere.webui.editor.WPasswordEditor;
+import org.adempiere.webui.editor.WPaymentEditor;
 import org.adempiere.webui.editor.WSearchEditor;
 import org.adempiere.webui.editor.WStringEditor;
 import org.adempiere.webui.editor.WTableDirEditor;
@@ -131,6 +132,11 @@ public class DefaultEditorFactory implements IEditorFactory {
         {
             editor = new WTableDirEditor(gridField);
         }
+        
+        else if (displayType == DisplayType.Payment)
+        {
+        	editor = new WPaymentEditor(gridField);
+        }
 
         else if (displayType == DisplayType.URL)
         {
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ReportAction.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ReportAction.java
index d3c70b7f0f..742cdf8031 100644
--- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ReportAction.java
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ReportAction.java
@@ -132,6 +132,9 @@ public class ReportAction implements EventListener
 			Vbox vb = new Vbox();
 			vb.setWidth("100%");
 			winReport.appendChild(vb);
+			winReport.setSclass("toolbar-popup-window");
+			vb.setSclass("toolbar-popup-window-cnt");
+			vb.setAlign("stretch");
 
 			Hbox hb = new Hbox();
 			hb.setAlign("center");
diff --git a/org.adempiere.ui.zk/images/Detail24.png b/org.adempiere.ui.zk/images/Detail24.png
index cb3542fb22..5ec90f22c3 100644
Binary files a/org.adempiere.ui.zk/images/Detail24.png and b/org.adempiere.ui.zk/images/Detail24.png differ
diff --git a/org.adempiere.ui.zk/images/First24.png b/org.adempiere.ui.zk/images/First24.png
index bcad8ac176..8b96d99c99 100644
Binary files a/org.adempiere.ui.zk/images/First24.png and b/org.adempiere.ui.zk/images/First24.png differ
diff --git a/org.adempiere.ui.zk/images/Last24.png b/org.adempiere.ui.zk/images/Last24.png
index 97a50b4859..6830533292 100644
Binary files a/org.adempiere.ui.zk/images/Last24.png and b/org.adempiere.ui.zk/images/Last24.png differ
diff --git a/org.adempiere.ui.zk/images/Next24.png b/org.adempiere.ui.zk/images/Next24.png
index f3011673f0..8a97caf2d1 100644
Binary files a/org.adempiere.ui.zk/images/Next24.png and b/org.adempiere.ui.zk/images/Next24.png differ
diff --git a/org.adempiere.ui.zk/images/Parent24.png b/org.adempiere.ui.zk/images/Parent24.png
index 9e24be808f..9ae76ea9ad 100644
Binary files a/org.adempiere.ui.zk/images/Parent24.png and b/org.adempiere.ui.zk/images/Parent24.png differ
diff --git a/org.adempiere.ui.zk/images/Payment10.png b/org.adempiere.ui.zk/images/Payment10.png
new file mode 100644
index 0000000000..7f4662d954
Binary files /dev/null and b/org.adempiere.ui.zk/images/Payment10.png differ
diff --git a/org.adempiere.ui.zk/images/Previous24.png b/org.adempiere.ui.zk/images/Previous24.png
index 23539bb72c..4117af329b 100644
Binary files a/org.adempiere.ui.zk/images/Previous24.png and b/org.adempiere.ui.zk/images/Previous24.png differ
diff --git a/org.adempiere.ui.zk/theme/default/css/theme.css.dsp b/org.adempiere.ui.zk/theme/default/css/theme.css.dsp
index 2c90cada3d..ff7fadbce4 100644
--- a/org.adempiere.ui.zk/theme/default/css/theme.css.dsp
+++ b/org.adempiere.ui.zk/theme/default/css/theme.css.dsp
@@ -112,7 +112,8 @@ html,body {
 .desktop-header {
 	background-color: #F4F4F4;
 	width: 100%;
-	height: 38px;
+	height: 35px;
+	border-bottom: 1px solid #C5C5C5;
 }
 
 .desktop-header-font {
@@ -163,6 +164,17 @@ html,body {
 	height: 24px;
 }
 
+.breadcrumb-toolbar-button {
+	background-color: transparent; 
+	display:inline-block; 
+	width: 22px; 
+	height: 22px;
+}
+
+.breadcrumb-record-info {
+	font-size: 12px;
+}
+
 .toolbar-button .z-toolbarbutton-body .z-toolbarbutton-cnt img {
 	width: 22px;
 	height: 22px;
@@ -211,7 +223,7 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none {
 
 .desktop-tabbox {
 	padding-top: 0px; 
-	background-color: #F4F4F4;
+	background-color: #E4E4E4;
 }
 
 .desktop-tabbox .z-tab {
@@ -222,6 +234,11 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none {
 	border: none;
 }
 
+.desktop-center {
+	padding-top: 4px;
+	background-color: #E4E4E4;
+}
+
 .desktop-tabpanel {
 	margin: 0;
 	padding: 0;
@@ -242,20 +259,18 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none {
 .desktop-left-column {
 	width: 300px;
 	border: none;
-	background-color: #F4F4F4; 
+	background-color: #E4E4E4;
+	padding-top: 4px; 
 }
 
 .desktop-left-column + .z-west-splt {
-	border-top: 1px solid #c5c5c5; 
+	border-top: none; 
 	border-right: 1px solid #c5c5c5;
-}
-
-.desktop-left-column + .z-west-splt .z-west-splt-btn {
-	display: none;
+	border-left: 1px solid #c5c5c5;
 }
 
 .desktop-left-column .z-west-body {
-	border-right: 1px solid #c5c5c5;
+	border-right: none;
 }
 
 .desktop-left-column .z-west-header {
@@ -267,7 +282,7 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none {
 }
 
 .desktop-hometab {
-	margin-left: 2px !important;
+	margin-left: 4px !important;
 }
 
 .desktop-menu-popup {
@@ -282,6 +297,43 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none {
 	border-top: 1px solid #c5c5c5;
 }
 
+.desktop-home-tabpanel {
+	background-color: #FFFFFF;
+}
+
+<%-- dashlet --%>
+.desktop-home-tabpanel .z-panel-tl, .desktop-home-tabpanel .z-panel-tr, 
+.desktop-home-tabpanel .z-panel-hr, .desktop-home-tabpanel .z-panel-hl, 
+.desktop-home-tabpanel .z-panel-hm {
+	background-image: none; background-color: #FFFFFF;
+}
+
+.desktop-home-tabpanel .z-panel-hl {
+	padding-bottom: 1px;
+	border-bottom: 2px solid #008BB6;
+}
+
+.desktop-home-tabpanel .z-panel-hl .z-panel-header {
+	padding: 0 0 2px 0;
+	color: #333; font-weight: bold;
+}	
+
+.desktop-left-column .z-panel-tl, .desktop-left-column .z-panel-tr, 
+.desktop-left-column .z-panel-hr, .desktop-left-column .z-panel-hl, 
+.desktop-left-column .z-panel-hm {
+	background-image: none; background-color: #E4E4E4;
+}
+
+.desktop-left-column .z-panel-hl {
+	padding-bottom: 1px;
+	border-bottom: 2px solid #008BB6;
+}
+
+.desktop-left-column .z-panel-hl .z-panel-header {
+	padding: 0 0 2px 0;
+	color: #333; font-weight: bold;
+}
+
 .menu-panel {
 	width: 100% !important;
 	height: 100% !important;
@@ -353,7 +405,7 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none {
 .adwindow-breadcrumb {
 	height: 30px;
 	background-color: #FFF;
-	padding-left: 2px;
+	padding-left: 5px;
 }
 
 .adwindow-detailpane {
@@ -379,12 +431,17 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none {
 
 .adwindow-detailpane-tabbox {
 	min-height: 200px; width: 99%; margin: auto;
+	background-color: #E4E4E4;
 }
 
 .adwindow-gridview-detail {
 	height: 250px;
 }
 
+.adwindow-gridview-detail + .z-south-splt {
+	border-top: 1px solid #C5C5C5;
+}
+
 .adwindow-gridview-detail .z-south-body {
 	padding-top: 1px;
 }
@@ -595,53 +652,11 @@ span.z-tree-tee, span.z-tree-last {
 <%-- Group --%>
 tr.z-group {
 	background: #E9F2FB repeat-x 0 0;
-	background-image: url(../images/group_bg.gif);
+	background-image: url(../images/group_bg.gif) !important;
 }
 
-tr.z-group td.z-row-inner {
-	overflow: hidden;
-	border-top: 2px solid #81BAF5;
-	border-bottom: 1px solid #BCD2EF;
-	color: #2C559C;
-	font-weight: bold;
-}
-
-div.z-group-cnt {
-	display:table-cell;
-	vertical-align:middle;
-}
-
-div.z-group-cnt span.z-label {
-	display:inline-block; 
-	vertical-align:middle;
-	color: #2C559C;
-	padding: 5px;
-	width: auto;
-	height: 100%;
-	font-weight: bold;
-}
-
-img.z-group-img-open, img.z-group-img-close {
-	width: 18px;
-	min-height: 18px;
-	height: 100%;
-	vertical-align: top;
-	cursor: pointer;
-	border: 0;
-}
-
-img.z-group-img-open {
-	background-image: url(../images/group-open.png);
-	background-position: center center;
-	background-color: transparent;
-	background-repeat: no-repeat;
-}
-
-img.z-group-img-close {
-	background-image: url(../images/group-close.png);
-	background-position: center center;
-	background-color: transparent;
-	background-repeat: no-repeat;
+.z-group-inner .z-group-cnt .z-label, .z-group-inner .z-group-cnt {
+	font-family: Helvetica,Arial,sans-serif;
 }
 
 <%-- Tablet --%>
@@ -715,11 +730,6 @@ div.z-vfiletree-body td.menu-tree-cell {
 	font-size: ${fontSizeM}; font-weight: normal; overflow: visible;
 }
 
-<%-- dashlet --%>
-.z-panel-hl .z-panel-header {
-	padding: 0 0 2px 0;
-}
-
 div.simileAjax-bubble-container {
 	z-index: 2800 !important;
 }
@@ -777,6 +787,14 @@ div.simileAjax-bubble-container {
 	background-color: transparent !important;
 }
 
+.grid-layout tr.z-row-over>td.z-row-inner {
+	border: none !important;
+}
+
+.grid-layout tr.z-row-over>td.z-row-inner, .grid-layout tr.z-row-over>.z-cell {
+	background-image: none !important;
+}
+
 .confirm-panel {
 	width: 100%;
 	height: 36px;
@@ -808,7 +826,42 @@ tbody.z-grid-empty-body td {
 	text-align: left;
 }
 
+<%-- notification message --%>
 .z-notification .z-notification-cl, 
 .z-notification .z-notification-cnt {
     width: 300px;
+}
+
+<%-- toolbar popup dialog --%>
+.toolbar-popup-window .z-window-popup-cnt {
+	margin-top: 6px;
+}
+
+.toolbar-popup-window-cnt {
+}
+
+.toolbar-popup-window::before {
+	content: '';
+	position: absolute;
+	width: 0px;
+	height: 0px;
+	top: -7px;
+	left: 6px;
+	border-top: 7px dashed transparent;
+	border-left: 7px dashed transparent;
+	border-right: 7px dashed transparent;
+	border-bottom: 7px solid #ACACAC;
+}
+
+.toolbar-popup-window-cnt::before {
+	content: '';
+	position: absolute;
+	width: 0px;
+	height: 0px;
+	top: -5px;
+	left: 7px;
+	border-top: 6px dashed transparent;
+	border-left: 6px dashed transparent;
+	border-right: 6px dashed transparent;
+	border-bottom: 6px solid #FFF;
 }
\ No newline at end of file
diff --git a/org.adempiere.ui.zk/theme/default/images/group-close.png b/org.adempiere.ui.zk/theme/default/images/group-close.png
deleted file mode 100644
index f5a8ca9f68..0000000000
Binary files a/org.adempiere.ui.zk/theme/default/images/group-close.png and /dev/null differ
diff --git a/org.adempiere.ui.zk/theme/default/images/group-open.png b/org.adempiere.ui.zk/theme/default/images/group-open.png
deleted file mode 100644
index 3dec58bd84..0000000000
Binary files a/org.adempiere.ui.zk/theme/default/images/group-open.png and /dev/null differ
diff --git a/org.adempiere.ui/src/org/compiere/grid/IPaymentForm.java b/org.adempiere.ui/src/org/compiere/grid/IPaymentForm.java
new file mode 100644
index 0000000000..4dfdfea19c
--- /dev/null
+++ b/org.adempiere.ui/src/org/compiere/grid/IPaymentForm.java
@@ -0,0 +1,16 @@
+package org.compiere.grid;
+
+public interface IPaymentForm {
+
+	public boolean checkMandatory();
+	
+	public boolean saveChangesInTrx(final String trxName);
+	
+	public boolean needSave();
+	
+	public void showWindow();
+	
+	public void closeWindow();
+	
+	public Object getWindow();
+}
\ No newline at end of file
diff --git a/org.adempiere.ui/src/org/compiere/grid/PaymentForm.java b/org.adempiere.ui/src/org/compiere/grid/PaymentForm.java
new file mode 100644
index 0000000000..53f080d782
--- /dev/null
+++ b/org.adempiere.ui/src/org/compiere/grid/PaymentForm.java
@@ -0,0 +1,302 @@
+package org.compiere.grid;
+
+import java.math.BigDecimal;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.util.Hashtable;
+import java.util.logging.Level;
+
+import org.adempiere.exceptions.AdempiereException;
+import org.compiere.model.GridTab;
+import org.compiere.model.MCashLine;
+import org.compiere.model.MPayment;
+import org.compiere.model.MSysConfig;
+import org.compiere.util.CLogger;
+import org.compiere.util.DB;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+import org.compiere.util.Trx;
+import org.compiere.util.TrxRunnable;
+
+public abstract class PaymentForm implements IPaymentForm {
+
+	/**	Logger			*/
+	protected CLogger log = CLogger.getCLogger(getClass());
+	
+	/**	Window						*/
+	private int                 m_WindowNo = 0;
+	/**	Tab							*/
+	private GridTab         	m_mTab;
+	
+	// Data from Order/Invoice
+	public String 				m_DocStatus = null;
+	/** Start Payment Rule */
+	public String 				m_PaymentRule = "";
+	/** Start Payment Term */
+	public int 					m_C_PaymentTerm_ID = 0;
+	/** Start Acct Date */
+	public Timestamp 			m_DateAcct = null;
+	/** Start Payment */
+	public int 					m_C_Payment_ID = 0;
+	public MPayment 			m_mPayment = null;
+	public MPayment 			m_mPaymentOriginal = null;
+	/** Start CashBook Line */
+	public int 					m_C_CashLine_ID = 0;
+	public MCashLine 			m_cashLine = null;
+	/** Start CreditCard */
+	public String 				m_CCType = "";
+	/** Start Bank Account */
+	public int 					m_C_BankAccount_ID = 0;
+	/** Start CashBook */
+	public int 					m_C_CashBook_ID = 0;
+
+	/** Invoice Currency */
+	public int 					m_C_Currency_ID = 0;
+	public int 					m_AD_Client_ID = 0;
+	public boolean 				m_Cash_As_Payment = true;
+	public int 					m_AD_Org_ID = 0;
+	public int 					m_C_BPartner_ID = 0;
+	public BigDecimal 			m_Amount = Env.ZERO; // Payment Amount
+	
+	public boolean				m_needSave = false;
+	/** Only allow changing Rule        */
+	public boolean 				m_onlyRule = false;
+	/** Is SOTrx					*/
+	public boolean				m_isSOTrx = true;
+	
+	public Hashtable s_Currencies = null;
+	
+	public PaymentForm(int WindowNo, GridTab mTab) {
+		m_WindowNo = WindowNo;
+		m_isSOTrx = "Y".equals(Env.getContext(Env.getCtx(), WindowNo, "IsSOTrx"));
+		m_mTab = mTab;
+	}
+	
+	public boolean dynInit() throws Exception {
+		m_DocStatus = (String) m_mTab.getValue("DocStatus");
+		log.config(m_DocStatus);
+
+		if (m_mTab.getValue("C_BPartner_ID") == null) {
+			throw new AdempiereException("SaveErrorRowNotFound");
+		}
+
+		// DocStatus
+		if (m_DocStatus == null)
+			m_DocStatus = "";
+		// Is the Trx closed? Reversed / Voided / Cloased
+		if (m_DocStatus.equals("RE") || m_DocStatus.equals("VO") || m_DocStatus.equals("CL"))
+			return false;
+		
+		// Document is not complete - allow to change the Payment Rule only
+		if (m_DocStatus.equals("CO") || m_DocStatus.equals("WP"))
+			m_onlyRule = false;
+		else
+			m_onlyRule = true;
+		// PO only Rule
+		if (!m_onlyRule // Only order has Warehouse
+				&& !m_isSOTrx && m_mTab.getValue("M_Warehouse_ID") != null)
+			m_onlyRule = true;
+
+//		centerPanel.setVisible(!m_onlyRule);
+		
+		//  Amount
+		m_Amount = (BigDecimal)m_mTab.getValue("GrandTotal");
+		if (!m_onlyRule && m_Amount.compareTo(Env.ZERO) == 0)
+		{
+			throw new AdempiereException("PaymentZero");
+		}
+		
+		/**
+		 *	Get Data from Grid
+		 */
+		m_AD_Client_ID = ((Integer)m_mTab.getValue("AD_Client_ID")).intValue();
+		m_Cash_As_Payment = MSysConfig.getBooleanValue(MSysConfig.CASH_AS_PAYMENT,true, m_AD_Client_ID);
+		m_AD_Org_ID = ((Integer)m_mTab.getValue("AD_Org_ID")).intValue();
+		m_C_BPartner_ID = ((Integer)m_mTab.getValue("C_BPartner_ID")).intValue();
+		m_PaymentRule = (String)m_mTab.getValue("PaymentRule");
+		m_C_Currency_ID = ((Integer)m_mTab.getValue("C_Currency_ID")).intValue();
+		m_DateAcct = (Timestamp)m_mTab.getValue("DateAcct");
+		if (m_mTab.getValue("C_PaymentTerm_ID") != null)
+			m_C_PaymentTerm_ID = ((Integer)m_mTab.getValue("C_PaymentTerm_ID")).intValue();
+		//  Existing Payment
+		if (m_mTab.getValue("C_Payment_ID") != null)
+		{
+			m_C_Payment_ID = ((Integer)m_mTab.getValue("C_Payment_ID")).intValue();
+			if (m_C_Payment_ID != 0)
+			{
+				m_mPayment = new MPayment(Env.getCtx(), m_C_Payment_ID, null);
+				m_mPaymentOriginal = new MPayment(Env.getCtx(), m_C_Payment_ID, null);	//	full copy
+				m_CCType = m_mPayment.getCreditCardType();
+				m_C_BankAccount_ID = m_mPayment.getC_BankAccount_ID();
+			}
+		}
+		
+		if (m_mPayment == null)
+		{
+			m_mPayment = new MPayment (Env.getCtx (), 0, null);
+			m_mPayment.setAD_Org_ID(m_AD_Org_ID);
+			m_mPayment.setAmount (m_C_Currency_ID, m_Amount);
+		}
+		
+		if (s_Currencies == null)
+			loadCurrencies();
+		
+		m_cashLine = null;
+		m_C_CashLine_ID = 0;
+		if (m_mTab.getValue("C_CashLine_ID") != null)
+		{
+			m_C_CashLine_ID = ((Integer)m_mTab.getValue("C_CashLine_ID")).intValue();
+			if (m_C_CashLine_ID == 0)
+				m_cashLine = null;
+			else
+			{
+				m_cashLine = new MCashLine (Env.getCtx(), m_C_CashLine_ID, null);
+				m_DateAcct = m_cashLine.getStatementDate();
+				m_C_CashBook_ID = m_cashLine.getCashBook().getC_CashBook_ID();
+			}
+		}
+				
+		/**
+		 *	Payment Combo
+		 */
+		if (m_PaymentRule == null)
+			m_PaymentRule = "";
+
+		loadData();
+		
+		return true;
+	}
+	
+	public abstract void loadData();
+	
+	/**************************************************************************
+	 *	Save Changes
+	 *	@return true, if Window can exit
+	 */
+	public boolean saveChanges() {
+		// BF [ 1920179 ] perform the save in a trx's context.
+		final boolean[] success = new boolean[] { false };
+		final TrxRunnable r = new TrxRunnable() {
+
+			public void run(String trxName) {
+				// set trxname for class objects
+				if (m_cashLine != null)
+					m_cashLine.set_TrxName(trxName);
+				if (m_mPayment != null)
+					m_mPayment.set_TrxName(trxName);
+				if (m_mPaymentOriginal != null)
+					m_mPaymentOriginal.set_TrxName(trxName);
+				
+				//  only Payment Rule
+				if (m_onlyRule)
+					success[0] = true;
+				else
+					success[0] = saveChangesInTrx(trxName);
+			}
+		};
+		try {
+			Trx.run(r);
+		} catch (Throwable e) {
+			success[0] = false;
+			throw new AdempiereException("PaymentError", e);
+		}
+		if (m_cashLine != null)
+			m_cashLine.set_TrxName(null);
+		if (m_mPayment != null)
+			m_mPayment.set_TrxName(null);
+		if (m_mPaymentOriginal != null)
+			m_mPayment.set_TrxName(null);
+		return success[0];
+	} // saveChanges
+	
+	/**
+	 *	Fill s_Currencies with EMU currencies
+	 */
+	protected void loadCurrencies()
+	{
+		s_Currencies = new Hashtable(12);	//	Currenly only 10+1
+		String SQL = "SELECT C_Currency_ID, ISO_Code FROM C_Currency "
+			+ "WHERE (IsEMUMember='Y' AND EMUEntryDate getBankAccountList() {
+		selectedBankAccount = null;
+		ArrayList list = new ArrayList();
+		
+		/**
+		 *  Load Bank Accounts
+		 */
+		String SQL = MRole.getDefault().addAccessSQL(
+			"SELECT C_BankAccount_ID, ba.Name || ' ' || AccountNo, IsDefault "
+			+ "FROM C_BankAccount ba"
+			+ " INNER JOIN C_Bank b ON (ba.C_Bank_ID=b.C_Bank_ID) "
+			+ "WHERE b.IsActive='Y'",
+			"ba", MRole.SQL_FULLYQUALIFIED, MRole.SQL_RO);
+		try
+		{
+			PreparedStatement pstmt = DB.prepareStatement(SQL, null);
+			ResultSet rs = pstmt.executeQuery();
+			while (rs.next())
+			{
+				int key = rs.getInt(1);
+				String name = rs.getString(2);
+				KeyNamePair pp = new KeyNamePair(key, name);
+				list.add(pp);
+				if (key == m_C_BankAccount_ID)
+					selectedBankAccount = pp;
+				if (selectedBankAccount == null && rs.getString(3).equals("Y"))    //  Default
+					selectedBankAccount = pp;
+			}
+			rs.close();
+			pstmt.close();
+		}
+		catch (SQLException ept)
+		{
+			log.log(Level.SEVERE, SQL, ept);
+		}
+		
+		return list;
+	}
+	
+	public KeyNamePair selectedCashBook;
+	public ArrayList getCashBookList() {
+		selectedCashBook = null;
+		ArrayList list = new ArrayList();
+		
+		/**
+		 *  Load Cash Books
+		 */
+		String SQL = MRole.getDefault().addAccessSQL(
+			"SELECT C_CashBook_ID, Name, AD_Org_ID FROM C_CashBook WHERE IsActive='Y'",
+			"C_CashBook", MRole.SQL_NOTQUALIFIED, MRole.SQL_RO);
+		try
+		{
+			PreparedStatement pstmt = DB.prepareStatement(SQL, null);
+			ResultSet rs = pstmt.executeQuery();
+			while (rs.next())
+			{
+				int key = rs.getInt(1);
+				String name = rs.getString(2);
+				KeyNamePair pp = new KeyNamePair(key, name);
+				list.add(pp);
+				if (key == m_C_CashBook_ID)
+					selectedCashBook = pp;
+				if (selectedCashBook == null && key == m_AD_Org_ID)       //  Default Org
+					selectedCashBook = pp;
+			}
+			rs.close();
+			pstmt.close();
+		}
+		catch (SQLException epc)
+		{
+			log.log(Level.SEVERE, SQL, epc);
+		}
+		
+		if (selectedCashBook != null)
+		{
+			if (m_C_CashBook_ID == 0)
+				m_C_CashBook_ID = selectedCashBook.getKey();  //  set to default to avoid 'cashbook changed' message
+		}
+		
+		return list;
+	}
+	
+	public String processMsg;
+	public boolean save(int newC_BankAccount_ID, int newC_CashBook_ID, Timestamp newDateAcct, BigDecimal newAmount, String trxName)
+	{
+		processMsg = null;
+		boolean error = false;
+		int newC_CashLine_ID = m_C_CashLine_ID;
+		
+		/***********************
+		 *  Changed PaymentRule
+		 */
+		if (!PAYMENTRULE.equals(m_PaymentRule))
+		{
+			log.fine("Changed PaymentRule: " + m_PaymentRule + " -> " + PAYMENTRULE);
+			//  We had a CashBook Entry
+			log.fine("Old Cash - " + m_cashLine);
+			if (m_cashLine != null)
+			{
+				MCashLine cl = m_cashLine.createReversal();
+				if (cl.save())
+					log.config( "CashCancelled");
+				else
+				{
+					processMsg = "CashNotCancelled";
+					error = true;
+				}
+			}
+			newC_CashLine_ID = 0;      //  reset
+		}
+		
+		//  Get Order and optionally Invoice
+		int C_Order_ID = Env.getContextAsInt(Env.getCtx(), getWindowNo(), "C_Order_ID");
+		int C_Invoice_ID = Env.getContextAsInt(Env.getCtx(), getWindowNo(), "C_Invoice_ID");
+		if (C_Invoice_ID == 0 && m_DocStatus.equals("CO"))
+			C_Invoice_ID = getInvoiceID (C_Order_ID);
+
+		//  Amount sign negative, if ARC (Credit Memo) or API (AP Invoice)
+		boolean negateAmt = false;
+		MInvoice invoice = null;
+		if (C_Invoice_ID != 0)
+		{
+			invoice = new MInvoice (Env.getCtx(), C_Invoice_ID, null);
+			negateAmt = invoice.isCreditMemo();
+		}
+		MOrder order = null;
+		if (invoice == null && C_Order_ID != 0)
+			order = new MOrder (Env.getCtx(), C_Order_ID, null);
+		
+		BigDecimal payAmount = m_Amount;
+		
+
+		if (negateAmt)
+			payAmount = m_Amount.negate();
+		// Info
+		log.config("C_Order_ID=" + C_Order_ID + ", C_Invoice_ID=" + C_Invoice_ID + ", NegateAmt=" + negateAmt);
+		
+		/***********************
+		 *  CashBook
+		 */
+		if (!m_Cash_As_Payment)
+		{
+			log.fine("Cash");
+			
+			if (C_Invoice_ID == 0 && order == null)
+			{
+				log.config("No Invoice!");
+				processMsg = "CashNotCreated";
+				error = false;
+			}
+			else
+			{
+				payAmount = newAmount;
+				//  Changed Amount
+				if (m_cashLine != null
+					&& payAmount.compareTo(m_cashLine.getAmount()) != 0)
+				{
+					log.config("Changed CashBook Amount");
+					m_cashLine.setAmount(newAmount);
+					m_cashLine.saveEx();
+				}
+				//	Different Date/CashBook
+				if (m_cashLine != null
+					&& (newC_CashBook_ID != m_C_CashBook_ID 
+						|| !TimeUtil.isSameDay(m_cashLine.getStatementDate(), newDateAcct)))
+				{
+					log.config("Changed CashBook/Date: " + m_C_CashBook_ID + "->" + newC_CashBook_ID);
+					MCashLine reverse = m_cashLine.createReversal();
+					reverse.saveEx();
+					m_cashLine = null;
+				}
+				
+				//	Create new
+				if (m_cashLine == null)
+				{
+					log.config("New CashBook");
+					int C_Currency_ID = 0;
+					if (invoice != null)
+						C_Currency_ID = invoice.getC_Currency_ID();
+					if (C_Currency_ID == 0 && order != null)
+						C_Currency_ID = order.getC_Currency_ID();
+					MCash cash = null;
+					if (newC_CashBook_ID != 0)
+						cash = MCash.get (Env.getCtx(), newC_CashBook_ID, newDateAcct, null);
+					else	//	Default
+						cash = MCash.get (Env.getCtx(), m_AD_Org_ID, newDateAcct, C_Currency_ID, null);
+					if (cash == null || cash.get_ID() == 0)
+					{
+						processMsg = CLogger.retrieveErrorString("CashNotCreated");
+						error = true;
+					}
+					else
+					{
+						MCashLine cl = new MCashLine (cash);
+						// cl.setAmount(new BigDecimal(bAmountField.getText()));
+						//ADialog.info(m_WindowNo, this, "m_cashLine - New Cashbook", "Amount: "+cl.getAmount());
+						if (invoice != null)
+							cl.setInvoice(invoice);	// overrides amount
+						if (order != null)
+						{
+							cl.setOrder(order, null); // overrides amount
+							m_needSave = true;
+						}
+						cl.setAmount(newAmount);
+						cl.saveEx();
+						log.config("CashCreated");						
+						if (invoice == null && C_Invoice_ID != 0)
+						{
+							invoice = new MInvoice (Env.getCtx(), C_Invoice_ID, null);	
+						}
+						if (invoice != null) {
+							invoice.setC_CashLine_ID(cl.getC_CashLine_ID());
+							invoice.saveEx(trxName);
+						}	
+						if (order == null && C_Order_ID != 0)
+						{
+							order = new MOrder (Env.getCtx(), C_Order_ID, null);
+						}
+						if (order != null) {
+							order.setC_CashLine_ID(cl.getC_CashLine_ID());
+							order.saveEx(trxName);
+						}
+						log.config("Update Order & Invoice with CashLine");						
+					}
+				}
+			}	//	have invoice
+		}
+		
+		/***********************
+		 *  Payments
+		 */
+		if (m_Cash_As_Payment)
+		{
+			log.fine("Payment - " + PAYMENTRULE);
+			//  Set Amount
+			m_mPayment.setAmount(m_C_Currency_ID, payAmount);
+			// Get changes to cash amount
+			m_mPayment.setTenderType(MPayment.TENDERTYPE_Cash);
+			m_mPayment.setBankCash(newC_BankAccount_ID, m_isSOTrx, MPayment.TENDERTYPE_Cash);
+			m_mPayment.setAmount(m_C_Currency_ID, payAmount);
+			m_mPayment.setC_BPartner_ID(m_C_BPartner_ID);
+			m_mPayment.setC_Invoice_ID(C_Invoice_ID);
+			if (order != null)
+			{
+				m_mPayment.setC_Order_ID(C_Order_ID);
+				m_needSave = true;
+			}
+			m_mPayment.setDateTrx(m_DateAcct);
+			m_mPayment.setDateAcct(m_DateAcct);
+			m_mPayment.saveEx();
+			
+			//  Save/Post
+			if (m_mPayment.get_ID() > 0 && MPayment.DOCSTATUS_Drafted.equals(m_mPayment.getDocStatus()))
+			{
+				boolean ok = m_mPayment.processIt(DocAction.ACTION_Complete);
+				m_mPayment.saveEx();
+				if (ok)
+					processMsg = m_mPayment.getDocumentNo();
+				else
+				{
+					processMsg = "PaymentNotCreated";
+					error = true;
+				}
+			}
+			else
+				log.fine("NotDraft " + m_mPayment);
+		}
+		
+		/**********************
+		 *	Save Values to mTab
+		 */
+		log.config("Saving changes");
+		//
+		if (!newDateAcct.equals(m_DateAcct))
+			getGridTab().setValue("DateAcct", newDateAcct);
+		//	Set Payment
+		if (m_mPayment.getC_Payment_ID() != m_C_Payment_ID)
+		{
+			if (m_mPayment.getC_Payment_ID() == 0)
+				getGridTab().setValue("C_Payment_ID", null);
+			else
+				getGridTab().setValue("C_Payment_ID", new Integer(m_mPayment.getC_Payment_ID()));
+		}
+		//	Set Cash
+		if (newC_CashLine_ID != m_C_CashLine_ID)
+		{
+			if (newC_CashLine_ID == 0)
+				getGridTab().setValue("C_CashLine_ID", null);
+			else
+				getGridTab().setValue("C_CashLine_ID", new Integer(newC_CashLine_ID));
+		}
+		return !error;
+	}
+}
diff --git a/org.adempiere.ui/src/org/compiere/grid/PaymentFormCheck.java b/org.adempiere.ui/src/org/compiere/grid/PaymentFormCheck.java
new file mode 100644
index 0000000000..d2c7dc7efd
--- /dev/null
+++ b/org.adempiere.ui/src/org/compiere/grid/PaymentFormCheck.java
@@ -0,0 +1,198 @@
+package org.compiere.grid;
+
+import java.math.BigDecimal;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.logging.Level;
+
+import org.compiere.model.GridTab;
+import org.compiere.model.MInvoice;
+import org.compiere.model.MOrder;
+import org.compiere.model.MPayment;
+import org.compiere.model.MRole;
+import org.compiere.process.DocAction;
+import org.compiere.util.DB;
+import org.compiere.util.Env;
+import org.compiere.util.KeyNamePair;
+
+public abstract class PaymentFormCheck extends PaymentForm {
+	public static final String PAYMENTRULE = MInvoice.PAYMENTRULE_Check;
+	
+	public PaymentFormCheck(int WindowNo, GridTab mTab) {
+		super(WindowNo, mTab);
+	}
+	
+	public KeyNamePair selectedBankAccount;
+	public ArrayList getBankAccountList() {
+		selectedBankAccount = null;
+		ArrayList list = new ArrayList();
+		
+		/**
+		 *  Load Bank Accounts
+		 */
+		String SQL = MRole.getDefault().addAccessSQL(
+			"SELECT C_BankAccount_ID, ba.Name || ' ' || AccountNo, IsDefault "
+			+ "FROM C_BankAccount ba"
+			+ " INNER JOIN C_Bank b ON (ba.C_Bank_ID=b.C_Bank_ID) "
+			+ "WHERE b.IsActive='Y'",
+			"ba", MRole.SQL_FULLYQUALIFIED, MRole.SQL_RO);
+		try
+		{
+			PreparedStatement pstmt = DB.prepareStatement(SQL, null);
+			ResultSet rs = pstmt.executeQuery();
+			while (rs.next())
+			{
+				int key = rs.getInt(1);
+				String name = rs.getString(2);
+				KeyNamePair pp = new KeyNamePair(key, name);
+				list.add(pp);
+				if (key == m_C_BankAccount_ID)
+					selectedBankAccount = pp;
+				if (selectedBankAccount == null && rs.getString(3).equals("Y"))    //  Default
+					selectedBankAccount = pp;
+			}
+			rs.close();
+			pstmt.close();
+		}
+		catch (SQLException ept)
+		{
+			log.log(Level.SEVERE, SQL, ept);
+		}
+		
+		return list;
+	}
+	
+	public String processMsg = null;
+	public boolean save(int newC_BankAccount_ID, String routing, String number, String check, BigDecimal amount)
+	{
+		processMsg = null;
+		boolean error = false;
+		String payTypes = m_Cash_As_Payment ? "KTSDB" : "KTSD";
+		
+		/***********************
+		 *  Changed PaymentRule
+		 */
+		if (!PAYMENTRULE.equals(m_PaymentRule))
+		{
+			log.fine("Changed PaymentRule: " + m_PaymentRule + " -> " + PAYMENTRULE);
+			//  We had a change in Payment type (e.g. Check to CC)
+			if (payTypes.indexOf(m_PaymentRule) != -1 && payTypes.indexOf(PAYMENTRULE) != -1 && m_mPaymentOriginal != null)
+			{
+				log.fine("Old Payment(1) - " + m_mPaymentOriginal);
+				m_mPaymentOriginal.setDocAction(DocAction.ACTION_Reverse_Correct);
+				boolean ok = m_mPaymentOriginal.processIt(DocAction.ACTION_Reverse_Correct);
+				m_mPaymentOriginal.saveEx();
+				if (ok)
+					log.info( "Payment Canecelled - " + m_mPaymentOriginal);
+				else
+				{
+					processMsg = "PaymentNotCancelled " + m_mPaymentOriginal.getDocumentNo();
+					error = true;
+				}
+				m_mPayment.resetNew();
+			}
+			//	We had a Payment and something else (e.g. Check to Cash)
+			else if (payTypes.indexOf(m_PaymentRule) != -1 && payTypes.indexOf(PAYMENTRULE) == -1)
+			{
+				log.fine("Old Payment(2) - " + m_mPaymentOriginal);
+				if (m_mPaymentOriginal != null)
+				{
+					m_mPaymentOriginal.setDocAction(DocAction.ACTION_Reverse_Correct);
+					boolean ok = m_mPaymentOriginal.processIt(DocAction.ACTION_Reverse_Correct);
+					m_mPaymentOriginal.saveEx();
+					if (ok)        //  Cancel Payment
+					{
+						log.fine("PaymentCancelled " + m_mPayment.getDocumentNo ());
+						getGridTab().getTableModel().dataSave(true);
+						m_mPayment.resetNew();
+						m_mPayment.setAmount(m_C_Currency_ID, m_Amount);
+					}
+					else
+					{
+						processMsg = "PaymentNotCancelled " + m_mPayment.getDocumentNo();
+						error = true;
+					}
+				}
+			}
+		}
+		
+		//  Get Order and optionally Invoice
+		int C_Order_ID = Env.getContextAsInt(Env.getCtx(), getWindowNo(), "C_Order_ID");
+		int C_Invoice_ID = Env.getContextAsInt(Env.getCtx(), getWindowNo(), "C_Invoice_ID");
+		if (C_Invoice_ID == 0 && m_DocStatus.equals("CO"))
+			C_Invoice_ID = getInvoiceID (C_Order_ID);
+
+		//  Amount sign negative, if ARC (Credit Memo) or API (AP Invoice)
+		boolean negateAmt = false;
+		MInvoice invoice = null;
+		if (C_Invoice_ID != 0)
+		{
+			invoice = new MInvoice (Env.getCtx(), C_Invoice_ID, null);
+			negateAmt = invoice.isCreditMemo();
+		}
+		MOrder order = null;
+		if (invoice == null && C_Order_ID != 0)
+			order = new MOrder (Env.getCtx(), C_Order_ID, null);
+		
+		BigDecimal payAmount = m_Amount;
+		
+
+		if (negateAmt)
+			payAmount = m_Amount.negate();
+		// Info
+		log.config("C_Order_ID=" + C_Order_ID + ", C_Invoice_ID=" + C_Invoice_ID + ", NegateAmt=" + negateAmt);
+		
+		/***********************
+		 *  Payments
+		 */
+		log.fine("Payment - " + PAYMENTRULE);
+		//  Set Amount
+		m_mPayment.setAmount(m_C_Currency_ID, payAmount);
+		m_mPayment.setBankCheck(newC_BankAccount_ID, m_isSOTrx, routing,
+			number, check);
+		// Get changes to check amount
+		m_mPayment.setAmount(m_C_Currency_ID, amount);
+		m_mPayment.setC_BPartner_ID(m_C_BPartner_ID);
+		m_mPayment.setC_Invoice_ID(C_Invoice_ID);
+		if (order != null)
+		{
+			m_mPayment.setC_Order_ID(C_Order_ID);
+			m_needSave = true;
+		}
+		m_mPayment.setDateTrx(m_DateAcct);
+		m_mPayment.setDateAcct(m_DateAcct);
+		m_mPayment.saveEx();
+		
+		//  Save/Post
+		if (m_mPayment.get_ID() > 0 && MPayment.DOCSTATUS_Drafted.equals(m_mPayment.getDocStatus()))
+		{
+			boolean ok = m_mPayment.processIt(DocAction.ACTION_Complete);
+			m_mPayment.saveEx();
+			if (ok)
+				processMsg = m_mPayment.getDocumentNo();
+			else
+			{
+				processMsg = "PaymentNotCreated";
+				error = true;
+			}
+		}
+		else
+			log.fine("NotDraft " + m_mPayment);
+		
+		/**********************
+		 *	Save Values to mTab
+		 */
+		log.config("Saving changes");
+		//	Set Payment
+		if (m_mPayment.getC_Payment_ID() != m_C_Payment_ID)
+		{
+			if (m_mPayment.getC_Payment_ID() == 0)
+				getGridTab().setValue("C_Payment_ID", null);
+			else
+				getGridTab().setValue("C_Payment_ID", new Integer(m_mPayment.getC_Payment_ID()));
+		}
+		return !error;
+	}
+}
diff --git a/org.adempiere.ui/src/org/compiere/grid/PaymentFormCreditCard.java b/org.adempiere.ui/src/org/compiere/grid/PaymentFormCreditCard.java
new file mode 100644
index 0000000000..21ee1c18c5
--- /dev/null
+++ b/org.adempiere.ui/src/org/compiere/grid/PaymentFormCreditCard.java
@@ -0,0 +1,221 @@
+package org.compiere.grid;
+
+import java.math.BigDecimal;
+
+import org.compiere.model.GridTab;
+import org.compiere.model.MInvoice;
+import org.compiere.model.MOrder;
+import org.compiere.model.MPayment;
+import org.compiere.process.DocAction;
+import org.compiere.util.Env;
+import org.compiere.util.ValueNamePair;
+
+public abstract class PaymentFormCreditCard extends PaymentForm {
+	public static final String PAYMENTRULE = MInvoice.PAYMENTRULE_CreditCard;
+
+	public PaymentFormCreditCard(int WindowNo, GridTab mTab) {
+		super(WindowNo, mTab);
+	}
+	
+	public ValueNamePair selectedCreditCard;
+	public ValueNamePair[] getCreditCardList()
+	{
+		selectedCreditCard = null;
+		ValueNamePair[] ccs = m_mPayment.getCreditCards();
+		for (int i = 0; i < ccs.length; i++)
+		{
+			if (ccs[i].getValue().equals(m_CCType))
+				selectedCreditCard = ccs[i];
+		}
+		return ccs;
+	}
+	
+	public String processMsg = null;
+	public boolean save(String newCCType, String newCCNumber, String newCCExp, BigDecimal newAmount)
+	{
+		processMsg = null;
+		boolean error = false;
+		String payTypes = m_Cash_As_Payment ? "KTSDB" : "KTSD";
+				
+		/***********************
+		 *  Changed PaymentRule
+		 */
+		if (!PAYMENTRULE.equals(m_PaymentRule))
+		{
+			log.fine("Changed PaymentRule: " + m_PaymentRule + " -> " + PAYMENTRULE);
+			//  We had a change in Payment type (e.g. Check to CC)
+			if (payTypes.indexOf(m_PaymentRule) != -1 && payTypes.indexOf(PAYMENTRULE) != -1 && m_mPaymentOriginal != null)
+			{
+				log.fine("Old Payment(1) - " + m_mPaymentOriginal);
+				m_mPaymentOriginal.setDocAction(DocAction.ACTION_Reverse_Correct);
+				boolean ok = m_mPaymentOriginal.processIt(DocAction.ACTION_Reverse_Correct);
+				m_mPaymentOriginal.saveEx();
+				if (ok)
+					log.info( "Payment Canecelled - " + m_mPaymentOriginal);
+				else
+				{
+					processMsg = "PaymentNotCancelled " + m_mPaymentOriginal.getDocumentNo();
+					error = true;
+				}
+				m_mPayment.resetNew();
+			}
+			//	We had a Payment and something else (e.g. Check to Cash)
+			else if (payTypes.indexOf(m_PaymentRule) != -1 && payTypes.indexOf(PAYMENTRULE) == -1)
+			{
+				log.fine("Old Payment(2) - " + m_mPaymentOriginal);
+				if (m_mPaymentOriginal != null)
+				{
+					m_mPaymentOriginal.setDocAction(DocAction.ACTION_Reverse_Correct);
+					boolean ok = m_mPaymentOriginal.processIt(DocAction.ACTION_Reverse_Correct);
+					m_mPaymentOriginal.saveEx();
+					if (ok)        //  Cancel Payment
+					{
+						log.fine("PaymentCancelled " + m_mPayment.getDocumentNo ());
+						getGridTab().getTableModel().dataSave(true);
+						m_mPayment.resetNew();
+						m_mPayment.setAmount(m_C_Currency_ID, m_Amount);
+					}
+					else
+					{
+						processMsg = "PaymentNotCancelled " + m_mPayment.getDocumentNo();
+						error = true;
+					}
+				}
+			}
+		}
+		
+		//  Get Order and optionally Invoice
+		int C_Order_ID = Env.getContextAsInt(Env.getCtx(), getWindowNo(), "C_Order_ID");
+		int C_Invoice_ID = Env.getContextAsInt(Env.getCtx(), getWindowNo(), "C_Invoice_ID");
+		if (C_Invoice_ID == 0 && m_DocStatus.equals("CO"))
+			C_Invoice_ID = getInvoiceID (C_Order_ID);
+
+		//  Amount sign negative, if ARC (Credit Memo) or API (AP Invoice)
+		boolean negateAmt = false;
+		MInvoice invoice = null;
+		if (C_Invoice_ID != 0)
+		{
+			invoice = new MInvoice (Env.getCtx(), C_Invoice_ID, null);
+			negateAmt = invoice.isCreditMemo();
+		}
+		MOrder order = null;
+		if (invoice == null && C_Order_ID != 0)
+			order = new MOrder (Env.getCtx(), C_Order_ID, null);
+		
+		BigDecimal payAmount = m_Amount;
+		
+
+		if (negateAmt)
+			payAmount = m_Amount.negate();
+		// Info
+		log.config("C_Order_ID=" + C_Order_ID + ", C_Invoice_ID=" + C_Invoice_ID + ", NegateAmt=" + negateAmt);
+		
+		/***********************
+		 *  Payments
+		 */
+		log.fine("Payment - " + PAYMENTRULE);
+		//  Set Amount
+		m_mPayment.setAmount(m_C_Currency_ID, payAmount);
+		m_mPayment.setCreditCard(MPayment.TRXTYPE_Sales, newCCType, newCCNumber, "", newCCExp);
+		// Get changes to credit card amount
+		m_mPayment.setAmount(m_C_Currency_ID, newAmount);
+		m_mPayment.setPaymentProcessor();
+
+		m_mPayment.setC_BPartner_ID(m_C_BPartner_ID);
+		m_mPayment.setC_Invoice_ID(C_Invoice_ID);
+		if (order != null)
+		{
+			m_mPayment.setC_Order_ID(C_Order_ID);
+			m_needSave = true;
+		}
+		m_mPayment.setDateTrx(m_DateAcct);
+		m_mPayment.setDateAcct(m_DateAcct);
+		m_mPayment.saveEx();
+		
+		//  Save/Post
+		if (m_mPayment.get_ID() > 0 && MPayment.DOCSTATUS_Drafted.equals(m_mPayment.getDocStatus()))
+		{
+			boolean ok = m_mPayment.processIt(DocAction.ACTION_Complete);
+			m_mPayment.saveEx();
+			if (ok)
+				processMsg = m_mPayment.getDocumentNo();
+			else
+			{
+				processMsg = "PaymentNotCreated";
+				error = true;
+			}
+		}
+		else
+			log.fine("NotDraft " + m_mPayment);
+		
+		/**********************
+		 *	Save Values to mTab
+		 */
+		log.config("Saving changes");
+		//	Set Payment
+		if (m_mPayment.getC_Payment_ID() != m_C_Payment_ID)
+		{
+			if (m_mPayment.getC_Payment_ID() == 0)
+				getGridTab().setValue("C_Payment_ID", null);
+			else
+				getGridTab().setValue("C_Payment_ID", new Integer(m_mPayment.getC_Payment_ID()));
+		}
+		
+		return !error;
+	}
+	
+	public boolean processOnline(String CCType, String CCNumber, String CCExp)
+	{
+		processMsg = null;
+		boolean error = false;
+		
+		boolean approved = false;
+		String info = "";
+
+		m_mPayment.setCreditCard(MPayment.TRXTYPE_Sales, CCType,
+			CCNumber, "", CCExp);
+		m_mPayment.setAmount(m_C_Currency_ID, m_Amount);
+		m_mPayment.setPaymentProcessor();
+		m_mPayment.setC_BPartner_ID(m_C_BPartner_ID);
+		//
+		int C_Invoice_ID = Env.getContextAsInt(Env.getCtx(), getWindowNo(), "C_Invoice_ID");
+		if (C_Invoice_ID == 0 && m_DocStatus.equals("CO"))
+		{
+			int C_Order_ID = Env.getContextAsInt(Env.getCtx(), getWindowNo(), "C_Order_ID");
+			C_Invoice_ID = getInvoiceID (C_Order_ID);
+		}
+		m_mPayment.setC_Invoice_ID(C_Invoice_ID);
+		m_mPayment.setDateTrx(m_DateAcct);
+		//  Set Amount
+		m_mPayment.setAmount(m_C_Currency_ID, m_Amount);
+		if (!m_mPayment.save()) {
+			processMsg = "PaymentNotCreated";
+			return false;
+		} else {
+			approved = m_mPayment.processOnline();
+			info = m_mPayment.getR_RespMsg() + " (" + m_mPayment.getR_AuthCode()
+				+ ") ID=" + m_mPayment.getR_PnRef();
+			m_mPayment.saveEx();
+
+			if (approved)
+			{
+				boolean ok = m_mPayment.processIt(DocAction.ACTION_Complete);
+				m_mPayment.saveEx();
+				if (ok)
+					processMsg = info + "\n" + m_mPayment.getDocumentNo();
+				else
+				{
+					processMsg = "PaymentNotCreated";
+					error = true;
+				}
+				saveChanges();
+			}
+			else
+			{
+				processMsg = info;
+				error = true;
+			}
+		}
+		return !error;
+	}
+}
diff --git a/org.adempiere.ui/src/org/compiere/grid/PaymentFormDirectDebit.java b/org.adempiere.ui/src/org/compiere/grid/PaymentFormDirectDebit.java
new file mode 100644
index 0000000000..e8a2409dc0
--- /dev/null
+++ b/org.adempiere.ui/src/org/compiere/grid/PaymentFormDirectDebit.java
@@ -0,0 +1,12 @@
+package org.compiere.grid;
+
+import org.compiere.model.GridTab;
+import org.compiere.model.MInvoice;
+
+public abstract class PaymentFormDirectDebit extends PaymentFormDirectDeposit {	
+	public static final String PAYMENTRULE = MInvoice.PAYMENTRULE_DirectDebit;
+	
+	public PaymentFormDirectDebit(int WindowNo, GridTab mTab) {
+		super(WindowNo, mTab);
+	}
+}
diff --git a/org.adempiere.ui/src/org/compiere/grid/PaymentFormDirectDeposit.java b/org.adempiere.ui/src/org/compiere/grid/PaymentFormDirectDeposit.java
new file mode 100644
index 0000000000..25b9d4fec8
--- /dev/null
+++ b/org.adempiere.ui/src/org/compiere/grid/PaymentFormDirectDeposit.java
@@ -0,0 +1,125 @@
+package org.compiere.grid;
+
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.logging.Level;
+
+import org.compiere.model.GridTab;
+import org.compiere.model.MInvoice;
+import org.compiere.process.DocAction;
+import org.compiere.util.DB;
+import org.compiere.util.KeyNamePair;
+
+public abstract class PaymentFormDirectDeposit extends PaymentForm {
+	public static final String PAYMENTRULE = MInvoice.PAYMENTRULE_DirectDeposit;
+
+	public PaymentFormDirectDeposit(int WindowNo, GridTab mTab) {
+		super(WindowNo, mTab);
+	}
+	
+	public ArrayList getBankAccountList() {
+		ArrayList list = new ArrayList();
+		
+		/**
+		 * 	Load Accounts
+		 */
+		String SQL = "SELECT a.C_BP_BankAccount_ID, NVL(b.Name, ' ')||'_'||NVL(a.AccountNo, ' ') AS Acct "
+			+ "FROM C_BP_BankAccount a"
+			+ " LEFT OUTER JOIN C_Bank b ON (a.C_Bank_ID=b.C_Bank_ID) "
+			+ "WHERE C_BPartner_ID=?"
+			+ "AND a.IsActive='Y' AND a.IsACH='Y'";
+		try
+		{
+			PreparedStatement pstmt = DB.prepareStatement(SQL, null);
+			pstmt.setInt(1, m_C_BPartner_ID);
+			ResultSet rs = pstmt.executeQuery();
+			while (rs.next())
+			{
+				int key = rs.getInt(1);
+				String name = rs.getString(2);
+				KeyNamePair pp = new KeyNamePair(key, name);
+				list.add(pp);
+			}
+			rs.close();
+			pstmt.close();
+		}
+		catch (SQLException eac)
+		{
+			log.log(Level.SEVERE, SQL, eac);
+		}
+		
+		return list;
+	}
+	
+	public String processMsg;
+	public boolean save()
+	{
+		processMsg = null;
+		boolean error = false;
+		
+		String payTypes = m_Cash_As_Payment ? "KTSDB" : "KTSD";
+		
+		/***********************
+		 *  Changed PaymentRule
+		 */
+		if (!PAYMENTRULE.equals(m_PaymentRule))
+		{
+			log.fine("Changed PaymentRule: " + m_PaymentRule + " -> " + PAYMENTRULE);
+			//  We had a change in Payment type (e.g. Check to CC)
+			if (payTypes.indexOf(m_PaymentRule) != -1 && payTypes.indexOf(PAYMENTRULE) != -1 && m_mPaymentOriginal != null)
+			{
+				log.fine("Old Payment(1) - " + m_mPaymentOriginal);
+				m_mPaymentOriginal.setDocAction(DocAction.ACTION_Reverse_Correct);
+				boolean ok = m_mPaymentOriginal.processIt(DocAction.ACTION_Reverse_Correct);
+				m_mPaymentOriginal.saveEx();
+				if (ok)
+					log.info( "Payment Canecelled - " + m_mPaymentOriginal);
+				else
+				{
+					processMsg = "PaymentNotCancelled " + m_mPaymentOriginal.getDocumentNo();
+					error = true;
+				}
+				m_mPayment.resetNew();
+			}
+			//	We had a Payment and something else (e.g. Check to Cash)
+			else if (payTypes.indexOf(m_PaymentRule) != -1 && payTypes.indexOf(PAYMENTRULE) == -1)
+			{
+				log.fine("Old Payment(2) - " + m_mPaymentOriginal);
+				if (m_mPaymentOriginal != null)
+				{
+					m_mPaymentOriginal.setDocAction(DocAction.ACTION_Reverse_Correct);
+					boolean ok = m_mPaymentOriginal.processIt(DocAction.ACTION_Reverse_Correct);
+					m_mPaymentOriginal.saveEx();
+					if (ok)        //  Cancel Payment
+					{
+						log.fine("PaymentCancelled " + m_mPayment.getDocumentNo ());
+						getGridTab().getTableModel().dataSave(true);
+						m_mPayment.resetNew();
+						m_mPayment.setAmount(m_C_Currency_ID, m_Amount);
+					}
+					else
+					{
+						processMsg = "PaymentNotCancelled " + m_mPayment.getDocumentNo();
+						error = true;
+					}
+				}
+			}
+		}
+		/**********************
+		 *	Save Values to mTab
+		 */
+		log.config("Saving changes");
+		//	Set Payment
+		if (m_mPayment.getC_Payment_ID() != m_C_Payment_ID)
+		{
+			if (m_mPayment.getC_Payment_ID() == 0)
+				getGridTab().setValue("C_Payment_ID", null);
+			else
+				getGridTab().setValue("C_Payment_ID", new Integer(m_mPayment.getC_Payment_ID()));
+		}
+		
+		return !error;
+	}
+}
diff --git a/org.adempiere.ui/src/org/compiere/grid/PaymentFormMixedPOS.java b/org.adempiere.ui/src/org/compiere/grid/PaymentFormMixedPOS.java
new file mode 100644
index 0000000000..aa4876bc3d
--- /dev/null
+++ b/org.adempiere.ui/src/org/compiere/grid/PaymentFormMixedPOS.java
@@ -0,0 +1,12 @@
+package org.compiere.grid;
+
+import org.compiere.model.GridTab;
+import org.compiere.model.MInvoice;
+
+public abstract class PaymentFormMixedPOS extends PaymentForm {
+	public static final String PAYMENTRULE = MInvoice.PAYMENTRULE_MixedPOSPayment;
+
+	public PaymentFormMixedPOS(int WindowNo, GridTab mTab) {
+		super(WindowNo, mTab);
+	}
+}
diff --git a/org.adempiere.ui/src/org/compiere/grid/PaymentFormOnCredit.java b/org.adempiere.ui/src/org/compiere/grid/PaymentFormOnCredit.java
new file mode 100644
index 0000000000..16948a745f
--- /dev/null
+++ b/org.adempiere.ui/src/org/compiere/grid/PaymentFormOnCredit.java
@@ -0,0 +1,69 @@
+package org.compiere.grid;
+
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.logging.Level;
+
+import org.compiere.model.GridTab;
+import org.compiere.model.MInvoice;
+import org.compiere.model.MRole;
+import org.compiere.util.DB;
+import org.compiere.util.KeyNamePair;
+
+public abstract class PaymentFormOnCredit extends PaymentForm {
+	public static final String PAYMENTRULE = MInvoice.PAYMENTRULE_OnCredit;
+	
+	/** Start Payment Term */
+	public int 				m_C_PaymentTerm_ID = 0;
+	
+	public PaymentFormOnCredit(int WindowNo, GridTab mTab) {
+		super(WindowNo, mTab);
+		
+		if (mTab.getValue("C_PaymentTerm_ID") != null)
+			m_C_PaymentTerm_ID = ((Integer)mTab.getValue("C_PaymentTerm_ID")).intValue();
+	}
+
+	public KeyNamePair selectedPaymentTerm = null;
+	public ArrayList getPaymentTermList() {
+		selectedPaymentTerm = null;
+		ArrayList list = new ArrayList();
+		
+		/**
+		 * 	Load Payment Terms
+		 */
+		String SQL = MRole.getDefault().addAccessSQL(
+			"SELECT C_PaymentTerm_ID, Name FROM C_PaymentTerm WHERE IsActive='Y' ORDER BY Name",
+			"C_PaymentTerm", MRole.SQL_NOTQUALIFIED, MRole.SQL_RO);
+		try
+		{
+			PreparedStatement pstmt = DB.prepareStatement(SQL, null);
+			ResultSet rs = pstmt.executeQuery();
+			while (rs.next())
+			{
+				int key = rs.getInt(1);
+				String name = rs.getString(2);
+				KeyNamePair pp = new KeyNamePair(key, name);
+				list.add(pp);
+				if (pp.getKey() == m_C_PaymentTerm_ID)
+					selectedPaymentTerm = pp;
+			}
+			rs.close();
+			pstmt.close();
+		}
+		catch (SQLException ept)
+		{
+			log.log(Level.SEVERE, SQL, ept);
+		}
+		
+		return list;
+	}
+	
+	public boolean save(int newC_PaymentTerm_ID)
+	{
+		if (newC_PaymentTerm_ID != m_C_PaymentTerm_ID)
+			getGridTab().setValue("C_PaymentTerm_ID", new Integer(newC_PaymentTerm_ID));
+		return true;
+	}
+}