Also, prinzipiell ist eine Modifikation (eine Änderung eines Programmes, das im SAP-Namensraum liegt) etwas, das man nur machen sollte, wenn es zwingende(!!!) Gründe dafür gibt. Vorher sollte man prüfen:tabea* hat geschrieben:Kann mir da vielleicht jemand helfen?
Was ich machen soll, also es geht um das Modul HR, dort besteht im Infotypen 32 die Möglichkeit die LBV-Nummer einzugeben. Nun ist es so, dass die gerne eine Plausibilitätsprüfung dieser Nummer integriert hätten. Diese Plausibilitätsprüfung ist nicht sonderlich kompliziert, eigentlich ziemlich einfach, sie soll dann eben, jedesmal wenn der Anwender die Nummer eingibt testen, ob diese Nummer überhaupt den Richtlinien entspricht. D.h. die Nummer wird eingegeben, dann soll ein button betätigt werden der die eingegebene Nummer testet, entspricht die Nummer nicht den Richtlinien soll eine Fehlermeldung erscheinen die den Anwender darüber informiert.ralf.wenzel hat geschrieben: Zur Beurteilung der o. g. Punkte: Schreibe mal bitte genau, wo du welche Änderung haben willst, dann wird dir hier jemand sagen können, welchen Weg du am besten wählst.
Also ich bin schon sehr froh über die krasse Darstellung vom Ralf, da es mir doch die Augen geöffnet hat, das ich da einfach verdammt vorsichtig sein muss. Ich denke ja immer das alles geht ...ChrisB hat geschrieben: also ganz so krasse wir Ralf das beschreibt würde ich es nicht sehen. Es kommt auch immer drauf an in welchem Programm was genau modifiziert werden soll. Und da ist eine zusätzliche Eingabeprüfung (aus meiner Sicht) nicht so kritisch zu bewerten wie bspw. die Modifikation eine SAP-Standard-Schnittstelle...
Aber das muss man im Einzefall genau abwägen und prüfen und mit der SAP Basis abstimmen... in manchen Firmen sind die Vorschriften zur Prüfung ob eine Modifikation eingebaut werden darf sehr viel umfangreicher als in anderern Firmen...
Das hört sich schon mal sehr sehr gut für mich an! Ich hatte mir schon eine Alternativlösung überlegt, das Problem dabei ist, das dadurch für die Sachbearbeiter zusätzliche Arbeit anfällt und ich mir nicht sicher bin ob sie sich darauf einlassen.ChrisB hat geschrieben: Ganz unabhängig davon ist der Weg, den Ralf aufgezeigt hat, zuerst diverse Themen abzuprüfen ob es ohne Modifikation geht unbedingt einzuhalten. Und in diesem Fall geht es sehr einfach ohne... die SAP sieht für die Stammdatenpflege im HR explizit vor, dass zusätzliche kundeneigne Prüfungen durchgeführt werden. Hier gibt es die Erweiterung PBAS0001. Für diese muss in der CMOD ein eigenes Projekt angelegt werden und dann können die zusätzlichen Prüfungen im Funktionsexit EXIT_SAPFP50M_002 programmiert werden (im EXIT_SAPFP50M_001 können zusätzliche kundeneigene Vorschlagswerte für das Anlegen von Infotypen programmiert werden).
Der Userexit ist leider relativ schlecht dokumentiert... daher würde ich vorschlagen, dass Du Dir entweder Unterstützung holst oder genügend Zeit einplanst um Dir das Thema selbst genauer anzuschauen.
das kann ich dir ehrlich gesagt gar nicht sagen, also was es für ein Feld ist, der Auftrag ist am Freitag an mich heran getragen worden, und ich wollte mich erst mal darüber informieren ob ich überhaupt die Möglichkeit habe da "einfach" Änderungen zu vollziehen. Ich werde mir das morgen - mit all den zusätzlichen Informationen die ich nun durch dich habe - genau ansehen. Es ist gut möglich das ich dann noch mal ein Paar Fragen stellen muss. Aber so hört sich das für mich schon alles sehr gut und machbar an, ohne das ich da evtl. nicht zu überschauende Probleme auslöse.ChrisB hat geschrieben: Und jetzt noch was anderes... was ist dass denn für ein Feld im IT 32? LBV-Nummer sagt wir da nichts... könnte es sein, dass dies sowieso schon ein eigenes Feld ist? Dann kannst Du die Prüfungen auch im Kundencoding für das Zusatzfeld hinterlegen... es müsste dann den Modulpool ZP003200 geben und das Dynpro ZP003200 / 0200.
ChrisB hat geschrieben:Und jetzt noch was anderes... was ist dass denn für ein Feld im IT 32? LBV-Nummer sagt wir da nichts... könnte es sein, dass dies sowieso schon ein eigenes Feld ist? Dann kannst Du die Prüfungen auch im Kundencoding für das Zusatzfeld hinterlegen... es müsste dann den Modulpool ZP003200 geben und das Dynpro ZP003200 / 0200.
Hi Chris,ChrisB hat geschrieben:Hallo Tabea,
naja... dann handelt es sich eigentlich um ganz normale Dynpro Programmierung. Sprich im PAI in einem Verprobungsmodul einfügen und dort die gewünschten Verprobungsrichtilinen abprüfen. Ein separater Prüfbutton ist dafür eigentlich nicht nötig...
Ein Beispielcoding hab ich grad nicht greifbar. aber Du kannst Dir auch das Dynpro Coding eines SAP-Standard-Infotyps anschauen... da werden die meissten Felder auch einer Prüfung unterzogen.
Viele Grüße
Chris
Was soll denn passieren? Gibts Du ggf. eine Fehlermeldung aus und die erscheint nicht?tabea* hat geschrieben:Was passiert:
NICHTS :cry:
Woran kann es liegen????????????
es soll, wenn eine Nummer eingegeben wird die nicht den Plausibilitätsbedingungen genügt eine Fehlermeldung erscheinen, entweder beim enter drücken, oder speichern. Für den Test soll dann aber einfach bei jeglicher Eingabe eine Warnmeldung ausgegeben werden. Nur verzweigt der leider gar nicht in den Funktionsbaustein.brinam hat geschrieben: Was soll denn passieren? Gibts Du ggf. eine Fehlermeldung aus und die erscheint nicht?
Manchmal ist auch die Anweisung OUTPUT = INPUT. im FuBa notwendig. Vielleicht schickst Du mal etwas Coding.
Wenn Du den RSMODPRF ohne Angabe eines Datenelements startest, dann erhälst Du eine Liste aller Feldexits. Hat Deiner auch wirklich den Status aktiv?
Dein Datenbankfeld (LBV-Nummer) ist möglicherweise in der entsprechenden Datenbanktabelle nicht mit einem Datenelement, sondern nur mit dem Datentyp definiert. Ich finde so etwas ziemlich ?dirty?. Wenn dem so ist, dann musst Du das Datenbankfeld entsprechend mit Deinem neuen Datenelement hinterlegen, d.h. eine Anpassung in der SE11 machen. Prüfe aber vorher, ob der Typ Deines Datenelements auch wirklich dem des Datenbankfelds entspricht. Anderenfalls käme es zu Problemen, weil die Datenbank schon Einträge hat.tabea* hat geschrieben:Was habe ich gemacht:
1. Ein neues Datenelement angelegt
ja das wurde gemacht. Ich weiß wirklich nicht mehr weiter, es wäre so genial für diese Anwendung, deshalb mag ich auch noch nicht aufgeben!black_adept hat geschrieben:Hallo Tabea,
nachdem du den Profilparameter auf "YES" gesetzt hast,muss das SAP-System einmal neu gestartet werden. Wurde das gemacht?
Code: Alles auswählen.
SELECTION-SCREEN BEGIN OF BLOCK sp
WITH FRAME TITLE text-001.
PARAMETERS: z_lbvnr TYPE z_lbvnr .
SELECTION-SCREEN END OF BLOCK sp.