Business Partner anlegen FuBa BUPA_CREATE_FROM_DATA

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

Business Partner anlegen FuBa BUPA_CREATE_FROM_DATA

Beitrag von herr mb (ForumUser / 45 / 5 / 0 ) »
Hallo liebe Community,
ich soll per Code einen Geschäftspartner anlegen. Ich habe herausgefunden, dass man nicht unbedingt alle der zahlreichen Felder füllen muss.
Ich will erstmal natürliche Personen mit Suchbegriff, Namen, Anschrift und Tel-Nummern anlegen.
Nach erfolgreicher Anlage sollte der FuBa doch im Parameter ev_partner (Variable new_number) die neue Nummer zurückliefern, oder?
Ich bekomme keine Fehlermeldung aber der Datensatz wird nicht in der but000 gespeichert.
Param iv_testrun ist auf INITIAL gesetzt.

Code: Alles auswählen.

   CALL FUNCTION 'BUPA_CREATE_FROM_DATA'
      EXPORTING
*   IV_PARTNER                           =
*   IV_PARTNER_GUID                      =
        iv_category                          = '1'
*   IV_GROUP                             =
        is_data                              = sv_data
        is_data_person                       = sv_data_person
*   IS_DATA_ORGAN                        =
*   is_data_group                        =
        is_address                           = sv_adress
        iv_testrun                           = ' '     
*   IV_DUPLICATE_MESSAGE_TYPE            =
*   IV_ACCEPT_ERROR                      = ' '
*   IV_X_SAVE                            = 'X'
*   IV_CONSIDER_CONSNUMBER_FOR_INS       = ' '
*   IV_CHECK_ADDRESS                     = 'X'
 IMPORTING
   ev_partner                           = new_number
die Strukturen sind so gefüllt:

Code: Alles auswählen.

    sv_data-searchterm1 = 'TEST1'.
    sv_data-title_key = '003'.
    sv_data_person-firstname = 'Mustermann'.
    sv_data_person-lastname = 'Michael'.

    sv_data_person->>SPAM<< = 'M'.
    sv_data_person-birthdate = '01.01.1980'.

    sv_adress-city = 'Berlin'
    sv_adress-district = 'Hermsdorf'.
    sv_adress-postl_cod1 = '13467'.
    sv_adress-street = 'Berliner Str.'.
    sv_adress-house_no = '15'.

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


Re: Business Partner anlegen FuBa BUPA_CREATE_FROM_DATA

Beitrag von winnerin (ForumUser / 2 / 0 / 0 ) »
Wenn keine fehlermeldung erscheint und der GP trotzdem nicht angelegt ist, klingt das stark danach als müsstest du noch einen COMMIT absetzen, damit die Änderungen auch in der DB gespeichert werden.
In BAPIs stehen, wenn ich da richtig informiert bin, generell keine externen COMMITs drin. Deshalb muss dieser immer nach dem Aufruf gesetzt werden.
Ich verwende beim Einsatz von BAPIs immer den FuBa "BAPI_TRANSACTION_COMMIT". Es kommt natürlich das gleiche raus, wenn du den COMMIT selbst hart in deinem Report setzt.

Re: Business Partner anlegen FuBa BUPA_CREATE_FROM_DATA

Beitrag von herr mb (ForumUser / 45 / 5 / 0 ) »
Vielen Dank,
lag einfach daran, dass ich falsche Inhalte in den Parametern übergeben habe.
Der Fuba liefert eine Tabelle et_return zurück, die muss man auswerten.
Darin gibt's eine Spalte MESSAGE mit der genauen Fehlermeldung im Klartext.
COMMIT WORK habe ich auch noch angehängt.

Für alle die das mal ausprobieren wollen hier mal das kurze Coding:

Code: Alles auswählen.

REPORT  ztest_gp_anlegen.

DATA: sv_data      TYPE bapibus1006_central,
      sv_data_person TYPE bapibus1006_central_person,
      sv_adress    TYPE bapibus1006_address,

      new_number   LIKE but000-partner,
      new_guid     LIKE but000-partner_guid,
      new_addrnum  LIKE but020-addrnumber,
      new_addrguid LIKE but020-address_guid,
      it_return    TYPE TABLE OF bapiret2.

" Neuen Geschäftpartner anlegen

sv_data-searchterm1 = 'TEST3'.
sv_data-title_key = '0002'.

sv_data_person-firstname = 'Peter'.
sv_data_person-lastname = 'Lustig'.

sv_data_person->>SPAM<< = 2.   " 2 = männlich, 1 = weiblich
sv_data_person-birthdate = '19801205'.  " Datum umgekehrt

sv_adress-city = 'Berlin'.
sv_adress-district = 'Hermsdorf'.
sv_adress-postl_cod1 = '13467'.
sv_adress-street = 'Elsestr.'.
sv_adress-house_no = '1'.
sv_adress-country = 'DE'.
sv_adress-countryiso = 49.

CALL FUNCTION 'BUPA_CREATE_FROM_DATA'
  EXPORTING
*   IV_PARTNER                           =
*   IV_PARTNER_GUID                      =
    iv_category                          = '1'
*    IV_GROUP                            =
    is_data                              = sv_data
    is_data_person                       = sv_data_person
*   IS_DATA_ORGAN                        =
*   is_data_group                        =
    is_address                           = sv_adress
    iv_testrun                           = ''
*   IV_DUPLICATE_MESSAGE_TYPE            =
*   IV_ACCEPT_ERROR                      = ' '
*   IV_X_SAVE                            = 'X'
*   IV_CONSIDER_CONSNUMBER_FOR_INS       = ' '
*   IV_CHECK_ADDRESS                     = 'X'
IMPORTING
   ev_partner                        = new_number
   ev_partner_guid                   = new_guid
   ev_addrnumber                     = new_addrnum
   ev_addrguid                       = new_addrguid
 TABLES
*   IT_ADTEL                             =
*   IT_ADFAX                             =
*   IT_ADTTX                             =
*   IT_ADTLX                             =
*   IT_ADSMTP                            =
*   IT_ADRML                             =
*   IT_ADX400                            =
*   IT_ADRFC                             =
*   IT_ADPRT                             =
*   IT_ADSSF                             =
*   IT_ADURI                             =
*   IT_ADPAG                             =
*   IT_ADREM                             =
*   IT_ADCOMREM                          =
*   IT_ADCOMUSE                          =
*   IT_ADTEL_ADDR_IND                    =
*   IT_ADFAX_ADDR_IND                    =
*   IT_ADTTX_ADDR_IND                    =
*   IT_ADTLX_ADDR_IND                    =
*   IT_ADSMTP_ADDR_IND                   =
*   IT_ADRML_ADDR_IND                    =
*   IT_ADX400_ADDR_IND                   =
*   IT_ADRFC_ADDR_IND                    =
*   IT_ADPRT_ADDR_IND                    =
*   IT_ADSSF_ADDR_IND                    =
*   IT_ADURI_ADDR_IND                    =
*   IT_ADPAG_ADDR_IND                    =
*   IT_ADCOMREM_ADDR_IND                 =
*   IT_ADCOMUSE_ADDR_IND                 =
   et_return                            = it_return
*   ET_ADDR_DUPLICATES                   =
          .
IF sy-subrc <> 0.
  WRITE: / 'Partner konnte nicht angelegt werden !'.
ELSE.

  DATA: wa LIKE LINE OF it_return,
        z  TYPE i.

  WRITE: / 'Fehlermeldungen:'.
  LOOP AT it_return INTO wa.
    z = z + 1.
    WRITE: / wa-message.
  ENDLOOP.

  IF z = 0.
    COMMIT WORK.   " Daten richtig einbuchen
    WRITE: / 'Partner wurde angelegt:', new_number.
    WRITE: / 'Partner Guid:', new_guid.
    WRITE: / 'Addr Num:', new_addrnum.
    WRITE: / 'Addr Guid:', new_addrguid.
  ENDIF.

ENDIF.

Re: Business Partner anlegen FuBa BUPA_CREATE_FROM_DATA

Beitrag von herr mb (ForumUser / 45 / 5 / 0 ) »
Hallo,
so hat es doch nicht funktioniert. Es kommen nicht alle Daten da an wo sie hin sollen (so dass man sie mit der Transaktion BP auslesen kann).
Ich versuche das ganze jetzt mit den BAPIs.
Mit BAPI_BUPA_CREATE_FROM_DATA funktioniert jetzt das Anlegen. Adresse und Telefon werden übernommen und ich kann mir den neuen GP im BP ansehen!!!
Aber: Der Aufruf der Funktionen BAPI_BUPA_CENTRAL_CHANGE und BAPI_BUPA_CENTRAL_GETDETAIL liefern als sy-subrc zwar 0 aber in der RETURN Tabelle steht, dass der dieser Geschäftspartner XYZ nicht vorhanden ist.
Hat jemand eine Idee?

Re: Business Partner anlegen FuBa BUPA_CREATE_FROM_DATA

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Welche Fehlermeldung kommt genau (MSG_ID, MSG_NO)?

Übergibst du die BP-Nummer so, wie sie das CREATE-BAPI angelegt hat (führende Nullen)?

Re: Business Partner anlegen FuBa BUPA_CREATE_FROM_DATA

Beitrag von herr mb (ForumUser / 45 / 5 / 0 ) »
Übergibst du die BP-Nummer so, wie sie das CREATE-BAPI angelegt hat (führende Nullen)?
genau das war ein Problem.
Ich habe es jetzt geschafft einen BP anzulegen (mit Adresse und Telefonnummer). Das Ändern über den FuBa habe ich nicht hinbekommen (Telefon und Handy konnte ich nicht schreiben).
Das habe ich jetzt erst einmal mit SQL (Tabelle adr2) gemacht und es scheint zu funktionieren (bis zum nächsten Release...).
Für die nächsten vier Wochen kann ich nichts mehr ändern, weil das System ein Update bekommt und zum Entwickeln gesperrt ist...
Viele Dank für die Hilfen!

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1606
Views
Create Data
von asano » 11.08.2004 16:54 • Verfasst in ABAP® Core
6
Antw.
3734
Views
LOOP AT ITAB und CREATE DATA
von lilly-joe » 23.02.2015 12:15 • Verfasst in ABAP® für Anfänger
3
Antw.
2433
Views
Business Partner Konzept
von SAP_ENTWICKLER » 18.04.2019 08:25 • Verfasst in Sales and Distribution
0
Antw.
1960
Views

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor einer Stunde von msfox 2 / 35
Interne Tabelle
vor 18 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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

Zugriff auf Daten via Webdav
vor einer Stunde von msfox 2 / 35
Interne Tabelle
vor 18 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141