Hallo Community,
ich bin ein ABAP-Greenhorn und komme bei diesem Thema einfach nicht weiter.
Ich habe ein Material X (=Objekt), eine Klassenart 001, die Klasse part_class und dazu 4 untereinander stehende Merkmalsbezeichnungen mit jeweiligen Werten.
Ziel:
Es sollen 2 Merkmalsbezeichnungen in jeweils 2 Spalten eines ALVs ausgegeben werden und kein FUBA/BAPI verwendet werden.
Einen Merkmalswert kann ich auslesen (Produktbereich), aber wie lese ich das zweite Merkmal hinzu? (die zweite Spalte im ALV ist angelegt, mir fehlt noch die Idee, wie ich den zweiten Merkmalwert da hinein bekomme)
Bsp.: 1. Merkmalsbezeichnung: Produktbereich /Wert: Presse
2. Merkmalsbezeichnung: Warenbereich / Wert: 1234
Ausschnitt Bisheriger Code:
FORM get_ausp TABLES lt_ausp STRUCTURE gs_ausp
lt_mara STRUCTURE gs_mara.
DATA lt_objek TYPE TABLE OF gty_ausp.
DATA ls_objek TYPE gty_ausp.
DATA ls_mara TYPE gty_mara.
DATA lt_cabn TYPE TABLE OF gty_cabn.
DATA ls_cabn TYPE gty_cabn.
DATA ls_ausp TYPE gty_ausp.
CLEAR lt_ausp[].
CLEAR lt_objek[].
CLEAR ls_cabn.
" Auslesen des Merkmals Produktbereich
SELECT SINGLE *
FROM cabn
INTO CORRESPONDING FIELDS OF ls_cabn
WHERE atnam = 'PRODUKTBEREICH'.
CLEAR ls_mara.
LOOP AT lt_mara INTO ls_mara.
ls_objek-objek = ls_mara-matnr.
APPEND ls_objek TO lt_objek.
ENDLOOP.
SELECT *
FROM ausp
INTO CORRESPONDING FIELDS OF TABLE lt_ausp
FOR ALL ENTRIES IN lt_objek " Einlesen in interne Zwischentabelle
WHERE objek = lt_objek-objek
AND atinn = ls_cabn-atinn
AND atzhl = '1'
AND mafid = 'O'
AND klart = '001'.
---------------------------
Was bereits funktioniert:
FORM get_prodbereich TABLES lt_prodbereich STRUCTURE gs_prodbereich
lt_ausp STRUCTURE gs_ausp
lt_cawnt STRUCTURE gs_cawnt
lt_cawn STRUCTURE gs_cawn.
DATA ls_ausp TYPE gty_ausp.
DATA ls_cawnt TYPE gty_cawnt.
DATA ls_cawn TYPE gty_cawn.
DATA ls_prodbereich TYPE gty_prodbereich.
" Auslesen der Materialnummer aus der AUSP
LOOP AT lt_ausp INTO ls_ausp.
CLEAR ls_cawn.
READ TABLE lt_cawn INTO ls_cawn
WITH KEY atwrt = ls_ausp-atwrt.
CLEAR ls_cawnt.
READ TABLE lt_cawnt INTO ls_cawnt
WITH KEY atinn = ls_ausp-atinn
atzhl = ls_cawn-atzhl.
ls_prodbereich-matnr = ls_ausp-objek(18).
ls_prodbereich-atwtb = ls_cawnt-atwtb.
APPEND ls_prodbereich TO lt_prodbereich.
ENDLOOP.
ENDFORM. "get_prodbereich
Was muss ich nun tun, um das zweite Merkmal "Warenbereich" auszulesen? Ein zweiter SELECT SINGLE...???
Ich hoffe, ihr könnt mit diesen Schnipseln etwas anfangen.
Danke schonmal!