-
Es mag auch noch etwas länger gedauert haben.
Die Stunde war nur ein Schätzwert, jedoch werden die Einträge im Protokoll mit der Zeit in immer kürzeren Abschnitten geschrieben (ohne Batch).
Es gibt insgesamt 15038 Aufrufe.
START Zeitstempel: 2016-07-06-17.09.07.079
END Zeitstempel: 2016-07-06-17.09.12.591
Was dann diesmal sogar ~5 Sekunden waren.
Hier mein Programmcode:
Code:
exec sql declare Kundecursor cursor for
select Kfirma, KKunde
from Kunde;
exec sql open Kundecursor;
dow sqlcode = 0;
exec sql fetch Kundecursor into :DS_Kunde;
if zon_Kunde = 0;
iter;
endif;
Prottext = ds_timestamp + ' BEGINN Anzahl der Auträge';
exec sql insert into ECPPROT (PROTOKOLL) VALUES(:Prottext);
exec sql declare counter cursor for
select count(*) from (
select Count(*)
from auftrag
where AKunde = :zon_Kunde and
AFirma = :zon_firma
group by Aauftragsnummer)
as Ergebnis;
exec sql open counter;
exec sql fetch counter into :zon_Anzahl;
exec sql close counter;
ds_timestamp = %char(%timestamp());
Prottext = ds_timestamp + ' ENDE Anzahl der Aufträge';
exec sql insert into ECPPROT (PROTOKOLL) VALUES(:Prottext);
ds_timestamp = %char(%timestamp());
Prottext = ds_timestamp + ' BEGINN Letzer Auftrag';
exec sql insert into ECPPROT (PROTOKOLL) VALUES(:Prottext);
exec sql declare Auftrag_cursor cursor for
select EKunde, AKundenname, EFirma, EAuftragsnummer,
EJahr, EMonat, ETAG
from Eintrag
join (select AKundenname, AFirma, AAuftragsnummer
from Auftrag)
as Auft
on EFirma = AFirma and
EAuftragsnummer = AAuftragsnummer where EKunde = :zon_kunde
group by EKunde, AKundenname,
EFirma, EAuftragsnummer, EJahr, EMonat, ETag
having sum(EMenge) > 0 and max(digits(EJahr) concat
digits(EMonat) concat
digits(ETag)) =
digits(EJahr) concat
digits(EMonat) concat
digits(ETag);
exec sql open Auftrag_cursor;
exec sql fetch Auftrag_cursor into :ds_auftrag;
exec sql close Auftrag_cursor;
ds_timestamp = %char(%timestamp());
Prottext = ds_timestamp + ' ENDE Letzter Auftrag';
exec sql insert into ECPPROT (PROTOKOLL) VALUES(:Prottext);
if ds_auftrag.zon_auftragsnummer <> 0;
exec sql insert into KundenSumme (HFirma, HKundennnummer, HKundenname,
HAuftragsnummer, HAnzahl)
values(:ds_auftrag.zon_firma,
:ds_auftrag.zon_Kundennummer,
:ds_auftrag.zon_Kundenname,
:ds_auftrag.zon_Auftragsnummer,
:zon_anzahl);
endif;
clear ds_auftrag;
clear zon_anzahl;
clear ds_kunde;
enddo;
Es müssten in dem Submit nur die hier angesprochenen Dateien offen sein,
und manuell auch nicht viel mehr.
Ich hoffe ihr könnt damit mehr anfangen,
und vielen Dank schon einmal!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks