Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Fel y gwyddoch, mae SAP yn cynnig ystod lawn o feddalwedd ar gyfer cynnal data trafodion ac ar gyfer prosesu'r data hwn mewn systemau dadansoddi ac adrodd. Yn benodol, mae platfform SAP Business Warehouse (SAP BW) yn becyn cymorth ar gyfer storio a dadansoddi data gyda galluoedd technegol helaeth. Ar gyfer ei holl fanteision gwrthrychol, mae gan system SAP BW un anfantais sylweddol. Mae hon yn gost uchel o storio a phrosesu data, yn arbennig o amlwg wrth ddefnyddio SAP BW yn y cwmwl ar Hana.

Beth os byddwch chi'n dechrau defnyddio rhywfaint o gynnyrch nad yw'n SAP ac yn ddelfrydol cynnyrch OpenSource fel storfa? Fe wnaethom ni yn X5 Retail Group ddewis GreenPlum. Mae hyn, wrth gwrs, yn datrys mater cost, ond ar yr un pryd, mae materion yn codi ar unwaith a gafodd eu datrys bron yn ddiofyn wrth ddefnyddio SAP BW.

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Yn benodol, sut i adfer data o systemau ffynhonnell, sef atebion SAP yn bennaf?

HR Metrics oedd y prosiect cyntaf lle'r oedd angen datrys y broblem hon. Ein nod oedd creu ystorfa o ddata AD ac adeiladu adroddiadau dadansoddol ym maes gweithio gyda gweithwyr. Yn yr achos hwn, y brif ffynhonnell ddata yw system drafodion SAP HCM, lle cynhelir yr holl weithgareddau personél, sefydliadol a chyflog.

Echdynnu data

Yn SAP BW mae echdynwyr data safonol ar gyfer systemau SAP. Gall yr echdynwyr hyn gasglu'r data angenrheidiol yn awtomatig, monitro ei gyfanrwydd, a phennu deltas newid. Dyma, er enghraifft, y ffynhonnell ddata safonol ar gyfer priodoleddau gweithwyr 0EMPLOYEE_ATTR:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Canlyniad tynnu data ohono ar gyfer un gweithiwr:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Os oes angen, gellir addasu echdynnwr o'r fath i weddu i'ch gofynion eich hun neu gellir creu eich echdynnwr eich hun.

Y syniad cyntaf i godi oedd y posibilrwydd o'u hailddefnyddio. Yn anffodus, trodd hon yn dasg amhosibl. Gweithredir y rhan fwyaf o'r rhesymeg ar ochr SAP BW, ac nid oedd yn bosibl gwahanu'r echdynnwr yn y ffynhonnell oddi wrth SAP BW yn ddi-boen.

Daeth yn amlwg y byddai angen i ni ddatblygu ein mecanwaith ein hunain ar gyfer echdynnu data o systemau SAP.

Strwythur storio data yn SAP HCM

Er mwyn deall y gofynion ar gyfer mecanwaith o'r fath, yn gyntaf mae angen i ni benderfynu pa ddata sydd ei angen arnom.

Mae'r rhan fwyaf o ddata yn SAP HCM yn cael ei storio mewn tablau SQL gwastad. Yn seiliedig ar y data hwn, mae cymwysiadau SAP yn delweddu strwythurau sefydliadol, gweithwyr a gwybodaeth AD arall i'r defnyddiwr. Er enghraifft, dyma sut olwg sydd ar y strwythur trefniadol yn SAP HCM:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Yn gorfforol, mae coeden o'r fath yn cael ei storio mewn dau fwrdd - mewn gwrthrychau hrp1000 ac yn hrp1001 y cysylltiadau rhwng y gwrthrychau hyn.

Gwrthrychau “Adran 1” a “Swyddfa 1”:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Perthynas rhwng gwrthrychau:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Gall fod nifer enfawr o'r ddau fath o wrthrychau a mathau o gysylltiadau rhyngddynt. Mae yna gysylltiadau safonol rhwng gwrthrychau a rhai wedi'u haddasu ar gyfer eich anghenion penodol eich hun. Er enghraifft, mae perthynas safonol B012 rhwng uned sefydliadol a swydd amser llawn yn dynodi pennaeth adran.

Arddangosfa rheolwr yn SAP:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Storio mewn tabl cronfa ddata:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Mae data gweithwyr yn cael ei storio mewn tablau pa*. Er enghraifft, mae data ar ddigwyddiadau personél ar gyfer gweithiwr yn cael ei storio yn nhabl pa0000

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Fe wnaethom benderfynu y bydd GreenPlum yn cymryd data “amrwd”, h.y. copïwch nhw o dablau SAP. Ac yn uniongyrchol yn GreenPlum byddant yn cael eu prosesu a'u trosi'n wrthrychau ffisegol (er enghraifft, Adran neu Weithiwr) a metrigau (er enghraifft, cyfrif pennau cyfartalog).

Diffiniwyd tua 70 o dablau, a rhaid trosglwyddo data ohonynt i GreenPlum. Wedi hynny, dechreuon ni weithio allan dull o drosglwyddo'r data hwn.

Mae SAP yn cynnig nifer eithaf mawr o fecanweithiau integreiddio. Ond y ffordd hawsaf yw gwahardd mynediad uniongyrchol i'r gronfa ddata oherwydd cyfyngiadau trwyddedu. Felly, rhaid gweithredu'r holl lifau integreiddio ar lefel gweinydd y cais.
Y broblem nesaf oedd diffyg data am gofnodion a ddilëwyd yng nghronfa ddata SAP. Pan fyddwch chi'n dileu rhes yn y gronfa ddata, caiff ei dileu'n gorfforol. Y rhai. nid oedd yn bosibl ffurfio delta newid yn seiliedig ar amser y newid.

Wrth gwrs, mae gan SAP HCM fecanweithiau ar gyfer cofnodi newidiadau data. Er enghraifft, ar gyfer trosglwyddo dilynol i systemau derbynwyr, mae awgrymiadau newid sy'n cofnodi unrhyw newidiadau ac ar y sail y mae Idoc yn cael ei ffurfio (gwrthrych i'w drosglwyddo i systemau allanol).

IDoc enghreifftiol ar gyfer newid infotype 0302 ar gyfer cyflogai gyda rhif personél 1251445:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Neu gadw logiau o newidiadau data yn y tabl DBTABLOG.

Enghraifft o log ar gyfer dileu cofnod gyda'r allwedd QK53216375 o'r tabl hrp1000:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Ond nid yw'r mecanweithiau hyn ar gael ar gyfer yr holl ddata angenrheidiol, a gall eu prosesu ar lefel gweinydd y cais ddefnyddio cryn dipyn o adnoddau. Felly, gall galluogi logio'n aruthrol ar yr holl dablau angenrheidiol arwain at ddirywiad amlwg ym mherfformiad y system.

Y broblem fawr nesaf oedd tablau clystyrog. Mae data amcangyfrif amser a chyflogres yn fersiwn RDBMS o SAP HCM yn cael ei storio fel set o dablau rhesymegol ar gyfer pob gweithiwr ar gyfer pob cyfrifiad. Mae'r tablau rhesymegol hyn yn cael eu storio fel data deuaidd yn nhabl pcl2.

Clwstwr Cyflogres:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Ni ellir ystyried data o dablau clystyrog fel gorchymyn SQL, ond mae angen defnyddio macros SAP HCM neu fodiwlau swyddogaethol arbennig. Yn unol â hynny, bydd cyflymder darllen tablau o'r fath yn eithaf isel. Ar y llaw arall, mae clystyrau o'r fath yn storio data sydd ei angen unwaith y mis yn unig - cyflogres terfynol ac amcangyfrif amser. Felly nid yw cyflymder yn yr achos hwn mor hanfodol.

Wrth werthuso opsiynau ar gyfer ffurfio delta o newidiadau data, penderfynasom hefyd ystyried yr opsiwn o ddadlwytho'n llawn. Efallai na fydd yr opsiwn o drosglwyddo gigabeit o ddata digyfnewid rhwng systemau bob dydd yn edrych yn dda. Fodd bynnag, mae ganddo hefyd nifer o fanteision - nid oes angen gweithredu'r delta ar yr ochr ffynhonnell a gweithredu'r broses o ymgorffori'r delta hwn ar ochr y derbynnydd. Yn unol â hynny, mae'r gost a'r amser gweithredu yn cael eu lleihau, ac mae dibynadwyedd integreiddio yn cynyddu. Ar yr un pryd, penderfynwyd bod bron pob newid yn SAP AD yn digwydd o fewn gorwel o dri mis cyn y dyddiad presennol. Felly, penderfynwyd dewis lawrlwythiad llawn dyddiol o ddata o SAP HR N fisoedd cyn y dyddiad cyfredol a lawrlwythiad llawn misol. Mae'r paramedr N yn dibynnu ar y tabl penodol
ac yn amrywio o 1 i 15.

Cynigiwyd y cynllun canlynol ar gyfer echdynnu data:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Mae'r system allanol yn cynhyrchu cais ac yn ei anfon at SAP HCM, lle caiff y cais hwn ei wirio i weld a yw'r data'n gyflawn a'r caniatâd i gael mynediad at dablau. Os yw'r gwiriad yn llwyddiannus, mae SAP HCM yn rhedeg rhaglen sy'n casglu'r data angenrheidiol ac yn ei drosglwyddo i'r datrysiad integreiddio Fuse. Mae Fuse yn pennu'r pwnc gofynnol yn Kafka ac yn trosglwyddo'r data yno. Nesaf, trosglwyddir y data o Kafka i GP Area Area.

Yn y gadwyn hon, mae gennym ddiddordeb yn y mater o dynnu data o SAP HCM. Gadewch i ni edrych arno'n fwy manwl.

Diagram rhyngweithio SAP HCM-Fuse.

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Mae'r system allanol yn pennu amser y cais llwyddiannus diwethaf i SAP.
Gall y broses gael ei lansio gan amserydd neu ddigwyddiad arall, gan gynnwys terfyn amser i aros am ymateb gyda data o SAP a chychwyn cais arall. Yna mae'n cynhyrchu cais delta ac yn ei anfon i SAP.

Anfonir data'r cais at y corff ar ffurf json.
Dull http: POST.
Cais enghraifft:

Tynnu data o SAP HCM i warysau data nad ydynt yn SAP

Mae'r gwasanaeth SAP yn monitro'r cais am gyflawnrwydd, cydymffurfiad â'r strwythur SAP presennol, ac argaeledd caniatâd mynediad i'r tabl y gofynnwyd amdano.

Yn achos gwallau, mae'r gwasanaeth yn dychwelyd ymateb gyda'r cod a'r disgrifiad priodol. Os yw'r rheolaeth yn llwyddiannus, mae'n creu proses gefndir i gynhyrchu sampl, yn cynhyrchu ac yn dychwelyd id sesiwn unigryw ar yr un pryd.

Mewn achos o wall, mae'r system allanol yn ei gofnodi yn y log. Mewn achos o ymateb llwyddiannus, mae'n trosglwyddo id y sesiwn ac enw'r tabl y gwnaed y cais amdano.

Mae'r system allanol yn cofrestru'r sesiwn gyfredol fel un agored. Os oes sesiynau eraill ar gyfer y tabl hwn, cânt eu cau gyda rhybudd wedi'i gofnodi.

Mae swydd gefndir SAP yn cynhyrchu cyrchwr yn seiliedig ar y paramedrau penodedig a phecyn data o'r maint penodedig. Maint swp yw'r nifer uchaf o gofnodion y mae proses yn eu darllen o'r gronfa ddata. Yn ddiofyn, tybir ei fod yn hafal i 2000. Os oes mwy o gofnodion yn y sampl cronfa ddata na maint y pecyn a ddefnyddir, ar ôl trosglwyddo'r pecyn cyntaf, ffurfir y bloc nesaf gyda'r rhif pecyn gwrthbwyso a chynyddrannol cyfatebol. Cynyddir y niferoedd gan 1 a'u hanfon yn llym yn olynol.

Nesaf, mae SAP yn pasio'r pecyn fel mewnbwn i wasanaeth gwe y system allanol. Ac mae'r system yn perfformio rheolaethau ar y pecyn sy'n dod i mewn. Rhaid cofrestru sesiwn gyda'r ID a dderbyniwyd yn y system a rhaid iddo fod mewn statws agored. Os yw rhif y pecyn > 1, dylai'r system gofnodi derbyniad llwyddiannus y pecyn blaenorol (package_id-1).

Os yw'r rheolaeth yn llwyddiannus, mae'r system allanol yn dosrannu ac yn arbed data'r tabl.

Yn ogystal, os yw'r faner olaf yn bresennol yn y pecyn a bod cyfresoli yn llwyddiannus, hysbysir y modiwl integreiddio am gwblhau prosesu sesiwn yn llwyddiannus ac mae'r modiwl yn diweddaru statws y sesiwn.

Yn achos gwall rheoli/dosrannu, caiff y gwall ei gofnodi a bydd pecynnau ar gyfer y sesiwn hon yn cael eu gwrthod gan y system allanol.

Yn yr un modd, yn yr achos arall, pan fydd y system allanol yn dychwelyd gwall, caiff ei logio ac mae trosglwyddiad pecyn yn stopio.

I ofyn am ddata ar ochr SAP HСM, gweithredwyd gwasanaeth integreiddio. Mae'r gwasanaeth yn cael ei weithredu ar y fframwaith ICF (Fframwaith Cyfathrebu Rhyngrwyd SAP - help.sap.com/viewer/6da7259a6c4b1014b7d5e759cc76fd22/7.01.22/en-US/488d6e0ea6ed72d5e10000000a42189c.html). Mae'n eich galluogi i ymholi data o'r system SAP HCM gan ddefnyddio tablau penodol. Wrth greu cais data, mae'n bosibl nodi rhestr o feysydd penodol a pharamedrau hidlo er mwyn cael y data angenrheidiol. Ar yr un pryd, nid yw gweithredu'r gwasanaeth yn awgrymu unrhyw resymeg busnes. Mae algorithmau ar gyfer cyfrifo delta, paramedrau ymholiad, monitro cywirdeb, ac ati hefyd yn cael eu gweithredu ar ochr y system allanol.

Mae'r mecanwaith hwn yn caniatáu ichi gasglu a throsglwyddo'r holl ddata angenrheidiol mewn ychydig oriau. Mae'r cyflymder hwn ar fin derbyniol, felly rydym yn ystyried yr ateb hwn fel un dros dro, a oedd yn ei gwneud hi'n bosibl llenwi'r angen am offeryn echdynnu ar y prosiect.
Yn y llun targed, i ddatrys problem echdynnu data, mae opsiynau ar gyfer defnyddio systemau CDC fel Oracle Golden Gate neu offer ETL fel SAP DS yn cael eu harchwilio.

Ffynhonnell: hab.com

Ychwanegu sylw