LayoutTextFileToBlob()
Importiert ein RBuilder-Layout aus einer Template-Datei (.rtm) zurück in die Tabelle DABR10. Die Datei wird in das Binary-DFM-Format konvertiert und in das Feld REPORT des passenden Datensatzes geschrieben; die in der Datei enthaltenen Codeblock-Blöcke werden in die Memo-Felder zurückgelesen. Existiert der Schlüssel noch nicht, wird ein neuer DABR10-Datensatz angelegt.
Hinweis
-
Vor dem Import sollte im aufrufenden Skript ein Backup angelegt werden (z. B. via PIEU_CreateBackupForLayout aus dem Paket package-import-export). Der Ziel-Datensatz wird über REPORT_ID + REPORT_NR bestimmt; explizit übergebene Parameter haben Vorrang vor den Angaben in der Datei. Neben dem REPORT-Blob werden auch die in der .rtm-Datei angehängten Codeblock-Blöcke wieder in die Memo-Felder (CB_BEARB, CB_DRUCK, CB_SORT, CB_START, CB_STOP) zurückgeschrieben.
|
Parameter |
Beschreibung |
|---|---|
|
oDM:O |
DataModule-Objekt (TbeDBGet) für den Datenbankzugriff auf die Tabelle DABR10 |
|
cFilePath:C |
Pfad zur einzulesenden Template-Datei (.rtm) |
|
cReportId:C |
Optional: Ziel-REPORT_ID. Ohne Angabe wird der Schlüssel aus der Datei gelesen (ReportID des Root-Reports); eine explizite Angabe hat Vorrang |
|
nReportNr:N |
Optional: Ziel-REPORT_NR. Ohne Angabe wird der Schlüssel aus der Datei gelesen (ReportNo des Root-Reports); eine explizite Angabe hat Vorrang |
Rückgabewert
Logisch / Boolean - true bei erfolgreichem Import
Beispiel
| oDM, lOk |
// DataModule (TbeDBGet) erzeugen -- liefert die DB-Verbindung fuer DABR10
oDM := CreateObject('TBeDBGet', 'DATAMODULE'),
startseq
// Zuvor exportierte Datei zurueckimportieren;
// der Schluessel (REPORT_ID / REPORT_NR) wird aus der Datei gelesen
lOk := LayoutTextFileToBlob(oDM, 'C:\Temp\Layouts\Rechung.rtm'),
WriteLn(if(lOk, 'Import erfolgreich', 'Import fehlgeschlagen')),
always
// Objekt sauber wieder freigeben
DestroyObject(oDM),
stopseq,