Task Name ermitteln

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

Task Name ermitteln

Beitrag von fbo (ForumUser / 30 / 0 / 0 ) »
Hallo ABAPler,

ich starte folgenden BAPI in meinem Programm in einer neuen Task.
Innerhalb des BAPI´s (in einem Enjancement) möchte ich jetzt abfragen, dass ich mich genau in dieser Task "ITALY" befinde. Gibt es irgendeine Methode, FuBa oder sonstiges um den Namen der Task zu ermitteln in der ich mich gerade befinde?

CALL FUNCTION 'BAPI_BILLINGDOC_CREATEMULTIPLE'
STARTING NEW TASK 'ITALY'
DESTINATION 'NONE'

Vielen Dank und viele Grüße
Frank

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


Re: Task Name ermitteln

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Ich habe mal auf die Schnelle die TH_* Bausteine durchgeschaut, aber nix Gescheites gefunden. Aber wenn es etwas gibt, würde ich das in diesen Bausteinen vermuten.

Re: Task Name ermitteln

Beitrag von fbo (ForumUser / 30 / 0 / 0 ) »
Vielen Dank für die schnelle Antwort.
Leider habe ich da nichts finden können.
Schon merkwürdig, dass SAP da nichts (offensichtliches) anbietet.
Die Information muss doch irgendwo vorhanden sein.
Na ja, werde mal weitersuchen.
Falls noch jemand eine Idee hat, gerne melden.
Viele Grüße und einen schönen Wochenstart
Frank

Re: Task Name ermitteln

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Moin Frank,

wenn du in der Session unbedingt die Taskid wissen musst dann lege diese doch vorher einfach ab.
Schreib dir einen simplen RFC-Fähigen FuBa, welcher die Taskid aufnimmt, die du gleich verwenden willst und welcher diese im globalen Funktionsgruppenmemory ablegt. Dann einen zweiten ( nicht notwendigerweise RFC-fähigen ) Fuba, welcher den im Funktionsgruppenmemory abgelegten Wert zurückgibt.

Und bevor du den von dir angesprochenen BAPI via RFC aufrufst schickst du vorher die Taskid mit derselben RFC-Destination und Taskid an den eingangs erwähnten neu geschriebenen Fuba, wartest bis er fertig ist und rufst danach erst deinen BAPI auf. Nun kannst du innerhalb des BAPIs jederzeit den 2. FuBa aufrufen und er gibt dir zurück, ob du dich in der TASKID Italy befindest oder nicht.

Sieht etwa so aus:

Code: Alles auswählen.

REPORT.

DATA: lv_taskid TYPE char32 VALUE 'FRED',
      done      TYPE flag.

CALL FUNCTION 'Y_SS_TEST_RFC_SET_TASKID'
  DESTINATION 'NONE'
  STARTING NEW TASK lv_taskid       
  PERFORMING my_callback ON END OF TASK
  EXPORTING
    iv_taskid = lv_taskid.  " <-- der soll die Taskid nur im FuGrMemory ablegen


WAIT UNTIL done = 'X'.

CALL FUNCTION 'Y_SS_TEST_RFC1' " <-- der kann das Funktionsgruppenmemory auslesen
  DESTINATION 'NONE'           "     da mit derselben Taskid und RFC-Destination
  STARTING NEW TASK lv_taskid. "     aufgerufen wie der Vorschaltbaustein



*&---------------------------------------------------------------------*
*& Form my_callback
*&---------------------------------------------------------------------*
FORM my_callback USING import TYPE clike.
  BREAK-POINT.
  RECEIVE RESULTS FROM FUNCTION 'Y_SS_TEST_RFC_SET_TASKID'
                  KEEPING TASK.  " Damit die RFC-Verbindung das Fugrmemory behält

  done = 'X'.
ENDFORM.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Task Name ermitteln

Beitrag von fbo (ForumUser / 30 / 0 / 0 ) »
Vielen Dank.
Ja, Alternativen gibt es. Aber ich hätte mir gewünscht, dass das ohne große "Schleifen" funktioniert und man diese Info einfach irgendwo abfragen bzw. finden kann. SAP wird das doch irgendwo "im Bauch" haben sonst hätten sie sich ja die ID auch sparen können.

Re: Task Name ermitteln

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Der "Task" wird vom aufrufenden System verwaltet.
Das aufgerufene System hat darüber keine Information (genausowenig wie, welche RFC-Destination verwendet wurde).
Maximal welcher Benutzer verwendet wurde (sy-uname) und ob der Aufruf über RFC erfolgt ist (FUBA RFC_WITHIN_SAME_SYSTEM) sowie welches Programm beim Aufruf verwendet wurde (sy-xprog = Funktionsgruppe des RFC-Funktionsbausteins) lässt sich feststellen.

Wie Stefan bereits geschrieben hat, müsste man den Task dem Aufrufer direkt mitgeben, damit dieser darüber Kenntniss erlangt.
ODER
Man fragt diese Informationen über einen eigenen Callback-Funktionsbaustein (Destination BACK) vom Aufrufer ab. Wobei ich das aber in der "Wildnis" noch nie so gesehen hätte, denn schneller geht's, wie gesagt, wenn man das gleich mitschickt.
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: Task Name ermitteln

Beitrag von fbo (ForumUser / 30 / 0 / 0 ) »
Ok.
Vielen Dank für eure aufschlussreichen Antworten und eure Recherche.
Viele Grüße
Frank

Seite 1 von 1

Vergleichbare Themen

11
Antw.
7631
Views
CALL FUNCTION ... STARTING NEW TASK ... Task nachverfolgbar?
von Obelix1 » 30.01.2017 18:10 • Verfasst in ABAP® Core
0
Antw.
718
Views
RFC FUBA IN BACKROUNG TASK / STARTING NEW TASK
von EZ09 » 05.02.2023 22:54 • Verfasst in ABAP® für Anfänger
1
Antw.
2718
Views
starting new task <-> in update task
von Matthias_L. » 13.09.2007 19:15 • Verfasst in ABAP® Core
6
Antw.
3415
Views
FuBa in neuem Task starten "STARTING NEW TASK"
von jan.se » 19.01.2006 11:20 • Verfasst in ABAP® Core
1
Antw.
6137
Views
Urgent:Task creation
von sri_deep » 21.08.2005 02:39 • Verfasst in Development Related

Aktuelle Forenbeiträge

Regex in where
Gestern von tar 8 / 373
Daten an Tabelle binden
vor 2 Tagen von Bright4.5 3 / 1637
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 289
IT0024 Qualifikationen CP-ID
vor 3 Tagen von DeathAndPain 2 / 530

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

Regex in where
Gestern von tar 8 / 373
Daten an Tabelle binden
vor 2 Tagen von Bright4.5 3 / 1637
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 289
IT0024 Qualifikationen CP-ID
vor 3 Tagen von DeathAndPain 2 / 530

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Tagen von snooga87 1 / 222
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3403
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9954