func (b *BalanceDataElement) UnmarshalHBCI(value []byte) error {
	elements, err := ExtractElements(value)
	if err != nil {
		return err
	}
	if len(elements) < 4 {
		return fmt.Errorf("%T: Malformed marshaled value", b)
	}
	b.DebitCreditIndicator = &AlphaNumericDataElement{}
	err = b.DebitCreditIndicator.UnmarshalHBCI(elements[0])
	if err != nil {
		return err
	}
	b.Amount = &ValueDataElement{}
	err = b.Amount.UnmarshalHBCI(elements[1])
	if err != nil {
		return err
	}
	b.Currency = &CurrencyDataElement{}
	err = b.Currency.UnmarshalHBCI(elements[2])
	if err != nil {
		return err
	}
	b.TransmissionDate = &DateDataElement{}
	err = b.TransmissionDate.UnmarshalHBCI(elements[3])
	if err != nil {
		return err
	}
	if len(elements) == 5 {
		b.TransmissionTime = &TimeDataElement{}
		err = b.TransmissionTime.UnmarshalHBCI(elements[4])
		if err != nil {
			return err
		}
	}
	b.DataElement = NewGroupDataElementGroup(balanceGDEG, 5, b)
	return nil
}
// UnmarshalHBCI unmarshals value into b
UnmarshalHBCI unmarshals value into b
// UnmarshalHBCI unmarshals value into b
func (b *BalanceDataElement) UnmarshalHBCI(value []byte) error {
	elements, err := ExtractElements(value)
	if err != nil {
		return err
	}
	if len(elements) < 4 {
		return fmt.Errorf("%T: Malformed marshaled value", b)
	}
	b.DebitCreditIndicator = &AlphaNumericDataElement{}
	err = b.DebitCreditIndicator.UnmarshalHBCI(elements[0])
	if err != nil {
		return err
	}
	b.Amount = &ValueDataElement{}
	err = b.Amount.UnmarshalHBCI(elements[1])
	if err != nil {
		return err
	}
	b.Currency = &CurrencyDataElement{}
	err = b.Currency.UnmarshalHBCI(elements[2])
	if err != nil {
		return err
	}
	b.TransmissionDate = &DateDataElement{}
	err = b.TransmissionDate.UnmarshalHBCI(elements[3])
	if err != nil {
		return err
	}
	if len(elements) == 5 {
		b.TransmissionTime = &TimeDataElement{}
		err = b.TransmissionTime.UnmarshalHBCI(elements[4])
		if err != nil {
			return err
		}
	}
	b.DataElement = NewGroupDataElementGroup(balanceGDEG, 5, b)
	return nil
}
func ( b * BalanceDataElement ) UnmarshalHBCI ( value [ ] byte ) error { elements , err := ExtractElements ( value ) if err != nil { return err } if len ( elements ) < 4 { return fmt . Errorf ( " " , b ) } b . DebitCreditIndicator = & AlphaNumericDataElement { } err = b . DebitCreditIndicator . UnmarshalHBCI ( elements [ 0 ] ) if err != nil { return err } b . Amount = & ValueDataElement { } err = b . Amount . UnmarshalHBCI ( elements [ 1 ] ) if err != nil { return err } b . Currency = & CurrencyDataElement { } err = b . Currency . UnmarshalHBCI ( elements [ 2 ] ) if err != nil { return err } b . TransmissionDate = & DateDataElement { } err = b . TransmissionDate . UnmarshalHBCI ( elements [ 3 ] ) if err != nil { return err } if len ( elements ) == 5 { b . TransmissionTime = & TimeDataElement { } err = b . TransmissionTime . UnmarshalHBCI ( elements [ 4 ] ) if err != nil { return err } } b . DataElement = NewGroupDataElementGroup ( balanceGDEG , 5 , b ) return nil }
UnmarshalHBCI unmarshals value into b
UnmarshalHBCI unmarshals value into b