Позив удаљене функције (РФЦ) у САП упутству

Преглед садржаја:

Anonim

Шта је РФЦ?

РФЦ је механизам који омогућава пословним апликацијама да комуницирају и размењују информације (у унапред дефинисаним форматима) са другим системима. РФЦ је скраћеница од „Позив даљинске функције“

РФЦ се састоји од два интерфејса:

  1. Интерфејс који позива за АБАП програме
  2. Интерфејс који позива за програме који нису САП.

Било који АБАП програм може позвати даљинску функцију помоћу наредбе ЦАЛЛ ФУНЦТИОН… ДЕСТИНАТИОН . ДЕСТИНАЦИЈА параметар говори САП систем да се зове функција ради у систему осим на саговорника.Синтакса-

ФУНКЦИЈА ПОЗИВА 'даљинска функција'ДЕСТИНАЦИЈА дестИЗВОЗ ф1 =УВОЗ ф2 =ТАБЕЛЕ т1 =Изузеци

Логичка одредишта се дефинишу путем трансакције СМ59 и чувају у табели РФЦДЕС
функције РФЦ интерфејса

  • Претварање свих података параметара у приказ потребан у удаљеном систему
  • Позивање рутина комуникације потребних за разговор са удаљеним системом.
  • Руковање комуникацијским грешкама и обавештавање позиваоца, по жељи (користећи параметар ЕКСЦЕПТИОНС функције ФУНКЦИЈА ПОЗИВА).


РФЦ је САП протокол за управљање комуникацијом између система ради поједностављења сродног програмирања. То је поступак позивања функционалног модула који се налази на другој машини од програма позиваоца. РФЦ-ови се такође могу користити за позивање различитих програма на истој машини, али обично се користе када се функцијски модули / програми „позивање“ и „позивање“ изводе на одвојеним машинама.


У САП-у, систем РФЦ интерфејса користи се за постављање РФЦ веза између различитих САП система, као и између САП-а и спољног (који није САП) система.

Морате знати детаље о РФЦ-у

  • САП користи ЦПИЦ (заједнички програмски интерфејс за комуникацију) протокол за пренос података између система. То је протокол специфичан за САП. Ремоте Фунцтион Цалл (РФЦ) је комуникацијски интерфејс заснован на ЦПИ-Ц, али са више функција и лакшим за употребу програмерима
  • Функције РФЦ библиотеке подржавају програмски језик Ц и Висуал Басиц (на Виндовс платформама)
  • РФЦ везе се увек могу користити у целом систему. То значи да се РФЦ веза коју сте дефинисали у клијенту 000 може користити и од клијента 100 (без икакве разлике).
  • РФЦ је протокол за позивање посебних потпрограма (функционалних модула) преко мреже. Функционални модули су упоредиви са Ц функцијама или ПАСЦАЛ процедурама. Имају дефинисан интерфејс кроз који се могу размењивати подаци, табеле и повратни кодови. Функционалним модулима се управља у Р / 3 систему у њиховој сопственој библиотеци функција, која се назива Фунцтион Буилдер.
  • Градитељ функција (трансакција СЕ37) пружа програмерима апликација корисно окружење за програмирање, документовање и тестирање функционалних модула који се могу позивати локално и даљински. Р / 3 систем аутоматски генерише додатни код (РФЦ стуб) потребан за удаљене позиве.
  • Одржавате параметре за РФЦ везе користећи трансакцију СМ59. Р / 3 систем се такође испоручује са РФЦ-СДК (Софтваре Девелопмент Кит) који користи опсежне Ц библиотеке како би се омогућило повезивање спољних програма на Р / 3 систем.
  • Једина разлика између удаљеног позива функционалног модула на други сервер и локалног позива је посебан параметар (одредиште) који одређује циљни сервер на којем ће се програм извршити.

РФЦ предности:

РФЦ помаже у смањењу напора програмера, омогућавајући им да избегну поновни развој модула и метода на удаљеним системима. Довољно је способан да:

  • Претворите податке у формат разумљив удаљеном (циљном) систему.
  • Претворите податке у формат разумљив удаљеном (циљном) систему.
  • Позовите одређене рутине које су неопходне за започињање комуникације са удаљеним системом.
  • Рукујте грешкама које се могу појавити у процесу комуникације.

Врсте РФЦ:


Синхроно

Захтева да оба система (клијент и сервер) буду доступни у време комуникације или преноса података. То је најчешћи тип и потребан је када се тражи резултат одмах након извршења сРФЦ.
сРФЦ је средство комуникације између система где се захтевају потврде. Ресурси Изворног система чекају на циљном систему и осигуравају да испоручују поруку / податке са АЦКД. Подаци су конзистентни и поуздани за комуникацију.
Проблем је у томе што циљни систем није доступан, изворни системски ресурси чекају док циљни систем не постане доступан. То може довести до тога да процеси изворног система пређу у режим спавања / РФЦ / ЦПИЦ на циљаним системима и тиме блокирају ове ресурсе.
Коришћен за

  • За комуникацију између система
  • За комуникацију између САП сервера веб апликација са САП ГУИ

Асинхрони

То је комуникација између система где потврде нису потребне (слично је испоруци разгледнице). Не захтева да оба система буду доступна у време извршења, а резултат се не мора одмах послати назад на систем који позива .

Ресурс изворног система не чека циљни систем јер испоручује поруку / податке без чекања на потврду. Није поуздан за комуникацију, јер се подаци могу изгубити ако циљни систем није доступан. Коришћен за -

  • За комуникацију између система
  • За паралелну обраду

Трансакцијски

То је посебан облик аРФЦ. Трансакциони РФЦ осигурава руковање поступцима обраде који су првобитно били аутономни.

Трансакциони РФЦ је асинхрони начин комуникације који позива позвани функцијски модул на РФЦ серверу само једном, чак и ако се подаци шаљу више пута због неког мрежног проблема. Удаљени систем не мора бити доступан у време када програм РФЦ клијента извршава тРФЦ. Компонента тРФЦ чува позвану РФЦ функцију, заједно са одговарајућим подацима, у САП бази података под јединственим ИД-ом трансакције (ТИД). тРФЦ је сличан аРФЦ-у јер не чека на циљном систему (слично као регистрована пошта). Ако систем није доступан, уписаће податке у аРФЦ табеле са ИД-ом трансакције (СМ58) који бира планер РСАРФЦСЕ (који се покреће сваких 60 секунди). Коришћен за-

  • Проширење асинхроног РФЦ
  • За сигурну комуникацију између система

У реду

РФЦ у реду је наставак тРФЦ-а. Такође обезбеђује да се појединачни кораци обрађују у низу.

Да би се гарантовало да ће се више ЛУВ-а (логичка јединица рада / трансакције) обрађивати редоследом наведеним у апликацији. тРФЦ се може сериализовати помоћу редова (улазни и излазни редови). Отуда је назив на чекању РФЦ (кРФЦ). Коришћен за-

  • Проширење Трансакционог РФЦ-а
  • За дефинисани низ обраде
  • Примена кРФЦ се препоручује ако желите да гарантујете да ће се неколико трансакција обрађивати у унапред дефинисаном редоследу.

Врсте РФЦ веза


Тип 3 - уноси одређују везу између АБАП система. Овде морамо навести име хоста / ИП адресу. Ако желите, можете да наведете информације о пријави. Ово је применљиво за оба типа РФЦ-ова, између АБАП система и екстерних позива АБАП системима.Тип И - уноси одређују АБАП системе повезане на исту базу података као и тренутни систем. Ови уноси су унапред дефинисани и не могу се мењати. Пример имена уноса: вс0015_К18_24

  • вс0015 = име хоста
  • К18 = име система (име базе података)
  • 24 = назив ТЦП услуге

Тип Т - одредишта су везе са спољним програмима који користе РФЦ АПИ за примање РФЦ-а. Тип активације може бити Старт или Регистрација. Ако је Старт, морате навести име хоста и име путање програма који ће се покренути.

Како кодирати РФЦ?

1. На картици Атрибути функцијског модула (код трансакције СЕ37), поставите тип обраде као Модул који омогућава даљински рад да бисте креирали удаљени функцијски модул.


2. Напиши код за функцијски модул.


3. Дефинишите одредиште РФЦ сервера у РФЦ клијентском систему који позива даљинску функцију (путем СМ59 трансакције).


4.Декларирање параметара : Сва поља параметара за удаљени функцијски модул морају бити дефинирана као референтна поља, односно попут поља АБАП рјечника.5. Изузеци: Систем интерно подиже ЦОММУНИЦАТИОН_ФАИЛУРЕ и СИСТЕМ_ФАИЛУРЕ. Можете створити изузетке у удаљеној функцији баш као што бисте то учинили у локално позваној функцији.

Отклањање грешака у позивима даљинске функције

  • Није могуће отклонити грешке у удаљеном позиву функције на други систем.
  • Међутим, приликом тестирања АБАП-то-АБАП РФЦ позива, можете користити АБАП алат за отклањање погрешака за надгледање извршавања РФЦ функције у удаљеном систему.
  • Код удаљених позива, програм за отклањање грешака АБАП (укључујући интерфејс за отклањање грешака) ради на локалном систему. Вредности података и друге информације о извођењу за даљинску функцију преносе се из удаљеног система.