Hallo zusammen und einen guten Start in die Woche.
Mich würde mal interessieren wie ihr folgendes Problem handhaben würdet.
Folgendes ist gegeben:
Es gibt ein Tabstrip. Einer dieser Tabs heißt Konditionen. Hier werden Daten in einem Table-Control übergeben bzw. Dargestellt.
Diese Daten werden auf einem anderen Tabreiter benötigt. Sobald die Daten der Konditionen sich ändern ( per eingabe und Enter Taste) sollen sie das auch auf dem 2 Reiter.
Das Problem. Der zweite Reiter ist ein User-Exit und hier werden die Daten aktuell nicht übergeben.
Wie würdet ihr das Problem theoretisch angehen?
Freue mich über jede Hilfestellung.
Eine Schöne Woche.
Also rein theoretisch:
Die Daten müssen irgendwo im Hintergrund vorgehalten werden. Dafür sollte es (rein theoretisch natürlich) eine API zum Zugriff auf die einzelnen Datensätze in der Tabelle geben. Da die Darstellung des Tablecontrols und des Tabreiters (Subscreen) voneinander getrennt ist aber trotzdem auf PAI/PBO aufbaut reicht es im PBO des Subscreens die Daten von der (theoretischen) API zu lesen und die Daten in die Felder auf dem Dynpro einzufügen.
Ändert jemand einen Wert im Table-Control und bestätigt die Änderung durch ENTER oder einem anderen Funktionscode (damit PAI/PBO durchlaufen wird), werden diese Änderungen von der (theoretischen) API in die interne Verwaltung übernommen von wo aus das Kunden-Dynpro ebenfalls seine Daten für die Darstellung bezieht.
Das ganze ist jetzt natürlich nur rein theoretisch 😉
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
Vielen dank für die Theorie=)
Habe nun den Punkt, bzw die interne Tabelle (ivzzkopo) gefunden, wo die Daten geändert werden und dann zurück gegeben werden. Wie würdest du denn nun vorgehen? Im bereits existierenden User-Exit 14 werden diese Daten leider nicht übergeben. Ich habe grade geschaut, ob es einen Enhancement Point gibt. Da ist aber leider in keinem passenden Modul enthalten. Wenn ich an verschiedenen Punkten versuche meinen Fuba per Enhancement Point zu rufen, ist dieser immer nicht erreichbar.
Da ich nicht weiß von welchem User-Exit (Funktionsgruppe? Programm? Transaktion?) du jetzt genau redest, kann ich dir leider wirklich nicht mehr viel weiterhelfen.
Beinahe jede Implementierung von User-Exits bzw. BAdIs hat irgendwelche Sonderlogiken oder Dinge die man beachten muss.
Generell könntest du nach Verwendungen von 'ivzzkopo' suchen. Vielleicht finden sich ja irgendwelche Funktionsbausteine bzw. Form-Routinen oder ähnliches worüber man (public) darauf zugreifen kann.
Als letzter Ausweg bleibt dann aber auch immer noch ein Dirty-Assign 😉
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
Morgen,
ich gehe mal auf die Suche nach der Verwendung der "ivzzkopo".
Ich arbeite mit dem User-Exit 14 in den Anwendungen FN2A, FN3A. Das Programm dazu nennt sich SAPMF67A und die Funktionsgruppe ist die XF67. Vielleicht hilft dir das ja etwas, mir zu helfen :)