SAP ABAP BDC: Mitä on erätiedonsiirto?
⚡ Älykäs yhteenveto
SAP ABAP BDC (Batch Data Communication) siirtää vanhoja tietoja R/3:een ajamalla vakiotapahtumia automaattisesti. Tällä sivulla selitetään eräsyöttöistunnot, klassiset ja puhelutapahtumamenetelmät, BDCDATA-rakenne, BDC_OPEN_GROUP-työnkulku ja eräsyöttötallennin.
Johdatus eräsyöttöön
Eräsyöttöä käytetään tyypillisesti tiedon siirtämiseen ei-R/3-järjestelmistä R/3-järjestelmiin tai tiedon siirtämiseen R/3-järjestelmien välillä.
Se on tiedonsiirtotekniikka, jonka avulla voit siirtää tietojoukkoja automaattisesti tapahtumiin kuuluville näytöille ja siten SAP järjestelmä. Eräsyöttöä ohjataan eräsyöttöistunnolla.
Eräsyöttöistunto
Ryhmittelee sarjan tapahtumakutsuja yhdessä syöttötietojen ja käyttäjän toimien kanssa. Eräsyöttöistuntoa voidaan käyttää dialogitapahtuman suorittamiseen eräsyötössä, jossa istunto käsittelee osan tai kaikki näytöt. Eräsyöttöistunnot tallennetaan tietokantaan tietokantataulukoina, ja niitä voidaan käyttää ohjelman sisällä sisäisinä taulukoina tapahtumia käytettäessä.
Huomioitavaa
- BDI toimii normaalisti SAP tapahtumat aivan kuten käyttäjä, mutta se suorittaa tapahtuman automaattisesti.Kaikki näytön tarkistukset ja liiketoimintalogiikkatarkistukset tehdään erätietojen syöttöä käytettäessä.
- Se soveltuu suurten tietomäärien syöttämiseen.
- Manuaalista vuorovaikutusta ei tarvita
Eräsyöttömenetelmät
SAP tarjoavat kaksi perusmenetelmää vanhojen tietojen siirtämiseksi R/3-järjestelmään.
- Klassinen eräsyöttötapa.
- Puhelutapahtumatapa.
Klassinen eräsyöttötapa
Tässä menetelmässä ABAP/4-ohjelma lukee ulkoiset tiedot SAP Järjestelmä ja tallentaa eräsyöttöistunnossa.
Kun olet luonut istunnon, voit suorittaa istunnon suorittaaksesi sen SAP kauppa siinä.
Tämä menetelmä käyttää funktiomoduuleja BDC_ OPEN, BDC_INSERT ja BDC_CLOSE
Eräsyöttöistunto voidaan käsitellä kolmella tavalla
- Etualalla
- Taustalla
- Käsittelyn aikana virhenäytöllä
Sinun tulee käsitellä eräsyöttöistuntoja etualalla tai käyttämällä virhenäyttöä, jos haluat testata tiedonsiirtoa.
Jos haluat suorittaa tiedonsiirron tai testata sen suorituskykyä, sinun tulee käsitellä istunnot taustalla.
Huomioitavaa klassisesta eräsyöttömenetelmästä
- Synchroninen käsittely
- Siirrä tietoja useille tapahtumille.
- Synchronous tietokannan päivitys.
- Eräsyöttöprosessiloki luodaan jokaiselle istunnolle.
- Istuntoa ei voi luoda rinnakkain.
Puhelutapahtumatapa.
Tässä menetelmässä ABAP/4-ohjelma suorittaa CALL TRANSACTION USING -käskyn SAP liiketoimi.
Koko eräsyöttöprosessi tapahtuu verkossa ohjelmassa
Huomautuksia:
- Nopeampi tietojen käsittely
- Asynkroninen käsittely
- Siirrä tiedot yhdestä tapahtumasta.
- Eräsyötteen käsittelylokia ei luoda.
Klassinen eräsyöttö vs. puhelutapahtuma
Nämä kaksi menetelmää johtavat samaan tapahtumaan, mutta eroavat toisistaan nopeuden, lokitietojen ja virheiden käsittelyn suhteen. Alla oleva taulukko näyttää, milloin kumpikin on oikea valinta.
| Kriteeri | Klassinen eräsyöttö | Puhelutapahtuma |
|---|---|---|
| Tekniikka | BDC_OPEN_GROUP, BDC_INSERT, BDC_CLOSE_GROUP | PUHELUTAPAHTUMAN KÄYTTÖ |
| Käsittely | Synchronous, ajaa myöhemmin SM35:stä | Toimii verkossa, ohjelmassa |
| Liiketoimet | Useita tapahtumia yhden istunnon aikana | Yksi tapahtuma puhelua kohden |
| Kirjaudu | Istuntoa kohden luodaan automaattisesti prosessiloki. | Ei lokia, ohjelma kerää viestit |
| Nopeus | Hitaampi, mutta vakaa ja uudelleenkäynnistettävä | Nopeampi |
| Parasta | Suuret, kertaluonteiset vanhat lataukset, joiden on oltava auditoitavissa | Yhden asiakirjan interaktiivinen tai nopea siirto |
Menetelmien vertailun jälkeen seuraavassa osiossa esitetään projektin yleinen menettelytapa.
Eräsyöttömenettelyt
Noudatat yleensä seuraavia vaiheita kehittääksesi eräsyöttöä organisaatiollesi
- Vanhojen tietojen analyysi. Määritä, kuinka siirrettävät tiedot kartoitetaan SAP Rakenne. Huomioi myös tarvittavat tietotyypin tai datan pituuden muunnokset.
- Tuottaa SAP tietorakenteet käytettäväksi vientiohjelmissa.
- Vie tiedot peräkkäiseen tiedostoon. Huomaa, että ennalta määritetty merkkimuoto vaaditaan SAP eräsyöttöohjelmat.
- Jos SAP toimitettuja BDC-ohjelmia ei käytetä, koodaa oma eräsyöttöohjelmasi. Valitse sopiva eräsyöttötapa tilanteen mukaan.
- Käsittele tiedot ja lisää ne SAP järjestelmä.
- Analysoi prosessiloki. Käytä ohjelmasi keräämiä viestejä CALL TRANSACTION -menetelmässä, jossa oikeaa lokia ei luoda.
- Korjaa ja käsittele virheelliset tiedot uudelleen prosessianalyysin tuloksista.
BDC-ohjelman kirjoittaminen
Voit noudattaa seuraavaa prosessia BDC-ohjelman kirjoittamisessa
- Analysoi tapahtuma(t) eräsyötetietojen käsittelemiseksi.
- Päätä käytettävä eräsyöttötapa.
- Lue tiedot peräkkäisestä tiedostosta
- Suorita tietojen muunnos tai virheiden tarkistus.
- Tietojen tallentaminen eräsyöttörakenteeseen, BDCDATA.
- Luo eräsyöttöistunto klassiselle eräsyötölle tai käsittele tiedot suoraan CALL TRANSACTION USING -käskyllä.
Eräsyöttötietorakenne
Eräsyöttötietorakenteen ilmoitus
DATA : BEGIN OF < bdc table> OCCURS <occurs parameters>. INCLUDE STRUCTURE BDCDATA. DATA:END OF <bdc table>.
| Kenttä nimi | Tyyppi | Pituus | Tuotetiedot |
|---|---|---|---|
| OHJELMA | HIILTYÄ | 8 | Moduuliallas |
| DYNPRO | NUMC | 4 | Dynpro numero |
| DYNBEGIN | HIILTYÄ | 1 | Dynpron käynnistäminen |
| FNAM | HIILTYÄ | 35 | Kenttä nimi |
| FVAL | HIILTYÄ | 80 | Kentän arvo |
Tietyn näytön tietojen kenttien järjestyksellä ei ole mitään merkitystä
Huomautukset
- Kun täytät BDC-tietoja, muista ottaa huomioon käyttäjäasetukset. Tämä on erityisen tärkeää täytettäessä kenttiä, jotka sisältävät numeroita (kuten määrä, summa). Käyttäjäasetukset määräävät, mikä on ryhmän nimi.ping numeroiden merkki Esim.: Luku viisikymmentätuhatta voidaan kirjoittaa muodossa 50 000,00 tai 50 000,00 käyttäjän asetuksista riippuen.
- Tiivistä FVAL-kenttä määrä- ja määräkentille niin, että ne ovat vasemmalle tasattuina.
- Huomaa, että kaikkia BDC:n kautta täyttämiäsi kenttiä tulee käsitellä merkkityyppisinä kenttinä BDC-tietotaulukkoa täytettäessä.
- Joissakin näytöissä, kun täytät arvoja taulukon ohjausobjektissa BDC:tä käyttämällä, sinun on huomioitava, kuinka monta riviä on näytön oletuskoossa, ja koodittava niin monta riviä. Jos sinun on täytettävä enemmän rivejä, sinun on koodattava "Page down" -toiminto, kuten tekisit, kun täytät taulukon ohjausobjektin manuaalisesti.
- Yllä olevassa skenaariossa näkyvien rivien määrä vaihtelee käyttäjän käyttämän näytön koon mukaan. Koodaa siis aina vakionäyttökoko ja varmista, että BDC toimii aina normaalikokoisena riippumatta siitä, millaisena käyttäjä pitää näytön kokonsa.
Eräsyöttöistunnon luominen
- Avaa eräsyöttöistunto käyttämällä toimintomoduulia BDC_OPEN_GROUP.
- Jokaiselle istunnon tapahtumalle:
- Täytä BDCDATA kaikkien tapahtumassa käsiteltyjen ruutujen ja kenttien arvoilla.
- Siirrä tapahtuma istuntoon BDC_INSERT:llä.
- Sulje eräsyöttöistunto BDC_CLOSE_GROUP:lla
Esimerkki: BDC käyttäen puhelutapahtumaa
Alla oleva ohjelma näyttää kutsutapahtumametodin kokonaisuudessaan. Se muodostaa BDCDATA-taulukon tapahtuman kahdelle näytölle ja suorittaa sen N-tilassa (ei näyttöä) virhetaulukon kanssa, jotta virheistä voidaan raportoida.
REPORT z_bdc_call_transaction. DATA: lt_bdcdata TYPE STANDARD TABLE OF bdcdata, ls_bdcdata TYPE bdcdata, lt_messages TYPE STANDARD TABLE OF bdcmsgcoll. * Helper that appends one BDCDATA line FORM bdc_field USING p_fnam p_fval. CLEAR ls_bdcdata. ls_bdcdata-fnam = p_fnam. ls_bdcdata-fval = p_fval. APPEND ls_bdcdata TO lt_bdcdata. ENDFORM. * Screen 1: start the dynpro, then fill the fields CLEAR ls_bdcdata. ls_bdcdata-program = 'SAPMV45A'. ls_bdcdata-dynpro = '0101'. ls_bdcdata-dynbegin = 'X'. APPEND ls_bdcdata TO lt_bdcdata. PERFORM bdc_field USING 'VBAK-AUART' 'OR'. PERFORM bdc_field USING 'BDC_OKCODE' '/00'. * Run the transaction: mode N = no display, update S = synchronous CALL TRANSACTION 'VA01' USING lt_bdcdata MODE 'N' UPDATE 'S' MESSAGES INTO lt_messages. IF sy-subrc <> 0. * Read lt_messages to report the errors that occurred ENDIF.
💡 Vinkki: MODE-parametri ohjaa näyttöä: A näyttää kaikki näytöt, E pysähtyy vain virheen sattuessa ja N toimii äänettömästi. Käytä E:tä testauksen aikana ja N:ää tuotantokuormalle.
Eräsyöttötallennin
Eräsyöttötallennin (Järjestelmä > Palvelut > Eräsyöttö > Tallennin) tallentaa manuaalisesti syötetyt tapahtumat ja luo eräsyöttöistunnon, joka voidaan suorittaa myöhemmin SM35:llä.
- Aloita eräsyötön tallennin valitsemalla Eräsyötön aloitusnäytöstä Tallennus-painike.
- Tallennuksen nimi on käyttäjän määrittämä nimi ja se voi vastata eräsyöttöistunnon nimeä, joka voidaan luoda tallennuksesta.
- Anna SAP tapahtuma ja aloita tapahtuman kirjaaminen.
- Kun olet lähettänyt viestin a SAP tapahtuma, valitse joko Hae tapahtuma ja Tallenna lopettaaksesi tallennuksen tai Seuraava tapahtuma ja kirjaa toinen tapahtuma.
- Kun olet tallentanut tallenteen, voit luoda tallennuksesta eräsyöttöistunnon ja/tai luoda tallennuksesta eräsyöttöohjelman.
- Luomaasi eräsyöttöistuntoa voidaan nyt analysoida aivan kuten mitä tahansa muuta eräsyöttöistuntoa.
- Eräsyötteen tallentimen toiminnon tuottama ohjelma on tehokas työkalu tietorajapinnan ohjelmoijalle. Se tarjoaa vankan pohjan, jota voidaan sitten muuttaa asiakkaan tarpeiden mukaan.
⚠️ Varoitus: Tallennus tallentaa näyttösekvenssin täsmälleen sellaisena kuin se tapahtui, joten näyttöä, joka näkyy vain tiettyjen tietojen, kuten keskeneräisyysponnahdusikkunan, yhteydessä, ei tallenneta. Testaa luotu ohjelma aina tiedoilla, jotka käynnistävät kaikki valinnaiset näytöt.




