XMLport Request Page (RTC)

4. September 2014 14:51

Hallo ich habe eine Request Page auf der ich die 3 Optionen selber eingefügt habe FieldSeparator - Text, ExportEB & Export Advanced Information jeweils Booleans, angezeigt werden sie.

Es handelst sich um einen Export zum erstellen von CSV-Files was er im Grunde auch tut, aber er berücksichtigt dabei keine Änderungen der Optionen.

FieldSeparator: Soll ein eigenes Trennzeichen für die CSVs erstellen, ist das Überhaupt möglich und wenn ja wie kann man die Optionen einfach über den Code ändern ? bin echt am verzweifeln :(

ExportEB und ExportAdvancedInfortmation: sollen jeweils verschiedene Informationen zum CSV hinzufügen der Code dafür steht im XMLport aber wie schreib ich das in dem Code der Felder der RequestPage das sie da berücksichtigt werden.

Ich hoffe ihr könnt mir helfen.

Re: XMLport Request Page (RTC)

25. September 2014 14:14

Auch wenn ich jetzt der erste bin der hier antwortet Ich habe Festgestellt das ich nichts Falsch hatte, ich habe einfach mal eine Message eingefügt um zu schauen ob er überhaupt etwas macht. Hätte ich wohl eher machen sollen dann wäre mir nämlich aufgefallen das der Code der Funktion nicht anscheinend nicht stimmt oder die Funktion so nicht in XMLports geht ich hoffe da könnt ihr mir helfen.

Das ist der Code, er soll je nach dem was angehackerlt ist Felder dazu geben, was aber nicht passiert. Dem Code habe ich so übernommen in einem Dataport funktioniert das ganze. Ich hoffe in XMLports die CSV Files exportieren sollen auch.
Code:
CLEAR(Buffer);

BufferIndex := 1;
FirstField := TRUE;
imax := 4;
IF ExportEB THEN
  imax := 5;
IF ExportAdvancedInformation THEN

  imax := 7;
FOR i := 1 TO imax DO BEGIN
  IF NOT ExportEB THEN
    IF i = 5 THEN
      i+=1;

  CLEAR(AddString);
  IF NOT FirstField THEN BEGIN
    CASE FieldSeparator OF
      '<TAB>':
        AddString := AddString + FORMAT(TAB);
      ELSE
        AddString := AddString + FieldSeparator;
    END;
  END;

  IF FieldNames THEN BEGIN
    CASE i OF
      1: Add2String("G/L Account".FIELDCAPTION("No."));
      2: Add2String("G/L Account".FIELDCAPTION(Name));
      3: Add2String("G/L Account".FIELDCAPTION("Income/Balance"));
      4: Add2String("G/L Account".FIELDCAPTION("Net Change"));
 
      5: Add2String(Text011);

      6: Add2String("G/L Account".FIELDCAPTION("Balance at Date"));
      7: Add2String("G/L Account".FIELDCAPTION("No. 2"));
    END;
  END ELSE BEGIN
    CASE i OF
      1: Add2String(FORMAT("G/L Account"."No."));
      2: Add2String(FORMAT("G/L Account".Name));
      3: Add2String(FORMAT("G/L Account"."Income/Balance"));
      4:
        BEGIN
          "G/L Account".CALCFIELDS("Net Change");
          Add2String(FORMAT("G/L Account"."Net Change"));
        END;

      5:
        BEGIN
          CLEAR(EB);
          IF "G/L Account".GETFILTER("Date Filter") <> '' THEN BEGIN
            GLAccountEB.GET("G/L Account"."No.");
            GLAccountEB.COPYFILTERS("G/L Account");
            GLAccountEB.SETRANGE("Date Filter",01010000D,CLOSINGDATE("G/L Account".GETRANGEMIN("Date Filter") - 1));
            GLAccountEB.CALCFIELDS("Balance at Date");
            EB := GLAccountEB."Balance at Date";
          END;
          Add2String(FORMAT(EB));
        END;

      6:
        BEGIN
          "G/L Account".CALCFIELDS("Balance at Date");
          Add2String(FORMAT("G/L Account"."Balance at Date"));
        END;
      7: Add2String(FORMAT("G/L Account"."No. 2"));
    END;
  END;
  FirstField := FALSE;

  WHILE STRLEN(AddString) <> 0 DO BEGIN
    IF ((STRLEN(AddString) + STRLEN(Buffer[BufferIndex])) <= MAXSTRLEN(Buffer[BufferIndex])) THEN BEGIN
      Buffer[BufferIndex] := Buffer[BufferIndex] + AddString;
      CLEAR(AddString);
    END ELSE BEGIN
      BufferIndex += 1;
    END;
  END;
END;