/
Professional ERP ESTOS - MetaDirectory Import einrichten

Professional ERP ESTOS - MetaDirectory Import einrichten

Einrichtung des Import-Replikators für ESTOS MetaDirectory 3.5

In der Anwendung ESTOS MetaDirectory 3.5 Administrator muss ein neuer Import-Replikator erstellt werden.

Hierfür ist die Anwendung ESTOS MetaDirectory Administrator im Kontext eines Windowsbenutzerkontos aufzurufen, welches Zugriff auf die Professional ERP-Datenbanken hat undspäter auch für den Replikationsdienst verwendet werden kann.

Um den Import-Replikator anzulegen, muss in der Baumstruktur im linken Maskenbereich der Administratoranwendung der Eintrag Replikatoren ausgewählt und dann im rechts daneben liegenden Bereich die Schaltfläche Hinzufügen … betätigt werden.

Start des Datenbank Wizards

Es öffnet sich der Datenbank Wizard. Hier muss zunächst die Schaltfläche Weiter betätigt werden, um zum ersten Auswahlschritt für den zu erstellenden Import-Replikator zu gelangen

In dieser Dialogseite ist die Option ODBC zu wählen und mit Weiter zu bestätigen.

Auf der nächsten Dialogseite ist dann das Passwort für den Windowsbenutzer anzugeben, der für den Import-Replikator verwendet wird. Auch hier ist der Dialog mit Weiter zu bestätigen

Als nächstes sind die Verbindungsinformationen für die ODBC-Verbindung und das SQL-Statement für die Datenauswahl, die für die Synchronisation verwendet werden sollen, anzugeben. Hierbei ist erneut die Art der Datenhaltung zu beachten.

Die in den nachfolgenden Beispielen mit roter Schriftgekennzeichneten Stellen sind entsprechend der Systemumgebung anzupassen, in der die MetaDirectory-Synchronisation eingerichtet werden soll. Das betrifft sowohl die Verbindungsdaten in der ODBC-Verbindung zur Datenbank selbst, als auch den Verzeichnispfad zu den Adressbildern innerhalb des SQL-Statements.

A) Datenhaltung erfolgt mit Microsoft SQL-Server:

ODBC-Verbindung
DRIVER=SQL Server; Address=[SQLSERVER_INSTANZ],[PORTNUMMER{1433}]; Trusted_Connection=Yes; 
Description=MetaDir; SERVER=[RECHNERNAME_SQL-SERVER]; DataBase=[DATENBANKNAME]
 SQL-Statement
select
   cast(ltrim(rtrim([FMA].[ADR_FIRMA1])) + isnull(': ' + ltrim(rtrim([ANS].[ADR_FIRMA1])), '') + isnull(',' + ltrim(rtrim([ANS].[ADR_FIRMA2])), '') as char(100)) as [FMA_NAME],
   [FMA].[ADR_FIRMA0] as[FMA_FIRMA0],
   substring(cast(isnull([FMAANR].[WAH_TEXT], '') as char(84)), 4, 8000) as[FMA_ANRED],
   [FMA].[ADR_FIRMA1] as [FMA_FIRMA1],
   [FMA].[ADR_FIRMA2] as [FMA_FIRMA2],
   [FMA].[ADR_FIRMA3] as[FMA_FIRMA3],
   cast(rtrim(rtrim([FMA].[ADR_FIRMA1]) + ' ' + rtrim([FMA].[ADR_FIRMA2]) + '' + rtrim([FMA].[ADR_FIRMA3])) as char(200)) as [FMA_FNAME],
   [FMA].[ADR_TITEL] as[FMA_TITEL],
   [FMA].[ADR_HTTP] as [FMA_HTTP],
   [FMA].[ADR_STRASS] as [FMA_STRASS],
   [FMA].[ADR_PLZ_ST] as[FMA_PLZ_ST],
   [FMA].[ADR_ORT] as [FMA_ORT],
   [FMA].[ADR_LAND] as[FMA_LAND],
   cast(substring(isnull([FMALAND].[WAH_TEXT], ''), 5, 8000) as char(40)) as[FMA_LANDL],
   [FMA].[ADR_TELE] as [FMA_TELE],
   [FMA].[ADR_PTELE] as [FMA_PTELE],
   [FMA].[ADR_FAX] as[FMA_FAX],
   [FMA].[ADR_PFAX] as [FMA_PFAX],
   [FMA].[ADR_EMAIL] as [FMA_EMAIL],
   [FMA].[ADR_PEMAIL] as[FMA_PEMAIL],
   [FMA].[ADR_MOBIL] as [FMA_MOBIL],
   [FMA].[ADR_PMOBIL] as [FMA_PMOBIL],
   [FMA].[ADR_NUMMER] as[FMA_NUMMER],
   [FMA].[ADR_MELD] as [FMA_MELD],
   [FMA].[ADR_GEBTAG] as[FMA_GEBTAG],
   isnull([ANS].[ADR_FIRMA0], [FMA].[ADR_FIRMA0]) as[ANS_FIRMA0],
   substring(cast(isnull([ANSANR].[WAH_TEXT], '') as char(84)), 4, 8000) as[ANS_ANRED],
   isnull([ANS].[ADR_FIRMA1], space(40)) as [ANS_FIRMA1],
   isnull([ANS].[ADR_FIRMA2], space(40)) as[ANS_FIRMA2],
   isnull([ANS].[ADR_FIRMA3], space(40)) as [ANS_FIRMA3],
   [ANS].[ADR_TITEL] as[ANS_TITEL],
   [ANS].[ADR_HTTP] as [ANS_HTTP],
   isnull([ANS].[ADR_STRASS], [FMA].[ADR_STRASS]) as[ANS_STRASS],
   isnull([ANS].[ADR_PLZ_ST], [FMA].[ADR_PLZ_ST]) as[ANS_PLZ_ST],
   isnull([ANS].[ADR_ORT], [FMA].[ADR_ORT]) as[ANS_ORT],
   isnull([ANS].[ADR_LAND], [FMA].[ADR_LAND]) as[ANS_LAND],
   cast(substring(isnull([ANSLAND].[WAH_TEXT], ''), 5, 8000) as char(40)) as[ANS_LANDL],
   [ANS].[ADR_TELE] as [ANS_TELE],
   [ANS].[ADR_PTELE] as[ANS_PTELE],
   isnull([ANS].[ADR_FAX], [FMA].[ADR_FAX]) as [ANS_FAX],
   [ANS].[ADR_PFAX] as[ANS_PFAX],
   isnull([ANS].[ADR_EMAIL], [FMA].[ADR_EMAIL]) as [ANS_EMAIL],
   [ANS].[ADR_PEMAIL] as[ANS_PEMAIL],
   [ANS].[ADR_MOBIL] as [ANS_MOBIL],
   [ANS].[ADR_PMOBIL] as [ANS_PMOBIL],
   [ANS].[ADR_NUMMER] as[ANS_NUMMER],
   [ANS].[ADR_MELD] as [ANS_MELD],
   [ANS].[ADR_GEBTAG] as[ANS_GEBTAG],
   isnull([ANS].[ADR_ABT], [FMA].[ADR_ABT]) as [ANS_ABT],
   case
  when len(isnull([ANS].[ADR_BILD], '')) = 0 
   then
  space(100) 
   else
  '\\[FREIGABENAME]\[DATENFPAD]\WEEKEND.DAT\BILDERAD\'+[ANS].[ADR_BILD] end as[ANS_BILD],isnull([ANS].[ID],[FMA].[ID]) as [ID],isnull([ANS].[CURTIMEST],[FMA].[CURTIMEST]) as[CURTIMEST] 
 
from
   [ADRESSEN] [FMA] 
   left join
  [ADRESSEN] [ANS] 
	  on [ANS].[ADR_ANSVON] = [FMA].[ADR_NUMMER] 
  and [ANS].[ADR_AUSG] = 0 
   left join
  [WAHL] [FMALAND] 
  on left([FMALAND].[WAHL_], 13) = 'ADR_LAND ' + [FMA].[ADR_LAND] 
   left join
  [WAHL] [ANSLAND] on left([ANSLAND].[WAHL_], 13) = 'ADR_LAND ' + isnull([ANS].[ADR_LAND], [FMA].[ADR_LAND]) 
   left join
  [WAHL][FMAANR] 
  on left([FMAANR].[WAHL_], 12) = 'ADR_FIRMA0' + str([FMA].[ADR_FIRMA0], 2) and substring([FMAANR].[WAH_TEXT], 4, 1) <> ' < ' 
   left join
  [WAHL] [ANSANR] 
  on left([ANSANR].[WAHL_], 20) = 'ADR_FIRMA0' + str(isnull([ANS].[ADR_FIRMA0], [FMA].[ADR_FIRMA0]), 2) and substring([ANSANR].[WAH_TEXT], 4, 1) <> ' < ' 
where
   [FMA].[ADR_NUMMER] > 1 
   and [FMA].[ADR_AUSG] = 0 
order by
   [FMA].[ADR_NUMMER], [ANS].[ADR_NUMMER] 

B) Datenhaltung erfolgt mit FoxPro Tabellen

ODBC-Verbindung
DRIVER=Microsoft FoxPro VFP Driver (*.dbf); UID=; Deleted=No; Null=Yes; Collate=Machine; 
BackgroundFetch=No; Exclusive=No; SourceType=DBF; SourceDB=\\[FREIGABENAME]\[DATENPFAD]\WEEKEND.DAT 
SQL-Statement
SELECT padr(alltr(FMA.ADR_FIRMA1)+nvl(': '+allt(ANS.ADR_FIRMA1),'')+nvl(', '+allt(ANS.ADR_FIRMA2),''),100) as FMA_NAME,FMA.ADR_FIRMA0 as FMA_FIRMA0,substr(padr(nvl(FMAANR.WAH_TEXT,''),84),4) as FMA_ANRED,FMA.ADR_FIRMA1 as FMA_FIRMA1,FMA.ADR_FIRMA2 as FMA_FIRMA2,FMA.ADR_FIRMA3 as FMA_FIRMA3,padr(rtrim(rtrim(FMA.ADR_FIRMA1)+' '+rtrim(FMA.ADR_FIRMA2)+' '+rtrim(FMA.ADR_FIRMA3)),200) as FMA_FNAME,FMA.ADR_TITEL as FMA_TITEL,FMA.ADR_HTTP as FMA_HTTP,FMA.ADR_STRASS as FMA_STRASS,FMA.ADR_PLZ_ST as FMA_PLZ_ST,FMA.ADR_ORT as FMA_ORT,FMA.ADR_LAND as FMA_LAND,padr(substr(nvl(FMALAND.WAH_TEXT,''),5),40) as FMA_LANDL,FMA.ADR_TELE as FMA_TELE,FMA.ADR_PTELE as FMA_PTELE,FMA.ADR_FAX as FMA_FAX,FMA.ADR_PFAX as FMA_PFAX,FMA.ADR_EMAIL as FMA_EMAIL,FMA.ADR_PEMAIL as FMA_PEMAIL,FMA.ADR_MOBIL as FMA_MOBIL,FMA.ADR_PMOBIL as FMA_PMOBIL,FMA.ADR_NUMMER as FMA_NUMMER,FMA.ADR_MELD as FMA_MELD,FMA.ADR_GEBTAG as FMA_GEBTAG,nvl(ANS.ADR_FIRMA0,FMA.ADR_FIRMA0) as ANS_FIRMA0,substr(padr(nvl(ANSANR.WAH_TEXT,''),84),4) as ANS_ANRED,nvl(ANS.ADR_FIRMA1,space(40)) as ANS_FIRMA1,nvl(ANS.ADR_FIRMA2,space(40)) as ANS_FIRMA2,nvl(ANS.ADR_FIRMA3,space(40)) as ANS_FIRMA3,ANS.ADR_TITEL as ANS_TITEL,ANS.ADR_HTTP as ANS_HTTP,nvl(ANS.ADR_STRASS,FMA.ADR_STRASS) as ANS_STRASS,nvl(ANS.ADR_PLZ_ST,FMA.ADR_PLZ_ST) as ANS_PLZ_ST,nvl(ANS.ADR_ORT,FMA.ADR_ORT) as ANS_ORT,nvl(ANS.ADR_LAND,FMA.ADR_LAND) as ANS_LAND,padr(substr(nvl(ANSLAND.WAH_TEXT,''),5),40) as ANS_LANDL,ANS.ADR_TELE as ANS_TELE,ANS.ADR_PTELE as ANS_PTELE,nvl(ANS.ADR_FAX,FMA.ADR_FAX) as ANS_FAX,ANS.ADR_PFAX as ANS_PFAX,nvl(ANS.ADR_EMAIL,FMA.ADR_EMAIL) as ANS_EMAIL,ANS.ADR_PEMAIL as ANS_PEMAIL,ANS.ADR_MOBIL as ANS_MOBIL,ANS.ADR_PMOBIL as ANS_PMOBIL,ANS.ADR_MELD as ANS_MELD,ANS.ADR_GEBTAG as ANS_GEBTAG,nvl(ANS.ADR_ABT,FMA.ADR_ABT) as ANS_ABT,iif(empty(nvl(ANS.ADR_BILD,'')),space(100), '\\[FREIGABENAME]\[DATENFPAD]\WEEKEND.DAT\BILDERAD\'+ANS.ADR_BILD) as ANS_BILD,nvl(ANS.ID,FMA.ID) as ID,nvl(ANS.CURTIMEST,FMA.CURTIMEST) as CURTIMEST,nvl(ANS.ADR_NUMMER,0000000000) as ANS_NUMMER FROM ADRESSEN FMA left join ADRESSEN ANS on ANS.ADR_ANSVON=FMA.ADR_NUMMER and ANS.ADR_AUSG=0 and ANS.ADR_ANSVON<>0 left join WAHL FMALAND on FMALAND.WAH_FELD='ADR_LAND ' and left(FMALAND.WAH_TEXT,3)=FMA.ADR_LAND left join WAHL ANSLAND on ANSLAND.WAH_FELD='ADR_LAND ' and left(ANSLAND.WAH_TEXT,3)=nvl(ANS.ADR_LAND,FMA.ADR_LAND) left join WAHL FMAANR on FMAANR.WAH_FELD ='ADR_FIRMA0' and left(FMAANR.WAH_TEXT ,2)=str(FMA.ADR_FIRMA0,2) and substr(FMAANR.WAH_TEXT,4,1)<>'<' left join WAHL ANSANR on ANSANR.WAH_FELD ='ADR_FIRMA0' and left(ANSANR.WAH_TEXT ,2)=str(nvl(ANS.ADR_FIRMA0,FMA.ADR_FIRMA0),2) and substr(ANSANR.WAH_TEXT,4,1)<>'<' WHERE FMA.ADR_NUMMER>1 and FMA.ADR_AUSG=0 ORDER BY FMA.ADR_NUMMER,ANS_NUMMER

Mapping der Feldinformationen aus Professional ERP mit den Feldinformationen des ESTOS MetaDirectory

Nachdem der Dialog mit den ODBC-Verbindungsinformationen und dem SQL-Statement mit Weiter bestätigt wurde, öffnet sich der Folgedialog für das Mapping der Feldinformationen. Sofern das SQL-Statement korrekt angegeben wurde, sollte bereits ein Teil des Mappings automatisch vorbelegt worden sein.

Fehlende Zuordnungen können in diesem Dialog vorgenommen werden. Da die manuelle Zuordnung sich etwas aufwendig gestaltet, kann über das Symbol 

unten links die Vorlage für das Standard-Mapping importieren. Die zugehörige Musterdatei befindet sich im Verzeichnis \SUPPORT Ihres Installationsmediums und trägt – je nach Art der Datenhaltung – die Bezeichnung PErpFeldZuOrdnung.fxm bzw PErpFeldZuOrdnungSQL.fxm. Sofern im Mapping-Dialog die Option Erweiterte Einstellungen angehakt wurde, können – nach Betätigung der Weiter-Schaltfläche – Werte der Zuordnung noch weiter angepasst werden.

Einrichtung der Sprungmöglichkeit aus Anrufsignalisierung in Adressverwaltung Professional ERP

Auf der nächsten Dialogseite des Datenbank Wizard ist nun der programmatische Aufruf für den Start der Adressverwaltung aus der ESTOS-Anrufsignalisierung anzugeben

Hierbei ist zu beachten, dass der anzugebende Pfad den jeweiligen Client / Clientrechner als Bezugspunkt besitzt und nur ein Aufruf vorgegeben werden kann => Alle Clientrechner müssen dieselben Einstellungen verwenden. Auf Terminalservern ist dies normalerweise immer der Fall.

Die in den nachfolgenden Beispielen mit roter Schriftgekennzeichneten Stellen sind entsprechend der Systemumgebung anzupassen, in der Professional ERP aus der ESTOS-Anrufsignalisierung heraus aufgerufen werden soll.

Im Feld Kontakt URL ist die Verknüpfung einzutragen mit der ein Clientrechner Professional ERP starten kann.

prof://frmAdr_Frm/1/<EntryID>?prog=[lokaler Professional ERP Pfad\]&mandant=[Verzeichnispfad WEEKEND.DAT\]&page=1

Im Feld Kontakt URL Beschreibung:

ProfERP Mandant1: <Displayname>

Standortzuordnung

Nach Bestätigung des Kontak URL-Dialogs mit Weiter kann die zu verwendende Datenquelle einem Standort zugeordnet werden. In aller Regel kann die Einstellung Default ohne Änderung übernommen werden. Hierbei werden Kurzwahlen automatisch mit Vorwahlnummern ergänzt. Mehr dazu erfahren Sie im Handbuch von ESTOS MetaDirectory.

Einstellungen der Aktualisierungen

Im Anschluss öffnet sich im Datenbank Wizard der Dialog zur Festlegung von Synchronisationsintervallen, um das MetaDirectory aktuell zu halten. Auch hier ist mit Weiter zu bestätigen.

Abschluss der Einrichtung des Import-Replikators

Es folgt eine weitere Dialogseite auf der normalerweise keine weiteren Einstellungen vorgenommen werden müssen. Durch Betätigen der Schaltfläche Fertig stellen wird der Import Replikator mit den gemachten Einstellungen erstellt.