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 error ..

Former Member
0 Kudos

Hi..

I am using The ZBAPI for DMS creation, in which when i run in R/3 it is excecuting fine but when integrated with SAP XI it is throwing mapping response error.. when i tried to search in forums, i observe that the response handling and the bapi transaction commit is not well defined i am an XI guy where i am unable to explore this things, i request anyone of u to go through this code once and if found any corrections do it and revert back as a reply to this thread..

This is the BAPI code which i am using if u find any wrong in COMMIT.. revert back this code with correction..

FUNCTION ZBAPI_NPI_DMS.

*"----


""Local interface:

*" IMPORTING

*" VALUE(DOCUMENTDATA) LIKE BAPI_DOC_DRAW2 STRUCTURE

*" BAPI_DOC_DRAW2

*" VALUE(HOSTNAME) LIKE BAPI_DOC_AUX-HOSTNAME OPTIONAL

*" VALUE(DOCBOMCHANGENUMBER) LIKE BAPI_DOC_DRAW2-ECNUMBER OPTIONAL

*" VALUE(DOCBOMVALIDFROM) LIKE BAPI_DOC_DRAW2-VALIDFROMDATE

*" OPTIONAL

*" VALUE(DOCBOMREVISIONLEVEL) LIKE BAPI_DOC_DRAW2-REVLEVEL

*" OPTIONAL

*" VALUE(CAD_MODE) LIKE CSDATA-XFELD DEFAULT SPACE

*" VALUE(PF_FTP_DEST) LIKE RFCDES-RFCDEST DEFAULT SPACE

*" VALUE(PF_HTTP_DEST) LIKE RFCDES-RFCDEST DEFAULT SPACE

*" EXPORTING

*" VALUE(DOCUMENTTYPE) LIKE BAPI_DOC_AUX-DOCTYPE

*" VALUE(DOCUMENTNUMBER) LIKE BAPI_DOC_AUX-DOCNUMBER

*" VALUE(DOCUMENTPART) LIKE BAPI_DOC_AUX-DOCPART

*" VALUE(DOCUMENTVERSION) LIKE BAPI_DOC_AUX-DOCVERSION

*" TABLES

*" CHARACTERISTICVALUES STRUCTURE BAPI_CHARACTERISTIC_VALUES

*" OPTIONAL

*" CLASSALLOCATIONS STRUCTURE BAPI_CLASS_ALLOCATION OPTIONAL

*" DOCUMENTDESCRIPTIONS STRUCTURE BAPI_DOC_DRAT OPTIONAL

*" OBJECTLINKS STRUCTURE BAPI_DOC_DRAD OPTIONAL

*" DOCUMENTSTRUCTURE STRUCTURE BAPI_DOC_STRUCTURE OPTIONAL

*" DOCUMENTFILES STRUCTURE BAPI_DOC_FILES2 OPTIONAL

*" LONGTEXTS STRUCTURE BAPI_DOC_TEXT OPTIONAL

*" COMPONENTS STRUCTURE BAPI_DOC_COMP OPTIONAL

*" RETURN STRUCTURE BAPIRET2

*"----


TABLES : DRAW.

DATA : RETURN1 LIKE BAPIRETURN.

CALL FUNCTION 'API_DOCUMENT_MAINTAIN2'

EXPORTING: PF_TRANSACTION = C_CV01

DOCUMENTDATA = DOCUMENTDATA

HOSTNAME = HOSTNAME

CHANGE_NUMBER = DOCBOMCHANGENUMBER

VALID_FROM = DOCBOMVALIDFROM

REVISION_LEVEL = DOCBOMREVISIONLEVEL

PF_FTP_DEST = PF_FTP_DEST

PF_HTTP_DEST = PF_HTTP_DEST

CAD_MODE = CAD_MODE

IMPORTING: DOCUMENTTYPE = DOCUMENTTYPE

DOCUMENTNUMBER = DOCUMENTNUMBER

DOCUMENTPART = DOCUMENTPART

DOCUMENTVERSION = DOCUMENTVERSION

RETURN = RETURN

TABLES: CHARACTERISTICVALUES = CHARACTERISTICVALUES

CLASSALLOCATIONS = CLASSALLOCATIONS

DOCUMENTDESCRIPTIONS = DOCUMENTDESCRIPTIONS

OBJECTLINKS = OBJECTLINKS

DOCUMENTSTRUCTURE = DOCUMENTSTRUCTURE

DOCUMENTFILES = DOCUMENTFILES

LONGTEXT = LONGTEXTS

COMPONENTS = COMPONENTS.

PERFORM : DMS_GET_MESSAGE USING SY-SUBRC DOCUMENTDATA-DOCUMENTNUMBER CHANGING MESSAGE,

BAPI_RESPONSE USING MESSAGE CHANGING RETURN1.

IF MESSAGE-MSGNO EQ 0.

MOVE : MESSAGE-MSGTY TO RETURN-TYPE,

MESSAGE-MSGV1 TO RETURN-MESSAGE,

MESSAGE-MSGNO TO RETURN-NUMBER.

APPEND RETURN.CLEAR RETURN.

ENDIF.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

IMPORTING

RETURN = RETURN.ENDFUNCTION.

&----


*& Form GET_MESSAGE

&----


text

-


-->P_DOCUMENTNUMBER text

-->P_MESSAGE text

-


FORM DMS_GET_MESSAGE USING P_SUBRC LIKE SY-SUBRC

P_DOCUMENTNUMBER LIKE BAPI_DOC_DRAW2-DOCUMENTNUMBER

CHANGING P_MESSAGE STRUCTURE MESSAGE.

DATA : DOCNO(25),

MSGV1 LIKE SY-MSGV1.

CLEAR : P_MESSAGE,MSGV1,DOCNO.

DOCNO = P_DOCUMENTNUMBER.

IF DOCNO NA SY-ABCDE.

PACK DOCNO TO DOCNO.

SHIFT DOCNO LEFT DELETING LEADING ' '.

ENDIF.

P_MESSAGE-SUBRC = P_SUBRC.

P_MESSAGE-MSGID = 'ZNPI'.

P_MESSAGE-MSGV1 = P_DOCUMENTNUMBER.

IF P_SUBRC EQ 0.

CONCATENATE DOCNO 'Have been Created' INTO MSGV1 SEPARATED BY SPACE.

P_MESSAGE-MSGNO = '000'.

P_MESSAGE-MSGTY = 'I'.

P_MESSAGE-MSGV1 = MSGV1.

ELSE.

CONCATENATE DOCNO 'Can not be Created' INTO MSGV1 SEPARATED BY SPACE.

P_MESSAGE-MSGNO = '001'.

P_MESSAGE-MSGTY = 'E'.

P_MESSAGE-MSGV1 = MSGV1.

ENDIF.

ENDFORM. "GET_MESSAGE

regards,

4 REPLIES 4

Former Member
0 Kudos

Hi

Try this .

Data:i_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.

REFRESH i_return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

wait = 'X'

IMPORTING

return = i_return.

Hope it will help.

Regards

Neha

0 Kudos

Neha,

Where should i need to insert this code..

regards

Sai

0 Kudos

hi..

could anyone throw light on this issue

regards

sai

Former Member
0 Kudos

Hi..

Commented lines are removed to view easily ..

FUNCTION ZBAPI_NPI_DMS.

TABLES : DRAW.

DATA : RETURN1 LIKE BAPIRETURN.

CALL FUNCTION 'API_DOCUMENT_MAINTAIN2'

EXPORTING: PF_TRANSACTION = C_CV01

DOCUMENTDATA = DOCUMENTDATA

HOSTNAME = HOSTNAME

CHANGE_NUMBER = DOCBOMCHANGENUMBER

VALID_FROM = DOCBOMVALIDFROM

REVISION_LEVEL = DOCBOMREVISIONLEVEL

PF_FTP_DEST = PF_FTP_DEST

PF_HTTP_DEST = PF_HTTP_DEST

CAD_MODE = CAD_MODE

IMPORTING: DOCUMENTTYPE = DOCUMENTTYPE

DOCUMENTNUMBER = DOCUMENTNUMBER

DOCUMENTPART = DOCUMENTPART

DOCUMENTVERSION = DOCUMENTVERSION

RETURN = RETURN

TABLES: CHARACTERISTICVALUES = CHARACTERISTICVALUES

CLASSALLOCATIONS = CLASSALLOCATIONS

DOCUMENTDESCRIPTIONS = DOCUMENTDESCRIPTIONS

OBJECTLINKS = OBJECTLINKS

DOCUMENTSTRUCTURE = DOCUMENTSTRUCTURE

DOCUMENTFILES = DOCUMENTFILES

LONGTEXT = LONGTEXTS

COMPONENTS = COMPONENTS.

PERFORM : DMS_GET_MESSAGE USING SY-SUBRC DOCUMENTDATA-DOCUMENTNUMBER CHANGING MESSAGE,

BAPI_RESPONSE USING MESSAGE CHANGING RETURN1.

IF MESSAGE-MSGNO EQ 0.

MOVE : MESSAGE-MSGTY TO RETURN-TYPE,

MESSAGE-MSGV1 TO RETURN-MESSAGE,

MESSAGE-MSGNO TO RETURN-NUMBER.

APPEND RETURN.CLEAR RETURN.

ENDIF.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

IMPORTING

RETURN = RETURN.ENDFUNCTION.

&----


*& Form GET_MESSAGE

&----


text

-


-->P_DOCUMENTNUMBER text

-->P_MESSAGE text

-


FORM DMS_GET_MESSAGE USING P_SUBRC LIKE SY-SUBRC

P_DOCUMENTNUMBER LIKE BAPI_DOC_DRAW2-DOCUMENTNUMBER

CHANGING P_MESSAGE STRUCTURE MESSAGE.

DATA : DOCNO(25),

MSGV1 LIKE SY-MSGV1.

CLEAR : P_MESSAGE,MSGV1,DOCNO.

DOCNO = P_DOCUMENTNUMBER.

IF DOCNO NA SY-ABCDE.

PACK DOCNO TO DOCNO.

SHIFT DOCNO LEFT DELETING LEADING ' '.

ENDIF.

P_MESSAGE-SUBRC = P_SUBRC.

P_MESSAGE-MSGID = 'ZNPI'.

P_MESSAGE-MSGV1 = P_DOCUMENTNUMBER.

IF P_SUBRC EQ 0.

CONCATENATE DOCNO 'Have been Created' INTO MSGV1 SEPARATED BY SPACE.

P_MESSAGE-MSGNO = '000'.

P_MESSAGE-MSGTY = 'I'.

P_MESSAGE-MSGV1 = MSGV1.

ELSE.

CONCATENATE DOCNO 'Can not be Created' INTO MSGV1 SEPARATED BY SPACE.

P_MESSAGE-MSGNO = '001'.

P_MESSAGE-MSGTY = 'E'.

P_MESSAGE-MSGV1 = MSGV1.

ENDIF.

ENDFORM. "GET_MESSAGE

regards,

sai