Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Eins og þú veist býður SAP upp á alhliða hugbúnað bæði til að viðhalda viðskiptagögnum og til að vinna úr þessum gögnum í greiningar- og skýrslukerfum. Sérstaklega er SAP Business Warehouse (SAP BW) vettvangurinn verkfærakista til að geyma og greina gögn með víðtæka tæknilega getu. Þrátt fyrir alla hlutlægu kosti þess hefur SAP BW kerfið einn verulegan galla. Þetta er mikill kostnaður við að geyma og vinna gögn, sérstaklega áberandi þegar skýjabundið SAP BW er notað á Hana.

Hvað ef þú byrjar að nota einhverja aðra en SAP og helst OpenSource vöru sem geymslu? Við hjá X5 Retail Group völdum GreenPlum. Þetta leysir auðvitað kostnaðarmálið en á sama tíma koma strax upp vandamál sem voru leyst nánast sjálfgefið þegar SAP BW var notað.

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Sérstaklega hvernig á að sækja gögn úr upprunakerfum, sem eru aðallega SAP lausnir?

HR Metrics var fyrsta verkefnið þar sem nauðsynlegt var að leysa þetta vandamál. Markmið okkar var að búa til gagnageymslu starfsmanna og byggja upp greiningarskýrslu á sviði vinnu með starfsfólki. Í þessu tilviki er aðaluppspretta gagna SAP HCM viðskiptakerfi, þar sem öll starfsmanna-, skipulags- og launastarfsemi fer fram.

Gagnaútdráttur

Í SAP BW eru staðlaðar gagnaútdráttarvélar fyrir SAP kerfi. Þessir útdráttarvélar geta sjálfkrafa safnað nauðsynlegum gögnum, fylgst með heilleika þeirra og ákvarðað breytingadelta. Hér er til dæmis staðall gagnagjafinn fyrir starfsmannseiginleika 0EMPLOYEE_ATTR:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Niðurstaðan af því að draga gögn úr því fyrir einn starfsmann:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Ef nauðsyn krefur er hægt að breyta slíkum útdráttarvél til að henta þínum þörfum eða búa til þinn eigin útdrátt.

Fyrsta hugmyndin sem kom upp var möguleikinn á að endurnýta þau. Því miður reyndist þetta ómögulegt verkefni. Flest rökfræðin er útfærð á SAP BW hliðinni og það var ekki hægt að aðskilja útdráttarbúnaðinn við upprunann frá SAP BW á sársaukalausan hátt.

Það varð augljóst að við þyrftum að þróa okkar eigin kerfi til að vinna gögn úr SAP kerfum.

Uppbygging gagnageymslu í SAP HCM

Til að skilja kröfurnar fyrir slíkt kerfi þurfum við fyrst að ákvarða hvaða gögn við þurfum.

Flest gögn í SAP HCM eru geymd í flötum SQL töflum. Byggt á þessum gögnum sjá SAP forrit fyrir notandanum skipulag, starfsmenn og aðrar mannauðsupplýsingar. Til dæmis, svona lítur skipulagið út í SAP HCM:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Líkamlega er slíkt tré geymt í tveimur töflum - í hrp1000 hlutum og í hrp1001 tengingar milli þessara hluta.

Hlutir „Department 1“ og „Office 1“:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Tengsl milli hluta:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Það getur verið gríðarlegur fjöldi af báðum gerðum hluta og tegundir tenginga þar á milli. Það eru bæði staðlaðar tengingar milli hluta og sérsniðnar fyrir þínar sérstakar þarfir. Til dæmis, staðlað B012 samband milli skipulagsheildar og stöðugildis gefur til kynna deildarstjóra.

Stjórnandaskjár í SAP:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Geymsla í gagnagrunnstöflu:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Gögn starfsmanna eru geymd í pa* töflum. Til dæmis eru gögn um starfsmannaviðburði fyrir starfsmann geymd í töflu pa0000

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Við ákváðum að GreenPlum tæki „hrá“ gögn, þ.e. afritaðu þær bara úr SAP töflum. Og beint í GreenPlum verður þeim unnið og breytt í líkamlega hluti (til dæmis deild eða starfsmann) og mælikvarða (til dæmis meðaltal starfsmanna).

Um 70 töflur voru skilgreindar og gögn sem þarf að flytja til GreenPlum. Eftir það fórum við að vinna að aðferð til að senda þessi gögn.

SAP býður upp á nokkuð mikinn fjölda samþættingaraðferða. En auðveldasta leiðin er að bein aðgangur að gagnagrunninum er bannaður vegna leyfistakmarkana. Þannig verður að innleiða öll samþættingarflæði á stigi forritaþjónsins.
Næsta vandamál var skortur á gögnum um eyddar færslur í SAP gagnagrunninum. Þegar þú eyðir línu í gagnagrunninum er henni eytt líkamlega. Þeir. myndun breytingadeltu byggt á breytingatímanum var ekki möguleg.

Auðvitað hefur SAP HCM kerfi til að skrá gagnabreytingar. Til dæmis, fyrir síðari flutning til viðtakendakerfa, eru til breytingavísar sem skrá allar breytingar og á grundvelli þeirra myndast Idoc (hlutur til flutnings yfir á ytri kerfi).

Dæmi IDoc til að breyta upplýsingagerð 0302 fyrir starfsmann með starfsmannanúmer 1251445:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Eða að halda skrá yfir gagnabreytingar í DBTABLOG töflunni.

Dæmi um skrá til að eyða færslu með lyklinum QK53216375 úr hrp1000 töflunni:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

En þessar aðferðir eru ekki tiltækar fyrir öll nauðsynleg gögn og vinnsla þeirra á forritaþjónsstigi getur neytt töluvert mikið fjármagn. Þess vegna getur gríðarleg innskráning á allar nauðsynlegar töflur leitt til merkjanlegrar skerðingar á afköstum kerfisins.

Næsta stóra vandamálið var þyrpingartöflur. Tímamat og launagögn í RDBMS útgáfu af SAP HCM eru geymd sem sett af rökréttum töflum fyrir hvern starfsmann fyrir hvern útreikning. Þessar röklegu töflur eru geymdar sem tvöfaldur gögn í töflu pcl2.

Launaflokkur:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Ekki er hægt að líta á gögn úr þyrpuðum töflum sem SQL skipun, heldur krefjast þess að nota SAP HCM fjölva eða sérstakar virknieiningar. Lestrarhraði slíkra taflna verður því frekar lágur. Á hinn bóginn geyma slíkir klasar gögn sem þarf aðeins einu sinni í mánuði - lokalaunaskrá og tímamat. Svo hraði í þessu tilfelli er ekki svo mikilvægur.

Með því að meta valkosti til að mynda delta gagnabreytinga, ákváðum við að íhuga einnig möguleikann á fullri affermingu. Möguleikinn á að flytja gígabæta af óbreyttum gögnum á milli kerfa á hverjum degi lítur kannski ekki vel út. Hins vegar hefur það líka ýmsa kosti - það er engin þörf á að útfæra delta á upprunahliðinni og innleiða innfellingu þessa delta á móttakarahlið. Í samræmi við það minnkar kostnaður og innleiðingartími og áreiðanleiki samþættingar eykst. Á sama tíma var ákveðið að næstum allar breytingar á SAP HR eiga sér stað innan þriggja mánaða fyrir núverandi dagsetningu. Þannig var ákveðið að velja daglega fullt niðurhal á gögnum frá SAP HR N mánuðum fyrir núverandi dagsetningu og mánaðarlegt fullt niðurhal. N færibreytan fer eftir tiltekinni töflu
og er á bilinu 1 til 15.

Eftirfarandi kerfi var lagt til fyrir gagnaútdrátt:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Ytra kerfið býr til beiðni og sendir hana til SAP HCM, þar sem þessi beiðni er athugað með tilliti til heilleika gagna og heimilda til að fá aðgang að töflum. Ef athugunin heppnast, keyrir SAP HCM forrit sem safnar nauðsynlegum gögnum og flytur þau yfir í Fuse samþættingarlausnina. Fuse ákvarðar tilskilið efni í Kafka og flytur gögnin þangað. Næst eru gögnin frá Kafka flutt yfir á Stage Area GP.

Í þessari keðju höfum við áhuga á útgáfu gagna úr SAP HCM. Við skulum skoða það nánar.

SAP HCM-FUSE samskiptamynd.

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

Ytra kerfið ákvarðar tíma síðustu heppnuðu beiðni til SAP.
Ferlið er hægt að ræsa með tímamæli eða öðrum atburði, þar á meðal að stilla tímamörk til að bíða eftir svari með gögnum frá SAP og hefja endurtekna beiðni. Síðan býr það til delta beiðni og sendir hana til SAP.

Beiðnigögnin eru send til meginmálsins á json sniði.
Aðferð http: POST.
Dæmi um beiðni:

Útdráttur gagna úr SAP HCM í gagnavöruhús sem ekki eru SAP

SAP þjónustan fylgist með beiðninni um tæmni, samræmi við núverandi SAP uppbyggingu og aðgengi að aðgangsheimildum að umbeðinni töflu.

Ef um villur er að ræða, skilar þjónustan svari með viðeigandi kóða og lýsingu. Ef stjórnun gengur vel, býr það til bakgrunnsferli til að búa til sýnishorn, býr til og skilar samstillt einstöku lotuauðkenni.

Ef um villu er að ræða, skráir ytra kerfið það í annálinn. Ef svarið er vel, sendir það lotuauðkenni og nafn töflunnar sem beiðnin var gerð um.

Ytra kerfið skráir núverandi lotu sem opna. Ef það eru aðrar lotur fyrir þessa töflu er þeim lokað með viðvörun skráðri.

SAP bakgrunnsverkið býr til bendil sem byggir á tilgreindum breytum og gagnapakka af tilgreindri stærð. Lotustærð er hámarksfjöldi skráa sem ferli les úr gagnagrunninum. Sjálfgefið er gert ráð fyrir að það sé jafnt og 2000. Ef það eru fleiri færslur í gagnagrunnssýninu en notuð pakkastærð, eftir sendingu fyrsta pakkans, myndast næsti blokk með samsvarandi offset og auknu pakkanúmeri. Tölurnar eru auknar um 1 og sendar í röð.

Næst sendir SAP pakkann sem inntak í vefþjónustu ytra kerfisins. Og kerfið framkvæmir stýringar á komandi pakka. Þátttaka með mótteknu auðkenni þarf að vera skráð í kerfið og hún verður að vera í opinni stöðu. Ef pakkanúmerið > 1 ætti kerfið að skrá árangursríka móttöku fyrri pakka (pakka_id-1).

Ef stjórnun gengur vel, flokkar ytra kerfið og vistar töflugögnin.

Að auki, ef lokafáninn er til staðar í pakkanum og serialization tókst, er samþættingareiningunni tilkynnt um árangursríka lokun lotuvinnslu og einingin uppfærir lotustöðuna.

Ef um er að ræða stjórnunar-/þáttunarvillu er villan skráð og pökkum fyrir þessa lotu verður hafnað af ytra kerfinu.

Sömuleiðis, í öfugu tilviki, þegar ytra kerfið skilar villu, er það skráð og pakkasending hættir.

Til að biðja um gögn á SAP HСM hliðinni var samþættingarþjónusta innleidd. Þjónustan er útfærð á ICF ramma (SAP Internet Communication Framework - help.sap.com/viewer/6da7259a6c4b1014b7d5e759cc76fd22/7.01.22/en-US/488d6e0ea6ed72d5e10000000a42189c.html). Það gerir þér kleift að spyrjast fyrir um gögn úr SAP HCM kerfinu með því að nota sérstakar töflur. Þegar gagnabeiðni er búin til er hægt að tilgreina lista yfir tiltekna reiti og síunarfæribreytur til að fá nauðsynleg gögn. Á sama tíma felur innleiðing þjónustunnar ekki í sér neina viðskiptarökfræði. Reiknirit til að reikna delta, fyrirspurnarfæribreytur, heilleikavöktun osfrv. eru einnig útfærð á hlið ytra kerfisins.

Þetta kerfi gerir þér kleift að safna og senda öll nauðsynleg gögn á nokkrum klukkustundum. Þessi hraði er á mörkum þess að vera viðunandi, þannig að við lítum á þessa lausn sem tímabundna lausn, sem gerði það mögulegt að fylla þörfina fyrir útdráttartæki í verkefninu.
Í markmyndinni, til að leysa vandamálið við gagnaútdrátt, er verið að kanna möguleika til að nota CDC kerfi eins og Oracle Golden Gate eða ETL verkfæri eins og SAP DS.

Heimild: www.habr.com

Bæta við athugasemd