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.
3980
Views
9
Antw.
11017
Views
DBTab Update from Table oder in Loop mit "Update Set" Oder ?
von RIG » 09.03.2018 11:27 • Verfasst in ABAP® Core
4
Antw.
4173
Views
Basis Update
von commolus » 18.06.2013 09:13 • Verfasst in Sonstige Module
30
Antw.
7883
Views
Update Datenbanktabelle
von L0w-RiDer » 03.12.2018 13:23 • Verfasst in ABAP® für Anfänger
0
Antw.
1280
Views
MM Konditionen Update
von basstoss » 30.11.2005 14:35 • Verfasst in ABAP® Core

Ü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.

Unbeantwortete Forenbeiträge

Erweiterung in ME51N/ME52N:
vor 3 Wochen von ABAPlerv 1 / 2152
Erweiterung in ME51N/ME52N:
vor 3 Wochen von ABAPlerv 1 / 1966