Code: Alles auswählen.
BEGIN OF s_itab,
atnam TYPE cabn-atnam,
atwrt TYPE ausp-atwrt,
END OF s_itab,
...
t_itab LIKE SORTED TABLE OF s_itab
WITH UNIQUE KEY atnam atwrt,
Code: Alles auswählen.
SELECT * FROM ausp JOIN cabn ON ausp~atinn EQ cabn~atinn
INTO CORRESPONDING FIELDS OF TABLE t_itab
WHERE cabn~atnam IN r_merkmale
AND ausp~objek EQ i_matnr.
Code: Alles auswählen.
FUNCTION YWQM_RFC_READ_CLASSIFICATION.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_MATNR) LIKE MARA-MATNR OPTIONAL
*" EXPORTING
*" VALUE(E_STATUS) LIKE MAKT-MAKTX
*" TABLES
*" T_MM STRUCTURE YWQM_MERKMAL_S OPTIONAL
*"----------------------------------------------------------------------
DATA:
*********************************************************
* Range aufbauen
*********************************************************
r_merkmale TYPE RANGE OF cabn-atnam,
r_merkmale_line LIKE LINE OF r_merkmale,
t_return LIKE BAPIRETURN1,
null(1) type c,
nullen(14) type c,
anzahl_nullen type i.
*********************************************************
* Prüfen ob Material mit Vornullen
*********************************************************
null = '0'.
* Vornullen für MATNR generieren wenn weniger als 18 Stellen
if strlen( i_matnr ) < 18.
anzahl_nullen = 18 - strlen( i_matnr ).
DO anzahl_nullen TIMES.
concatenate null nullen into nullen.
ENDDO.
concatenate nullen i_matnr into i_matnr.
endif.
*********************************************************
* Prüfen ob Material vorhanden
*********************************************************
CALL FUNCTION 'BAPI_MATERIAL_EXISTENCECHECK'
EXPORTING
MATERIAL = i_matnr
IMPORTING
RETURN = t_return
.
*********************************************************
* Nicht Vorhanden -> EXIT
*********************************************************
*loop at t_return.
if t_return-type NE 'S'.
write t_return-message to e_status.
EXIT.
endif.
*endloop.
*********************************************************
* Range mit den gewünschten Merkmalen füllen
*********************************************************
r_merkmale_line-sign = 'I'. "Bärbel fragen
r_merkmale_line-option = 'EQ'. "Bärbel fragen
r_merkmale_line-low = 'LEISTUNG1'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'LEISTUNG2'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'LEISTUNG3'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'BETRIEBSART'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'SPANNUNG'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'SCHALTUNG'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'FREQUENZ_1'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'BAUFORM'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'SCHUTZART'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'WKL_ERZEUGNIS'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'NENNSTROM1'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'NENNSTROM2'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'NENNSTROM3'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'LEISTUNGSFAKTOR1'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'LEISTUNGSFAKTOR2'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'LEISTUNGSFAKTOR3'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'DREHZAHL1'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'DREHZAHL2'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'DREHZAHL3'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'KUEHLMITTELTEMPERATUR1'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'WIDERSTAND_JE_PHASE_1'.
APPEND r_merkmale_line TO r_merkmale.
r_merkmale_line-low = 'WIDERSTAND_JE_PHASE_2'.
APPEND r_merkmale_line TO r_merkmale.
*********************************************************
* Select mit Join über Merkmalname (CABN) und
* Materialnummer: Selektiere alle bewerteten Merkmale
* welche mit Material verknüpft sind
*********************************************************
SELECT * FROM ausp JOIN cabn ON ausp~atinn EQ cabn~atinn
INTO CORRESPONDING FIELDS OF TABLE t_mm
WHERE cabn~atnam IN r_merkmale
AND ausp~objek EQ i_matnr.
if sy-subrc NE 0.
e_status = 'Keine Bewertungen zum Material vorhanden'.
else.
e_status = 'Merkmale erfolgreich gelesen'.
endif.
ENDFUNCTION.