Mit dem Funktionsbaustein CS_BOM_EXPL_MAT_V2 können Stücklisten eines Materials aufgelöst werden. Wie gewöhnlich ist der Funktionsbaustein von SAP nur rudimentär dokumentiert. In diesem Beitrag beschreibe ich einige Besonderheiten, die mir bei der Verwendung des Funktionsbausteins aufgefallen sind.
Beispielaufruf
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2' EXPORTING capid = 'PP01' datuv = sy-datum MEHRS = 'X' mtnrv = lv_mat_for_bom STLAL = lv_stlal stlan = 'S' werks = lv_plant * IMPORTING * TOPMAT = * DSTST = TABLES stb = lt_stpox * MATCAT = EXCEPTIONS alt_not_found = 1 call_invalid = 2 material_not_found = 3 missing_authorization = 4 no_bom_found = 5 no_plant_data = 6 no_suitable_bom_found = 7 conversion_error = 8 OTHERS = 9.
Es müssen mindestens diese Parameter versorgt werden:
CAPID | Anwendungskennung |
DATUV | Gültig ab |
MTNRV | Materialnummer |
STLAN | Stücklistenverwendung |
WERKS | Werk |
Besonderheit bei Stücklistenalternative
Bei der Verwendung von Stücklistenalternativen ist folgendes zu beachten. Die Angabe der Alternative wird von dem Baustein so lange ignoriert, wie es nur eine Alternative 01 gibt. Existieren also keine Alternativen, ist die Verwendung immer erfolgreich, egal was dem Parameter STLAL übergeben wird.
Erst wenn eine Alternative existiert (02 etc.), wird der Parameter ausgewertet und bei erfolgloser Auflösung die Ausnahme ALT_NOT_FOUND ausgelöst.
Besonderheiten bei konfigurierbaren Materialien
Stücklisten können durch Beziehungswissen (Bedingungen für eine Position) konfigurierbar gemacht werden. Nur wenn die Bedingung zutrifft (Materialklassifizierung, Klasse 300 Varianten), wird die Position gezogen.
Der Funktionsbaustein liest die Konfiguration nur dann, wenn ein gültiges Konfigurationsobjekt dem Parameter CUOBJ übergeben wird. Der Wert für ein bestimmtes Material kann in der Tabelle MARC Spalte CUOBJ nachgelesen werden.