0

createTextFile der besonderen art

Hallo zusammen,

ich müsste eine txt Datei erstellen mit festen Zeilenlängen und festen Textabständen sowie Zeilenumbrüche.

Die Datei ist dann vorgesehen um Daten zurück in unser ERP System zu spielen

Ist so etwas möglich

Gruß

Andreas Kappes

5 Antworten

null
    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Andreas,

    sollte kein Problem sein. mit lpad() und rpad() kann man die Texte links oder rechts bis zu gewünschte Länge auffüllen. mit length(string) kann man die Länge des Textes überprüfen.
    mit slice() kann man ein Text abschneiden. 

    Die Textabstände und Zeilenumbrüche kann man über join() definieren.

    Leo

    • Kappes_Admin
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    danke für die Info dann werde ich mich mal dran machen und basteln :-)

    Gruß

    Andreas

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Wenn du die genaueren Anforderungen hier beschreibst, können wir gemeinsam bestimmt schnell zum Ergebnis kommen.

    • Kappes_Admin
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    komm sehr gut klar ist schon so gut wie fertig

    Gruß

    Andreas

    TXTVersuch

    • Kappes_Admin
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Der Code dazu bisher

    let y := year('Datum + Uhrzeit');
    let m := format(month('Datum + Uhrzeit'), "00");
    let d := format(day('Datum + Uhrzeit'), "00");
    let z := lpad("1234", 10, "0");
    let a1 := rpad("E2ISU_DCHANGE_HD000", 50, " ");
    let a2 := rpad("E2ISU_DCHANGE_METER000", 50, " ");
    let a3 := rpad("E2ISU_DCHANGE_REG000", 50, " ");
    let a4 := rpad("E2ISU_DCHANGE_REG_ZW000", 50, " ");
    let a5 := rpad("E2ISU_DCHANGE_REG_RATE000", 50, " ");
    let a6 := rpad("E2ISU_DCHANGE_REG_CTRL000", 50, " ");
    let a7 := rpad("E2ISU_DCHANGE_REG_GAS000", 50, " ");
    let a8 := rpad("E2ISU_DCHANGE_METER_CTRL000", 50, " ");
    let a9 := rpad("E2ISU_DCHANGE_METER_RATE000", 50, " ");
    let a10 := rpad("E2ISU_DCHANGE_TRANSFORMER000", 50, " ");
    let a11 := rpad("E2ISU_DCHANGE_METER_MOVE000", 50, " ");
    createTextFile(this, "EDI_40 " + "2 " + "ISU_DEvice_Change " + "ISU_DEVICE_CHANGE
    " + a1 + "00001000000012" + y + m + d + z + "
    " + a2 + "00000200000102" + "
    " + a3 + "00000300000203" + "
    " + a4 + "00000400000304" + "
    " + a5 + "00000500000304" + "
    " + a6 + "00000600000304" + "
    " + a7 + "00000700000304" + "
    " + a8 + "00000800000203" + "
    " + a9 + "00000900000203" + "
    " + a10 + "00001000000203" + "
    " + a11 + "00001100000203", "TestIDOC1")