Baza wiedzy Trawers ERP

EDI Wielo-oddziałowość

0. Opis ogólny i pojęcia 1. Ustalanie ILN <-> Oddział 1.1 Buyer (ZA) / Seller (NA) W skrócie Szczegółowo Uwagi Wpływ na dalsze przetwarzanie 1.2 SellerHeadquarters 1.3 DeliveryPoint / DeliveryLocationNumber 2. Tematy powiązane

0. Opis ogólny i pojęcia

Faktura KSeF XML w 'świecie' EDI #KSeF Firmy, które wymieniały dane transakcyjne przy pomocy komunikatów EDI teraz muszą włączyć się do wymiany faktur KSeF - wystawiać faktury sprzedaży i pobierać faktury zakupu. Patrz szczegóły: KSeF. EDI INVOICE a Faktury XML KSeF. Faktury a komunikaty EDI Opisy zawarte w tym artykule prosimy odczytywać uwzględniając wymagania KSeF. *********************************************************************************************************** Opis powiązań między transakcjami (dokumentami) w programie Trawers ERP a komunikatami EDI przy pracy wielo-oddziałowej. Opis zawiera szczegóły techniczne, które ułatwiają zrozumienie istoty powiązań. Patrz też: Wielo-oddziałowość
Pojęcia
f_symop Zmienna programu, w której jest symbol aktywnego (zalogowanego) operatora Operator należy do oddziału: f_soddzial f_soddzial Zmienna programu, w której jest symbol oddziału ustalony wg: f_symop Gdy wskazuje na firmę (centralę), to ma wartość '00' W nagłówku SOAP można wskazać operatora <user> innego niż: f_symop co powoduje zmianę w: f_soddzial FIILN ILN w karcie firmy / oddziału InBound Pobieranie dokumentów EDI OutBound Zapisywanie (wysyłanie) dokumentów EDI SOAP Komunikat SOA w formacie XML W nagłówku SOAP można podać operatora innego niż: f_symop Wg podanego: <user>, program ustali symbol oddziału: f_soddzial Buyer, Seller, SellerHeadquarters, DeliveryPoint, DeliveryLocationNumber Pola komunikatów EDI. Patrz opis EDI Stosowane oznaczenia EDI w SOA Komunikaty EDI wczytywane (InBound) i zapisywane (OutBound) funkcjami SOA OutBound: Faktura sprzedaży EDI SalesInvoiceGetById [INVOICE] Faktura korekty EDI SalesCorrectiveInvoiceGetById [INVOICE] InBound Zam sprzed NA Dopisanie EDI Document-Order [ORDER] Zam sprzed NA Dopisanie EDI Document-Order [ORDER] Awizo dostawy ZO EDI Dopis Document-DespatchAdvice [DESADV]

1. Ustalanie ILN <-> Oddział

1.1 Buyer (ZA) / Seller (NA)

W skrócie
ILN przypisany do oddziału decyduje, do którego oddziału zostanie przypisany dokument EDI. Wysyłając dane EDI - system wybiera ILN z karty firmy lub oddziału zgodnie z aktywnym operatorem. Przy odbieraniu dokumentów - ILN z dokumentu EDI służy do znalezienia pasującego oddziału w systemie. Zapisywanie dokumentów EDI OutBound -------------------------- Pola EDI: Buyer (ZA) / Seller (NA) Ustala: ILN wg f_soddzial Wg funkcji: DANE_FIRM9() gdy f_soddzial=='00' to l_fiILN := FIILN firmy gdy f_soddzial inny to l_fiILN := FIILN oddziału W nagłówku SOAP można wskazać operatora <user> innego niż: f_symop co powoduje zmianę w: f_soddzial Pobieranie dokumentów EDI InBound ------------------------- Pola EDI: Buyer (ZA) / Seller (NA) Ustala: oddział wg ILN z EDI Wg funkcji: SOA_Ustal_Oddzial_wg_ILN() l_oddzial := '00' gdy ILN == FIILN firmy l_oddzial := sfirmy gdy ILN == FIILN oddziału
Szczegółowo
Zapisywanie dokumentów EDI OutBound -------------------------- ILN dla pól Seller / Buyer ustalany jest wg oddziału operatora (zmienna: f_soddzial w RET_ODDAN3(f_soddzial ... @l_fiILN) a tam w DANE_FIRM9() Gdy f_soddzial == '00' Q_ODDZIAL_00_CENTRALA to zwróć ILN wskazany w karcie firmy Gdy różny od '00' to zwróć ILN wskazany w karcie tego oddziału. DESADV NA_DLL85 Seller.ILN NA_EDI_DESADV_OUT_XML (NA_EDI_DESADV_OUT_XML_AddParties) ORDRSP NA_DZM80 Seller.ILN EDI_ORDRSP_XML (EDI_ORDRSP_XML_AddParties) INVOICE NA_ZED10 Seller.ILN EDI_INVOICE_NA ORDER ZA_DKZ30 Buyer.ILN EDI_ORDER_ZA Pobieranie dokumentów EDI InBound ------------------------- TrSoaFunctionManager: ORDER NA_DEDI1 Seller.ILN :ZamowienieNA_EDI() INVOICE ZO_DEDI1 Buyer.ILN :InvoiceZO_EDI() DESADV ZO_DEDI2 Buyer.ILN :ZO_EDI_DESADV_IN_SOA() Symbol oddziału dla tworzonego dokumentu ustalany jest wg ILN (zapisanego w znacznikach Seller/Buyer) wg SOA_Ustal_Oddzial_wg_ILN() Kolejność sprawdzania ILN: - w karcie bieżącej firmy (f_sfirmy) gdy zgodny to zwraca symbol centrali '00' Q_ODDZIAL_00_CENTRALA - w kartach wszystkich oddziałów gdy zgodny to zwraca symbol oddziału
Uwagi
Symbol oddziału, z którym powiązane jest zamówienie ustal na podstawie ILN podanego w polu <Seller>. Sprawdź ILN bieżącej firmy i ILN-y wszystkich oddziałów Nie bierz f_soddzial bieżącego operatora, bo wczytywanie może być w trybie autorun z podaniem operatora 'technicznego'. Z tego wynika, że może się zdarzyć, że w dokumencie będzie oddział inny niż operatora. NOTE: ewentualnie w przyszłości dodać parametr operatora: Wczytuje zam EDI tylko wlasnego oddzialu
Wpływ na dalsze przetwarzanie
a) Parametry Obecne ustalanie oddziału pobieranych dok EDI wg ILN nie uwzględnia 0630: 0630 Wybierze tylko własny oddział Dokument pobrany przez EDI może mieć oddział inny niż operatora. To może mieć konsekwencje przy pracy z dokumentami oddziałów: 0511 Faktury własnego oddziału w ZO 0619 Faktury własnego oddziału w NA 0712/0906 Zatwierdza dokument oddziału NA/ZO --> MaPrawoZat() Patrz też: 0510 Przegląda i poprawia własne ZO 0617 Przegląda i poprawia własne NA 0605/0905 Zatwierdza tylko własne NA/ZO b) Oddział kupuje, centrala płaci --> fil_trawersmultidivisionsdesc W nagłówku faktury zakupu można wskazać oddział, w którym ma być zapłata TW_ZODOK_N:PODDZIAL zapłata w oddziale TW_ZODOK_N:ODDZIAL oddział w którym zarejestrowano dok Pobieranie faktury ZO EDI :InvoiceZO_EDI() : * ustala r_oddzial wg Buyer.ILN (patrz wyżej) * przyjmuje r_poddzial jako domyślny, czyli f_soddzial ^ o--- zaplata w oddziale -->TrZoDokNag tr15_zob Wczytując dok EDI Invoice ZO nie ma możliwość ustalenia PODDZIAL, na stałe jest f_soddzial. W nagłówku SOAP można wskazać operatora <user> co powoduje zmianę f_soddzial TODO: dodać parametr ODEDIPLA ustalający PODDZIAL, np: [1] PODDZIAL = f_soddzial (obecnie) - płatność w oddziale operatora wczytującego dok EDI [2] PODDZIAL = ODDZIAL - płatność w oddziale wskazanym w dok (wg ILN) [3] PODDZIAL = [00] - płatność zawsze w centrali

1.2 SellerHeadquarters

Zapisywanie dokumentów EDI OutBound -------------------------- ILN dla tego pola EDI ustalany jest wg tej samej reguły jak ILN dla Seller/Buyer czyli wg f_soddzial (patrz wyżej) Pobieranie dokumentów EDI InBound ------------------------- Dane SellerHeadquarters są ignorowane. Nie mają wpływu na przetwarzanie.

1.3 DeliveryPoint / DeliveryLocationNumber

Zapisywanie dokumentów EDI OutBound -------------------------- DESADV NA_DLL85 NA_EDI_DESADV_OUT_XML (NA_EDI_DESADV_OUT_XML_AddParties) Zapisuje DeliveryPoint.ILN wg adresu odbiorcy SHIPTO.ADRILN -> RET_SHIPTO() ORDRSP NA_DZM80 EDI_ORDRSP_XML (EDI_ORDRSP_XML_AddParties) Zapisuje DeliveryPoint.ILN wg adresu odbiorcy SHIPTO.ADRILN -> RET_SHIPTO() ORDER ZA_DKZ30 EDI_ORDER_ZA Zapisuje DeliveryPoint.ILN wg parametru EDI dostawcy ODEDIILN: TrTab_edi_odediiln [1] ILN wskazany w karcie magazynu [2] ILN wskazany w karcie firmy/oddziału // wg f_soddzial w DANE_FIRM9() Ustala ILN w TrEdiDeliveryPoints.prg method PrepareDeliveryPoints() INVOICE NA_ZED10 EDI_INVOICE_NA Nie zapisuje DeliveryPoint. Zapisuje DeliveryLocationNumber w nagłówku lub pozycjach EDI wg adresu odbiorcy SHIPTO.ADRILN -> RET_SHIPTO() Warunkowo można zmienić (patrz p_strict w EDI_INVOICE_NA) Patrz też parametr EDI odbiorcy ODEDIDLV TrTab_edi_odedidlv Pobieranie dokumentów EDI InBound ------------------------- TrSoaFunctionManager: ORDER NA_DEDI1 :ZamowienieNA_EDI() Ustala SHIPTO wg DeliveryPoint.ILN Szuka w Q_299_NA_Adresy_odbiorcy adresu, dla którego ADRILN == DeliveryPoint.ILN DESADV ZO_DEDI2 :ZO_EDI_DESADV_IN_SOA() Ustala MAG wg DeliveryPoint.ILN Szuka w Q_245_MG_Tab_mag_grup_jm magazynu, dla którego TMGILN == DeliveryPoint.ILN --> MG_MagByILN INVOICE ZO_DEDI2 :InvoiceZO_EDI() Nie używa DeliveryPoint. Ustala magazyn wg DeliveryLocationNumber Szuka w Q_245_MG_Tab_mag_grup_jm magazynu, dla którego TMGILN == DeliveryPoint.ILN --> MG_MagByILN Wpływ na przetwarzanie ---------------------- Podczas pobierania dok EDI DESADV i INVOICE ZO Nie są sprawdzane uprawnienia operatora do magazynów ustalonych wg ILN. TODO: Kontrolować uprawnienia do magazynów podczas pobierania EDI. Patrz też: 0714 Widzi magazyny uprawnione

2. Tematy powiązane

Wielo-oddziałowość EDI Dokumenty sprzedaży EDI Dokumenty zakupu EDI Stosowane oznaczenia SOA Funkcje OutBound i InBound Słowa kluczowe #e-EDI #Raporty-FormatyDanych #Pomoc-AsystentAI (AsystentAI) Materiał szkoleniowy: EDI a oddziały w Trawers ERP Cel dokumentu Zrozumienie, jak program Trawers ERP przypisuje dokumenty EDI do odpowiednich oddziałów firmy oraz jak działają pola typu `ILN` w procesach importu i eksportu danych. Podstawowe pojęcia | Pojęcie | Znaczenie | | ------------------ | ------------------------------------------------------------------------- | | ILN | Międzynarodowy numer lokalizacyjny (ILN) przypisany do firmy lub oddziału | | f_soddzial | Symbol aktualnego oddziału operatora (np. `[00]` dla centrali) | | EDI | Elektroniczna wymiana danych, np. zamówień, faktur | | SOAP | Format komunikatów XML między systemami | | Buyer / Seller | Oznaczenia stron w dokumentach EDI | | InBound / OutBound | Odbieranie danych z EDI / wysyłanie danych EDI | Schemat działania (opis uproszczony) OUTBOUND (wysyłka danych z Trawersa) * Program odczytuje `f_soddzial` --> na tej podstawie wybiera ILN z: * karty firmy (jeśli `[00]`) * karty oddziału (jeśli inny symbol, np. `[GD]`) * ILN trafia do dokumentu EDI jako: * `Seller.ILN` lub `Buyer.ILN` * `DeliveryPoint.ILN` (dla adresów wysyłkowych) INBOUND (odbiór danych EDI do Trawersa) * Program pobiera `ILN` z dokumentu EDI i szuka: * najpierw w karcie firmy (czy to centrala?) * potem w kartach oddziałów * Znaleziony ILN -> wyznacza symbol oddziału, do którego zostanie przypisany dokument (niezależnie od operatora wykonującego import) Praktyczne działania Przypisywanie ILN do oddziału 1. `AD > AD > Oddziały firmy [AD_TOD10]` 2. Wypełnij pole FIILN odpowiednim numerem 3. Zapisz i przetestuj w komunikacie EDI Ustawienia operatorów * `f_symop` -> operator logujący się do systemu * `f_soddzial` -> oddział operatora, wpływa na dokumenty OutBound Typowe ryzyka i ograniczenia | Problem | Wyjaśnienie | | ----------------------------------------------------- | -------------------------------------------------- | | Dokument EDI trafia do oddziału innego niż operator | Normalne - ILN z dokumentu decyduje, nie operator | | Brak kontroli uprawnień do magazynu przy imporcie EDI | TODO w systemie: należy to uzupełnić | | Niewłaściwa płatność (poddział) | Obecnie zawsze ustawiany na `f_soddzial` operatora | Dobre praktyki * Sprawdź, czy ILN w systemie zgadzają się z numerami partnerów EDI * Wydziel operatorów technicznych do wczytywania dokumentów EDI (SOAP <user>) * Unikaj przypisywania tego samego ILN do więcej niż jednego oddziału Załączniki TODO * Zestawienie funkcji EDI w Trawersie * Lista ILN przypisanych do oddziałów * Wzorce SOAP z operatorami *********************************************************************************************************************** Schemat przepływu EDI w środowisku wielo-oddziałowym Trawers ERP OUTBOUND (Wysyłanie dokumentów EDI) ------------------------------------- o--------------------+ f_soddzial = '00' o----------------------o | Operator | -->---------------------> | Karta firmy | | (np. Centrala) | | FIILN centrali | o--------------------o o----------------------o v | | f_soddzial != '00' v wybór ILN | | v | o--------------------o | | Karta oddziału | <------------<-----------------<---o | FIILN GDYNIA | o--------------------o v | ILN (np. 5901234567890) | v o-------------------------o | Pole EDI: Seller/Buyer | o-------------------------o v | | v [Wysyłka EDI] INBOUND (Odbiór dokumentów EDI) ---------------------------------- [Dokument EDI] v | | v o-------------------------o | Pole EDI: Seller/Buyer | | ILN z dokumentu | o-------------------------o v | | v o---------------------o brak? o--------------------o | Karta firmy (FIILN)| -->-----> | Karty oddziałów | | Centrala [00] | | (szukaj ILN) | o---------------------o o--------------------o v v | | | Symbol oddziału (np. 'GD') | o---<----------------------<---o | | v o--------------------------o | Przypisz dokument do | | oddziału: [GD] | o--------------------------o v | | v [Dokument trafia do ERP] Objaśnienia * FIILN - numer ILN zapisany w karcie firmy lub oddziału * f_soddzial - symbol oddziału aktywnego operatora * Seller / Buyer ILN - pola identyfikujące lokalizacje w dokumencie EDI * Dane trafiają do właściwego oddziału dzięki dopasowaniu ILN