Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Sama sa imong nahibal-an, ang SAP nagtanyag sa usa ka bug-os nga han-ay sa software alang sa pagmentinar sa transactional data ug sa pagproseso niini nga datos sa pagtuki ug mga sistema sa pagreport. Sa partikular, ang plataporma sa SAP Business Warehouse (SAP BW) usa ka toolkit alang sa pagtipig ug pag-analisar sa datos nga adunay daghang teknikal nga kapabilidad. Alang sa tanan nga katuyoan nga bentaha niini, ang sistema sa SAP BW adunay usa ka hinungdanon nga kakulangan. Kini usa ka taas nga gasto sa pagtipig ug pagproseso sa datos, labi na nga mamatikdan kung gigamit ang cloud-based SAP BW sa Hana.

Unsa kaha kung magsugod ka sa paggamit sa pipila nga dili SAP ug labi nga usa ka produkto sa OpenSource ingon pagtipig? Kami sa X5 Retail Group mipili sa GreenPlum. Kini, siyempre, nagsulbad sa isyu sa gasto, apan sa samang higayon, ang mga isyu mitungha dayon nga nasulbad halos pinaagi sa default sa paggamit sa SAP BW.

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Sa partikular, kung giunsa pagkuha ang datos gikan sa mga sistema sa gigikanan, nga kasagaran mga solusyon sa SAP?

Ang HR Metrics mao ang unang proyekto diin gikinahanglan ang pagsulbad niini nga problema. Ang among katuyoan mao ang paghimo usa ka repositoryo sa datos sa HR ug paghimo og analytical nga pagreport sa lugar sa pagtrabaho kauban ang mga empleyado. Sa kini nga kaso, ang panguna nga gigikanan sa datos mao ang sistema sa transaksyon sa SAP HCM, diin ang tanan nga mga kawani, organisasyonal ug mga kalihokan sa suweldo gihimo.

Pagkuha sa datos

Sa SAP BW adunay mga standard data extractors alang sa SAP system. Kini nga mga extractor awtomatik nga makakolekta sa gikinahanglan nga datos, makamonitor sa integridad niini, ug makatino sa pagbag-o sa mga delta. Dinhi, pananglitan, ang sukaranan nga tinubdan sa datos alang sa mga hiyas sa empleyado 0EMPLOYEE_ATTR:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Ang resulta sa pagkuha sa datos gikan niini alang sa usa ka empleyado:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Kung gikinahanglan, ang ingon nga usa ka extractor mahimong usbon aron mohaum sa imong kaugalingon nga mga kinahanglanon o ang imong kaugalingon nga extractor mahimo nga mahimo.

Ang unang ideya nga mitungha mao ang posibilidad sa paggamit niini pag-usab. Ikasubo, kini nahimo nga usa ka imposible nga buluhaton. Kadaghanan sa lohika gipatuman sa SAP BW nga bahin, ug dili posible nga walay sakit nga pagbulag sa extractor sa tinubdan gikan sa SAP BW.

Nahimong klaro nga kinahanglan namon nga magpalambo sa among kaugalingon nga mekanismo sa pagkuha sa datos gikan sa mga sistema sa SAP.

Ang istruktura sa pagtipig sa datos sa SAP HCM

Aron masabtan ang mga kinahanglanon alang sa ingon nga mekanismo, kinahanglan una naton mahibal-an kung unsang datos ang kinahanglan naton.

Kadaghanan sa datos sa SAP HCM gitipigan sa patag nga mga lamesa sa SQL. Pinasukad sa kini nga datos, ang mga aplikasyon sa SAP nagtan-aw sa mga istruktura sa organisasyon, empleyado ug uban pang impormasyon sa HR sa tiggamit. Pananglitan, kini ang hitsura sa istruktura sa organisasyon sa SAP HCM:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Sa pisikal, ang ingon nga kahoy gitipigan sa duha ka mga lamesa - sa hrp1000 nga mga butang ug sa hrp1001 ang mga koneksyon tali sa kini nga mga butang.

Mga butang nga "Departamento 1" ug "Opisina 1":

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Relasyon tali sa mga butang:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Adunay mahimo nga usa ka dako nga gidaghanon sa duha ka matang sa mga butang ug mga matang sa mga koneksyon tali kanila. Adunay parehas nga mga sumbanan nga koneksyon tali sa mga butang ug gipahiangay alang sa imong kaugalingon nga piho nga mga panginahanglanon. Pananglitan, ang sumbanan nga B012 nga relasyon tali sa usa ka yunit sa organisasyon ug usa ka full-time nga posisyon nagpaila sa pangulo sa usa ka departamento.

Gipakita sa manager sa SAP:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Pagtipig sa usa ka lamesa sa database:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Ang datos sa empleyado gitipigan sa pa* nga mga lamesa. Pananglitan, ang datos sa mga panghitabo sa kawani alang sa usa ka empleyado gitipigan sa lamesa pa0000

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Nakahukom kami nga ang GreenPlum mokuha sa "hilaw" nga datos, i.e. kopyaha lang kini gikan sa mga lamesa sa SAP. Ug direkta sa GreenPlum sila maproseso ug mabag-o sa pisikal nga mga butang (pananglitan, Departamento o Empleyado) ug mga sukatan (pananglitan, kasagaran nga ihap sa mga tawo).

Mga 70 ka mga lamesa ang gihubit, ang datos gikan diin kinahanglan ibalhin sa GreenPlum. Pagkahuman nagsugod kami sa pagtrabaho sa usa ka pamaagi alang sa pagpadala niini nga datos.

Nagtanyag ang SAP og medyo dako nga gidaghanon sa mga mekanismo sa paghiusa. Apan ang labing kadali nga paagi mao nga ang direktang pag-access sa database gidili tungod sa mga pagdili sa paglilisensya. Sa ingon, ang tanan nga mga agos sa panagsama kinahanglan ipatuman sa lebel sa server sa aplikasyon.
Ang sunod nga problema mao ang kakulang sa datos bahin sa mga natangtang nga mga rekord sa database sa SAP. Kung imong tangtangon ang usa ka laray sa database, kini pisikal nga mapapas. Mga. ang pagporma sa usa ka pagbag-o nga delta base sa panahon sa pagbag-o dili mahimo.

Siyempre, ang SAP HCM adunay mga mekanismo sa pagrekord sa mga pagbag-o sa datos. Pananglitan, alang sa sunod nga pagbalhin sa mga sistema sa nakadawat, adunay mga pointer sa pagbag-o nga nagrekord sa bisan unsang mga pagbag-o ug kung diin naporma ang usa ka Idoc (usa ka butang alang sa pagbalhin sa mga eksternal nga sistema).

Pananglitan IDoc alang sa pagbag-o sa infotype 0302 alang sa usa ka empleyado nga adunay numero sa kawani 1251445:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

O pagtipig sa mga log sa mga pagbag-o sa datos sa DBTABLOG table.

Usa ka pananglitan sa usa ka log alang sa pagtangtang sa usa ka rekord nga adunay yawe nga QK53216375 gikan sa hrp1000 nga lamesa:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Apan kini nga mga mekanismo dili magamit alang sa tanan nga kinahanglan nga datos, ug ang ilang pagproseso sa lebel sa aplikasyon sa server mahimo’g magamit ang daghang mga kapanguhaan. Busa, ang kaylap nga pagpagana sa pag-log sa tanang gikinahanglan nga mga lamesa mahimong mosangpot sa usa ka mamatikdan nga pagkadaot sa pasundayag sa sistema.

Ang sunod nga dagkong problema mao ang clustered tables. Ang pagbanabana sa oras ug datos sa payroll sa RDBMS nga bersyon sa SAP HCM gitipigan isip usa ka set sa lohikal nga mga lamesa alang sa matag empleyado alang sa matag kalkulasyon. Kini nga mga lohikal nga mga lamesa gitipigan ingon binary data sa lamesa nga pcl2.

Payroll Cluster:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Ang datos gikan sa mga clustered tables dili makonsiderar nga SQL command, apan nagkinahanglan sa paggamit sa SAP HCM macros o espesyal nga function modules. Tungod niini, ang katulin sa pagbasa sa ingon nga mga lamesa gamay ra. Sa pikas bahin, ang ingon nga mga kumpol nagtipig mga datos nga gikinahanglan kausa sa usa ka bulan - katapusan nga suweldo ug pagbanabana sa oras. Busa ang katulin niini nga kaso dili kaayo kritikal.

Ang pagtimbang-timbang sa mga kapilian alang sa pagporma sa usa ka delta sa mga pagbag-o sa datos, nakahukom kami nga ikonsiderar usab ang kapilian sa hingpit nga pagdiskarga. Ang kapilian sa pagbalhin sa gigabytes sa wala mausab nga datos tali sa mga sistema matag adlaw mahimong dili maayo tan-awon. Bisan pa, kini usab adunay daghang mga bentaha - dili kinahanglan nga ipatuman ang delta sa gigikanan nga bahin ug ipatuman ang pag-embed sa kini nga delta sa bahin sa tigdawat. Tungod niini, ang gasto ug oras sa pagpatuman gipakunhod, ug ang pagkakasaligan sa panagsama nagdugang. Sa samang higayon, nadeterminar nga halos tanang kausaban sa SAP HR mahitabo sulod sa tulo ka bulan sa wala pa ang petsa karon. Sa ingon, nakahukom nga mopili alang sa usa ka adlaw-adlaw nga bug-os nga pag-download sa datos gikan sa SAP HR N mga bulan sa wala pa ang karon nga petsa ug usa ka binulan nga bug-os nga pag-download. Ang N parameter nagdepende sa piho nga lamesa
ug gikan sa 1 hangtod 15.

Ang mosunud nga laraw gisugyot alang sa pagkuha sa datos:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Ang eksternal nga sistema nagmugna og usa ka hangyo ug gipadala kini sa SAP HCM, diin kini nga hangyo gisusi alang sa pagkakompleto sa datos ug mga permiso sa pag-access sa mga lamesa. Kung malampuson ang tseke, ang SAP HCM nagpadagan ug programa nga nagkolekta sa gikinahanglan nga datos ug gibalhin kini sa solusyon sa panagsama sa Fuse. Gitino sa fuse ang gikinahanglan nga hilisgutan sa Kafka ug gibalhin ang datos didto. Sunod, ang datos gikan sa Kafka gibalhin sa Stage Area GP.

Niini nga kadena, interesado kami sa isyu sa pagkuha sa datos gikan sa SAP HCM. Atong tan-awon kini sa mas detalyado.

SAP HCM-FUSE interaction diagram.

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Ang eksternal nga sistema nagtino sa oras sa katapusang malampuson nga hangyo sa SAP.
Ang proseso mahimong gilansad sa usa ka timer o uban pang panghitabo, lakip ang pagtakda sa usa ka timeout aron maghulat alang sa usa ka tubag nga adunay data gikan sa SAP ug magsugod sa usa ka gisubli nga hangyo. Dayon kini makamugna og delta request ug ipadala kini sa SAP.

Ang datos sa hangyo gipadala sa lawas sa format nga json.
Pamaagi http: POST.
Pananglitan nga hangyo:

Pagkuha sa datos gikan sa SAP HCM ngadto sa non-SAP data bodega

Ang serbisyo sa SAP nagmonitor sa hangyo alang sa pagkakompleto, pagsunod sa kasamtangan nga istruktura sa SAP, ug pagkabaton sa pagtugot sa pag-access sa gihangyo nga lamesa.

Kung adunay mga sayup, ang serbisyo nagbalik usa ka tubag nga adunay angay nga code ug paghulagway. Kung malampuson ang pagkontrol, nagmugna kini usa ka proseso sa background aron makamugna usa ka sample, makamugna ug dungan nga ibalik ang usa ka talagsaon nga session id.

Kung adunay sayup, ang eksternal nga sistema nagrekord niini sa log. Sa kaso sa usa ka malampuson nga tubag, kini nagpadala sa session id ug ang ngalan sa lamesa diin ang hangyo gihimo.

Ang eksternal nga sistema nagrehistro sa kasamtangan nga sesyon nga bukas. Kung adunay uban nga mga sesyon alang niini nga lamesa, sila sirado nga adunay usa ka pasidaan nga natala.

Ang trabaho sa background sa SAP nagmugna og usa ka cursor base sa gitakda nga mga parameter ug usa ka pakete sa datos sa gitakda nga gidak-on. Ang gidak-on sa batch mao ang pinakataas nga gidaghanon sa mga rekord nga gibasa sa usa ka proseso gikan sa database. Pinaagi sa default, kini gituohan nga katumbas sa 2000. Kung adunay daghang mga rekord sa sample sa database kaysa sa gigamit nga gidak-on sa pakete, pagkahuman sa pagpadala sa una nga pakete, ang sunod nga bloke naporma nga adunay katumbas nga offset ug gidugangan nga numero sa pakete. Ang mga numero gidugangan sa 1 ug gipadala nga higpit nga sunud-sunod.

Sunod, gipasa sa SAP ang pakete isip input sa serbisyo sa web sa eksternal nga sistema. Ug ang sistema naghimo sa mga kontrol sa umaabot nga pakete. Ang usa ka sesyon nga adunay nadawat nga id kinahanglan nga narehistro sa sistema ug kini kinahanglan nga bukas nga kahimtang. Kung ang numero sa pakete> 1, kinahanglan nga irekord sa sistema ang malampuson nga resibo sa miaging pakete (package_id-1).

Kung malampuson ang pagkontrol, ang eksternal nga sistema mag-parse ug magtipig sa datos sa lamesa.

Dugang pa, kung ang katapusan nga bandila anaa sa package ug ang serialization malampuson, ang integration module gipahibalo mahitungod sa malampuson nga pagkompleto sa session processing ug ang module nag-update sa session status.

Sa kaso sa usa ka control/parsing error, ang sayop gi-log ug ang mga pakete alang niini nga sesyon isalikway sa eksternal nga sistema.

Ingon usab, sa kaatbang nga kaso, kung ang eksternal nga sistema nagbalik usa ka sayup, kini gi-log ug ang pagpasa sa packet mohunong.

Aron mangayo og datos sa SAP HΠ‘M nga bahin, usa ka serbisyo sa integrasyon ang gipatuman. Ang serbisyo gipatuman sa ICF framework (SAP Internet Communication Framework - help.sap.com/viewer/6da7259a6c4b1014b7d5e759cc76fd22/7.01.22/en-US/488d6e0ea6ed72d5e10000000a42189c.html). Gitugotan ka niini sa pagpangutana sa datos gikan sa sistema sa SAP HCM gamit ang piho nga mga lamesa. Kung maghimo usa ka hangyo sa datos, posible nga ipiho ang usa ka lista sa piho nga mga natad ug mga parameter sa pagsala aron makuha ang kinahanglan nga datos. Sa parehas nga oras, ang pagpatuman sa serbisyo wala magpasabut sa bisan unsang lohika sa negosyo. Ang mga algorithm alang sa pagkalkula sa delta, mga parameter sa pangutana, pag-monitor sa integridad, ug uban pa gipatuman usab sa kilid sa eksternal nga sistema.

Kini nga mekanismo nagtugot kanimo sa pagkolekta ug pagpadala sa tanang gikinahanglan nga datos sulod sa pipila ka oras. Kini nga katulin hapit na madawat, mao nga giisip namon kini nga solusyon ingon usa ka temporaryo, nga nagpaposible sa pagpuno sa panginahanglan alang sa usa ka himan sa pagkuha sa proyekto.
Sa target nga litrato, aron masulbad ang problema sa pagkuha sa datos, ang mga kapilian sa paggamit sa mga sistema sa CDC sama sa Oracle Golden Gate o mga gamit sa ETL sama sa SAP DS gisusi.

Source: www.habr.com

Idugang sa usa ka comment