CSatz
Date: 2015-04-26

de.jost_net.OBanToo.Dtaus

## Class CSatz

- java.lang.Object
- - de.jost_net.OBanToo.Dtaus.Satz
  - - de.jost_net.OBanToo.Dtaus.CSatz

-     public class CSatz
      extends Satz

  C-Satz - Zahlungsaustauschsatz
  Author:
    Heiner Jostkleigrewe

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private long` | `cBetrag` Feld c12, 11 Bytes, numerisch, Betrag in Euro einschl.
    `private boolean` | `cBetragSet`
    `private long` | `cBlzEndbeguenstigt` Feld c04, 8 Bytes, numerisch, Bankleitzahl, endbegünstigtes Kreditinstitut/Zahlstelle
    `private boolean` | `cBlzEndbeguenstigtSet`
    `private long` | `cBlzErstbeteiligt` Feld c03, 8 Bytes, numerisch, Bankleitzahl, erstbeteiligtes Kreditinstitut, freigestellt
    `private long` | `cErstbeauftragtesInstitut` Feld c10, 8 Bytes, numerisch, erstbeauftragtes Institut/erste Inkassostelle
    `private boolean` | `cErstbeauftragtesInstitutSet`
    `private java.util.Vector<java.lang.String>` | `cErweiterungsteile`
    `private int` | `cErweiterungszeichen` Feld 18, 2 Bytes, numerisch, Erweiterungszeichen, 00 = es folgt kein Erweiterungsteil, 01-15 = Anzahl der Erweiterungsteile
    `private long` | `cInterneKundennummer` Feld c06, 13 Bytes, numerisch, interne Kundennummer, 1.
    `private boolean` | `cInterneKundennummerSet`
    `private long` | `cKonto` Feld c05, 10 Bytes, numerisch, Kontonummer, Überweisungsempfänger/Zahlungspflichtiger, rechtsbündig, nicht belegte Stellen 0
    `private long` | `cKontoAuftraggeber` Feld c11, 10 Bytes, numerisch, Auftraggeber/Zahlungsempfänger, rechtsbündig, nicht belegte Stellen 0
    `private boolean` | `cKontoAuftraggeberSet`
    `private boolean` | `cKontoSet`
    `private java.lang.String` | `cNameAbsender` Feld c15, 27 Bytes, alpha, Name, Überweisender/Zahlungsempfänger (linksbündig), es sind möglichst kurze Bezeichnungen zu verwenden
    `private java.lang.String` | `cNameAbsender2`
    `private boolean` | `cNameAbsenderSet`
    `private java.lang.String` | `cNameEmpfaenger` Feld c14a, 27 Bytes, alpha, Name, Überweisungsempfänger/Zahlungspflichtiger, linksbündig
    `private java.lang.String` | `cNameEmpfaenger2`
    `private boolean` | `cNameEmpfaengerSet`
    `private java.lang.String` | `cSatzart` Feld c02, 1 Byte, alpha, Satzart, konstant 'C'
    `private int` | `cSatzlaenge` Feld c01, 4 Byte, numerisch, Satzlänge, konstanter Teil 187 Bytes + Erweiterungsteil( e) zu 29 Bytes, max. 0622 Stellen
    `private int` | `cTextschluessel` Feld c07, 5 Bytes, numerisch, Textschlüssel, Kennzeichnung der Zahlungsart und Textschlüsselergänzungen
    `private boolean` | `cTextschluesselSet`
    `private java.util.Vector<java.lang.String>` | `cVerwendungszweck` Feld c16, 27 Bytes, alpha, Verwendungszweck, Es sind möglichst kurze Angaben zu machen.
    `private boolean` | `cVerwendungszweckSet`
    `private java.lang.String` | `cWaehrungskennzeichen` Feld 17, 1 Byte, alpha, Währungskennzeichen
    `static int` | `TS_BANK_09`
    `static int` | `TS_BANK_59`
    `static int` | `TS_BANK_67`
    `static int` | `TS_BANK_68`
    `static int` | `TS_BANK_69`
    `static int` | `TS_LASTSCHRIFT_ABBUCHUNGSVERFAHREN`
    `static int` | `TS_LASTSCHRIFT_EC_CASH`
    `static int` | `TS_LASTSCHRIFT_EC_CASH_AUSLAND`
    `static int` | `TS_LASTSCHRIFT_EINZUGSERMAECHTIGUNGSVERFAHREN`
    `static int` | `TS_LASTSCHRIFT_KREDITKARTE`
    `static int` | `TS_LASTSCHRIFT_POS`
    `static int` | `TS_UEBERWEISUNG_LOHN_GEHALT_RENTE`
    `static int` | `TS_UEBERWEISUNG_OEFFENTL_KASSEN`
    `static int` | `TS_UEBERWEISUNGSGUTSCHRIFT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CSatz()`
    `CSatz(java.lang.String satz, int toleranz)` Konstruktor mit der Übergabe eines zu parsenden Satzes

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addErweiterung(java.lang.String value)`
    `void` | `addVerwendungszweck(java.lang.String value)`
    `private void` | `ausgebenErweiterungsteile(java.io.DataOutputStream dos, int pos)`
    `private void` | `checkSatzlaengenfeld(java.lang.String value)`
    `int` | `getAnzahlVerwendungszwecke()`
    `long` | `getBetragInCent()`
    `double` | `getBetragInEuro()`
    `long` | `getBlzEndbeguenstigt()`
    `long` | `getBlzErstbeteiligt()`
    `java.lang.String` | `getCWaehrungskennzeichen()`
    `long` | `getErstbeauftragtesInstitut()`
    `private java.lang.String` | `getErweiterungsteil(int nr)`
    `int` | `getErweiterungszeichen()`
    `long` | `getInterneKundennummer()`
    `long` | `getKontoAuftraggeber()`
    `long` | `getKontonummer()`
    `java.lang.String` | `getNameAbsender()`
    `java.lang.String` | `getNameAbsender2()`
    `java.lang.String` | `getNameEmpfaenger()`
    `java.lang.String` | `getNameEmpfaenger2()`
    `int` | `getSatzlaenge()`
    `long` | `getTextschluessel()`
    `java.lang.String` | `getVerwendungszweck(int nr)`
    `private void` | `init()`
    `private boolean` | `isEUStaat(int texterweiterung)`
    `private boolean` | `isNonEUStaat(int texterweiterung)`
    `boolean` | `isOK()`
    `static void` | `main(java.lang.String[] args)`
    `void` | `setBetragInCent(long value)`
    `void` | `setBetragInCent(java.lang.String value)`
    `void` | `setBetragInEuro(double value)` Betrag in Euro setzen.
    `void` | `setBlzEndbeguenstigt(long value)`
    `void` | `setBlzEndbeguenstigt(java.lang.String value)`
    `void` | `setBlzErstbeteiligt(long value)`
    `void` | `setBlzErstbeteiligt(java.lang.String value)`
    `void` | `setCWaehrungskennzeichen(java.lang.String value)`
    `void` | `setErstbeauftragtesInstitut(long value)`
    `void` | `setErstbeauftragtesInstitut(java.lang.String value)`
    `void` | `setErweiterungskennzeichen(java.lang.String value)`
    `void` | `setInterneKundennummer(long value)`
    `void` | `setInterneKundennummer(java.lang.String value)`
    `void` | `setKontoAuftraggeber(long value)`
    `void` | `setKontoAuftraggeber(java.lang.String value)`
    `void` | `setKontonummer(long value)`
    `void` | `setKontonummer(java.lang.String value)`
    `void` | `setNameAbsender(java.lang.String value)`
    `void` | `setNameAbsender2(java.lang.String value)`
    `void` | `setNameEmpfaenger(java.lang.String value)`
    `void` | `setNameEmpfaenger2(java.lang.String value)`
    `void` | `setTextschluessel(int value)`
    `void` | `setTextschluessel(java.lang.String value)`
    `java.lang.String` | `toString()`
    `void` | `write(java.io.DataOutputStream dos)`

    - ### Methods inherited from class de.jost_net.OBanToo.Dtaus.Satz

      `codingFromDtaus, make27, makeValid, validCharacters`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### TS_LASTSCHRIFT_ABBUCHUNGSVERFAHREN

          public static final int TS_LASTSCHRIFT_ABBUCHUNGSVERFAHREN

      See Also:
        Constant Field Values

    - #### TS_LASTSCHRIFT_EINZUGSERMAECHTIGUNGSVERFAHREN

          public static final int TS_LASTSCHRIFT_EINZUGSERMAECHTIGUNGSVERFAHREN

      See Also:
        Constant Field Values

    - #### TS_LASTSCHRIFT_EC_CASH

          public static final int TS_LASTSCHRIFT_EC_CASH

      See Also:
        Constant Field Values

    - #### TS_LASTSCHRIFT_EC_CASH_AUSLAND

          public static final int TS_LASTSCHRIFT_EC_CASH_AUSLAND

      See Also:
        Constant Field Values

    - #### TS_LASTSCHRIFT_KREDITKARTE

          public static final int TS_LASTSCHRIFT_KREDITKARTE

      See Also:
        Constant Field Values

    - #### TS_LASTSCHRIFT_POS

          public static final int TS_LASTSCHRIFT_POS

      See Also:
        Constant Field Values

    - #### TS_BANK_09

          public static final int TS_BANK_09

      See Also:
        Constant Field Values

    - #### TS_UEBERWEISUNGSGUTSCHRIFT

          public static final int TS_UEBERWEISUNGSGUTSCHRIFT

      See Also:
        Constant Field Values

    - #### TS_UEBERWEISUNG_LOHN_GEHALT_RENTE

          public static final int TS_UEBERWEISUNG_LOHN_GEHALT_RENTE

      See Also:
        Constant Field Values

    - #### TS_UEBERWEISUNG_OEFFENTL_KASSEN

          public static final int TS_UEBERWEISUNG_OEFFENTL_KASSEN

      See Also:
        Constant Field Values

    - #### TS_BANK_59

          public static final int TS_BANK_59

      See Also:
        Constant Field Values

    - #### TS_BANK_67

          public static final int TS_BANK_67

      See Also:
        Constant Field Values

    - #### TS_BANK_68

          public static final int TS_BANK_68

      See Also:
        Constant Field Values

    - #### TS_BANK_69

          public static final int TS_BANK_69

      See Also:
        Constant Field Values

    - #### cSatzlaenge

          private int cSatzlaenge

      Feld c01, 4 Byte, numerisch, Satzlänge, konstanter Teil 187 Bytes + Erweiterungsteil( e) zu 29 Bytes, max. 0622 Stellen

    - #### cSatzart

          private java.lang.String cSatzart

      Feld c02, 1 Byte, alpha, Satzart, konstant 'C'

    - #### cBlzErstbeteiligt

          private long cBlzErstbeteiligt

      Feld c03, 8 Bytes, numerisch, Bankleitzahl, erstbeteiligtes Kreditinstitut, freigestellt

    - #### cBlzEndbeguenstigt

          private long cBlzEndbeguenstigt

      Feld c04, 8 Bytes, numerisch, Bankleitzahl, endbegünstigtes Kreditinstitut/Zahlstelle

    - #### cBlzEndbeguenstigtSet

          private boolean cBlzEndbeguenstigtSet

    - #### cKonto

          private long cKonto

      Feld c05, 10 Bytes, numerisch, Kontonummer, Überweisungsempfänger/Zahlungspflichtiger, rechtsbündig, nicht belegte Stellen 0

    - #### cKontoSet

          private boolean cKontoSet

    - #### cInterneKundennummer

          private long cInterneKundennummer

      Feld c06, 13 Bytes, numerisch, interne Kundennummer, 1. Byte = 0, 2.-12. Byte = interne Kundennummer oder Nullen, 13. Byte = 0

    - #### cInterneKundennummerSet

          private boolean cInterneKundennummerSet

    - #### cTextschluessel

          private int cTextschluessel

      Feld c07, 5 Bytes, numerisch, Textschlüssel, Kennzeichnung der Zahlungsart und Textschlüsselergänzungen

    - #### cTextschluesselSet

          private boolean cTextschluesselSet

    - #### cErstbeauftragtesInstitut

          private long cErstbeauftragtesInstitut

      Feld c10, 8 Bytes, numerisch, erstbeauftragtes Institut/erste Inkassostelle

    - #### cErstbeauftragtesInstitutSet

          private boolean cErstbeauftragtesInstitutSet

    - #### cKontoAuftraggeber

          private long cKontoAuftraggeber

      Feld c11, 10 Bytes, numerisch, Auftraggeber/Zahlungsempfänger, rechtsbündig, nicht belegte Stellen 0

    - #### cKontoAuftraggeberSet

          private boolean cKontoAuftraggeberSet

    - #### cBetrag

          private long cBetrag

      Feld c12, 11 Bytes, numerisch, Betrag in Euro einschl. Nachkommastellen (müßte eigentlich Betrag in Cent heißen)

    - #### cBetragSet

          private boolean cBetragSet

    - #### cNameEmpfaenger

          private java.lang.String cNameEmpfaenger

      Feld c14a, 27 Bytes, alpha, Name, Überweisungsempfänger/Zahlungspflichtiger, linksbündig

    - #### cNameEmpfaengerSet

          private boolean cNameEmpfaengerSet

    - #### cNameAbsender

          private java.lang.String cNameAbsender

      Feld c15, 27 Bytes, alpha, Name, Überweisender/Zahlungsempfänger (linksbündig), es sind möglichst kurze Bezeichnungen zu verwenden

    - #### cNameAbsenderSet

          private boolean cNameAbsenderSet

    - #### cVerwendungszweck

          private java.util.Vector<java.lang.String> cVerwendungszweck

      Feld c16, 27 Bytes, alpha, Verwendungszweck, Es sind möglichst kurze Angaben zu machen. Linksbündig sind solche Angaben unterzubringen, auf die der Begünstigte bei Überweisungen möglicherweise zuzugreifen beabsichtigt (z. B. Bausparkonto, Versicherungs-, Rechnungsnummer) oder die der Zahlungsempfänger bei Lastschriften benötigt, falls die Zahlung als unbezahlt bzw. unanbringlich zurückgeleitet wird.

    - #### cVerwendungszweckSet

          private boolean cVerwendungszweckSet

    - #### cNameEmpfaenger2

          private java.lang.String cNameEmpfaenger2

    - #### cNameAbsender2

          private java.lang.String cNameAbsender2

    - #### cWaehrungskennzeichen

          private java.lang.String cWaehrungskennzeichen

      Feld 17, 1 Byte, alpha, Währungskennzeichen

    - #### cErweiterungszeichen

          private int cErweiterungszeichen

      Feld 18, 2 Bytes, numerisch, Erweiterungszeichen, 00 = es folgt kein Erweiterungsteil, 01-15 = Anzahl der Erweiterungsteile

    - #### cErweiterungsteile

          private java.util.Vector<java.lang.String> cErweiterungsteile

  - ### Constructor Detail

    - #### CSatz

          public CSatz()

    - #### CSatz

          public CSatz(java.lang.String satz,
               int toleranz)
                throws DtausException

      Konstruktor mit der Übergabe eines zu parsenden Satzes
      Throws:
        `DtausException`

  - ### Method Detail

    - #### init

          private void init()

    - #### checkSatzlaengenfeld

          private void checkSatzlaengenfeld(java.lang.String value)
                                     throws DtausException

      Throws:
        `DtausException`

    - #### getSatzlaenge

          public int getSatzlaenge()

    - #### setBlzErstbeteiligt

          public void setBlzErstbeteiligt(java.lang.String value)
                                   throws DtausException

      Throws:
        `DtausException`

    - #### setBlzErstbeteiligt

          public void setBlzErstbeteiligt(long value)
                                   throws DtausException

      Throws:
        `DtausException`

    - #### getBlzErstbeteiligt

          public long getBlzErstbeteiligt()

    - #### setBlzEndbeguenstigt

          public void setBlzEndbeguenstigt(java.lang.String value)
                                    throws DtausException

      Throws:
        `DtausException`

    - #### setBlzEndbeguenstigt

          public void setBlzEndbeguenstigt(long value)
                                    throws DtausException

      Throws:
        `DtausException`

    - #### getBlzEndbeguenstigt

          public long getBlzEndbeguenstigt()

    - #### setKontonummer

          public void setKontonummer(java.lang.String value)
                              throws DtausException

      Throws:
        `DtausException`

    - #### setKontonummer

          public void setKontonummer(long value)
                              throws DtausException

      Throws:
        `DtausException`

    - #### getKontonummer

          public long getKontonummer()

    - #### setInterneKundennummer

          public void setInterneKundennummer(java.lang.String value)
                                      throws DtausException

      Throws:
        `DtausException`

    - #### setInterneKundennummer

          public void setInterneKundennummer(long value)
                                      throws DtausException

      Throws:
        `DtausException`

    - #### getInterneKundennummer

          public long getInterneKundennummer()

    - #### setTextschluessel

          public void setTextschluessel(java.lang.String value)
                                 throws DtausException

      Throws:
        `DtausException`

    - #### setTextschluessel

          public void setTextschluessel(int value)
                                 throws DtausException

      Throws:
        `DtausException`

    - #### isEUStaat

          private boolean isEUStaat(int texterweiterung)

    - #### isNonEUStaat

          private boolean isNonEUStaat(int texterweiterung)

    - #### getTextschluessel

          public long getTextschluessel()

    - #### setErstbeauftragtesInstitut

          public void setErstbeauftragtesInstitut(java.lang.String value)
                                           throws DtausException

      Throws:
        `DtausException`

    - #### setErstbeauftragtesInstitut

          public void setErstbeauftragtesInstitut(long value)
                                           throws DtausException

      Throws:
        `DtausException`

    - #### getErstbeauftragtesInstitut

          public long getErstbeauftragtesInstitut()

    - #### setKontoAuftraggeber

          public void setKontoAuftraggeber(java.lang.String value)
                                    throws DtausException

      Throws:
        `DtausException`

    - #### setKontoAuftraggeber

          public void setKontoAuftraggeber(long value)
                                    throws DtausException

      Throws:
        `DtausException`

    - #### getKontoAuftraggeber

          public long getKontoAuftraggeber()

    - #### setBetragInCent

          public void setBetragInCent(java.lang.String value)
                               throws DtausException

      Throws:
        `DtausException`

    - #### setBetragInCent

          public void setBetragInCent(long value)
                               throws DtausException

      Throws:
        `DtausException`

    - #### setBetragInEuro

          public void setBetragInEuro(double value)
                               throws DtausException

      Betrag in Euro setzen.
      Throws:
        `DtausException`

    - #### getBetragInCent

          public long getBetragInCent()

    - #### getBetragInEuro

          public double getBetragInEuro()

    - #### setNameEmpfaenger

          public void setNameEmpfaenger(java.lang.String value)
                                 throws DtausException

      Throws:
        `DtausException`

    - #### getNameEmpfaenger

          public java.lang.String getNameEmpfaenger()

    - #### setNameEmpfaenger2

          public void setNameEmpfaenger2(java.lang.String value)
                                  throws DtausException

      Throws:
        `DtausException`

    - #### getNameEmpfaenger2

          public java.lang.String getNameEmpfaenger2()

    - #### setNameAbsender

          public void setNameAbsender(java.lang.String value)
                               throws DtausException

      Throws:
        `DtausException`

    - #### getNameAbsender

          public java.lang.String getNameAbsender()

    - #### setNameAbsender2

          public void setNameAbsender2(java.lang.String value)
                                throws DtausException

      Throws:
        `DtausException`

    - #### getNameAbsender2

          public java.lang.String getNameAbsender2()

    - #### getCWaehrungskennzeichen

          public java.lang.String getCWaehrungskennzeichen()

    - #### setCWaehrungskennzeichen

          public void setCWaehrungskennzeichen(java.lang.String value)

    - #### addVerwendungszweck

          public void addVerwendungszweck(java.lang.String value)
                                   throws DtausException

      Throws:
        `DtausException`

    - #### getVerwendungszweck

          public java.lang.String getVerwendungszweck(int nr)

    - #### getErweiterungsteil

          private java.lang.String getErweiterungsteil(int nr)

    - #### getAnzahlVerwendungszwecke

          public int getAnzahlVerwendungszwecke()

    - #### setErweiterungskennzeichen

          public void setErweiterungskennzeichen(java.lang.String value)
                                          throws DtausException

      Throws:
        `DtausException`

    - #### getErweiterungszeichen

          public int getErweiterungszeichen()

    - #### addErweiterung

          public void addErweiterung(java.lang.String value)
                              throws DtausException

      Throws:
        `DtausException`

    - #### write

          public void write(java.io.DataOutputStream dos)
                     throws java.io.IOException,
                            DtausException

      Throws:
        `java.io.IOException`
        `DtausException`

    - #### ausgebenErweiterungsteile

          private void ausgebenErweiterungsteile(java.io.DataOutputStream dos,
                                       int pos)
                                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### isOK

          public boolean isOK()
                       throws DtausException

      Throws:
        `DtausException`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### main

          public static void main(java.lang.String[] args)
                           throws DtausException

      Throws:
        `DtausException`