HI Kannan,
please find the FM.
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
documentheader = gd_documentheader
customercpd = gd_customercpd
contractheader = gd_fica_hd
IMPORTING
obj_type = l_type
obj_key = l_key
obj_sys = l_sys
TABLES
accountgl = it_accountgl
accountreceivable = it_accountreceivable
accountpayable = it_accountpayable
accounttax = it_accounttax
currencyamount = it_currencyamount
criteria = it_criteria
valuefield = it_valuefield
extension1 = it_ext
return = it_return
paymentcard = it_paymentcard
contractitem = it_fica_it
extension2 = it_ext2
realestate = it_re.
IF l_key ne '$'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.
IF it_return IS NOT INITIAL.
LOOP AT it_return INTO wa_return WHERE type = 'S' .
gs_status-docnum = gs_idoc_data-docnum.
gs_status-status = '53'.
gs_status-msgid = wa_return-id.
gs_status-msgno = wa_return-number.
gs_status-msgv1 = wa_return-message_v1.
gs_status-msgv2 = wa_return-message_v2.
gs_status-msgv3 = wa_return-message_v3.
gs_status-msgv4 = wa_return-message_v4.
APPEND gs_status TO idoc_status.
CLEAR gs_status.
ENDLOOP.
LOOP AT it_return INTO wa_return WHERE type = 'E'.
gs_status-docnum = gs_idoc_data-docnum.
gs_status-status = '51'.
gs_status-msgid = wa_return-id.
gs_status-msgno = wa_return-number.
gs_status-msgv1 = wa_return-message_v1.
gs_status-msgv2 = wa_return-message_v2.
gs_status-msgv3 = wa_return-message_v3.
gs_status-msgv4 = wa_return-message_v4.
APPEND gs_status TO idoc_status.
CLEAR gs_status.
ENDLOOP.