Transaktionen: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(39 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
(alternativer Suchbegriff Transaktion) | |||
Im Auftragsarbeitsplatz ist über das Eingabefeld ganz rechts unten (Eintrag TRN) das Ausführen von benutzerdefinierten Transaktionen möglich. Die Transaktionen beziehen sich dabei auf die angezeigten Datensätze. Stellen Sie also vor dem Aufruf sicher, dass die richtige Baustelle, sowie die gewünschten Datensätze angezeigt werden: | |||
Im Feld "TRN" sind folgende Eingaben möglich: | |||
== AH1 == | |||
EXPORT*xml überprüfen | |||
== AH2 == | |||
"Monteur Informiert" - Status aus den historischen Datensätzen löschen. Dadurch entfallen zu den aktuell angezeigten Terminen die "WEGFALL" und "TERMIN ALT:" Infos. | |||
== AH3 == | |||
Die Datei ".\NonDa\Bericht.xls" wird geöffnet. | |||
* In Spalte "C" muss sich die Postleitzahl der Liegenschaft befinden | |||
* In Spalte "D" muss sich die Zählernummer (Alt) befinden. | |||
Es wird eine Einzelauskunft zu allen Zählern erstellt, d.h. die angefragten Zähler werden genau in dieser Reihenfolge aufgelistet wie angefragt. | |||
== AY3 == | |||
Daten aus den Historischen rücksichern | |||
== AY4 == | |||
Ersetzen von Texten in den Textfeldern der Aufträge. Dazu wird im Anwenderverzeichnis (blauer Ordner im Hauptmenü!) die Datei AY4.txt verarbeitet: | |||
"MONTEUR_INFO" | "INTERN_INFO" | "ZAEHLER_INFO" | "PROTOKOLL" | "LEISTUNGS_DETAILS" | "WIEDERVORLAGE_INFO" | |||
<Suchbegriff1> "|" <NeuerBegriff1> | |||
<Suchbegriff2> "|" <NeuerBegriff2> | |||
<Suchbegriff3> "|" <NeuerBegriff3> | |||
... | |||
== AY5 == | |||
* auf einen Knopfdruck ein Bilder.zip der markierten im Anwenderverzeichnis zusammenstellen | |||
* Im Moment nur FA, FN, auf alle Bilder auf Anfrage ausbaubar | |||
== BO1 == | |||
* Diese Transaktion bezieht sich auf Aufträge und kümmert sich um das Auffinden und Zuordnen von Fotos | |||
* Aus den Verzeichnissen in dem Systemparameter [[Systemeinstellungen#FotoRecherchePfad|FotoRecherchePfad=]] werden die Fotos gesucht, so wie ihr ursprünglicher Name war, und nach den neuesten Erkenntnissen in die Internet-Ablage UND in die OrgaMon-Foto-Baustellen-Verzeichnisse kopiert. | |||
* Manuell kann diese Aktion im Auftrag, Reiter "Protokoll & Status", der "Refresh-Knopf" ausgeführt werden | |||
== LU1 == | |||
wie BO1, jedoch ohne Veränderung der InternetAblage, nur das lokale Foto-Verzeichnis wird befüllt | |||
== BO2 == | |||
Diese Transaktion bezieht sich auf Aufträge. Trage die Ausbaunummer nach in BAUSTELLE_R= | |||
== BO3 == | |||
Lade die csv-Datei in "./Diagnose/BO3.csv", in einer Spalte muss ein "RID" stehen (nicht zwingend aber praktisch da dann auch über den grünen OLAP-Würfel im Auftragsarbeitsplatz das Volumen angezeigt werden kann). Alle weiteren Spalten der .csv enthalten Überschriften, die ganz genau mit Datenbank-Feldern übereinstimmen. Die Inhalte werden in den Datenbankfeldern durch die Werte der .csv überschrieben. | |||
* Beispiel einer BO3.csv | |||
RID;REGLER_NR_NEU | |||
123;7ITR838999222 | |||
== FK1 == | |||
* Trägt die OBIS-Codes, die abgelesen werden sollen in ZAEHLWERKE_AUSBAU (im Reiter Intern) ein | |||
* da OrgaMon von einem 1:1 Wechsel ausgehen muss wird der identische Wert auch in ZAEHLWERKE_EINBAU (im Reiter Intern) eingetragen | |||
* Sammelt alle "tgw_obiscode" in der Datei <code>.\Diagnose\FK1.log.txt</code> | |||
* Dadurch kann per Lupe bestimmt werden was draussen für verschiedene Auftragsarten vorkommen können | |||
* Die Zählerarten sollten dementsprechend gesetzt werden | |||
== HA1 == | |||
Ableseergebnisse aus .csv lesen und eintragen (mit Zählerstand) | |||
== HA2 == | |||
Ableseergebnisse aus .csv lesen und eintragen (ohne Zählerstand) | |||
== HA3 == | |||
aus den Interninfos diverse felder rauslöschen! | |||
== HA4 == | |||
EXPORT_TAN löschen | |||
== HA5 == | |||
EXPORT_TAN setzen (auf manuelle Meldung) | |||
== HA6 == | |||
aus den Zaehler_infos Werte in Feld BRIEF_NAME2 übertragen | |||
== HA7 == | |||
Beurteilung via QS und Ergebnis in "Jahresverbrauch" | |||
== HA8 == | |||
QS deaktivieren durch Eintrag von "QS_UMGANGEN" | |||
== HA9 == | |||
Ablesehinweise und Vorgezogen aktualisieren | |||
== HAA == | |||
* alle Markieren, die in externer XLS Liste vorhanden sind | |||
* Datei muss als .\NonDa\Bericht.xls gespeichert sein | |||
* die Zählernummer muss in Excel-Spalte "D" angegeben sein | |||
== HAB == | |||
IDOC Schreibweisen in den InternInfos anpassen | |||
Alt Neu | |||
aegpl_devloc= GeraeteplatzAlt= | |||
aeastl_anlage= AnlageAlt= | |||
aeger_matnr= MaterialnummerZaehlerAlt= | |||
aeger_sparte= Sparte= | |||
== HAC == | |||
* bei "Sparte=Einbau" wird "FA=," sichergestellt vorhandene Eintragungen bleiben erhalten | |||
== HE1 == | |||
* Texte im Protokoll durch andere Texte ersetzen | |||
* Erstellen Sie im Anwender-Pfad (Symbol blauer Ordner im OrgaMon-Hauptmenü) die Datei "Protokoll-Ersetzungen.txt" | |||
FF=J;PY=J | |||
FF=N;PY=N | |||
* In diesem Beispiel werden eingabe im Protokoll-Feld "FF" nach "PY" migriert | |||
== KE1 == | |||
"550G" zur Zählernummer wieder dazumachen | |||
== KE2 == | |||
Bei allen angezeigten Aufträgen wird die Sperre (VON-BIS) korigiert. Dazu wird aus der Interninfo der Eintrag | |||
<code> | <code> | ||
Ableseeinheit= | |||
</code> | |||
zu Rate gezogen. | |||
=== Baustelle mit dem RID=355 === | |||
Diese Ableseeinheit wird in der Baustelle mit dem RID=355 unter dem Feld "Zählernummer" gesucht. | |||
Die dortige Sperre wird in die aktuelle Ansicht übernommen. | |||
=== Quelltext === | |||
<code> | |||
const | |||
cAbleseEinheit = 'Ableseeinheit'; | |||
var | |||
n: integer; | |||
AUFTRAG_R: integer; | |||
qAUFTRAG: TIB_Query; | |||
cAUFTRAG: TIB_Cursor; | |||
InternInfos: TStringList; | |||
AbleseEinheit: string; | |||
sBericht: TStringList; | |||
SperreVon, SperreBis: TAnfixDate; | |||
_SperreVon, _SperreBis: TAnfixDate; | |||
AktuellesJahr: integer; | |||
FehlendeAbleseEinheiten: TStringList; | |||
begin | |||
BeginHourGlass; | |||
sBericht := TStringList.create; | |||
FehlendeAbleseEinheiten := TStringList.create; | |||
qAUFTRAG := DataModuleDatenbank.nQuery; | |||
cAUFTRAG := DataModuleDatenbank.nCursor; | |||
InternInfos := TStringList.create; | |||
with cAUFTRAG do | |||
begin | |||
sql.add('select SPERRE_VON,SPERRE_BIS from AUFTRAG where'); | |||
sql.add(' (BAUSTELLE_R=355) and'); | |||
sql.add(' (STATUS<>6) and'); | |||
sql.add(' (ZAEHLER_NUMMER=:CROSSREF)'); | |||
OPen; | |||
end; | |||
with qAUFTRAG do | |||
begin | |||
sql.add('select ZAEHLER_NUMMER,INTERN_INFO,SPERRE_VON,SPERRE_BIS from AUFTRAG where RID=:CROSSREF'); | |||
sql.add('for update'); | |||
OPen; | |||
for n := 0 to pred(lRID.count) do | |||
begin | |||
AUFTRAG_R := integer(lRID[n]); | |||
ParamByName('CROSSREF').AsInteger := AUFTRAG_R; | |||
if not(eof) then | |||
begin | |||
// Ermittlung der AbleseEinheit noch unsicher! | |||
FieldByName('INTERN_INFO').AssignTo(InternInfos); | |||
AbleseEinheit := InternInfos.Values[cAbleseEinheit]; | |||
_SperreVon := DateTime2long(FieldByName('SPERRE_VON').AsDate); | |||
_SperreBis := DateTime2long(FieldByName('SPERRE_BIS').AsDate); | |||
SperreVon := _SperreVon; | |||
SperreBis := _SperreBis; | |||
if (AbleseEinheit <> '') then | |||
begin | |||
cAUFTRAG.ParamByName('CROSSREF').AsString := AbleseEinheit; | |||
cAUFTRAG.ApiFirst; | |||
if not(cAUFTRAG.eof) then | |||
begin | |||
SperreVon := DateTime2long(cAUFTRAG.FieldByName('SPERRE_VON').AsDate); | |||
SperreBis := DateTime2long(cAUFTRAG.FieldByName('SPERRE_BIS').AsDate); | |||
end | |||
else | |||
begin | |||
sBericht.add(cERRORTEXT + | |||
{ } FieldByName('ZAEHLER_NUMMER').AsString + | |||
{ } ': Ableseeinheit "' + AbleseEinheit + | |||
{ } '" ist unbekannt!'); | |||
if (FehlendeAbleseEinheiten.indexof(AbleseEinheit) = -1) then | |||
FehlendeAbleseEinheiten.add(AbleseEinheit); | |||
end; | |||
end | |||
else | |||
begin | |||
sBericht.add(cWARNINGText + ' ' + FieldByName('ZAEHLER_NUMMER').AsString + ': Ableseeinheit ist leer!'); | |||
end; | |||
if DateOK(SperreVon) and DateOK(SperreBis) then | |||
begin | |||
AktuellesJahr := extractYear(DateGet); | |||
// Die Sperre auf das aktuelle Jahr setzen | |||
SperreVon := | |||
{ } Details2Long(AktuellesJahr, | |||
{ } extractMonth(SperreVon), | |||
{ } extractDay(SperreVon)); | |||
SperreBis := | |||
{ } Details2Long(AktuellesJahr, | |||
{ } extractMonth(SperreBis), | |||
{ } extractDay(SperreBis)); | |||
if SperreBis < SperreVon then | |||
SperreBis := | |||
{ } Details2Long(AktuellesJahr + 1, | |||
{ } extractMonth(SperreBis), | |||
{ } extractDay(SperreBis)); | |||
if (_SperreVon <> SperreVon) or (_SperreBis <> SperreBis) then | |||
begin | |||
sBericht.add(cINFOText + ' ' + FieldByName('ZAEHLER_NUMMER').AsString + ' Änderung von ' + | |||
long2date(_SperreVon) + '-' + long2date(_SperreBis) + ' auf ' + long2date(SperreVon) + '-' + | |||
long2date(SperreBis)); | |||
edit; | |||
FieldByName('SPERRE_VON').AsDate := Long2datetime(SperreVon); | |||
FieldByName('SPERRE_BIS').AsDate := Long2datetime(SperreBis); | |||
post; | |||
end; | |||
end; | |||
end; | |||
end; | |||
close; | |||
end; | |||
// | |||
if (FehlendeAbleseEinheiten.count > 0) then | |||
begin | |||
sBericht.add(''); | |||
sBericht.add('Zusammenfassung aller fehlenden Ableseeinheiten:'); | |||
sBericht.add(''); | |||
FehlendeAbleseEinheiten.sort; | |||
sBericht.addstrings(FehlendeAbleseEinheiten); | |||
end; | |||
sBericht.SaveToFile(DiagnosePath + 'KE2.txt'); | |||
InternInfos.free; | |||
qAUFTRAG.free; | |||
sBericht.free; | |||
FehlendeAbleseEinheiten.free; | |||
openShell(DiagnosePath + 'KE2.txt'); | |||
EndHourGlass; | |||
end; | |||
</code> | </code> | ||
== | == KE3 == | ||
BRIEF_STRASSE aus KUNDE_STRASSE übernehmen falls Hausnummer fehlt | |||
== KE4 == | |||
aus den Zaehler_infos Werte in das Feld ZAEHLER_NUMMER übertragen | |||
== KE5 == | |||
= | Zähler-Infos um Konstante "Quelle=xml" ergänzen! | ||
== KE6 == | |||
erneute Geolokalisierung erzwingen | |||
== KE7 == | |||
berichtigt Schreibweisen in der Intern-Info | |||
* | * Leerschritte werden entfernt | ||
* | * ":" wird entfernt | ||
== | == KE8 == | ||
* | * "60" zur Zählernummer-neu dazumachen | ||
== KE9 == | |||
* N1, N2, N3, N4 aus einer Excel-Datei korrigieren! | |||
== KEA == | |||
= | * Das Protokollfeld N2= befüllen aus "Regler-Nummer-Neu" oder "Regler-Nummer-Korrektur" oder "Regler-Nummer-Alt" sollte es noch keinen Wert haben. | ||
== KN1 == | |||
== | == KN2 == | ||
Diese Transaktion bezieht sich auf Aufträge. In der Zählernummer ist eine RID einer Warenbewegung gespeichert. Bei dieser Warenbewegung wird BEWEGT auf 'Y' gesetzt, also das bewegt Flag wird gesetzt. | |||
Aktuelle Version vom 20. April 2023, 13:13 Uhr
(alternativer Suchbegriff Transaktion)
Im Auftragsarbeitsplatz ist über das Eingabefeld ganz rechts unten (Eintrag TRN) das Ausführen von benutzerdefinierten Transaktionen möglich. Die Transaktionen beziehen sich dabei auf die angezeigten Datensätze. Stellen Sie also vor dem Aufruf sicher, dass die richtige Baustelle, sowie die gewünschten Datensätze angezeigt werden:
Im Feld "TRN" sind folgende Eingaben möglich:
AH1
EXPORT*xml überprüfen
AH2
"Monteur Informiert" - Status aus den historischen Datensätzen löschen. Dadurch entfallen zu den aktuell angezeigten Terminen die "WEGFALL" und "TERMIN ALT:" Infos.
AH3
Die Datei ".\NonDa\Bericht.xls" wird geöffnet.
- In Spalte "C" muss sich die Postleitzahl der Liegenschaft befinden
- In Spalte "D" muss sich die Zählernummer (Alt) befinden.
Es wird eine Einzelauskunft zu allen Zählern erstellt, d.h. die angefragten Zähler werden genau in dieser Reihenfolge aufgelistet wie angefragt.
AY3
Daten aus den Historischen rücksichern
AY4
Ersetzen von Texten in den Textfeldern der Aufträge. Dazu wird im Anwenderverzeichnis (blauer Ordner im Hauptmenü!) die Datei AY4.txt verarbeitet:
"MONTEUR_INFO" | "INTERN_INFO" | "ZAEHLER_INFO" | "PROTOKOLL" | "LEISTUNGS_DETAILS" | "WIEDERVORLAGE_INFO" <Suchbegriff1> "|" <NeuerBegriff1> <Suchbegriff2> "|" <NeuerBegriff2> <Suchbegriff3> "|" <NeuerBegriff3> ...
AY5
- auf einen Knopfdruck ein Bilder.zip der markierten im Anwenderverzeichnis zusammenstellen
- Im Moment nur FA, FN, auf alle Bilder auf Anfrage ausbaubar
BO1
- Diese Transaktion bezieht sich auf Aufträge und kümmert sich um das Auffinden und Zuordnen von Fotos
- Aus den Verzeichnissen in dem Systemparameter FotoRecherchePfad= werden die Fotos gesucht, so wie ihr ursprünglicher Name war, und nach den neuesten Erkenntnissen in die Internet-Ablage UND in die OrgaMon-Foto-Baustellen-Verzeichnisse kopiert.
- Manuell kann diese Aktion im Auftrag, Reiter "Protokoll & Status", der "Refresh-Knopf" ausgeführt werden
LU1
wie BO1, jedoch ohne Veränderung der InternetAblage, nur das lokale Foto-Verzeichnis wird befüllt
BO2
Diese Transaktion bezieht sich auf Aufträge. Trage die Ausbaunummer nach in BAUSTELLE_R=
BO3
Lade die csv-Datei in "./Diagnose/BO3.csv", in einer Spalte muss ein "RID" stehen (nicht zwingend aber praktisch da dann auch über den grünen OLAP-Würfel im Auftragsarbeitsplatz das Volumen angezeigt werden kann). Alle weiteren Spalten der .csv enthalten Überschriften, die ganz genau mit Datenbank-Feldern übereinstimmen. Die Inhalte werden in den Datenbankfeldern durch die Werte der .csv überschrieben.
- Beispiel einer BO3.csv
RID;REGLER_NR_NEU 123;7ITR838999222
FK1
- Trägt die OBIS-Codes, die abgelesen werden sollen in ZAEHLWERKE_AUSBAU (im Reiter Intern) ein
- da OrgaMon von einem 1:1 Wechsel ausgehen muss wird der identische Wert auch in ZAEHLWERKE_EINBAU (im Reiter Intern) eingetragen
- Sammelt alle "tgw_obiscode" in der Datei
.\Diagnose\FK1.log.txt
- Dadurch kann per Lupe bestimmt werden was draussen für verschiedene Auftragsarten vorkommen können
- Die Zählerarten sollten dementsprechend gesetzt werden
HA1
Ableseergebnisse aus .csv lesen und eintragen (mit Zählerstand)
HA2
Ableseergebnisse aus .csv lesen und eintragen (ohne Zählerstand)
HA3
aus den Interninfos diverse felder rauslöschen!
HA4
EXPORT_TAN löschen
HA5
EXPORT_TAN setzen (auf manuelle Meldung)
HA6
aus den Zaehler_infos Werte in Feld BRIEF_NAME2 übertragen
HA7
Beurteilung via QS und Ergebnis in "Jahresverbrauch"
HA8
QS deaktivieren durch Eintrag von "QS_UMGANGEN"
HA9
Ablesehinweise und Vorgezogen aktualisieren
HAA
- alle Markieren, die in externer XLS Liste vorhanden sind
- Datei muss als .\NonDa\Bericht.xls gespeichert sein
- die Zählernummer muss in Excel-Spalte "D" angegeben sein
HAB
IDOC Schreibweisen in den InternInfos anpassen
Alt Neu aegpl_devloc= GeraeteplatzAlt= aeastl_anlage= AnlageAlt= aeger_matnr= MaterialnummerZaehlerAlt= aeger_sparte= Sparte=
HAC
- bei "Sparte=Einbau" wird "FA=," sichergestellt vorhandene Eintragungen bleiben erhalten
HE1
- Texte im Protokoll durch andere Texte ersetzen
- Erstellen Sie im Anwender-Pfad (Symbol blauer Ordner im OrgaMon-Hauptmenü) die Datei "Protokoll-Ersetzungen.txt"
FF=J;PY=J FF=N;PY=N
- In diesem Beispiel werden eingabe im Protokoll-Feld "FF" nach "PY" migriert
KE1
"550G" zur Zählernummer wieder dazumachen
KE2
Bei allen angezeigten Aufträgen wird die Sperre (VON-BIS) korigiert. Dazu wird aus der Interninfo der Eintrag
Ableseeinheit=
zu Rate gezogen.
Baustelle mit dem RID=355
Diese Ableseeinheit wird in der Baustelle mit dem RID=355 unter dem Feld "Zählernummer" gesucht. Die dortige Sperre wird in die aktuelle Ansicht übernommen.
Quelltext
const
cAbleseEinheit = 'Ableseeinheit';
var
n: integer;
AUFTRAG_R: integer;
qAUFTRAG: TIB_Query;
cAUFTRAG: TIB_Cursor;
InternInfos: TStringList;
AbleseEinheit: string;
sBericht: TStringList;
SperreVon, SperreBis: TAnfixDate;
_SperreVon, _SperreBis: TAnfixDate;
AktuellesJahr: integer;
FehlendeAbleseEinheiten: TStringList;
begin
BeginHourGlass;
sBericht := TStringList.create;
FehlendeAbleseEinheiten := TStringList.create;
qAUFTRAG := DataModuleDatenbank.nQuery;
cAUFTRAG := DataModuleDatenbank.nCursor;
InternInfos := TStringList.create;
with cAUFTRAG do
begin
sql.add('select SPERRE_VON,SPERRE_BIS from AUFTRAG where');
sql.add(' (BAUSTELLE_R=355) and');
sql.add(' (STATUS<>6) and');
sql.add(' (ZAEHLER_NUMMER=:CROSSREF)');
OPen;
end;
with qAUFTRAG do
begin
sql.add('select ZAEHLER_NUMMER,INTERN_INFO,SPERRE_VON,SPERRE_BIS from AUFTRAG where RID=:CROSSREF');
sql.add('for update');
OPen;
for n := 0 to pred(lRID.count) do
begin
AUFTRAG_R := integer(lRID[n]);
ParamByName('CROSSREF').AsInteger := AUFTRAG_R;
if not(eof) then
begin
// Ermittlung der AbleseEinheit noch unsicher!
FieldByName('INTERN_INFO').AssignTo(InternInfos);
AbleseEinheit := InternInfos.Values[cAbleseEinheit];
_SperreVon := DateTime2long(FieldByName('SPERRE_VON').AsDate);
_SperreBis := DateTime2long(FieldByName('SPERRE_BIS').AsDate);
SperreVon := _SperreVon;
SperreBis := _SperreBis;
if (AbleseEinheit <> ) then
begin
cAUFTRAG.ParamByName('CROSSREF').AsString := AbleseEinheit;
cAUFTRAG.ApiFirst;
if not(cAUFTRAG.eof) then
begin
SperreVon := DateTime2long(cAUFTRAG.FieldByName('SPERRE_VON').AsDate);
SperreBis := DateTime2long(cAUFTRAG.FieldByName('SPERRE_BIS').AsDate);
end
else
begin
sBericht.add(cERRORTEXT +
{ } FieldByName('ZAEHLER_NUMMER').AsString +
{ } ': Ableseeinheit "' + AbleseEinheit +
{ } '" ist unbekannt!');
if (FehlendeAbleseEinheiten.indexof(AbleseEinheit) = -1) then
FehlendeAbleseEinheiten.add(AbleseEinheit);
end;
end
else
begin
sBericht.add(cWARNINGText + ' ' + FieldByName('ZAEHLER_NUMMER').AsString + ': Ableseeinheit ist leer!');
end;
if DateOK(SperreVon) and DateOK(SperreBis) then
begin
AktuellesJahr := extractYear(DateGet);
// Die Sperre auf das aktuelle Jahr setzen
SperreVon :=
{ } Details2Long(AktuellesJahr,
{ } extractMonth(SperreVon),
{ } extractDay(SperreVon));
SperreBis :=
{ } Details2Long(AktuellesJahr,
{ } extractMonth(SperreBis),
{ } extractDay(SperreBis));
if SperreBis < SperreVon then
SperreBis :=
{ } Details2Long(AktuellesJahr + 1,
{ } extractMonth(SperreBis),
{ } extractDay(SperreBis));
if (_SperreVon <> SperreVon) or (_SperreBis <> SperreBis) then
begin
sBericht.add(cINFOText + ' ' + FieldByName('ZAEHLER_NUMMER').AsString + ' Änderung von ' +
long2date(_SperreVon) + '-' + long2date(_SperreBis) + ' auf ' + long2date(SperreVon) + '-' +
long2date(SperreBis));
edit;
FieldByName('SPERRE_VON').AsDate := Long2datetime(SperreVon);
FieldByName('SPERRE_BIS').AsDate := Long2datetime(SperreBis);
post;
end;
end;
end;
end;
close;
end;
//
if (FehlendeAbleseEinheiten.count > 0) then
begin
sBericht.add();
sBericht.add('Zusammenfassung aller fehlenden Ableseeinheiten:');
sBericht.add();
FehlendeAbleseEinheiten.sort;
sBericht.addstrings(FehlendeAbleseEinheiten);
end;
sBericht.SaveToFile(DiagnosePath + 'KE2.txt');
InternInfos.free;
qAUFTRAG.free;
sBericht.free;
FehlendeAbleseEinheiten.free;
openShell(DiagnosePath + 'KE2.txt');
EndHourGlass;
end;
KE3
BRIEF_STRASSE aus KUNDE_STRASSE übernehmen falls Hausnummer fehlt
KE4
aus den Zaehler_infos Werte in das Feld ZAEHLER_NUMMER übertragen
KE5
Zähler-Infos um Konstante "Quelle=xml" ergänzen!
KE6
erneute Geolokalisierung erzwingen
KE7
berichtigt Schreibweisen in der Intern-Info
- Leerschritte werden entfernt
- ":" wird entfernt
KE8
- "60" zur Zählernummer-neu dazumachen
KE9
- N1, N2, N3, N4 aus einer Excel-Datei korrigieren!
KEA
- Das Protokollfeld N2= befüllen aus "Regler-Nummer-Neu" oder "Regler-Nummer-Korrektur" oder "Regler-Nummer-Alt" sollte es noch keinen Wert haben.
KN1
KN2
Diese Transaktion bezieht sich auf Aufträge. In der Zählernummer ist eine RID einer Warenbewegung gespeichert. Bei dieser Warenbewegung wird BEWEGT auf 'Y' gesetzt, also das bewegt Flag wird gesetzt.