čtvrtek 14. října 2010

ODI 11g a SAP ERP - Reverse engineering modelu SAPu

Fakta:
  • Zákazník provozuje SAP ERP
  • Do datového skladu je potřeba čerpat data přímo ze SAPu ERP na logické úrovni
  • Využit ODI SAP ERP aplikační konektor
  • Nainstalované ODI11g a Standalone Agent
  • Protože jsme vše prováděli na vývoji SAPu, neotestovali jsme zatím zda funguje při sadě oprávnění definované v práva
  • ODI Studio na win32 (windows 7 64 bit), DB Server a Standalone Agent Linux 64
  • Pro přenos extraktů jsme zvolili cestu, kdy máme zprovozněný FTP server (vsftpd), kam bude SAP ukládat extrakty a odkud je my budeme číst (ftp server běží na stejném železe jako DB kvůli rychlosti)

Zdroje:
  1. Dokumentace ODI 11g
  2. Dokumentace SAP ABAP ERP

Upozornění:
Pro test připojení a revers engineering metadat prostřednictvím GUI je nutné použít agenta, který je integrován v ODI Studiu - zobrazuje speciální GUI pro výběr tabulek k reverzu


Postup:


Na straně SAP ERP:
1. Vytvořit uživatele pro připojení do SAPu s právy definovanými v dokumentaci 2

2. Dodat instalační soubory pro SAP JCO konektor pro platformy, kde běží ODI studio a Standalone Agent (použit sapjco30P_6-win_32bit_10005324 a sapjco3-linuxx86_64-3.0.6.tgz)

3. Dodat identifikační udaje pro připojení do SAPu:
  • Název resp. IP adresa aplikačního serveru
  • User name
  • Heslo uživatele
  • SAP Systém number
  • SAP klient number
  • SAP Systém ID
  • Zbytek ponechán defaultně
  • Nad rámec si vyžádejte i identifikátor transportation layer pro SAP (identifikátor pro rolování verzí z DEVu na Test a produkci), defaultně je SAP, což není nejvhodnější (zadává se až jako parametr v RKM SAP ERP do parametru SAP_TRANSPORT_LAYER_NAME=ZCD1

Konfigurace ODI:
1. Instalace SAP JCO konektoru:
  • ODI Studio (win32): Rozbalit a dodat soubory sapjco3.jar, sapjco3.dll, sapjcomanifest.mf do ODI_HOME/odi_misc
  • Standalone Agent (lx64): soubory sapjco3.jar, libsapjco3.so do ORA_HOME/oracledi/agent/drivers, přidat cestu k libsapjco3.so do LD_LIBRARY_PATH v profilu uživatele
2. Restartovat ODI studio i všechny použité agenty

3. Dle dokumentace vytvořit topologii, vydefinovat data server

4. Instalovat ODI Open Tools – ODI studio, menu ODI – Add/Remove open Tools, v dialogovén okně zadat Open Tool class name: oracle.odi.sap.km._OdiSapAbapExecute a stisknout zelené plus.


5. Vytvořte projekt

6. Do projektu naimportujte knowledge moduly (Pozor: KM pro aplikace jsou umístěny na companion CD v zip souboru /oracledi-xml_reference.zip):
  • RKM SAP ERP
  • RKM SAP ERP Connection Test
  • LKM SAP ERP to Oracle (SQLLDR)
7. Vytvořte model, např. SAP_test
  • Záložka Definition:

  • Záložka Reverse Engineer:

8. Spusťte revers engeneering. V případě úspěchu se vám otevře okno viz screenshot. V případě neúspěchu se zkuste podívat do operátoru a identifikovat chybu


9. Po úspěšném ověření konektivity otevřete znovu project a nastavte změny na záložce Reverse engeneering (ostatní beze změny) – viz screenshot


Pozor: V rámci prvního spuštění musí být UPLOAD_ABAP_CODE nastaven na true, aby do SAPu mohl negenerovat skupinu funkcí ZODI_FGR, která umožňuje číst SAP metadata. Při dalším spuštění je pak nutné zkontrolovat, že je nastaven na False, jinak generuje chybu, že už RPC existují.

10. Spusťte znovu reverse engineering a objeví se Vám následující okno:


11. Doubleclick na oblasti Vám umožní rozpad až na jednotlivé tabulky – pozor, nelekejte se je to celkem pomalé (hodně objektů v tree). Jdou vidět i jednotlivé sloupce. Pokud jsou objekty komentovány v SAPu, je zde vidět i popis. Pozn. „Z“ tabulky jsou umístěny v hlavní složce UNDEFINED a podložce Z-Category.

12. Po označení zvolených tabulek je proveden reverze metadat, negeneroval mi žádné chyby.


V dalším článku bude popis postupu pro generování interface a problémy, na které jsem narazil.


Petr Šimbera (BI/DW Architekt - Freelancer)

Žádné komentáře: