‎2008 Mar 01 2:53 PM
Hi ,
I am getting problem when created the BP.
When i tested and check the BP is created or not.its not getting.
i give the Businesspartner no and click enter i am not getting the BP details.
WOuld u please give the solution on this.
Its very urgent to me.
THe coding which i written for create the business partner is :
FUNCTION ZCTS_NEW_CONTACT.
*"----
""Local interface:
*" IMPORTING
*" VALUE(BUSINESSPARTNER) LIKE BAPIBUS1006_HEAD-BPARTNER
*" VALUE(CNEWINFO) TYPE ZCTS_CONTACTS
*" VALUE(CDATA) LIKE BAPIBUS1006_CENTRAL STRUCTURE
*" BAPIBUS1006_CENTRAL
*" VALUE(BUSPART1) LIKE BAPIBUS1006_RELHEAD-BUSINESSPARTNER1
*" VALUE(BUSPART2) LIKE BAPIBUS1006_RELHEAD-BUSINESSPARTNER2
*" VALUE(RELCAT) LIKE BAPIBUS1006_RELHEAD-RELATIONSHIPCATEGORY
*" EXPORTING
*" VALUE(MESG) TYPE CHAR100
*"----
DATA: lt_return like bapiret2 occurs 0 with Header line.
DATA: CTPERS LIKE BAPIBUS1006_CENTRAL_PERSON OCCURS 0 WITH HEADER LINE.
DATA : PARTN_GRP TYPE BAPIBUS1006_HEAD-PARTN_GRP.
DATA : PARTN_CAT TYPE BAPIBUS1006_HEAD-PARTN_CAT.
DATA: BEGIN OF ADADD.
INCLUDE STRUCTURE BAPIBUS1006_ADDRESS.
DATA: END OF ADADD.
DATA: BEGIN OF ADTEL OCCURS 0.
INCLUDE STRUCTURE BAPIADTEL.
DATA: END OF ADTEL.
DATA: BEGIN OF ADSMP OCCURS 0.
INCLUDE STRUCTURE BAPIADSMTP.
DATA: END OF ADSMP.
CTPERS-FIRSTNAME = CNEWINFO-FNAME.
CTPERS-LASTNAME = CNEWINFO-LNAME.
PARTN_CAT = 1.
PARTN_GRP = 002.
ADADD-CITY = CNEWINFO-CITY .
telephone info **
ADTEL-TELEPHONE = CNEWINFO-PHONE.
ADTEL-CONSNUMBER = '001'.
APPEND ADTEL.
ADTEL-TELEPHONE = CNEWINFO-MOBILE.
ADTEL-CONSNUMBER = '002'.
APPEND ADTEL.
email information **
ADSMP-E_MAIL = CNEWINFO-EMAIL .
APPEND ADSMP.
CALL FUNCTION 'BAPI_BUPA_CREATE_FROM_DATA'
EXPORTING
PARTNERCATEGORY = PARTN_CAT
CENTRALDATA = CDATA
PARTNERGROUP = PARTN_GRP
CENTRALDATAPERSON = CTPERS
ADDRESSDATA = ADADD
IMPORTING
BUSINESSPARTNER = BUsinessPartner
TABLES
TELEFONDATA = ADTEL
E_MAILDATA = ADSMP
RETURN = lt_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
*PARTN_CAT = 1.
*PARTN_GRP = 002.
*ADADD-CITY = CNEWINFO-CITY .
*
telephone info **
ADTEL-TELEPHONE = CNEWINFO-PHONE.
ADTEL-CONSNUMBER = '001'.
APPEND ADTEL.
*
*
ADTEL-TELEPHONE = CNEWINFO-MOBILE.
ADTEL-CONSNUMBER = '002'.
APPEND ADTEL.
*
*
email information **
ADSMP-E_MAIL = CNEWINFO-EMAIL .
APPEND ADSMP.
*
CALL FUNCTION 'BAPI_BUPR_PFCT_CREATEFROMDATA'
EXPORTING
BUSINESSPARTNER1 = BUSPART1
BUSINESSPARTNER2 = BUSPART2
RELATIONSHIPCATEGORY = RELCAT
TABLES
RETURN = lt_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
LOOP AT lt_return WHERE TYPE = 'E'.
MESG = ' NOT CREATED NEW CONTACT'(020).
EXIT.
ENDLOOP.
ENDFUNCTION.
Thanks,
BORO
‎2008 Mar 01 9:18 PM
Hello Chow
I cannot tell you what the problem is but the answer lies in the returned messages of the BAPI.
...
CALL FUNCTION 'BAPI_BUPR_PFCT_CREATEFROMDATA'
EXPORTING
BUSINESSPARTNER1 = BUSPART1
BUSINESSPARTNER2 = BUSPART2
RELATIONSHIPCATEGORY = RELCAT
TABLES
RETURN = lt_return.
" NOTE: The evalutation of the returned messages should be more sophisticated:
LOOP AT lt_return TRANSPORTING NO FIELDS
WHERE ( type CA 'AEX' ). " abort, error, dump
EXIT.
ENDLOOP.
IF ( syst-subrc = 0 ).
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
...
ENDIF.
"CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
"EXPORTING
"WAIT = 'X'.
"LOOP AT lt_return WHERE TYPE = 'E'.
"MESG = ' NOT CREATED NEW CONTACT'(020).
"EXIT.
"ENDLOOP.
ENDFUNCTION.
You must analyze the returned messages in detail. It might be as simple as an authorization problem.
Regards
Uwe