PMS32 Online- Hilfereferenz

HOST.PROZESS

Informationen über die Installation und Ansteuerung eines PMS-Serverprozesses


 

1.      Installation - Server

2.      Installation - Client

3.      Steuerung

 


Installation - Server

Für die Installation auf dem PMS-Server muss auf jeden Fall die Library PMS32-MSM-INSTALLATION.MSI (einmal) installiert werden. Der Hostprozess wird über TCPIP unter Angabe eines Ports getriggert. Dieser Port muss in der Firewall von Windows freigegeben sein! Siehe auch sample_pms32hx.zip im Ordner Samples.

Ich habe einmal eine Einstellung der Firewall aufgezeichnet, jedoch kann das Aussehen des Abbilds in einer anderen Version von Windows abweichend sein!

In der Firewall muss ein Port freigegeben sein, der für die Kommunikation zwischen Client und Server dient. Beide Seiten senden und empfangen Daten, die je nach Seite ausgewertet werden!

Auf dem Host können bisher verschiedene Prozesse, die sonst auf dem Client laufen verarbeitet werden. Dies verringert die Netzwerklast und beschleunigt die Prozesse.

 

Die Firewall:

 

Nach dem Öffnen der Firewall gehen Sie bitte auf ‚Erweiterte Einstellungen‘

 

 

Legen Sie für ‚Eingehende Regeln‘ und ‚Ausgehende Regeln‘ jeweils den gleichen TCPIP-Port fest, der zur Kommunikation zwischen Server und Client genommen werden soll.

 

Danach müssen noch Einstellungen für die Kommunikation vorgenommen werden. Siehe Codebeispiel…

 

*/ Wenn Sie den Hostprozess PMS32HX.EXE auf dem Server starten werden beide Dateien, soweit nicht vorhanden, angelegt!
*/ Dann muss nur noch die Portnummer angegeben werden…
 
*/ Ansonsten…
 
*/ Erzeugen Sie im Verzeichnis sys\mysys\ eine Textdatei mit dem Namen: systems.define
*/ Tragen Sie in dieser Datei folgende Zeile ein und speichern Sie die Datei
 
*/ Nachladen der unten angegebenen Define-Datei...
*/ In der unten aufgeführten Datei werden die Einstellungen vorgenommen!
*/ Die unten aufgeführte Datei wird vom BackEnd (Clients) gelesen!
Systems.Background.Define
 
*/ Die obige Datei dient lediglich zum Nachladen der ‚eigentlichen‘ Definitionsdatei
*/ Die Datei wird jedoch benötigt! Unter dem Namespace My.Systems werden die dort angegebenen Werte gespeichert!
*/ Je jetzt folgende Definitionsdatei mit dem Namen Systems.Background.Define wird vom Client getestet!
*/ Ist diese Datei vorhanden, so weiß der Client, dass eine Verbindung zu einem Host hergestellt werden muss!
 
*/ Erzeugen Sie im Verzeichnis sys\mysys\ eine Textdatei mit dem Namen: systems.background.define
*/ Tragen Sie in dieser Datei folgende Zeile ein und speichern Sie die Datei
 
*/ Diese Informationen wurden von: MBB_HOST # MBB am: 08.10.2015 09:06:43 automatisch angelegt:
*/ Name des Host-Computers (Servers)
wSockRemoteHostName = "MBB_HOST"
*/ IP Adresse des Host-Computers (Servers)
wSockRemoteHostIP = "192.168.0.1"
*/ Portadresse. Bitte sehen Sie in den Firewall Einstellungen nach, ob die Port- Adresse zulässig ist?
*/ Sollte keine Verbindung zum Host hergestellt werden können, so kann dies an einer Blockierung
*/ durch die Firewall von Windows liegen!
wSockRemotePort = 63333
*/ Protokoll. 0-TCP , 1-UDP. Nach Möglichkeit das Protokoll auf TCP eingestellt lassen!
wSockRemoteProtocol = 0
*/ Diese Datei wird von den Clients gelesen, wenn eine TCPIP-Verbindung zum Host aufgebaut werden soll.
*/ Besteht eine derartige Verbindung, so werden diverse Prozesse des Clients auf den Host verlagert!
*/ Aktivieren Sie auf keinen Fall die Remote-Verbindung, wenn der Host durch andere Prozesse schon stark ausgelastet ist!
 

 

Einstellen von zeitlich getriggerten Prozessen, die vom Host ohne Anweisung des Clients laufen sollen.

*/ Zur Einstellung von zeitlich getriggerten Jobs wird die Datei pms32hx.jobs.define im Verzeichnis sys\mysys benötigt
 
*/ Ein Beispiel einer zeitlich gesteuerten Übertragung von Daten an den EPLAN-SQL-Server
<TransferToEplanP8:§&poChild.AddJob(m.pcName)>
         */ Wochentage, an denen der Job AKTIV ist!
         */ 1-Sonntag,2-Montag,3-Dienstag,...,7-Samstag
         cActiveDays = "23456"
 
         */ Uhrzeit(en):
         */ Startzeit plus N-mal 'Stunden'
         */       hh[:mm[:ss]];*N+hh[:mm[:ss]]
         */       Start wäre um: 06:00, 06:30, 07:00, 07:30, ..., 17:00
         cStart = "06:00;*20+00:30"
 
         >cScript
                 LOCAL lcScript
                 */ Nachladen des Scripts...
                 lcScript = My.CStructs.cOts.Loadscript("_script_eplan_p8_transfer.usr")
                 */ Und ausführen, wenn vorhanden!
                 RETURN IIF(EMPTY(m.lcScript),.F.,EXECSCRIPT(m.lcScript))
         <        
 
         */ DIE MANDANTEN-ID MUSS IMMER ZULETZT KOMMEN!
         cIdx02 = "DEMO_PMS_DEMO"
<> 
 
*/ Weitere Beispiele finden Sie unter samples\sample_pms32hx.zip

 

Installation - Client

Wird eine Kommunikation zwischen  Client und Host benötigt, so muss auf dem Client die Library PMS32-MSM-INSTALLATION.MSI (einmal) installiert werden. Eventuell sind Einstellungen der Firewall am Client vorzunehmen, die wie oben beschrieben (Installation – Server), vorgenommen werden müssen. Weitere Einstellungen oder Installationen sind nicht notwendig. Aller weiteren Informationen für den Client, werden aus der Datei systems.background.define geladen! (Siehe oben)

 

*/ Siehe oben…

 

Steuerung

Für die Steuerung des Host können unterschiedliche Definitionen herangezogen werden:

1.      Es wurden zeitlich gesteuerte Informationen angegeben. (pms32hx.jobs.define)

2.      Es werden TCPIP Verbindungen zwischen den Clients und dem Host aufgebaut.
In diesem Fall werden diverse Prozesse nicht mehr auf dem Client sondern auf dem Host ausgeführt

3.      Aufruf des Hostprozesses auf dem Server wenn keine TCPIP Verbindung benötigt wird (nur zeitlich gesteuerte Prozesse)
…\PMS32\PMS32HX.EXE <Mandanten-ID> NOIPCONNECT

4.      Aufruf des Hostprozesses incl. TCPIP Verbindung
…\PMS32\PMS32HX.EXE <Mandanten-ID>

 

*/ Informationen der Hintergrundprozesse in PMS32 (Stand Version: 1.0.04.3500)
 
*/ Kalkulieren des Artikelstamms
lReturn = My.Bussines.Calculation.Calculate.CalcB01Background(<cFilter>,<cStructure>)
 
*/ Kalkulieren eines Vorgangs
lReturn = My.Bussines.Calculation.Calculate.CalcE10Background(<cIde10>,<cStructure>)
 
*/ Übertragen von EK-Daten in den Artikelstamm
lReturn = My.Bussines.Calculation.Calculate.TransD03toB01Background(<nWhat>,<lShowThermos>,<lIgnoreDate>,<cFilter>)
 
*/ Übertragen von Daten an den EPLAN-SQL-Server
lReturn = My.Bussines.EplanServer.TransferDataBackground(<cTable>,<cId>,<lShowThermos>)
 
*/ Korrektur des Buchungsjournals, wenn eine Eingangsrechnung gebucht wird
lReturn = My.Bussines.MaWi.I21KorrBackground(<cTable>,<cIdb01>,<cFilter>)
 
*/ Bereinigen der Disposition
lReturn = My.Bussines.MaWi.fi20.BereinigenBackground(<cFilter>,<lShowThermos>)
 
*/ Einen Vorgang disponieren (NOCH NICHT FREIGESCHALTET!)
lReturn = My.Bussines.MaWi.fi20.DispositionBackground(<cIp>,<cId>,<cArt>,<oStructure>)
 
*/ Lagermodullauf I2601
lReturn = My.Bussines.MaWi.fi20.ModLaufI26Background(<cIdi26>,<oStructure>,<lInDispo>)
 
*/ Lagermodullauf I2801
lReturn = My.Bussines.MaWi.fi20.ModLaufI28Background(<cIdi28>,<oStructure>,<lInDispo>)
 
*/ Inventurbewertung
lReturn = My.Bussines.MaWi.fi50.BewertungBackground(<cIdi50>,<lShowThermos>)
 
*/ Erstellen einer EDI-FAKT Datei
lReturn = My.Bussines.Ordering.Orders.EdiFaktBackground(<cIdd40>,<lShowThermos>)
 
*/ Ein Benutzerscript ausführen
lReturn = My.Bussines.Scripting.RunScriptBackground(<cScript>[,<vP1>...<vP8>])
 
*/ Ein Benutzer-Scriptfile ausführen
lReturn = My.Bussines.Scripting.RunScriptFileBackground(<cScriptFile>[,<vP1>...<vP8>])
 
*/ Weitere Prozesse sind in Vorbereitung…

 


Siehe auch : Hauptmenü / Hauptindex; / Dictionary Module / Programm- Module / Tabellen Index / Masken Index

Lokale Benutzerhilfe : Meine eigene Hilfe / Zurück zur PMS32 - Hilfe


Dateiversion:1.0.04.35.00 - H.U.DD.V1.V2
Senden Sie Ihren Kommentar zu diesem Thema an das Entwicklungsteam von PMS32
Weitere Informationen finden Sie unter der aktuellen PMS32 WEB-Hilfe . © PMS Compelec GmbH 2010 ® el-Projekt