Delimiter //
/**
 * Author:  armen
 * Created: 12 juillet 2019
 * renvoi un debit dont le mode de calcul peut être surchargé par une fonction custom
 * 
 */
drop function if exists CASH_BUSINESS_GET_CUSTOM_MODE_DEBIT //

Create Function CASH_BUSINESS_GET_CUSTOM_MODE_DEBIT(
		id_entries Int unsigned
		, id_df_entrs_type Int unsigned
		, entries_ent_bal Decimal(19, 4)
		, entries_ent_debit Decimal(19, 4)
		, force_use_deb int
		, period_flags int
        , options_flags int
	)
	returns Decimal(19, 4)
Begin
    -- options_flags contien pour le masque 0x01 le flag ENTRIES_PERMANENT_ATTACHEMENT
	return (
			case
                -- par defaut exclusion des ecritures des comptes rattachés
                When options_flags = 0 Then 0
                -- si entries_ent_debit = 0 alors ecriture au credit
                --  on renvoi 0
                When entries_ent_debit = 0 Then 0 
                When force_use_deb = 0 Then entries_ent_bal
                else entries_ent_debit
            End
		)
	;
End //
Delimiter ;