PATEDI NT.Auftragsimport: Unterschied zwischen den Versionen

Aus PPwiki
Wechseln zu: Navigation, Suche
(In welcher Firma wird der Auftrag angelegt?)
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
 
Es wird auf mehreren Stufen gesucht:
 
Es wird auf mehreren Stufen gesucht:
  
1.Es wird geprüft ob es sich beim Eintrag im Feld ILN schon direkt um eine Firmennummer handelt. Wenn ja wird diese übernommen. Es wird angenommen dass in ILN schon die korrekte Firmennummer steht.
+
1. Es wird geprüft ob es sich beim Eintrag im Feld ILN schon direkt um eine Firmennummer handelt. Wenn ja wird diese übernommen. Es wird angenommen dass in ILN schon die korrekte Firmennummer steht.
  
 
2. Wenn nichts gefunden wird: Suche in der B_KONVERT nach PROJEKT, SWITCH, IN_1, OUT
 
2. Wenn nichts gefunden wird: Suche in der B_KONVERT nach PROJEKT, SWITCH, IN_1, OUT
Zeile 22: Zeile 22:
 
• SU: Supplier, Lieferant, Pflicht
 
• SU: Supplier, Lieferant, Pflicht
  
• BY: Buyer, Käufer, Rechnungskunde und Lieferkunde ohne DP (Pflicht)  
+
• BY: Buyer, Käufer, Rechnungskunde und Lieferkunde ohne DP (Pflicht). Ist der BY ein Kunde mit Rechnungskunden, dann ändert sich die RKDNR laut dieser Angabe, der DP wird erstmal mit den BY-Daten gefüllt.
 
+
 
• IV: Invoice Address, wird beim Auftragsimport ignoriert (bzw. muss gleich BY sein?)
 
• IV: Invoice Address, wird beim Auftragsimport ignoriert (bzw. muss gleich BY sein?)
  
Zeile 30: Zeile 30:
 
• DA: Delivery Adress, Lieferadresse, s.u.
 
• DA: Delivery Adress, Lieferadresse, s.u.
  
 +
===DP – Delivery Partner===
 +
Eine vorhandene Kundennummer wird als Lieferkunde (b_auftrag.kndnr) eingetragen.
 +
 +
Es wird entsprechend der Einstellung im ''Kundenstamm > Patedec > Rechnungskunde > Herkunft'' gesucht:
  
 +
* Einstellung nicht aktiv -> Vorgehensweise wie SU (oder Mapping?)
  
==abweichende Lieferadresse==
+
* Mapping (B_KONVERT): PATEDEC-Kunden-Mapping mit DP.ILN
  
Dafür gibt es in E_ORDER_ADDRESS die beiden optionalen Typen DA und DP.
+
* ILN (ILNDATENEMPF): WHERE B_KNDSTAMM.ILNDATENEMPF = DP.ILN
 +
 
 +
* Kunde (B_KNDSTAMM): WHERE B_KNDSTAMM.KNDNR = DP.ILN
  
 
===DA – Delivery Address===
 
===DA – Delivery Address===
Zeile 49: Zeile 56:
 
5. Treffer -> KNDLAD laden und in den zu importierenden Auftrag schreiben
 
5. Treffer -> KNDLAD laden und in den zu importierenden Auftrag schreiben
  
6. Kein Treffer -> Neue KNDLAD mit Timestamp zur Identifikation einfügen, mit oder ohne Setting aus 3.?  
+
6. Kein Treffer -> Neue KNDLAD mit Timestamp zur Identifikation einfügen, mit oder ohne Setting aus 3.?
 
 
===DP – Delivery Partner===
 
Eine vorhandene Kundennummer wird als Lieferadresse eingetragen (also als Lieferkunde b_auftrag.kndnr bei z.B. Etter).
 
 
 
Nach der Kundennummer wird gesucht wie nach der Firma, [[#In welcher Firma wird der Auftrag angelegt?|siehe oben]]
 
 
 
Also kann E_ORDER_ADDRESS.ILN die Kundennummer der Lieferadresse sein? Und wenn nicht, wird dann über B_KONVERT weiter gesucht/gemappt?
 
 
 
Außerdem gibt es noch eine Einstellung (wo?) für eine abweichende Suche (wie?):
 
 
 
"Es wird eine Einstellung im Kundenstamm ausgelesen
 
 
 
Einstellung nicht aktiv -> Vorgehensweise wie SU
 
 
 
Einstellung aktiv -> Einzelsuche in einer der drei möglichen Quellen"
 
  
 
== Fremdindex (b_fremd_index) bereinigen ==
 
== Fremdindex (b_fremd_index) bereinigen ==
 
  
 
Löscht Einträge in b_fremd_index für alle gelöschten oder storniereten Aufträge  
 
Löscht Einträge in b_fremd_index für alle gelöschten oder storniereten Aufträge  

Aktuelle Version vom 5. Juli 2021, 14:53 Uhr

1 In welcher Firma wird der Auftrag angelegt?

Der EDI Auto Importer versucht aus E_ORDER_ADDRESS.iln für ADRESSE_TYP 'SU' (Supplier) die richtige Firma zu bestimmen.

Es wird auf mehreren Stufen gesucht:

1. Es wird geprüft ob es sich beim Eintrag im Feld ILN schon direkt um eine Firmennummer handelt. Wenn ja wird diese übernommen. Es wird angenommen dass in ILN schon die korrekte Firmennummer steht.

2. Wenn nichts gefunden wird: Suche in der B_KONVERT nach PROJEKT, SWITCH, IN_1, OUT

2.1 Suche nach PATEDEC_ORDER’, ‘CUSTOMER’, ABSENDER aus E_ORDER_HEADER, ILN aus E_ORDER_ADDRESS.

2.2 Wenn bei 2.1 nichts gefunden wird, Suche nach ‘PATEDEC_ORDER,’ ‘CUSTOMER’, ‘PATEDI_NT’, ILN aus E_ORDER_ADDRESS.

2.3 Wenn bei 2.2 nichts gefunden wird , Suche ‘ EXPORT_MAPPING / ,’ ‘--- ’, ‘PATEDI_NT’, ILN aus E_ORDER_ADDRESS. Dies ist eine alte Methode, die aber im April 2019 noch funktioniert.

Wenn eine Zeile gefunden wird steht in IN_2 die Kundennummer. Mit dieser Kundennummer wird in der B_FIRMA nach der korrekten Firma gesucht. Wenn gar nichts gefunden wird, gibt es die Fehlermeldung „OR_2005: Supplier XX not found in master data“.

2 Adressen

• SU: Supplier, Lieferant, Pflicht

• BY: Buyer, Käufer, Rechnungskunde und Lieferkunde ohne DP (Pflicht). Ist der BY ein Kunde mit Rechnungskunden, dann ändert sich die RKDNR laut dieser Angabe, der DP wird erstmal mit den BY-Daten gefüllt.

• IV: Invoice Address, wird beim Auftragsimport ignoriert (bzw. muss gleich BY sein?)

• DP: Delivery Partner, Lieferpartner wird beim Auftragsimport zum Lieferkunden (b_auftrag.kndnr)

• DA: Delivery Adress, Lieferadresse, s.u.

2.1 DP – Delivery Partner

Eine vorhandene Kundennummer wird als Lieferkunde (b_auftrag.kndnr) eingetragen.

Es wird entsprechend der Einstellung im Kundenstamm > Patedec > Rechnungskunde > Herkunft gesucht:

  • Einstellung nicht aktiv -> Vorgehensweise wie SU (oder Mapping?)
  • Mapping (B_KONVERT): PATEDEC-Kunden-Mapping mit DP.ILN
  • ILN (ILNDATENEMPF): WHERE B_KNDSTAMM.ILNDATENEMPF = DP.ILN
  • Kunde (B_KNDSTAMM): WHERE B_KNDSTAMM.KNDNR = DP.ILN

2.2 DA – Delivery Address

ILN der Delivery Address aus E_ORDER_ADDRESS wird zur KNDLAD des Auftrages:

1. E_ORDER_ADDRESS.ILN vorhanden: Prüfung ob diese ILN bereits als KNDLAD im Kundenstamm hinterlegt ist.

2. Treffer -> KNDLAD laden und in den zu importierenden Auftrag schreiben

3. Kein Treffer -> Setting (im Kundenstamm) zum Einfügen von neuen KNDLAD prüfen -> Treffer -> Einfügen

4. E_ORDER_ADDRESS.ILN leer: Direkter Vergleich der Adressdaten (Name, Strasse, etc…) aus E_ORDER_ADDRESS.ILN und B_KNDLAD

5. Treffer -> KNDLAD laden und in den zu importierenden Auftrag schreiben

6. Kein Treffer -> Neue KNDLAD mit Timestamp zur Identifikation einfügen, mit oder ohne Setting aus 3.?

3 Fremdindex (b_fremd_index) bereinigen

Löscht Einträge in b_fremd_index für alle gelöschten oder storniereten Aufträge

   
DELETE FROM b_fremd_index 
    WHERE lower(tbl_name)='b_auftrcol'
      AND projekt='STRATEDI'   
      AND substr(header_key,5,1) = 'A' 
      AND header_key not in 
        (SELECT auftrnr from b_auftrag
          WHERE status != 'ST');
          
DELETE FROM b_fremd_index 
    WHERE upper(tbl_name)='B_AUFTRAG'
     AND projekt='STRATEDI'  
      AND substr(tbl_index,5,1) = 'A'
      AND tbl_index not in 
        (SELECT auftrnr from b_auftrag
          WHERE status != 'ST');
COMMIT;