Folgende Benutzer bedankten sich beim Autor msfox für den Beitrag (Insgesamt 2):
ZF_SAPler • black_adept
Vielen Dank!msfox hat geschrieben: ↑19.04.2022 20:51Zunächst für die deutsche Sprache: Transaktion BP -> Rolle "Kunde" -> Button Vertrieb -> Zusatzdaten -> Gruppen.
--
So wie ich das sehen, gibt es schon 5 Gruppen im Standard?
Dein Stichwort laut hier BDT, was man für solche Sachen verstehen sollte, sonst kann viel falsch machen. Ich versuche dir das mal in kürze als Eckpunkte/Stichpunkte zu vermitteln.
--
Über das Bereichtsmenü "BUPT" kannst du das BDT des GP pflegen.
Geschäftspartner -> Steuerung -> Bildaufbau:
Hier fangen wir mal hinten an:
1. Bilder (TC: BUS5) -> Bild "CVIC74" Bildtitel "Zusatzdaten"
---> Das spiegelt quasi deinen Tabreiter wieder, der aus zwei Teilen (Abschnitten) besteht. Wenn du dort links "Bild->Abschnitte" wählst, da siehst du als Abschnitt in der Tabelle "CVIC80" = Kundengruppen. Auf diesem Abschnitt befinden sich die 5 bisherigen Felder.
2. Abschnitt (TC: BUS4) -> Abschnitt "CVIC80"
Zu diesem Abschnitt gehört nur eine Sicht = "CVIC89" (Abschnitte -> Sichten).
3. Sichten (TC: BUS3) -> Sicht "CVIC89"
Wenn du einen Doppelklick auf die Zeile der Sicht CVIC89 machst, siehst im Bereicht "Subscreen" Programm = "SAPLCVI_FS_UI_CUSTOMER_SALES" und Bildnummer = "0089". Auf dem Button Screen Painter kannst du dir das Dynpro anschauen.
DAS DYNPRO DARST DU NICHT ÄNDERN, DA SAP!
Du musst also deinen eigene Sicht, mit eigenen Dynpro usw. anlegen
Deine Sicht kannst du später unter Abschnitte (Punkt 2.) darunter anfügen.
Wichtig ist noch, dass du für deine Felder auch ein Feldgruppe (TC: BUS2) definierst, das brauchst du später u.a. für die richtige Anzeige der Änderungsbelege. Die Feldgruppe der SAP ist übrigens 1936. Schau dir diese mal an und legen deine Feldgruppe analog an.
Nun hättest du quasi die Maske um deine Felder erweitert, aber bisher noch keine Daten in den Felder und gespeichert werden sie auch noch nicht.
Du brauchst bei deiner Sicht eigene PBO, PBC und PAI Funktionsbaustein.
Da es deine eigenen Bausteine in der deiner Funktionsgruppe sind, hast du dort auch eigenen Screenstrukturen.
Hierfür hat die SAP sogenannte Zeitpunkt-Funktionsbaustein
Geschäftspartner -> Steuerung -> Zeitpunkte (Business Data Toolset: TC BUS7).
Hier sind für dich die Zeitpunkte ISDST und DSAVB entscheidend. Lege dir für beide Zeitunkte eigene Funktionsbaustein an und hänge Sie nach den SAP-Fubas über die Transaktion BUS7 in den richtigen Zeitpunkt.
Im Zeitpunkt ISDST liest du mit dem Fuba CVIC_BUPA_KNVV_GET die Daten aus der Funktionsgruppe der SAP auf deine ScreenStruktur.
Im Zeitpunkt DSAVB liest du zunächst wieder über den Fuba CVIC_BUPA_KNVV_GET die Daten auf eine lokale Struktur. Ergänzt dann die Felder aus deiner ScreenStruktur (also die Daten von den DynproFelder) und schreibst dann mit CVIC_BUPA_KNVV_??? die Daten wieder zurück in die Funktionsgruppe der SAP.
Laut TC: BUSG gibt es für die KNVV kein SET-Fuba. Versuch es mal mit CVIC_BUPA_KNVV_COLLECT.
Durch den Aufruf des SAP-Standard-Fuba im Zeitpunkt DSAVE landen die Daten wieder auf der Datenbank. Hinweis: Im Zeitpunkt DSAVE dürfen keine Prüfungen mehr gemacht werden!
Die Prüfungen machst du entweder im PAI-Fuba deiner Sicht (=Sichtenprüfung; wird bei Enter durchlaufen) oder im Zeitpunkt DCHCK (=Sichtenübergreifende Prüfung; wird beim Sichtwechsel durchlaufen).
Wichtig noch: Die Zeitpunkte DLVE1 und DLVE2. Da musst du deine ScreenStruktur und sonstige Daten wieder CLEARen.
Wenn die BAPI-Funktionsbausteine und der DirectInput auch korrekt arbeiten sollen, sind die Zeitpunkte DINP1 und DINP2 deine Freunde. Vielleicht geht das aber auch über den SAP-Standard automatisch mit. Das weiß ich nicht, muss du mal testen.
--
Alles klar? -> dann los :).
Einfach kann jeder...