details:   https://code.openbravo.com/erp/devel/pi/rev/47c683261c3a
changeset: 17579:47c683261c3a
user:      David Miguelez <david.miguelez <at> openbravo.com>
date:      Tue Jul 31 11:19:22 2012 +0200
summary:   Fixes issue 0021245: Adds a new column in M_Transaction

diffstat:

 src-db/database/model/tables/M_TRANSACTION.xml         |   4 +
 src-db/database/sourcedata/AD_COLUMN.xml               |  37 ++++++++++++
 src-db/database/sourcedata/AD_ELEMENT.xml              |  14 ++++
 src-db/database/sourcedata/AD_MESSAGE.xml              |  11 +++
 src-db/database/sourcedata/AD_REFERENCE.xml            |  12 ++++
 src-db/database/sourcedata/AD_REF_LIST.xml             |  52 ++++++++++++++++++
 src/org/openbravo/costing/CostingAlgorithm.java        |  18 +++---
 src/org/openbravo/costing/CostingBackground.java       |  23 +++++++-
 src/org/openbravo/costing/CostingMigrationProcess.java |   3 +
 src/org/openbravo/costing/CostingRuleProcess.java      |   1 +
 src/org/openbravo/costing/CostingServer.java           |  12 +++-
 11 files changed, 175 insertions(+), 12 deletions(-)

diffs (truncated from 404 to 300 lines):

diff -r f2a6e4598a05 -r 47c683261c3a 
src-db/database/model/tables/M_TRANSACTION.xml
--- a/src-db/database/model/tables/M_TRANSACTION.xml    Mon Jul 30 12:54:07 
2012 +0200
+++ b/src-db/database/model/tables/M_TRANSACTION.xml    Tue Jul 31 11:19:22 
2012 +0200
@@ -113,6 +113,10 @@
         <default/>
         <onCreateDefault/>
       </column>
+      <column name="COSTING_STATUS" primaryKey="false" required="true" 
type="VARCHAR" size="60" autoIncrement="false">
+        <default><![CDATA[NC]]></default>
+        <onCreateDefault><![CDATA[CASE WHEN ISCOSTCALCULATED='Y' THEN 'CC' 
ELSE 'NC' END]]></onCreateDefault>
+      </column>
       <foreign-key foreignTable="M_INTERNAL_CONSUMPTIONLINE" 
name="M_INTL_CONSUMP_MTRANSACTION">
         <reference local="M_INTERNAL_CONSUMPTIONLINE_ID" 
foreign="M_INTERNAL_CONSUMPTIONLINE_ID"/>
       </foreign-key>
diff -r f2a6e4598a05 -r 47c683261c3a src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml  Mon Jul 30 12:54:07 2012 +0200
+++ b/src-db/database/sourcedata/AD_COLUMN.xml  Tue Jul 31 11:19:22 2012 +0200
@@ -293354,6 +293354,43 @@
 <!--F5EFB4DD7D7F455AB88D41F78FB1C5D0-->  
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--F5EFB4DD7D7F455AB88D41F78FB1C5D0--></AD_COLUMN>
 
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6--><AD_COLUMN>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<AD_COLUMN_ID><![CDATA[F681F6D4BF474A1DB2F06A80A2C8C1E6]]></AD_COLUMN_ID>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<NAME><![CDATA[Costing_Status]]></NAME>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  <DESCRIPTION><![CDATA[Costing 
Calculation Status]]></DESCRIPTION>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  <HELP><![CDATA[Costing Calculation 
Status]]></HELP>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<COLUMNNAME><![CDATA[Costing_Status]]></COLUMNNAME>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<AD_TABLE_ID><![CDATA[329]]></AD_TABLE_ID>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<AD_REFERENCE_ID><![CDATA[17]]></AD_REFERENCE_ID>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<AD_REFERENCE_VALUE_ID><![CDATA[E8E9B9F9FBDE4E679EC69611D2CCE1E3]]></AD_REFERENCE_VALUE_ID>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<FIELDLENGTH><![CDATA[60]]></FIELDLENGTH>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<DEFAULTVALUE><![CDATA[NC]]></DEFAULTVALUE>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  <SEQNO><![CDATA[73]]></SEQNO>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<AD_ELEMENT_ID><![CDATA[C8204FA5E433458A863CCE094FE54BD6]]></AD_ELEMENT_ID>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  <POSITION><![CDATA[29]]></POSITION>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6-->  
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--F681F6D4BF474A1DB2F06A80A2C8C1E6--></AD_COLUMN>
+
 <!--F704178075AC4CCA9EBA6DDE13C2AFF6--><AD_COLUMN>
 <!--F704178075AC4CCA9EBA6DDE13C2AFF6-->  
<AD_COLUMN_ID><![CDATA[F704178075AC4CCA9EBA6DDE13C2AFF6]]></AD_COLUMN_ID>
 <!--F704178075AC4CCA9EBA6DDE13C2AFF6-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r f2a6e4598a05 -r 47c683261c3a src-db/database/sourcedata/AD_ELEMENT.xml
--- a/src-db/database/sourcedata/AD_ELEMENT.xml Mon Jul 30 12:54:07 2012 +0200
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml Tue Jul 31 11:19:22 2012 +0200
@@ -28590,6 +28590,20 @@
 <!--C4EEB8D909BE8483E040007F01001710-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--C4EEB8D909BE8483E040007F01001710--></AD_ELEMENT>
 
+<!--C8204FA5E433458A863CCE094FE54BD6--><AD_ELEMENT>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  
<AD_ELEMENT_ID><![CDATA[C8204FA5E433458A863CCE094FE54BD6]]></AD_ELEMENT_ID>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  
<COLUMNNAME><![CDATA[Costing_Status]]></COLUMNNAME>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  
<NAME><![CDATA[Costing_Status]]></NAME>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  
<PRINTNAME><![CDATA[Costing_Status]]></PRINTNAME>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  <DESCRIPTION><![CDATA[Costing 
Calculation Status]]></DESCRIPTION>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  <HELP><![CDATA[Costing Calculation 
Status]]></HELP>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--C8204FA5E433458A863CCE094FE54BD6-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--C8204FA5E433458A863CCE094FE54BD6--></AD_ELEMENT>
+
 <!--C8561E14272B427EB15A6C5E81DAC83A--><AD_ELEMENT>
 <!--C8561E14272B427EB15A6C5E81DAC83A-->  
<AD_ELEMENT_ID><![CDATA[C8561E14272B427EB15A6C5E81DAC83A]]></AD_ELEMENT_ID>
 <!--C8561E14272B427EB15A6C5E81DAC83A-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r f2a6e4598a05 -r 47c683261c3a src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Mon Jul 30 12:54:07 2012 +0200
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Tue Jul 31 11:19:22 2012 +0200
@@ -16988,6 +16988,17 @@
 <!--5E7E4DECA48D49F9ABC84DB312FBCB5E-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--5E7E4DECA48D49F9ABC84DB312FBCB5E--></AD_MESSAGE>
 
+<!--5E9B32B956B5440699A9C78D76B54960--><AD_MESSAGE>
+<!--5E9B32B956B5440699A9C78D76B54960-->  
<AD_MESSAGE_ID><![CDATA[5E9B32B956B5440699A9C78D76B54960]]></AD_MESSAGE_ID>
+<!--5E9B32B956B5440699A9C78D76B54960-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--5E9B32B956B5440699A9C78D76B54960-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--5E9B32B956B5440699A9C78D76B54960-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--5E9B32B956B5440699A9C78D76B54960-->  
<VALUE><![CDATA[WrongCostOrganization]]></VALUE>
+<!--5E9B32B956B5440699A9C78D76B54960-->  <MSGTEXT><![CDATA[Wrong Organization 
set for Transaction: ]]></MSGTEXT>
+<!--5E9B32B956B5440699A9C78D76B54960-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--5E9B32B956B5440699A9C78D76B54960-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--5E9B32B956B5440699A9C78D76B54960--></AD_MESSAGE>
+
 <!--5EA699ECEC3749FF9AEB80E3F2799452--><AD_MESSAGE>
 <!--5EA699ECEC3749FF9AEB80E3F2799452-->  
<AD_MESSAGE_ID><![CDATA[5EA699ECEC3749FF9AEB80E3F2799452]]></AD_MESSAGE_ID>
 <!--5EA699ECEC3749FF9AEB80E3F2799452-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r f2a6e4598a05 -r 47c683261c3a src-db/database/sourcedata/AD_REFERENCE.xml
--- a/src-db/database/sourcedata/AD_REFERENCE.xml       Mon Jul 30 12:54:07 
2012 +0200
+++ b/src-db/database/sourcedata/AD_REFERENCE.xml       Tue Jul 31 11:19:22 
2012 +0200
@@ -5180,6 +5180,18 @@
 <!--DF812D5784884A83A0D0E3E711819BF5-->  
<ISVALUEDISPLAYED><![CDATA[N]]></ISVALUEDISPLAYED>
 <!--DF812D5784884A83A0D0E3E711819BF5--></AD_REFERENCE>
 
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3--><AD_REFERENCE>
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3-->  
<AD_REFERENCE_ID><![CDATA[E8E9B9F9FBDE4E679EC69611D2CCE1E3]]></AD_REFERENCE_ID>
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3-->  <NAME><![CDATA[M_Transaction 
Status]]></NAME>
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3-->  
<ISBASEREFERENCE><![CDATA[N]]></ISBASEREFERENCE>
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3-->  
<PARENTREFERENCE_ID><![CDATA[17]]></PARENTREFERENCE_ID>
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3-->  
<ISVALUEDISPLAYED><![CDATA[N]]></ISVALUEDISPLAYED>
+<!--E8E9B9F9FBDE4E679EC69611D2CCE1E3--></AD_REFERENCE>
+
 <!--E943EF6DC4524209BD5933661EC0BDDC--><AD_REFERENCE>
 <!--E943EF6DC4524209BD5933661EC0BDDC-->  
<AD_REFERENCE_ID><![CDATA[E943EF6DC4524209BD5933661EC0BDDC]]></AD_REFERENCE_ID>
 <!--E943EF6DC4524209BD5933661EC0BDDC-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r f2a6e4598a05 -r 47c683261c3a src-db/database/sourcedata/AD_REF_LIST.xml
--- a/src-db/database/sourcedata/AD_REF_LIST.xml        Mon Jul 30 12:54:07 
2012 +0200
+++ b/src-db/database/sourcedata/AD_REF_LIST.xml        Tue Jul 31 11:19:22 
2012 +0200
@@ -9544,6 +9544,19 @@
 <!--90CD0AB2B9944AE2B91466FC3C371056-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--90CD0AB2B9944AE2B91466FC3C371056--></AD_REF_LIST>
 
+<!--922C9D242114484BBDBEB9EF354CDA64--><AD_REF_LIST>
+<!--922C9D242114484BBDBEB9EF354CDA64-->  
<AD_REF_LIST_ID><![CDATA[922C9D242114484BBDBEB9EF354CDA64]]></AD_REF_LIST_ID>
+<!--922C9D242114484BBDBEB9EF354CDA64-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--922C9D242114484BBDBEB9EF354CDA64-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--922C9D242114484BBDBEB9EF354CDA64-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--922C9D242114484BBDBEB9EF354CDA64-->  <VALUE><![CDATA[CC]]></VALUE>
+<!--922C9D242114484BBDBEB9EF354CDA64-->  <NAME><![CDATA[Cost 
Calculated]]></NAME>
+<!--922C9D242114484BBDBEB9EF354CDA64-->  <DESCRIPTION><![CDATA[Cost 
Calculated]]></DESCRIPTION>
+<!--922C9D242114484BBDBEB9EF354CDA64-->  
<AD_REFERENCE_ID><![CDATA[E8E9B9F9FBDE4E679EC69611D2CCE1E3]]></AD_REFERENCE_ID>
+<!--922C9D242114484BBDBEB9EF354CDA64-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--922C9D242114484BBDBEB9EF354CDA64-->  <SEQNO><![CDATA[20]]></SEQNO>
+<!--922C9D242114484BBDBEB9EF354CDA64--></AD_REF_LIST>
+
 <!--927411F7E68A436BB8230ADD159782E4--><AD_REF_LIST>
 <!--927411F7E68A436BB8230ADD159782E4-->  
<AD_REF_LIST_ID><![CDATA[927411F7E68A436BB8230ADD159782E4]]></AD_REF_LIST_ID>
 <!--927411F7E68A436BB8230ADD159782E4-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -9762,6 +9775,19 @@
 <!--A27B7159B661436A9A6C282BAFA4EA62-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--A27B7159B661436A9A6C282BAFA4EA62--></AD_REF_LIST>
 
+<!--A2F1EBD49E8E440982A2590C9401698B--><AD_REF_LIST>
+<!--A2F1EBD49E8E440982A2590C9401698B-->  
<AD_REF_LIST_ID><![CDATA[A2F1EBD49E8E440982A2590C9401698B]]></AD_REF_LIST_ID>
+<!--A2F1EBD49E8E440982A2590C9401698B-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--A2F1EBD49E8E440982A2590C9401698B-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--A2F1EBD49E8E440982A2590C9401698B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--A2F1EBD49E8E440982A2590C9401698B-->  <VALUE><![CDATA[S]]></VALUE>
+<!--A2F1EBD49E8E440982A2590C9401698B-->  <NAME><![CDATA[Skip]]></NAME>
+<!--A2F1EBD49E8E440982A2590C9401698B-->  <DESCRIPTION><![CDATA[Skip Cost 
Calculation]]></DESCRIPTION>
+<!--A2F1EBD49E8E440982A2590C9401698B-->  
<AD_REFERENCE_ID><![CDATA[E8E9B9F9FBDE4E679EC69611D2CCE1E3]]></AD_REFERENCE_ID>
+<!--A2F1EBD49E8E440982A2590C9401698B-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--A2F1EBD49E8E440982A2590C9401698B-->  <SEQNO><![CDATA[40]]></SEQNO>
+<!--A2F1EBD49E8E440982A2590C9401698B--></AD_REF_LIST>
+
 <!--A2FBBAAA0EB14047894A6E5BACDF6899--><AD_REF_LIST>
 <!--A2FBBAAA0EB14047894A6E5BACDF6899-->  
<AD_REF_LIST_ID><![CDATA[A2FBBAAA0EB14047894A6E5BACDF6899]]></AD_REF_LIST_ID>
 <!--A2FBBAAA0EB14047894A6E5BACDF6899-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -9854,6 +9880,19 @@
 <!--AA7D726DDDEE4C51944D5FB0B17521FD-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--AA7D726DDDEE4C51944D5FB0B17521FD--></AD_REF_LIST>
 
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26--><AD_REF_LIST>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26-->  
<AD_REF_LIST_ID><![CDATA[ABA6CABC9E7F4D81B1652C1D9C619D26]]></AD_REF_LIST_ID>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26-->  <VALUE><![CDATA[P]]></VALUE>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26-->  <NAME><![CDATA[Pending]]></NAME>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26-->  <DESCRIPTION><![CDATA[Pending Cost 
Calculation]]></DESCRIPTION>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26-->  
<AD_REFERENCE_ID><![CDATA[E8E9B9F9FBDE4E679EC69611D2CCE1E3]]></AD_REFERENCE_ID>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26-->  <SEQNO><![CDATA[30]]></SEQNO>
+<!--ABA6CABC9E7F4D81B1652C1D9C619D26--></AD_REF_LIST>
+
 <!--ABB16AFAD8A0409DB86E4A453F6960AD--><AD_REF_LIST>
 <!--ABB16AFAD8A0409DB86E4A453F6960AD-->  
<AD_REF_LIST_ID><![CDATA[ABB16AFAD8A0409DB86E4A453F6960AD]]></AD_REF_LIST_ID>
 <!--ABB16AFAD8A0409DB86E4A453F6960AD-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -9877,6 +9916,19 @@
 <!--ACD5C8B42D51415ABB7A76D70E6EF9E3-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--ACD5C8B42D51415ABB7A76D70E6EF9E3--></AD_REF_LIST>
 
+<!--AE48AE3D08B34923AFB52237B380EACE--><AD_REF_LIST>
+<!--AE48AE3D08B34923AFB52237B380EACE-->  
<AD_REF_LIST_ID><![CDATA[AE48AE3D08B34923AFB52237B380EACE]]></AD_REF_LIST_ID>
+<!--AE48AE3D08B34923AFB52237B380EACE-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--AE48AE3D08B34923AFB52237B380EACE-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--AE48AE3D08B34923AFB52237B380EACE-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--AE48AE3D08B34923AFB52237B380EACE-->  <VALUE><![CDATA[NC]]></VALUE>
+<!--AE48AE3D08B34923AFB52237B380EACE-->  <NAME><![CDATA[Not 
Calculated]]></NAME>
+<!--AE48AE3D08B34923AFB52237B380EACE-->  <DESCRIPTION><![CDATA[Not Cost 
Calculated]]></DESCRIPTION>
+<!--AE48AE3D08B34923AFB52237B380EACE-->  
<AD_REFERENCE_ID><![CDATA[E8E9B9F9FBDE4E679EC69611D2CCE1E3]]></AD_REFERENCE_ID>
+<!--AE48AE3D08B34923AFB52237B380EACE-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--AE48AE3D08B34923AFB52237B380EACE-->  <SEQNO><![CDATA[10]]></SEQNO>
+<!--AE48AE3D08B34923AFB52237B380EACE--></AD_REF_LIST>
+
 <!--AE9348373DF7485981AC43D41AF7CADE--><AD_REF_LIST>
 <!--AE9348373DF7485981AC43D41AF7CADE-->  
<AD_REF_LIST_ID><![CDATA[AE9348373DF7485981AC43D41AF7CADE]]></AD_REF_LIST_ID>
 <!--AE9348373DF7485981AC43D41AF7CADE-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r f2a6e4598a05 -r 47c683261c3a 
src/org/openbravo/costing/CostingAlgorithm.java
--- a/src/org/openbravo/costing/CostingAlgorithm.java   Mon Jul 30 12:54:07 
2012 +0200
+++ b/src/org/openbravo/costing/CostingAlgorithm.java   Tue Jul 31 11:19:22 
2012 +0200
@@ -40,6 +40,7 @@
 import org.openbravo.model.common.enterprise.Organization;
 import org.openbravo.model.common.order.OrderLine;
 import org.openbravo.model.materialmgmt.cost.Costing;
+import org.openbravo.model.materialmgmt.cost.CostingRule;
 import org.openbravo.model.materialmgmt.transaction.MaterialTransaction;
 import org.openbravo.model.materialmgmt.transaction.ProductionLine;
 import org.openbravo.model.materialmgmt.transaction.ProductionTransaction;
@@ -53,6 +54,7 @@
   protected Organization costOrg;
   protected Currency costCurrency;
   protected TrxType trxType;
+  protected CostingRule costingRule;
   protected static Logger log4j = Logger.getLogger(CostingAlgorithm.class);
 
   /**
@@ -73,7 +75,7 @@
     costCurrency = costingServer.getCostCurrency();
     trxType = TrxType.getTrxType(this.transaction);
 
-    org.openbravo.model.materialmgmt.cost.CostingRule costingRule = 
costingServer.getCostingRule();
+    costingRule = costingServer.getCostingRule();
     costDimensions = CostingUtils.getEmptyDimensions();
     if (costingRule.isWarehouseDimension()) {
       costDimensions.put(CostDimension.Warehouse, 
transaction.getStorageBin().getWarehouse());
@@ -192,9 +194,6 @@
    * @return BigDecimal object representing the total cost amount of the 
transaction.
    */
   protected BigDecimal getShipmentVoidCost() {
-    if (transaction.getGoodsShipmentLine().getCanceledInoutLine() == null) {
-      return getDefaultCost();
-    }
     return getOriginalInOutLineCost();
   }
 
@@ -251,9 +250,6 @@
    * @return BigDecimal object representing the total cost amount of the 
transaction.
    */
   protected BigDecimal getReceiptVoidCost() {
-    if (transaction.getGoodsShipmentLine().getCanceledInoutLine() == null) {
-      return getOutgoingTransactionCost();
-    }
     return getOriginalInOutLineCost();
   }
 
@@ -471,8 +467,12 @@
       MaterialTransaction partTransaction = 
prodLine.getMaterialMgmtMaterialTransactionList()
           .get(0);
       // Calculate transaction cost if it is not calculated yet.
-      totalCost = 
totalCost.add(CostingUtils.getTransactionCost(partTransaction,
-          transaction.getTransactionProcessDate(), true, costCurrency));
+      BigDecimal trxCost = CostingUtils.getTransactionCost(partTransaction,
+          transaction.getTransactionProcessDate(), true, costCurrency);
+      if (trxCost == null) {
+        throw new OBException("@NoCostCalculated@: " + 
partTransaction.getIdentifier());
+      }
+      totalCost = totalCost.add(trxCost);
     }
     return totalCost;
   }
diff -r f2a6e4598a05 -r 47c683261c3a 
src/org/openbravo/costing/CostingBackground.java
--- a/src/org/openbravo/costing/CostingBackground.java  Mon Jul 30 12:54:07 
2012 +0200
+++ b/src/org/openbravo/costing/CostingBackground.java  Tue Jul 31 11:19:22 
2012 +0200
@@ -52,7 +52,8 @@
 
     List<MaterialTransaction> trxs = getTransactionsBatch();
     int counter = 0, total = trxs.size(), batch = 0;
-    while (trxs.size() > 0) {
+    boolean pendingTrx = areTransactionsPending();
+    while (pendingTrx) {
       batch++;
       for (MaterialTransaction transaction : trxs) {
         counter++;
@@ -84,6 +85,7 @@
       }
       OBDal.getInstance().getSession().clear();
       trxs = getTransactionsBatch();
+      pendingTrx = areTransactionsPending();
       total += trxs.size();
     }
     logger.logln(OBMessageUtils.messageBD("Success"));
@@ -95,6 +97,7 @@
     where.append(" as trx");
     where.append(" join trx." + MaterialTransaction.PROPERTY_PRODUCT + " as 
p");
     where.append(" where trx." + MaterialTransaction.PROPERTY_ISCOSTCALCULATED 
+ " = false");
+    where.append("   and trx." + MaterialTransaction.PROPERTY_COSTINGSTATUS + 
" <> 'S'");

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to