Tabelle updaten durch Z-BAPI?

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

Tabelle updaten durch Z-BAPI?

Beitrag von ZF_SAPler (Specialist / 100 / 14 / 2 ) »
Hallo,

Standard-Tabellen sollen ja normalerweise über BAPIs upgedatet werden.
Welche Möglichkeiten hat man aber, wenn dieses BAPI das zu verändernde Feld nicht besitzt?

Hier habe ich ein Forumbeitrag.
https://answers.sap.com/questions/13251 ... 000-t.html

Ist das möglich? ist das richtig so?

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


Re: Tabelle updaten durch Z-BAPI?

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin,
einige BAPIs besitzen "EXTENSION_IN" für Kundenfelder.
Falls man kein Glück hat, kann man
1.) SAP fragen, was für Vorschläge gibt es hier.
2.) Ein Z_BAPI anlegen (Kopie des BAPI)
3.) Implizites Enhancement anlegen und fehlendes Coding einbauen.
4.) Modifizieren.
5.) falls BAPI nicht "commited" kann man auch ein nachträgliches Updaten in Erwägungung ziehen http://www.bb1.gate2app.com/viewtopic.php?f=36&t=20641

gruß Jens
(Vermutlich werden die meisten Kunden Option 2 wählen.)
Zuletzt geändert von Tron am 18.07.2022 13:18, insgesamt 2-mal geändert.
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Tabelle updaten durch Z-BAPI?

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
Erklär doch mal welches Feld dir in welchem BAPI fehlt. Bist ja evtl. nicht der Erste, der das vorhat.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Tabelle updaten durch Z-BAPI?

Beitrag von msfox (Specialist / 364 / 56 / 74 ) »
Tron hat geschrieben:
18.07.2022 08:56
einige BAPIs besitzen "EXTENSION_IN" für Kundenfelder.
Ja, aber damit landen die Daten auch nicht automatisch auf der Datenbank. Beim Vertragsgegenstand läuft das alles über den DirectInput und damit über das BDT. Geschäftspartner und Vertragskonto glaube auch. Man kann also die EXTENSION_IN verwenden, muss aber dann das BDT entsprechend anpassen.
--
Daher gibt es keine pauschale Antwort, wie man Tabellen über einen Z-BAPI updatet. Es kommt auf den BAPI an!

Re: Tabelle updaten durch Z-BAPI?

Beitrag von ZF_SAPler (Specialist / 100 / 14 / 2 ) »
black_adept hat geschrieben:
18.07.2022 11:58
Erklär doch mal welches Feld dir in welchem BAPI fehlt. Bist ja evtl. nicht der Erste, der das vorhat.

NOT_RELEASED Feld in BUT000.

FM: BUPA_CENTRAL_CHANGE hat leider nicht dieses Feld.
Mit einem Z-FM könnte man da schön etwas einfügen.

Re: Tabelle updaten durch Z-BAPI?

Beitrag von rob_abc (Specialist / 107 / 27 / 44 ) »
Warum muss es denn ein BAPI sein?

Hier mal ein simpelstes Demo-Programm, um das Feld des GPs mit der Klasse cvi_ei_adapter zu ändern.

Code: Alles auswählen.

REPORT.

DATA:
  l_data   TYPE cvis_ei_extern_t,
  l_return TYPE bapiretm.


l_data = VALUE #(
  (
    partner-header-object_instance-bpartnerguid = '0050568A6E931EECA29D9E1A149EB7F5'
    partner-header-object_task = 'U'
    partner-central_data-common-data-bp_centraldata-notreleased = abap_true
    partner-central_data-common-datax-bp_centraldata-notreleased = abap_true
  )
).

cvi_ei_adapter=>start_inbound_main(
  EXPORTING
    i_data   = l_data
  IMPORTING
    e_return = l_return ).

LOOP AT l_return ASSIGNING FIELD-SYMBOL(<return>).
  LOOP AT <return>-object_msg ASSIGNING FIELD-SYMBOL(<msg>).
    cl_demo_output=>write( <msg> ).
    CASE <msg>-type.
      WHEN 'E' OR 'A'.
        DATA(lv_error) = abap_true.
        EXIT.
    ENDCASE.
  ENDLOOP.
ENDLOOP.

IF lv_error IS INITIAL.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = 'X'.
  cl_demo_output=>write( 'GP geändert' ).
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  cl_demo_output=>write( 'Änderung fehlgeschlagen' ).
ENDIF.

cl_demo_output=>display( ).

Re: Tabelle updaten durch Z-BAPI?

Beitrag von ewx (Top Expert / 4845 / 311 / 640 ) »
Wenn in einem BAPI das gewünschte Feld nicht zur Verfügung steht, dann ist das wirklich ein Dilemma.
Never ever würde ich einen BAPI kopieren. Die Schnittstelle eine BAPIs ändert sich nicht, aber innen drin dafür umso mehr (Patches, Updates, Korrekturen). Zudem gibt gibt es zu viele Beispiele von geschachtelten Funktionsbaustein-Aufrufen, so dass es nicht reichen würde, nur den BAPI anzupassen.

Häufig gibt es alternative Funktionsbausteine, die nicht mit BAPI_ beginnen, jedoch trotzdem funktionieren. Ob sie dann freigegeben sind, ist eine andere Sache, die man bewerten muss.

Ein Enhancement ist evtl. eine Alternative.
In Extremfällen habe ich auch schon Änderungen mit dem BAPI gemacht und dann eine Änderung per SQL-Update. Da war ich aber sicher, dass
* das Feld kein Trigger für Änderungszeiger war
* es keine Auswirkungen auf andere Belege oder Prozesse hatte
und ich habe zusätzlich Änderungsbelege geschrieben.

In so einem Fall wäre es dann jedoch sinnvoll, sich einen eigenen BAPI zu schreiben, der den eigentlichen BAPI aufruft und dann entsprechende Änderungen macht. Damit diese auf jeden Fall an einer Stelle im System vorhanden sind und anderweitig genutzt werden können.

Re: Tabelle updaten durch Z-BAPI?

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
ZF_SAPler hat geschrieben:
19.07.2022 17:49
NOT_RELEASED Feld in BUT000.

FM: BUPA_CENTRAL_CHANGE hat leider nicht dieses Feld.
Mit einem Z-FM könnte man da schön etwas einfügen.
Der FuBa BUPA_CENTRAL_CHANGE hat doch den Eingabeparameter IS_DATA und da ist das Feld doch drin?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

8
Antw.
961
Views
BAPI für Tabelle EBAN
von ZF_SAPler » 08.06.2023 15:29 • Verfasst in ABAP® für Anfänger
1
Antw.
1002
Views
BAPI für erweiterbare Tabelle
von ejchm » 20.02.2017 09:45 • Verfasst in ABAP® für Anfänger
1
Antw.
1184
Views
BAPI aus VBA // Leere Tabelle bei wiederholtem Sub-Aufruf
von Carsten31 » 12.09.2014 22:37 • Verfasst in ABAP® für Anfänger
6
Antw.
3718
Views
Bapi aus VBA aufrufen // Probleme mit einer Tabelle
von Carsten31 » 04.09.2014 20:30 • Verfasst in ABAP® für Anfänger
0
Antw.
534
Views

Aktuelle Forenbeiträge

Eclipse - warum/wann verwendet ihr es [nicht]
vor einer Minute von ewx 15 / 981
Dialog-Container mit Toolbar/Status
vor 4 Stunden von DeathAndPain gelöst 20 / 2473
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1613

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.

Aktuelle Forenbeiträge

Eclipse - warum/wann verwendet ihr es [nicht]
vor einer Minute von ewx 15 / 981
Dialog-Container mit Toolbar/Status
vor 4 Stunden von DeathAndPain gelöst 20 / 2473
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1613

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 676
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2308
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8891