Schnittstelle.IDOC: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „== IDOC Heilbronner Versorgung / Stw. Backnang / Testlauf Bad Herrenalb == ==== Daten ==== * Kd. schickt Daten direkt aus dem System. Mapping muss in dem Adress…“)
 
 
(45 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== IDOC Heilbronner Versorgung / Stw. Backnang / Testlauf Bad Herrenalb ==
[[Import#Auftrags-Schnittstellen|zurück]]


==== Daten ====
== Import ==
 
* technisch notwendige Importfelder, Import per "SAP_Info_#_#" in die Interninfo:
 
GeraeteplatzAlt
AnlageAlt
MaterialnummerZaehlerAlt
Sparte
Werk
 
 
* Bei der Datenlieferung gibt es die Optionen A und B:
 
=== Option A: Variante "PowerPack": <TAB> Getrennte Textdatei ===
 
* Kd. schickt Daten direkt Textdateien aus dem System. Diese haben keine Spaltenüberschriften, es sind keine .csv Dateien! Mapping muss in dem Adressordner vorhanden sein!
* Mit Hilfe von Oc (und der Mapping.ini) lässt sich der Auftrag in eine .csv Datei verwandeln
 
==== Mapping.ini ====


* Kd. schickt Daten direkt aus dem System. Mapping muss in dem Adressordner vorhanden sein!! (Am besten vom Vorjahr kopieren)


Mapping
  6=Serialnummer;MaterialNo;bauform;sparte;herst;werk;lager;Stand;ZWrk
  6=Serialnummer;MaterialNo;bauform;sparte;herst;werk;lager;Stand;ZWrk
  #
  #
Zeile 21: Zeile 37:
* CSV wird erstellt die auch so importiert werden kann
* CSV wird erstellt die auch so importiert werden kann


==== Import ====
=== Option B: Variante xls(x) Datei ===


* Importschema auswählen: ''IDOC_Heilbronn.gzs oder IDOC-Backnang.gzs ''
* muss nach .csv konvertiert werden, Schema entsprechend erstellen
 
=== Lagerdatei (zwingend!) ===
 
* Eine Lagerdatei ist zwingend erforderlich und muss in eine .csv Form gebracht werden
 
==== Überschriften ====
 
* die Überschriften lauten oft unterschiedlich, diese müssen "so" benannt sein
 
MaterialNo;Serialnummer;ZWrk;Lager;Stand
 
* Wenn auf die richtige "Sparte" geprüft werden muss, bitte auch die Überschrift
 
Sparte
 
==== Datei "EFRE-Sparten.ini" ====
 
* Durch die Umsetzer-Datei "EFRE-Sparten.ini" werden die unterschiedlich benannten Sparten (Versorger-System) und Art (OrgaMon) aneinander automatisch angepasst.
* Dadurch ist eine Korrektur der Lagerdatei, insbesondere die Inhalte der Spalte "Sparte" nicht nötig.
 
 
WE=Strom
WE2=Strom
D=Strom
D2=Strom
E=Strom
E2=Strom
G=Gas
WA=Wasser
1=Strom
2=Gas
3=Wasser
4=Wärme
*=*
 
== Ergebnis ==
 
=== Reiter Ergebnis ===
 
SpaltenReihenfolge=Zaehler_Nummer;MaterialnummerZaehlerAlt;GeraeteplatzAlt;AnlageAlt;Sparte;ZaehlerStandAlt!;WechselDatum;ZaehlerStandNeu!;ZaehlerNummerNeu!;MaterialnummerNeu!;ZaehlwerksnummerNeu;Werk;Lager
FreieZähler=~IhrBaustellenVerzeichnis~\LagerDateiName.csv
MaterialnummerNeu=MaterialnummerNeu
ZaehlwerksnummerNeu=ZaehlwerksnummerNeu
Zählwerk=ZaehlwerksnummerAlt
AuchAlsIDOC=JA
 
=== Datei "IDOC.Mappings.ini" ===
 
* Über diese Konfigurations-Datei lässt sich das Aussehen der erzeugten IDOC Dateien steuern
* rechter Mausklick auf die Datei und SEHR vorsichtig Änderungen durchführen, da IDOC mit festen Feldlängen arbeitet also wenn man 3 Zeichen einfügt müssen hinten 3 Blanks raus
* In der Regel wird man einfach einzelne Zeichn ersetzen
 
==== Parameter ====
 
* <code>MEA=</code>
 
#
# nimmt Einfluss auf den Ausgabedateinamen
#
# =JA            z1isu_meau_~TAN~-~IDOC-LAUFENDEN-NUMMER~
#
# =NEIN (default) .~IDOC-LAUFENDE-NUMMER~.idoc
#
#
MEA=JA
 
* <code>FileName=</code>
 
#
# bestimmt den Ausgabedateinamen
#
# 2 Platzhalter können benutzt werden
#
# ~TAN~      die aktuelle Ergebnis-TAN
# ~SEQUENCE~  die aktuellen IDOC Durchnummerierung
#
FileName=~TAN~-~SEQUENCE~.idoc
 
 
==== Beispiel "Gas" ====
 
  #
  # IDOC-Mappings für GAS
  #
  NameSpace="E2"
  Sender="SAPP80"
  Receiver="P80_MDE"
  Mandant="112"
  TimeStamp.F= ;14
  Sequence.F=0;6
  Parent.F=0;6
  Sender.F= ;10
  Receiver.F= ;10
  Mandant.F=0;3
  ### aus Auftrag, durchs OrgaMon-System durchgetragen
  AnlageAlt.F=0;10
  GeraeteplatzAlt.F= ;30
  MaterialnummerZaehlerAlt.F=0;18
  ### aus JonDa
  Zaehler_Nummer.F=0;18
  ZaehlerNummerNeu.F=0;18
  ZaehlerStandAlt.F= ;36
  ZaehlerStandNeu.F= ;36
  ### aus EFRE
  Werk.F= ;4
  Lager.F= ;4
  MaterialNummerNeu.F=0;18
  ### IDOC Nummerierung
  xTAN="~Mandant~00000000~TAN~~Document~"
  #
  # Grundsätzliche IDOC Header Definition
  #
          HEADER="EDI_DC40  ~xTAN~      2  ISU_DEVICE_CHANGE                                          ISU_DEVICE_CHANGE                                ~Sender~LS  ~Receiver~                                                                                                    LS  P80_MDE                                                                                              ~TimeStamp~                                                                                                                                    "
  # SEGMENT(PARENT)
  1=ISU_DCHANGE_HD(NIL)
  2=ISU_DCHANGE_METER(ISU_DCHANGE_HD)
  3=ISU_DCHANGE_REG(ISU_DCHANGE_METER)
  4=ISU_DCHANGE_REG_ZW(ISU_DCHANGE_REG)
  5=ISU_DCHANGE_REG_RATE(ISU_DCHANGE_REG)
  6=ISU_DCHANGE_REG_CTRL(ISU_DCHANGE_REG)
  7=ISU_DCHANGE_REG_GAS(ISU_DCHANGE_REG)
  8=ISU_DCHANGE_METER_CTRL(ISU_DCHANGE_METER)
  9=ISU_DCHANGE_METER_RATE(ISU_DCHANGE_METER)
  10=ISU_DCHANGE_TRANSFORMER(ISU_DCHANGE_METER)
  11=ISU_DCHANGE_METER_MOVE(ISU_DCHANGE_METER)
            ISU_DCHANGE_HD="~NameSpace~ISU_DCHANGE_HD000          ~xTAN~~Sequence~~Parent~01~WechselDatum~~AnlageAlt~~GeraeteplatzAlt~"
        ISU_DCHANGE_METER="~NameSpace~ISU_DCHANGE_METER000        ~xTAN~~Sequence~~Parent~0203                                          ~MaterialNummerNeu~~ZaehlerNummerNeu~~MaterialnummerZaehlerAlt~~Zaehler_Nummer~                      "
          ISU_DCHANGE_REG="~NameSpace~ISU_DCHANGE_REG000          ~xTAN~~Sequence~~Parent~03001001                                  "
        ISU_DCHANGE_REG_ZW="~NameSpace~ISU_DCHANGE_REG_ZW000      ~xTAN~~Sequence~~Parent~04~ZaehlerStandNeu~~ZaehlerStandAlt~~WechselMoment~"
      ISU_DCHANGE_REG_RATE="~NameSpace~ISU_DCHANGE_REG_RATE000    ~xTAN~~Sequence~~Parent~04                                                    "
      ISU_DCHANGE_REG_CTRL="~NameSpace~ISU_DCHANGE_REG_CTRL000    ~xTAN~~Sequence~~Parent~04                                                                                                                                                                                                                            "
      ISU_DCHANGE_REG_GAS="~NameSpace~ISU_DCHANGE_REG_GAS000      ~xTAN~~Sequence~~Parent~04                                                                                                    "
    ISU_DCHANGE_METER_CTRL="~NameSpace~ISU_DCHANGE_METER_CTRL000  ~xTAN~~Sequence~~Parent~03                                                                                                                                        "
    ISU_DCHANGE_METER_RATE="~NameSpace~ISU_DCHANGE_METER_RATE000  ~xTAN~~Sequence~~Parent~03                            "
  ISU_DCHANGE_TRANSFORMER="~NameSpace~ISU_DCHANGE_TRANSFORMER000  ~xTAN~~Sequence~~Parent~03        "
    ISU_DCHANGE_METER_MOVE="~NameSpace~ISU_DCHANGE_METER_MOVE000  ~xTAN~~Sequence~~Parent~03U61U62~Werk~1020INETI003                                                                                                                                                                        "


Importschema:
==== Beispiel "Wasser" ====


Wichtig für Rückmeldung :
  #
  #  IDOC-Mappings für Wasser
  #
   
   
  SAP_Info_#_# GeraeteplatzAlt=7000010454
  NameSpace="E2"
  SAP_Info_#_# AnlageAlt=4000024532
  Sender="SAPP80"
  SAP_Info_#_# MaterialnummerZaehlerAlt=000000000043000000
  Receiver="P80_MDE"
  SAP_Info_#_# Sparte=03
  Mandant="612"
  SAP_Info_#_# Werk=02
  TimeStamp.F= ;14
  Sequence.F=0;6
  Parent.F=0;6
  Sender.F= ;10
  Receiver.F= ;10
  Mandant.F=0;3
   
  ### aus Auftrag, durchs OrgaMon-System durchgetragen
  AnlageAlt.F=0;10
  GeraeteplatzAlt.F= ;30
  MaterialnummerZaehlerAlt.F=0;18
   
  ### aus JonDa
  Zaehler_Nummer.F=0;18
  ZaehlerNummerNeu.F=0;18
  ZaehlerStandAlt.F= ;36
  ZaehlerStandNeu.F= ;36
   
  ### aus EFRE
  Werk.F= ;4
  Lager.F= ;4
  MaterialNummerNeu.F=0;18
   
  ### IDOC Nummerierung
  xTAN="~Mandant~00000000~TAN~~Document~"
   
  #
  # Grundsätzliche IDOC Header Definition
  #
                  HEADER="EDI_DC40  ~xTAN~      2  ISU_DEVICE_CHANGE                                          ISU_DEVICE_CHANGE                                ~Sender~LS  ~Receiver~                                                                                                    LS  P80_MDE                                                                                              ~TimeStamp~                                                                                                                                    "
  # SEGMENT(PARENT)
  1=ISU_DCHANGE_HD(NIL)
  2=ISU_DCHANGE_METER(ISU_DCHANGE_HD)
  3=ISU_DCHANGE_REG(ISU_DCHANGE_METER)
  4=ISU_DCHANGE_REG_ZW(ISU_DCHANGE_REG)
  5=ISU_DCHANGE_REG_RATE(ISU_DCHANGE_REG)
  6=ISU_DCHANGE_REG_CTRL(ISU_DCHANGE_REG)
  7=ISU_DCHANGE_REG_GAS(ISU_DCHANGE_REG)
  8=ISU_DCHANGE_METER_CTRL(ISU_DCHANGE_METER)
  9=ISU_DCHANGE_METER_RATE(ISU_DCHANGE_METER)
  10=ISU_DCHANGE_TRANSFORMER(ISU_DCHANGE_METER)
  11=ISU_DCHANGE_METER_MOVE(ISU_DCHANGE_METER)
          ISU_DCHANGE_HD="~NameSpace~ISU_DCHANGE_HD000          ~xTAN~~Sequence~~Parent~01~WechselDatum~~AnlageAlt~~GeraeteplatzAlt~"
        ISU_DCHANGE_METER="~NameSpace~ISU_DCHANGE_METER000        ~xTAN~~Sequence~~Parent~0203                                          ~MaterialNummerNeu~~ZaehlerNummerNeu~~MaterialnummerZaehlerAlt~~Zaehler_Nummer~                      "
          ISU_DCHANGE_REG="~NameSpace~ISU_DCHANGE_REG000          ~xTAN~~Sequence~~Parent~03001001                                  "
      ISU_DCHANGE_REG_ZW="~NameSpace~ISU_DCHANGE_REG_ZW000      ~xTAN~~Sequence~~Parent~04~ZaehlerStandNeu~~ZaehlerStandAlt~~WechselMoment~"
    ISU_DCHANGE_REG_RATE="~NameSpace~ISU_DCHANGE_REG_RATE000    ~xTAN~~Sequence~~Parent~04                                                    "
    ISU_DCHANGE_REG_CTRL="~NameSpace~ISU_DCHANGE_REG_CTRL000    ~xTAN~~Sequence~~Parent~04                                                                                                                                                                                                                            "
      ISU_DCHANGE_REG_GAS="~NameSpace~ISU_DCHANGE_REG_GAS000      ~xTAN~~Sequence~~Parent~04                                                                                                    "
  ISU_DCHANGE_METER_CTRL="~NameSpace~ISU_DCHANGE_METER_CTRL000  ~xTAN~~Sequence~~Parent~03                                                                                                                                        "
  ISU_DCHANGE_METER_RATE="~NameSpace~ISU_DCHANGE_METER_RATE000  ~xTAN~~Sequence~~Parent~03                            "
  ISU_DCHANGE_TRANSFORMER="~NameSpace~ISU_DCHANGE_TRANSFORMER000  ~xTAN~~Sequence~~Parent~03        "
  ISU_DCHANGE_METER_MOVE="~NameSpace~ISU_DCHANGE_METER_MOVE000  ~xTAN~~Sequence~~Parent~03U61U62~Werk~1000INETI003                                                                                                                                                                        "
 
==== Beispiel "Elektro" ====
 
 
* Das melden von Doppeltarif-Zählern ist möglich, aber nicht gemischt mit Eintarif-Zählern (andere IDOC-Mapping)
* Im Misch-Fall müssen 2 Meldebaustellen angelegt werden, M1 Eintarif, M2 Doppeltarif




#
# IDOC-Mappings für Elektro
#
 
# Konstanten ([Art.]Name)
NameSpace="E2"
Sender="SAPP80"
Receiver="P80_MDE"
Mandant="107"
   
   
Spaltenreihenfolge (Unter Exporte):
# Formatierungen (Name.F)
SpaltenReihenfolge=Zaehler_Nummer;MaterialnummerZaehlerAlt;GeraeteplatzAlt;AnlageAlt;Sparte;ZaehlerStandAlt!;WechselDatum;ZaehlerStandNeu!;ZaehlerNummerNeu!;MaterialnummerNeu!;ZaehlwerksnummerNeu;Werk;Lager
TimeStamp.F= ;14
Sequence.F=0;6
Parent.F=0;6
Sender.F= ;10
Receiver.F= ;10
Mandant.F=0;3
### aus Auftrag, durchs OrgaMon-System durchgetragen
AnlageAlt.F=0;10
GeraeteplatzAlt.F= ;30
MaterialnummerZaehlerAlt.F=0;18
### aus JonDa
Zaehler_Nummer.F=0;18
ZaehlerNummerNeu.F=0;18
ZaehlerStandAlt.F= ;36
ZaehlerStandNeu.F= ;36
NA.F= ;36
NN.F= ;36
MaterialNummerAlt.F=0;18
### aus EFRE
Werk.F= ;4
Lager.F= ;4
MaterialNummerNeu.F=0;18
### IDOC Nummerierung
xTAN="~Mandant~00000000~TAN~~Document~"
#
# Grundsätzliche IDOC Header Definition
#
                  HEADER="EDI_DC40  ~xTAN~      2  ISU_DEVICE_CHANGE                                          ISU_DEVICE_CHANGE                                ~Sender~LS  ~Receiver~                                                                                                    LS  P80_MDE                                                                                              ~TimeStamp~                                                                                                                                    "
# SEGMENT(PARENT)
1=ISU_DCHANGE_HD(NIL)
2=ISU_DCHANGE_METER(ISU_DCHANGE_HD)
3=ISU_DCHANGE_REG_1(ISU_DCHANGE_METER)
4=ISU_DCHANGE_REG_ZW_1(ISU_DCHANGE_REG_1)
5=ISU_DCHANGE_REG_RATE(ISU_DCHANGE_REG_1)
6=ISU_DCHANGE_REG_CTRL(ISU_DCHANGE_REG_1)
7=ISU_DCHANGE_REG_GAS(ISU_DCHANGE_REG_1)
8=ISU_DCHANGE_REG_2(ISU_DCHANGE_METER)
9=ISU_DCHANGE_REG_ZW_2(ISU_DCHANGE_REG_2)
10=ISU_DCHANGE_REG_RATE(ISU_DCHANGE_REG_2)
11=ISU_DCHANGE_REG_CTRL(ISU_DCHANGE_REG_2)
12=ISU_DCHANGE_REG_GAS(ISU_DCHANGE_REG_2)
13=ISU_DCHANGE_METER_CTRL(ISU_DCHANGE_METER)
14=ISU_DCHANGE_METER_RATE(ISU_DCHANGE_METER)
15=ISU_DCHANGE_TRANSFORMER(ISU_DCHANGE_METER)
16=ISU_DCHANGE_METER_MOVE(ISU_DCHANGE_METER)
          ISU_DCHANGE_HD="~NameSpace~ISU_DCHANGE_HD000          ~xTAN~~Sequence~~Parent~01~WechselDatum~~AnlageAlt~~GeraeteplatzAlt~"
      ISU_DCHANGE_METER="~NameSpace~ISU_DCHANGE_METER000        ~xTAN~~Sequence~~Parent~0203                                          ~MaterialNummerNeu~~ZaehlerNummerNeu~~MaterialnummerZaehlerAlt~~Zaehler_Nummer~                      "
      ISU_DCHANGE_REG_1="~NameSpace~ISU_DCHANGE_REG000          ~xTAN~~Sequence~~Parent~03001001                                  "
    ISU_DCHANGE_REG_ZW_1="~NameSpace~ISU_DCHANGE_REG_ZW000      ~xTAN~~Sequence~~Parent~04~ZaehlerStandNeu~~ZaehlerStandAlt~~WechselMoment~"
      ISU_DCHANGE_REG_2="~NameSpace~ISU_DCHANGE_REG000          ~xTAN~~Sequence~~Parent~03002002                                  "
    ISU_DCHANGE_REG_ZW_2="~NameSpace~ISU_DCHANGE_REG_ZW000      ~xTAN~~Sequence~~Parent~04~NN~~NA~~WechselMoment~"
    ISU_DCHANGE_REG_RATE="~NameSpace~ISU_DCHANGE_REG_RATE000    ~xTAN~~Sequence~~Parent~04                                                    "
    ISU_DCHANGE_REG_CTRL="~NameSpace~ISU_DCHANGE_REG_CTRL000    ~xTAN~~Sequence~~Parent~04                                                                                                                                                                                                                            "
    ISU_DCHANGE_REG_GAS="~NameSpace~ISU_DCHANGE_REG_GAS000      ~xTAN~~Sequence~~Parent~04                                                                                                    "
  ISU_DCHANGE_METER_CTRL="~NameSpace~ISU_DCHANGE_METER_CTRL000  ~xTAN~~Sequence~~Parent~03                                                                                                                                        "
  ISU_DCHANGE_METER_RATE="~NameSpace~ISU_DCHANGE_METER_RATE000  ~xTAN~~Sequence~~Parent~03                            "
ISU_DCHANGE_TRANSFORMER="~NameSpace~ISU_DCHANGE_TRANSFORMER000  ~xTAN~~Sequence~~Parent~03        "
  ISU_DCHANGE_METER_MOVE="~NameSpace~ISU_DCHANGE_METER_MOVE000  ~xTAN~~Sequence~~Parent~03  U62    ~Werk~    I003                                                                                                                                                                    "
 
== Besonderheiten ==
 
=== Ableseeinheiten ===


==== Ableseeinheiten ====
In den Adressdateien gibt es die Spalte mit der Überschrift 'ableinh'.
In den Adressdateien gibt es die Spalte mit der Überschrift 'ableinh'.
Hier die Entschlüsselung:
Hier die Entschlüsselung:
Zeile 50: Zeile 373:
  -> Dies bedeutet für uns Sperre ist 4 Wochen vor der 1. Februarwoche und 4 Wochen nach der ersten Februar Woche.
  -> Dies bedeutet für uns Sperre ist 4 Wochen vor der 1. Februarwoche und 4 Wochen nach der ersten Februar Woche.
  Dies habe ich in der Datei händisch eingetragen 'Sperre von' und 'Sperre bis' und dies dann mitimportiert.
  Dies habe ich in der Datei händisch eingetragen 'Sperre von' und 'Sperre bis' und dies dann mitimportiert.
==== Lagerdatei ====
Überschriften:
MaterialNo;Serialnummer;zwrk;lager;Stand
Lager Backnang: Serialnummer MaterialNo bauform sparte herst werk lager Stand ZWrk
- Sparte wird aus 02 G gemacht und 03 WA (Z-Art wie im Orgamon).
Dateiname der Lagerliste muss wie bei jeder Baustelle unter Exporte hinterlegt sein.
Bsp. FreieZähler=hnvg\EFRE-9.csv
'''In Heilbronn haben wir die Besonderheit, das die Gaszähler anders zurückgeliefert werden müssen als die Wasserzähler (Mandattrennung). D.H. alle Daten sind in der Baustelle HNVW.
Gesendet werden die Gaszähler aber über die Baustelle HNVG. Diese greifen auf eine andere Idoc_Mappings.ini'''
==== Fotos ====
* Heilbronn
ganz normal mit Laptop. Unbenannte Fotos nennt sich Kunde selbst um. Nur prüfen ob Foto da ist und mit FA=, Daten versenden.
* Backnang
Fotos wurden bisher immer noch manuell zugeordnet da Kd. sehr empfindlich ist was fehlende Bilder angeht (Monteure haben wöchentlich die Speicherkarten rein geschickt). Die zugeordneten Fotos wurden dann alle 2-3 Wochen auf CD gebrannt und an Versorger geschickt.


==== Außengebiete HEILBRONN ====
=== Trennung der Datenmeldungen ===


Über die HVG bekommen wir für einige Gemeinden im Umkreis auch den Auftrag Zähler zu wechseln.
Obwohl Aufträge zusammen in einer Baustelle verwaltet werden kann selbstverständlich z.B. sparten-abhängig getrennt (z.B. "Gas" getrennt von "Wasser") und auch mit unterschiedlicher IDOC.Mappings.ini gemeldet werden. Der Kunde gibt dabei vor wo die Unterschiede in den IDOCs liegen muss (Lager, Mandant).
Hier geht es um: Abstatt (ABSTA), Widdern (WIDDW), Flein (FLEIN), Güglingen (GGL), Leingarten (wird zu HNVW dazuimportiert), Bönnigheim (BOEN).


Wechsel bei diesen Gemeinden läuft ohne Schnittstelle. Wir erhalten Excelliste, ganz normal importieren.
ACHTUNG! Mehr anschreiben wie in HNVW. Wir machen dort nur reinen Zählerwechsel, keine HAK!


Besonderheit Leingarten
* Bei der Hauptbaustelle wird die Datenmeldung deaktiviert:
Die Gaszähler in Leingarten laufen über die HVG. D.H. wir bekommen die Daten von Hr. Fuß und diese sollen auch über die Schnittstelle gemeldet werden. Wenn wir von der Gemeinde nun die Excelliste mit den Wasserzählern bekommen, einfach dazuimportieren und händisch auf gemeldet buchen. Nur so ist es möglich ,wenn wir Gas- und Wasserzähler in einem Haus zu wechseln haben, diese auch zusammen zu planen.
** <code>Wochentage=NEIN</code>
** <code>SQL_Filter=(ART is NULL) and</code>
* Bei allen Meldebaustelle wird auf die Hauptbaustelle, als Datenquelle verwiesen
** <code>Datenquelle=~KürzelDerHauptBaustelle~</code>
* Bei den Meldebaustellen wird im Reiter Ergebnis eigentlich alles identisch gehandhabt, aber die folgenden 3 Einstellungen unterscheiden sich immer:
** <code>SQL_Filter=(ART ='~GoderWAoderE~') and</code>
** <code>ZipPräfix=~KürzelDerMeldeBaustelle~</code>
** <code>Verzeichnis=~VerzeichnisDerHauptBaustelle~\~Sparte~\</code>

Aktuelle Version vom 5. März 2020, 11:18 Uhr

zurück

Import

  • technisch notwendige Importfelder, Import per "SAP_Info_#_#" in die Interninfo:
GeraeteplatzAlt
AnlageAlt
MaterialnummerZaehlerAlt
Sparte
Werk


  • Bei der Datenlieferung gibt es die Optionen A und B:

Option A: Variante "PowerPack": <TAB> Getrennte Textdatei

  • Kd. schickt Daten direkt Textdateien aus dem System. Diese haben keine Spaltenüberschriften, es sind keine .csv Dateien! Mapping muss in dem Adressordner vorhanden sein!
  • Mit Hilfe von Oc (und der Mapping.ini) lässt sich der Auftrag in eine .csv Datei verwandeln

Mapping.ini

6=Serialnummer;MaterialNo;bauform;sparte;herst;werk;lager;Stand;ZWrk
#
# 6=000000000020040766;000000000043000001;Qn 2,5;03;Spanner-Pollux;1000;I001
#                                                
38=mandt;werktxt;aekun_partner;aekun_nummer;aekun_name1;aekun_name2;aeadrdat_street;aeadrdat_house_num1;aeadrdat_house_num2;aeadrdat_post_code1;aeadrdat_city1;aeadrdat_country;aeadrdat2_name1;aeadrdat2_name2;aeadrdat2_street;aeadrdat2_house_num1;aeadrdat2_house_num2;aeadrdat2_post_code1;aeadrdat2_city1;aeadrdat2_country;aeger_geraet;aeger_matnr;aeger_sparte;aetyp_bauform;aeger_herst;aeger_baujj;aeger_bgljahr;aegpl_devloc;aeastl_anlage;aegpl_stortzus;aetdz_zwnummer;aetdz_zwart;aetdz_zwtyp;aetdz_stanzvor;aetdz_stanznac;aeabl;aeabldat;averberw;aableinh
#
# 38=612;1000;Stadtwerke  Backnang GmbH;1000000420;Bürgermeisteramt Aspach;;Rübengasse;22;;71546;Aspach;DE;;;;;;;;;000000000007351321;000000000042000000;02;G4;Elster;1999;1999;7000009552;4000022314;;001;;05;05;03;80.228,000;20070331;9.985,755;T1210999
#
#
0=26.03.2009         Dynamische Listenausgabe                                                 1


  • der Datei vom Kunden .tab hinzufügen und rechte Maustaste tab konvertieren mit OC
  • CSV wird erstellt die auch so importiert werden kann

Option B: Variante xls(x) Datei

  • muss nach .csv konvertiert werden, Schema entsprechend erstellen

Lagerdatei (zwingend!)

  • Eine Lagerdatei ist zwingend erforderlich und muss in eine .csv Form gebracht werden

Überschriften

  • die Überschriften lauten oft unterschiedlich, diese müssen "so" benannt sein
MaterialNo;Serialnummer;ZWrk;Lager;Stand
  • Wenn auf die richtige "Sparte" geprüft werden muss, bitte auch die Überschrift
Sparte

Datei "EFRE-Sparten.ini"

  • Durch die Umsetzer-Datei "EFRE-Sparten.ini" werden die unterschiedlich benannten Sparten (Versorger-System) und Art (OrgaMon) aneinander automatisch angepasst.
  • Dadurch ist eine Korrektur der Lagerdatei, insbesondere die Inhalte der Spalte "Sparte" nicht nötig.


WE=Strom
WE2=Strom
D=Strom
D2=Strom
E=Strom
E2=Strom
G=Gas
WA=Wasser

1=Strom
2=Gas
3=Wasser
4=Wärme

*=*

Ergebnis

Reiter Ergebnis

SpaltenReihenfolge=Zaehler_Nummer;MaterialnummerZaehlerAlt;GeraeteplatzAlt;AnlageAlt;Sparte;ZaehlerStandAlt!;WechselDatum;ZaehlerStandNeu!;ZaehlerNummerNeu!;MaterialnummerNeu!;ZaehlwerksnummerNeu;Werk;Lager
FreieZähler=~IhrBaustellenVerzeichnis~\LagerDateiName.csv
MaterialnummerNeu=MaterialnummerNeu
ZaehlwerksnummerNeu=ZaehlwerksnummerNeu
Zählwerk=ZaehlwerksnummerAlt
AuchAlsIDOC=JA

Datei "IDOC.Mappings.ini"

  • Über diese Konfigurations-Datei lässt sich das Aussehen der erzeugten IDOC Dateien steuern
  • rechter Mausklick auf die Datei und SEHR vorsichtig Änderungen durchführen, da IDOC mit festen Feldlängen arbeitet also wenn man 3 Zeichen einfügt müssen hinten 3 Blanks raus
  • In der Regel wird man einfach einzelne Zeichn ersetzen

Parameter

  • MEA=
# 
# nimmt Einfluss auf den Ausgabedateinamen
#
# =JA             z1isu_meau_~TAN~-~IDOC-LAUFENDEN-NUMMER~
#
# =NEIN (default) .~IDOC-LAUFENDE-NUMMER~.idoc
#
#
MEA=JA
  • FileName=
# 
# bestimmt den Ausgabedateinamen
# 
# 2 Platzhalter können benutzt werden
#
# ~TAN~       die aktuelle Ergebnis-TAN
# ~SEQUENCE~  die aktuellen IDOC Durchnummerierung
#
FileName=~TAN~-~SEQUENCE~.idoc


Beispiel "Gas"

 #
 # IDOC-Mappings für GAS
 #

 NameSpace="E2"
 Sender="SAPP80"
 Receiver="P80_MDE"
 Mandant="112"

 TimeStamp.F= ;14
 Sequence.F=0;6
 Parent.F=0;6
 Sender.F= ;10
 Receiver.F= ;10
 Mandant.F=0;3

 ### aus Auftrag, durchs OrgaMon-System durchgetragen

 AnlageAlt.F=0;10
 GeraeteplatzAlt.F= ;30
 MaterialnummerZaehlerAlt.F=0;18

 ### aus JonDa

 Zaehler_Nummer.F=0;18
 ZaehlerNummerNeu.F=0;18
 ZaehlerStandAlt.F= ;36
 ZaehlerStandNeu.F= ;36

 ### aus EFRE

 Werk.F= ;4 
 Lager.F= ;4
 MaterialNummerNeu.F=0;18

 ### IDOC Nummerierung

 xTAN="~Mandant~00000000~TAN~~Document~"

 #
 # Grundsätzliche IDOC Header Definition
 #
          HEADER="EDI_DC40  ~xTAN~      2   ISU_DEVICE_CHANGE                                           ISU_DEVICE_CHANGE                                ~Sender~LS  ~Receiver~                                                                                                     LS  P80_MDE                                                                                              ~TimeStamp~                                                                                                                                    "

 # SEGMENT(PARENT)

 1=ISU_DCHANGE_HD(NIL)
 2=ISU_DCHANGE_METER(ISU_DCHANGE_HD)
 3=ISU_DCHANGE_REG(ISU_DCHANGE_METER)
 4=ISU_DCHANGE_REG_ZW(ISU_DCHANGE_REG)
 5=ISU_DCHANGE_REG_RATE(ISU_DCHANGE_REG)
 6=ISU_DCHANGE_REG_CTRL(ISU_DCHANGE_REG)
 7=ISU_DCHANGE_REG_GAS(ISU_DCHANGE_REG)
 8=ISU_DCHANGE_METER_CTRL(ISU_DCHANGE_METER)
 9=ISU_DCHANGE_METER_RATE(ISU_DCHANGE_METER)
 10=ISU_DCHANGE_TRANSFORMER(ISU_DCHANGE_METER)
 11=ISU_DCHANGE_METER_MOVE(ISU_DCHANGE_METER)

           ISU_DCHANGE_HD="~NameSpace~ISU_DCHANGE_HD000           ~xTAN~~Sequence~~Parent~01~WechselDatum~~AnlageAlt~~GeraeteplatzAlt~"
        ISU_DCHANGE_METER="~NameSpace~ISU_DCHANGE_METER000        ~xTAN~~Sequence~~Parent~0203                                          ~MaterialNummerNeu~~ZaehlerNummerNeu~~MaterialnummerZaehlerAlt~~Zaehler_Nummer~                       "
          ISU_DCHANGE_REG="~NameSpace~ISU_DCHANGE_REG000          ~xTAN~~Sequence~~Parent~03001001                                  "
       ISU_DCHANGE_REG_ZW="~NameSpace~ISU_DCHANGE_REG_ZW000       ~xTAN~~Sequence~~Parent~04~ZaehlerStandNeu~~ZaehlerStandAlt~~WechselMoment~"
     ISU_DCHANGE_REG_RATE="~NameSpace~ISU_DCHANGE_REG_RATE000     ~xTAN~~Sequence~~Parent~04                                                    "
     ISU_DCHANGE_REG_CTRL="~NameSpace~ISU_DCHANGE_REG_CTRL000     ~xTAN~~Sequence~~Parent~04                                                                                                                                                                                                                            "
      ISU_DCHANGE_REG_GAS="~NameSpace~ISU_DCHANGE_REG_GAS000      ~xTAN~~Sequence~~Parent~04                                                                                                    "
   ISU_DCHANGE_METER_CTRL="~NameSpace~ISU_DCHANGE_METER_CTRL000   ~xTAN~~Sequence~~Parent~03                                                                                                                                        "
   ISU_DCHANGE_METER_RATE="~NameSpace~ISU_DCHANGE_METER_RATE000   ~xTAN~~Sequence~~Parent~03                             "
  ISU_DCHANGE_TRANSFORMER="~NameSpace~ISU_DCHANGE_TRANSFORMER000  ~xTAN~~Sequence~~Parent~03        "
   ISU_DCHANGE_METER_MOVE="~NameSpace~ISU_DCHANGE_METER_MOVE000   ~xTAN~~Sequence~~Parent~03U61U62~Werk~1020INETI003                                                                                                                                                                         "

Beispiel "Wasser"

 #
 #  IDOC-Mappings für Wasser
 #

 NameSpace="E2"
 Sender="SAPP80"
 Receiver="P80_MDE"
 Mandant="612"

 TimeStamp.F= ;14
 Sequence.F=0;6
 Parent.F=0;6
 Sender.F= ;10
 Receiver.F= ;10
 Mandant.F=0;3

 ### aus Auftrag, durchs OrgaMon-System durchgetragen

 AnlageAlt.F=0;10
 GeraeteplatzAlt.F= ;30
 MaterialnummerZaehlerAlt.F=0;18

 ### aus JonDa

 Zaehler_Nummer.F=0;18
 ZaehlerNummerNeu.F=0;18
 ZaehlerStandAlt.F= ;36
 ZaehlerStandNeu.F= ;36

 ### aus EFRE

 Werk.F= ;4 
 Lager.F= ;4
 MaterialNummerNeu.F=0;18

 ### IDOC Nummerierung

 xTAN="~Mandant~00000000~TAN~~Document~"

 #
 # Grundsätzliche IDOC Header Definition
 #
                  HEADER="EDI_DC40  ~xTAN~      2   ISU_DEVICE_CHANGE                                           ISU_DEVICE_CHANGE                                ~Sender~LS  ~Receiver~                                                                                                     LS  P80_MDE                                                                                              ~TimeStamp~                                                                                                                                    "

 # SEGMENT(PARENT)

 1=ISU_DCHANGE_HD(NIL)
 2=ISU_DCHANGE_METER(ISU_DCHANGE_HD)
 3=ISU_DCHANGE_REG(ISU_DCHANGE_METER)
 4=ISU_DCHANGE_REG_ZW(ISU_DCHANGE_REG)
 5=ISU_DCHANGE_REG_RATE(ISU_DCHANGE_REG)
 6=ISU_DCHANGE_REG_CTRL(ISU_DCHANGE_REG)
 7=ISU_DCHANGE_REG_GAS(ISU_DCHANGE_REG)
 8=ISU_DCHANGE_METER_CTRL(ISU_DCHANGE_METER)
 9=ISU_DCHANGE_METER_RATE(ISU_DCHANGE_METER)
 10=ISU_DCHANGE_TRANSFORMER(ISU_DCHANGE_METER)
 11=ISU_DCHANGE_METER_MOVE(ISU_DCHANGE_METER)

          ISU_DCHANGE_HD="~NameSpace~ISU_DCHANGE_HD000           ~xTAN~~Sequence~~Parent~01~WechselDatum~~AnlageAlt~~GeraeteplatzAlt~"
       ISU_DCHANGE_METER="~NameSpace~ISU_DCHANGE_METER000        ~xTAN~~Sequence~~Parent~0203                                          ~MaterialNummerNeu~~ZaehlerNummerNeu~~MaterialnummerZaehlerAlt~~Zaehler_Nummer~                       "
         ISU_DCHANGE_REG="~NameSpace~ISU_DCHANGE_REG000          ~xTAN~~Sequence~~Parent~03001001                                  "
      ISU_DCHANGE_REG_ZW="~NameSpace~ISU_DCHANGE_REG_ZW000       ~xTAN~~Sequence~~Parent~04~ZaehlerStandNeu~~ZaehlerStandAlt~~WechselMoment~"
    ISU_DCHANGE_REG_RATE="~NameSpace~ISU_DCHANGE_REG_RATE000     ~xTAN~~Sequence~~Parent~04                                                    "
    ISU_DCHANGE_REG_CTRL="~NameSpace~ISU_DCHANGE_REG_CTRL000     ~xTAN~~Sequence~~Parent~04                                                                                                                                                                                                                            "
     ISU_DCHANGE_REG_GAS="~NameSpace~ISU_DCHANGE_REG_GAS000      ~xTAN~~Sequence~~Parent~04                                                                                                    "
  ISU_DCHANGE_METER_CTRL="~NameSpace~ISU_DCHANGE_METER_CTRL000   ~xTAN~~Sequence~~Parent~03                                                                                                                                        "
  ISU_DCHANGE_METER_RATE="~NameSpace~ISU_DCHANGE_METER_RATE000   ~xTAN~~Sequence~~Parent~03                             "
 ISU_DCHANGE_TRANSFORMER="~NameSpace~ISU_DCHANGE_TRANSFORMER000  ~xTAN~~Sequence~~Parent~03        "
  ISU_DCHANGE_METER_MOVE="~NameSpace~ISU_DCHANGE_METER_MOVE000   ~xTAN~~Sequence~~Parent~03U61U62~Werk~1000INETI003                                                                                                                                                                         "

Beispiel "Elektro"

  • Das melden von Doppeltarif-Zählern ist möglich, aber nicht gemischt mit Eintarif-Zählern (andere IDOC-Mapping)
  • Im Misch-Fall müssen 2 Meldebaustellen angelegt werden, M1 Eintarif, M2 Doppeltarif


#
# IDOC-Mappings für Elektro
#
 
# Konstanten ([Art.]Name)

NameSpace="E2"
Sender="SAPP80"
Receiver="P80_MDE"
Mandant="107"

# Formatierungen (Name.F)

TimeStamp.F= ;14
Sequence.F=0;6
Parent.F=0;6
Sender.F= ;10
Receiver.F= ;10
Mandant.F=0;3 

### aus Auftrag, durchs OrgaMon-System durchgetragen

AnlageAlt.F=0;10
GeraeteplatzAlt.F= ;30
MaterialnummerZaehlerAlt.F=0;18 


### aus JonDa

Zaehler_Nummer.F=0;18
ZaehlerNummerNeu.F=0;18
ZaehlerStandAlt.F= ;36
ZaehlerStandNeu.F= ;36
NA.F= ;36
NN.F= ;36
MaterialNummerAlt.F=0;18


### aus EFRE

Werk.F= ;4 
Lager.F= ;4
MaterialNummerNeu.F=0;18

### IDOC Nummerierung

xTAN="~Mandant~00000000~TAN~~Document~"


#
# Grundsätzliche IDOC Header Definition
#
                 HEADER="EDI_DC40  ~xTAN~      2   ISU_DEVICE_CHANGE                                           ISU_DEVICE_CHANGE                                ~Sender~LS  ~Receiver~                                                                                                     LS  P80_MDE                                                                                              ~TimeStamp~                                                                                                                                    "


# SEGMENT(PARENT)

1=ISU_DCHANGE_HD(NIL)
2=ISU_DCHANGE_METER(ISU_DCHANGE_HD)
3=ISU_DCHANGE_REG_1(ISU_DCHANGE_METER)
4=ISU_DCHANGE_REG_ZW_1(ISU_DCHANGE_REG_1)
5=ISU_DCHANGE_REG_RATE(ISU_DCHANGE_REG_1)
6=ISU_DCHANGE_REG_CTRL(ISU_DCHANGE_REG_1)
7=ISU_DCHANGE_REG_GAS(ISU_DCHANGE_REG_1)
8=ISU_DCHANGE_REG_2(ISU_DCHANGE_METER)
9=ISU_DCHANGE_REG_ZW_2(ISU_DCHANGE_REG_2)
10=ISU_DCHANGE_REG_RATE(ISU_DCHANGE_REG_2)
11=ISU_DCHANGE_REG_CTRL(ISU_DCHANGE_REG_2)
12=ISU_DCHANGE_REG_GAS(ISU_DCHANGE_REG_2)
13=ISU_DCHANGE_METER_CTRL(ISU_DCHANGE_METER)
14=ISU_DCHANGE_METER_RATE(ISU_DCHANGE_METER)
15=ISU_DCHANGE_TRANSFORMER(ISU_DCHANGE_METER)
16=ISU_DCHANGE_METER_MOVE(ISU_DCHANGE_METER)

         ISU_DCHANGE_HD="~NameSpace~ISU_DCHANGE_HD000           ~xTAN~~Sequence~~Parent~01~WechselDatum~~AnlageAlt~~GeraeteplatzAlt~"
      ISU_DCHANGE_METER="~NameSpace~ISU_DCHANGE_METER000        ~xTAN~~Sequence~~Parent~0203                                          ~MaterialNummerNeu~~ZaehlerNummerNeu~~MaterialnummerZaehlerAlt~~Zaehler_Nummer~                       "
      ISU_DCHANGE_REG_1="~NameSpace~ISU_DCHANGE_REG000          ~xTAN~~Sequence~~Parent~03001001                                  "
   ISU_DCHANGE_REG_ZW_1="~NameSpace~ISU_DCHANGE_REG_ZW000       ~xTAN~~Sequence~~Parent~04~ZaehlerStandNeu~~ZaehlerStandAlt~~WechselMoment~"
      ISU_DCHANGE_REG_2="~NameSpace~ISU_DCHANGE_REG000          ~xTAN~~Sequence~~Parent~03002002                                  "
   ISU_DCHANGE_REG_ZW_2="~NameSpace~ISU_DCHANGE_REG_ZW000       ~xTAN~~Sequence~~Parent~04~NN~~NA~~WechselMoment~"
   ISU_DCHANGE_REG_RATE="~NameSpace~ISU_DCHANGE_REG_RATE000     ~xTAN~~Sequence~~Parent~04                                                    "
   ISU_DCHANGE_REG_CTRL="~NameSpace~ISU_DCHANGE_REG_CTRL000     ~xTAN~~Sequence~~Parent~04                                                                                                                                                                                                                            "
    ISU_DCHANGE_REG_GAS="~NameSpace~ISU_DCHANGE_REG_GAS000      ~xTAN~~Sequence~~Parent~04                                                                                                    "
 ISU_DCHANGE_METER_CTRL="~NameSpace~ISU_DCHANGE_METER_CTRL000   ~xTAN~~Sequence~~Parent~03                                                                                                                                        "
 ISU_DCHANGE_METER_RATE="~NameSpace~ISU_DCHANGE_METER_RATE000   ~xTAN~~Sequence~~Parent~03                             "
ISU_DCHANGE_TRANSFORMER="~NameSpace~ISU_DCHANGE_TRANSFORMER000  ~xTAN~~Sequence~~Parent~03        "
 ISU_DCHANGE_METER_MOVE="~NameSpace~ISU_DCHANGE_METER_MOVE000   ~xTAN~~Sequence~~Parent~03   U62    ~Werk~    I003                                                                                                                                                                     "

Besonderheiten

Ableseeinheiten

In den Adressdateien gibt es die Spalte mit der Überschrift 'ableinh'. Hier die Entschlüsselung:

Beispiel T0211650

T02 = Monat Februar die Zahl danach in diesem Falle 1 = in der 1. Woche im Februar wird abgelesen.

-> Dies bedeutet für uns Sperre ist 4 Wochen vor der 1. Februarwoche und 4 Wochen nach der ersten Februar Woche.
Dies habe ich in der Datei händisch eingetragen 'Sperre von' und 'Sperre bis' und dies dann mitimportiert.

Trennung der Datenmeldungen

Obwohl Aufträge zusammen in einer Baustelle verwaltet werden kann selbstverständlich z.B. sparten-abhängig getrennt (z.B. "Gas" getrennt von "Wasser") und auch mit unterschiedlicher IDOC.Mappings.ini gemeldet werden. Der Kunde gibt dabei vor wo die Unterschiede in den IDOCs liegen muss (Lager, Mandant).


  • Bei der Hauptbaustelle wird die Datenmeldung deaktiviert:
    • Wochentage=NEIN
    • SQL_Filter=(ART is NULL) and
  • Bei allen Meldebaustelle wird auf die Hauptbaustelle, als Datenquelle verwiesen
    • Datenquelle=~KürzelDerHauptBaustelle~
  • Bei den Meldebaustellen wird im Reiter Ergebnis eigentlich alles identisch gehandhabt, aber die folgenden 3 Einstellungen unterscheiden sich immer:
    • SQL_Filter=(ART ='~GoderWAoderE~') and
    • ZipPräfix=~KürzelDerMeldeBaustelle~
    • Verzeichnis=~VerzeichnisDerHauptBaustelle~\~Sparte~\