ABAP Memory

Getting started ... Alles für einen gelungenen Start.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

ABAP Memory

Beitrag von Adrian (Specialist / 126 / 61 / 0 ) »
Guten Morgen an alle,

wie schreibe und lese ich etwas aus dem Abap Memory. Ich habe ein Programm gebaut das eine Dauerschleife ist. Dieses Programm läuft als Jop und
zickt immer ein bischen rum beim abbrechen. ich möchte jetzt das es immer eine Memory variable prüft und wenn diese gesetzt ist dann sich beendet.

Vielen Dank

Grüße
Adrian

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


Re: ABAP Memory

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
Schau Dir mal EXPORT TO und IMPORT FROM MEMORY an.

Rata
Normale Menschen wundern sich, warum in der Welt so viel schief läuft.
Programmierer wundern sich, warum alles so gut funktioniert.

Re: ABAP Memory

Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »
Hallo Adrian,

ich glaube nicht dass das ABAP-Memory dir da hilft, da es nur für einen Prozess gültig ist und alle von diesem Prozess gerufenen Programme ( Call Sequence ).
Du solltest dir eine andere Methode aussuchen, je nachdem was für Berechtigungen du so auf dem System hast, wo du deinen Job abbrechen möchtest.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: ABAP Memory

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Da beißt sich die Katze in den Schwanz...
Du hast nur innerhalb deines Prozesses Zugriff auf SAP Memory.
Von außen kommst du da nicht dran. Du müsstest dann mit einem DB-Eintrag arbeiten.

Ich schätze übrigens mal, dass der Job deswegen "rumzickt" (sich nicht abbrechen lässt), weil er lange auf der DB arbeitet?
In dem Fall müsste er eigentlich abbrechen, sobald die DB-Operation fertig ist.
Früher würde er sich dann auch nicht selbst beenden. Nur eine Vermutung. Vielleicht gibt es auch andere Gründe.

Re: ABAP Memory

Beitrag von Adrian (Specialist / 126 / 61 / 0 ) »
Hallo Black Adept

ich habe SAP_ALL af allen Systemen könntest du mir einen lösungsweg vorschlagen

Grüße
Adrian

Re: ABAP Memory

Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »
Hi Adrian,

2 Möglichkeiten.

1.) Schaff dir eine Tabelle wo dein Report reinschaut, ob er sich beenden soll --> Das kannst du dann mittels SE16(N) steuern.
2.) Beim Start des Reports erstelle dir einen Sperreintrag und lass den Report laufen, solange der Sperreintrag existiert. Gezielt abbrechen kannst du dann via SM12.

ABER... Wie schon ewx bemerkt hat solltest du auch alle Jobs via SM37 oder SM50 abbrechen können, wenn du SAP_ALL hast, so dass du all diese Techniken eigentlich gar nicht brauchst und in den Fällen wo das nicht klappt hast du meist sehr ungünstige DB-Selektionen und da helfen dir auch alle anderen Vorschläge nicht weiter.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: ABAP Memory

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Adrian hat geschrieben:Ich habe ein Programm gebaut das eine Dauerschleife ist. Dieses Programm läuft als Jop und
zickt immer ein bischen rum beim abbrechen. ich möchte jetzt das es immer eine Memory variable prüft und wenn diese gesetzt ist dann sich beendet.
Läuft das Programm "in einer Dauerschleife" ohne ein WAIT? D.h., wird dadurch nicht nur dauerhaft ein BTC-Prozess belegt, sondern außerdem auch noch dauerhaft CPU-Zeit verbraucht?
Wer soll denn wann diese "Memory-Variable" setzen, bzw. worauf genau wartet das Programm?

Frank

Re: ABAP Memory

Beitrag von Adrian (Specialist / 126 / 61 / 0 ) »
ich hab es so gelöst das ich am start eine Datei erzeuge und er prüft immer ob die Datei existiert wenn nicht beendet er sich.
Mein job verfällt aber nach so ca. paar stunden in einen Sleep am anfang hat er beim wait den workprozess freigegeben jetzt nicht mehr.
jetzt macht er nur noch sleep. was kann ich dagegen machen ?

Re: ABAP Memory

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
hi!

Besser wäre es, wenn du deinen Report ohne Sperrinformationen programmierst.
Wenn keine Verarbeitung ansteht, wird das Programm ganz einfach beendet.
In der Job-Definition stellst du dann ein, dass der Report periodisch (z.B. alle halbe Stunden) aufgerufen werden soll.
Das ist um einiges besser als mit WAIT zu arbeiten.

Wenn du wirklich ein "Beenden" der gesamten Verarbeitung erreichen möchtest ohne den Job händisch zu löschen, kannst du dein Programm entweder so gestalten, dass es sich selbst als Job einplant oder sobald die Abbruch-Bedingung erreicht wird, den zugehörigen Job löscht.

lg
ADT
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

Seite 1 von 1

Vergleichbare Themen

9
Antw.
1763
Views
ABAP Memory ID
von ZF_SAPler » 22.06.2022 16:54 • Verfasst in ABAP® für Anfänger
6
Antw.
2911
Views
ABAP-Memory auslesen
von ihrken » 13.12.2006 10:56 • Verfasst in ABAP® Core
2
Antw.
2730
Views
ABAP Memory im neuen Debugger
von cali » 15.09.2008 09:32 • Verfasst in ABAP® Core
1
Antw.
1473
Views
Problem mit Memory-Spiel ( Controls & ABAP OO )
von olli-x » 20.07.2006 17:57 • Verfasst in ABAP Objects®
21
Antw.
4956
Views
export to Memory ID
von A6272 » 19.04.2018 12:02 • Verfasst in ABAP® für Anfänger

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 15 Stunden von Bright4.5 1 / 324
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1965
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8566