Problem bei Update

Rund um Java und SAP®.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Problem bei Update

Beitrag von Seneca (ForumUser / 19 / 0 / 0 ) »
Hallo Zusammen !

Nach erfolgreicher Proxy-Generierung, Verbindung steht etc. habe ich mal versucht einen Update in das System zu bekommen. Die Return-Tabelle liefert mir lapidar, dass der User bereits existiert, dass tut er jedoch mitnichten.

Code: Alles auswählen.

	private void setUpChangeProxy()
	{
		_changeProxy = new UserChangeProxy_PortType();
		_changeProxy.messageSpecifier.setJcoClient(_client);
	}

public void changeUser(String userName)
	{

		this.setUpChangeProxy();
		Bapi_User_Change_Input in = new Bapi_User_Change_Input();
		
		in.setUsername(userName);
		
		// setzen geänderter Adresse
		Bapiaddr3Type addr = new Bapiaddr3Type();
		addr.setAddr_No("1");
		addr.setCity("Orlando");
		addr.setCountry("US");
		addr.setDepartment("Magical Affairs");
		addr.setFirstname("Peter");
		addr.setFunction("Protagonist");
		addr.setLastname("PAN");
		in.setAddress(addr);
				
		try
		{
			Bapi_User_Change_Output out = _changeProxy.bapi_User_Change(in);

			this.showReturn(out.get_as_listReturn());
						
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		
		finally
		{
			_cm.releaseConnection(_client);
		}		
		
	}
Anmerkung: _cm ist eine Instanz eines ConnectionManagers, welcher den Pool verwaltet, funktioniert auch.

Generell stellt sich mir die Frage, wann überhaupt das BAPI aufgerufen wird; ist dieses implizit durch den Aufruf der Methode bapi_user_change(in) ???

Wie ist das eigentlich mit Transaktionen in diesem Modell ?? Gesetzt den Fall, ich will zwei BAPI's aufrufen und im Fehlerfalle eines BAPI's BEIDE rückgängig machen, wie funktioniert denn das ? JTA ist ja wohl kaum die Lösung, oder ??

Danke und Gruß

Seneca

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Seneca (ForumUser / 19 / 0 / 0 ) »
Sorry, die Änderung (s.o.) funktioniert nicht, obwohl es in der Return-Tabelle angezeigt wird.

Gruss, Seneca

Beitrag von Hermann ( / / 0 / 3 ) »
Was hast Du denn genau vor? So wie's aussieht schreibst Du ein UserManagement auf Java-Basis? Dazu nutzt Du die BAPI_USER_*-Bausteine?!
Mit changeUser soll ein Benutzer geändert werden. Wenn die Meldung kommt, dass ein User bereits existiert ist das soweit ok. Wenn er nicht existiert, dann musst Du BAPI_USER_CREATE verwenden. Ausserdem empfiehlt sich vor Anlegen/Änderungen erstmal zu überprüfen ob der User tatsächlich existiert mit BAPI_USER_EXISTENCE_CHECK.
Jedenfalls hast Du Dich da eines nicht ganz einfachen Themas angenommen ;-)

Hermann

Beitrag von Gast ( / / 0 / 3 ) »
Hallo Hermann !

Mein Posting verwirrt, gebe ich zu. Was ich mache, ist lediglich einen existenten User zu ändern. Aus Java (Return-Table) erhalte ich die Meldung, dass der User geändert wurde, kontrolliere ich das in R/3 sind diese Änderungen mitnichten durchgeführt.

Vollständig irritiert mich die Tatsache, dass dieses ohne jedes Problem ohne die Proxies funktioniert hat; gleiche Daten etc. Dieses gilt insbesondere für das Anlegen eines Benutzers, ohne Nutzung der Proxies kein Problem; mit Benutzung der Proxies => User soll angeblich schon existieren.

Eine Java-gestützte Benutzerverwaltung schreibe ich nicht, ich habe nur die MiniSAP-Basis zum Test und habe mir halt das BO User ausgesucht.

Grüsse, Seneca

Beitrag von Hermann ( / / 0 / 3 ) »
Normalerweise musst Du nach dem Aufruf eines BAPIs im R/3 ein commit work ausführen, damit die Änderungen weggeschrieben werden.
Das geht z.B. mit 'BAPI_TRANSACTION_COMMIT'. Probier's mal damit aus, wenn Du die Änderung machst, dann unmittelbar danach den commit-Baustein aufrufen. Du musst allerdings dafür sorgen, dass die Verbindung (und damit die Session im R/3) solange gehalten wird (stateful connection), sonst bringt das ganze überhaupt nichts.

Hermann

Seite 1 von 1

Vergleichbare Themen

7
Antw.
4107
Views
9
Antw.
11691
Views
DBTab Update from Table oder in Loop mit "Update Set" Oder ?
von RIG » 09.03.2018 11:27 • Verfasst in ABAP® Core
2
Antw.
790
Views
Scroll und Update
von HH_ABAP » 04.02.2019 11:25 • Verfasst in ABAP® für Anfänger
6
Antw.
6764
Views
Update in VA02
von RainerW » 24.10.2016 09:54 • Verfasst in Dialogprogrammierung
5
Antw.
13594
Views
ALE Update Kostenstellenhierarchie
von hai_friedrich » 04.05.2007 14:44 • Verfasst in Financials

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.