Warum erfolgt keine Änderung?

Getting started ... Alles für einen gelungenen Start.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Warum erfolgt keine Änderung?

Beitrag von AnnaNRW (ForumUser / 29 / 5 / 1 ) »
Hallo zusammen,

habe einen möchte den Firmennamen einer Organisation ändern. Leider funktioniert dies nicht. Woran könnte es nur liegen?
Vielen Dank schon mal.
Lieben Gruß Anna

Hier der Code:

CALL FUNCTION 'BUPA_CENTRAL_CHANGE'
EXPORTING
IV_PARTNER = IS_account-compID
" IS_DATA = ls_CENTRALDATA
" IS_DATA_PERSON = ls_central_person
IS_DATA_ORGAN = ls_CENTRALDATAORGANIZATION
" IS_DATA_X = ls_CENTRALDATA_X
" IS_DATA_PERSON_X = ls_CENTRALDATA_PERSON_X
IS_DATA_ORGAN_X = ls_CENTRALDATAORGANIZATION_X.

IF ls_CENTRALDATAORGANIZATION_X-name1 = 'X'.

"move ls_CENTRALDATAORGANIZATION_X-name1 to ls_account-firmenname.
ls_account-firmenname = ls_CENTRALDATAORGANIZATION_X-name1.


endif.

" Prüfung Datenänderung erfolgreich
IF sy-subrc = 0 .
" Externen Commit bei der Verwendung von BAPIs durchführen
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.

append ls_account to et_account.

endif.

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


Re: Warum erfolgt keine Änderung?

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo Anna,

warum muss das ein FB sein, gibt's keine Tranaktion dafür ?

Dann sollte der Commit vor der IF-Abfrage durchgeführt werden, sonst wird ja nur ein Update ausgeführt wenn die
IF Abfrage zutrifft.

Bitte auch den Return-Code nach dem Call beachten.



Gruß
Wolfgang

Re: Warum erfolgt keine Änderung?

Beitrag von AnnaNRW (ForumUser / 29 / 5 / 1 ) »
Hallo Wolfgang,

vielen Dank für deine Antwort. Ich soll es mit einem Funktionsbaustein machen. Was meinst du mit dem Return-Code? kannst du mir das bitte etwas genauer verraten.

Lieben Gruß

Anna

Re: Warum erfolgt keine Änderung?

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Die meisten Funktionsbausteine liefern entweder eine Exception oder eine Fehlermeldung (BAPIRET) im Fehlerfall zurück. Exceptions werden beim Aufruf einem Return-Code zugewiesen der dann in SY-SUBRC abgefragt werden kann. Fehlermeldung selbst haben einen Typ (W,E,A,S,X,I). Je nachdem wie "schlimm" der Fehler ist kann man dann im Anschluss weiterarbeiten oder muss abbrechen.

In AnnaNRW's Fall ist aber der Aufruf von BUPA_CENTRAL_CHANGE falsch:
In der X-Struktur gibt man an welche Felder GEÄNDERT WERDEN SOLLEN und kann nicht abfragen welche durch den Aufruf GEÄNDERT WURDEN.

Richtig wäre:
Die zu ändernden Daten in "ls_CENTRALDATAORGANIZATION" eintragen.
Die zu ändernden Felder in "ls_CENTRALDATAORGANIZATION_X" markieren.
Funktionsbaustein BUPA_CENTRAL_CHANGE aufrufen.
Rückgabe prüfen (ET_RETURN)
Wenn alles OK, dann BAPI_TRANSACTION_COMMIT ansonsten BAPI_TRANSACTION_ROLLBACK.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
AnnaNRW

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.

ECC: 6.18
Basis: 7.50

Re: Warum erfolgt keine Änderung?

Beitrag von AnnaNRW (ForumUser / 29 / 5 / 1 ) »
Hallo,

vielen Dank für die hilfreiche Antwort. Bin nun schon einen Schritt weiter gekommen. Der Firmenname wird mir angezeigt, sobald dieser geändert wird. Ich Sprache wird jedoch nicht berücksichtigt. Wenn ich beispielsweise als Sprache "EN" eintippe, erscheint dies später in der READ-Operation nicht. Dieses Feld ist dann einfach leer. Woran könnte das liegen? Hab es genau so gemacht, wie beim Firmennamen.
Grüße
Anna

Hier der Code:

LS_CENTRALDATA-partnerlanguage = IS_ACCOUNT-SPRACHE.
ls_CENTRALDATA_X-partnerlanguage = 'X'.

CALL FUNCTION 'BUPA_CENTRAL_CHANGE'
EXPORTING
IV_PARTNER = IS_account-compID
IS_DATA = ls_CENTRALDATA
" IS_DATA_PERSON = ls_central_person
IS_DATA_ORGAN = ls_CENTRALDATAORGANIZATION
IS_DATA_X = ls_CENTRALDATA_X
" IS_DATA_PERSON_X = ls_CENTRALDATA_PERSON_X
IS_DATA_ORGAN_X = ls_CENTRALDATAORGANIZATION_X
tables
et_return = lt_return.


" Prüfung Datenänderung erfolgreich
IF sy-subrc = 0 .
" Externen Commit bei der Verwendung von BAPIs durchführen
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.

append ls_account to et_account.

Re: Warum erfolgt keine Änderung?

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo Anna,

es gibt einige OSS Hinweise zur Sprache, bin mir aber nicht sicher ob das hier passt:

Summary
Symptom
While creating a partner of type '2'(Organization) or when changing the central data of a type '2' partner using business partner APIs (like BUPA_CREATE_FROM_DATA or BUPA_CENTRAL_CHANGE): Error R1 401 "Enter a value for field Language according to ISO 639" is thrown by the system.

This happens when in the field grouping: The field Language (0019) is set required in the customizing.
Other terms
BP_API, BUPA_CREATE_FROM_DATA, BUPA_CENTRAL_CHANGE, 0019, BU_LANGU, GET_FMOD_STATUS
Reason and Prerequisites
The field partner language (BUT000-BU_LANGU) is only to be filled for business partners of type 'Person' and 'Group'. Hence in BAPIs (BAPI_BUPA_CREATE_FROM_DATA) while checking the FMOD setting this field should not be considered when the partner type is Organization. In the BP dialog this is already taken care.
Solution
Apply this note

Gruß
Wolfgang

Seite 1 von 1

Vergleichbare Themen

8
Antw.
9133
Views
Bei 'F4IF_INT_TABLE_VALUE_REQUEST ' erfolgt keine Übergabe
von Dudu » 12.04.2005 12:12 • Verfasst in ABAP® Core
20
Antw.
6256
Views
Erfolgt: Stammtisch ABAP-Forum Süd(west): 05.April 2006
von ereglam » 06.03.2006 10:08 • Verfasst in SAP - Allgemeines
28
Antw.
3326
Views
Änderung im SAP Standard
von Stefan144 » 28.01.2020 13:00 • Verfasst in ABAP® für Anfänger
1
Antw.
1822
Views
Anderung Steuersätze
von Legende » 10.04.2007 14:20 • Verfasst in Financials
1
Antw.
2671
Views
Änderung in Arbeitsplänen
von kdo » 15.09.2010 11:13 • Verfasst in Material Management & Produktionsplanung

Ü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

Daten an Tabelle binden
Gestern von Bright4.5 1 / 520
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2151
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8746