11. Juli 2012 12:20
FOR i := 0 TO XMLNodeList.length - 1 DO BEGIN 
  DOMNode := XMLNodeList.item(i); 
  //Befüllen der NodeListe mit dem allen vorhandenen Elementen des Suchkriteriums   // 29 stk
  XMLNodeList2 := DOMNode.selectNodes('WAXUOMStructure/WAXLicensePlateId');
  FOR j := 0 TO XMLNodeList2.length - 1 DO BEGIN
    DOMNode2 := XMLNodeList2.item(j); 
    IF NOT gt_WSMBatch.GET(DOMNode2.text) THEN BEGIN
      gt_WSMBatch."License No.":=DOMNode2.text;
      gt_WSMBatch.INSERT;
    END;    // dieser Teil wurde getestet und ist funktionsfähig
    //Befüllen der NodeListe mit dem allen vorhandenen Elementen des Suchkriteriums   // 28 stk
    XMLNodeList3 := DOMNode.selectNodes('WAXUOMStructure/WAXASNItem/InventDim/InventBatchId');
    //Hier muss geprüft werden ob in dem Element das Feld InventBatchId vorhanden ist. Variable k Wert von j zuweisen
        //wenn ja:    führe aus, Variable k + 1
        //wenn nein:  kein Eintrag in der Tabelle, Variable k nicht hochzählen
      //Auslesen des Listeninhalts der Nodes für jeden durchgang eines Elements  
      //29 Elemente existieren nur 28 in Liste FEHLER!!!      
      //DOMNode3 := XMLNodeList3.item(j);      fehlerhafte alte Lösung - Index out of Range
      DOMNode3 := XMLNodeList3.item(k); 
      IF gt_WSMBatch.GET(DOMNode2.text) THEN BEGIN
        gt_WSMBatch."Batch No." := DOMNode3.text;
        gt_WSMBatch.MODIFY;
      END;
    //Ende Prüfung
  END;           
12. Juli 2012 09:20