Threads in ABAP OO möglich?

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
11 Beiträge • Seite 1 von 1
11 Beiträge Seite 1 von 1

Threads in ABAP OO möglich?

Beitrag von bluesmoke (ForumUser / 8 / 0 / 0 ) »
Hallo zusammen,

hoffe mal das ich hier richtig bin mit meinem Problem.
Ich will ein OO Programm schreiben welches sowas wie Threads verwendet.
Geht das?
Hab in den Büchern nicht wirklich was zu Threads gefunden.

Zum Programm:
Ich will beim TRM externe Ressourcen anbinden.
Bisher habe ich nur die Möglichkeit gefunden, das ich immer Aktiv beim TRM nachfrage ob Aufgaben für die Ressource vorhanden sind und leider nicht wie gehofft, dass mir das TRM sagt "hier ist eine Aufgabe für die Ressource X".

Daher muss ich ja theoretisch eine Endlosschleife bauen, die immer nachfragt, hast du eine Aufgabe für mich.
Und bei mehreren Ressourcen muss ich ja für jede einzelne beim TRM immer und immer wieder abfragen.

Da ja auch Ressourcen zwischenzeitlich an und abgemeldet werden können, muss ich ja drauf achten, das nur aktive Ressourcen in der Schleife nach Aufgaben fragen.

Daher wollte ich diese Schleife in einen Thread packen und so sicher stellen, dass ich dann nebenher in der internen Tabelle wo ich die Ressourcen als Objekt halte immer Ressourcen hinzufügen oder löschen kann.

Wenn ich diese Schleife aber nicht in einen Thread stecke, dann kann ich ja nicht auf die interne Tabelle gleichzeitig von "aussen" zugreifen und somit zur Laufzeit keine Ressourcen hinzufügen oder löschen...

Wäre super wenn ihr mir da nen Tipp geben könntet.

Gruß
Bluesmoke

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


Re: Threads in ABAP OO möglich?

Beitrag von Azreal (Specialist / 182 / 1 / 0 ) »
ganz ehrlich - interessante Frage. Im Kontext von ABAP hab ich nie über die Möglichkeit vom Multithreading nachgedacht.
Ich kann mich auch nicht daran erinnern, dass da etwas in ABAP OO implementiert ist.
Du kannst das ganze aber über Funktionsbausteine lösen. Sprich über CALL FUNCTION mit dem Zusatz STARTING NEW TASK.
Entsprechend so viele neue Tasks / Prozesse wie nötig starten.

Zwecks Coding, könnte dir das folgende Beispiel weiterhelfen.
https://wiki.sdn.sap.com/wiki/display/S ... processing

Viel Erfolg! :up:
Gruß Aze

Re: Threads in ABAP OO möglich?

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Hi bluesmoke,

bist du dir sicher, dass du im SAP eine Endlosschleife programmieren willst? Im Dialog geht sowas schon mal nur, wenn du regelmäßig Ausgaben oder COMMITS nutzt, sonst schlägt die Laufzeitbegrenzung zu. Zudem belegst du einen Prozess exklusiv, was sicher auch nicht die beste Lösung ist.

Sowas wie Threads gibt es IMHO im SAP nicht, einzig wie von Azreal beschrieben die Tasks. Allerdings auch hier wieder aufpassen: asynchrone Tasks werden im Dialog gestartet -> Laufzeitbegrenzung. Zudem steigt dir eine kompetente Basis aufs Dach, wenn du einen Prozess dicht machst.

Mir ist noch nicht ganz klar, was willst du denn so anbinden und genau machen (paar Details)? Bin mir sicher, da gibts andere Alternativen...

Re: Threads in ABAP OO möglich?

Beitrag von bluesmoke (ForumUser / 8 / 0 / 0 ) »
Hallo casman,
ich wäre froh wenn es Alternativen gibt :)
also jeder der eine hat kann sie mir gerne geben.

Wegen dem Programm:

Ich habe ein TRM aufgesetzt mit manuellen Ressourcen.
Diese möchte ich jetzt durch automatische Ressourcen ersetzen, also mit Regalbediengerät, Verfahrwagen etc...
Diese muss ich ja soweit mir bekannt ist über ein eigens Programm anbinden.

Dazu habe ich mir eine Klasse geschrieben.
Ich kann mich mit meiner Klasse:
- beim TRM als Ressource anmelden ( FUBU: LTIF_RSRCE_EXTERNAL_LOGON )
- nach Tasks fragen (FUBU: LTSK_TASK_SELECT)
- welche annehmen (FUBU:LTSK_TASK_ACCEPT)
- und quittieren (FUBU: LTIF_TASK_EXTERNAL_CONFIRM )
- so wie mich wieder abmelden (FUBU: LTRS_RESOURCE_BREAK )

Jetzt habe ich aber das Problem, das ich immer aktiv beim TRM nachfragen muss "Hast du eine Aufgabe für mich" und wenn das TRM eine hat, dann kann ich sie abarbeiten.
Wenn es keine Aufgabe hat, dann muss ich wieder nachfragen " Hast du jetzt eine Aufgabe für mich" und danach wieder fragen " Und jetzt ne Aufgabe" usw...
Aber dazu müsste ich ja theoretisch eine Endlosschleife für die angemeldeten Ressourcen laufen lassen die ständig nachfragt hast du was für Ressource xyz.

Zum einen:
Gibt es nicht die Möglichkeit, das mir das TRM sagt, "Hier, du hast eine Aufgabe, für die und die Ressource"?

Zum Anderen:
Wenn ich ständig aktiv nachfragen muss, dann könnte das bei mehreren Ressourcen sonst zu nem Performanceproblem kommen.

Re: Threads in ABAP OO möglich?

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Hi bluesmoke,

leider kenne ich das TRM auch nicht genauer, ich würde an deiner Stelle mal kucken, ob es nicht BAdIs gibt, die du für deine Zwecke nutzen kannst.
Das TRM hat ein paar, fangen mit LTR* an...vielleicht kannst du dich da irgendwie reinklemmen und deine Ressource selbst informieren/antriggern, wenn was passiert?

z.B. LTRM_TASK_CREATION

Re: Threads in ABAP OO möglich?

Beitrag von bluesmoke (ForumUser / 8 / 0 / 0 ) »
Danke,
werde mal schauen was ich da machen kann.
Kenne mich nicht wirklich mit BADIs aus, daher muss ich mich erstmal einarbeiten.

Re: Threads in ABAP OO möglich?

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Ist relativ einfach, mit SE18 kannst du nach verfügbaren BAdIs suchen und sie dir anzeigen lassen. Mit SE19 kannst du eine Implementierung eines BAdIs anlegen. Diese Implementierung wird dann so ähnlich wie bei einem User-Exit immer dann gerufen, wenn das BAdI irgendwo eingebunden ist.

Wird also das BAdI LTRM_TASK_CREATION gerufen und du hast eine Implemenierung, dann könntest du darin eventuell prüfen, ob der Task für dich relevant ist und auf irgendeine Art und Weise dein Programm triggern, vielleicht auch minimal zeitversetzt per Batch-Job.

Wie gesagt, ich kenn mich zu wenig aus im TRM, vielleicht geht ja auch alles viel viel einfacher...

Re: Threads in ABAP OO möglich?

Beitrag von bluesmoke (ForumUser / 8 / 0 / 0 ) »
Danke für die Hilfe, werd mal schauen ob ichs hinbekomme :)

ja das mit dem "im TRM auskennen" ist so ne sache.
Irgendwie kennt sich niemand da drin aus und keiner kennt jemanden der sich damit auskennt.
es gibt auch in den unterlagen von sap keine wirkliche infos zum anbinden von externen ressourcen.
man ist da ganz schön auf sich alleine gestellt....

Re: Threads in ABAP OO möglich?

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
So isses leider oftmals im R/3... :D

Re: Threads in ABAP OO möglich?

Beitrag von DirkHW (ForumUser / 1 / 0 / 0 ) »
Hi bluesmoke,

Deine Anfrage ist zwar schon etwas her, trotzdem noch eine Idee: wie wäre es die "Endlosschleife" in einen Hintergrundschritt im Workflow zu packen, der alle n-Minuten aktiv wird?

Gruß Dirk

Re: Threads in ABAP OO möglich?

Beitrag von bluesmoke (ForumUser / 8 / 0 / 0 ) »
hey dirk,

dank dir für die Idee, aber das Problem ist das alle n-Minuten nicht reichen.
Ich muss das eher alle 0,n-Sekunden ausführen...

Gruß

Seite 1 von 1

Vergleichbare Themen

5
Antw.
1983
Views
ABAP - Threads
von flexed » 07.08.2006 16:26 • Verfasst in ABAP® Core
5
Antw.
2837
Views
Mit ABAP auch möglich
von Neu_Im_SAP » 14.07.2011 15:37 • Verfasst in ABAP® für Anfänger
3
Antw.
2204
Views
SQL+ unter ABAP möglich???
von Steffi221185 » 07.09.2006 09:40 • Verfasst in ABAP Objects®
1
Antw.
1123
Views
ABAP Programmierung kostenlos möglich?
von Pete » 14.08.2019 13:47 • Verfasst in ABAP® für Anfänger
10
Antw.
26429
Views
Zertifizierung von ABAP AddOns durch SAP möglich
von ChristophClaus » 12.04.2005 14:13 • Verfasst in Tips + Tricks & FAQs

Über diesen Beitrag


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

Aktuelle Forenbeiträge

DIN Norm Klassifizierung
Gestern von Radinator 1 / 88
Anwenderdoku in SAP
vor 3 Tagen von ewx 10 / 526
Schlüssel erstellen ABAP
vor 4 Tagen von rob_abc 4 / 895
Pushbutton springt nicht ins PAI-Modul
vor 6 Tagen von MiTip gelöst 15 / 1317

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

DIN Norm Klassifizierung
Gestern von Radinator 1 / 88
Anwenderdoku in SAP
vor 3 Tagen von ewx 10 / 526
Schlüssel erstellen ABAP
vor 4 Tagen von rob_abc 4 / 895
Pushbutton springt nicht ins PAI-Modul
vor 6 Tagen von MiTip gelöst 15 / 1317