MDK_SST_CONTACT_CREATE_UNITTST.abap
*&---------------------------------------------------------------------*
*& Report MDK_SST_CONTACT_CREATE_UNITTST
*&
*&---------------------------------------------------------------------*
*& Unit test for Contact Create Bapi Wrapper in
*& Smart Sync Tutorial of MDK
*&---------------------------------------------------------------------*
REPORT mdk_sst_contact_create_unittst.
PARAMETERS: lastname LIKE merep_person-last_name OBLIGATORY.
DATA: ls_person LIKE merep_person ,
lf_p_number LIKE merep_person-persnumber ,
lt_address LIKE merep_address OCCURS 0 , "never filled
lt_e_mail LIKE merep_e_mail OCCURS 0 , "never filled
ls_return_c TYPE bapiret2 ,
ls_return_g TYPE bapiret2 ,
err_txt1(50) TYPE c,
err_txt2(50) TYPE c,
err_txt3(50) TYPE c.
* Fill mandatory values for create
ls_person-last_name = lastname .
* Call 'CREATE' BAPI Wrapper
CALL FUNCTION 'MEREP_CONTACT_CREATE'
EXPORTING
person = ls_person
IMPORTING
persnumber = lf_p_number
return = ls_return_c
TABLES
address = lt_address "<== null
e_mail = lt_e_mail. "<== null
* Validate CREATE call
IF ls_return_c-type = 'E' OR
ls_return_c-type EQ 'A' .
err_txt1 = 'Error message from Create call'.
ELSE.
err_txt1 = 'No Error message from Create call'.
ENDIF .
IF lf_p_number IS INITIAL.
err_txt2 = 'Created Number not returned'.
ELSE.
err_txt2 = lf_p_number.
ENDIF .
* Call 'GetDetail' BAPI Wrapper
CALL FUNCTION 'MEREP_CONTACT_GETDETAIL'
EXPORTING
persnumber = lf_p_number "<== just created...
IMPORTING
person = ls_person
return = ls_return_g
TABLES
address = lt_address "==> null
e_mail = lt_e_mail. "==> null
* Validate GetDetail call
IF ls_return_g-type = 'E' OR
ls_return_g-type = 'A'.
err_txt3 = 'GetDetail BAPI did not find entry just created'.
ELSE.
err_txt3 = 'No Error Message from GetDetail Call'.
ENDIF .
* Display results
WRITE: /'Create Call Results:' , / err_txt1 , / err_txt2.
WRITE: /'GetDetail Call Results:' , / err_txt3 .