Problem beim Import mit XMLport

7. Dezember 2007 11:29

Hallo!
Ich habe folgendes Problem:
In einer Datenbank sind Sachposten ohne Sachkonto, da dieses versehentlich gelöscht wurde.
Daher möchte ich aus einer älteren Version der Datenbank alle Sachposten auslesen und in die neue Importieren, um dort die fehlenden Sachkonten nachzupflegen.
Da das ganze aber über einige Mandanten laufen soll, habe ich einen XMLPort dafür gebaut, um auch den aktuellen Mandanten mitgeben zu können (bei XMLPorts sind ja verschachtelungen wie bei Reports möglich).
Der Aufbau des XMLPorts sieht also so aus (man kann es hoffentlich erkennen):

Code:
Company   Element   Table   <Company>(Company)
  GLEntry   Element   Table   <G/L Entry>(G/L Entry)
    CompName   Element   Field   Company::Name
    EntryNo   Element   Field   <G/L Entry>::Entry No.
    GLAccNo   Element   Field   <G/L Entry>::G/L Account No.
    PostDate   Element   Field   <G/L Entry>::Posting Date
    DocNo   Element   Field   <G/L Entry>::Document No.
    TransNo   Element   Field   <G/L Entry>::Transaction No.



Doch wenn ich das ganze jetzt importieren möchte, bekomme ich einen Fehler. Es sieht so aus, als ob er versucht CompName direkt ins Feld EntryNo zu lesen.
Ich will ja eigentlich gar nix einlesen. Am liebsten möchte ich Datensatz für Satensatz nur zwischenspeichern und dann den Rest ausprogrammieren. Also ich würde nach jedem XML Datensatz schauen, ob es den Sachposten in dem Mandanten gibt und da ggf. das Feld Sachkto. eintragen.

Hat jemand schon mal so ein Problem gelöst?

Es grüßt,
Astrill

7. Dezember 2007 11:41

Nachtrag:

So sieht dann in etwa die XML-Datei aus:

Code:
<Company>
   <GLEntry>
      <CompName>XYU</ComName>
      <EntryNo>1</EntryNo>
      <GLAccNo>123456</GLAccNo>
      <PostDate>010102</PostDate>
      <DocNo>1234</DocNo>
      <TransNo>1</TransNo>
   </GLEntry>
</Company>

7. Dezember 2007 11:50

Du solltest Dir dann für den Import einen zweiten XML-Port anlegen, indem du den ersten kopierst und dann den Typ von field auf text legst, dann wird alles in Variablen importiert und dann kannst du im GLEntry-Import::OnAfterAssignVariable ausprogrammieren