Mit dem Funktionsbaustein lassen sich einzelne Konditionssätze direkt auslesen. Dabei werden die Konditionstabellen und Zugriffsreihenfolgen automatisch bestimmt.
Es müssen mindestens diese Parameter versorgt werden
Name | Beschreibung |
---|---|
PI_KAPPL | Applikation der Kondition (z.B. V) |
PI_KSCHL | Konditionsart |
PI_I_KOMK | Struktur mit Kopfdaten zur Kondition |
PI_I_KOMP | Struktur mit Positionsdaten zur Kondition |
Die beiden Strukturen enthalten zahlreiche Felder, mit denen ein Konditionssatz bestimmt werden kann. Es müssen nur die Felder gefüllt werden, die beispielsweise auch im Selektionsbild der VK13 gefüllt werden. Die zu füllenden Felder hängen vom Kontext des Aufrufs (Konditionen eines Belegs, zu einem Material etc.) sowie der Zugriffsfelder zum Konditionssatz ab.
Der Parameter KOTABNT (Konditionstabelle) muss nicht gefüllt werden, da die passende Konditionstabelle vom Funktionsbaustein ermittelt wird. Die Ermittlung innerhalb des Funktionsbausteins entfällt, wenn die Konditionstabelle übergeben wird. Der Parameter erwartet nur die Nummer der Konditionstabelle. Ist die Konditionstabelle A007, wird als Parameter 007 übergeben.
Beispielaufruf
data: ls_komk type komk, ls_komp type komp, lv_kappl type kappl value 'V', lv_kschl type kschl value 'Z000', ls_vake type vake. " Zuschlag auslesen ls_komk-vkorg = '0001'. ls_komk-vtweg = '01'. ls_komk-spart = '00'. ls_komk-kunnr = lv_kunnr. ls_komk-prsdt = sy-datum. ls_komp-bwkey = '1000'. CALL FUNCTION 'CONDITION_RECORD_READ' EXPORTING * PI_KVEWE = 'A' pi_kappl = lv_kappl pi_kschl = lv_kschl * PI_KOTABNR = * PI_BUFRD = pi_i_komk = ls_komk pi_i_komp = ls_komk * PI_SCALE_READ = * PI_KALSM = IMPORTING PE_I_VAKE = ls_vake * TABLES * PI_T_KSCHL = * PX_T_XVAKE = * PE_T_VAKE = * PE_T_SCALE = EXCEPTIONS NO_RECORD_FOUND = 1 OTHERS = 2 . IF sy-subrc 0. * Implement suitable error handling here ENDIF.
Besonderheiten
Wenn die Kondition als prozentualer Zu- oder Abschlag angelegt ist, dann ist die Konditionswährung '%' und der Konditionsbetrag um Faktor 10 zu groß in der Datenbank abgelegt. Ist der Konditionssatz beispielsweise ein Zuschlagssatz von 15 %, dann sind 150% in der Konditionstabelle hinterlegt (vgl. http://scn.sap.com/thread/1727480).