Schnittstelle.IDOC: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Import#Auftrags-Schnittstellen|zurück]]
== Import ==
== Import ==


Zeile 10: Zeile 12:




* Bei der Datenlieferung gibt es mehrere Möglichkeiten
* Bei der Datenlieferung gibt es die Optionen A und B:


=== Option A "PowerPack": <TAB> Getrennte Textdatei ===
=== 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!  
* 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!  
Zeile 35: Zeile 37:
* CSV wird erstellt die auch so importiert werden kann
* CSV wird erstellt die auch so importiert werden kann


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


* nach .csv konvertieren
* muss nach .csv konvertiert werden, Schema entsprechend erstellen


=== Lagerdatei (zwingend!) ===
=== Lagerdatei (zwingend!) ===
Zeile 45: Zeile 47:
==== Überschriften ====
==== Überschriften ====


  MaterialNo;Serialnummer;zwrk;lager;Stand
* 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 anpassen ====
Sparte


die Spatenbezeichnung muss auf die Zählerart des OrgaMon angepasst werden:
==== Datei "EFRE-Sparten.ini" ====


aus "02" -> "G"
* Durch die Umsetzer-Datei "EFRE-Sparten.ini" werden die unterschiedlich benannten Sparten (Versorger-System) und Art (OrgaMon) aneinander automatisch angepasst.
  aus "03" -> "WA"
* 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 ==
== Ergebnis ==


=== Reiter Exporte ===
=== Reiter Ergebnis ===


  SpaltenReihenfolge=Zaehler_Nummer;MaterialnummerZaehlerAlt;GeraeteplatzAlt;AnlageAlt;Sparte;ZaehlerStandAlt!;WechselDatum;ZaehlerStandNeu!;ZaehlerNummerNeu!;MaterialnummerNeu!;ZaehlwerksnummerNeu;Werk;Lager
  SpaltenReihenfolge=Zaehler_Nummer;MaterialnummerZaehlerAlt;GeraeteplatzAlt;AnlageAlt;Sparte;ZaehlerStandAlt!;WechselDatum;ZaehlerStandNeu!;ZaehlerNummerNeu!;MaterialnummerNeu!;ZaehlwerksnummerNeu;Werk;Lager
Zeile 67: Zeile 90:
=== Datei "IDOC.Mappings.ini" ===
=== 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
  #
  #
  # Oc - Mappings für IDOC "ISU_DCHANGE", Doppeltarif
  # =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
  #
  #
  # (c) Andreas Filsinger 2014
  # ~TAN~      die aktuelle Ergebnis-TAN
  #    
  # ~SEQUENCE~  die aktuellen IDOC Durchnummerierung
  #
  #
  #     Version 04.11.2014, 16:30 h
  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)
  # Konstanten ([Art.]Name)
   
   
Zeile 91: Zeile 291:
  Receiver.F= ;10
  Receiver.F= ;10
  Mandant.F=0;3  
  Mandant.F=0;3  
   
   
  ### aus Auftrag, durchs OrgaMon-System durchgetragen
  ### aus Auftrag, durchs OrgaMon-System durchgetragen
Zeile 181: Zeile 380:


* Bei der Hauptbaustelle wird die Datenmeldung deaktiviert:
* Bei der Hauptbaustelle wird die Datenmeldung deaktiviert:
** <code>Wochentage=NEIN</code>
** <code>SQL_Filter=(ART is NULL) and</code>
** <code>SQL_Filter=(ART is NULL) and</code>
* Bei allen Meldebaustelle wird auf die Hauptbaustelle, als Datenquelle verwiesen
* Bei allen Meldebaustelle wird auf die Hauptbaustelle, als Datenquelle verwiesen
** <code>Datenquelle=~KürzelDerHauptBaustelle~</code>
** <code>Datenquelle=~KürzelDerHauptBaustelle~</code>
* Bei den Meldebaustellen wird im Reiter Exporte eigentlich alles identisch gehandhabt, aber die folgenden 3 Einstellungen unterscheiden sich immer:
* 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>SQL_Filter=(ART ='~GoderWAoderE~') and</code>
** <code>ZipPräfix=~KürzelDerMeldeBaustelle~</code>
** <code>ZipPräfix=~KürzelDerMeldeBaustelle~</code>
** <code>Verzeichnis=~VerzeichnisDerHauptBaustelle~\~Sparte~\</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~\