cancel
Showing results for 
Search instead for 
Did you mean: 

Using IV_X_SAVE = ' ' in custom BUPA_* calls

former_member185943
Participant
0 Kudos

Hi,

I tried to call the function BUPA_BANKDETAIL_REMOVE with IV_X_SAVE = 'X' sometimes (but not always) in the same run with some BOL updates (a loop with many calls, COMMIT after each). I got error message saying that mixing SAVE values is not allowed. I debugged BOL updates and they use BUPA_ functions with IV_X_SAVE = ' '.

Now I would like to do the same in my manual FM call as in BOL, but don't know what to do after I call the BUPA_ func with IV_X_SAVE = ' ' to make the update happen. Shall I call some other function to make the update, or...?

Thanks in advance!

Igor

Accepted Solutions (1)

Accepted Solutions (1)

raymond_giuseppi
Active Contributor

Try to call in sequence BUPA_CENTRAL_EXPL_SAVE and BAPI_TRANSACTION_COMMIT.

Answers (3)

Answers (3)

former_member185943
Participant
0 Kudos

Hi, Raymond,

Thanks for your reply! It looks like it could be the answer, but meanwhile I changed approach to BOL-only. It works so far and I got other assignments so cannot test your suggestion.

Thanks for your effort again!

Igor

former_member185943
Participant
0 Kudos

Hi, Dominiq,

Thanks for your reply! However, my problem is not knowing the status of global X_SAVE (I know it, because BOL always uses SPACE), but running all updates consistently in one or the other. So if I use BOL and it goes with IV_X_SAVE = ' ' and I cannot change that, then I would like to use the same IV_X_SAVE with my functions too. However, I don't know how to save my data then after calling BUPA_BANKDETAIL_REMOVE (or some other) with IV_X_SAVE = ' '.

KR,

Igor

Domi
Contributor
0 Kudos

I had this issue in a similar situation with relations/contact persons and used this coding to get the right value for IV_X_SAVE:

* get x-flag - active = 'A', not_active = 'N'
  CALL FUNCTION 'BUP_MEMORY_GET_GLOBAL_X_SAVE'
    IMPORTING
      ev_x_save = lv_x_save.
  IF lv_x_save = 'A' OR lv_x_save IS INITIAL.
    lv_x_save = abap_true.
  ELSEIF lv_x_save = 'N'.
    lv_x_save = abap_false.
  ENDIF.