PMS32 Online- Hilfereferenz
Archivieren von
gedruckten Informationen aus PMS32
Inhalt:
ECM – Enterprise Content Management
2.1.1 ECM.DEFINE
und weitere Dateien
PMS32 bietet die Möglichkeit Automatisierungen im Bereich der Archivierung also aus den Druckbereichen über Scripting zu steuern. Damit können Druck-Ausgaben von freigegebenen Druckbereichen in definierte Dateien und Verzeichnisse abgelegt werden. Mit dem Program PDF-Creator können somit auch PDF-Dateien erzeugt werden. Die Definition der Ausgabedateien können flexibel gestaltet werden so dass bestimmte Werte aus den Daten oder Reportbereichen im Dateinamen enthalten sind.
Um die Funktion in PMS32 verwenden zu können, müssen bestimmte Dateien vorhanden sein und über Scripting können die gewünschten Ausgaben gesteuert werden.
Zur Aktivierung der Grundfunktion muss die Datei ECM.DEFINE im .\SYS\MYSYS\ Verzeichnis vorhanden sein. Um bestimmte Druckbereich zu aktivieren muss der Druckbereich in der Datei aufgeführt werden. Wie nun die korrekten Einstellungen vorgenommen werden müssen wird nachfolgend aufgeführt.
Inhalt: Strukturierter Aufbau der Dokumentenmanagement-System und Ausgabebereiche
*/ Definition des ECM Systems
ECMSystem = §ecm_moss.define
<oSystem:§&poChild.AddItem(m.pcName);#oRoot.ECMSystem>>
Da PMS mehrere Definitionen mitliefert, kann über die Hauptdatei gesteuert werden, welches System bzw. welche Definition verwendet werden soll. Dies wir erreicht, indem die zu verwendende Datei in der Eigenschaft ECMSystem angegeben wird.
Inhalt: Strukturierter Aufbau der Dokumentenmanagement-System und Ausgabebereiche eines Systems
Die Definition für den Microsoft Office Sharepoint Server bzw. Services wird mit dem Programm PDFCreator realisiert. Dieses Programm ist Voraussetzung für die ordnungsgemäße Funktion. Das Programm kann kostenlos über das Internet geladen werden.
Daher kann diese Definition auch sehr gut als einfache Ausgabe per PDF in Verzeichnisse verwendet werden. Durch einfache Erweiterungen ist es auch möglich, die erzeugte Datei per E-Mail zu versenden. Eine Erweiterung diesbezüglich können wir ihnen gerne anbieten, wenden Sie sich dazu bitte an unseren Vertrieb unter info@pms32.de.
ACTIVE =.T.
Caption ="Microsoft
Office Sharepoint Server"
Printer ="PDFCreator"
UseCreator =.T.
CreatorMember =""
FileArchiv =my.clients.path.cnetdir+"ECM\Archiv.PDF"
FileMeta =my.clients.path.cnetdir+"ECM\Archiv.MOSXML"
ScriptArchiv =""
ScriptSearch =""
<DEFAULT:§&poChild.AddItem(m.pcName)>
ACTIVE =.T.
EXCLUDE =""
INCLUDE =""
INTERACTIVE =""
FileMeta ="<<MY.CLIENTS.PATH.cNetDir>>ECM\<<poECM.oBereich.Name>>\<<poECM.BUILDSTEM(ttoc(datetime(),1))>>"
FileArchiv ="<<MY.CLIENTS.PATH.cNetDir>>ECM\<<poECM.oBereich.Name>>\<<poECM.BUILDSTEM(ttoc(datetime(),1))>>"
>ARCHIV_BF
WAIT WINDOW NOWAIT
"vor dem Archivieren: "+TRANSFORM(poECM.oSystem.Caption)+"
--> "+My.Functions.Dialoge.HINWEIS("BITTEWARTEN")
<
>ARCHIV_AF
WAIT WINDOW NOWAIT
"nach dem Archivieren: "+TRANSFORM(poECM.oSystem.Caption)+"
--> "+My.Functions.Dialoge.HINWEIS("BITTEWARTEN")
<
>ARCHIV_OK
WAIT WINDOW TIMEOUT 1
"Archivieren: "+TRANSFORM(poECM.oSystem.Caption)+"
--> "+TRANSFORM(poECM.oValues.cBereich)+"
OK!"
<
>ARCHIV_NOTOK
WAIT WINDOW TIMEOUT 1
"Archivieren: "+TRANSFORM(poECM.oSystem.Caption)+"
--> "+TRANSFORM(poECM.oValues.cBereich)+"
FEHLER!"
<
>SEARCH_BF
WAIT WINDOW NOWAIT
"vor dem Suchen: "+TRANSFORM(poECM.oSystem.Caption)+"
--> "+My.Functions.Dialoge.HINWEIS("BITTEWARTEN")
<
>SEARCH_AF
WAIT WINDOW NOWAIT
"nach dem Suchen: "+TRANSFORM(poECM.oSystem.Caption)+"
--> "+My.Functions.Dialoge.HINWEIS("BITTEWARTEN")
<
>SEARCH_OK
=my.Functions.PmsAndWindows.RunFile("http://localhost")
WAIT WINDOW TIMEOUT 1
"Suchen: "+TRANSFORM(poECM.oSystem.Caption)+"
--> "+TRANSFORM(poECM.oValues.cBereich)+"
OK!"
<
>SEARCH_NOTOK
WAIT WINDOW TIMEOUT 1
"Suchen: "+TRANSFORM(poECM.oSystem.Caption)+"
--> "+TRANSFORM(poECM.oValues.cBereich)+"
FEHLER!"
<
<>
<E1X:§&poChild.AddItem(m.pcName)>
EXCLUDE =""
INCLUDE =""
INTERACTIVE =""
FileMeta ="<<MY.CLIENTS.PATH.cNetDir>>ECM\<<m.ipy01>>\<<poECM.BUILDSTEM(m.nummer+poECM.oValues.cReport)>>"
FileArchiv ="<<MY.CLIENTS.PATH.cNetDir>>ECM\<<m.ipy01>>\<<poECM.BUILDSTEM(m.nummer+poECM.oValues.cReport)>>"
>ARCHIV_BF
** Vorgangsverwaltung
wait
window NOWAIT transform(poECM.oSystem.Caption)+" --> "+My.Functions.Dialoge.HINWEIS("BITTEWARTEN")
<
>ARCHIV_AF
<
>ARCHIV_OK
LOCAL llRet,lcFile,oXml,loSelect,qE10
select
0
lcFile = poECM.cFileMeta
loSelect
= My.Functions.SELECTED
*/ loSelect.cKeepOpen
kann mit dem ALIAS() gefüttert werden, der offen bleibt
*/ loSelect.cNextOpen,
füttert cKeepOpen immer mit dem nächsten Alias
SELECT e10
SCATTER MEMO NAME qE10
**
USE IN
SELECT("QA_ECM")
SELECT;
"" AS _ParentID,;
QA_ECM.idc63 AS
_ID,;
QA_ECM.match
as titel,;
QA_ECM.name1,QA_ECM.plz,QA_ECM.email,QA_ECM.telefon,QA_ECM.mobil;
FROM (m.g_datpfad+"C63.DBF") AS QA_ECM;
WHERE
QA_ECM.idc63=qE10.idc63;
INTO CURSOR Kunde;
READWRITE
INDEX ON _ID TAG _ID
INDEX ON _ParentID TAG _ParentID
**
USE IN
SELECT("QA_ECM")
SELECT;
qE10.idc63 AS _ParentID,;
QA_ECM.idk10 AS
_ID,;
QA_ECM.Prjnr
as titel,;
QA_ECM.match;
FROM (m.g_datpfad+"K10.DBF") AS QA_ECM;
WHERE
QA_ECM.idk10=qE10.idk10;
INTO CURSOR Projekt;
READWRITE
INDEX ON _ID TAG _ID
INDEX ON _ParentID TAG _ParentID
**
USE IN
SELECT("QA_ECM")
SELECT DISTINCT;
qE10.idk10 AS _ParentID,;
qE10.idk10+QA_ECM.ipy01
AS _ID,;
QA_ECM.bezei
as titel,;
QA_ECM.ipy01,QA_ECM.kurz;
FROM (m.g_syspfad+"Y01.DBF") AS QA_ECM;
WHERE QA_ECM.ipy01=qE10.ipy01;
AND QA_ECM.idc26=m.g_sprache;
INTO CURSOR
Vorgangsart;
READWRITE
INDEX ON _ID TAG _ID
INDEX ON _ParentID TAG _ParentID
**
USE IN
SELECT("QA_ECM")
SELECT;
QA_ECM.idk10+QA_ECM.ipy01
AS _ParentID,;
QA_ECM.ide10 AS
_ID,;
QA_ECM.Nummer
as titel,;
QA_ECM.anlage,QA_ECM.deckblatt,QA_ECM.h_vol21,QA_ECM.h_vol5;
FROM (m.g_datpfad+"E10.DBF") AS QA_ECM;
WHERE
QA_ECM.ide10=qE10.ide10;
INTO CURSOR Vorgang;
READWRITE
INDEX ON _ID TAG _ID
INDEX ON _ParentID TAG _ParentID
**
SELECT Vorgangsart
SET RELATION TO _ID
INTO Vorgang
SELECT Projekt
SET RELATION TO _ID
INTO Vorgangsart
SELECT Kunde
SET RELATION TO _ID
INTO Projekt
**
oXml=CREATEOBJECT("XMLADAPTER")
oXml.RESPECTNESTING=
.T.
llRet=.T.
TRY
=oXml.ADDTABLESCHEMA("Kunde")
CATCH
llRet=.F.
ENDTRY
TRY
=oXml.ADDTABLESCHEMA("Projekt")
CATCH
llRet=.F.
ENDTRY
TRY
=oXml.ADDTABLESCHEMA("Vorgangsart")
CATCH
llRet=.F.
ENDTRY
TRY
=oXml.ADDTABLESCHEMA("Vorgang")
CATCH
llRet=.F.
ENDTRY
**
llRet=m.llRet AND oXml.TOXML(m.lcFile,"",.T.)>0
**
RELEASE loSelect
**
wait
window timeout 1 transform(poECM.oValues.cBereich)+"
OK!"
<
>ARCHIV_NOTOK
wait
window timeout 2 transform(poECM.oValues.cBereich)+"
FEHLER!"
<
>SEARCH_BF
<
>SEARCH_AF
<
>SEARCH_OK
=my.Functions.PmsAndWindows.RunFile("http://NEPTUN")
wait
window timeout 2 transform(poECM.oSystem.Caption)
<
>SEARCH_NOTOK
<
<>
<C1901:§&poChild.AddItem(m.pcName)>
Active
= .F.
</|§&poOTS.CopyItems(poChild.Name,.T.)>
E30A0=oThis.E1X
E30A1=oThis.E1X
E30A2=oThis.E1X
E30A3=oThis.E1X
In dem Definitionsbereich des entsprechenden Systems können dann Eigenschaften mit den gewünschten Einstellungen hinterlegt werden.
Für jeden Druckbereich, in dem die Funktion aktiviert werden soll, muss zumindest der Eintrag wie im Beispiel aufgeführt, hinterlegt sein.
Die Eigenschaften INCLUDE und EXCLUDE können eine Liste von Reportnamen enthalten die entweder für die Archivierung aktiviert (INCLUDE) oder ausgeschlossen (EXCLUDE) werden.
Ist ein Report in der Eigenschaft INTERACTIV eingetragen, so werden dem Benutzer ggfs. Meldungen angezeigt oder Fragen gestellt. Damit kann auch im Script gesteuert werden, ob eine Archivierung mit oder ohne Benutzerinteraktion durchgeführt werden soll.
Außerdem müssen zumindest der Druckername für die Ausgabe und die Programme für Archivierung und Suche (ScriptArchiv=…, ScriptSearch=…) definiert werden.
printer ="Acrobat
PDFWriter"
scriptsearch ="VFP60\D3S.EXE"
scriptprg ="VFP60\D3A.EXE"
In den erweiterten Systemdefinitionen kann statt dem Aufruf eines Programms für die Archivierung oder Suche das PMS32-Scripting aktiviert werden (UseScripting=.T.) Dann werden in den Eigenschaften für die Archivierung und der Suche die Scriptdateinamen angegeben (diese werden im .\PMS32\MENUS\ Verzeichnis abgelegt à PMS32 System- und Benutzermenüs)
UseScripting =.T.
searchprg ="SYSTEM00.INI"
archivprg ="SYSTEM00.INI"
Die Bereichsdefinitionen bestimmen, ob in einem Druckbereich die Archivierungs-Schaltfläche aktiv ist und bei welchen Reportnamen. Ist ein Druckbereich in der Bereichsdefinition nicht enthalten ist dieser Druckbereit für die Archivierung nicht freigeschaltet und die Schaltfläche ist deaktiv.
<E1X:§&poChild.AddItem(m.pcName)>
EXCLUDE =""
INCLUDE =""
INTERACTIVE =""
FileMeta ="<<MY.CLIENTS.PATH.cNetDir>>ECM\<<m.ipy01>>\<<poECM.BUILDSTEM(m.nummer+poECM.oValues.cReport)>>"
FileArchiv ="<<MY.CLIENTS.PATH.cNetDir>>ECM\<<m.ipy01>>\<<poECM.BUILDSTEM(m.nummer+poECM.oValues.cReport)>>"
>ARCHIV_BF
** Vorgangsverwaltung
wait
window NOWAIT transform(poECM.oSystem.Caption)+" --> "+My.Functions.Dialoge.HINWEIS("BITTEWARTEN")
<
>ARCHIV_AF
<
.
.
.
E30A0=oThis.E1X
E30A1=oThis.E1X
E30A2=oThis.E1X
E30A3=oThis.E1X
Der Name des Druckbereichs lässt sich aus der Druckmaske in PMS32 ermitteln. Der Name des Druckbereichs wird dann statt der Bezeichnung „SAMPLE_DRUCKBEREICH“ hinterlegt, für die Aktivierung der Archivierung im Bereich Angebote wird also „E30A0“ eingetragen.

<E1X:§&poChild.AddItem(m.pcName)>
EXCLUDE =""
INCLUDE =""
INTERACTIVE =""
Die Werte in den Eigenschaften INCLUDE, EXCLUDE und INTERACTIV können auch leer bleiben, dann besteht die Möglichkeit alle Reports für die Archivierung zu verwenden.
Die erweiterten Bereichsoptionen ermöglichen die spezielle Definition des Ausgabeverhaltens. Es bestehen die Möglichkeiten die Ausgabedateien zu beeinflussen, ebenso wie vor und nach speziellen PMS32 Aktionen einzugreifen.
In der Eigenschaft „FileMeta“ wird die Definition für den Dateinamen der Meta-Datei festgelegt.
Die Metadatei enthält Informationen über den gedruckten Vorgang. Welche Informationen enthalten sind, kann über Scripting definiert werden, im Standard sind einige Ausgaben bereits enthalten und werden ständig erweitert.
Die Meta-Datei wird nach erfolgreicher Erstellung der Ausgabedatei „FileArchiv“ erstellt, d. h. ist die Ausgabe fehlerhaft, wird auch keine Meta-Datei erstellt.
FileMeta ="<<MY.CLIENTS.PATH.cNetDir>>ECM\<<m.ipy01>>\<<poECM.BUILDSTEM(m.nummer+poECM.oValues.cReport)>>"
In der Eigenschaft „FileArchiv“ wird die Definition für den Dateinamen der Ausgabe-Datei festgelegt. Die Archiv-Datei enthält die Daten des Reportausdrucks über den angegebenen Druckertreiber.
FileArchiv ="<<MY.CLIENTS.PATH.cNetDir>>ECM\<<m.ipy01>>\<<poECM.BUILDSTEM(m.nummer+poECM.oValues.cReport)>>"
Nachfolgenden ist schematisch die Ablauffolge mit Eingriff per Scripting dargestellt. Der Eingriff per Script wird an folgenden Stellen ermöglicht:
- ARCHIV_BF (vor dem Archivieren)
- ARCHIV_AF (nach dem Archivieren)
- ARCHIV_OK (Beim erfolgreichen Archivieren)
- ARCHIV_NOTOK (Beim fehlerhaften Archivieren)
- SEARCH_BF (vor dem Suchen)
- SEARCH_AF (nach dem Suchen)
- SEARCH_OK (Beim erfolgreichen Suchen)
- SEARCH_NOTOK (Beim fehlerhaften Suchen)

Damit für jeden Bereich eine eigene Datenanpassung für die Ausgabe der META-Daten vorgenommen werden kann wird hier auch ein Scripteingriff ermöglicht. Derzeit gibt es im Programm jedoch bereits vorgefertigte Ausgaben, die über den Scripteingriff übersteuert werden können. Für andere Programmbereiche gibt es derzeit keine Default-Ausgaben. Wenn eine Ausgabe der Metadaten gewünscht wird, müssen diese Bereiche in jedem Fall per Scripting erzeugt werden.
Das folgende Schaubild soll den Scripteingriff verdeutlichen:

Siehe auch
: Hauptmenü / Hauptindex /
Such Index / Cursor Index / Programm Module / Tabellen Index / Tabellenmodule / Masken
Index / Programmcode Index /
Servicepacks / Sonstiges Index
Lokale Benutzerhilfe
: Meine eigene Hilfe / Zurück zur PMS32 - Hilfe
Dateiversion:1.0.04#0000 -
H.U.DD#SSFF 14.12.2010 Senden
Sie Ihren Kommentar zu diesem Thema an das Entwicklungsteam von PMS32
Weitere Informationen finden Sie unter der aktuellen PMS32
WEB-Hilfe
Die Informationen dieser Mitteilung sind vertraulich und nur für Sie bestimmt.
Unbefugtes Weiterleiten, Veröffentlichen, Kopieren usw. sind untersagt
und werden gerichtlich verfolgt. © PMS Compelec
GmbH 2010 ® el-Projekt