SAP Jobsuche bei DV-Treff
kodosawaki
vor 7 Jahre
Hallo Experten,

auch wenn in der Information zum Objekt von SAP empfohlen wird, im Standard zu bleiben, können im Prinzip in der Nachrichtenfindung der Bestandsführung Zugriffsfolgen für die Konditionen der Nachrichtenart WE03 GR Note Vers.3 gepflegt werden. Wenn ich die Abfolge in der SPRO richtig verstehe, dann muss zuerst eine Konditionstabelle angelegt werden. Diese Tabelle kann dann in einer neuen Zugriffsfolge verwendet werden.

Der Prozess-Owner möchte eine Zugriffsfolge unter Verwendung der Rolle Rechnungssteller aus der Bestellung (zu der ein Wareneingang erfolgt). In den Feldkatalogen der vorhandenen Konditionstabellen zu dieser Nachricht ist die Rolle Rechnungssteller aus der Bestellung nicht vorgesehen:

Um eine neue Konditionstabelle anzulegen, fehlt mir aktuell eine Berechtigung (%A No uthorization for usage B application ME Message no. VK807).

Kann mir jemand die weitere Suche abkürzen und sagen, ob es überhaupt möglich ist, den Rechnungssteller hier in die Zugriffsfolge auzunehmen? Und wenn nicht, wie kann ich dies den Anforderern gegenüber belastbar belegen.

Vielen Dank im Voraus für eure Hilfe!

Gruß und Gassho

Kodo

Förderer

professor
vor 7 Jahre
sollte gehen:

https://www.sapdatasheet.org/abap/tabl/str_we03_details.html  (Zeile 362)

kodosawaki
vor 7 Jahre
Hallo Professor,

danke für deine Rückmeldung.

In der Zeile 362 ist ein Feld "Different Invoicing Party", sehe ich dort

Da ich kein Entwickler bin, muss ich weiter fragen: kann ich dieses Feld beim Anlegen einer Konditionstabelle für WE03 "zu fassen bekommen"? Wenn ja, wie?

Und falls ja, wird dort nur der Rechnungssteller ausgegeben, wenn er abweicht, oder auch, wenn die typischen vier Rollen in der Bestellung mit demselben Kreditor belegt sind?

Ich wäre dir, und allen anderen Experten, sehr dankbar für weiteren Input.

Vielen Dank im Voraus!

Gruß und Gassho

Kodo

kodosawaki
vor 7 Jahre
... ach und noch eine Frage:

Ich komme ja bei der Nachrichtenfindung zum Materialbelg nur indirekt zur Bestellung. Wenn ich mehrere Positionen in einer Nachricht verarbeite, könnte ich dann ggf. auf verschiedene Bestellungen und damit auch auf verschiedene Rechnungssteller kommen?

professor
vor 7 Jahre
Hier wird beschrieben, wie Du den Feldkatalog erweiterst:

https://help.sap.com/saphelp_erp60_sp/helpdata/de/c8/19882043b111d1896f0000e8322d00/content.htm 

Die Applikation ist ME

Danach kannst Du neue Konditionstabellen mit dem Feld anlegen und dann die Konditionssätze dazu.

Du solltest in der MIGO immer Einzelschein verwenden, dann werden die Nachrichten auf Positionsebene erzeugt. Damit ist auch der Bestellbezug pro Position eindeutig.

kodosawaki
vor 7 Jahre
Hallo Professor,

danke vielmals für diesen Input.

Auf die beschriebene Weise konnte ich den Feldkatalog der Nachrichten in der Bestandsführung um das Feld LIFRE erweitern:

im Transport: Viewpflege: Daten

V_T681F

T681F

BME001LIFRE

In der Transaktion NACE habe ich dann die Funktion Zugriffsfolgen gewählt.

Dort gibt es drei Schritte: Zugriffsfolgen, Zugriffe und Felder.

Ich habe die bei uns verwendete Zugriffsfolge verwendet, die vier Zugriffe enthält (angefordert ist, dort einen Fünften mit dem neuen Feld anzulegen). Dazu habe ich einen vorhandenen Zugriff kopiert, mit (dann ohne) abhängige Einträge. Nun möchte ich das neue Feld aus dem Feldkatalog einfügen, kann aber keine neuen Feld-Einträge einfügen. Ansichtsweise kann ich dort wiederum einen Feldkatalog ansehen, es ist aber nur der Folgende (und ohne das neue Feld).

Tabellenname Kurzbeschreibung

Feldname Kurzbeschreibung

KOMKBME Findungskopf

VGART Vorgangsart

WEVER Version für den Druck des Warenbegleitscheines

KOMPBME Findungsposition

ERNAM Name des Sachbearbeiters, der das Objekt hinzugefügt hat

ETI01 WWS Etikettierung: Materialetikett

ETI02 WWS Etikettierung: Regaletikett

ETIAR Etikettierungsart

ETIFO Etikettierungsform

KNBDR Kanban-Karte drucken

KZDRU Drucken einer Belegposition

LGORT Lagerort

LMBMV Unter-/Überlieferung

SHKZG Soll-/Haben-Kennzeichen

WEAKT Kennzeichen: Wareneingangsnachricht

WERKS Werk

XFMAT Material ist Fehlteil

Muss ich ganz neu über den ersten Schritt Zugriffsfolgen gehen? Und etwas "generieren"? Dann müsste ich alle vier alten Zugriffe neu anlegen und die Z-Zugriffsfolge mit den fünf Zugriffen dann - ich weiß nicht wo - unseren Prozessen zuordnen. Ist das so kompliziert?

Oder war ich in den Zugriffen selbst schon ganz nah dran und habe noch etwas vielleicht ganz Einfaches übersehen? Muss ich in NACE den Expertenmodus extra aktivieren? Falls ja, wo?

Viele Fragen, sorry dafür!

Für jeden Hinweis bedanke ich mich herzlich im Voraus.

Gruß und Gassho

Kodo

professor
vor 7 Jahre
Du musst einen neue Konditionstabelle anlegen im Customizing der Bestandsführung.

Dort die gewünschten Felder aus dem Feldkatalog auswählen und dann die Tabelle generieren.

Diese baust Du dann in die Zugriffsfolge der Nachrichtenart WE03 ein. Dabi musst Du meines Wissens immer bis zur Feldzuordnung durchklicken.

Danach kannst Du die Konditionssätze anlegen.

kodosawaki
vor 7 Jahre
Hallo Professor,

nochmal danke für den weiteren Input. Die Konditionstabelle habe ich angelegt.

Dann habe ich einen neuen Zugriff definiert mit der neuen Tabelle. Das Feld für den Rechnungsteller hatte ich in der Tabelle selektiert. Diese Selektion wird auch in den neuen Zugriff übernommen. Ich habe also mein Feld schon im neuen Zugriff.

Dann kommt aber folgenden Fehlermeldung:

Select a document field for LIFRE Message no. VT510

https://apps.support.sap.com/sap/support/knowledge/preview/en/2359621  , nur dass die Lösung dort bei mir nicht passt. Es geht wohl darum, woher das Feld befüllt wird.

Darunter ist ein Absprung auf einen Feldkatalog

KOMKBME Determination header

Dort ist mein Feld Rechnungssteller nicht enthalten und ich sehe auch nichts, das ich etwas auswählen könnte, so dass eine passende Datenableitung definieren würde.

Vielen Dank im Voraus für deine Hilfe bei den letzten Metern ins Ziel!

Gruß und Gassho

Kodo

professor
vor 7 Jahre
Na, dann mal zum Endspurt:

Bitte mit der SE11 das Feld LIFRE in die Kommunikationsstrukturen KOMKBME und KOMPBME eintragen, dann aktivieren und speichern.

Nun sollte die Fehlermeldung nicht mehr kommen.

kodosawaki
vor 7 Jahre
jetz habe ich endlich die Berechtigung für die Konditionstabellen und kann noch folgende Information geben:

Das Feld LIFRE hat, anders als die anderen selektieren Felder, in der technischen Sicht der neuen Konditionstabelle

1. in MV12A-ZEIFD (Footer field) ein Flag und

2. das Radiofeld MV12A-FSETXT (Textfield) aktiviert.

zu 1.)

Field to appear on fast entry screen

Determines whether the field appears as an item on the fast entry screens. The fast entry screens are the initial screens you see when you create or maintain condition records.

Procedure: If you want the field to appear as an item, mark the field.

Example: You create a condition table for customer-material discounts. You want the header information on the fast entry screens to include fields such as Sales organization and Distribution channel. You mark the Material field as the only field you want to appear as an item.

zu 2.)

Text field for fast entry

Determines whether the text for a field appears on the fast entry screens. The fast entry screens are the initial screens you see when you create or maintain condition records.

Procedure: If you want the text to appear as an item, mark the field.

kodosawaki
vor 7 Jahre
Hallo Professor,

noch eine Frage: wenn wir die Struktur erweietert haben, müssen wir dann noch programmieren, wie das Feld gefüllt wird?

Danke im Voraus,

Gruß und Gassho

Kodo

professor
vor 7 Jahre
Nein, das machst Du dann im Konditionssatz.
kodosawaki
vor 7 Jahre
Guten morgen Professor,

ich meinte, wie es in der Struktur gefüllt wird.

Der Rechnungssteller muss ja aus der Bestellung ausgelesen werden, auf die sich die WE-Materialbelegsposition bezieht.

Der Wert im Konditionssatz wird dann geprüft gegen den Wert aus der Struktur zum aktuellen Beleg, oder habe ich etwas falsch verstanden?

Gruß und Gassho

Kodo

professor
vor 7 Jahre
Du wolltest (erster Post) den Rechnungssteller in der Zugriffsfolge haben.

Also haben wir den Feldkatalog für die Konditionstabellen erweitert.

Dann haben wir eine neue Konditionstabelle angelegt.

Diese dann in die Zugriffsfolge der Konditionsart WE03 aufgenommen.

Mehr ist nicht nötig.

Jetzt kannst Du Konditionssätze anlegen, in denen Du festlegst, bei welchen Rechnungsstellern Du die Nachricht WE03 ausgeben willst.

kodosawaki
vor 7 Jahre
Hallo professor,

heute war unser Entwickler an der Sache und ich kann berichtet, wie er die Umsetzung abgeschlossen hat.

Zum einen musste das Feld LIFRE in die Kommunikationsstruktur KOMPBME eingefügt werden. Dann musste im Include RVCOMFZ2 das Coding siehe weiter unten erstellt werden.

Bis auf diese zwei Punkte hast du mir mit deinen Hinweisen sehr weiter geholfen. Danke noch mal dafür. Ich hoffe, dass mit der folgenden Darstellung der Umsetzung klarer wird, was noch gefehlt hatte.

Vielen Dank noch einmal!

Gruss und Gassho

Kodo

*---------------------------------------------------------------------*

* FORM USEREXIT_KOMPBME_FILL *

*---------------------------------------------------------------------*

* This userexit can be used to move additional fields into the *

* communication table which is used for application ME (item) *

*---------------------------------------------------------------------*

FORM USEREXIT_KOMPBME_FILL.

COM_PBME-ernam = COM_MSEG-USNAM_MKPF.

data: ls_ekko type ekko.

clear ls_ekko.

select single * from ekko into ls_ekko

where ebeln eq com_mseg-ebeln.

if sy-subrc eq 0.

if ls_ekko-LIFRE is NOT INITIAL.

COM_PBME-LIFRE = ls_ekko-lifre.

else.

COM_PBME-LIFRE = ls_ekko-lifnr.

endif.