Report für Textfile

Hallo
Ich möchte für eine Datenübergabe diverse Felder des Sales Headers in eine Textdatei schreiben. Diese sollte kommagetrennt sein. In die gleiche Zeile anschliessend müssten noch alle Artikelnummern, welche auf diesem Auftrag sind.
Ist dies mit einem vertrettbarem Aufwand möglich?

Gruss

Jörg

  • Sorry, war nur'n Scherz, obige Antwort war nicht wirklich hilfreich [:D]

    Nun, ich kann mir folgende Möglichkeit vorstellen:

    Ein Report mit DataItem "Sales Header" mit nachgeordnetem DataIItem "Sales Line".
    Das "handling" der Exportdatei geschieht manuell (Erstellen/Öffnen in OnPreReport, Zeilen schreiben in "Sales Line - OnAfterGetRecord", Datei schließem OnPostReport)
    In Jeder SalesLine wird das Ende der Zeile gesucht und die nächste Artikelnummer angefügt; bei einem neuen Auftrag wird eine neue Zeile erzeugt
    Wichtig ist hier, die Eigenschaft TEXTMODE = FALSE gesetzt ist und der Zeilenumbruch "manuell" erzeugt wird ...
    OBJECT Report 66666 Test
    {
    OBJECT-PROPERTIES
    {
    Date=07.11.05;
    Time=[ 9:59:47];
    Modified=Yes;
    Version List=;
    }
    PROPERTIES
    {
    ProcessingOnly=Yes;
    OnPreReport=BEGIN
    CR := 13;
    LF := 10;

    ExportFile.WRITEMODE(TRUE);
    ExportFile.TEXTMODE(FALSE);
    ExportFile.QUERYREPLACE(TRUE);

    ExportFile.CREATE(ExportFilename);
    ExportFile.WRITE('Order No.,Order Date,Posting Date,Sell-to Cust.No,Bill-to Cust.No,Item No.');
    END;

    OnPostReport=BEGIN
    ExportFile.WRITE(FORMAT(CR) + FORMAT(LF));
    ExportFile.CLOSE;
    END;

    }
    DATAITEMS
    {
    { PROPERTIES
    {
    DataItemTable=Table36;
    DataItemTableView=SORTING(Document Type,No.)
    WHERE(Document Type=CONST(Order));
    PrintOnlyIfDetail=Yes;
    OnAfterGetRecord=BEGIN
    ExportFile.WRITE(FORMAT(CR) + FORMAT(LF));
    ExportFile.WRITE(
    FORMAT("No.") + ',' +
    FORMAT("Order Date") + ',' +
    FORMAT("Posting Date") + ',' +
    FORMAT("Sell-to Customer No.") + ',' +
    FORMAT("Bill-to Customer No."));
    END;

    ReqFilterFields=No.;
    }
    SECTIONS
    {
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=12000;
    SectionHeight=846;
    }
    CONTROLS
    {
    }
    }
    }
    }
    { PROPERTIES
    {
    DataItemIndent=1;
    DataItemTable=Table37;
    DataItemTableView=SORTING(Document Type,Type,No.,Variant Code,Drop Shipment,Location Code,Shipment Date)
    WHERE(Type=CONST(Item),
    No.=FILTER(<>''));
    OnAfterGetRecord=BEGIN
    ExportFile.WRITE(',' + FORMAT("No."));
    END;

    DataItemLink=Document Type=FIELD(Document Type),
    Document No.=FIELD(No.);
    }
    SECTIONS
    {
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=12000;
    SectionHeight=846;
    }
    CONTROLS
    {
    }
    }
    }
    }
    }
    REQUESTFORM
    {
    PROPERTIES
    {
    Width=9020;
    Height=3410;
    }
    CONTROLS
    {
    { 1000000000;TextBox;3410 ;0 ;5610 ;440 ;CaptionML=ENU=Filename;
    SourceExpr=ExportFilename;
    OnAssistEdit=BEGIN
    CmDlg32.FileName := ExportFilename;
    CmDlg32.ShowSave;
    ExportFilename := CmDlg32.FileName;
    END;
    }
    { 1000000001;Label ;0 ;0 ;3300 ;440 ;ParentControl=1000000000 }
    }
    }
    CODE
    {
    VAR
    CmDlg32@1000000004 : OCX "{F9043C85-F6F2-101A-A3C9-08002B2F49FB}:'Microsoft Common Dialog Control, version 6.0'";
    ExportFilename@1000000000 : Text[250];
    ExportFile@1000000001 : File;
    CR@1000000002 : Char;
    LF@1000000003 : Char;

    BEGIN
    END.
    }
    }
Related
Recommended