[Gelöst]CC Swift/BIC eintragen

8. November 2013 16:52

Hallo,

ich komm da nicht hinter ich habe die beiden Tabellen Bank und Bankleitzahl, in der BLZ Tabelle gibt es das Feld swift den Inhalt daraus möchte ich via Report in einem Textfeld in die Tabelle Bank speichern aber irgendwie kriege ich das nicht hin.

Die PK sind Code und BLZ die sich gleich sind. Also es gibt in der BLZ Tabelle eine BLZ die einem Code aus der Bank Tabelle gleicht. Bisher passiert folgendes:

Unbenanntes Bild.png


er druckt mir für jeden Swift code einmal die kompletee Tabelle Bank aus warum auch immer eigentlich sollte jede Bank nun einen Swift Code erhalten und dies soll in dem Feld links neben dem Jetzigen swift code erscheinen.

Dazu gibt es die Obtion Update das Checkbox da der Report erst dann änderungen machen soll wenn diese Box aktiv ist zur sicherheit.

Folgenden Code habe ich bereits:

Siehe unten

Und meine Section sieht wie folg aus:

Siehe unten

Wäre über eine schnelle und umfangreiche Hilfe sehr dankbar.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Kevin.TA am 12. November 2013 14:13, insgesamt 1-mal geändert.

Re: CC Swift/BIC eintragen

12. November 2013 08:55

Hat niemand eine Idee??

brauche dringen Hilfe

Re: CC Swift/BIC eintragen

12. November 2013 09:49

Du möchtest mit deinem Report Feld "DEL_Textschlüssel (ZV)" in TBank aktualisieren?

Als erstes solltest du dich mit GET genauer auseinandersetzen: siehe hier. Ist "Swift/BIC" überhaupt Primärschlüssel von Tabelle TBank? Wenn nein, darfst du hier gar nicht mit GET arbeiten.

Was wolltest du erreichen mit?
Code:
IF DoUpdate THEN BEGIN
  MODIFY
(TRUE);
END ELSE BEGIN
  MODIFY
(FALSE);
END

Schau mal in der Onlinehilfe nach, was Paramater TRUE bzw. FALSE steuert ...

Dann noch ein Tipp: statt IF Swift/BIC <> '' THEN BEGIN ... solltest du DataItem "Bank Branch No." auf eben dieses Feld filtern.
Ändert vom Ergebnis her nichts, ist aber performanter.

Ich empfehle dir, dich erst mehr in die Programmierung einzuarbeiten, bevor du dich an solche Stapelverarbeiten wagst - du kannst dir sonst sehr viel Daten kaputt machen.

Re: CC Swift/BIC eintragen

12. November 2013 09:51

Natalie hat geschrieben:
Ich empfehle dir, dich erst mehr in die Programmierung einzuarbeiten, bevor du dich an solche Stapelverarbeiten wagst - du kannst dir sonst sehr viel Daten kaputt machen.


Richtig, als Ergänzung für den Threaderöffner: www.navision24.de => dort stehen die meisten C/AL Befehle samt Bsp. und Erläuterung.

Re: CC Swift/BIC eintragen

12. November 2013 10:06

Also ich habe die beiden Tabellen 'Bank' [PK = BLZ] und 'Bankleitzahl' [PK = Code] jetzt giobt es in der Tabelle Bank jeweils eine BLZ z.b 400142635 oder so und in der Tabelle 'Bankleitzahl' einen 'Code' mit der selben Zahl.

Nun ist in der Tabelle 'BLZ' der Swift/Code und dieser soll vorersteinmal in das Feld 'DEL_Textschlüssel (ZV)' in der Tabelle 'Bank' eingetragen werden. Undzwar der Datensatz der die selbe 'BLZ' aus 'Bank' wie der 'Code' aus 'BLZ' hat soll in die 'Bank' der 'Swift/BIC' eingetragen werden.

Hoffe es ist verständlich ausgedrückt???

Das Problem ist einfach der es sich den ersten nicht leeren 'Swift/BIC' nimmt und dann die ganze Tabelle 'Bank' durchläuft aber ohne den 'Swift/BIC' in das Feld zu schreiben.

Re: CC Swift/BIC eintragen

12. November 2013 10:13

Kevin.TA hat geschrieben:Das Problem ist einfach der es sich den ersten nicht leeren 'Swift/BIC' nimmt und dann die ganze Tabelle 'Bank' durchläuft aber ohne den 'Swift/BIC' in das Feld zu schreiben.

Er durchläuft die Bank-Tabelle nur deshalb komplett, weil du ihm ein zweites DataItem Bank mitgegeben hast. Man sieht das in deinem Screenshot der Sections. Dieses DataItem dient momentan nur dem Ausdruck, solange da kein Quelltext drinsteht.
Relevant für das Update der Bank-Tabelle ist aber nur der Quelltext in DataItem "Bank Branch No.". Und hier bist du auf meinen Hinweis (und Link) gar nicht eingegangen ... Du Verwendest einfach ein Bank.GET ohne Parameter. So kann NAV gar nicht den richtigen Bank-Datensatz finden und aktualisieren ...

Eigentlich kannst du auf den gesamten Quelltext im ersten DataItem (samt der Variablen) verzichten.
Das Feld kannst du auch im zweiten DataItem füllen und dafür die bereits vorhandene Variable "Bank" nutzen. Dem Feld den richtigen Wert zuweisen, dann nur noch MODIFY, wenn DoUpdate gesetzt ist ...

Re: CC Swift/BIC eintragen

12. November 2013 10:15

Also Bank DataItem weg und dann Get(Bank.BLZ) schreiben damit ich die BLZ´s bekomme?

Re: CC Swift/BIC eintragen

12. November 2013 10:22

Kevin.TA hat geschrieben:Also Bank DataItem weg und dann Get(Bank.BLZ) schreiben damit ich die BLZ´s bekomme?

Nein.

Du hast doch "Bank" bereits mit "Bank Branch No." über den DataItemLink verknüpft, oder? Dann hast du zur Laufzeit von "Bank" bereits die richtige Bank am Wickel und musst sie nur noch ändern - aber nicht mehr holen. Und zwar in DataItem "Bank", Trigger OnAfterGetRecord.

Re: CC Swift/BIC eintragen

12. November 2013 10:33

Natürlich klar.

Aber er schreibt das dann nicht mehr ins Feld hinein weil er die Sätze von TBLZ und TBank schon im Hauptspeicher hat oder sehe ich das falsch?

Re: CC Swift/BIC eintragen

12. November 2013 10:44

Kevin.TA hat geschrieben:oder sehe ich das falsch?

Ja ;-)
Zum Zeitpunkt von OnAfterGetRecord hast du den Datensatz am Wickel - und darfst ihn noch zur Laufzeit ändern. Das geänderte Ergebnis wird sogar im Ausdruck berücksichtigt.
Dies wird gern übrigens auch als Trick für "normale" Reports verwendet, wenn etwas anderes angedruckt werden soll, als eigentlich im Feld drinsteht.

Re: CC Swift/BIC eintragen

12. November 2013 11:22

Aber ich will ja wenn ich die Option 'Update' aktiviere das die Sätze in der Bank Tabelle geändert werden.

Re: CC Swift/BIC eintragen

12. November 2013 11:35

Kevin.TA hat geschrieben:Aber ich will ja wenn ich die Option 'Update' aktiviere das die Sätze in der Bank Tabelle geändert werden.

Ich habe nirgends geschrieben, dass du das nicht tun sollst oder nicht tun darfst. Im Gegenteil:

Natalie hat geschrieben:Dann hast du zur Laufzeit von "Bank" bereits die richtige Bank am Wickel und musst sie nur noch ändern - aber nicht mehr holen. Und zwar in DataItem "Bank", Trigger OnAfterGetRecord.

nur noch ändern = Feldwert zuweisen + MODIFY.