Schnittstelle.GM: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 9: Zeile 9:
* Dort liegt die Datei "ArbeitsschritteExport-v24.dtd"
* Dort liegt die Datei "ArbeitsschritteExport-v24.dtd"
* Dort liegt die Datei "Mapping.txt"
* Dort liegt die Datei "Mapping.txt"
* Die XML muss konvertiert werden (rechter Mausklick XML konvertierung mit oc) - ACHTUNG bei Windows11 zuerst nach unten "Weitere Optionen anzeigen"
* Es ensteht eine importfähige CSV Datei MG.csv
* diese CSV muss umbenannt werden auf den Ursprungsnamen der XML. NAS-100xxxxx.csv
=== ArbeitsschritteExport-v24.dtd ===
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT FILE (MESSAGE)+>
<!ELEMENT MESSAGE (HEAD, POSITION+)>
<!ELEMENT HEAD EMPTY>
<!ELEMENT POSITION (ARTICLE*, CHANGED?, TASK)>
<!ELEMENT CHANGED (ARTICLE+)>
<!ELEMENT ARTICLE (COUNTER*, SWITCHING_TIME*)>
<!ELEMENT COUNTER EMPTY>
<!ELEMENT SWITCHING_TIME EMPTY>
<!ELEMENT TASK (INDICATION*, ATTACHMENT?, INITIATION_PROTOCOL?, COUNTER_PICTURE?, INSTALLATION_PICTURE?)>
<!ELEMENT INDICATION EMPTY>
<!ELEMENT ATTACHMENT (DATA_FILE*)>
<!ELEMENT INITIATION_PROTOCOL (DATA_FILE)>
<!ELEMENT COUNTER_PICTURE (DATA_FILE)>
<!ELEMENT INSTALLATION_PICTURE (DATA_FILE)>
<!ELEMENT DATA_FILE EMPTY>
<!ATTLIST MESSAGE
number CDATA #REQUIRED>
<!ATTLIST HEAD
order_id CDATA #REQUIRED>
 
<!ATTLIST POSITION
order_position CDATA #REQUIRED
reason_for_creation CDATA #REQUIRED
service_id CDATA #REQUIRED
service CDATA #IMPLIED>
 
<!ATTLIST ARTICLE
new_article (TRUE | FALSE) #REQUIRED
id CDATA #REQUIRED
type_id CDATA #REQUIRED
multiplication_constant CDATA #IMPLIED
assembly (ALL | UNITY | NONE) #IMPLIED>
<!ATTLIST COUNTER
edis_key CDATA #REQUIRED
quantity CDATA #IMPLIED
quantity_pre_calibration CDATA #IMPLIED>
<!ATTLIST SWITCHING_TIME
channel_nr CDATA #REQUIRED
dk_number CDATA #REQUIRED
description CDATA #REQUIRED
bv_attribute CDATA #REQUIRED>
<!ATTLIST TASK
id CDATA #REQUIRED
operation ( Einbau | Ausbau | Wechsel | Kontrolle | Standard | Parametrierung_im_Netz | Beglaubigung_im_Netz | Sperrung | Dienstleistung | Beglaubigung_Mengenumwerter_im_Netz) #REQUIRED
operator_id CDATA #IMPLIED
operator CDATA #IMPLIED
date CDATA #REQUIRED
date_pre_calibration CDATA #IMPLIED>
<!ATTLIST INDICATION
id CDATA #REQUIRED
text CDATA #IMPLIED>
<!ATTLIST DATA_FILE
file_name CDATA #REQUIRED>


=== Mapping.txt ===
=== Mapping.txt ===
Zeile 93: Zeile 161:
  SAP_Info_#_#(Zaehlernummer.Ausbau,23)
  SAP_Info_#_#(Zaehlernummer.Ausbau,23)
  Zähler_Info_#_#(Zahler.Material,26)
  Zähler_Info_#_#(Zahler.Material,26)
  Zähler_Info_#_#(edis_key,35)
  Zähler_Info_#_#(edis_key,34)
  Transaktion(HAC)
  Transaktion(HAC)
  Kunde_Brief_Name1(07)
  Kunde_Brief_Name1(07)
Zeile 197: Zeile 265:


=== notwendige Dateien ===
=== notwendige Dateien ===
==== EXPORT-*.xml ====


* die jeweilige .xml Auftragsdatein, umbenannt nach <b>EXPORT-</b>blablabla.xml
* die jeweilige .xml Auftragsdatein, umbenannt nach <b>EXPORT-</b>blablabla.xml
* xls2xml.ini
 
==== xls2xml.ini ====


  Bilder=JA
  Bilder=JA
Zeile 206: Zeile 277:
  # Gas 2020
  # Gas 2020
  #
  #
  Ausbau 1/1 7-1:11.8.1=ZaehlerNummerAlt
  Ausbau 1/1 7-1:11.8.1=ZaehlerstandAlt
  Einbau 1/1 7-1:3.1.0=ZaehlerNummerNeu
  Einbau 1/1 7-1:3.1.0=ZaehlerstandNeu
   
   


Zeile 213: Zeile 284:


  "Ausbau"|"Einbau" " " Zählwerk/Zählwerke_insgesamt edis-key "=" OrgaMonZaehlerStandEingabe
  "Ausbau"|"Einbau" " " Zählwerk/Zählwerke_insgesamt edis-key "=" OrgaMonZaehlerStandEingabe
#
# OrgaMonZaehlerStandEingabe = "ZaehlerstandAlt" | "ZaehlerStandNeu" | "A181" | "E181" | "NA" | "NN" | "A280" | "E280" | "A281" | "E281" | "A282" | "E282"
#




* <code>ArbeitsschritteImport-v24.dtd</code> (notwendig wegen der Schema-Prüfung, also ob die Ergebnis-Datei valide ist)
* <code>ArbeitsschritteImport-v24.dtd</code> (notwendig wegen der Schema-Prüfung, also ob die Ergebnis-Datei valide ist)

Aktuelle Version vom 17. Januar 2024, 13:49 Uhr

zurück


Import

  • der Import erfolgt in sogenannten Auftrags- oder Import-Baustellen.
  • Das Baustellen-Kürzel wird mit einem "#" eingeleitet
  • Dieser Baustelle ist ein besonderes Import-Verzeichnis zugeordnet
  • Dort liegt die Datei "ArbeitsschritteExport-v24.dtd"
  • Dort liegt die Datei "Mapping.txt"
  • Die XML muss konvertiert werden (rechter Mausklick XML konvertierung mit oc) - ACHTUNG bei Windows11 zuerst nach unten "Weitere Optionen anzeigen"
  • Es ensteht eine importfähige CSV Datei MG.csv
  • diese CSV muss umbenannt werden auf den Ursprungsnamen der XML. NAS-100xxxxx.csv

ArbeitsschritteExport-v24.dtd

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT FILE (MESSAGE)+>
<!ELEMENT MESSAGE (HEAD, POSITION+)>
<!ELEMENT HEAD EMPTY>
<!ELEMENT POSITION (ARTICLE*, CHANGED?, TASK)>
<!ELEMENT CHANGED (ARTICLE+)>
<!ELEMENT ARTICLE (COUNTER*, SWITCHING_TIME*)>
<!ELEMENT COUNTER EMPTY>
<!ELEMENT SWITCHING_TIME EMPTY>
<!ELEMENT TASK (INDICATION*, ATTACHMENT?, INITIATION_PROTOCOL?, COUNTER_PICTURE?, INSTALLATION_PICTURE?)>
<!ELEMENT INDICATION EMPTY>
<!ELEMENT ATTACHMENT (DATA_FILE*)>
<!ELEMENT INITIATION_PROTOCOL (DATA_FILE)>
<!ELEMENT COUNTER_PICTURE (DATA_FILE)>
<!ELEMENT INSTALLATION_PICTURE (DATA_FILE)>
<!ELEMENT DATA_FILE EMPTY>

<!ATTLIST MESSAGE
number						CDATA									#REQUIRED>

<!ATTLIST HEAD
order_id					CDATA									#REQUIRED>
 
<!ATTLIST POSITION
order_position				CDATA									#REQUIRED
reason_for_creation			CDATA									#REQUIRED
service_id					CDATA									#REQUIRED
service						CDATA									#IMPLIED>
  
<!ATTLIST ARTICLE
new_article					(TRUE | FALSE)							#REQUIRED
id							CDATA									#REQUIRED
type_id						CDATA									#REQUIRED
multiplication_constant		CDATA									#IMPLIED
assembly 					(ALL | UNITY | NONE) 					#IMPLIED>

<!ATTLIST COUNTER
edis_key					CDATA									#REQUIRED
quantity					CDATA									#IMPLIED
quantity_pre_calibration	CDATA									#IMPLIED>

<!ATTLIST SWITCHING_TIME
channel_nr					CDATA									#REQUIRED
dk_number					CDATA									#REQUIRED
description					CDATA									#REQUIRED
bv_attribute				CDATA									#REQUIRED>

<!ATTLIST TASK
id							CDATA									#REQUIRED
operation					( Einbau | Ausbau | Wechsel | Kontrolle | Standard | Parametrierung_im_Netz | Beglaubigung_im_Netz | Sperrung | Dienstleistung | Beglaubigung_Mengenumwerter_im_Netz)	#REQUIRED
operator_id					CDATA									#IMPLIED
operator					CDATA									#IMPLIED
date						CDATA									#REQUIRED
date_pre_calibration		CDATA									#IMPLIED>

<!ATTLIST INDICATION
id							CDATA									#REQUIRED
text						CDATA									#IMPLIED>

<!ATTLIST DATA_FILE
file_name					CDATA									#REQUIRED>

Mapping.txt

 #
 # GM 2.4 Import - Mapping (c) 2020 Andreas Filsinger
 #
 # Rev 1.001 (29.04.20) Andreas Filsinger
 #
 #  Neu: UTF8=JA
 #  Neu: ORDER.Position
 #  Wegfall: ORDER.Nummer, ORDER.Aufgabe
 #
 # Rev 1.000 (25.02.20) Andreas Filsinger
 #
 #  Initial Release
 #

 FILE.MESSAGE.HEAD.order_id;ORDER.id
 FILE.MESSAGE.POSITION.order_position;ORDER.Position
 FILE.MESSAGE.HEAD.description;ORDER.Bemerkung
 FILE.MESSAGE.POSITION.service;ORDER.Grund
 FILE.MESSAGE.POSITION.LOCATION.org_unit;ORDER.Auftraggeber

 FILE.MESSAGE.POSITION.CUSTOMER.name;BRIEF.Name
 FILE.MESSAGE.POSITION.CUSTOMER.id;BRIEF.KundeNummer
 FILE.MESSAGE.POSITION.CUSTOMER.ADDRESS.street;BRIEF.Strasse
 FILE.MESSAGE.POSITION.CUSTOMER.ADDRESS.street_nr;BRIEF.Hausnummer
 FILE.MESSAGE.POSITION.CUSTOMER.ADDRESS.postcode;BRIEF.PLZ
 FILE.MESSAGE.POSITION.CUSTOMER.ADDRESS.city;BRIEF.Ort
 FILE.MESSAGE.POSITION.CUSTOMER.ADDRESS.city_district;BRIEF.Ortsteil

 FILE.MESSAGE.POSITION.LOCATION.counting_level;LIEGENSCHAFT.Zählebene
 FILE.MESSAGE.POSITION.LOCATION.metering_point;LIEGENSCHAFT.Messstelle
 FILE.MESSAGE.POSITION.LOCATION.info;LIEGENSCHAFT.Info
 FILE.MESSAGE.POSITION.LOCATION.net;LIEGENSCHAFT.Netz
 FILE.MESSAGE.POSITION.LOCATION.ADDRESS.street;LIEGENSCHAFT.Strasse
 FILE.MESSAGE.POSITION.LOCATION.ADDRESS.street_nr;LIEGENSCHAFT.Hausnummer
 FILE.MESSAGE.POSITION.LOCATION.ADDRESS.postcode;LIEGENSCHAFT.PLZ
 FILE.MESSAGE.POSITION.LOCATION.ADDRESS.city;LIEGENSCHAFT.Ort
 FILE.MESSAGE.POSITION.LOCATION.ADDRESS.city_district;LIEGENSCHAFT.Ortsteil

 FILE.MESSAGE.POSITION.ARTICLE.id;ZAEHLER.Nummer
 FILE.MESSAGE.POSITION.ARTICLE.article_description;ZAEHLER.Info
 FILE.MESSAGE.POSITION.ARTICLE.type_description;ZAEHLER.Material
 FILE.MESSAGE.POSITION.ARTICLE.device_group;ZAEHLER.Artikel
 FILE.MESSAGE.POSITION.ARTICLE.no_further_use;Verschrottung

 FILE.MESSAGE.POSITION.ARTICLE_TYPE.device_group;EINBAU.Typ
 FILE.MESSAGE.POSITION.ARTICLE_TYPE.device_parameters;EINBAU.Parameter
 FILE.MESSAGE.POSITION.ARTICLE_TYPE.product;EINBAU.Art
 FILE.MESSAGE.POSITION.ARTICLE_TYPE.type_description;EINBAU.Material

 PK;ORDER.Anker

 0=<?xml version="1.0" encoding="ISO-8859-1"?>
 IGNORE=1-0:1.7.1;W|1-0:0.0.9*255;|1-0:1.8.0;kWh|1-0:21.7.0;W|1-0:41.7.0;W|1-0:61.7.0;W
 NAMESPACE=ORDER.Auftraggeber
 REPLACE=(Regionalzentrum|)(Demontage|Dem)(Anlagenänderung|AnÄ)(Vertragsänderung|VeÄ)(Stichprobe|Sti)(Neuinstallation|Neu)(Störung|Stö)(  | )(--|-)
 UTF8=JA
  • Die xml-Auftragsdateien müssen auch ins Baustellen-Ergebnis-Verzeichnis der jeweiligen Baustelle verschoben werden
    • Dabei muss der Dateinamen mit EXPORT- anfangen.


  • Verschrottung.ini
TRUE=Schrott
*=

Schema

Zähler_Nummer(23)
SAP_Info_#_#(AuftragsQuelle,01)
SAP_Info_#_#(ORDER.id,02)
SAP_Info_#_#(ORDER.Position,03)
SAP_Info_#_#(ORDER.Bemerkung,04)
SAP_Info_#_#(ORDER.Grund,05)
SAP_Info_#_#(Einbau.Typ,28)
SAP_Info_#_#(Einbau.Art,30)
SAP_Info_#_#(Einbau.Material,25)
SAP_Info_#_#(edis_key,34)
SAP_Info_#_#(Zaehlwerk,33)
SAP_Info_#_#(Zaehlernummer.Ausbau,23)
Zähler_Info_#_#(Zahler.Material,26)
Zähler_Info_#_#(edis_key,34)
Transaktion(HAC)
Kunde_Brief_Name1(07)
Kunde_Brief_Nummer(08)
Kunde_Brief_Strasse_#_#_#(09,10,)
Kunde_Brief_Ort_#_#(11,12)
Zähler_Info_#_#(Liegensch.-Info,16)
Zähler_Info_#_#(Messtelle,15)
Zähler_Ort_Strasse_#_#_#(18,19,)
Zähler_Ort_Ort_#_#(20,21)
Zähler_Ort_Ortsteil(22)
SAP_Art_#_#(31,33)
Zählwerk-Ausbau(34)
Zählwerk-Einbau(36)

  • technisch notwendige Felder sind
ORDER.id
ORDER.Position
AuftragsQuelle

Reiter Ergebnis

#
# Zugangsdaten
#
FTPVerzeichnis=import

#
# Zugangsdaten zur Foto-Ablage
#
FTPServer-Foto=...
FTPBenutzer-Foto=...
FTPPasswort-Foto=...
ZipPasswort-Foto=...

#
# Dateiformat
#
ZipPräfix=xxx-
SpaltenReihenfolge=ORDER.id!;ORDER.Position!;Zw;Sparte;Messpunkt;AuftragsQuelle;WechselDatum;Verbraucher_Ort;Verbraucher_Strasse;Zaehler_Nummer;ZaehlerStandAlt;ZaehlerNummerNeu;ZaehlerStandNeu;Eigentumsnummer;V1;V2;V3;FA!;FN!;cFA;cFN
Zählwerk=Zw
AuchAlsXML=JA
EinsZuEins=NEIN
EineDatei=JA
eMail=...
AuchMitFoto=FA;FN
OhneStandardXLS=JA

#
# QS-Mode "aus"
#
QS_Mode=0

Reiter Protokolle

Protokoll

# Vergebliche Besuche
V1
V2
V3
# Bemerkung 
I3
I4
I5
# wichtiger Hinweis
I6
I7
I8
# Fotos
FA
FN
#
A181
NA
A280
A281
A282
E181
NN
E280
E281
E282


[x] zusätzliche Spalten ausgeben

Internfelder

ORDER.id
ORDER.Position
AuftragsQuelle

Ergebnismeldung

Mehrtarif Elektro

  • Beim Eintarif wird 'ZaehlerStandNeu' im '1-1:1.8.1' gemeldet, bei Mehrtarif 'ZaehlerStandNeu' im '1-1:1.8.2' und 'NN' im '1-1:1.8.1'
  • Diese Vorgehensweise muss abgeklärt und getestet werden

notwendige Dateien

EXPORT-*.xml

  • die jeweilige .xml Auftragsdatein, umbenannt nach EXPORT-blablabla.xml

xls2xml.ini

Bilder=JA

#
# Gas 2020
#
Ausbau 1/1 7-1:11.8.1=ZaehlerstandAlt
Einbau 1/1 7-1:3.1.0=ZaehlerstandNeu

bei den Zeilen mit "Ausbau" und "Einbau" wird festgelegt welcher edis-key mit welchem OrgaMon-Feld belegt wird. Der Aufbau der Datei ist:

"Ausbau"|"Einbau" " " Zählwerk/Zählwerke_insgesamt edis-key "=" OrgaMonZaehlerStandEingabe
#
# OrgaMonZaehlerStandEingabe = "ZaehlerstandAlt" | "ZaehlerStandNeu" | "A181" | "E181" | "NA" | "NN" | "A280" | "E280" | "A281" | "E281" | "A282" | "E282"
#


  • ArbeitsschritteImport-v24.dtd (notwendig wegen der Schema-Prüfung, also ob die Ergebnis-Datei valide ist)