Verwendung
Sie legen in dieser Lektion das mehrzeilige, objektwertige
virtuelle Attribut Verkaufsbelegpositionen an und implementieren es. Dieses Attribut wertet die Positionen des Kundenauftrags aus und liefert eine Liste mit Referenzen auf Objekte vom Typ VBAP ( Verkaufsbelegposition) zurück.Ein virtuelles Attribut erfordert stets eine Implementierung im Implementierungsprogramm.
Voraussetzungen
Bei der Implementierung dieser Attribute verwenden Sie Makrobefehle, die vom System bereitgestellt werden.
Weitere Informationen zu bereitgestellten Makrobefehlen finden Sie unter:
Vorgehensweise
Attribut:
ItemsAttribut im Implementierungsprogramm implementieren
Prüfen Sie die bisher vorgenommene Definition des Objekttyps. Wählen Sie dazu .
Das System erkennt die fehlende Implementierung und bietet Ihnen die automatische Erzeugung eines Musters für den fehlenden Quelltext an.
Nehmen Sie das Angebot unbedingt an!
Der automatisch erzeugte Quelltext für die Implementierung von virtuellen Attributen ist immer unvollständig und beschränkt sich auf das Setzen des entsprechenden Containerelementes. Sie müssen hier noch Änderungen vornehmen und im Programm des Objekttyps die Leseprozedur implementieren, die zur Laufzeit den Attributwert durch die Auswertung von Datenbankinhalten bestimmt.
Das System verzweigt in das Implementierungsprogramm des von Ihnen angelegten Objekttyps.
Virtuelles Attribut
Ein virtuelles Attribute wird zwischen den Makrobefehlen
GET_PROPERTY <Attributname> CHANGING CONTAINER und END_PROPERTY implementiert. Dort ist programmiert, wie der Wert des virtuellen Attributes zur Laufzeit gebildet wird.Analysieren Sie das bisher vorhandene Implementierungsprogramm. Als Vergleich kann Ihnen das
im Anhang wiedergegebene Implementierungsprogramm dienen.die Struktur
eine Objektreferenz
ITEM wird erzeugtITEM
wird an die Tabelle OBJECT-ITEMS angehängtErgebnis
Virtuelles Attribut Items testen
Wenn der Objekttyp noch Fehler hat, werden Sie darauf hingewiesen. Versuchen Sie dann, über die Fehlerübersicht (Springen
Jetzt können die bisher angelegten Attribute getestet werden.
Sie gelangen auf das Bild Testen Objekttyp <Objektname>: keine Instanz gebunden.
Identifizieren Sie ein Objekt vom Typ Kundenauftrag, indem Sie die Nummer eines beliebigen Kundenauftrags eintragen. Lassen Sie sich ggf. durch die F4-Eingabehilfe unterstützen.
Sie gelangen auf das Bild Testen Objekttyp <Objektname>, auf dem Sie Ihren Objekttyp testen können (Methoden ausführen, Werte der Attribute überprüfen).
Exkurs: Der Objekttyp VBAP (Verkaufsbelegposition)3
Der Objekttyp
VBAP beschreibt die einzelnen Positionen eines Verkaufsbelegs. Die Schlüsselfelder des Objekttyps VBAP sind:Diese Schlüsselfelder referenzieren die Schlüsselfelder VBELN und POSNR der Tabelle VBAP (Verkaufsbeleg: Positionsdaten).
Alternative Implementierung
Eine alternative Implementierung, die ohne zusätzliche interne Tabelle auskommt, ist nachfolgend wiedergegeben:
get_property items changing container.
tables vbap.
refresh object-items. clear object-items.
data item type swc_object.
data: begin of vbap_key,
vbeln like vbap-vbeln,
posnr like vbap-posnr,
end of vbap_key.
vbap_key-vbeln = object-key-salesdocument.
select * from vbap where vbeln = object-key-salesdocument.
vbap_key-posnr = vbap-posnr.
swc_create_object item 'VBAP' vbap_key.
append item to object-items.
endselect.
swc_set_table container 'Items' object-items.
end_property.