Beispiel Lesen Klassenmerkmale über Tabellen

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Siehe Kategorie: Klassensystem.

Siehe Klassensystem.

Importparameter der Methode sind hier IV_MATNR und IV_LANGU. Zurückgegeben wird eine Struktur mit dem Labelnamen des Merkmals und dessen Ausprägung.

Man muss auch beachten, dass beim nachfolgenden Coding nicht die Änderungshistorie vom Klassenmerkmal aktiviert ist. Siehe SAP-Tabellen im Klassensystem.

method FILL_PRUEFAUFTRAG_KLMERKMALE. "Projekt Sch

 DATA: lv_atinn TYPE atinn,
       lv_atwrt TYPE atwrt.

 Constants: lc_ja   type char20 value 'Ja',
            lc_nein type char20 value 'Nein',
            lc_nd   type char20 value 'nicht definiert'.

******************
* Produktbereich *
******************
 clear: lv_atinn, lv_atwrt.

*Lesen interner Merkmalswert für externen Merkmalswert
 SELECT SINGLE
   atinn
   INTO lv_atinn
   FROM cabn
   WHERE atnam = 'TC_1145'.

*Lese Ausprägung Merkmalswert
 SELECT SINGLE
   atwrt
   INTO lv_atwrt
   FROM ausp
   WHERE objek = iv_matnr
     and KLART = '001' "für Material
     AND atinn = lv_atinn.

*Umschlüsselung auf Ausgabe im Formular
 CASE lv_atwrt.
   WHEN 'J'.
     es_pruefauftrag_klmerkmale-produktbereich = lc_ja.
   WHEN 'N'.
     es_pruefauftrag_klmerkmale-produktbereich = lc_nein.
   WHEN OTHERS.
     es_pruefauftrag_klmerkmale-produktbereich = lc_nd.
 ENDCASE.

*Sprachabhängige Bezeichnung
 SELECT SINGLE
   atbez  "z. B. 'Produktbereich'
   INTO es_pruefauftrag_klmerkmale-produktbereich_lbl
   FROM cabnt
   WHERE atinn = lv_atinn
    AND spras  = iv_langu.
 
endmethod.