RFC-/Webservice-Aufrufe feststellen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

RFC-/Webservice-Aufrufe feststellen

Beitrag von Roddy (ForumUser / 27 / 6 / 0 ) »
Hallo,

kennt jemand eine Lösung für dieses eigentlich sehr profane Problem:

Es geht um ein Z-Include in den Tiefen eines SAP-Programms, das an mehreren Stellen verwendet wird. Zusätzlich nutzt ein Funktionsbaustein diese Funktionalität, der per Webservice aufgerufen wird.
Nun hat sich ergeben, daß diese Funktionalität nicht mehr im Rahmen der Webanfrage genutzt werden soll, sondern nur noch im Rahmen der anderen Verwendungen.

Ich müsste also in dem Z-Include feststellen, wer da gerade das Coding ausführt.

Ist der folgende CALL die einzige (und sichere) Möglichkeit, das festzustellen?

CALL 'RFCControl' ID 'CODE' FIELD 'B'.
IF sy-subrc = 0.
*** running under RFC
ELSE.

Habe leider nicht wirklich die Möglichkeit, einen Webservice-Aufruf nicht-produktiv zu testen, darum meine Info-Sammlung zuerst...

Danke im Voraus!

Roddy

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: RFC-/Webservice-Aufrufe feststellen

Beitrag von a-dead-trousers (Top Expert / 4450 / 227 / 1196 ) »
Eine andere Möglichkeit wäre es den Aufrufstack nach (nicht) erlaubten Programmen zu durchsuchen.
FuBa SYSTEM_CALLSTACK

Oder die sy-repid abfragen wenn das das Include einbindende Programm schon aussagekräftig genug ist.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Roddy

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: RFC-/Webservice-Aufrufe feststellen

Beitrag von ratsnus (Specialist / 357 / 2 / 56 ) »
wenn du weisst wie das include heisst, such doch den string mal mit dem Programm RPR_ABAP_SOURCE_SCAN
vielleicht bringt dir das auh noch etwas an Info wer das Include so verwendet..

gruss
ratsnus
<:: XING-Gruppe Tricktresor::>

Re: RFC-/Webservice-Aufrufe feststellen

Beitrag von a-dead-trousers (Top Expert / 4450 / 227 / 1196 ) »
naja, der Verwendungsnachweis sollte schon ein entsprechend gutes ergebnis liefern.
(Nur halt nicht für dynamische Aufrufe oder in Smartforms)
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: RFC-/Webservice-Aufrufe feststellen

Beitrag von Roddy (ForumUser / 27 / 6 / 0 ) »
Hallo zusammen und danke soweit,

ich löse das Problemchen mittels des FuBas SYSTEM_CALLSTACK - da der Z*-FuBa exklusiv vom Webservice aufgerufen wird, lasse ich die Funktionalität im Z-Include nur in dem Fall außen vor, wenn sich der besagte FuBa im Stack wiederfindet - denn dann war's eine Online-Anfrage.

AKTUALISIERUNG ->

TESTERGEBNIS:

Unerwartete Probleme - die RFC-Verbindung per Webservice hat (mir unerklärliche) Schwierigkeiten, den STACK korrekt zu lesen - weiß jemand etwas über ein "abweichendes" Verhalten bei Webserviceaufrufen?


Folgendes Coding steht im Z-Include Z_CHECK_KVGR2:

*****
DATA: gt_call_stack TYPE abap_callstack,
lv_fc_calling(1) VALUE ''.

CALL FUNCTION 'SYSTEM_CALLSTACK'
IMPORTING
callstack = gt_call_stack.

LOOP AT gt_call_stack TRANSPORTING NO FIELDS WHERE mainprogram CS 'Z_CHECK_KVGR2'.
lv_fc_calling = 'X'.
EXIT.
ENDLOOP.

IF lv_fc_calling = ''.

… dann Coding zur Nutzung bei Auftragsanlage oder sonstiges

*****

Der Test auf dem System war erfolgreich:
Sowohl der FuBa im Testmodus (FuBa wird im Stack gefunden und IF-Zweig wird NICHT durchlaufen)
als auch z. B. die Anlage eines Auftrags (VA01) funktioniert (FuBa ist nicht Aufrufer, wird also nicht gefunden und IF-Zweig
WIRD durchlaufen).

Sobald der FuBa aber über einen WebAccess-Dienst (XML) bzw. Webservice aktiviert wird, scheint obiges nicht mehr zu greifen – als ob der CALLSTACK leer wäre ...

Weiss jemand Rat?

Seite 1 von 1

Vergleichbare Themen

4
Antw.
3900
Views
Protokoll vergangener RFC Aufrufe
von Dyrdek » 20.11.2017 11:49 • Verfasst in ABAP® Core
11
Antw.
3024
Views
Aufrufe , eines Programms
von bohne » 15.02.2007 16:21 • Verfasst in ABAP® für Anfänger
2
Antw.
2425
Views
Protokollierung RFC Aufrufe Schnittstellenparameter
von almialmi » 04.09.2006 15:48 • Verfasst in Basis
4
Antw.
3083
Views
Parallele Aufrufe verhindern?
von cbe » 06.06.2019 14:35 • Verfasst in SAP - Allgemeines
8
Antw.
3042
Views
Aktive Aufrufe in einem Programm
von ralle » 04.04.2007 13:39 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

line_exists evaluieren
Gestern von Radinator gelöst 6 / 163
Was zum Knobeln....
Gestern von a-dead-trousers 5 / 311

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

line_exists evaluieren
Gestern von Radinator gelöst 6 / 163
Was zum Knobeln....
Gestern von a-dead-trousers 5 / 311

Unbeantwortete Forenbeiträge

Erweiterung in ME51N/ME52N:
vor einer Woche von ABAPlerv 1 / 1493
Erweiterung in ME51N/ME52N:
vor einer Woche von ABAPlerv 1 / 1407