Datenselektion

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Datenselektion

Beitrag von GoetzJaenicke (ForumUser / 3 / 0 / 0 ) »
Hallo Abaper,

ich habe eine kleines Problem be der Datenselektion:

es sollen Materialien in eine interne Tabelle eingelesen werden, die unter anderem über die Materialbezeichnung eingeschränkt werden sollen.

Wenn in der Select-Option für Bezeichnung z.B. 'test*' eingetragen wird, sollen Materialien mit Bezeichung 'Test' nicht selektiert werden.

Das funktioniert mit dem folgende Coding nicht:

TYPES: BEGIN OF sty_mara,
matnr TYPE matnr,
mstae TYPE mstae,
maktx TYPE maktx,
typ TYPE ztyp,
mtstb TYPE mtstb,
resp TYPE zresp,
comnt1 TYPE zzcmnt1,
comnt2 TYPE zzcmnt2,
projectcode TYPE zproject,
END OF sty_mara.

* Interne Tabellen
gt_alv TYPE STANDARD TABLE OF zmm_s_vpm_new,
gt_mara TYPE STANDARD TABLE OF sty_mara.

***********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-sel.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS: so_matnr FOR mara-matnr.
SELECT-OPTIONS: so_typ FOR mara-typ.
SELECT-OPTIONS: so_maktx FOR makt-maktx lower case.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK b1.

SELECT *
INTO CORRESPONDING FIELDS OF TABLE gt_mara
FROM mara
WHERE matnr IN so_matnr
AND typ IN so_typ.
SORT gt_mara.

LOOP AT gt_mara INTO ls_mara.
CLEAR: lwa_alv.
MOVE-CORRESPONDING ls_mara TO lwa_alv.
*--- Materialbezeichnung ermitteln
SELECT SINGLE maktx
FROM makt
INTO lwa_alv-maktx
WHERE matnr = ls_mara-matnr
AND spras = sy-langu.
IF NOT lwa_alv-maktx IN so_maktx.
DELETE gt_mara INDEX sy-tabix.
CONTINUE.
ENDIF.


Ich hätte erwartet, dass hier nur Materialien, die in der Bezeichnung 'test' enthalten selektiert werden, ich bekomme aber auch welche mit 'Test' und 'TEST'.

was mache ich denn hier falsch?

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


Re: Datenselektion

Beitrag von autohandel7 (Specialist / 186 / 67 / 0 ) »
Hi,
probier mal so_typ FOR TEXT30, da ist nur kleinbuchstaben.
Oder sollst du in Richtung where UPPER oder (LOW) schauen.

Re: Datenselektion

Beitrag von a-dead-trousers (Top Expert / 4276 / 213 / 1140 ) »
Leider ist die Abfrage (wie auch autohandel7 angedeutet hat) in SAP immer case-sensitiv.

Einzige Möglichkeit das zu umgehen wäre mit einer Native-SQL-Anweisung zu arbeiten:
SELECT * FROM mara INTO ... WHERE LOWER( maktx ) LIKE 'test%'
Davon würde ich aber eher abraten.

Da du ja eine Select-Option verwendest, kannst du sowieso alle (vorkommenden) Varianten da drinnen auch aufzählen.

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

Re: Datenselektion

Beitrag von ST22 (Specialist / 274 / 40 / 40 ) »
Es gibt aber in der Tabelle MAKT auch das Feld MAKTG, dort ist der Kurztext in Großbuchstaben abgelegt.
Einfach mal die Selektion gegen dieses Feld laufen lassen.
Du kansnt z.B. deine Select-Option in upper case konvertieren oder in eine interne range kopieren die mit upper case arbeitet.

Die Arbeit mit case sensitve ist fehleranfällig, weil sich der Anwender ja auch mal vertippen kann "TesT" "test" "TEst" usw. usf.

Viele Grüße
Frank

P.S. Habt ihr mehrere Sprachen im System? Auch evtl. beachten, ob das Programm in jedem Fall sinnvoll arbeitet...

Seite 1 von 1

Vergleichbare Themen

0
Antw.
917
Views
3
Antw.
2278
Views
F4 Hilfe Datenselektion
von bapimueller » 01.12.2018 19:48 • Verfasst in ABAP® für Anfänger
6
Antw.
2520
Views
Problem mit einer Datenselektion
von svenk » 02.07.2007 14:52 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 73

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

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 73

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 132
Group Items auf einer Filterbar
vor 4 Wochen von Bright4.5 1 / 166