24. April 2012 09:51
24. April 2012 10:10
htl : Record htl_daten;
SalesHeader : Record 36;
SalesLine: Record 37;
LastOrderNo : Code 20;
htl.SETCURRENTKEY(Belegnummer,Artikelnummer);
IF htl.FINDSET THEN BEGIN
WITH SalesLine DO BEGIN
REPEAT
IF htl.Bestellnummer <> LastOrderNo THEN BEGIN
LasrOrderNo := htl.Bestellnummer;
SalesHeader.INIT;
...
SalesHeader.INSERT(TRUE);
END;
INIT;
"Document Type" := SalesHeader."Document Type";
"Document No." := SalesHeader."Document No.";
Type := Type::Item;
"No." := hlt.Artikelnummer;
...
INSERT(TRUE);
UNTIL htl.NEXT = 0;
END;
END;
24. April 2012 11:53
jtl_daten.SETCURRENTKEY(jtl_daten."lfd. nr");
IF jtl_daten.FINDSET THEN BEGIN
WITH zeile DO BEGIN
REPEAT
IF jtl_daten.auftragsnummer <> LastOrderNo THEN BEGIN
LastOrderNo := jtl_daten.auftragsnummer;
Sales_Header.INIT;
Sales_Header."Document Type" := Sales_Header."Document Type"::Order;
Sales_Header."No." := '';
Sales_Header.INSERT(TRUE);
Sales_Header.SetHideValidationDialog(TRUE);
Sales_Header.VALIDATE("Sell-to Customer No.", '2946000000');
Sales_Header."Ship-to Name" := jtl_daten.name1;
Sales_Header."Ship-to Name 2" := jtl_daten.firma;
Sales_Header."Ship-to Address" := jtl_daten.adresse1;
Sales_Header."Ship-to City" := jtl_daten.ort;
Sales_Header."Ship-to Post Code" := FORMAT(jtl_daten.plz);
Sales_Header."Ship-to Address 2" := jtl_daten.adresse2;
Sales_Header."External Document No." := jtl_daten.auftragsnummer;
Sales_Header."Ship-to Contact" := jtl_daten.kontakt;
END;
INIT;
//j :=j+ 10000;
//zeile.VALIDATE(zeile."Line No.", j);
zeile."Line No." := '';
zeile.INSERT;
zeile."Document Type" := zeile."Document Type" :: Order;
zeile."Document No." := Sales_Header."No.";
zeile."Sell-to Customer No." := Sales_Header."Sell-to Customer No.";
MODIFY;
//zeile."Line No." := j;
Type := Type::Item;
zeile.VALIDATE(zeile."No.", jtl_daten.ean);
zeile.MODIFY;
zeile.Quantity := jtl_daten.menge;
INSERT(TRUE);
UNTIL jtl_daten.NEXT = 0;
END;
END;
24. April 2012 12:10
24. April 2012 12:15
Suche doch einfach je Zeile, ob es einen Auftrag mit der Auftragsnummer im Feld "External Document No." schon gibt. Wenn nicht, legst du den Header an. Und danach suchst du immer die letzte Zeile des Auftrags und ergänzt die neue.
24. April 2012 12:16
// Header
LineNo := 10000;
Header.INSERT
...
// Line
Line."Line No." := LineNo;
LineNo := LineNo + 10000;
...
24. April 2012 12:53
Danjo hat geschrieben:Das mit der Zeilennummer hängt jetzt davon ab ob du genrell neue Aufträge erstellst oder ob auch welche ergänzt werden.
24. April 2012 13:00
McClane hat geschrieben:Danjo hat geschrieben:Das mit der Zeilennummer hängt jetzt davon ab ob du genrell neue Aufträge erstellst oder ob auch welche ergänzt werden.
Beides, oder hab ich das nun missverstanden? Ein neuer Auftrag wird erstellt, sobald die Auftragsnummer in der csv-Datei sich geändert hat. Ist es die gleiche wie in der Zeile davor, wird angehängt.
24. April 2012 13:11
Danjo hat geschrieben:Ich hatte es so verstanden das eine CSV-Datei importiert wird und diese dann Zeile für Zeile abgearbeitet wird, wobei sich alle x Zeilen die Bestellnummer ändert. Und beim nächsten mal ist es eine neue CSV-Datei.
24. April 2012 13:13
24. April 2012 13:16
jtl_daten.SETCURRENTKEY(jtl_daten."lfd. nr");
IF jtl_daten.FINDSET THEN BEGIN
WITH zeile DO BEGIN
REPEAT
IF jtl_daten.auftragsnummer <> LastOrderNo THEN BEGIN
Line := 10000;
LastOrderNo := jtl_daten.auftragsnummer;
Sales_Header.INIT;
Sales_Header."Document Type" := Sales_Header."Document Type"::Order;
Sales_Header."No." := '';
Sales_Header.INSERT(TRUE);
Sales_Header.SetHideValidationDialog(TRUE);
Sales_Header.VALIDATE("Sell-to Customer No.", '2946000000');
Sales_Header."Ship-to Name" := jtl_daten.name1;
Sales_Header."Ship-to Name 2" := jtl_daten.firma;
Sales_Header."Ship-to Address" := jtl_daten.adresse1;
Sales_Header."Ship-to City" := jtl_daten.ort;
Sales_Header."Ship-to Post Code" := FORMAT(jtl_daten.plz);
Sales_Header."Ship-to Address 2" := jtl_daten.adresse2;
Sales_Header."External Document No." := jtl_daten.auftragsnummer;
Sales_Header."Ship-to Contact" := jtl_daten.kontakt;
END;
INIT;
zeile.INSERT;
zeile."Document Type" := zeile."Document Type" :: Order;
zeile."Document No." := Sales_Header."No.";
zeile."Line No." := Line;
Line := Line + 10000;
zeile."Sell-to Customer No." := '2946000000';
zeile.MODIFY;
Type := Type::Item;
zeile.VALIDATE(zeile."No.", jtl_daten.ean);
zeile.MODIFY;
zeile.Quantity := jtl_daten.menge;
INSERT(TRUE);
UNTIL jtl_daten.NEXT = 0;
END;
END;
24. April 2012 13:20
24. April 2012 13:25
jtl_daten.SETCURRENTKEY(jtl_daten."lfd. nr");
IF jtl_daten.FINDSET THEN BEGIN
WITH zeile DO BEGIN
REPEAT
IF jtl_daten.auftragsnummer <> LastOrderNo THEN BEGIN
Line := 10000;
LastOrderNo := jtl_daten.auftragsnummer;
Sales_Header.INIT;
Sales_Header."Document Type" := Sales_Header."Document Type"::Order;
Sales_Header."No." := '';
Sales_Header.INSERT(TRUE);
Sales_Header.SetHideValidationDialog(TRUE);
Sales_Header.VALIDATE("Sell-to Customer No.", '2946000000');
Sales_Header."Ship-to Name" := jtl_daten.name1;
Sales_Header."Ship-to Name 2" := jtl_daten.firma;
Sales_Header."Ship-to Address" := jtl_daten.adresse1;
Sales_Header."Ship-to City" := jtl_daten.ort;
Sales_Header."Ship-to Post Code" := FORMAT(jtl_daten.plz);
Sales_Header."Ship-to Address 2" := jtl_daten.adresse2;
Sales_Header."External Document No." := jtl_daten.auftragsnummer;
Sales_Header."Ship-to Contact" := jtl_daten.kontakt;
END;
INIT;
"Document Type" := zeile."Document Type" :: Order;
"Document No." := Sales_Header."No.";
"Line No." := Line;
Line := Line + 10000;
"Sell-to Customer No." := '2946000000';
INSERT(TRUE);
Type := Type::Item;
VALIDATE(zeile."No.", jtl_daten.ean);
Quantity := jtl_daten.menge;
//INSERT(TRUE);
MODIFY;
UNTIL jtl_daten.NEXT = 0;
END;
END;
24. April 2012 13:29
24. April 2012 13:34
jtl_daten.SETCURRENTKEY(jtl_daten."lfd. nr");
IF jtl_daten.FINDSET THEN BEGIN
WITH zeile DO BEGIN
REPEAT
IF jtl_daten.auftragsnummer <> LastOrderNo THEN BEGIN
Line := 10000;
LastOrderNo := jtl_daten.auftragsnummer;
Sales_Header.INIT;
Sales_Header."Document Type" := Sales_Header."Document Type"::Order;
Sales_Header."No." := '';
Sales_Header.INSERT(TRUE);
Sales_Header.SetHideValidationDialog(TRUE);
Sales_Header.VALIDATE("Sell-to Customer No.", '2946000000');
Sales_Header."Ship-to Name" := jtl_daten.name1;
Sales_Header."Ship-to Name 2" := jtl_daten.firma;
Sales_Header."Ship-to Address" := jtl_daten.adresse1;
Sales_Header."Ship-to City" := jtl_daten.ort;
Sales_Header."Ship-to Post Code" := FORMAT(jtl_daten.plz);
Sales_Header."Ship-to Address 2" := jtl_daten.adresse2;
Sales_Header."External Document No." := jtl_daten.auftragsnummer;
Sales_Header."Ship-to Contact" := jtl_daten.kontakt;
Sales_Header.MODIFY;
END;
INIT;
"Document Type" := zeile."Document Type" :: Order;
"Document No." := Sales_Header."No.";
"Line No." := Line;
Line := Line + 10000;
"Sell-to Customer No." := '2946000000';
INSERT(TRUE);
Type := Type::Item;
VALIDATE(zeile."No.", jtl_daten.ean);
Quantity := jtl_daten.menge;
//INSERT(TRUE);
MODIFY;
UNTIL jtl_daten.NEXT = 0;
END;
END;
24. April 2012 14:08
24. April 2012 14:19
24. April 2012 14:47
24. April 2012 14:50