Von parameter in select-options wechseln

Getting started ... Alles für einen gelungenen Start.
16 Beiträge • Seite 1 von 2 (current) Nächste
16 Beiträge Seite 1 von 2 (current) Nächste

Von parameter in select-options wechseln

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Hallo zusammen
Ich habe vor kurzem mit ABAP angefange. Ich habe einen Programm erstellt, wo man 2 Parametern hat. (Materialnummer und Sprache) Ich habe die MAKT Tabelle verwendet. Nach dem ausführen des Programmes, gibt es den eingegebenen Materialnummer, Sprache und die passende Materialbeschreibung aus. Nun will ich die Parametern zu Select-options wechseln, damit man zbs mehrere Materialnummern wählen kann. Ich hab schon paar Sachen probiert, aber hat nicht geklappt. Kann mir jemand behilflich sein? Wäre für jede Antwort dankbar.

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


Re: Von parameter in select-options wechseln

Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
Ja dann poste doch mal die "paar Sachen" welche du probiert hast und erkläre mal genauer WAS nicht geklappt hat.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Von parameter in select-options wechseln

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »

Code: Alles auswählen.

REPORT Z_AAGLSAP01_TRAINING01.

DATA: s_matln TYPE TABLE OF makt-matnr,
      s_lang TYPE TABLE makt-spras,
      xmaktx TYPE makt-maktx.

TABLES: makt.
SELECT-OPTIONS: s_matln FOR makt-matnr,
                s_lang for makt-spras.

Select SINGLE maktx INTO xmaktx FROM makt
  WHERE matnr = s_matln
  AND spras = s_lang.

WRITE: 'Materialnummer:', s_matln.
NEW-LINE.
WRITE: 'Sprache:', s_lang.
NEW-LINE.
WRITE: 'Materialbeschreibung:', xmaktx.
Wie gesagt, ich fange erst gerade mit Abap an. Deshalb bin ich noch nicht so gut in dem Ding. Danke für deine Antwort.

Re: Von parameter in select-options wechseln

Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
Moin,

Statt "=" nimm "IN" .

Code: Alles auswählen.

Select SINGLE maktx INTO xmaktx FROM makt
WHERE matnr IN s_matln
AND spras IN s_lang
Desweiteren ist ein SELECT SINGLE bestimmt nicht das was du benötigst, wenn du mit Selektionsoptionen arbeitest, da du hierfür ja üblicherweise mehrere Datensätze zurück bekommen willst.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
User1234

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Von parameter in select-options wechseln

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Wie muss ich dann den Select machen? Danke

Re: Von parameter in select-options wechseln

Beitrag von ewx (Top Expert / 4884 / 317 / 644 ) »
du musst das Schlüsselwort SINGLE entfernen und stattdessen den Zusatz INTO TABLE verwenden.
Danach musst du die interne Tabelle, die du beim Select angegeben hast, per LOOP abarbeiten und kannst in dem LOOP wieder die Ausgabe mit Write machen.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
User1234


Re: Von parameter in select-options wechseln

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Vielen Danke für deine Antwort. Jedoch komme ich immer noch nicht weiter. Ich weiss nicht mal ob ich die richtige Tabellen und Bezeichnungen genommen habe. Kannst du mir da weiter helfen?

REPORT Z_AAGLSAP01_TRAINING01.

DATA: xmaktx TYPE makt-maktx,
xspras TYPE makt-spras.


SELECT-OPTIONS: s_matln FOR xmaktx,
s_lang FOR xspras.

Select * FROM makt INTO TABLE xmaktx
WHERE matnr IN s_matln
AND spras IN s_lang.
Endselect.

WRITE: 'Materialnummer:', s_matln.
NEW-LINE.
WRITE: 'Sprache:', s_lang.
NEW-LINE.
WRITE: 'Materialbeschreibung:', xmaktx.


Ich weiss, dass ich ein Loop machen muss. Aber zuerst muss das andere funktionieren.

Re: Von parameter in select-options wechseln

Beitrag von ewx (Top Expert / 4884 / 317 / 644 ) »
bei INTO TABLE brauchst du keinen ENDSELECT.
Das Einfachste wäre, nimmst einen

Code: Alles auswählen.

...INTO TABLE @DATA(tmaktx)...
Dann übernimmt ABAP die Definition der internen Tabelle für dich.
Alternativ musst du tmaktx als interne Tabelle definieren:

Code: Alles auswählen.

DATA tmaktx TYPE TABLE OF maktx.
xmaktx benötigst du weiterhin, damit die SELECT-OPTIONS funktionieren.
Verwende doch bitte die CODE-Tags für den Quelltext. Dann lässt sich alles besser lesen.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
User1234


Re: Von parameter in select-options wechseln

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »

Code: Alles auswählen.

REPORT Z_AAGLSAP01_TRAINING01.

DATA: xmaktx TYPE makt-maktx,
          xspras TYPE makt-spras.

SELECT-OPTIONS: s_matln FOR xmaktx,
                s_lang FOR xspras.

DATA: xmaktx TYPE makt-maktx,
     tmaktx TYPE TABLE OF maktx.

Select * FROM makt INTO TABLE tmaktx
  WHERE matnr IN s_matln
  AND spras IN s_lang.

WRITE: 'Materialnummer:', s_matln.
NEW-LINE.
WRITE: 'Sprache:', s_lang.
NEW-LINE.
WRITE: 'Materialbeschreibung:', xmaktx.
Nun habe ich folgende Fehler:
"XMAKTX" was already declared.
Field "XMAKTX" obscures a global field with the same name. This global field was already used in the current validity area.

Übrigens: Vielen Danke für die Hilfe.

Re: Von parameter in select-options wechseln

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Ah sorry hatte ausversehen zweimal xmaktx. Jetzt kommt folgender Fehler:
The work area "TMAKTX" is not long enough.

Code: Alles auswählen.

REPORT Z_AAGLSAP01_TRAINING01.

DATA: xmatnr TYPE makt-maktx,
      xspras TYPE makt-spras.

SELECT-OPTIONS: s_matnr FOR xmatnr,
                s_lang FOR xspras.

DATA: xmaktx TYPE makt-maktx,
      tmaktx TYPE TABLE OF maktx.

Select * FROM makt INTO TABLE tmaktx
  WHERE matnr IN s_matnr
  AND spras IN s_lang.

WRITE: 'Materialnummer:', s_matnr.
NEW-LINE.
WRITE: 'Sprache:', s_lang.
NEW-LINE.
WRITE: 'Materialbeschreibung:', xmaktx.

Re: Von parameter in select-options wechseln

Beitrag von ewx (Top Expert / 4884 / 317 / 644 ) »
TYPE TABLE OF makt

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
User1234


Re: Von parameter in select-options wechseln

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Warum steht da "Material description" statt "Material"?

Danke für die Hilfe. Jetzt funktioniert das Programm wenigstens.

Re: Von parameter in select-options wechseln

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Habe den Fehler gefunden. Jetzt steht da "Material".

Das Programm funktioniert jetzt, doch die Ausgabe stimmt noch nicht ganz.

Die Sprache Ausgabe ist komisch.

Wenn dass funktioniert, kann ich dann mit dem Loop weiterfahren, damit die Materialbeschreibung funktioniert.

Re: Von parameter in select-options wechseln

Beitrag von ewx (Top Expert / 4884 / 317 / 644 ) »
Deine Ausgabe ist auch quatsch. du gibst den Arbeitsbereich der SELECT-OPTIONS unkontrolliert aus.
IBTDE bedeutet:
I = SIGN => INCLUDING
BT = OPTION => BeTween
D = LOW => DE
E = HIGH => EN

zuerst musst du xmaktx auch vom Typ MAKT definieren.
Dann musst du einen LOOP machen und xmaktx bei INTO.

Beim WRITE solltest du das / verwenden. das erspart dir den Befehl NEW-LINE. => F1
angeben.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
User1234


Re: Von parameter in select-options wechseln

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Okey, vielen Dank.
Ich versteh das Prinzip, aber bin mir nicht sicher beim programmieren. Also beim "zuerst musst du xmaktx auch vom Typ MAKT definieren.
Dann musst du einen LOOP machen und xmaktx bei INTO.".

Könntest du evt. ein Beispiel machen?

Code: Alles auswählen.

REPORT Z_AAGLSAP01_TRAINING01.

DATA: xmatnr TYPE makt-matnr,
      xspras TYPE makt-spras.

SELECT-OPTIONS: s_matnr FOR xmatnr,
                s_lang FOR xspras.

DATA: xmaktx TYPE makt-maktx,
      tmaktx TYPE TABLE OF makt.

Select * FROM makt INTO TABLE tmaktx
  WHERE matnr IN s_matnr
  AND spras IN s_lang.

WRITE: 'Materialnummer:', s_matnr, /, 'Sprache:', s_lang, /, 'Materialbeschreibung:', xmaktx.

Vergleichbare Themen

4
Antw.
19290
Views
Select nach Parameter & Select-Options
von doeme » 10.07.2012 16:37 • Verfasst in ABAP® für Anfänger
2
Antw.
1664
Views
Switchen via Radiobutton zwischen Parameter & Select-options
von der_Schwede » 26.03.2019 15:39 • Verfasst in ABAP® Core
1
Antw.
4552
Views
Import-Parameter für Select-Options dynamisch vorbelegen
von sflight » 14.01.2014 14:46 • Verfasst in Web-Dynpro, BSP + BHTML
0
Antw.
2633
Views
select-options depend on select-options.
von dragospirnut1 » 19.07.2017 09:54 • Verfasst in ABAP® Core
2
Antw.
4119
Views
SELECT - Options & SELECT Abfrage
von Mavrix » 14.05.2007 08:41 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

DIN Norm Klassifizierung
vor 2 Tagen von Radinator 2 / 2735
Login Daten Management
vor 2 Tagen von sap_enthusiast gelöst 5 / 905

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
vor 2 Tagen von Radinator 2 / 2735
Login Daten Management
vor 2 Tagen von sap_enthusiast gelöst 5 / 905

Unbeantwortete Forenbeiträge