Schnittstelle.IDOC: Unterschied zwischen den Versionen

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


Bei der Datenlieferung gibt es mehrere Möglichkeiten
* 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 ===


=== <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!!


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


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


* muss nach .csv konvertiert werden, Schema entsprechend erstellen


=== xls(x) Datei ===
=== Lagerdatei (zwingend!) ===


* technisch notwendige Importfelder, Import per "SAP_Info_#_#"
* 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


GeraeteplatzAlt
AnlageAlt
MaterialnummerZaehlerAlt
  Sparte
  Sparte
Werk


==== 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 ==
== Ergebnis ==


== Besonderheiten ==
=== 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


=== Ableseeinheiten ===
* <code>FileName=</code>


In den Adressdateien gibt es die Spalte mit der Überschrift 'ableinh'.
#
Hier die Entschlüsselung:
# bestimmt den Ausgabedateinamen
#
# 2 Platzhalter können benutzt werden
#
# ~TAN~      die aktuelle Ergebnis-TAN
# ~SEQUENCE~  die aktuellen IDOC Durchnummerierung
#
FileName=~TAN~-~SEQUENCE~.idoc


Beispiel  T0211650


T02 = Monat Februar
==== Beispiel "Gas" ====
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 ===
  #
  # 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                                                                                                                                                                        "


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).
==== 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                                                                                                                                                                        "


* Bei der Hauptbaustelle wird die Datenmeldung deaktiviert:
==== Beispiel "Elektro" ====
** <code>SQL-Filter=(ART is NULL) and</code>
* Bei den Meldebaustellen wird
** <code>Datenquelle=</code>




* 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


==== Import ====


#
# 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 ==


==== Lagerdatei ====
=== Ableseeinheiten ===
Überschriften:
MaterialNo;Serialnummer;zwrk;lager;Stand


Lager Backnang: Serialnummer MaterialNo bauform sparte herst werk lager Stand ZWrk
In den Adressdateien gibt es die Spalte mit der Überschrift 'ableinh'.
- Sparte wird aus 02 G gemacht und 03 WA (Z-Art wie im Orgamon).
Hier die Entschlüsselung:


Dateiname der Lagerliste muss wie bei jeder Baustelle unter Exporte hinterlegt sein.
Beispiel  T0211650
Bsp. FreieZähler=hnvg\EFRE-9.csv


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.


==== Fotos ====
=== Trennung der Datenmeldungen ===
* 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.


=== Ergebnis-Meldung ===
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).


==== Reiter Exporte ====


SpaltenReihenfolge=Zaehler_Nummer;MaterialnummerZaehlerAlt;GeraeteplatzAlt;AnlageAlt;Sparte;ZaehlerStandAlt!;WechselDatum;ZaehlerStandNeu!;ZaehlerNummerNeu!;MaterialnummerNeu!;ZaehlwerksnummerNeu;Werk;Lager
* Bei der Hauptbaustelle wird die Datenmeldung deaktiviert:
FreieZähler=...csv
** <code>Wochentage=NEIN</code>
MaterialnummerNeu=MaterialnummerNeu
** <code>SQL_Filter=(ART is NULL) and</code>
ZaehlwerksnummerNeu=ZaehlwerksnummerNeu
* Bei allen Meldebaustelle wird auf die Hauptbaustelle, als Datenquelle verwiesen
Zählwerk=ZaehlwerksnummerAlt
** <code>Datenquelle=~KürzelDerHauptBaustelle~</code>
AuchAlsIDOC=JA
* 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~\