SAP Jobsuche bei DV-Treff
huehan98
  • huehan98
  • SAP Forum - User Thema Starter
vor 10 Jahre
Hallo zusammen,

ich benutzte eine VC für die Preisfindung im SD.

Der SD-Beleg ist dabei als Struktur mittels übergeordneter Position aufgebaut. Jene Positionen werden jedoch nicht über die VC ermittelt sondern werden über ein externes System angelegt. Jede Position besitzt dabei einen VC.

Ist es möglich, dass bestimmte Merkmale aus dem obersten VC gelesen werden können. $root im Beziehungswissen funktioniert dabei nicht.

Beispiel:

posnr material merkmal uepos

10 104411 PREIS

20 104411 PREIS 10

Das Merkmal PREIS der Position 20, soll vom Merkmal PREIS der Position 10 gefüllt werden.

Wie könnte man das machen?

Vielen Dank.

Gruß, Hannes

mas
  • mas
  • SAP Forum - Guru
vor 10 Jahre
Hallo Hannes,

ich habe jetzt schon länger nicht mehr aktiv konfiguriert.

Bei einer mehrstufigen Konfiguration müsstest du dir die Werte mittels Constraint von einer Ebene in die andere durchreichen.

So wir du schreibst bist du aber nicht mehrstufig sondern hast zwei individuelle MatNummern. Da könnte ich mir nur eine Lösung über einen Funktionsbaustein vorstellen.

Mal schau'n ob jemand eine bessere / einfachere Idee hat.

Schönen Abend noch

mas

hochlebediesap
vor 10 Jahre
Hallo,

nicht schön aber es geht. Du ordnest der Pos 20 eine Klasse zu mit dem Objektmerkmal Preis aus der Klasse von Pos 10. Dann eine Prozedur über die Stückliste an Pos 20 $self.MERKMAL = $root.MERKMAL damit es nicht immer durchlaufen wird kannst du noch sagen in der Prozedur if specified MERKMAL.

Das sollte klappen.

Viele Grüße

Stephan

huehan98
  • huehan98
  • SAP Forum - User Thema Starter
vor 10 Jahre
Hallo zusammen,

danke für die Antworten:

@hochlebediesap

habe genau das gemacht, was aber leider nicht funktioniert.

Position 10 und 20 haben die gleiche Materialnummer mit dem gleichen Konfigurator. Über Prozedur wollte ich dann das Merkmal in Position 20 füllen($self.MERKMAL = $root.Merkmal), was aber leider nicht funktioniert.

@mas

das mit dem Funktionsbaustein habe ich mir auch überlegt, weis da aber nicht wie ich auf die Daten von Pos. 10 zur Laufzeit zugreifen kann.

Hast du da ein paar Tipps?

Bin über jede Hilfe dankbar.

Danke vorab.

Gruß, Hannes

mas
  • mas
  • SAP Forum - Guru
vor 10 Jahre
Hallo Hannes,

wird nicht ganz einfach sein.

Mindestanforderung wird sein, dass der Beleg bereits gespeichert ist, damit du einen Eintrag in der VBAK / VBAP hast.

Im FB könntest du mal versuchen diesen FB aufzurufen.

VC_I_GET_CONFIGURATION

Evtl. macht es auch Sinn in der Position mit einem kleinen FB den Wert in eine eigene Z-Tabelle wegzuschreiben und den Wert dann in der anderen Position einzulesen.

Viele Grüsse

mas

hochlebediesap
vor 10 Jahre
Hallo Hannes,

das heißt es sind zwei eigenständige Positionen? Das mit dem $self $root funktioniert nur, wenn du eine Stückliste hast. Hast die eine?

===>

wird nicht ganz einfach sein.

Mindestanforderung wird sein, dass der Beleg bereits gespeichert ist, damit du einen Eintrag in der VBAK / VBAP hast.

Im FB könntest du mal versuchen diesen FB aufzurufen.

VC_I_GET_CONFIGURATION

===>

wenn du ganz viel Glück hast bekommst du die Werte vor dem Speichern in der XVBAK XVBAP bzw. YVBAK YVBAP das sind ja die SD Schattentabellen, die vor dem sichern teilweise gefüllt sind. Wird aber nicht einfach.

Viele Grüße

Stephan

huehan98
  • huehan98
  • SAP Forum - User Thema Starter
vor 10 Jahre
Hallo hochlebediesap und mas,

danke für eure Tipps. Habe das mit dem FB größtenteils hingekriegt. Arbeite zur Zeit mit einer Export/Import Tabelle, was ich aber später durch eine Z-Tabelle ablösen möchte. Bin da noch etwas unschlüssig.

Die Werte werden aber nur übernommen, wenn ich die Konfiguration öffne.

Gibt es die Möglichkeit, einen Durchlauf sämtlicher Konfiguration im Hintergrund(Dunkel) zu machen (ähnlich wie bei neuer Preisfindung über den kompletten Beleg) ?

Vielen Dank für eure Hilfe.

Schönes Wochenende,

Hannes