Kas ir RFC?
RFC ir mehānisms, kas ļauj biznesa lietojumprogrammām sazināties un apmainīties ar informāciju (iepriekš noteiktos formātos) ar citām sistēmām. RFC nozīmē “Attālās funkcijas izsaukums”
RFC sastāv no divām saskarnēm:
- Zvanīšanas saskarne ABAP programmām
- Zvanīšanas saskarne programmām, kas nav SAP.
Jebkura ABAP programma var izsaukt attālo funkciju, izmantojot paziņojumu CALL FUNCTION… DESTINATION . MĒRĶIS parametrs stāsta SAP sistēmu, ka sauc funkcija darbojas sistēmā, izņemot zvanītājiem.Sintakse-
ZVANĪŠANAS FUNKCIJA 'attālinātā funkcija'MĒRĶIS galamērķisEKSPORTĒŠANA f1 =Importēt f2 =TABULAS t1 =IZŅĒMUMI
Loģiskie galamērķi tiek definēti, izmantojot transakciju SM59, un tiek saglabāti RFC saskarnes tabulā RFCDES
funkcijas
- Visu parametru datu pārveidošana par attālajā sistēmā nepieciešamo attēlojumu
- Zvanīšana uz saziņas kārtību, kas nepieciešama sarunai ar attālo sistēmu.
- Rīkoties par sakaru kļūdām un, ja vēlaties, paziņot zvanītājam (izmantojot parametru EXCEPTIONS CALL FUNCTION).
RFC ir SAP protokols, kas paredzēts sakaru apstrādei starp sistēmām, lai vienkāršotu saistīto programmēšanu. Tas ir funkcijas moduļa izsaukšanas process, kas atrodas citā mašīnā nekā zvanītāja programma. RFC var izmantot, lai arī tajā pašā mašīnā izsauktu citu programmu, taču parasti to izmanto, ja funkciju “moduļi / programmas” izsaukšana un izsaukšana darbojas atsevišķās mašīnās.
SAP RFC interfeisa sistēmu izmanto, lai izveidotu RFC savienojumus starp dažādām SAP sistēmām, kā arī starp SAP un ārēju (ārpus SAP) sistēmu.
Jāzina informācija par RFC
- Datu pārsūtīšanai starp sistēmām SAP izmanto CPIC (Common Programming Interface for Communication) protokolu. Tas ir SAP specifiskais protokols. Attālināto funkciju izsaukums (RFC) ir sakaru interfeiss, kas balstīts uz CPI-C, bet ar vairāk funkcijām un vieglāk lietojams lietojumprogrammu programmētājiem
- RFC bibliotēkas funkcijas atbalsta C programmēšanas valodu un Visual Basic (Windows platformās)
- RFC savienojumus vienmēr var izmantot visā sistēmā. Tas nozīmē, ka RFC savienojumu, kuru esat definējis klientā 000, var izmantot arī no klienta 100 (bez jebkādas atšķirības).
- RFC ir protokols īpašu apakšprogrammu (funkciju moduļu) izsaukšanai tīklā. Funkciju moduļi ir salīdzināmi ar C funkcijām vai PASCAL procedūrām. Viņiem ir noteikta saskarne, caur kuru var apmainīties ar datiem, tabulām un atgriešanās kodiem. Funkciju moduļi tiek pārvaldīti R / 3 sistēmā savā funkciju bibliotēkā, ko sauc par funkciju veidotāju.
- Funkciju veidotājs (darījums SE37) nodrošina lietojumprogrammu programmētājiem noderīgu vidi funkciju moduļu programmēšanai, dokumentēšanai un testēšanai, kurus var izsaukt lokāli, kā arī attālināti. R / 3 sistēma automātiski ģenerē papildu kodu (RFC stublāju), kas nepieciešams attāliem zvaniem.
- Jūs uzturat parametrus RFC savienojumiem, izmantojot transakciju SM59. R / 3 sistēma tiek piegādāta arī ar RFC-SDK (programmatūras izstrādes komplektu), kas izmanto plašas C bibliotēkas, lai ļautu ārējām programmām pieslēgties R / 3 sistēmai.
- Vienīgā atšķirība starp funkciju moduļa tālvadības zvanu uz citu serveri un vietējo izsaukumu ir īpašs parametrs (galamērķis), kas norāda mērķa serveri, kurā programma jāizpilda.
RFC priekšrocības:
RFC palīdz samazināt programmētāju centienus, ļaujot viņiem izvairīties no moduļu un metožu atkārtotas izstrādes attālās sistēmās. Tas ir pietiekami spējīgs:
- Konvertējiet datus tālvadības (mērķa) sistēmā saprotamā formātā.
- Konvertējiet datus tālvadības (mērķa) sistēmā saprotamā formātā.
- Izsauciet noteiktas kārtības, kas nepieciešamas, lai sāktu saziņu ar attālo sistēmu.
- Rīkojieties ar kļūdām, kas var rasties saziņas procesā.
RFC veidi:
Sinhrona
Nepieciešams, lai sakaru vai datu pārsūtīšanas laikā būtu pieejamas sistēmas (klients un serveris). Tas ir visizplatītākais veids un ir nepieciešams, ja rezultāts ir nepieciešams tūlīt pēc sRFC izpildes.
sRFC ir saziņas līdzeklis starp sistēmām, kur nepieciešami apstiprinājumi. Avota sistēmas resursi gaida mērķa sistēmu un nodrošina, ka tie piegādā ziņojumu / datus ar ACKD. Dati ir konsekventi un uzticami saziņai.
Jautājums ir, ja mērķa sistēma nav pieejama, avota sistēmas resursi gaida, kamēr mērķa sistēma ir pieejama. Tas var novest pie tā, ka avota sistēmas procesi mērķsistēmās pāriet miega / RFC / CPIC režīmā un tādējādi bloķē šos resursus.
Izmanto
- Saziņai starp sistēmām
- Saziņai starp SAP Web Application Server un SAP GUI
Asinhrona
Tā ir saziņa starp sistēmām, kur apstiprinājumi nav nepieciešami (tas ir līdzīgi pastkaršu piegādei). Tas neprasa, lai abas sistēmas būtu pieejamas izpildes laikā, un rezultāts nav nekavējoties jānosūta atpakaļ zvanīšanas sistēmai. .Avota sistēmas resurss negaida mērķa sistēmu, jo tie piegādā ziņojumu / datus, negaidot nekādu apstiprinājumu. Tas nav uzticams saziņai, jo dati var tikt zaudēti, ja mērķa sistēma nav pieejama. Izmanto -
- Saziņai starp sistēmām
- Paralēlai apstrādei
Darījuma
Tā ir īpaša aRFC forma. Darījumu RFC nodrošina darījumam līdzīgu apstrādes darbību apstrādi, kas sākotnēji bija autonoma.Darījumu RFC ir asinhrona saziņas metode, kas izsaukto funkciju moduli RFC serverī izpilda tikai vienu reizi, pat ja dati tiek sūtīti vairākas reizes kādas tīkla problēmas dēļ. Attālajai sistēmai nav jābūt pieejamai laikā, kad RFC klienta programma izpilda tRFC. TRFC komponents saglabā izsaukto RFC funkciju kopā ar atbilstošajiem datiem SAP datu bāzē ar unikālu darījuma ID (TID). tRFC ir līdzīgs aRFC, jo tas negaida pie mērķa sistēmas (līdzīgi kā reģistrēts sūtījums). Ja sistēma nav pieejama, tā ierakstīs datus aRFC tabulās ar darījuma ID (SM58), kuru izvēlas plānotājs RSARFCSE (kas darbojas ik pēc 60 sekundēm). Izmanto-
- Asinhronā RFC paplašināšana
- Drošai saziņai starp sistēmām
Rindā
Rindā esošais RFC ir tRFC paplašinājums. Tas arī nodrošina atsevišķu darbību secīgu apstrādi.Lai garantētu, ka vairāki LUW (loģiskā darba / darījumu vienība) tiek apstrādāti lietojumprogrammas norādītajā secībā. tRFC var serializēt, izmantojot rindas (ienākošās un izejošās rindas). Tādējādi nosaukums bija rindā RFC (qRFC). Izmanto-
- Darījuma RFC pagarināšana
- Noteiktai apstrādes secībai
- QRFC ieviešana ir ieteicama, ja vēlaties garantēt, ka vairāki darījumi tiek apstrādāti iepriekš noteiktā secībā.
RFC savienojumu veidi
3. tips - ieraksti norāda savienojumu starp ABAP sistēmām. Šeit mums jānorāda resursdatora nosaukums / IP adrese. Tomēr, ja vēlaties, varat norādīt pieteikšanās informāciju. Tas ir piemērojams abu veidu RFC, starp ABAP sistēmām un ārējiem zvaniem uz ABAP sistēmāmI tips - ieraksti norāda ABAP sistēmas, kas savienotas ar to pašu datu bāzi kā pašreizējā sistēma. Šie ieraksti ir iepriekš definēti, un tos nevar mainīt. Ieraksta nosaukuma piemērs: ws0015_K18_24
- ws0015 = resursdatora nosaukums
- K18 = sistēmas nosaukums (datu bāzes nosaukums)
- 24 = TCP pakalpojuma nosaukums
T tips - galamērķi ir savienojumi ar ārējām programmām, kuras izmanto RFC API, lai saņemtu RFC. Aktivizācijas veids var būt Sākt vai Reģistrācija. Ja tas ir Sākt, jums jānorāda startējamās programmas resursdatora nosaukums un ceļa nosaukums.
Kā kodēt RFC?
1. Cilnē funkciju moduļa atribūti (darījuma kods SE37) iestatiet apstrādes veidu kā Attāli iespējots modulis, lai izveidotu attālās funkcijas moduli.
2. Uzrakstiet funkciju moduļa kodu.
3. RFC klienta sistēmā, kas izsauc attālo funkciju (izmantojot SM59 transakciju), definējiet RFC servera galamērķi.
4. Parametru deklarēšana : visi attālinātās funkcijas moduļa parametru lauki ir jādefinē kā atsauces lauki, tas ir, piemēram, ABAP vārdnīcas lauki.5. Izņēmumi: sistēma iekšēji paaugstina COMMUNICATION_FAILURE un SYSTEM_FAILURE. Jūs varat palielināt izņēmumus tālvadības funkcijā tāpat kā vietēji sauktajā funkcijā.
Attālinātu funkciju izsaukumu atkļūdošana
- Tas nav iespējams, lai atkļūdot tālvadības funkciju zvanu uz citu sistēmu.
- Tomēr, pārbaudot ABAP-to-ABAP RFC zvanus, varat izmantot ABAP atkļūdotāju, lai uzraudzītu RFC funkcijas izpildi attālajā sistēmā.
- Izmantojot attālinātos zvanus, ABAP atkļūdotājs (ieskaitot atkļūdošanas saskarni) darbojas lokālajā sistēmā. Datu vērtības un cita informācija par attālo funkciju tiek izpildīta no attālās sistēmas.