cancel
Showing results for 
Search instead for 
Did you mean: 

Probleme in updateing telephone number in bapi BAPI_BUPA_CENTRAL_CHANGE

Former Member

Hi All,

I am using BAPI_BUPA_CENTRAL_CHANGE

BAPI_BUPA_ADDRESS_CHANGE

for business partner change.

If BP contains telephone number then it is updating with new one but if BP does not contain any telephone number then it is is not changing or addding new no. It throws fallowing warning message with no change.

' Table BAPIADTEL entry to be changed not found in target system '

Please suggest as soon as possible.

Thanks

Swarup

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

Hi

I had teh same problem. i needed to change the email's address.

I used this BAPI, Check part of my code:


    call function 'BAPI_BUPA_ADDRESS_GETDETAIL'
      exporting
        businesspartner       = aux-bp
*   ADDRESSGUID           =
*   VALID_DATE            = SY-DATLO
     importing
       addressdata           = it_addressdata
     tables
       bapiadtel             = it_bapiadtel
       bapiadfax             = it_bapiadfax
       bapiadttx             = it_bapiadttx
       bapiadtlx             = it_bapiadtlx
       bapiadsmtp            = it_bapiadsmtp
       bapiadrml             = it_bapiadrml
       bapiadx400            = it_bapiadx400
       bapiadrfc             = it_bapiadrfc
       bapiadprt             = it_bapiadprt
       bapiadssf             = it_bapiadssf
       bapiaduri             = it_bapiaduri
       bapiadpag             = it_bapiadpag
       bapiad_rem            = it_bapiad_rem
       bapicomrem            = it_bapicomrem
       addressusage          = it_addressusage
       bapiadversorg         = it_bapiadversorg
       bapiadverspers        = it_bapiadverspers
       bapiaduse             = it_bapiaduse
       return                = it_return.
    if it_return[] is initial.
      if it_bapiadsmtp[] is initial.
        refresh it_bapiadsmtp.
        move: aux-email to it_bapiadsmtp-e_mail,
              '001' to it_bapiadsmtp-consnumber,
              'X' to it_bapiadsmtp-home_flag,
              'X' to it_bapiadsmtp-std_no.
        append it_bapiadsmtp.
****Comunication type
        move 'INT' to it_addressdata-comm_type.
      else.
        read table it_bapiadsmtp with key std_no = 'X'.
        if sy-subrc eq 0.
          move: aux-email to it_bapiadsmtp-e_mail.
          modify it_bapiadsmtp index sy-tabix.
        endif.
      endif.
      call function 'BAPI_BUPA_ADDRESS_ADD'
        exporting
          businesspartner              = aux-bp
          addressdata                  = it_addressdata
*   DUPLICATE_MESSAGE_TYPE       =
*   ACCEPT_ERROR                 = ' '
* IMPORTING
*   ADDRESSGUID                  =
       tables
*   BAPIADTEL                    =
*   BAPIADFAX                    =
*   BAPIADTTX                    =
*   BAPIADTLX                    =
         bapiadsmtp                   = it_bapiadsmtp
*   BAPIADRML                    =
*   BAPIADX400                   =
*   BAPIADRFC                    =
*   BAPIADPRT                    =
*   BAPIADSSF                    =
*   BAPIADURI                    =
*   BAPIADPAG                    =
*   BAPIAD_REM                   =
*   BAPICOMREM                   =
*   ADDRESSUSAGE                 =
*   BAPIADUSE                    =
*   ADDRESSDUPLICATES            =
         return                       = it_return.
      if it_return[] is initial.
        call function 'BAPI_TRANSACTION_COMMIT'
          exporting
            wait = 'X'.
******

Regards

Gregory

Former Member
0 Kudos

Thanks it works

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello,

There is a field called updateflag in structure TELEFONDATANONADDRESSX.

You can set this field to I, U, D.

When you use I(nsert) also provide the country in structure TELEFONDATANONADDRESS.

This way it works for me.

Kind regards,

Jeroen

Former Member
0 Kudos

Hi,

Sample code:

CLEAR return. 
REFRESH return. 
CALL FUNCTION 'BAPI_BUPA_CENTRAL_CHANGE' 
EXPORTING 
businesspartner = bp 
centraldata = centraldata 
centraldataperson = centraldataperson 
* CENTRALDATAORGANIZATION = 
* CENTRALDATAGROUP = 
centraldata_x = centraldata_x 
centraldataperson_x = centraldataperson_x 
* CENTRALDATAORGANIZATION_X = 
* CENTRALDATAGROUP_X = 
TABLES 
return = return. 

CLEAR return_stat. 
LOOP AT return WHERE type = 'E' OR type = 'A'. 
return_stat = 'X'. 
EXIT. 
ENDLOOP. 

IF return_stat IS INITIAL. 
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' 
EXPORTING 
wait = 'X' 
IMPORTING 
return = return2. 
* ...

ENDIF.

Reward if usefull

Former Member
0 Kudos

Dear Balaji,

Following is my code in which i want to change telephone number which is in internal table IT_ADTEL. It works when only old telephone nuber exist.

CALL FUNCTION 'BAPI_BUPA_CENTRAL_CHANGE'

  • EXPORTING

  • BUSINESSPARTNER = PARTNER

  • CENTRALDATA = wa_cendata

  • CENTRALDATAPERSON = WA_CENDATAPER

  • CENTRALDATA_X = WA_CENTRALDATA_X

CENTRALDATAPERSON_X = WA_CENTRALDATAPERSON_X

TABLES

TELEFONDATANONADDRESS = IT_ADTEL[]

TELEFONDATANONADDRESSX = IT_ADTELX[]

RETURN = IT_RETURN[] .

IF IT_RETURN[] IS INITIAL .

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = '3' .

  • IMPORTING

  • RETURN =

.

Former Member
0 Kudos

Hello swarup,

i too have same problem with bapi_bupa_central_change.......Coule you plz tell me how did u solve the problem... Your reply will be highly appreciated...

Regards,

Srikanth

Former Member
0 Kudos

iT GOT SOLVED