Transaktionsnamen eingeben und ausführen

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

Transaktionsnamen eingeben und ausführen

Beitrag von c-harms (ForumUser / 10 / 0 / 0 ) »
Hallo,

ich bin totaler ABAP-Anfänger und soll mich in die Sprache einarbeiten. Dazu habe ich einen Kurs, in dem verschiedene Aufgaben gestellt werden. Eine Aufgabe ist es, einen Report zu schreiben, in dem ein Transaktionsname eingegeben wird, welcher dann ausgeführt wird. Normalerweise müsste die Eingabe ja über PARAMETERS erfolgen. Aber wie lese ich den Inhalt der Variablen aus, um dann mit CALL TRANSACTION '...' die Transaktion aufzurufen? Mehr Möglichkeiten wurden in dem Kurs eigentlich noch nicht angesprochgen...

Bin für jede Hilfe dankbar!
Gruß,
Christian Harms

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Christian,

eine PARAMETERS-Variable wird in der gleichen Art benutzt, wie ein DATA-Variable. Lediglich bei den SELECT-OPTIONS ist die Verwendung anders, weil es sich dabei um eine interne Tabelle mit speziellen Aufbau handelt.

Da Du in irgendeiner Form den Syntax vom CALL TRANSACTION gezeigt bekommen haben musst, weißt Du, dass der Name der Transaktion als Literal (z.B. CALL TRANSACTION 'MM03'.) angegeben wird. Alternativ kann man dort auch eine Variable (z.B. CALL TRANSACTION variable.) benutzen, die den Namen der Transaktion beinhaltet.

Wie würdest Du das demnach schreiben? Ergebnis bitte hier posten. (zum besseren Lesen, den Code merkieren und mittels der Schaltfläche 'Code' einrahmen: '['code']'...'['/code]')
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Lösung

Beitrag von c-harms (ForumUser / 10 / 0 / 0 ) »
Hallo Ereglam!

Danke für deine Antwort! Irgendwie bin ich durch die Erläuterungen in diesem Kurs hier immer davon ausgegangen, dass die Transaktion NUR durch die Angabe eines Literals aufgerufen werden kann! Aber wie ich jetzt durch deine Antwort merke, kann ich auch einfach den Variablennamen aufrufen, welcher dann die eingegebene Transaktion startet.

Vielen Dank noch einmal,
Christian

P.S.: Es werden sicher noch mehr Fragen folgen... :D

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
und wo bleibt das Ergebnis??

--- verschoben nach 'Getting started...' ---
Dialogprogrammierung ist etwas anderes.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Ergebnis

Beitrag von c-harms (ForumUser / 10 / 0 / 0 ) »
Okay, okay:

Code: Alles auswählen.

PARAMETERS p_input(10) type c.
CALL TRANSACTION p_input.  
Das war es ja schon...

Christian

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Gut, willkommen in einer größeren Welt... ;)

Im ABAP ist es immer zu empfehlen, sich bei der Deklaration von Variablen auf Typen/Datenelemente/Felder zu beziehen.

Für Deinen Fall würde sich das (immer verfügbare) Feld SY-TCODE anbieten, dass dann auch zufälligerweise die SAP-intern erlaubte Länge für einen Transaktionscode hat.

Kannst Du mir bitte Deinen Parameter mit SY-TCODE typisieren?
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

SY-TCODE

Beitrag von c-harms (ForumUser / 10 / 0 / 0 ) »
Hi,

ich denke so:

Code: Alles auswählen.

PARAMETERS p_input TYPE SY-TCODE.
CALL TRANSACTION p_input. 
Gruß,
Christian

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
ja, richtig.

Also, viel Spaß weiterhin... ;)
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Okay...

Beitrag von c-harms (ForumUser / 10 / 0 / 0 ) »
... danke :P!

Beitrag von made (ForumUser / 49 / 0 / 0 ) »
Hallo ihr zwei!
Und wie kann ich dann einer Transaktion SELECT-OPTIONS mitgeben??
Parameter sind klar, da muss ich erst die Parameter ID raussuchen und kann sie damit mitgeben.
Bei den SELECT-OPTIONS gibt es nur teilweise diese Parameter ID. Ich stehe gerade vor dem Problem, dass ich keine Par ID hab. Kann ich trotzdem irgendwie eine variable für die S-O mitgeben.
So vielleicht??

Code: Alles auswählen.

SET PARAMETER ID 'SO_SMATN-LOW' FIELD gv_matnr.
Das wäre einfach nur der Feldname...
aber er trägt die mitgegebene variable ganz wo anders ein... :cry:

Grüße Made

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo made,

bitte verwechsle nicht die Reportparameter (mittels PARAMETERS) mit den GET/SET-Parametern.

So, wie Du das unten versucht hast, geht das überhaupt nicht, weil bei den SET/GET-Parametern immer nur ein einzelner Wert gesetzt werden kann.

Beschreibe bitte ein wenig genauer, was Du von wo nach wo übertragen möchtest.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von made (ForumUser / 49 / 0 / 0 ) »
Also:
Bei meinem Report muss ich am Anfang eine Materialnummer bei meinem Selection-Screen eingeben,
diese nehme ich dann für sämtliche Selektionen und verarbeitungen her.
Meine Ausgabe ist (wiedermal) ein ALV-Grid (darin auch die Materialnummer), bei dem ich mit doppelklick auf die Materialnummer in eine andere Transaktion springe und hier möchte ich eben die Materialnummer mitgeben.
Die Transaktion, die ich aufrufe, hat 2 Select-Options und noch ein paar parameter.
Unter anderem ist bei diesen Select-options auch die materialnummer.
Leider bringt es nichts wenn ich die transaktion hier rein tippe, sie ist firmenintern erstellt worden.

um jetzt mal zum punkt zu kommen, ich wollte wissen,
wenn ich jetzt bei einer s-o keine parameter id habe, ob ich dann trotzdem den wert irgendwie mitgeben kann.

so gehts ja mit der par id

Code: Alles auswählen.

 SET PARAMETER ID 'MAT' FIELD gv_matnr.
 CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
ich habe auch mal in das andere programm rein geschaut (also die transaktion die ich aufrufe) und er definiert bei einem select-options ein par id und bei einem nicht...
hier der ausschnitt aus dem aufgerufenen programm:

Code: Alles auswählen.

 SELECT-OPTIONS: so_matwa FOR kotd502-matwa
                         MEMORY ID mat
                         MODIF ID ma4,
                 so_smatn FOR kondd-smatn
                         MODIF ID ma4.
diesem unteren feld möchte ich etwas mitgeben!!

ich hoff das war verständlich (ich erkläre immer so chaotisch)! :oops:

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1445
Views
DTP Filterwert per Dialog eingeben
von MS-K » 12.12.2017 10:27 • Verfasst in Sonstige Module
8
Antw.
2091
Views
ALV Daten eingeben und abspeichern
von Domcek » 03.04.2008 08:19 • Verfasst in ABAP® Core
3
Antw.
2033
Views
Uhrzeit eingeben in ALV-Grid-Liste
von SkyHobbit » 09.09.2005 07:16 • Verfasst in ABAP® für Anfänger
8
Antw.
2607
Views
BSP ansehen - Username / Kennwort eingeben?
von Nourie » 15.08.2005 21:06 • Verfasst in Web-Dynpro, BSP + BHTML
5
Antw.
3714
Views
Wie kann ich in SAPSCRIPT HTML Befehle eingeben.?
von SAPDIDI2 » 18.07.2007 16:11 • Verfasst in ABAP® Core

Über diesen Beitrag


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

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
Gestern von Bright4.5 1 / 538
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2166
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8761