jcunit's blog

JCUnitの開発日誌(ログ)です。"その時点での"JCUnit作者の理解や考え、開発状況を日本語で書きます。

JCUnitはPICTよりも制約の取り扱いに長けている(ようだ)

githubにあるPICTレポジトリで報告されているが、PICTには以下のモデルからのテストスイート生成が終わらないという問題がある。

Eingangskanal: EVA_Anlageberatung, EVA_Order, EVA_Sonderweg, EVA_Sparplan, EVA_Neuemission, EVA_Direkteinstieg, HOST_T19000, HOST_T19001, HOST_T19901, HOST_T19750, HOST_T28900, Onlinebanking_PC, Onlinebanking_MSB, Onlinebanking_Neuemission_PC, Onlinebanking_Neuemission_MSB, Onlinebanking_Tablet_PC, Infobroker, commerzbank_de_pib
Finanzinstrument: Aktie, Unstrukturierte_Anleihe, strukturierte_Anleihe, Inv.Fonds, OIF, Zertifikat, Optionsschein, Xetra_Gold_ETC, EMISID
Produktzyklus: Neuemission_Information, Neuemission_offen, Neuemission_geschlossen, Neuemission_abgerechnet, Sekundaermarkt, n/a
Dienstleistungsart: Anlageberatung, beratungsfreies_Geschaeft, n/a
Orderart: Kauf(Beratungsdatum_gueltig), Kauf_(ohne_Beratungsdatum), Verkauf, aenderung, Streichung, Storno, Berichtigungsauftrag, n/a
Initiator: Kunde, Bank, n/a
Auftragserteilung: telefonisch, persoenlich, schriftlich, Haustuergeschaeft, n/a
Bereitstellungsdokumente: Beratungsprotokoll_Kunde, Beratungsprotokoll_Interessent, Beratungsprotokoll_Potenzial, Nachtraeglicher_KID-Versand, n/a
UDAL-Status: Normalbetrieb, Back_up-Betrieb, PRIIP,ohne_KID, WKN_nicht_vorhanden, WKN_inaktiv/geloescht, defektes_Dokument, Virus, non-PRIIP_auf_Blackliste, PRIIP_auf_Blackliste, UDAL_nicht_verfuegbar, n/a
Abruf_Infoblaetter: WA_von_FWW, PIB_von_DOTi, PIB_von_C&M-FIC, PIB_von_PC_PM, KID_von_PC_PM, KID_von_DOTi, KID_von_externem_Hersteller

IF [Eingangskanal] = "HOST_T19901"
THEN [Orderart] <> "Kauf_(Beratungsdatum_gueltig)"
AND [Produktzyklus] <> "Neuemission_offen"
AND [Produktzyklus] <> "n/a"
AND [Dienstleistungsart] <> "n/a"
AND [Orderart] <> "n/a"
AND [Initiator] = "n/a"
AND [Auftragserteilung] = "n/a"
AND [Bereitstellungsdokumente]= "n/a"
AND [UDAL-Status] = "n/a";

IF [Eingangskanal] in {"HOST_T19000", "HOST_T19001", "HOST_T19750", "HOST_T28900"}
THEN [Produktzyklus] <> "Neuemission_Information"
AND [Produktzyklus] <> "Neuemission_offen"
AND [Produktzyklus] <> "n/a"
AND [Dienstleistungsart] <> "n/a"
AND [Orderart] <> "n/a"
AND [Initiator] = "n/a"
AND [Auftragserteilung] = "n/a"
AND [Bereitstellungsdokumente]= "n/a"
AND [UDAL-Status] = "n/a";

IF [Eingangskanal] like "EVA_*"
THEN [Initiator] <> "n/a"
AND [Produktzyklus] <> "n/a"
AND [Dienstleistungsart] <> "n/a"
AND [Orderart] <> "n/a"
AND [Auftragserteilung] <> "n/a"
AND [Bereitstellungsdokumente] <> "n/a"
AND [UDAL-Status] <> "n/a";

IF [Eingangskanal] IN {"Onlinebanking_PC", "Onlinebanking_MSB", "Onlinebanking_Tablet_PC"}
THEN [Produktzyklus] <> "Neuemission_Information"
AND [Produktzyklus] <> "Neuemission_offen"
AND [Produktzyklus] <> "n/a"
AND [Dienstleistungsart] <> "n/a"
AND [Orderart] <> "n/a";

IF [Eingangskanal] like "Onlinebanking*"
THEN [Dienstleistungsart]="beratungsfreies_Geschaeft"
AND [Produktzyklus] <> "n/a"
AND [Dienstleistungsart] <> "n/a"
AND [Orderart] <> "Storno"
AND [Orderart] <> "Berichtigungsauftrag"
AND [Orderart] <> "Kauf_(Beratungsdatum_gueltig)"
AND [Orderart] <> "n/a"
AND [Initiator] = "n/a"
AND [Auftragserteilung] = "n/a"
AND [Bereitstellungsdokumente] = "n/a"
AND [UDAL-Status] <>"Back_up-Betrieb";

IF [Eingangskanal] IN {"EVA_Sonderweg", "EVA_Sparplan", "EVA_Direkteinstieg", "EVA Order"}
THEN [Produktzyklus] <>"Neuemission_Information"
AND [Produktzyklus] <>"Neuemission_offen"
AND [Produktzyklus] <>"n/a"
AND [Dienstleistungsart] <>"n/a"
AND [Orderart] <>"n/a";

IF [Eingangskanal] IN {"EVA_Sonderweg", "EVA_Sparplan", "EVA_Direkteinstieg"}
THEN [Orderart] <>"Storno"
AND [Orderart] <>"Berichtigungsauftrag"
AND [Orderart] <>"Kauf_(Beratungsdatum_gueltig)"
AND [Produktzyklus] <>"n/a"
AND [Dienstleistungsart] <>"n/a"
AND [Orderart] <>"n/a";

IF [Eingangskanal] in {"EVA_Anlageberatung", "EVA_Neuemission", "EVA_Order"}
THEN [Orderart] <>"Storno"
AND [Orderart] <>"Berichtigungsauftrag"
AND [Produktzyklus] <>"n/a"
AND [Dienstleistungsart] <>"n/a"
AND [Orderart] <>"n/a";

IF [Eingangskanal] IN {"Infobroker", "commerzbank_de_pib"}
THEN [Finanzinstrument] <> "EMISID"
AND [Produktzyklus] = "n/a"
AND [Dienstleistungsart] = "n/a"
AND [Orderart] = "n/a"
AND [Initiator] = "n/a"
AND [Auftragserteilung] = "n/a"
AND [Bereitstellungsdokumente]= "n/a"
AND [UDAL-Status] <> "Back_up-Betrieb";

試してみると、実際、2時間半以上かかっても終わらず現在も計算中だ。PICTの作者であるJacekによると、計算時間がexponentialになっちゃうのでしょうがないんだよということだ。それも無理からぬことで、これは要するにSAT問題(NP完全)を解きながらできるだけ小さなテストスイートの生成を行わなければいけないのだから、どうしたもんかなー、と考えこんでしまうところだ。

なのだけれど、現実世界の制約条件ってこのくらいにはなるよね、と思うし、因子数は10、各水準数もそれほど多くなく、総当りでテストケースを作るとしても134,719,200通りしかありえない。さらによく見てみると、因子Abruf_Infoblaetterは制約に全然関与しない。

このくらいだったらJCUnitではなんとかなるのではないか、と思い試してみた。JCUnitで同じモデルを実装すると以下のようになる。

@RunWith(JCUnit8.class)
public class Issue13 {
  /**
   * Eingangskanal:
   * <p>
   * EVA_Anlageberatung, EVA_Order, EVA_Sonderweg, EVA_Sparplan, EVA_Neuemission,
   * EVA_Direkteinstieg, HOST_T19000, HOST_T19001, HOST_T19901, HOST_T19750,
   * HOST_T28900, Onlinebanking_PC, Onlinebanking_MSB, Onlinebanking_Neuemission_PC,
   * Onlinebanking_Neuemission_MSB, Onlinebanking_Tablet_PC, Infobroker, commerzbank_de_pib
   */
  @ParameterSource
  public Parameter.Factory<String> eingangskanal() {
    return Parameters.simple(
        "EVA_Anlageberatung", "EVA_Order", "EVA_Sonderweg", "EVA_Sparplan", "EVA_Neuemission",
        "EVA_Direkteinstieg", "HOST_T19000", "HOST_T19001", "HOST_T19901", "HOST_T19750",
        "HOST_T28900", "Onlinebanking_PC", "Onlinebanking_MSB", "Onlinebanking_Neuemission_PC",
        "Onlinebanking_Neuemission_MSB", "Onlinebanking_Tablet_PC", "Infobroker", "commerzbank_de_pib"
    );
  }

  /**
   * Finanzinstrument:
   * <p>
   * Aktie, Unstrukturierte_Anleihe, strukturierte_Anleihe, Inv.Fonds, OIF,
   * Zertifikat, Optionsschein, Xetra_Gold_ETC, EMISID
   */
  @ParameterSource
  public Parameter.Factory<String> finanzinstrument() {
    return Parameters.simple(
        "Aktie", "Unstrukturierte_Anleihe", "strukturierte_Anleihe", "Inv.Fonds", "OIF",
        "Zertifikat", "Optionsschein", "Xetra_Gold_ETC", "EMISID"
    );
  }

  /**
   * Produktzyklus:
   * <p>
   * Neuemission_Information, Neuemission_offen, Neuemission_geschlossen, Neuemission_abgerechnet,
   * Sekundaermarkt, n/a
   */
  @ParameterSource
  public Parameter.Factory<String> produktzyklus() {
    return Parameters.simple(
        "Neuemission_Information", "Neuemission_offen", "Neuemission_geschlossen", "Neuemission_abgerechnet",
        "Sekundaermarkt", "n/a"
    );
  }

  /**
   * Dienstleistungsart: Anlageberatung, beratungsfreies_Geschaeft, n/a
   */
  @ParameterSource
  public Parameter.Factory<String> dienstleistungsart() {
    return Parameters.simple(
        "Anlageberatung", "beratungsfreies_Geschaeft", "n/a"
    );
  }

  /**
   * Orderart:
   * Kauf(Beratungsdatum_gueltig), Kauf_(ohne_Beratungsdatum), Verkauf,
   * aenderung, Streichung, Storno, Berichtigungsauftrag, n/a
   */
  @ParameterSource
  public Parameter.Factory<String> orderart() {
    return Parameters.simple(
        "Kauf(Beratungsdatum_gueltig)", "Kauf_(ohne_Beratungsdatum)", "Verkauf",
        "aenderung", "Streichung", "Storno", "Berichtigungsauftrag", "n/a"
    );
  }

  /**
   * Initiator: Kunde, Bank, n/a
   */
  @ParameterSource
  public Parameter.Factory<String> initiator() {
    return Parameters.simple(
        "Kunde", "Bank", "n/a"
    );
  }

  /**
   * Auftragserteilung: telefonisch, persoenlich, schriftlich, Haustuergeschaeft, n/a
   */
  @ParameterSource
  public Parameter.Factory<String> auftragserteilung() {
    return Parameters.simple(
        "telefonisch", "persoenlich", "schriftlich", "Haustuergeschaeft", "n/a"
    );
  }

  /**
   * Bereitstellungsdokumente:
   * <p>
   * Beratungsprotokoll_Kunde, Beratungsprotokoll_Interessent, Beratungsprotokoll_Potenzial,
   * Nachtraeglicher_KID-Versand, n/a
   */
  @ParameterSource
  public Parameter.Factory<String> bereitstellungsdokumente() {
    return Parameters.simple(
        "Beratungsprotokoll_Kunde", "Beratungsprotokoll_Interessent", "Beratungsprotokoll_Potenzial",
        "Nachtraeglicher_KID-Versand", "n/a"
    );
  }

  /**
   * UDAL-Status:
   * <p>
   * Normalbetrieb, Back_up-Betrieb, PRIIP,ohne_KID, WKN_nicht_vorhanden, WKN_inaktiv/geloescht,
   * defektes_Dokument, Virus, non-PRIIP_auf_Blackliste, PRIIP_auf_Blackliste, UDAL_nicht_verfuegbar,
   * n/a
   */
  @ParameterSource
  public Parameter.Factory<String> udalStatus() {
    return Parameters.simple(
        "Normalbetrieb", "Back_up-Betrieb", "PRIIP", "ohne_KID", "WKN_nicht_vorhanden",
        "WKN_inaktiv/geloescht", "defektes_Dokument", "Virus", "non-PRIIP_auf_Blackliste",
        "PRIIP_auf_Blackliste", "UDAL_nicht_verfuegbar", "n/a"
    );
  }

  /**
   * Abruf_Infoblaetter:
   * <p>
   * WA_von_FWW, PIB_von_DOTi, PIB_von_C&M-FIC, PIB_von_PC_PM,
   * KID_von_PC_PM, KID_von_DOTi, KID_von_externem_Hersteller
   */
  @ParameterSource
  public Parameter.Factory<String> abruf_Infoblaetter() {
    return Parameters.simple(
        "WA_von_FWW", "PIB_von_DOTi", "PIB_von_C&M-FIC", "PIB_von_PC_PM",
        "KID_von_PC_PM", "KID_von_DOTi", "KID_von_externem_Hersteller"
    );
  }

  ////
  //1
  //
  //IF [Eingangskanal] = "HOST_T19901"
  //THEN [Orderart] <> "Kauf_(Beratungsdatum_gueltig)"
  //AND [Produktzyklus] <> "Neuemission_offen"
  //AND [Produktzyklus] <> "n/a"
  //AND [Dienstleistungsart] <> "n/a"
  //AND [Orderart] <> "n/a"
  //AND [Initiator] = "n/a"
  //AND [Auftragserteilung] = "n/a"
  //AND [Bereitstellungsdokumente]= "n/a"
  //AND [UDAL-Status] = "n/a";
  @Condition(constraint = true)
  public boolean constraint1(
      @From("eingangskanal") String eingangskanal,
      @From("orderart") String orderart,
      @From("produktzyklus") String produktzyklus,
      @From("dienstleistungsart") String dienstleistungsart,
      @From("initiator") String initiator,
      @From("auftragserteilung") String auftragserteilung,
      @From("bereitstellungsdokumente") String bereitstellungsdokumente,
      @From("udalStatus") String udalStatus
  ) {
    //noinspection SimplifiableIfStatement
    if (Objects.equals(eingangskanal, "HOST_T19901"))
      return (
          !Objects.equals(orderart, "Kauf_(Beratungsdatum_gueltig)") &&
              !Objects.equals(produktzyklus, "Neuemission_offen") &&
              !Objects.equals(produktzyklus, "n/a") &&
              !Objects.equals(dienstleistungsart, "n/a") &&
              !Objects.equals(orderart, "n/a") &&
              Objects.equals(initiator, "n/a") &&
              Objects.equals(auftragserteilung, "n/a") &&
              Objects.equals(bereitstellungsdokumente, "n/a") &&
              Objects.equals(udalStatus, "n/a")
      );
    return true;
  }

  ////2
  //
  //IF [Eingangskanal] in {"HOST_T19000", "HOST_T19001", "HOST_T19750", "HOST_T28900"}
  //THEN [Produktzyklus] <> "Neuemission_Information"
  //AND [Produktzyklus] <> "Neuemission_offen"
  //AND [Produktzyklus] <> "n/a"
  //AND [Dienstleistungsart] <> "n/a"
  //AND [Orderart] <> "n/a"
  //AND [Initiator] = "n/a"
  //AND [Auftragserteilung] = "n/a"
  //AND [Bereitstellungsdokumente]= "n/a"
  //AND [UDAL-Status] = "n/a";
  @Condition(constraint = true)
  public boolean constraint2(
      @From("eingangskanal") String eingangskanal,
      @From("orderart") String orderart,
      @From("produktzyklus") String produktzyklus,
      @From("dienstleistungsart") String dienstleistungsart,
      @From("initiator") String initiator,
      @From("auftragserteilung") String auftragserteilung,
      @From("bereitstellungsdokumente") String bereitstellungsdokumente,
      @From("udalStatus") String udalStatus
  ) {
    if (asList("HOST_T19000", "HOST_T19001", "HOST_T19750", "HOST_T28900").contains(eingangskanal)) {
      return !produktzyklus.equals("Neuemission_Information") &&
          !produktzyklus.equals("Neuemission_offen") &&
          !produktzyklus.equals("n/a") &&
          !dienstleistungsart.equals("n/a") &&
          !orderart.equals("n/a") &&
          initiator.equals("n/a") &&
          auftragserteilung.equals("n/a") &&
          bereitstellungsdokumente.equals("n/a") &&
          udalStatus.equals("n/a");
    }
    return true;
  }

  ////3
  //
  //IF [Eingangskanal] like "EVA_*"
  //THEN [Initiator] <> "n/a"
  //AND [Produktzyklus] <> "n/a"
  //AND [Dienstleistungsart] <> "n/a"
  //AND [Orderart] <> "n/a"
  //AND [Auftragserteilung] <> "n/a"
  //AND [Bereitstellungsdokumente] <> "n/a"
  //AND [UDAL-Status] <> "n/a";
  @Condition(constraint = true)
  public boolean constraint3(
      @From("eingangskanal") String eingangskanal,
      @From("orderart") String orderart,
      @From("produktzyklus") String produktzyklus,
      @From("initiator") String initiator,
      @From("auftragserteilung") String auftragserteilung,
      @From("bereitstellungsdokumente") String bereitstellungsdokumente,
      @From("udalStatus") String udalStatus
  ) {
    if (eingangskanal.startsWith("EVA_"))
      return !initiator.equals("n/a") &&
          !produktzyklus.equals("n/a") &&
          !orderart.equals("n/a") &&
          !auftragserteilung.equals("n/a") &&
          !bereitstellungsdokumente.equals("n/a") &&
          !udalStatus.equals("n/a");
    return true;
  }

  ////4
  //
  //IF [Eingangskanal] IN {"Onlinebanking_PC", "Onlinebanking_MSB", "Onlinebanking_Tablet_PC"}
  //THEN [Produktzyklus] <> "Neuemission_Information"
  //AND [Produktzyklus] <> "Neuemission_offen"
  //AND [Produktzyklus] <> "n/a"
  //AND [Dienstleistungsart] <> "n/a"
  //AND [Orderart] <> "n/a";
  @Condition(constraint = true)
  public boolean constraint4(
      @From("eingangskanal") String eingangskanal,
      @From("orderart") String orderart,
      @From("produktzyklus") String produktzyklus,
      @From("dienstleistungsart") String dienstleistungsart
  ) {
    if (asList("Onlinebanking_PC", "Onlinebanking_MSB", "Onlinebanking_Tablet_PC").contains(eingangskanal))
      return !produktzyklus.equals("Neuemission_Information") &&
          !produktzyklus.equals("Neuemission_offen") &&
          !produktzyklus.equals("n/a") &&
          !dienstleistungsart.equals("n/a") &&
          !orderart.equals("n/a");
    return true;
  }

  ////5
  //
  //IF [Eingangskanal] like "Onlinebanking*"
  //THEN [Dienstleistungsart]="beratungsfreies_Geschaeft"
  //AND [Produktzyklus] <> "n/a"
  //AND [Dienstleistungsart] <> "n/a"
  //AND [Orderart] <> "Storno"
  //AND [Orderart] <> "Berichtigungsauftrag"
  //AND [Orderart] <> "Kauf_(Beratungsdatum_gueltig)"
  //AND [Orderart] <> "n/a"
  //AND [Initiator] = "n/a"
  //AND [Auftragserteilung] = "n/a"
  //AND [Bereitstellungsdokumente] = "n/a"
  //AND [UDAL-Status] <>"Back_up-Betrieb";
  @Condition(constraint = true)
  public boolean constraint5(
      @From("eingangskanal") String eingangskanal,
      @From("orderart") String orderart,
      @From("produktzyklus") String produktzyklus,
      @From("dienstleistungsart") String dienstleistungsart,
      @From("initiator") String initiator,
      @From("auftragserteilung") String auftragserteilung,
      @From("bereitstellungsdokumente") String bereitstellungsdokumente,
      @From("udalStatus") String udalStatus
  ) {
    if (eingangskanal.startsWith("Onlinebanking"))
      return dienstleistungsart.equals("beratungsfreies_Geschaeft") &&
          !produktzyklus.equals("n/a") &&
          !dienstleistungsart.equals("n/a") &&
          !orderart.equals("Storno") &&
          !orderart.equals("Berichtigungsauftrag") &&
          !orderart.equals("Kauf_(Beratungsdatum_gueltig)") &&
          !orderart.equals("n/a") &&
          initiator.equals("n/a") &&
          auftragserteilung.equals("n/a") &&
          bereitstellungsdokumente.equals("n/a") &&
          !udalStatus.equals("Back_up-Betrieb");
    return true;
  }

  ////6
  //IF [Eingangskanal] IN {"EVA_Sonderweg", "EVA_Sparplan", "EVA_Direkteinstieg", "EVA Order"}
  //THEN [Produktzyklus] <>"Neuemission_Information"
  //AND [Produktzyklus] <>"Neuemission_offen"
  //AND [Produktzyklus] <>"n/a"
  //AND [Dienstleistungsart] <>"n/a"
  //AND [Orderart] <>"n/a";
  @Condition(constraint = true)
  public boolean constraint6(
      @From("eingangskanal") String eingangskanal,
      @From("orderart") String orderart,
      @From("produktzyklus") String produktzyklus,
      @From("dienstleistungsart") String dienstleistungsart
  ) {
    if (asList("EVA_Sonderweg", "EVA_Sparplan", "EVA_Direkteinstieg", "EVA Order").contains(eingangskanal))
      return !produktzyklus.equals("Neuemission_Information") &&
          !produktzyklus.equals("Neuemission_offen") &&
          !produktzyklus.equals("n/a") &&
          !dienstleistungsart.equals("n/a") &&
          !orderart.equals("n/a");
    return true;
  }

  //7
  //IF [Eingangskanal] IN {"EVA_Sonderweg", "EVA_Sparplan", "EVA_Direkteinstieg"}
  //THEN [Orderart] <>"Storno"
  //AND [Orderart] <>"Berichtigungsauftrag"
  //AND [Orderart] <>"Kauf_(Beratungsdatum_gueltig)"
  //AND [Produktzyklus] <>"n/a"
  //AND [Dienstleistungsart] <>"n/a"
  //AND [Orderart] <>"n/a";
  @Condition(constraint = true)
  public boolean constraint7(
      @From("eingangskanal") String eingangskanal,
      @From("orderart") String orderart,
      @From("produktzyklus") String produktzyklus,
      @From("dienstleistungsart") String dienstleistungsart
  ) {
    if (asList("EVA_Sonderweg", "EVA_Sparplan", "EVA_Direkteinstieg").contains(eingangskanal))
      return !orderart.equals("Storno") &&
          !orderart.equals("Berichtigungsauftrag") &&
          !orderart.equals("Kauf_(Beratungsdatum_gueltig)") &&
          !produktzyklus.equals("n/a") &&
          !dienstleistungsart.equals("n/a") &&
          !orderart.equals("n/a");
    return true;
  }

  //8
  //IF [Eingangskanal] in {"EVA_Anlageberatung", "EVA_Neuemission", "EVA_Order"}
  //THEN [Orderart] <>"Storno"
  //AND [Orderart] <>"Berichtigungsauftrag"
  //AND [Produktzyklus] <>"n/a"
  //AND [Dienstleistungsart] <>"n/a"
  //AND [Orderart] <>"n/a";
  @Condition(constraint = true)
  public boolean constraint8(
      @From("eingangskanal") String eingangskanal,
      @From("orderart") String orderart,
      @From("produktzyklus") String produktzyklus,
      @From("dienstleistungsart") String dienstleistungsart
  ) {
    if (asList("EVA_Anlageberatung", "EVA_Neuemission", "EVA_Order").contains(eingangskanal))
      return !orderart.equals("Storno") &&
          !orderart.equals("Berichtigungsauftrag") &&
          !produktzyklus.equals("n/a") &&
          !dienstleistungsart.equals("n/a") &&
          !orderart.equals("n/a");
    return true;
  }

  //9
  //
  //IF [Eingangskanal] IN {"Infobroker", "commerzbank_de_pib"}
  //THEN [Finanzinstrument] <> "EMISID"
  //AND [Produktzyklus] = "n/a"
  //AND [Dienstleistungsart] = "n/a"
  //AND [Orderart] = "n/a"
  //AND [Initiator] = "n/a"
  //AND [Auftragserteilung] = "n/a"
  //AND [Bereitstellungsdokumente]= "n/a"
  //AND [UDAL-Status] <> "Back_up-Betrieb";
  @Condition(constraint = true)
  public boolean constraint9(
      @From("eingangskanal") String eingangskanal,
      @From("finanzinstrument") String finanzinstrument,
      @From("orderart") String orderart,
      @From("produktzyklus") String produktzyklus,
      @From("dienstleistungsart") String dienstleistungsart,
      @From("initiator") String initiator,
      @From("auftragserteilung") String auftragserteilung,
      @From("bereitstellungsdokumente") String bereitstellungsdokumente,
      @From("udalStatus") String udalStatus
  ) {
    if (asList("Infobroker", "commerzbank_de_pib").contains(eingangskanal))
      return !finanzinstrument.equals("EMISID") &&
          produktzyklus.equals("n/a") &&
          dienstleistungsart.equals("n/a") &&
          orderart.equals("n/a") &&
          initiator.equals("n/a") &&
          auftragserteilung.equals("n/a") &&
          bereitstellungsdokumente.equals("n/a") &&
          !udalStatus.equals("Back_up-Betrieb");
    return true;
  }

  @Test
  public void test(
      @From("eingangskanal") String eingangskanal,
      @From("finanzinstrument") String finanzinstrument,
      @From("orderart") String orderart,
      @From("produktzyklus") String produktzyklus,
      @From("dienstleistungsart") String dienstleistungsart,
      @From("initiator") String initiator,
      @From("auftragserteilung") String auftragserteilung,
      @From("bereitstellungsdokumente") String bereitstellungsdokumente,
      @From("udalStatus") String udalStatus,
      @From("abruf_Infoblaetter") String abruf_Infoblaetter
  ) {
    System.out.printf("%s,%s,%s,%s,%s,%s,%s,%s,%s,%s%n",
        eingangskanal,
        finanzinstrument,
        orderart,
        produktzyklus,
        dienstleistungsart,
        initiator,
        auftragserteilung,
        bereitstellungsdokumente,
        udalStatus,
        abruf_Infoblaetter
    );
  }
}

結局生成には2時間弱かかったが、テストスイートは以下のとおりになる。

// eingangskanal, finanzinstrument, orderart, produktzyklus, dienstleistungsart, initiator, auftragserteilung, bereitstellungsdokumente, udalStatus, abruf_Infoblaetter
EVA_Anlageberatung,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,Normalbetrieb,WA_von_FWW
EVA_Anlageberatung,Unstrukturierte_Anleihe,Kauf_(ohne_Beratungsdatum),Neuemission_offen,beratungsfreies_Geschaeft,Bank,persoenlich,Beratungsprotokoll_Interessent,Back_up-Betrieb,PIB_von_DOTi
EVA_Anlageberatung,strukturierte_Anleihe,Verkauf,Neuemission_geschlossen,Anlageberatung,Bank,schriftlich,Beratungsprotokoll_Potenzial,PRIIP,PIB_von_C&M-FIC
EVA_Anlageberatung,Inv.Fonds,aenderung,Neuemission_abgerechnet,Anlageberatung,Kunde,Haustuergeschaeft,Nachtraeglicher_KID-Versand,ohne_KID,PIB_von_PC_PM
EVA_Anlageberatung,OIF,Streichung,Sekundaermarkt,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Interessent,WKN_nicht_vorhanden,KID_von_PC_PM
EVA_Anlageberatung,Zertifikat,Kauf(Beratungsdatum_gueltig),Neuemission_offen,beratungsfreies_Geschaeft,Kunde,schriftlich,Nachtraeglicher_KID-Versand,WKN_inaktiv/geloescht,KID_von_DOTi
EVA_Anlageberatung,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,Kunde,persoenlich,Beratungsprotokoll_Kunde,defektes_Dokument,KID_von_externem_Hersteller
EVA_Anlageberatung,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_abgerechnet,beratungsfreies_Geschaeft,Bank,telefonisch,Beratungsprotokoll_Potenzial,Virus,PIB_von_PC_PM
EVA_Anlageberatung,EMISID,Kauf(Beratungsdatum_gueltig),Sekundaermarkt,beratungsfreies_Geschaeft,Bank,Haustuergeschaeft,Beratungsprotokoll_Kunde,non-PRIIP_auf_Blackliste,PIB_von_C&M-FIC
EVA_Anlageberatung,Aktie,Kauf_(ohne_Beratungsdatum),Neuemission_geschlossen,Anlageberatung,Kunde,Haustuergeschaeft,Beratungsprotokoll_Interessent,PRIIP_auf_Blackliste,KID_von_DOTi
EVA_Anlageberatung,Aktie,Verkauf,Neuemission_offen,beratungsfreies_Geschaeft,Bank,telefonisch,Nachtraeglicher_KID-Versand,UDAL_nicht_verfuegbar,KID_von_PC_PM
EVA_Order,Unstrukturierte_Anleihe,Verkauf,Neuemission_abgerechnet,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Kunde,Normalbetrieb,PIB_von_DOTi
EVA_Order,Aktie,aenderung,Sekundaermarkt,beratungsfreies_Geschaeft,Kunde,schriftlich,Beratungsprotokoll_Potenzial,Back_up-Betrieb,WA_von_FWW
EVA_Order,Inv.Fonds,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,Bank,telefonisch,Beratungsprotokoll_Interessent,PRIIP,KID_von_externem_Hersteller
EVA_Order,strukturierte_Anleihe,Kauf_(ohne_Beratungsdatum),Neuemission_Information,beratungsfreies_Geschaeft,Kunde,telefonisch,Nachtraeglicher_KID-Versand,ohne_KID,PIB_von_C&M-FIC
EVA_Order,Zertifikat,Kauf_(ohne_Beratungsdatum),Neuemission_geschlossen,Anlageberatung,Bank,Haustuergeschaeft,Beratungsprotokoll_Potenzial,WKN_nicht_vorhanden,WA_von_FWW
EVA_Order,OIF,Kauf_(ohne_Beratungsdatum),Neuemission_abgerechnet,Anlageberatung,Bank,schriftlich,Beratungsprotokoll_Kunde,WKN_inaktiv/geloescht,PIB_von_PC_PM
EVA_Order,Xetra_Gold_ETC,Streichung,Neuemission_offen,Anlageberatung,Bank,Haustuergeschaeft,Beratungsprotokoll_Kunde,defektes_Dokument,KID_von_DOTi
EVA_Order,Optionsschein,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,Kunde,persoenlich,Nachtraeglicher_KID-Versand,Virus,KID_von_PC_PM
EVA_Order,Aktie,Streichung,Neuemission_abgerechnet,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Potenzial,non-PRIIP_auf_Blackliste,KID_von_externem_Hersteller
EVA_Order,EMISID,Verkauf,Neuemission_Information,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Potenzial,PRIIP_auf_Blackliste,PIB_von_PC_PM
EVA_Order,Unstrukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,Kunde,schriftlich,Beratungsprotokoll_Interessent,UDAL_nicht_verfuegbar,PIB_von_DOTi
EVA_Sonderweg,strukturierte_Anleihe,aenderung,Neuemission_geschlossen,beratungsfreies_Geschaeft,Bank,telefonisch,Beratungsprotokoll_Interessent,Normalbetrieb,PIB_von_DOTi
EVA_Sonderweg,Inv.Fonds,Verkauf,Sekundaermarkt,Anlageberatung,Kunde,Haustuergeschaeft,Beratungsprotokoll_Kunde,Back_up-Betrieb,KID_von_PC_PM
EVA_Sonderweg,Aktie,Kauf_(ohne_Beratungsdatum),Neuemission_abgerechnet,Anlageberatung,Kunde,persoenlich,Nachtraeglicher_KID-Versand,PRIIP,WA_von_FWW
EVA_Sonderweg,Unstrukturierte_Anleihe,Streichung,Neuemission_geschlossen,beratungsfreies_Geschaeft,Bank,schriftlich,Beratungsprotokoll_Potenzial,ohne_KID,KID_von_PC_PM
EVA_Sonderweg,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_abgerechnet,beratungsfreies_Geschaeft,Bank,schriftlich,Beratungsprotokoll_Interessent,WKN_nicht_vorhanden,PIB_von_C&M-FIC
EVA_Sonderweg,Xetra_Gold_ETC,Verkauf,Neuemission_geschlossen,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Interessent,WKN_inaktiv/geloescht,WA_von_FWW
EVA_Sonderweg,OIF,Verkauf,Neuemission_geschlossen,beratungsfreies_Geschaeft,Kunde,telefonisch,Nachtraeglicher_KID-Versand,defektes_Dokument,KID_von_DOTi
EVA_Sonderweg,Zertifikat,Verkauf,Neuemission_geschlossen,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,Virus,KID_von_externem_Hersteller
EVA_Sonderweg,Unstrukturierte_Anleihe,aenderung,Neuemission_geschlossen,Anlageberatung,Kunde,telefonisch,Nachtraeglicher_KID-Versand,non-PRIIP_auf_Blackliste,PIB_von_PC_PM
EVA_Sonderweg,Unstrukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Sekundaermarkt,beratungsfreies_Geschaeft,Bank,telefonisch,Beratungsprotokoll_Kunde,PRIIP_auf_Blackliste,KID_von_externem_Hersteller
EVA_Sonderweg,EMISID,Kauf_(ohne_Beratungsdatum),Neuemission_geschlossen,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,UDAL_nicht_verfuegbar,KID_von_externem_Hersteller
EVA_Sparplan,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Neuemission_geschlossen,Anlageberatung,Kunde,schriftlich,Beratungsprotokoll_Potenzial,Normalbetrieb,KID_von_DOTi
EVA_Sparplan,strukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_abgerechnet,beratungsfreies_Geschaeft,Bank,telefonisch,Beratungsprotokoll_Kunde,Back_up-Betrieb,KID_von_PC_PM
EVA_Sparplan,Unstrukturierte_Anleihe,aenderung,Sekundaermarkt,Anlageberatung,Kunde,Haustuergeschaeft,Beratungsprotokoll_Kunde,PRIIP,PIB_von_DOTi
EVA_Sparplan,Aktie,Verkauf,Sekundaermarkt,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Interessent,ohne_KID,PIB_von_PC_PM
EVA_Sparplan,Xetra_Gold_ETC,aenderung,Sekundaermarkt,Anlageberatung,Kunde,persoenlich,Nachtraeglicher_KID-Versand,WKN_nicht_vorhanden,KID_von_externem_Hersteller
EVA_Sparplan,Optionsschein,Streichung,Sekundaermarkt,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Potenzial,WKN_inaktiv/geloescht,PIB_von_DOTi
EVA_Sparplan,Zertifikat,aenderung,Neuemission_abgerechnet,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Interessent,defektes_Dokument,PIB_von_C&M-FIC
EVA_Sparplan,OIF,aenderung,Neuemission_geschlossen,Anlageberatung,Kunde,Haustuergeschaeft,Beratungsprotokoll_Interessent,Virus,WA_von_FWW
EVA_Sparplan,strukturierte_Anleihe,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Interessent,non-PRIIP_auf_Blackliste,KID_von_DOTi
EVA_Sparplan,strukturierte_Anleihe,Streichung,Neuemission_abgerechnet,Anlageberatung,Kunde,schriftlich,Nachtraeglicher_KID-Versand,PRIIP_auf_Blackliste,WA_von_FWW
EVA_Sparplan,strukturierte_Anleihe,aenderung,Neuemission_abgerechnet,Anlageberatung,Kunde,Haustuergeschaeft,Beratungsprotokoll_Potenzial,UDAL_nicht_verfuegbar,KID_von_DOTi
EVA_Neuemission,OIF,Kauf(Beratungsdatum_gueltig),Neuemission_offen,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Potenzial,Normalbetrieb,PIB_von_C&M-FIC
EVA_Neuemission,Zertifikat,Streichung,Neuemission_Information,beratungsfreies_Geschaeft,Bank,Haustuergeschaeft,Nachtraeglicher_KID-Versand,Back_up-Betrieb,PIB_von_PC_PM
EVA_Neuemission,Optionsschein,Verkauf,Neuemission_offen,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,PRIIP,WA_von_FWW
EVA_Neuemission,Xetra_Gold_ETC,Kauf_(ohne_Beratungsdatum),Neuemission_Information,Anlageberatung,Kunde,schriftlich,Beratungsprotokoll_Kunde,ohne_KID,PIB_von_DOTi
EVA_Neuemission,Aktie,Verkauf,Neuemission_Information,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,WKN_nicht_vorhanden,KID_von_DOTi
EVA_Neuemission,Unstrukturierte_Anleihe,aenderung,Neuemission_Information,Anlageberatung,Kunde,Haustuergeschaeft,Beratungsprotokoll_Interessent,WKN_inaktiv/geloescht,KID_von_PC_PM
EVA_Neuemission,strukturierte_Anleihe,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,Kunde,schriftlich,Beratungsprotokoll_Potenzial,defektes_Dokument,KID_von_externem_Hersteller
EVA_Neuemission,Inv.Fonds,Streichung,Neuemission_offen,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Kunde,Virus,PIB_von_C&M-FIC
EVA_Neuemission,Inv.Fonds,Verkauf,Neuemission_Information,Anlageberatung,Kunde,schriftlich,Beratungsprotokoll_Kunde,non-PRIIP_auf_Blackliste,WA_von_FWW
EVA_Neuemission,Inv.Fonds,aenderung,Neuemission_offen,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,PRIIP_auf_Blackliste,PIB_von_DOTi
EVA_Neuemission,Inv.Fonds,Streichung,Neuemission_geschlossen,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Kunde,UDAL_nicht_verfuegbar,WA_von_FWW
EVA_Direkteinstieg,Zertifikat,Streichung,Sekundaermarkt,Anlageberatung,Kunde,Haustuergeschaeft,Nachtraeglicher_KID-Versand,Normalbetrieb,PIB_von_DOTi
EVA_Direkteinstieg,OIF,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,Bank,telefonisch,Beratungsprotokoll_Kunde,Back_up-Betrieb,KID_von_externem_Hersteller
EVA_Direkteinstieg,Xetra_Gold_ETC,Kauf_(ohne_Beratungsdatum),Neuemission_abgerechnet,Anlageberatung,Kunde,persoenlich,Beratungsprotokoll_Interessent,PRIIP,KID_von_PC_PM
EVA_Direkteinstieg,Optionsschein,aenderung,Neuemission_geschlossen,Anlageberatung,Kunde,schriftlich,Beratungsprotokoll_Potenzial,ohne_KID,KID_von_DOTi
EVA_Direkteinstieg,Unstrukturierte_Anleihe,Verkauf,Neuemission_geschlossen,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,WKN_nicht_vorhanden,WA_von_FWW
EVA_Direkteinstieg,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,WKN_inaktiv/geloescht,PIB_von_C&M-FIC
EVA_Direkteinstieg,Inv.Fonds,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,defektes_Dokument,PIB_von_PC_PM
EVA_Direkteinstieg,strukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,Kunde,schriftlich,Beratungsprotokoll_Kunde,Virus,PIB_von_DOTi
EVA_Direkteinstieg,OIF,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,non-PRIIP_auf_Blackliste,PIB_von_DOTi
EVA_Direkteinstieg,OIF,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,PRIIP_auf_Blackliste,PIB_von_C&M-FIC
EVA_Direkteinstieg,OIF,Kauf(Beratungsdatum_gueltig),Sekundaermarkt,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,UDAL_nicht_verfuegbar,PIB_von_C&M-FIC
HOST_T19000,Aktie,Storno,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
HOST_T19001,Unstrukturierte_Anleihe,Berichtigungsauftrag,Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
HOST_T19901,strukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_PC_PM
HOST_T19750,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T28900,OIF,Verkauf,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_PC_PM
Onlinebanking_PC,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,KID_von_externem_Hersteller
Onlinebanking_PC,OIF,Streichung,Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,PRIIP,KID_von_DOTi
Onlinebanking_PC,Zertifikat,Kauf(Beratungsdatum_gueltig),Sekundaermarkt,beratungsfreies_Geschaeft,n/a,n/a,n/a,ohne_KID,WA_von_FWW
Onlinebanking_PC,strukturierte_Anleihe,Kauf_(ohne_Beratungsdatum),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,WKN_nicht_vorhanden,PIB_von_DOTi
Onlinebanking_PC,Inv.Fonds,Verkauf,Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,WKN_inaktiv/geloescht,PIB_von_C&M-FIC
Onlinebanking_PC,Aktie,aenderung,Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,defektes_Dokument,KID_von_PC_PM
Onlinebanking_PC,Unstrukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Virus,KID_von_DOTi
Onlinebanking_PC,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,non-PRIIP_auf_Blackliste,PIB_von_C&M-FIC
Onlinebanking_PC,Zertifikat,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,PRIIP_auf_Blackliste,KID_von_PC_PM
Onlinebanking_PC,Zertifikat,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,UDAL_nicht_verfuegbar,PIB_von_PC_PM
Onlinebanking_PC,EMISID,aenderung,Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,KID_von_DOTi
Onlinebanking_MSB,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,PIB_von_PC_PM
Onlinebanking_MSB,Zertifikat,Kauf_(ohne_Beratungsdatum),Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,PRIIP,WA_von_FWW
Onlinebanking_MSB,OIF,Verkauf,Sekundaermarkt,beratungsfreies_Geschaeft,n/a,n/a,n/a,ohne_KID,KID_von_externem_Hersteller
Onlinebanking_MSB,Inv.Fonds,aenderung,Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,WKN_nicht_vorhanden,PIB_von_DOTi
Onlinebanking_MSB,strukturierte_Anleihe,Streichung,Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,WKN_inaktiv/geloescht,PIB_von_C&M-FIC
Onlinebanking_MSB,Unstrukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,defektes_Dokument,WA_von_FWW
Onlinebanking_MSB,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Virus,KID_von_PC_PM
Onlinebanking_MSB,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,non-PRIIP_auf_Blackliste,PIB_von_PC_PM
Onlinebanking_MSB,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,PRIIP_auf_Blackliste,KID_von_DOTi
Infobroker,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,KID_von_PC_PM
Infobroker,Unstrukturierte_Anleihe,n/a,n/a,n/a,n/a,n/a,n/a,PRIIP,PIB_von_PC_PM
Infobroker,OIF,n/a,n/a,n/a,n/a,n/a,n/a,WKN_inaktiv/geloescht,KID_von_externem_Hersteller
Infobroker,Zertifikat,n/a,n/a,n/a,n/a,n/a,n/a,defektes_Dokument,PIB_von_DOTi
Infobroker,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,WA_von_FWW
Infobroker,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,PIB_von_C&M-FIC
Infobroker,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,KID_von_DOTi
HOST_T19000,Aktie,Storno,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
Onlinebanking_Neuemission_PC,strukturierte_Anleihe,Verkauf,Neuemission_offen,beratungsfreies_Geschaeft,n/a,n/a,n/a,WKN_nicht_vorhanden,PIB_von_PC_PM
HOST_T19000,EMISID,Storno,Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T19000,EMISID,Storno,Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_PC_PM
HOST_T19001,EMISID,Berichtigungsauftrag,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
EVA_Order,Xetra_Gold_ETC,Streichung,Neuemission_offen,Anlageberatung,Bank,Haustuergeschaeft,Beratungsprotokoll_Kunde,defektes_Dokument,KID_von_externem_Hersteller
HOST_T19000,Aktie,Storno,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
HOST_T19000,Aktie,Storno,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_PC_PM
HOST_T19000,Aktie,Storno,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_DOTi
HOST_T19001,Unstrukturierte_Anleihe,Berichtigungsauftrag,Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T19001,Unstrukturierte_Anleihe,Berichtigungsauftrag,Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,PIB_von_PC_PM
HOST_T19001,Unstrukturierte_Anleihe,Berichtigungsauftrag,Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,KID_von_PC_PM
HOST_T19001,Unstrukturierte_Anleihe,Berichtigungsauftrag,Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,KID_von_DOTi
HOST_T19001,Unstrukturierte_Anleihe,Berichtigungsauftrag,Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
Onlinebanking_Neuemission_PC,Zertifikat,Kauf(Beratungsdatum_gueltig),Neuemission_offen,beratungsfreies_Geschaeft,n/a,n/a,n/a,non-PRIIP_auf_Blackliste,KID_von_PC_PM
EVA_Anlageberatung,Unstrukturierte_Anleihe,Kauf_(ohne_Beratungsdatum),Neuemission_offen,beratungsfreies_Geschaeft,Bank,persoenlich,Beratungsprotokoll_Interessent,Back_up-Betrieb,PIB_von_C&M-FIC
EVA_Anlageberatung,Unstrukturierte_Anleihe,Kauf_(ohne_Beratungsdatum),Neuemission_offen,beratungsfreies_Geschaeft,Bank,persoenlich,Beratungsprotokoll_Interessent,Back_up-Betrieb,KID_von_DOTi
HOST_T19901,strukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T19901,strukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
HOST_T19901,strukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
HOST_T19901,strukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_PC_PM
HOST_T19901,strukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_DOTi
HOST_T19901,strukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
HOST_T19750,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
HOST_T19750,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
HOST_T19750,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_PC_PM
HOST_T19750,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_PC_PM
HOST_T19750,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_DOTi
HOST_T19750,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
HOST_T28900,OIF,Verkauf,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T28900,OIF,Verkauf,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
HOST_T28900,OIF,Verkauf,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
HOST_T28900,OIF,Verkauf,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_PC_PM
HOST_T28900,OIF,Verkauf,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_DOTi
HOST_T28900,OIF,Verkauf,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
Onlinebanking_Neuemission_PC,EMISID,Streichung,Neuemission_offen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,WA_von_FWW
Onlinebanking_Neuemission_PC,EMISID,Streichung,Neuemission_offen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,PIB_von_DOTi
Onlinebanking_Neuemission_PC,EMISID,Streichung,Neuemission_offen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,PIB_von_C&M-FIC
Onlinebanking_Neuemission_PC,EMISID,Streichung,Neuemission_offen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,KID_von_DOTi
Onlinebanking_Neuemission_PC,EMISID,Streichung,Neuemission_offen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,KID_von_externem_Hersteller
Onlinebanking_Neuemission_MSB,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,WA_von_FWW
Onlinebanking_Neuemission_MSB,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,PIB_von_DOTi
Onlinebanking_Neuemission_MSB,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,PIB_von_C&M-FIC
Onlinebanking_Neuemission_MSB,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,PIB_von_PC_PM
Onlinebanking_Neuemission_MSB,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,KID_von_PC_PM
Onlinebanking_Neuemission_MSB,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,KID_von_DOTi
Onlinebanking_Neuemission_MSB,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,KID_von_externem_Hersteller
Onlinebanking_Tablet_PC,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,WA_von_FWW
Onlinebanking_Tablet_PC,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,PIB_von_DOTi
Onlinebanking_Tablet_PC,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,PIB_von_C&M-FIC
Onlinebanking_Tablet_PC,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,PIB_von_PC_PM
Onlinebanking_Tablet_PC,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,KID_von_PC_PM
Onlinebanking_Tablet_PC,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,KID_von_DOTi
Onlinebanking_Tablet_PC,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,KID_von_externem_Hersteller
commerzbank_de_pib,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,WA_von_FWW
commerzbank_de_pib,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,PIB_von_DOTi
commerzbank_de_pib,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,PIB_von_C&M-FIC
commerzbank_de_pib,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,PIB_von_PC_PM
commerzbank_de_pib,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,KID_von_PC_PM
commerzbank_de_pib,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,KID_von_DOTi
commerzbank_de_pib,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,Normalbetrieb,KID_von_externem_Hersteller
Onlinebanking_MSB,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,UDAL_nicht_verfuegbar,WA_von_FWW
Onlinebanking_MSB,Zertifikat,Streichung,Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,PIB_von_DOTi
Onlinebanking_Neuemission_PC,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,PRIIP,PIB_von_PC_PM
Onlinebanking_Neuemission_PC,Unstrukturierte_Anleihe,Kauf_(ohne_Beratungsdatum),Neuemission_offen,beratungsfreies_Geschaeft,n/a,n/a,n/a,ohne_KID,KID_von_PC_PM
Onlinebanking_Neuemission_PC,Inv.Fonds,aenderung,Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,WKN_inaktiv/geloescht,KID_von_externem_Hersteller
Onlinebanking_Neuemission_PC,OIF,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,defektes_Dokument,WA_von_FWW
Onlinebanking_Neuemission_PC,Zertifikat,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,Virus,PIB_von_DOTi
Onlinebanking_Neuemission_PC,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,PRIIP_auf_Blackliste,PIB_von_PC_PM
Onlinebanking_Neuemission_PC,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,UDAL_nicht_verfuegbar,KID_von_PC_PM
Onlinebanking_Neuemission_PC,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_offen,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,KID_von_DOTi
Onlinebanking_Neuemission_MSB,EMISID,Kauf_(ohne_Beratungsdatum),Neuemission_offen,beratungsfreies_Geschaeft,n/a,n/a,n/a,PRIIP,WA_von_FWW
Onlinebanking_Neuemission_MSB,Unstrukturierte_Anleihe,Verkauf,Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,ohne_KID,PIB_von_DOTi
Onlinebanking_Neuemission_MSB,strukturierte_Anleihe,aenderung,Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,WKN_nicht_vorhanden,PIB_von_C&M-FIC
Onlinebanking_Neuemission_MSB,Inv.Fonds,Streichung,Sekundaermarkt,beratungsfreies_Geschaeft,n/a,n/a,n/a,WKN_inaktiv/geloescht,PIB_von_PC_PM
Onlinebanking_Neuemission_MSB,OIF,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,defektes_Dokument,KID_von_PC_PM
Onlinebanking_Neuemission_MSB,Zertifikat,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,Virus,KID_von_DOTi
Onlinebanking_Neuemission_MSB,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,non-PRIIP_auf_Blackliste,KID_von_externem_Hersteller
Onlinebanking_Neuemission_MSB,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,PRIIP_auf_Blackliste,WA_von_FWW
Onlinebanking_Neuemission_MSB,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,UDAL_nicht_verfuegbar,PIB_von_DOTi
Onlinebanking_Neuemission_MSB,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
Onlinebanking_Tablet_PC,Unstrukturierte_Anleihe,Kauf_(ohne_Beratungsdatum),Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,PRIIP,KID_von_PC_PM
Onlinebanking_Tablet_PC,EMISID,Verkauf,Sekundaermarkt,beratungsfreies_Geschaeft,n/a,n/a,n/a,ohne_KID,KID_von_DOTi
Onlinebanking_Tablet_PC,strukturierte_Anleihe,aenderung,Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,WKN_nicht_vorhanden,KID_von_externem_Hersteller
Onlinebanking_Tablet_PC,Inv.Fonds,Streichung,Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,WKN_inaktiv/geloescht,WA_von_FWW
Onlinebanking_Tablet_PC,OIF,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,defektes_Dokument,PIB_von_DOTi
Onlinebanking_Tablet_PC,Zertifikat,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,Virus,PIB_von_C&M-FIC
Onlinebanking_Tablet_PC,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,non-PRIIP_auf_Blackliste,PIB_von_PC_PM
Onlinebanking_Tablet_PC,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,PRIIP_auf_Blackliste,KID_von_PC_PM
Onlinebanking_Tablet_PC,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,UDAL_nicht_verfuegbar,KID_von_DOTi
Onlinebanking_Tablet_PC,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
Infobroker,strukturierte_Anleihe,n/a,n/a,n/a,n/a,n/a,n/a,ohne_KID,PIB_von_C&M-FIC
Infobroker,Inv.Fonds,n/a,n/a,n/a,n/a,n/a,n/a,WKN_nicht_vorhanden,PIB_von_PC_PM
Infobroker,Optionsschein,n/a,n/a,n/a,n/a,n/a,n/a,Virus,KID_von_externem_Hersteller
Infobroker,Xetra_Gold_ETC,n/a,n/a,n/a,n/a,n/a,n/a,non-PRIIP_auf_Blackliste,WA_von_FWW
Infobroker,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,PRIIP_auf_Blackliste,PIB_von_DOTi
Infobroker,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,UDAL_nicht_verfuegbar,PIB_von_C&M-FIC
Infobroker,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,n/a,PIB_von_PC_PM
commerzbank_de_pib,Unstrukturierte_Anleihe,n/a,n/a,n/a,n/a,n/a,n/a,PRIIP,KID_von_DOTi
commerzbank_de_pib,strukturierte_Anleihe,n/a,n/a,n/a,n/a,n/a,n/a,ohne_KID,KID_von_externem_Hersteller
commerzbank_de_pib,Inv.Fonds,n/a,n/a,n/a,n/a,n/a,n/a,WKN_nicht_vorhanden,WA_von_FWW
commerzbank_de_pib,OIF,n/a,n/a,n/a,n/a,n/a,n/a,WKN_inaktiv/geloescht,PIB_von_DOTi
commerzbank_de_pib,Zertifikat,n/a,n/a,n/a,n/a,n/a,n/a,defektes_Dokument,PIB_von_C&M-FIC
commerzbank_de_pib,Optionsschein,n/a,n/a,n/a,n/a,n/a,n/a,Virus,PIB_von_PC_PM
commerzbank_de_pib,Xetra_Gold_ETC,n/a,n/a,n/a,n/a,n/a,n/a,non-PRIIP_auf_Blackliste,KID_von_PC_PM
commerzbank_de_pib,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,PRIIP_auf_Blackliste,KID_von_DOTi
commerzbank_de_pib,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,UDAL_nicht_verfuegbar,KID_von_externem_Hersteller
commerzbank_de_pib,Aktie,n/a,n/a,n/a,n/a,n/a,n/a,n/a,WA_von_FWW
EVA_Sparplan,EMISID,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,Kunde,schriftlich,Beratungsprotokoll_Interessent,Back_up-Betrieb,PIB_von_DOTi
EVA_Neuemission,EMISID,Kauf(Beratungsdatum_gueltig),Neuemission_abgerechnet,Anlageberatung,Kunde,telefonisch,Nachtraeglicher_KID-Versand,WKN_nicht_vorhanden,PIB_von_C&M-FIC
EVA_Direkteinstieg,EMISID,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,WKN_inaktiv/geloescht,PIB_von_PC_PM
HOST_T19000,Unstrukturierte_Anleihe,Kauf(Beratungsdatum_gueltig),Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,KID_von_PC_PM
HOST_T19000,strukturierte_Anleihe,Berichtigungsauftrag,Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_DOTi
HOST_T19000,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
HOST_T19000,OIF,Verkauf,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T19000,Zertifikat,aenderung,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
HOST_T19000,Optionsschein,Streichung,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
HOST_T19000,Xetra_Gold_ETC,Storno,Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,PIB_von_PC_PM
HOST_T19001,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_DOTi
HOST_T19001,strukturierte_Anleihe,Storno,Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
HOST_T19001,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T19001,OIF,Verkauf,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
HOST_T19001,Zertifikat,aenderung,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
HOST_T19001,Optionsschein,Streichung,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_PC_PM
HOST_T19001,Xetra_Gold_ETC,Berichtigungsauftrag,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_PC_PM
HOST_T19901,Aktie,Berichtigungsauftrag,Neuemission_Information,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
HOST_T19901,Unstrukturierte_Anleihe,Storno,Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T19901,Inv.Fonds,Kauf_(ohne_Beratungsdatum),Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
HOST_T19901,OIF,Verkauf,Neuemission_abgerechnet,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
HOST_T19901,Zertifikat,aenderung,Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_PC_PM
HOST_T19901,Optionsschein,Streichung,Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_PC_PM
HOST_T19901,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_DOTi
HOST_T19901,EMISID,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
HOST_T19750,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T19750,Unstrukturierte_Anleihe,Verkauf,Neuemission_abgerechnet,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
HOST_T19750,strukturierte_Anleihe,aenderung,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
HOST_T19750,OIF,Storno,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_PC_PM
HOST_T19750,Zertifikat,Berichtigungsauftrag,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_PC_PM
HOST_T19750,Optionsschein,Streichung,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_DOTi
HOST_T19750,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
HOST_T19750,EMISID,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T28900,Aktie,Kauf(Beratungsdatum_gueltig),Neuemission_abgerechnet,beratungsfreies_Geschaeft,n/a,n/a,n/a,n/a,PIB_von_DOTi
HOST_T28900,Unstrukturierte_Anleihe,Kauf_(ohne_Beratungsdatum),Sekundaermarkt,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
HOST_T28900,strukturierte_Anleihe,aenderung,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_PC_PM
HOST_T28900,Inv.Fonds,Storno,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_PC_PM
HOST_T28900,Zertifikat,Streichung,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_DOTi
HOST_T28900,Optionsschein,Berichtigungsauftrag,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
HOST_T28900,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T28900,EMISID,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
Onlinebanking_MSB,EMISID,Kauf(Beratungsdatum_gueltig),Neuemission_geschlossen,beratungsfreies_Geschaeft,n/a,n/a,n/a,defektes_Dokument,PIB_von_C&M-FIC
EVA_Anlageberatung,Optionsschein,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,Kunde,Haustuergeschaeft,Beratungsprotokoll_Kunde,Back_up-Betrieb,PIB_von_PC_PM
EVA_Anlageberatung,Xetra_Gold_ETC,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,Back_up-Betrieb,KID_von_PC_PM
EVA_Anlageberatung,EMISID,Kauf(Beratungsdatum_gueltig),Neuemission_Information,Anlageberatung,Kunde,telefonisch,Beratungsprotokoll_Kunde,Virus,KID_von_DOTi
HOST_T19000,Inv.Fonds,Berichtigungsauftrag,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,KID_von_externem_Hersteller
HOST_T19000,OIF,Berichtigungsauftrag,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,WA_von_FWW
HOST_T19000,Zertifikat,Storno,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_DOTi
HOST_T19000,Optionsschein,Storno,Neuemission_geschlossen,Anlageberatung,n/a,n/a,n/a,n/a,PIB_von_C&M-FIC
Onlinebanking_Neuemission_PC,Aktie,Kauf(Beratungsdatum_gueltig),Sekundaermarkt,beratungsfreies_Geschaeft,n/a,n/a,n/a,Normalbetrieb,PIB_von_PC_PM

制約のないモデルだとPICTは目を瞠るような速さでテストの生成を行う。因子数100、各因子の水準数2の場合、文字通り一瞬で生成が終わる(テストケース数16)。JCUnitは30秒ほどかかりテストケース数は18となるので、さすが老舗は違うなと舌を巻いたのだが、制約の取り扱いについてはJCUnitの方が少しだけ優れていると言えるようになったようだ。