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

ich möchte das Feld Steuerklasse in der VBAP bei Anlage eines Angebots/Auftrages anpassen, abhängig von Z-Feldern in der VBAK.

Ich habe die Anpassung im Exit MV45 MOVE_FIELD_TO_VBAP eingebaut, da ich dort auf VBAK und VBAP Felder zugreifen kann.

Das Problem ist jetzt aber, dass, wenn ich einen Auftrag/Angebot mit Vorlage anlege, der user-exit zwar durchlaufen wird, aber die Felder werden danach mit einer Funktion FV.....VBAP_COPY_DATA_STANDARD wieder überschrieben.

Danach habe ich mir noch mal den exit MV45 SAVE_DOCUMENT_PREP angeschaut, dort habe ich aber keinen Zugriff mehr auf die VBAK.

Hat jemand eine Idee, welchen anderen Exit ich nehmen kann bzw. wie ich die exits ausprägen muss???

Danke und viele Grüße Dagmar

Sam_68
vor 3 Jahre
Guten Tag,

schau bitte im Include FV45PFAP_VBAP_FUELLEN (Rahmenprogramm SAPFV45P), dort siehst Du ENHANCEMENT-POINTs z.B. vbap_fuellen_10, die beim Anlegen eines Auftrags mit Vorlage bestimmte Inhalte der Tabelle VBAP (besser gesagt CVBAP) nicht überschreiben lassen.

Wenn das Problem nur beim Kopieren aus einem anderen Beleg entsteht, schaue bitte in Pos. Kopier-Routine (z.B. in 151), dort findest Du paar Enhancements (z.B. VBAP_COPY_DATA_STANDA_02) , die die Überschreibung der Feldern SteuerklasseX verhindern können.

Das andere Thema ist es einfach, ob die Z-Felder der Tabelle VBAK zum Zeitpunkt des Kopierens (Auftrag --> Auftrag) korrekt gefüllt waren. Viel Erfolg

SanduhrAnzeigeProgramm
vor 3 Jahre
Auch wenn ich etwas den Eindruck habe, dass das Thema vielleicht nicht bezüglich aller Alternativen durchdacht wurde, meine Gedanken zu deiner konkreten Frage:

Wie ich dich verstehe willst du das Feld ja nicht übernehmen und durch initialisieren in MOVE_FIELD_TO_VBAP geht das z.B. ganz einfach.

Danach schreibst du deinen Wert in vbap-taxm1 und das war es auch schon.

Oder verstehe ich dich falsch?


*... who can do field replacements in the debugger can do anything in the system

*so this check can not stop (him) anyway.

dagmard
  • dagmard
  • SAP Forum - User Thema Starter
vor 3 Jahre
Also, das Thema habe ich gelöst.

Zuerst hatte ich den Include ....MOVE_FIELD_TO_VBAP, da wird aber das geänderte Feld wieder überschrieben, wenn man z.B. einen Auftrag mit Vorlage anlegt.

Ich habe dann den include .....SAVE_DOCUMENT_PREP angepasst. Der wird ganz am Schluß immer durchlaufen, und dort habe ich Zugriff auf die VBAK und VBAP.

Danke an alle für die Unterstützung. Grüße Dagmar

SanduhrAnzeigeProgramm
vor 3 Jahre
Zitat von: dagmard 

...

Zuerst hatte ich den Include ....MOVE_FIELD_TO_VBAP, da wird aber das geänderte Feld wieder überschrieben, wenn man z.B. einen Auftrag mit Vorlage anlegt.

...

Nicht wenn du es wie von mir beschrieben machst.

Zitat von: dagmard 

...

Ich habe dann den include .....SAVE_DOCUMENT_PREP angepasst. Der wird ganz am Schluß immer durchlaufen, und dort habe ich Zugriff auf die VBAK und VBAP.

...

Wodurch der "korrekte Wert" dem Anwender nicht zur Verfügung steht bei Beleganlage.

Wenn das aber dem User absichtlich verheimlicht werden soll, wäre das natürlich eine Möglichkeit.

Aus Architektursicht, ist die Lösung aber nicht gerade der goldene Pfad.

Solche Manipulationen in den userexit_save_document_prepare zu hängen macht über kurz oder lang Probeleme, ganz ohne Not.


*... who can do field replacements in the debugger can do anything in the system

*so this check can not stop (him) anyway.