question: public static void updateFinantare ( SetGetModel m , String changedColumnName ) { BigDecimal valCofinantare = SetGetUtil . get_AttrValueAsBigDecimal ( m , COLUMNNAME_A_Valoare_Cofinantare ) ; BigDecimal assetCost = SetGetUtil . get_AttrValueAsBigDecimal ( m , COLUMNNAME_A_Asset_Cost ) ; BigDecimal valTert = SetGetUtil . get_AttrValueAsBigDecimal ( m , COLUMNNAME_A_Valoare_Tert ) ; if ( valCofinantare . signum ( ) == 0 && valTert . signum ( ) == 0 ) { valCofinantare = assetCost ; valTert = Env . ZERO ; } else if ( COLUMNNAME_A_Asset_Cost . equals ( changedColumnName ) ) { valCofinantare = assetCost . subtract ( valTert ) ; } else if ( COLUMNNAME_A_Valoare_Cofinantare . equals ( changedColumnName ) ) { valTert = assetCost . subtract ( valCofinantare ) ; } else if ( COLUMNNAME_A_Valoare_Tert . equals ( changedColumnName ) ) { valCofinantare = assetCost . subtract ( valTert ) ; } else { valTert = assetCost . subtract ( valCofinantare ) ; } String tipFinantare = A_TIP_FINANTARE_Cofinantare ; if ( valTert . signum ( ) == 0 ) { tipFinantare = A_TIP_FINANTARE_Proprie ; } else if ( valCofinantare . signum ( ) == 0 ) { tipFinantare = A_TIP_FINANTARE_Terti ; } m . set_AttrValue ( COLUMNNAME_A_Tip_Finantare , tipFinantare ) ; m . set_AttrValue ( COLUMNNAME_A_Valoare_Cofinantare , valCofinantare ) ; m . set_AttrValue ( COLUMNNAME_A_Valoare_Tert , valTert ) ; if ( A_TIP_FINANTARE_Proprie . equals ( tipFinantare ) && SetGetUtil . isPersistent ( m ) ) { m . set_AttrValue ( COLUMNNAME_A_FundingMode_ID , null ) ; } }
target:  Update Founding Mode related fields