SAP Jobsuche bei DV-Treff
Ivy_1706
  • Ivy_1706
  • SAP Forum - Profi Thema Starter
vor 3 Jahre
Hallo,

ich habe im Materialstamm des Materials M01 die Sicht Klassifizierung zur Klassenart 001 angelegt. In der verwendeten Klasse gibt es das Merkmal C01 das mit dem Wert W10 gepflegt ist.

In welcher Tabelle ist die zu dem Material gehörige Merkmalsausprägung gespeichert und wie komme ich von der Materialnummer dahin?

Mein Link war jetzt:

Zur Materialnummer das Feld MARA-CUOBF auslesen. Und dann diesen Feldwert in der Tabelle AUSP im Feld OBJEK verwenden, und für das Feld ATINN C01 einzugeben. Dann hat man unter dem Feld ATWRT den Merkmalswert W10 für das Merkmal C01 und Material M01.

Ich habe jetzt das Problem, dass der Feldinhalt des Materials im Feld MARA-CUOBF nicht übereinstimmt mit dem aus AUSP-OBJEK. Somit gibt es keinen eindeutigen Link. 😕

Wie kann das sein? Und was gäbe es sonst noch für einen Link? ich meine die CL30n als Transkation, die zwar einen umgekehrten Lookup macht, muss ja auch den Link aus der AUSP zur Materialnummer bekommen.

Förderer

Alpmann
vor 3 Jahre
Hallo Ivy_1706,

wenn ich mal die Klassifizierung ohne Funktionsbausteine für den Materialstamm auslese, dann gehe ich so vor:

Zuerst die CABN-ATINN zu dem Merkmal ermitteln. Danach geht es zur Tabelle AUSP.

Dort kann ich über AUSP-OBJEK (=Materialnummer) und CABN-ATINN den Wert lesen. Bei Char-Feldern ist dies AUSP-ATWRT.

Wenn du es schon machen willst, dann kannst du beim Merkmal (Tabelle CABN) nach dem Format schauen. Bei Zahlen musst du dann AUSP-ATFLV nehmen und gegebenenfalls noch umrechnen.

CABN-ATINN Int. Merkmal

CABN-ATNAM Merkmalname

AUSP-OBJEK Schlüssel des zu klassifizierenden Objektes

AUSP-ATINN Int. Merkmal

AUSP-KLART Klassenart

Mit freundlichen Grüßen

Matthias Alpmann

Ivy_1706
  • Ivy_1706
  • SAP Forum - Profi Thema Starter
vor 3 Jahre
Hallo Matthias,

und wie mappst du das Material?

Also wir kommen von der Materialnummer, und wollen wissen wie bei dem Material der Merkmalswert von Merkmal C01 ausgeprägt ist.

Wie finde ich jetzt die Einträge der AUSP, die zu unserem gewünschten Material gepflegt sind?

Ich dachte ich bekomme das über AUSP-OBJEK, was ich wiederum über MARA-CUOBF hinsichtlich Material mappen kann.

Allerdings stimmen bei uns die Feldinhalte von MARA-CUOBF und AUSP-OBJEK nicht überein 😲 😕

in der MARA steht ich sag mal 103030226 und in der AUSP steht 103030223. Wenn ich mir aber den Wert des Merkmals C01 zu 103030223 anschaue in der AUSP, dann ist das genau der Merkmalswert den ich über die MM01 in der Klassifikationssicht zum Material 103030226 gepflegt habe.

Achso: der umgekehrte Lookup im Standard der CL30N, also Suche mir alle Materialien die bei einem Merkmal einen bestimmten Merkmalswert aufweisen, funktioniert. Das Programm muss ja auch irgendwie zwischen den Einträgen der AUSP-OBJEK und den Materialien mit dem MARA-CUOBF mappen.

Alpmann
vor 3 Jahre
Hallo Ivy_1706,

mit diesem Code kannst du denn Wert eines CHAR Merkmals aus dem Materialstamm lesen.

Beimn ersten Select musst du deinen Merkmalsnamen einfügen.

Beim zweiten Select musst du deine Materialnummer einfügen.

DATA: Z_ATINN TYPE CABN-ATINN.

DATA: Z_MERKMALSWERT TYPE AUSP-ATWRT.

SELECT single atinn from cabn into Z_ATINN where atnam = 'MERKMALSNAME'.

select atwrt from ausp into Z_MERKMALSWERT where OBJEK = 'Materialnummer' and atinn = Z_ATINN and klart = '001'.

Schau bei dir doch mal in die SE16 bei Tabelle AUSP. Selektier dort nach OBJEK = 103030226 (eventuell führende Nullen ergänzen) und Klassenart 001. Dann solltest du alle Merkmalswerte zu dem Artikel sehen.

Für Zahlenwerte ist das Feld AUSP-ATWRT.

Mit freundlichen Grüßen

Matthias Alpmann

Ivy_1706
  • Ivy_1706
  • SAP Forum - Profi Thema Starter
vor 3 Jahre
Hallo Matthias,

danke schön.

Ich hab aber wirklich das komische Problem, dass es keine korrespondierenden Werte gibt. Klingt eigenartig ist aber leider so.

Das neue Merkmal, was wir verwenden wollen, habe ich nur bei zwei verschiedenen Materialien hinterlegt.

Wenn ich mit dem Merkmal in die AUSP reingehe bekomme ich auch genau zwei Zeilen. Die Werte in dem Objektfeld der AUSP sind in der MARA aber überhaupt nicht zu finden.

Kurios. Weiß echt nicht, was ich da noch machen soll, um von den Materialnummern auf die Merkmalswerte zu kommen. Es gibt auf dem schon beschriebenen Weg keine Verbindung. Warum auch immer stimmen die Feldinhalte nicht überein😢

Alpmann
vor 3 Jahre
Hallo Ivy_1706,

ist das denn Klassenart 001 bei euch? Im Materialstamm können auch Klassenart 200 oder 300 drin sein - sofern ihr konfigurierbare Material benutzt. Da steht dann bei AUSP-OBJEK wirklich was "kryptisches".

Mit dem Funktionsbaustein CLAF_CLASSIFICATION_OF_OBJECTS kannst du es auch lösen.

Musst du matürlich auf deine Artikel anpassen. "000000000380100016" ist bei uns eine Artikelnummer. Der funktioniert auch bei Klassenart 200 und 300.

Funktionsbaustein CLAF_CLASSIFICATION_OF_OBJECTS - probier mal mit diesen Werten:

Import-Parameter, Wert

CLASS, 3801

CLASSTEXT, X

CLASSTYPE, 001

CLINT, 0000000000

FEATURES, X

LANGUAGE, DE

OBJECT, 000000000380100016

BJECTTABLE,

KEY_DATE, 11.08.2021

INITIAL_CHARACT, X

NO_VALUE_DESCRIPT

CHANGE_SERVICE_CLF, X

INHERITED_CHAR

CHANGE_NUMBER

Mit freundlichen Grüßen

Matthias Alpmann

Ivy_1706
  • Ivy_1706
  • SAP Forum - Profi Thema Starter
vor 3 Jahre
Hallo Matthias,

ich nochmal.

So, ich hab es jetzt. Und zwar muss man noch eine Tabelle dazwischenschalten. Man kommt anscheinend nicht direkt von der MARA auf die korrespondierenden AUSP-Einträge.

Man muss wie folgt linken:

MARA-MATNR --> INOB-OBJEK

INOB-CUOBJ --> AUSP-OBJEK

Schluchti
vor ein Jahr
Hi!

steh hier vor dem selben Problem (bin aber in der Texterstellung von Queries (noch) nicht wirklich tief drinn....erstelle Queries eher über den Assistenten (zb in einer Quickview die Tabellen "vernetzen")

Jedenfalls hab ich da genau das selbe Problem wie Ivy.... Hab mir auch die INOB mal angesehen - Dort in "OBJEK" steht zwar die Materialnummer - allerdings mit den führenden Nullen.... daher lässt er mir MARA-MATNR mit INOB-OBJEK nicht joinen ("illegale Joinbedingung").

Hat jemand noch andere Ideen dazu?

(Mein Ziel wäre mal Grundsätzlich zu allen Materialien zumindest die Klasse herauszufinden - optimalerweise mit allen hinterlegten Merkmalsbewertungen)

....damit würde ich dann div. Queries um diese Information erweitern können, was bei uns doch einiges an Komfort bringen würde :)

/Edit:

Gerade Bemerkt: Auch bei INOB-CUOBJ mit AUSP-OBJEK hab ich das Problem mit den Nullen.... in der INOB ist CUOBJ ohne führende Nullen, in der AUSP sind die Nullen dabei :(

Danke euch wie immer schon mal im Voraus :)

LG

wreichelt
vor ein Jahr
Hallo,

hier gibt es nur die Möglichkeit die Daten (AUSP-OBJEK) über Coding einzulesen und dabei die Vornullen zu löschen.

Gruß Wolfgang

Schluchti
vor ein Jahr
Hi Wolfgang!

Danke für die rasche Antwort :)

Schade - dann werde ich wohl unser Inhouse Consulting damit quälen müssen.... zumindest weiß ich mal wie es weiter geht - Daher nochmal vielen Dank :)

LG

Schluchti