Mehere Datensätze aus einer Tabelle Kopieren
Ich habe eine Tabelle in welcher Daten unsere Filialen erfasst werden.
Für einen monatlichen Abgleich muss ich jetzt bestimmt Daten in eine 2 Tabelle übernehmen. Mit meiner erstellten Formel funktioniert dies allerdings nicht, es wird hier nur ein Eintrag erzeugt welcher fortlaufen überschrieben wird, es sollen aber alle einträge als jweile eigener Datensatz in der Zieltabelle erzeugt werden.
Was habe ich falsch gemacht?
let me := this;
let m := 'Abrechungs Monat';
let j := 'Abrechnungs Jahr';
let e := (create 'Abrechnung Telekom');
do as server
for p in select Aktivierungsliste where 'Mobilfunk/Festnetz' = 1 and Vertragsart.Vertragsart like "Telekom" and 'In Prov. Abrechnung übernommen' != true and 'Erfassung abgeschlossen' = true do
if month(p.'Aktivierungs-Datum') = m and year(p.'Aktivierungs-Datum') = j then
e.(Niederlassung := p.Standort.Niederlassung);
e.(VO := p.VO);
e.(Vorname := p.Kunde.Vorname);
e.(Nachname := p.Kunde.Kundenname);
e.(Datum := p.'Aktivierungs-Datum');
e.(Bindefrist = p.Bindefrist);
e.(Rufnummer := p.'Rufnummer ohne Sonderzeichen');
e.(Tarif := p.'Tarif aktuell'.Tarifname);
e.(Auftrtagsnummer := p.Auftragsnummer);
e.('Kartennr.' := p.Kartennummer);
e.(IXUS := p.IXUS);
e.(Art := p.'Zusendung/Mitgabe');
e.('Anbieter Gerät' := p.'Anbieter Geraet');
e.('Anbieter IMEI' := p.'Anbieter IMEI');
e.('verkauftes Gerät' := p.'verkauftes Geraet');
e.('Verk. Gerät IMEI' := p.'verkaufte IMEI');
e.(Grundprovision := p.Grundprovision);
e.('Tarif Push 2' := p.'Tarif Push 2');
e.('Tarif Push 3' := p.'Tarif Push 2');
p.('In Prov. Abrechnung übernommen' := true)
end
end
end
2 Antworten
-
Hallo Martin, wenn ich es richtig sehe, müsstest du den "create"-Befehl in die for-Schleife packen, sonst wird halt immer wieder auf denselben, in der Variable "e" gespeicherten Datensatz zugegriffen. Versuch's mal so:
do as server
let me := this;
let m := 'Abrechungs Monat';
let j := 'Abrechnungs Jahr';
for p in select Aktivierungsliste where 'Mobilfunk/Festnetz' = 1 and Vertragsart.Vertragsart like "Telekom" and 'In Prov. Abrechnung übernommen' != true and 'Erfassung abgeschlossen' = true do
if month(p.'Aktivierungs-Datum') = m and year(p.'Aktivierungs-Datum') = j then
let e := (create 'Abrechnung Telekom');
e.(Niederlassung := p.Standort.Niederlassung);
e.(VO := p.VO);
e.(Vorname := p.Kunde.Vorname);
[... usw.]
end
end
end
-
Hallo,
vielen Dank, genau so hat es funktioniert. Ich wusst nur nicht wie ich den loop genau hinbekommen
vielen dank :)
Content aside
- vor 3 JahrenZuletzt aktiv
- 2Antworten
- 421Ansichten