19. Oktober 2008 02:31
SalesSetup.GET;
OnAfterGetRecord()
Filename := SalesSetup."UPS Path+File";
Datei.TEXTMODE(TRUE);
Datei.WRITEMODE(TRUE);
IF Datei.OPEN(Filename) THEN BEGIN
Datei.SEEK(Datei.LEN);
Datei.TRUNC;
END ELSE
Datei.CREATE(Filename);
SchreibString := DELCHR("Sales Invoice Header"."No.",'<>') + ';' +
DELCHR("Sales Invoice Header"."Sell-to Customer No.",'<>') + ';' +
DELCHR("Sales Invoice Header"."Ship-to Name",'<>') + ';' +
DELCHR("Sales Invoice Header"."Ship-to Name 2",'<>') + ';';
IF DELCHR("Sales Invoice Header"."Ship-to Address") <> '' THEN
SchreibString := SchreibString + DELCHR("Sales Invoice Header"."Ship-to Address",'<>') + ';'
ELSE
SchreibString := SchreibString + DELCHR("Sales Invoice Header"."Ship-to Address 2",'<>') + ';';
IF "Sales Invoice Header"."Ship-to Country Code" = '' THEN
SchreibString := SchreibString + 'DE' + ';'
ELSE
SchreibString := SchreibString + DELCHR("Sales Invoice Header"."Ship-to Country Code",'<>') + ';';
SchreibString := SchreibString + DELCHR("Sales Invoice Header"."Ship-to Post Code",'<>') + ';' +
DELCHR("Sales Invoice Header"."Ship-to City",'<>') + ';' +
DELCHR("Sales Invoice Header"."Shipment Method Code",'<>') + ';' +
DELCHR("Sales Invoice Header"."Sell-to Phone No.",'<>') + ';' +
DELCHR("Sales Invoice Header"."Sell-to E-Mail",'<>') + ';';
Datei.WRITE(DELCHR(SchreibString,'>'));
OnPostDataItem()
Datei.CLOSE;
19. Oktober 2008 09:40
20. Oktober 2008 15:34
Documentation()
OnPreDataItem()
SalesSetup.GET;
OnAfterGetRecord()
Filename := SalesSetup."UPS Path+File";
Datei.TEXTMODE(TRUE);
Datei.WRITEMODE(TRUE);
IF Datei.OPEN(Filename) THEN BEGIN
Datei.SEEK(Datei.LEN);
Datei.TRUNC;
END ELSE
Datei.CREATE(Filename);
SchreibString := DELCHR("Sales Invoice Header"."No.",'<>') + ';' +
DELCHR("Sales Invoice Header"."Sell-to Customer No.",'<>') + ';' +
DELCHR("Sales Invoice Header"."Ship-to Name",'<>') + ';' +
DELCHR("Sales Invoice Header"."Ship-to Name 2",'<>') + ';';
IF DELCHR("Sales Invoice Header"."Ship-to Address") <> '' THEN
SchreibString := SchreibString + DELCHR("Sales Invoice Header"."Ship-to Address",'<>') + ';'
ELSE
SchreibString := SchreibString + DELCHR("Sales Invoice Header"."Ship-to Address 2",'<>') + ';';
IF "Sales Invoice Header"."Ship-to Country Code" = '' THEN
SchreibString := SchreibString + 'DE' + ';'
ELSE
SchreibString := SchreibString + DELCHR("Sales Invoice Header"."Ship-to Country Code",'<>') + ';';
SchreibString := SchreibString + DELCHR("Sales Invoice Header"."Ship-to Post Code",'<>') + ';' +
DELCHR("Sales Invoice Header"."Ship-to City",'<>') + ';' +
DELCHR("Sales Invoice Header"."Shipment Method Code",'<>') + ';' +
DELCHR("Sales Invoice Header"."Sell-to Phone No.",'<>') + ';' +
DELCHR("Sales Invoice Header"."Sell-to E-Mail",'<>') + ';';
SchreibStringdec := FORMAT("Sales Invoice Header"."Amount Including VAT",1,'<Integer Thousand><Decimals,3>');
Datei.WRITE(DELCHR(SchreibString + SchreibStringdec,'>'));
OnPostDataItem()
Datei.CLOSE;
20. Oktober 2008 15:41
"Sales Invoice Header".CALCFIELDS("Amount Including VAT"); // NEU
SchreibStringdec := FORMAT("Sales Invoice Header"."Amount Including VAT",1,'<Integer Thousand><Decimals,3>');
Filename := SalesSetup."UPS Path+File";
Datei.TEXTMODE(TRUE);
Datei.WRITEMODE(TRUE);
IF Datei.OPEN(Filename) THEN BEGIN
Datei.SEEK(Datei.LEN);
Datei.TRUNC;
END ELSE
Datei.CREATE(Filename);
SchreibString := DELCHR("No.",'<>') + ';' +
DELCHR("Sell-to Customer No.",'<>') + ';' +
DELCHR("Ship-to Name",'<>') + ';' +
DELCHR("Ship-to Name 2",'<>') + ';';
IF DELCHR("Ship-to Address") <> '' THEN
SchreibString := SchreibString + DELCHR("Ship-to Address",'<>') + ';'
ELSE
SchreibString := SchreibString + DELCHR("Ship-to Address 2",'<>') + ';';
IF "Ship-to Country Code" = '' THEN
SchreibString := SchreibString + 'DE' + ';'
ELSE
SchreibString := SchreibString + DELCHR("Ship-to Country Code",'<>') + ';';
SchreibString := SchreibString + DELCHR("Ship-to Post Code",'<>') + ';' +
DELCHR("Ship-to City",'<>') + ';' +
DELCHR("Shipment Method Code",'<>') + ';' +
DELCHR("Sell-to Phone No.",'<>') + ';' +
DELCHR("Sell-to E-Mail",'<>') + ';';
CALCFIELDS("Amount Including VAT");
SchreibStringdec := FORMAT("Amount Including VAT",1,'<Integer Thousand><Decimals,3>');
Datei.WRITE(DELCHR(SchreibString + SchreibStringdec,'>'));
DELCHR(Feldname,'<>')
20. Oktober 2008 18:11
PS:
Mal für Blöde und Faule wie mich - was möchtest du damit grundsätzlich bezwecken?
Code: Alles auswählen
DELCHR(Feldname,'<>')
20. Oktober 2008 19:40
andyypsilon hat geschrieben:vielen Dank für die schnelle Hilfe und die Anmerkungen. Finds Klasse, wenn Lösungen so wie von Dir noch kommentiert werden, denn nur so kann man dazu lernen.
Es hat im übrigen wunderbar geklappt!
Also ich hab mir das so gedacht, dass alles entfernt wird, was ungleich des Feldnamens ist.
PS: Weiss nicht ob ich dafür jetzt noch nen eigenen Beitrag aufmachen muß, aber jetzt mal ne Frage an Dich. Woher weiß man, solche Dinge wie mit dem Calc Field!? Erfahrung, Dokumentionen, Leitfäden!?
21. Oktober 2008 08:49
Wahrscheinlich denk ich zu komliziert ... Kannst du mir ein einfaches Beispiel geben?
NewString := DELCHR(String [, Where] [, Which])NewString := DELCHR(String [, Where] [, Which])
21. Oktober 2008 09:08
andyypsilon hat geschrieben:und bin dann einfach davon ausgegangen, dass ich bei [Where] mit '<>' alles eliminiere, was ungleich des Feldnamens ist.
27. Oktober 2008 14:47
Nein, bitte ein funktionales Beispiel.
Was könnte in einem Feld drin stehen, was möchtest du aber nicht drin haben? Wozu verwendest du also DELCHR?
Example
This example shows how to use the DELCHR function.
String := Text000;
Where := '<>';
Which := 'Ws';
NewString := DELCHR(String, Where, Which);
MESSAGE(Text001, String,NewString);
Create the following text constants in the C/AL Globals window:
Text Constant
ENU Value
Text000
'Windy Solutions'
Text001
'>%1<, is transformed to: >%2<'
The two strings are shown in the message window as:
>Windy Solutions<, is transformed to: >indy Solution<
27. Oktober 2008 15:00
Onlinehilfe hat geschrieben:If you do not define any characters, the system uses the equals sign (=) as the default for Where and spaces as the default for Which. It then deletes all spaces.