diff --git a/migration/i4.1z/oracle/201701311443_IDEMPIERE-3290.sql b/migration/i4.1z/oracle/201701311443_IDEMPIERE-3290.sql new file mode 100644 index 0000000000..1530e69537 --- /dev/null +++ b/migration/i4.1z/oracle/201701311443_IDEMPIERE-3290.sql @@ -0,0 +1,72 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IBAN import BankStatement IDEMPIERE-3290 +-- Jan 31, 2017 2:43:32 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212962,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',600,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2017-01-31 14:43:31','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-31 14:43:31','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','D','N','N','N','Y','85f00035-051b-4509-b369-783713612b4d','Y',0,'N','N','N') +; + +-- Jan 31, 2017 2:47:04 PM CET +ALTER TABLE I_BankStatement ADD IBAN VARCHAR2(40) DEFAULT NULL +; + +-- Jan 31, 2017 2:54:13 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204367,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',507,212962,'Y',20,550,'N','N','N','N',0,0,'Y',TO_DATE('2017-01-31 14:54:13','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-31 14:54:13','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','edc16214-b5d2-4520-b581-f7d0501a4551','Y',550,1,2,1,'N','N','N') +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=10, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7081 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=20, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7078 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=30, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7077 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=40, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7082 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=50, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7091 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=60, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7068 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=70, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7083 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=80, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7095 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=90, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7073 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=100, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7087 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=110, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7066 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204367 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=0, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7085 +; + +SELECT register_migration_script('201701311443_IDEMPIERE-3290.sql') FROM dual +; \ No newline at end of file diff --git a/migration/i4.1z/postgresql/201701311443_IDEMPIERE-3290.sql b/migration/i4.1z/postgresql/201701311443_IDEMPIERE-3290.sql new file mode 100644 index 0000000000..aa86469e6b --- /dev/null +++ b/migration/i4.1z/postgresql/201701311443_IDEMPIERE-3290.sql @@ -0,0 +1,69 @@ +-- IBAN import BankStatement IDEMPIERE-3290 +-- Jan 31, 2017 2:43:32 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212962,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',600,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2017-01-31 14:43:31','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-31 14:43:31','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','D','N','N','N','Y','85f00035-051b-4509-b369-783713612b4d','Y',0,'N','N','N') +; + +-- Jan 31, 2017 2:47:04 PM CET +ALTER TABLE I_BankStatement ADD COLUMN IBAN VARCHAR(40) DEFAULT NULL +; + +-- Jan 31, 2017 2:54:13 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204367,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',507,212962,'Y',20,550,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-31 14:54:13','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-31 14:54:13','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','edc16214-b5d2-4520-b581-f7d0501a4551','Y',550,1,2,1,'N','N','N') +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=10, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7081 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=20, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7078 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=30, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7077 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=40, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7082 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=50, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7091 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=60, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7068 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=70, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7083 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=80, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7095 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=90, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7073 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=100, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7087 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=110, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7066 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204367 +; + +-- Jan 31, 2017 2:56:21 PM CET +UPDATE AD_Field SET SeqNo=0, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-31 14:56:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7085 +; + +SELECT register_migration_script('201701311443_IDEMPIERE-3290.sql') FROM dual +; diff --git a/org.adempiere.base/src/org/compiere/impexp/BankStatementLoaderInterface.java b/org.adempiere.base/src/org/compiere/impexp/BankStatementLoaderInterface.java index d357247100..13e450f300 100644 --- a/org.adempiere.base/src/org/compiere/impexp/BankStatementLoaderInterface.java +++ b/org.adempiere.base/src/org/compiere/impexp/BankStatementLoaderInterface.java @@ -108,6 +108,12 @@ public interface BankStatementLoaderInterface */ public String getBankAccountNo(); + /** + * The IBAN of the bank account for the statement line. + * @return IBAN + */ + public String getIBAN() ; + /** * Additional reference information * Statement level reference information. If a specific loader class diff --git a/org.adempiere.base/src/org/compiere/impexp/OFXBankStatementHandler.java b/org.adempiere.base/src/org/compiere/impexp/OFXBankStatementHandler.java index 549788e212..9fdd19966f 100644 --- a/org.adempiere.base/src/org/compiere/impexp/OFXBankStatementHandler.java +++ b/org.adempiere.base/src/org/compiere/impexp/OFXBankStatementHandler.java @@ -350,6 +350,14 @@ public abstract class OFXBankStatementHandler extends DefaultHandler return m_line.bankAccountNo; } + /** + * Method getIBAN + * @return String + */ + public String getIBAN() { + return null; + } + /** * Method getStatementReference * @return String diff --git a/org.adempiere.base/src/org/compiere/model/I_I_BankStatement.java b/org.adempiere.base/src/org/compiere/model/I_I_BankStatement.java index f5eee56e67..f76687d5da 100644 --- a/org.adempiere.base/src/org/compiere/model/I_I_BankStatement.java +++ b/org.adempiere.base/src/org/compiere/model/I_I_BankStatement.java @@ -454,6 +454,19 @@ public interface I_I_BankStatement */ public Timestamp getEftValutaDate(); + /** Column name IBAN */ + public static final String COLUMNNAME_IBAN = "IBAN"; + + /** Set IBAN. + * International Bank Account Number + */ + public void setIBAN (String IBAN); + + /** Get IBAN. + * International Bank Account Number + */ + public String getIBAN(); + /** Column name I_BankStatement_ID */ public static final String COLUMNNAME_I_BankStatement_ID = "I_BankStatement_ID"; diff --git a/org.adempiere.base/src/org/compiere/model/MBankStatementLoader.java b/org.adempiere.base/src/org/compiere/model/MBankStatementLoader.java index c2a653771d..de1e4093d5 100644 --- a/org.adempiere.base/src/org/compiere/model/MBankStatementLoader.java +++ b/org.adempiere.base/src/org/compiere/model/MBankStatementLoader.java @@ -214,6 +214,8 @@ import org.compiere.impexp.BankStatementLoaderInterface; imp.setBankAccountNo(m_loader.getBankAccountNo()); if (log.isLoggable(Level.CONFIG))log.config( "MBankStatementLoader.importLine Routing No=" + m_loader.getRoutingNo()); imp.setRoutingNo(m_loader.getRoutingNo()); + if (log.isLoggable(Level.CONFIG))log.config( "MBankStatementLoader.importLine IBAN=" + m_loader.getIBAN()); + imp.setIBAN(m_loader.getIBAN()); // Statement fields if (log.isLoggable(Level.CONFIG))log.config( "MBankStatementLoader.importLine EFT Statement Reference No=" + m_loader.getStatementReference()); diff --git a/org.adempiere.base/src/org/compiere/model/X_I_BankStatement.java b/org.adempiere.base/src/org/compiere/model/X_I_BankStatement.java index 8cfe1a2ea7..b261825924 100644 --- a/org.adempiere.base/src/org/compiere/model/X_I_BankStatement.java +++ b/org.adempiere.base/src/org/compiere/model/X_I_BankStatement.java @@ -32,7 +32,7 @@ public class X_I_BankStatement extends PO implements I_I_BankStatement, I_Persis /** * */ - private static final long serialVersionUID = 20161030L; + private static final long serialVersionUID = 20170131L; /** Standard Constructor */ public X_I_BankStatement (Properties ctx, int I_BankStatement_ID, String trxName) @@ -640,6 +640,23 @@ public class X_I_BankStatement extends PO implements I_I_BankStatement, I_Persis return (Timestamp)get_Value(COLUMNNAME_EftValutaDate); } + /** Set IBAN. + @param IBAN + International Bank Account Number + */ + public void setIBAN (String IBAN) + { + set_Value (COLUMNNAME_IBAN, IBAN); + } + + /** Get IBAN. + @return International Bank Account Number + */ + public String getIBAN () + { + return (String)get_Value(COLUMNNAME_IBAN); + } + /** Set Import Bank Statement. @param I_BankStatement_ID Import of the Bank Statement