PMS32 Online- Hilfereferenz

ECM – Enterprise Content Management

Archivieren von gedruckten Informationen aus PMS32


Inhalt:

 

ECM – Enterprise Content Management. 1

1       Allgemeines. 1

2       Einstellungen. 1

2.1       Dateidefinitionen. 1

2.1.1        ECM.DEFINE und weitere Dateien. 1

2.1.2        ECM.MOSS.DEFINE. 2

2.2       Scripting Ablauffolge. 8

2.2.1        Archivierungs-Scripte. 8

2.2.2        Such-Scripte. 8

2.3       Default-Scripting. 9

 


1      Allgemeines

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.

2      Einstellungen

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.

2.1    Dateidefinitionen

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.

2.1.1   ECM.DEFINE und weitere Dateien

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.

 

2.1.2   ECM.MOSS.DEFINE

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

 

 

Systemdefinition

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"

 

Erweiterte Systemdefinitionen

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"

 

Bereichsdefinition

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.

Erweiterte Bereichsdefinitionen

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.

META_FILE

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)>>"

 

ARCHIV_FILE

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)>>"

 

2.2    Scripting Ablauffolge

Nachfolgenden ist schematisch die Ablauffolge mit Eingriff per Scripting dargestellt. Der Eingriff per Script wird an folgenden Stellen ermöglicht:

2.2.1   Archivierungs-Scripte

-     ARCHIV_BF (vor dem Archivieren)

-     ARCHIV_AF (nach dem Archivieren)

-     ARCHIV_OK (Beim erfolgreichen Archivieren)

-     ARCHIV_NOTOK (Beim fehlerhaften Archivieren)

2.2.2   Such-Scripte

-     SEARCH_BF (vor dem Suchen)

-     SEARCH_AF (nach dem Suchen)

-     SEARCH_OK (Beim erfolgreichen Suchen)

-     SEARCH_NOTOK (Beim fehlerhaften Suchen)

 

2.3    Default-Scripting

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