středa 27. října 2010

Prezentace z Oracle Day 2010


25.10.2010 se v hotelu Hilton Prague uskutečnila konference Oracle Day 2010. V případě, že jste se nemohli účastnit a nebo jste nestihli všechny prezentace, pak níže najdete odkazy.

Z pohledu datových skladů, datových integrací a business intelligence zde můžete najít prezentace o Exadatě, zkušenosti z DWH projektů, Realtime integrace s pomocí GoldenGate a oficiální uvedení BI11g v ČR.


Dopolední Business Keynote

Software. Hardware. Complete.
Jeff EPSTEIN, CFO a Executive VP

Using Technology opportunities for Business Advantage
Evžen Pavlovský, CEE Regional Enterprise Business Manager, společnost Intel

eGonova cesta - část 1, část 2, část 3
Ing. Michal JIRKOVSKÝ, šéfredaktor magazínu Egovernment a výkonný ředitel Infocom


Core Technology & Database

Oracle Database 11gR2 keynote
David Krch, Technology Solution Specialist, Oracle

Maximum Availability Architecture
Miroslav Lorenc, Expert Services Project Manager, Oracle

Damas - platforma pro energetiku
Petr Smitka, Solution Architect, Unicorn

Oracle Exadata - Extrémní výkon
Josef Krejčí, BI & DW Solution Manager, Oracle

Zabezpečte data u zdroje, ušetříte čas i peníze
Aleš Novák, Technology Solution Specialist, Oracle

Database Firewall
David Krch, Technology Solution Specialist, Oracle

Správa IT prostředí s Oracle Enterprise Manager 11g
David Krch, Technology Solution Specialist, Oracle

Správa databáze nové generace
Alexandr Bilík, Technology Senior Consultant, Oracle Czech

Zkušenosti z projektů datových skladů
Jakub Illner, Solution Services Architect, Oracle



Fusion Middleware Track

Oracle Fusion Middleware: Innovation through Integration
Regis Louis, Product Mgmt/Strategy Snr Director-ProdDev, Oracle

Oracle Business Process Management Suite 11g: Jednoducho, zjednotene a kompletne
Mikuláš Strelecký, Systems Engineer Principal, Oracle

Moderní integrační platforma pro trh elektrickou energií
Ing. Daniel Mareš, Project Manager, SEFIRA
Mgr. David Klika, SW Architect, SEFIRA

Exalogic
Regis Louis, Product Mgmt/Strategy Snr Director-ProdDev, Oracle

Zvýšení hodnoty podnikových aplikací pomocí Oracle FMW
Viktor Němec, Insight & Architecture Program Director, Oracle

IDM - případová studie - jedno heslo, jedna role
Jiří Holubec, Solution Architect, GEM system

Špičková řešení pro informační bezpečnost
Aleš Novák, Technology Solution Specialist, Oracle

High Performance, High Productivity Data Integration
Karsten Stöhr, Senior Solutions Consultant Germany, Oracle

Java fazolová polévka na kompozitní způsob
Branislav Majernik, Technology Sales Consultant, Oracle

Optimalizace vašich investic do IT díky technologiím E2.0
Jiří Machotka, Principal Sales Consultant, Oracle

Zkušenosti s nasazením Oracle ECM řešení
Viktor Němec, Insight & Architecture Program Director, Oracle



Application track

Oracle Applications Strategy - Powers Your Business Success. Today and Tomorrow
Folia Grace, VP Application Product Marketing, Oracle

Probuďte spící zákazníky a najděte nové. Marketing a řízení interakce lépe a efektivněji.
Daniel Burian a Michal Zbořil, Oracle

Správa požadavků pomocí CRM
Michal Dufek, Project manager, OKsystem

Informace o uživatelské skupině aplikací Oracle CZ OAUG
Milan Jelínek, prezident CZ OAUG

Oracle EPM – novinky v produktovém protfolio systému Hyperion
Martin Grof, ERP Solution Specialist, Oracle

Dokumentace jako nedílná součást využívání podnikových systémů
Alexandr Pomazal, Application Presales Manager CZ&SK, Oracle

PLM - oblast s největším potenciálem pro návratnost investic
Pavel Mareš, ředitel společnosti, TD-IS

Zkušenosti a přínosy s PLM ve ŠKODA Power
Daniel Komorous, ŠKODA Power

Integrace (nejen) aplikací Oracle z pohledu End-To-End procesu
Václav Provazník, TECH Solution Services Manager, Oracle

ERP - výkonné jádro podnikového informačního systému
Roman Kopecký, ředitel společnosti, BSC

Zkušenosti a přínosy s ERP v Norgren CZ
Aleš Rojka, Norgren CZ

Kouzla a čáry při plánování poptávky
Milan Černý, Senior Sales Consultant, Oracle



Business Intelligence track

Oracle BI Reloadad - The new, comprehensive BI platform from Oracle
Gavin Dupre, Senior Director Sales Consulting, Oracle

BI 11g - Nové vlastnosti pro koncové uživatele
Erik Eckhardt, Sales Consultant - BI/DW, Oracle

BI 11g - Rozšíření BI o OLAP analýzy
Petr Podbraný, Regional Presales Consultant, BI Solutions, Central Europe Cluster, Oracle

OBI – případová studie
Karel Hübl, Solution Architect, GEM system

Balanced Scorecard v produktovém portfolio EPM
Martin Grof, ERP Solution Specialist, Oracle

BI 11g - Rozšíření analýz s nástrojem Essbase
Petr Podbraný, Regional Presales Consultant, BI Solutions, Central Europe Cluster, Oracle

Ukázka nástroje pro plánování a rozpočtování
Martin Grof, ERP Solution Specialist, Oracle



Řešení pro veřejnou správu

Keynote: Egovernment - koncept sdílených služeb pro veřejnou správu
Ondřej Felix, eGovernment Chief Architect, Ministerstvo Vnitra

Elektronické dokumenty ve velkém aneb na velikosti záleží
Jan Valenta, ředitel úseku řízení projektů a služeb, CCA Group

Konsolidujte svou IT infrastrukturu - extrémní výkon s Exadata
Josef Krejčí, BI & DW Solution Manager, Oracle

Zlatokopem ve 21. století - vytěžte z Vašich dat cenné informace
Erik Eckhardt, Sales Consultant - BI/DW, Oracle

Datové schránky jsou jen začátek
Mgr. Jiří Machotka, Principal Presales Consultant, Oracle Czech

Víte, kdo pracuje s Vašimi daty?
Aleš Novák, Technology Solution Specialistl,Oracle

čtvrtek 21. října 2010

ODI 11g a SAP ERP - Extrakt dat ze 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 a SAP JCO konfigurovaný v předchozím článku
  • Nainstalované ODI11g, master i workrepository, Standalone Agent
  • Protože jsme 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 HW jako DB resp. ODI agent kvůli rychlosti)
  • Infrastruktura (firewall) umožňuje konektivitu ze SAP serveru na náš server (pozor, nezapomenout), stejně tak náš FTP server resp. server má vypnutý firewall resp. nastavené porty (google help) – pozor, když testujete na své lokální mašině, musíte mít povolené na svém firewallu (a nebo ho na dobu otestování vypnout jako já)
  • Verze SAP JCO : sapjco30P_6-win_32bit_10005324 a stejná verze JCO pro linux 64 server
  • Verze LKM pro SAP ERP: Version: 11.1.2.24, Compatability:ODI 11.1.2 and above
  • Ze SAPu bereme celé tabulky (full snapshotů, ale s případným ořezáním na účetní okruh - filtry fungují, join jsme nezkoušel)

Zdroje:

(1) Dokumentace ODI 11g
(2) Dokumentace SAP ABAP ERP
(3) Google – pro konfiguraci vsftpd

Upozornění:
Oproti předchozímu článku si zjistěte od admina SAPu ještě jednu zásadní věc a to kódování, které SAP používá. Tady mají SAP ERP s kódováním SAP CP 1401, což je ISO 8859-2 (budeme je potřebovat později).


Postup na straně ODI:
1. Předpokladem je provedená a otestovaná konfigurace prostředí popsaná v předchozím článku

2. V topologii, jsem u SAP_ABAP Data serveru nastavil ve flexfiledu s názvem SAP CharakterSet hodnotu předanou adminem, tj. ISO-8859-2, aby mi to správně kódovalo řetězce

3. Pomocí Reverse engineeringu jsem ze SAPu reverzoval metadata několika tabulek (BKPF) (platí dále upozornění, že tento revers můžete provést pouze pomocí lokálního agenta v ODI Studiu, a musíte mít na daném počítači instalované SAP JCO) – viz. předchozí díl. Toto proběhlo nad očekávání naprosto bez problému, dotáhl i popis sloupců.

4. Vytvořil a otevřel jsem model resp. diagram (na Oracle DB), kam jsem přetáhl tabulku BKPF, takže mi konvertoval datové typy.

A tady už se dostáváme k jádru pudla :o). Bohužel opět platí, že metadata jsou jedna věc a reálná data druhá věc. Konverze jako taková pracuje v pohodě, ale metadata SAPu nesouhlasí s tím, co je reálně v datech (při importu přetéká rozsahu sloupců atd). Tady máte dvě možnosti:

a) Věřit a pak postupně upravovat cílovou tabulku tak, aby se tam rozsahy vlezly (iterativní a hodně nasírající smyčka)

b) Změnit v cílové tabulce datový typy na obecný VARCHAR2(60) a při loadu ořezávat prázdné mezery

Já si pro tento test vybral první cestu, ale tak mě to naštvalo, že už chystám speciální RKM, který půjde druhou cestou i s dalšími featurami (až bude ve zveřejnitelné podobě, publikuji tento KM jako přílohu u tohoto článku).

Pozor!!! Připomínám, toto přetažení nezkopíruje PK a UK, ty musíte vytvořit ručně.

5. Vytvořil jsem Interface, kde je zdrojem SAP tabulka a cílem Oracle DB, nastavení:

a. Filtr na zdrojové tabulce BKPF.BUKRS = '5000' – identifikace účetního okruhu, pokud je v SAPu najednou vedeno více firem. Zpracování na straně zdroje.

POZOR!!! U podmínek je důležitá jedna věc a to, že musí být s mezerami, tj. BKPF.BUKRS='5000' (hodnoty se uzavírají do apostrofu, v jiné formě háže ABAP chybu)
b. LKM KM – LKM SAP ERP To Oracle (SQLLDR) (Pozn. upravený dle postupu v tomto článku), konfigurace defaultní pro LKM

c. IKM KM – IKM Oracle Incremental Update


6. Opravy resp. zásahy do LKM SAP ERP To Oracle (SQLLDR)

a. Default option: FIELD_ SEPARATOR zvolil jsem pipe | ale záleži na Vás

b. Default option: FTP_PASSIVE_MODE=true – jen zkontrolujte, důležité kvůli firewallu, protože Passive mode běží na stejném portu, aktive vytváří spojení na vyšších portech (což Vám neprojde bez úpravy firewall nastavení). Passive bohatě stačí.

c. Klíčový je FTP_TRANSFER_METHOD=NONE – a zde jsem našel poměrně zásadní chybu resp. rozpor mezi dokumentací KM a kódem KM. Podle dokumentace v KM je nutné tuto hodnotu (FTP_TRANSFER_METHOD=NONE ) nastavit, aby SAP uploadoval na server (vždy přes FTP) a ODI už nic nepřetahuje (podmínkou je FTP server na stejném železe jako běží ODI agent a je i dostupný sqlldr). Asi po dvou dnech pátrání jsem našel chybu. Když dáte NONE, tak se Vám v generovaném ABAP kódu přestanou generovat příkazy na ftp přenos (upload souboru ze SAPu na FTP server), takže Vám sice ABAP vytvoří soubor, ale u sebe na lokále a vy máte smůlu :o). Jinou hodnotu pro připravenou infrastrukturu není možné použít, jinak bych musel přes ODI regulerně znovu stahovat ten samý file a nebo stejně šahat do kódu KM). Takže jsem ponechal NONE (dle dokumentace) a změnil jeden řádek v KM:

Změna je v Details, order 190 – název Extrakt Data v Command on Target najděte tuto sekvenci příkazů a nahraďte ji za tu níže uvedenou (je tam přidán jeden příkaz bUseFTP = true; )
<% // Init code gen vars boolean bUseFTP = false; if (odiRef.getOption("FTP_TRANSFER_METHOD").equals("FTP") || odiRef.getOption("FTP_TRANSFER_METHOD").equals("SFTP") || odiRef.getOption("FTP_TRANSFER_METHOD").equals("SCP")) { bUseFTP = true; }; %>

Nahraďte za sekvenci
<% // Init code gen vars boolean bUseFTP = false; bUseFTP = true; if (odiRef.getOption("FTP_TRANSFER_METHOD").equals("FTP") || odiRef.getOption("FTP_TRANSFER_METHOD").equals("SFTP") || odiRef.getOption("FTP_TRANSFER_METHOD").equals("SCP")) { bUseFTP = true; }; %>

Uložte změnu a máte hotovo z pohledu SAPu…


d. A pak tu máme další změnu (optional) – nevím, zda je to tím, že to běží na unixu, ale když se generuje CTL file, tak mi to tam dělalo psí kusy s uvozovkami a apostrofy. Protože já to měl na Linuxu, musel jsem upravit ještě další kousek KM, ale můžete zkusit, zda Vám to předtím neprojde bez této změny. Jedná se o datové typy DATE a asi i další, já šel cestou nejmenšího odporu, tj. měnil jsem jen to co mi bránilo:

Sekvence 210 Generate Loader Script
Řádek 93, původní verze:
return " DATE " + (char)34 + "YYYYMMDD" + (char)34 + " NULLIF " + colName + " = " +(char)34 + "00000000" + (char)34;

nahraďte:
return " DATE 'YYYYMMDD' NULLIF " + colName + " = '00000000'";

Pro zvídavé, je to proto, že SAP nezná null hodnotu, místo ní používá samé nuly, datum vede vždy ve formátu YYYYMMDD, takže ekvivalentně 00000000
Uložte změny

7. Zkontrolujte u interface, zda se promítly změny v default parametrech LKM SAP ERP to Oracle (SQLLDR)

8. A můžete spouštět…pozor, pokud používáte Standalone Agenta, musíte v něm mít nainstalované SAP JCO adaptéry (viz předchozí článek)


9. Další špek související s kódovou stránkou – pokud použivate UTF-8 nebo jinou codepage, jejíž pojmenování je stejné na SAPu i v Oracle DB, tak nemusíte řešit. Protože ale my máme na SAPu ISO-8859-2, tak máme problém. KM totiž tuto kódovou stranku doplní do parametru CHARACTERSET v ctl file pro SQL*Loader, který ji takto nezná. Ekvivalent je EE8ISO8859P2.

a. Abych toto ad hoc ošetřil, přidal jsem další flexfield pro technologii SAP ABAP (Security, Objects – Data Server, editovat, založka FlexFields, přidat položku a vyplnit viz. obrázek


b. V kódu s order 150 – Get SAP Info je nutné rozšíření kódu následovně (načtení hodnoty TARGET_DB_CHARACTERSET do proměnné sDBCharacterset):
Originál:


Nový kód:


c. V kódu 200-Generate Loader Script pak úprava kódu (jeden řádek) viz níže:
Originál

Nový kód

11. Aby se změny projevili, doporučuji restart ODI Studia

12. A pak už jen znovu start Interface

Protože píšu tento postup ex post, tak doufám, že jsme na nic nezapomněl … a tím končí éra placení šílených pěněz implementátorovi SAPu za přípravu extraktů pro DWH :o))))


V poslední článku mě čeká přechod na inkrementální načítání dat, už mám připraveno, ale musím ještě otestovat, abych Vás nekrmil bludy.


Petr Šimbera (BI/DW Architekt - Freelancer)

č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)