Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Ozan am 11.01.07 - 15:39:59

Titel: Subset fehler
Beitrag von: Ozan am 11.01.07 - 15:39:59
Hi,

ich glaube dass hier noch eine kleine fehler ist, weil ich nehmlich nicht alle Datensätze richtig anzeigt bekomme.

DTAuslog="13.12.2006     9999999        88888888       001       Test         GmbH                  23 "

@For(n:=1;n<=@Elements(@Explode(DTAuslog;"";0;1));n:=n+1;
@SetField("DTAuslogDatum";DTAuslogDatum+@If(DTAuslogDatum!="";@Char(10);"")+@Middle(@Subset(@Explode(@Subset(@Explode(DTAUSLOG;"";0;1);n);"";0;1);-1);0;15)));
@For(n:=1;n<=@Elements(@Explode(DTAUSLOG;"";0;1));n:=n+1;
@SetField("DTAuslogKonto";DTAuslogKonto+@If(DTAuslogKonto!="";@Char(10);"")+@Middle(@Subset(@Explode(@Subset(@Explode(DTAUSLOG;"";0;1);n);"";0;1);-1);15;15)));
@For(n:=1;n<=@Elements(@Explode(DTAUSLOG;"";0;1));n:=n+1;
@SetField("DTAuslogBank";DTAuslogBank+@If(DTAuslogBank!="";@Char(10);"")+@Middle(@Subset(@Explode(@Subset(@Explode(DTAUSLOG;"";0;1);n);"";0;1);-1);30;15)));
@For(n:=1;n<=@Elements(@Explode(DTAUSLOG;"";0;1));n:=n+1;
@SetField("DTAuslogBetrag";DTAuslogBetrag+@If(DTAuslogBetrag!="";@Char(10);"")+@Middle(@Subset(@Explode(@Subset(@Explode(DTAUSLOG;"";0;1);n);"";0;1);-1);45;10)));
@For(n:=1;n<=@Elements(@Explode(DTAUSLOG;"";0;1));n:=n+1;
@SetField("DTAuslogName";DTAuslogName+@If(DTAuslogName!="";@Char(10);"")+@Middle(@Subset(@Explode(@Subset(@Explode(DTAUSLOG;"";0;1);n);"";0;1);-1);55;35)));
@For(n:=1;n<=@Elements(@Explode(DTAUSLOG;"";0;1));n:=n+1;
@SetField("count";count+@If(count!="";@Char(10);"")
+@Middle(@Subset(@Explode(@Subset(@Explode(DTAUSLOG;"";0;1);n);"";0;1);-1);90;3)))

Gruss

Ozan

Titel: Re: Subset fehler
Beitrag von: animate am 11.01.07 - 16:27:19
 :o
Titel: Re: Subset fehler
Beitrag von: klaussp am 11.01.07 - 16:49:52
...yupp, da sind wohl diverse Fehler wenn ich das so anschaue!

Vielleicht schreibst Du mal kurz was Du machen willst und wo es hängt, sonst wird Dir hier nämlich niemand helfen können ???
Titel: Re: Subset fehler
Beitrag von: Ozan am 11.01.07 - 16:54:40
Ich möchte aus der DTAuslog die infos in verschiedene Felder aufteilen. Es kann auch vorkommen dass z.B zwei Zeilen in der DTAuslog enthalten sind, daher diese schleife.

DTAuslog hat immer feste Satzlänge.

Gruss

Ozan
Titel: Re: Subset fehler
Beitrag von: klaussp am 11.01.07 - 16:59:13
... OK ... und was GENAU klappt nun nicht?

Titel: Re: Subset fehler
Beitrag von: Ozan am 11.01.07 - 17:05:45
Nicht alle DTAuslog Daten werden richtig aufgeteilt, es gibt z.B welche wo der DTAuslog gefüllt ist, aber trozdem die Felder leer sind.

Das was ich an Codes geschrieben habe ist für mich "Holzhacker methode" , vielleicht gibt es ja eine andere methode wo ich dran ausbauen kann.

Gruss

Ozan
Titel: Re: Subset fehler
Beitrag von: Ozan am 11.01.07 - 17:12:06
hier nochmal DTAuslog Variante:

"13.12.2006     9999999        88888888       001       Test         GmbH                  23
14.12.2006     9999999        88888888       002       Test         GmbH                  23
15.12.2006     9999999        88888888       003       Test         GmbH                  23 "

Das alles in jeweils 6 Felder aufteilen.
Titel: Re: Subset fehler
Beitrag von: m3 am 11.01.07 - 17:23:40
Wäre es nicht einfacher, Du holst Dir die Werte in eine Textliste
Code
werteliste := @Explode(DTAuslog; " "; 1);
Und bearbeitest Die weiter?

Code
DTAuslog := "13.12.2006     9999999        88888888       001       Test         GmbH                  23 ";
werteliste := @Explode(DTAuslog; " "; 0);
ausgabe := @Implode(werteliste; "^^") ;
@Prompt( [OK]; "info"; ausgabe )
liefert als Ausgabe:
13.12.2006^^9999999^^88888888^^001^^Test^^GmbH^^23
Titel: Re: Subset fehler
Beitrag von: tks am 11.01.07 - 17:23:58
Wie wäre es mit:
_list := @Explode(DTAuslog;" ")
DTAuslogDatum := @Subset(_list;1);
DTAuslogKonto := @Subset(@Subset(_list;2)-1);
DTAuslogN := @Subset(@Subset(_list;N)-1);

usw. usf.
Titel: Re: Subset fehler
Beitrag von: Ozan am 11.01.07 - 17:54:27
Beide Varianten sind ok, aber was ist wenn das drei zeilig wird???

"13.12.2006     9999999        88888888       001       Test         GmbH                  23
14.12.2006     9999999        88888888       002       Test         GmbH                  23
15.12.2006     9999999        88888888       003       Test         GmbH                  23 "