Sap BAPI csatlakozó, adatok a napi
Végül talált időt, hogy írjak még további megvalósítási SAP Connector, melyek széles körben használják a munka!
Tehát találkozunk: SAP BAPI Connector!
SAP BAPI Connector működik funkcionális modulok az SAP.
Funkció modul (FM, aka FM) - ABAP kód, amelynek célja egy külön funkció, amely lehet újra más alkalmazásokat.
Kétféle paraméterek:
- Import - átvitt adatok „a bemenet” FM a hívó;
- Exportált - visszaadott adatok az FM, a művelet eredményét;
Csak ezekkel a paraméterekkel, és működik csatlakozó továbbítja a meghatározott értékek a bemeneti és megkapja a kért eredményt.
Az importált paramétereket lehet akár meghatározott értékeket vagy változókat és asztalok. Az eredmény általában táblázatos formában.
Az SAP BAPI Connector
Mi az SAP BAPI csatlakozó két esetben:
- Előállítás adatok (táblázat) a már meglévő FM vSAP. A kapott táblázatot az SAP épít egy asszociatív modell kattintással vagy kibocsátható QVD fájl.
- Adatátvitel vSAP import paraméter egy táblázatban. Így adja át az adatokat modult, s csak ezek az adatok feldolgozása az SAP oldalon, és bekerült a döntő asztal oldalán SAP, azaz mi közvetlenül peredaom adatstruktúrát SAP táblákból. Amint megkapjuk a táblázat sikertelenül feldolgozott rekordok, mint a kiviteli adatokat, valamint az oka annak, hogy a rekordot elutasításra került (ez a funkció végrehajtása SAP szakértők).
Mivel az SAP táblákból, már szigorúan csak a jogot, hogy olvassa el ezt a funkciót egy nagyon jó lehetőség közötti kölcsönhatás QlikView és az SAP.
Most a következő lépéseket fog beszélni a két esetben.
Kapcsolat létrehozására és letölteni adatokat az SAP PM
Először létre kell hoznia egy connection string.
Közötti választás a lehetőségek a kapcsolatot QvSAPBAPIConnector (jelenlétében SAP Connector telepítve van)
SAP szakemberek szívesen tájékoztatják a szükséges paramétereket, csak nyomjuk meg TestConnection:
Amikor a megfelelő töltési get:
Ezután lépjen ki az üzemmódot a funkcionális modulok és a BAPI kattintás a gombra:
Az ablakban a munkafolyamat:
- Határozza meg a függvény nevét modult.
- Nyomja meg a "Getparameters" gombot (Get Settings).
- Töltsük meg a szükséges értékeket a származtatott paramétereket.
- A választás az exportált paramétert.
- Nyomja meg a gombot az „Add hívást script”
- Script kódot generál
- Kattintson az „OK” gombra, és a script 6. igénypont szerinti QV script.
Az új script helyett a paraméterek, akkor adja meg a változókat.
Ennek eredményeképpen kapunk egy asztalt ET_CALENDAR_TB majd vagy használja az építőiparban asszociatív modell, vagy feltölteni az adatokat egy fájl formátum QVD.
Adatátvitel az SAP BAPI keresztül Connector
Ez esetben úgy tűnik, hogy nekem több érdekes és szokatlan, ezért az, hogy részletesen.
Egy példaszerű algoritmus az adatok táblázatos formában, mint a paraméter, ha az SAP BAPI Connector az alábbiak szerint:
- Határozzuk meg az adatok
- elkészítik az
- Egyeztetett formában.
- Adatok feltöltése első ellenőrzése.
- Készítsünk változókat.
- Át az adatokat az SAP
- Feldolgozza az adatokat az SAP
- Eljárás továbbított információt az SAP (esetünkben, mint mondta - egy tábla rekordok nem működik, és okai)
Nézzünk egy példát adatokat az SAP érkezése forrásokat a készpénz gyűjtemény.
- Mi határozza meg az adatokat, amit el akar küldeni.
Mi az eredmény táblázatban. hogy meg kell, hogy adja át az SAP:
Ez a legnagyobb tételt!
Először is, meg kell tanulni a szakértők SAP tábla szerkezetét, amely tele lesz az adatokban.
Struktúra SAP céltáblát ebben az esetben a következő:
Mandt - ügyfélszáma
BUKRS, - a társaság neve kód
BUDAT, - dátum
KUNNR, - tároló
WAERS, - deviza
WRBTR, - a pénzösszeg
HBKID - K bank
Még nem minden oszlopot, így a hiányzó oszlopokat létre saját, átalakítja a többit. Ennek eredményeképpen megkapjuk a következő kódot:
LOAD
'100', mint Mandt,
'BSTP', mint BUKRS,
Év (Data_prihoda_korr) Num (Hónap (Data_prihoda_korr), '00') Num (Day (Data_prihoda_korr), '00'), mint BUDAT,
PFM mint KUNNR,
'RUB', mint WAERS,
Floor (Sum (Proinkassirovano) pontja) WRBTR,
ApplyMap ( 'BankNameMap2', Bank_plan) mint HBKID
Resident Eredmény
Amennyiben nem IsNull (PFM)
Csoportosítás Data_prihoda_korr, PFM, ApplyMap ( 'BankNameMap2', Bank_plan);
- Mandt területen. Burks. WAERS létre saját.
- Field Data_prihoda_korr konvertálni a formátumot elfogadja az SAP „ÉÉÉÉHHNN”.
- Field Bank_plan állítsa leképezési táblázat segítségével a használt értékeket az SAP, a hitelező, mint egy rövid kódot.
- Field Proinkassirovano kerekítve, és összege a feltérképezése alkalmazás kaphat több vonal, egy üzlet / bank egy nap, ami ellentétes a mentesítési logika.
- Továbbításakor számok töredék része az érték kell továbbítani, az elválasztó”. „(Időszak), vesszővel elválasztott számú funkcionális modul nem elfogadott.
Mivel a mentesítés ilyen logika az volt, hogy a frissített rerecorded értékek jövőbeli időpontokban, szükség volt hozzá egy csekket, abban az esetben az új kibocsátási ott egy vásárlási adatokat. Ez a vizsgálat is elvégezhető oldalán SAP, mi történik QlikView az alábbiak szerint:
- Add a LOAD gombot területén:
Num (Data_prihoda_korr) '|' ApplyMap ( 'BankNameMap2', Bank_plan) '|' PFM mint PFM_BANK_DATA
- Mentesül az asztalra, ami megy feltölteni, információt tároljon, amely nincs jelen a jelenlegi mentesítési helyett az összeg peredaom „0” felülírni az adatokat a jövőben:
Concatenate (T1)
LOAD
Ha (ISNUMBER (KUNNR), Num (KUNNR), KUNNR) mint KUNNR,
HBKID,
100, mint Mandt,
'RUB', mint WAERS,
'BSTP', mint BUKRS,
0 a WRBTR,
Év (BUDAT) Num (Hónap (BUDAT), '00') Num (Day (BUDAT), '00'), mint BUDAT
Amennyiben nem létezik (PFM_BANK_DATA, Num (BUDAT) '|' HBKID '|' Ha (ISNUMBER (KUNNR), Num (KUNNR), KUNNR));
SELECT
KUNNR,
HBKID,
WRBTR,
BUDAT
tól Z_TABLE_IN_SAP
AHOL BUDAT> = '$ (vTodayYear) $ (vTodayMonth) $ (vTodayDay)';
- Vegye ki a kulcsot a területen DROP Field PFM_BANK_DATA;
Az adatok előkészítése befejeződött, de ez még nem minden.
Most kell átalakítani, hogy a továbbítás céljából a funkció modul.
Adatforgalom funkcionális módszer a következő: (egy része a script a mező Mandt):
Bent a kapcsos zárójelek azt át kell adni az összes értéket. Ehhez az azonos csapat, már találtak megoldást - használat változókat.
- kezdeni összekapcsolják az összes értékeket egy területen, csináljuk segítségével Concat funkciót. Ez kötelező a használata a sort, mert Enélkül a kapott adatokat a mezők vannak elrendezve a kaotikus módon.
A „” kell használni, mint egy elválasztó.
- Táblázat T2 tartalmaznak csak egy bejegyzést, és az értéket minden területen tartalmazná az összes mező értékeket az előző táblázatban.
A példában területén BUDAT:
T2: // egyesítése az értékeket a földeken.
LOAD
Concat (Mandt "», » '), mint MANDTx,
Concat (BUKRS "», » '), mint BUKRSx,
Concat (BUDAT "», »”, KUNNR * 100000000 + BUDAT + WRBTR) a BUDATx, // KUNNR * 100000000 + BUDAT, válogatás, a concat, anélkül, hogy az egész forgatókönyvet használhatatlan.
Concat (KUNNR "», »”. KUNNR * 100000000 + BUDAT + WRBTR) a KUNNRx,
Concat (WAERS "», » '), mint WAERSx,
Concat (WRBTR "», »”. KUNNR * 100000000 + BUDAT + WRBTR) a WRBTRx,
Concat (HBKID "», »”. KUNNR * 100000000 + BUDAT + WRBTR) a HBKIDx
Rezidens T1;
- Végül, az érték a kapott mezők peredaom változók itt, mint egy változat alkalmas Peek funkció.
- Továbbra is továbbítja az adatokat az SAP.
Azt, hogy a kapcsolat, mint az előző példában.
Ebben az esetben a tábla, mint egy bemeneti paramétere:
Például, de jobb megértéséhez töltse több bejegyzés kattintva egy sort a táblázatban:
Kattintson a Hozzáadás hívás script
A kapott script helyébe a zárójelben lévő érték a korábban létrehozott változókat!
Fontos: hogy egy változó idézetek.
- Amikor fut a script adatátvitel QlikView funkcionális modult, amely feldolgozza a mért értékeket.
- Mivel az export lehetőség jön egy tábla jelenlétében rekordok lehetséges, hogy mely adatokat továbbítják az asztalra.
- Ha szükséges, módosítania kell a csatlakozó vezetéket is át az adatokat egy másik SAP kiszolgálón (például a teszt), vagy többször kirak modul különböző paraméterekkel.
- Az adat önmagában egy táblázatban tárolja elég gyorsan, de néha a válasz jön QlikView sokáig, és a program megy a következő lépés a késedelem. A gyakorlatban ez csak egyszer. Ennek eredményeként mentesítő osztva stream.
- Ha a csatlakozó script fület, még mindig vannak szereplők, akkor azok nem érvényesek szintaxis kiemelést. Ezt a problémát oldja hozzon létre egy új lapot.
- Ügyeljen arra, hogy megbizonyosodjon arról, hogy a táblázatban szereplő értékek az SAP oldalon értékeknek felel meg az elsődleges tábla, ha vannak ellentmondások kell visszamenni a Concat funkció rendezési feltételt.
SAP BAPI Connector lehetőségek nagyon kapós, tudtuk mozgatni néhány hasznos jelentések QlikView jelentések közvetlenül a funkció modulok, és a lehetőséget, továbbítása az asztalra, mint a paraméter lehetővé tette, hogy hagyjon rendszereket üzembe fájlok hálózati megosztások. Stabilitás, gyorsaság, és a rugalmasság az adatátvitel nőtt.
Kérdezze meg kérdéseket.
Köszönjük a figyelmet!