PATEDI NT.ExchangeGate: Unterschied zwischen den Versionen

Aus PPwiki
Wechseln zu: Navigation, Suche
(Probleme bei der Installation)
 
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{DISPLAYTITLE:ExchangeGate|noerror}}
 
{{DISPLAYTITLE:ExchangeGate|noerror}}
 +
== Versionen ==
  
==Probleme bei der Installation==
+
=== 9.0.1 Revision 14987 (27.2.2020) ===
 +
* Die aktuelle 9er Version hat in der Regel alles, was unsere Kunden brauchen
 +
* Basiert auf dem .NET Framework 4.6 und Oracle 12.x.
 +
* Bugfix: Logging Probleme haben teilweise zu einem Absturz geführt. Z.b. wenn die Datenbank nicht erreichbar war ist das Programm unter bestimmten Umständen abgestürzt.
 +
* Bugfix: Wenn das Programm abstürzt läuft der Status Timer auch nicht mehr weiter. Früher hat es das Problem gegeben, dass das Programm abgestürzt ist, aber im Hintergrund trotzdem in die B_TASK_STATUS geschrieben wurde, dass es noch läuft.
 +
 
 +
=== 10.0.0 Revision 16582 (3.8.2020) ===
 +
* Ist die neuste Version
 +
* In den http Settings wurde ein neues Feld „Content Type“ hinzugefügt.
 +
* Basiert auf dem .NET Framework 4.8 und Oracle 19.3.1.
 +
* Oracle Client wird als DLL mitgeliefert
 +
* '''ACHTUNG:''' .NET 4.8 ist nicht auf jedem Server vorhanden und lässt sich auch nicht so einfach installieren. Die 9er Version reicht in der Regel.
 +
 
 +
 
 +
== Probleme bei der Installation ==
 +
=== Absturz / fehlende Tabellen ===
 
Wenn das ExchangeGate direkt nach dem Starten abstürzt (z.B. nach einem Update von einer alten Version), können Tabellen und/oder Spalten fehlen.
 
Wenn das ExchangeGate direkt nach dem Starten abstürzt (z.B. nach einem Update von einer alten Version), können Tabellen und/oder Spalten fehlen.
  
Dann dieses Skript [[Alter-User-Tables.sql]] ausführen.
+
* '''ACHTUNG''': ''Dieses Skript ist veraltet. Die Tabellennamen haben jetzt Groß- und Kleinschreibung, z.B. '''CdsUsers''' statt '''CDSUSERS'''.''<br /><del>Dann [[Alter-User-Tables.sql|dieses Skript (Alter-User-Tables.sql)]] ausführen.</del>
 +
 
 +
* Danach kann noch [[Update_E-Tabellen_ExchangeGate|ein weiteres Skript]] ausgeführt werden, wen das ExchangeGate dies nicht schon über ein Pop-up-Fenster hat machen lassen.
 +
 
 +
* Ist die neue Version 12 oder höher, kann auch folgendes helfen:
 +
<pre>
 +
ALTER TABLE "CdsUsers" ADD "SalesRepId" VARCHAR2(10 CHAR);
 +
ALTER TABLE "CdsUsers" ADD "CustomerId" VARCHAR2(10 CHAR);
 +
ALTER TABLE "CdsUsers" ADD "SupplierId" VARCHAR2(10 CHAR);
 +
UPDATE CDS_FILTERS SET OBJECT_NAME = REPLACE(OBJECT_NAME, 'CDS.ClientModule.BI.Forms.BIFilterDialog', 'CDS.ClientModule.InformationSystem.BI.Forms.BIFilterDialog') WHERE OBJECT_NAME LIKE 'CDS.ClientModule.BI.Forms%';
 +
update "CdsObjects" set "Id" = REPLACE("Id",'CEC.Modules.BI.Forms.2', 'CEC.Modules.InformationSystem.Forms.BI.2'), "ParentId" = 'CEC.Modules.InformationSystem.Forms.BI' where "Project" = 'CEC' and "Id" like 'CEC.Modules.BI.Forms.2%';
 +
update "CdsObjects" set "Id" = REPLACE("Id",'CEC.Modules.BI', 'CEC.Modules.InformationSystem'), "ParentId" = REPLACE("ParentId",'CEC.Modules.BI', 'CEC.Modules.InformationSystem') where "Project" = 'CEC' and "Id" like 'CEC.Modules.BI%';
 +
update "CdsObjects" set "Id" = REPLACE("Id",'BICreatorForm', 'BIDesignerForm') where "Project" = 'CEC';
 +
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'CEC.Modules.BI.Forms.2', 'CEC.Modules.InformationSystem.Forms.BI.2') where "ObjectId" like 'CEC.Modules.BI.Forms.2%';
 +
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'CEC.Modules.BI', 'CEC.Modules.InformationSystem') where "ObjectId" like 'CEC.Modules.BI%';
 +
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'BICreatorForm', 'BIDesignerForm');
 +
</pre>
 +
 
 +
=== Falsche Oracle Version ===
 +
 
 +
Was sein kann: Wenn ein alter Oracle Client am Rechner installiert ist, muss dieser aus dem GAC entfernt werden, damit man keine Versionskonflikte bekommt.
 +
 
 +
D.h. in der machine.config müssen alle Verweise auf Oracle.ManagedDataAccess entfernt werden:
 +
 
 +
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
 +
 
 +
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
 +
 +
 
 +
Teilweise müssen die lokalen Oracle.ManagedDataAccess DLLs auch entfernt werden:
 +
 
 +
C:\Windows\Microsoft.NET\assembly\GAC_32
 +
 
 +
C:\Windows\Microsoft.NET\assembly\GAC_64
 +
 
 +
 +
Das kommt aus der offiziellen Anleitung von Oracle, offensichtlich sind die auch draufgekommen, dass das mit dem GAC keinen Mehrwert bietet.
 +
 
 +
Bei Problemen bei der Installationen bitte an Muamer wenden, von dem kommen auch die Versionen.
  
[[Update_E-Tabellen_ExchangeGate]]    UPDATE E_CUSTOMER SET TIMEST = PAT_TIME.FGETTIMEST WHERE TIMEST IS NULL;
+
== Email Notification ==
  
 +
=== Einstellungen ===
 +
[[Infomail_Settings#Wie wir der Port eingestellt|Mehr zu den Einstellungen des Servers und des Ports]]
  
 +
=== Fehler Codes ===
 +
==== CDS Codes ====
 +
* [[CU_2001|Fehler CU_2001: Customer not found]]
  
ALTER TABLE E_CUSTOMER DROP PRIMARY KEY DROP INDEX;
+
==== Plug-Plant Codes ====
DROP INDEX E_CUSTOMER_PK;
+
* Fangen bis auf weiteres alle mit pp_ an und sind kleingeschrieben (im Gegensatz zu den CDS Codes)
ALTER TABLE E_CUSTOMER ADD CONSTRAINT E_CUSTOMER_PK PRIMARY KEY (TIMEST);
+
* pp_tpp: Oracle Exception vom Trigger TPP_TLOG_IN_E_DATA_INFO (u.a.?), weil der nicht in tlog schreibt, denn der kopiert selber aus tlog.
 +
* pp_tlog: Einträge aus Tlog, die übers ExchangeGate verschickt werden sollen. Werden dort vom Trigger TPP_TlOG_IN_E_DATA_INFO eingetragen (tlog.id wird zu e_data_info.partner.id).
  
UPDATE E_EXCHANGE SET EXCHANGE_ID = PAT_TIME.FGETTIMEST WHERE EXCHANGE_ID IS NULL;
+
== Module bei Kunden ==
ALTER TABLE E_EXCHANGE DROP PRIMARY KEY DROP INDEX;
+
=== Aders ===
DROP INDEX E_EXCHANGE_PK;
+
* SARIS_ORDER_IMP_TXT_DB
ALTER TABLE E_EXCHANGE ADD CONSTRAINT E_EXCHANGE_PK PRIMARY KEY (EXCHANGE_ID);
+
* '''Achtung''': Benötigt '''64 Bit''' ODBC Treiber (mit Namen PAT, oder auch anders, je nach Config Datei)  
commit;
+
* Version 11.4.2016
 +
* FL_HANDPREIS fest 'N'?

Aktuelle Version vom 29. Dezember 2021, 15:11 Uhr

1 Versionen

1.1 9.0.1 Revision 14987 (27.2.2020)

  • Die aktuelle 9er Version hat in der Regel alles, was unsere Kunden brauchen
  • Basiert auf dem .NET Framework 4.6 und Oracle 12.x.
  • Bugfix: Logging Probleme haben teilweise zu einem Absturz geführt. Z.b. wenn die Datenbank nicht erreichbar war ist das Programm unter bestimmten Umständen abgestürzt.
  • Bugfix: Wenn das Programm abstürzt läuft der Status Timer auch nicht mehr weiter. Früher hat es das Problem gegeben, dass das Programm abgestürzt ist, aber im Hintergrund trotzdem in die B_TASK_STATUS geschrieben wurde, dass es noch läuft.

1.2 10.0.0 Revision 16582 (3.8.2020)

  • Ist die neuste Version
  • In den http Settings wurde ein neues Feld „Content Type“ hinzugefügt.
  • Basiert auf dem .NET Framework 4.8 und Oracle 19.3.1.
  • Oracle Client wird als DLL mitgeliefert
  • ACHTUNG: .NET 4.8 ist nicht auf jedem Server vorhanden und lässt sich auch nicht so einfach installieren. Die 9er Version reicht in der Regel.


2 Probleme bei der Installation

2.1 Absturz / fehlende Tabellen

Wenn das ExchangeGate direkt nach dem Starten abstürzt (z.B. nach einem Update von einer alten Version), können Tabellen und/oder Spalten fehlen.

  • Danach kann noch ein weiteres Skript ausgeführt werden, wen das ExchangeGate dies nicht schon über ein Pop-up-Fenster hat machen lassen.
  • Ist die neue Version 12 oder höher, kann auch folgendes helfen:
ALTER TABLE "CdsUsers" ADD "SalesRepId" VARCHAR2(10 CHAR);
ALTER TABLE "CdsUsers" ADD "CustomerId" VARCHAR2(10 CHAR);
ALTER TABLE "CdsUsers" ADD "SupplierId" VARCHAR2(10 CHAR);
UPDATE CDS_FILTERS SET OBJECT_NAME = REPLACE(OBJECT_NAME, 'CDS.ClientModule.BI.Forms.BIFilterDialog', 'CDS.ClientModule.InformationSystem.BI.Forms.BIFilterDialog') WHERE OBJECT_NAME LIKE 'CDS.ClientModule.BI.Forms%';
update "CdsObjects" set "Id" = REPLACE("Id",'CEC.Modules.BI.Forms.2', 'CEC.Modules.InformationSystem.Forms.BI.2'), "ParentId" = 'CEC.Modules.InformationSystem.Forms.BI' where "Project" = 'CEC' and "Id" like 'CEC.Modules.BI.Forms.2%';
update "CdsObjects" set "Id" = REPLACE("Id",'CEC.Modules.BI', 'CEC.Modules.InformationSystem'), "ParentId" = REPLACE("ParentId",'CEC.Modules.BI', 'CEC.Modules.InformationSystem') where "Project" = 'CEC' and "Id" like 'CEC.Modules.BI%';
update "CdsObjects" set "Id" = REPLACE("Id",'BICreatorForm', 'BIDesignerForm') where "Project" = 'CEC';
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'CEC.Modules.BI.Forms.2', 'CEC.Modules.InformationSystem.Forms.BI.2') where "ObjectId" like 'CEC.Modules.BI.Forms.2%';
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'CEC.Modules.BI', 'CEC.Modules.InformationSystem') where "ObjectId" like 'CEC.Modules.BI%';
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'BICreatorForm', 'BIDesignerForm');

2.2 Falsche Oracle Version

Was sein kann: Wenn ein alter Oracle Client am Rechner installiert ist, muss dieser aus dem GAC entfernt werden, damit man keine Versionskonflikte bekommt.

D.h. in der machine.config müssen alle Verweise auf Oracle.ManagedDataAccess entfernt werden:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config


Teilweise müssen die lokalen Oracle.ManagedDataAccess DLLs auch entfernt werden:

C:\Windows\Microsoft.NET\assembly\GAC_32

C:\Windows\Microsoft.NET\assembly\GAC_64


Das kommt aus der offiziellen Anleitung von Oracle, offensichtlich sind die auch draufgekommen, dass das mit dem GAC keinen Mehrwert bietet.

Bei Problemen bei der Installationen bitte an Muamer wenden, von dem kommen auch die Versionen.

3 Email Notification

3.1 Einstellungen

Mehr zu den Einstellungen des Servers und des Ports

3.2 Fehler Codes

3.2.1 CDS Codes

3.2.2 Plug-Plant Codes

  • Fangen bis auf weiteres alle mit pp_ an und sind kleingeschrieben (im Gegensatz zu den CDS Codes)
  • pp_tpp: Oracle Exception vom Trigger TPP_TLOG_IN_E_DATA_INFO (u.a.?), weil der nicht in tlog schreibt, denn der kopiert selber aus tlog.
  • pp_tlog: Einträge aus Tlog, die übers ExchangeGate verschickt werden sollen. Werden dort vom Trigger TPP_TlOG_IN_E_DATA_INFO eingetragen (tlog.id wird zu e_data_info.partner.id).

4 Module bei Kunden

4.1 Aders

  • SARIS_ORDER_IMP_TXT_DB
  • Achtung: Benötigt 64 Bit ODBC Treiber (mit Namen PAT, oder auch anders, je nach Config Datei)
  • Version 11.4.2016
  • FL_HANDPREIS fest 'N'?