Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Kama unavyojua, SAP inatoa anuwai kamili ya programu kwa kudumisha data ya shughuli na kuchakata data hii katika mifumo ya uchanganuzi na kuripoti. Hasa, jukwaa la SAP Business Warehouse (SAP BW) ni zana ya kuhifadhi na kuchambua data yenye uwezo mkubwa wa kiufundi. Kwa faida zake zote za lengo, mfumo wa SAP BW una drawback moja muhimu. Hii ni gharama kubwa ya kuhifadhi na kuchakata data, hasa inayoonekana wakati wa kutumia SAP BW ya wingu kwenye Hana.

Je, ikiwa utaanza kutumia zisizo za SAP na ikiwezekana bidhaa ya OpenSource kama hifadhi? Sisi katika X5 Retail Group tulichagua GreenPlum. Hii, bila shaka, hutatua suala la gharama, lakini wakati huo huo, masuala yanatokea mara moja ambayo yalitatuliwa karibu na default wakati wa kutumia SAP BW.

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Hasa, jinsi ya kurejesha data kutoka kwa mifumo ya chanzo, ambayo ni zaidi ya ufumbuzi wa SAP?

HR Metrics ulikuwa mradi wa kwanza ambao ulihitajika kutatua tatizo hili. Lengo letu lilikuwa kuunda hifadhi ya data ya HR na kujenga ripoti ya uchambuzi katika eneo la kufanya kazi na wafanyakazi. Katika kesi hiyo, chanzo kikuu cha data ni mfumo wa shughuli za SAP HCM, ambapo wafanyakazi wote, shughuli za shirika na mshahara hufanyika.

Uchimbaji wa data

Katika SAP BW kuna watoa data wa kawaida kwa mifumo ya SAP. Wachimbaji hawa wanaweza kukusanya data muhimu kiotomatiki, kufuatilia uadilifu wake, na kuamua mabadiliko ya delta. Hapa, kwa mfano, ni chanzo cha data cha kawaida cha sifa za mfanyakazi 0EMPLOYEE_ATTR:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Matokeo ya kutoa data kutoka kwayo kwa mfanyakazi mmoja:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Ikiwa ni lazima, mchimbaji kama huyo anaweza kurekebishwa ili kuendana na mahitaji yako mwenyewe au mchimbaji wako mwenyewe unaweza kuunda.

Wazo la kwanza kutokea lilikuwa uwezekano wa kuzitumia tena. Kwa bahati mbaya, hii iligeuka kuwa kazi isiyowezekana. Mantiki nyingi hutekelezwa kwa upande wa SAP BW, na haikuwezekana kutenganisha bila maumivu kichimbaji kwenye chanzo kutoka kwa SAP BW.

Ikawa dhahiri kwamba tungehitaji kuunda utaratibu wetu wenyewe wa kutoa data kutoka kwa mifumo ya SAP.

Muundo wa kuhifadhi data katika SAP HCM

Ili kuelewa mahitaji ya utaratibu kama huo, tunahitaji kwanza kuamua ni data gani tunayohitaji.

Data nyingi katika SAP HCM huhifadhiwa katika jedwali tambarare za SQL. Kulingana na data hii, programu za SAP zinaonyesha muundo wa shirika, wafanyikazi na habari zingine za HR kwa mtumiaji. Kwa mfano, hivi ndivyo muundo wa shirika unavyoonekana katika SAP HCM:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Kimwili, mti kama huo huhifadhiwa katika meza mbili - katika vitu vya hrp1000 na katika hrp1001 viunganisho kati ya vitu hivi.

Vitu "Idara ya 1" na "Ofisi 1":

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Uhusiano kati ya vitu:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Kunaweza kuwa na idadi kubwa ya aina zote mbili za vitu na aina za viunganisho kati yao. Kuna miunganisho ya kawaida kati ya vitu na vile vilivyobinafsishwa kwa mahitaji yako maalum. Kwa mfano, uhusiano wa kawaida wa B012 kati ya kitengo cha shirika na nafasi ya wakati wote unaonyesha mkuu wa idara.

Onyesho la msimamizi katika SAP:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Hifadhi kwenye jedwali la hifadhidata:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Data ya mfanyikazi huhifadhiwa kwenye jedwali pa*. Kwa mfano, data juu ya matukio ya wafanyakazi kwa mfanyakazi huhifadhiwa kwenye jedwali pa0000

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Tuliamua kuwa GreenPlum itachukua data "ghafi", i.e. nakala tu kutoka kwa meza za SAP. Na moja kwa moja katika GreenPlum zitachakatwa na kubadilishwa kuwa vitu halisi (kwa mfano, Idara au Mfanyakazi) na vipimo (kwa mfano, wastani wa idadi ya watu).

Takriban jedwali 70 zilifafanuliwa, data ambayo lazima ihamishwe hadi GreenPlum. Baada ya hapo tulianza kutengeneza njia ya kusambaza data hii.

SAP inatoa idadi kubwa ya mifumo ya ujumuishaji. Lakini njia rahisi ni kwamba ufikiaji wa moja kwa moja kwenye hifadhidata ni marufuku kwa sababu ya vizuizi vya leseni. Kwa hivyo, mtiririko wote wa ujumuishaji lazima utekelezwe katika kiwango cha seva ya programu.
Tatizo lililofuata lilikuwa ukosefu wa data kuhusu rekodi zilizofutwa katika hifadhidata ya SAP. Unapofuta safu katika hifadhidata, inafutwa kimwili. Wale. uundaji wa delta ya mabadiliko kulingana na wakati wa mabadiliko haukuwezekana.

Bila shaka, SAP HCM ina taratibu za kurekodi mabadiliko ya data. Kwa mfano, kwa uhamisho unaofuata kwa mifumo ya mpokeaji, kuna viashiria vya mabadiliko vinavyorekodi mabadiliko yoyote na kwa misingi ambayo Idoc huundwa (kitu cha uhamisho kwa mifumo ya nje).

Mfano IDoc ya kubadilisha infotype 0302 kwa mfanyakazi aliye na nambari ya wafanyikazi 1251445:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Au kuweka kumbukumbu za mabadiliko ya data kwenye jedwali la DBTABLOG.

Mfano wa logi ya kufuta rekodi kwa ufunguo QK53216375 kutoka kwa jedwali la hrp1000:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Lakini mifumo hii haipatikani kwa data zote muhimu, na usindikaji wao katika kiwango cha seva ya maombi unaweza kutumia rasilimali nyingi. Kwa hivyo, kuwezesha kwa kiasi kikubwa kuingia kwenye meza zote muhimu kunaweza kusababisha uharibifu unaoonekana wa utendaji wa mfumo.

Tatizo kuu lililofuata lilikuwa meza zilizounganishwa. Muda wa kukadiria na data ya malipo katika toleo la RDBMS la SAP HCM huhifadhiwa kama seti ya majedwali yenye mantiki kwa kila mfanyakazi kwa kila hesabu. Jedwali hizi za kimantiki zimehifadhiwa kama data ya binary kwenye jedwali pcl2.

Kundi la Mishahara:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Data kutoka kwa jedwali zilizounganishwa haiwezi kuzingatiwa kama amri ya SQL, lakini inahitaji matumizi ya macros ya SAP HCM au moduli maalum za utendaji. Ipasavyo, kasi ya kusoma ya meza kama hizo itakuwa chini kabisa. Kwa upande mwingine, makundi hayo huhifadhi data ambayo inahitajika mara moja tu kwa mwezi - malipo ya mwisho na makadirio ya wakati. Kwa hivyo kasi katika kesi hii sio muhimu sana.

Kutathmini chaguzi za kuunda delta ya mabadiliko ya data, tuliamua pia kuzingatia chaguo la upakuaji kamili. Chaguo la kuhamisha gigabytes ya data isiyobadilika kati ya mifumo kila siku haiwezi kuonekana nzuri. Walakini, pia ina faida kadhaa - hakuna haja ya kutekeleza delta kwenye upande wa chanzo na kutekeleza upachikaji wa delta hii kwenye upande wa mpokeaji. Ipasavyo, gharama na muda wa utekelezaji hupunguzwa, na uaminifu wa ushirikiano huongezeka. Wakati huo huo, iliamua kuwa karibu mabadiliko yote katika SAP HR hutokea ndani ya upeo wa miezi mitatu kabla ya tarehe ya sasa. Kwa hivyo, iliamuliwa kuchagua upakuaji kamili wa kila siku wa data kutoka kwa SAP HR N miezi kabla ya tarehe ya sasa na upakuaji kamili wa kila mwezi. Kigezo cha N kinategemea jedwali maalum
na huanzia 1 hadi 15.

Mpango ufuatao ulipendekezwa kwa uchimbaji wa data:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Mfumo wa nje hutoa ombi na kutuma kwa SAP HCM, ambapo ombi hili huangaliwa kwa ukamilifu wa data na ruhusa za kufikia majedwali. Ikiwa hundi imefanikiwa, SAP HCM inaendesha programu inayokusanya data muhimu na kuihamisha kwenye suluhisho la ushirikiano wa Fuse. Fuse huamua mada inayohitajika katika Kafka na kuhamisha data huko. Ifuatayo, data kutoka kwa Kafka huhamishiwa kwa Stage Area GP.

Katika mlolongo huu, tunavutiwa na suala la kutoa data kutoka kwa SAP HCM. Hebu tuangalie kwa undani zaidi.

Mchoro wa mwingiliano wa SAP HCM-FUSE.

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Mfumo wa nje huamua wakati wa ombi la mwisho lililofanikiwa kwa SAP.
Mchakato unaweza kuzinduliwa na kipima muda au tukio lingine, ikiwa ni pamoja na kuweka muda wa kusubiri jibu na data kutoka kwa SAP na kuanzisha ombi la kurudia. Kisha hutoa ombi la delta na kuituma kwa SAP.

Data ya ombi inatumwa kwa mwili katika umbizo la json.
Mbinu http: POST.
Ombi la mfano:

Kuchota data kutoka kwa SAP HCM hadi kwenye maghala ya data yasiyo ya SAP

Huduma ya SAP inafuatilia ombi la ukamilifu, kufuata muundo wa sasa wa SAP, na upatikanaji wa ruhusa ya kufikia kwenye jedwali lililoombwa.

Katika kesi ya makosa, huduma inarudi jibu na msimbo unaofaa na maelezo. Udhibiti ukifaulu, huunda mchakato wa usuli ili kutoa sampuli, hutengeneza na kurejesha kitambulisho cha kipekee cha kipindi kwa usawazishaji.

Ikitokea kosa, mfumo wa nje huirekodi kwenye logi. Iwapo jibu limefaulu, hutuma kitambulisho cha kikao na jina la jedwali ambalo ombi lilifanywa.

Mfumo wa nje husajili kipindi cha sasa kuwa kimefunguliwa. Ikiwa kuna vipindi vingine vya jedwali hili, vitafungwa kwa kumbukumbu ya onyo.

Kazi ya usuli ya SAP inazalisha mshale kulingana na vigezo maalum na pakiti ya data ya ukubwa maalum. Ukubwa wa kundi ni idadi ya juu zaidi ya rekodi ambazo mchakato unasoma kutoka kwa hifadhidata. Kwa chaguo-msingi, inachukuliwa kuwa sawa na 2000. Ikiwa kuna rekodi zaidi katika sampuli ya database kuliko ukubwa wa pakiti iliyotumiwa, baada ya kusambaza pakiti ya kwanza, kizuizi kinachofuata kinaundwa na kukabiliana na sambamba na nambari ya pakiti iliyoongezeka. Nambari zinaongezwa kwa 1 na hutumwa kwa mfuatano madhubuti.

Ifuatayo, SAP hupitisha pakiti kama pembejeo kwa huduma ya wavuti ya mfumo wa nje. Na mfumo hufanya udhibiti kwenye pakiti inayoingia. Kipindi kilicho na kitambulisho kilichopokelewa lazima kisajiliwe katika mfumo na lazima kiwe katika hali wazi. Ikiwa nambari ya kifurushi > 1, mfumo unapaswa kurekodi upokeaji uliofaulu wa kifurushi kilichotangulia (package_id-1).

Ikiwa udhibiti umefanikiwa, mfumo wa nje huchanganua na kuhifadhi data ya jedwali.

Zaidi ya hayo, ikiwa alama ya mwisho iko kwenye kifurushi na ufuataji ulifanikiwa, moduli ya ujumuishaji inaarifiwa kuhusu kukamilika kwa uchakataji wa kipindi na moduli husasisha hali ya kipindi.

Ikitokea hitilafu ya udhibiti/ uchanganuzi, hitilafu huwekwa kwenye kumbukumbu na pakiti za kipindi hiki zitakataliwa na mfumo wa nje.

Vivyo hivyo, katika kesi kinyume, wakati mfumo wa nje unarudi kosa, umeingia na maambukizi ya pakiti huacha.

Ili kuomba data kwa upande wa SAP HΠ‘M, huduma ya ujumuishaji ilitekelezwa. Huduma hiyo inatekelezwa kwa mfumo wa ICF (Mfumo wa Mawasiliano ya Mtandao wa SAP - help.sap.com/viewer/6da7259a6c4b1014b7d5e759cc76fd22/7.01.22/en-US/488d6e0ea6ed72d5e10000000a42189c.html) Inakuruhusu kuuliza data kutoka kwa mfumo wa SAP HCM kwa kutumia majedwali mahususi. Wakati wa kuunda ombi la data, inawezekana kutaja orodha ya mashamba maalum na vigezo vya kuchuja ili kupata data muhimu. Wakati huo huo, utekelezaji wa huduma haimaanishi mantiki yoyote ya biashara. Algorithms ya kuhesabu delta, vigezo vya swala, ufuatiliaji wa uadilifu, nk pia hutekelezwa kwa upande wa mfumo wa nje.

Utaratibu huu hukuruhusu kukusanya na kusambaza data zote muhimu kwa masaa machache. Kasi hii iko kwenye hatihati ya kukubalika, kwa hivyo tunazingatia suluhisho hili kama la muda, ambalo lilifanya iwezekane kujaza hitaji la zana ya uchimbaji kwenye mradi.
Katika picha inayolengwa, ili kutatua tatizo la uchimbaji wa data, chaguo za kutumia mifumo ya CDC kama vile Oracle Golden Gate au zana za ETL kama vile SAP DS zinachunguzwa.

Chanzo: mapenzi.com

Kuongeza maoni