Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI_ISUMOVEIN_CREATEFROMDATA

steven_dierick
Participant
0 Kudos

Hey,

Did anyone manage to get this BAPI to work?

As import parameters the BAPI has only a PARTNER and a CONTRACTACCOUNT. But to do a MOVEIN, you also need an INSTALLATION.

In the table parameters, there is a table TCONTRACTDATA with a field for the installation. But in the corresponding TCONTRACTDATAX the field installation is missing.

When I use this field anyway. The BAPI returns an error message: define an installation.

Can anyone help me to do a MOVEIN with this BAPI.

Thanks in advance

Steven

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Here is a test function module I developed. As you will see, there is a flag to set the installation.


FUNCTION zjs_create_movein_with_bapi.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     REFERENCE(PARTNER) TYPE  BUT000-PARTNER
*"     REFERENCE(VKONT) TYPE  FKKVKP-VKONT OPTIONAL
*"     REFERENCE(ANLAGE) TYPE  EANL-ANLAGE
*"     REFERENCE(MIDATE) TYPE  EVER-EINZDAT DEFAULT SY-DATUM
*"     REFERENCE(REF_MIDOC) TYPE  EEIN-EINZBELEG OPTIONAL
*"  EXPORTING
*"     REFERENCE(MIDOC_NUMBER) TYPE  EEIN-EINZBELEG
*"  TABLES
*"      IT_MESSAGES STRUCTURE  BAPIRET2
*"----------------------------------------------------------------------


DATA:
  i_micontrol   TYPE bapiisumoveincr_c,
  i_miinputdata TYPE bapiisumoveincr_i,
  i_contract    TYPE bapiisucontract OCCURS 0 WITH HEADER LINE,
  i_contract_x  TYPE bapiisucontractx OCCURS 0 WITH HEADER LINE,
  cadata        TYPE bapiisuvkp,
  cadata_x      TYPE bapiisuvkpx,
  exten         TYPE bapiparex OCCURS 0 WITH HEADER LINE,
  w_msg         type bapiret2.


* If contract account number not imported, set flag to create CA. Either
* contract account or reference move in document must be imported.
  if vkont is initial.   "contract account not imported
    if ref_midoc is initial.   "reference MI doc not imported
      w_msg-type    = 'E'.
      w_msg-message = 'Must import vkont or ref_midoc.'.
      append w_msg  to it_messages.
      exit.
    else.
      i_micontrol-contractaccountcreate = 'X'.  "Create contract acct
    endif.
  else.   "set imported contract account
    i_miinputdata-cont_acct           = vkont.
  endif.
  i_micontrol-partnerstdaddradjustx = 'X'.
  i_miinputdata-moveindate          = midate.
  i_miinputdata-partner             = partner.
  i_miinputdata-acct_cat            = '01'.

* Set installation
  i_contract-installation = anlage.
  APPEND i_contract.
  i_contract_x-installation = 'X'.
  APPEND i_contract_x.

* This FM prepares the data structures for creating the Move In
  CALL FUNCTION 'ISU_MOVE_IN_BAPI_GET_DEFAULTS'
    EXPORTING
      x_refmidoc                    = ref_midoc
      moveincreatecontroldata       = i_micontrol
    TABLES
      treturn                       = it_messages
      tcontractdata                 = i_contract
      tcontractdatax                = i_contract_x
      extensionin                   = exten
    CHANGING
      moveincreateinputdata         = i_miinputdata
      contractaccountdata           = cadata
      contractaccountdatax          = cadata_x.

* Get out if function call unsuccessful.
  check sy-subrc = 0.

*Create Move In document
  CALL FUNCTION 'BAPI_ISUMOVEIN_CREATEFROMDATA'
    EXPORTING
      moveincreatecontroldata       = i_micontrol
      moveincreateinputdata         = i_miinputdata
      contractaccountdata           = cadata
      contractaccountdatax          = cadata_x
    IMPORTING
      moveindocnumber               = MIDOC_NUMBER
    TABLES
      treturn                       = it_messages
      tcontractdata                 = i_contract
      tcontractdatax                = i_contract_x
      extensionin                   = exten.

* Get out if function call unsuccessful.
  check sy-subrc = 0.

  CALL FUNCTION 'ABAP4_COMMIT_WORK'.

ENDFUNCTION.

1 REPLY 1

Former Member
0 Kudos

Here is a test function module I developed. As you will see, there is a flag to set the installation.


FUNCTION zjs_create_movein_with_bapi.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     REFERENCE(PARTNER) TYPE  BUT000-PARTNER
*"     REFERENCE(VKONT) TYPE  FKKVKP-VKONT OPTIONAL
*"     REFERENCE(ANLAGE) TYPE  EANL-ANLAGE
*"     REFERENCE(MIDATE) TYPE  EVER-EINZDAT DEFAULT SY-DATUM
*"     REFERENCE(REF_MIDOC) TYPE  EEIN-EINZBELEG OPTIONAL
*"  EXPORTING
*"     REFERENCE(MIDOC_NUMBER) TYPE  EEIN-EINZBELEG
*"  TABLES
*"      IT_MESSAGES STRUCTURE  BAPIRET2
*"----------------------------------------------------------------------


DATA:
  i_micontrol   TYPE bapiisumoveincr_c,
  i_miinputdata TYPE bapiisumoveincr_i,
  i_contract    TYPE bapiisucontract OCCURS 0 WITH HEADER LINE,
  i_contract_x  TYPE bapiisucontractx OCCURS 0 WITH HEADER LINE,
  cadata        TYPE bapiisuvkp,
  cadata_x      TYPE bapiisuvkpx,
  exten         TYPE bapiparex OCCURS 0 WITH HEADER LINE,
  w_msg         type bapiret2.


* If contract account number not imported, set flag to create CA. Either
* contract account or reference move in document must be imported.
  if vkont is initial.   "contract account not imported
    if ref_midoc is initial.   "reference MI doc not imported
      w_msg-type    = 'E'.
      w_msg-message = 'Must import vkont or ref_midoc.'.
      append w_msg  to it_messages.
      exit.
    else.
      i_micontrol-contractaccountcreate = 'X'.  "Create contract acct
    endif.
  else.   "set imported contract account
    i_miinputdata-cont_acct           = vkont.
  endif.
  i_micontrol-partnerstdaddradjustx = 'X'.
  i_miinputdata-moveindate          = midate.
  i_miinputdata-partner             = partner.
  i_miinputdata-acct_cat            = '01'.

* Set installation
  i_contract-installation = anlage.
  APPEND i_contract.
  i_contract_x-installation = 'X'.
  APPEND i_contract_x.

* This FM prepares the data structures for creating the Move In
  CALL FUNCTION 'ISU_MOVE_IN_BAPI_GET_DEFAULTS'
    EXPORTING
      x_refmidoc                    = ref_midoc
      moveincreatecontroldata       = i_micontrol
    TABLES
      treturn                       = it_messages
      tcontractdata                 = i_contract
      tcontractdatax                = i_contract_x
      extensionin                   = exten
    CHANGING
      moveincreateinputdata         = i_miinputdata
      contractaccountdata           = cadata
      contractaccountdatax          = cadata_x.

* Get out if function call unsuccessful.
  check sy-subrc = 0.

*Create Move In document
  CALL FUNCTION 'BAPI_ISUMOVEIN_CREATEFROMDATA'
    EXPORTING
      moveincreatecontroldata       = i_micontrol
      moveincreateinputdata         = i_miinputdata
      contractaccountdata           = cadata
      contractaccountdatax          = cadata_x
    IMPORTING
      moveindocnumber               = MIDOC_NUMBER
    TABLES
      treturn                       = it_messages
      tcontractdata                 = i_contract
      tcontractdatax                = i_contract_x
      extensionin                   = exten.

* Get out if function call unsuccessful.
  check sy-subrc = 0.

  CALL FUNCTION 'ABAP4_COMMIT_WORK'.

ENDFUNCTION.