Von einem Java Objekt auf ein SAP Dynpro zugreifen

Rund um Java und SAP®.

Von einem Java Objekt auf ein SAP Dynpro zugreifen

Postby Ingo3646 » Mon Jan 08, 2007 2:35 pm

Hallo erstmal,

also ich fange gerade an mich mit JCO außernander zu setzten, hab auch erst vor kurzem mit ABAP angefangen.

Habe als Projekt die Aufgabe einen Geteilten Bildschirm (auf der einen Seite ein ABAP Dynpro und auf der anderen eine Java-Applikation). Darstellung und so ist kein Problem. Für JCO gibt es ja genügend Beispiele (auch in diesem Forum).

Frage:
Alle Beispiele die ich bis jetzt durchgeschaut habe wird auf der Java-Seite mittels JCO auf Functions in SAP zugegriffen. Gibt es eine Möglichkeit auf ein Ein-/Ausgabefelder auf einem Dynpro zuzugreifen und den Inhalt zu verändern?

Genauere Beschreibung meines Problems:
Wenn man auf der Java-Seite einen Button drückt sollen auf dem Dynpro Informationen dazu erscheinen.
Ingo3646
.
.
 
Posts: 7
Joined: Mon Jan 08, 2007 2:35 pm

Von einem Java Objekt auf ein SAP Dynpro zugreifen

Postby Ingo3646 » Wed Jan 10, 2007 12:48 pm

Hab eine Lösung!!!

Da man mit JCO nur Funktionsbausteine aufrufen kann, hab ich einfach nach einem gesucht der meine Dynprofelder für mich füllt.

Einfach von Java aus, den Baustein: DYNP_UPDATE_FIELDS und passender Parameter aufrufen. Fertig.
Ingo3646
.
.
 
Posts: 7
Joined: Mon Jan 08, 2007 2:35 pm

Von einem Java Objekt auf ein SAP Dynpro zugreifen

Postby Ingo3646 » Wed Jan 10, 2007 3:47 pm

Hab ein Problem gefunden!

Also von Java aus funktioniert es den Funktionsbaustein aufzurufen. Es werden auch alle Daten korrekt übergeben.

Es werden aber keine Daten ins aktuelle Dynpro eingetragen. Ich hab auch eine Vermutung warum nicht: Die Daten werden bestimmt eingetragen (in dem Dynpro was ich angebe) aber nicht in dem Fenster, wo das Dynpro gerade läuft.

Meine Vermutung hat sich daduch gestärkt, da in dem Programm selbst die Funktion auf gerufen habe und die Daten übergab. Die Felder wurden eingetragen. (Bis hier stimmt noch alles) hab ich aber das Programm 2 mal laufen werden auch nur die Felder gefüllt von wo aus ich die Funktion aufgerufen habe.

Weis vielleicht jemand wie man genau bestimmen kann welches Fenster?
Ingo3646
.
.
 
Posts: 7
Joined: Mon Jan 08, 2007 2:35 pm

Von einem Java Objekt auf ein SAP Dynpro zugreifen

Postby Ingo3646 » Wed Jan 10, 2007 6:04 pm

Hui Alle Antworten kamen bis jetzt von mir.

Das war aber nicht das einzigste was ich jetzt wieder wollte. Hab warscheinlich jetzt die Lösung meines Problems.

Ich lasse einfach alle Daten was ich auf dem Dynpro aktualisieren will in eine Tabelle auf dem SAP System schreiben und das Dynpro lasse ich immer Refreshen (ca. alle 2 Sekunden oder so). So sollte es eigentlich funktionieren.
Werde es warscheinlich morgen fertig stellen (Will ja auch mal Feierabend machen)
Ingo3646
.
.
 
Posts: 7
Joined: Mon Jan 08, 2007 2:35 pm

Postby Valentin1455 » Wed Jan 10, 2007 6:19 pm

Das Problem kam daher, das der JCO in einer anderen Transaktion als dein aktuelles Dynpro abläuft, und Datenübergabe zwischen Transaktionen ist nicht wirklich gut möglich. (Ausser eben über Datenbanktabellen). Du kannst aber einen Timer (cl_gui_timer oder so) laufen lassen der alle 5sec die Tablle auf andere Daten prüft und Felder updatet.
Valentin1455
...
...
 
Posts: 178
Joined: Fri Apr 30, 2004 11:26 am

Von einem Java Objekt auf ein SAP Dynpro zugreifen

Postby Ingo3646 » Mon Jan 15, 2007 10:50 am

Hat Funktioniert!

Habs aber nicht über eine Tabelle sondern über den Speicher laufen lassen.
Ingo3646
.
.
 
Posts: 7
Joined: Mon Jan 08, 2007 2:35 pm


Return to Java & SAP®

Who is online

Users browsing this forum: No registered users and 2 guests