Application Development and Automation 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: 
Read only

BAPI_ACC_GL_POSTING_REV_POST

Former Member
0 Likes
2,992

Hi,

please let me know what was wrong....

any sample source...

4 Entries error

E RW 609 Error in document :

E RW 602 Required field OBJ_TYPE was not transferred in parameter REVERSAL.

E RW 602 Required field OBJ_KEY_R was not transferred in parameter REVERSAL.

E RW 602 Required field OBJ_SYS was not transferred in parameter REVERSAL.

data : lt_reversal like bapiacrev occurs 0 with header line,

lt_return like bapiret2 occurs 0 with header line.

refresh lt_reversal.

lt_reversal-COMP_CODE = '1000'.

lt_reversal-AC_DOC_NO = '1100000005'.

append lt_reversal.

call function 'BAPI_ACC_GL_POSTING_REV_POST'

exporting

reversal = lt_reversal

  • IMPORTING

  • OBJ_TYPE =

  • OBJ_KEY =

  • OBJ_SYS =

tables

return = lt_return.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,626

Check the below sample code.



Parameters p_belnr like bkpf-belnr default '0100000236'. 

*Get last SA type document posted to build document key 
CALL FUNCTION 'NUMBER_GET_NEXT' 
EXPORTING 
NR_RANGE_NR = '01' 
OBJECT = 'RF_BELEG' 

QUANTITY = '1' 
SUBOBJECT = '4000' "company code 
TOYEAR = '2005' 

IGNORE_BUFFER = '2005' 
IMPORTING 
NUMBER = docnum 

QUANTITY = 
RETURNCODE = 
EXCEPTIONS 
INTERVAL_NOT_FOUND = 1 
NUMBER_RANGE_NOT_INTERN = 2 
OBJECT_NOT_FOUND = 3 
QUANTITY_IS_0 = 4 
QUANTITY_IS_NOT_1 = 5 
INTERVAL_OVERFLOW = 6 
BUFFER_OVERFLOW = 7 
OTHERS = 8 
. 
IF SY-SUBRC 0. 

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO 
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. 
ENDIF. 



"Begin to populate docnument header. 
*obj_key contains new document no. 
CONCATENATE docnum '4000' sy-datlo(4) INTO doc_header-obj_key. 
doc_header-obj_type = 'BKPFF'. 
*obj_key_r contains document no. needed to reverse 
CONCATENATE p_belnr '4000' sy-datlo(4) INTO doc_header-obj_key_r. 

doc_header-obj_sys = 'A1DMD011'. 
*doc_header-OBJ_KEY_R = 'AWREF_REV'. 
*doc_header-AC_DOC_NO = '8'. 
*doc_header-header_txt = 'TEST BOC BAPI POSTING'. 
doc_header-comp_code = '4000'. 
doc_header-REASON_REV = '02'. 
doc_header-pstng_date = '20050517'. 
doc_header-FIS_PERIOD = '05'. 


"All tables filled - now call BAPI. 
CALL FUNCTION 'BAPI_ACC_GL_POSTING_REV_POST' 
EXPORTING 
REVERSAL = doc_header 
IMPORTING 
OBJ_TYPE = doc_header-obj_type 
OBJ_KEY = doc_header-obj_key 
OBJ_SYS = doc_header-obj_sys 
TABLES 
RETURN = return 
. 

LOOP AT return WHERE type = 'E'. 
EXIT. 
ENDLOOP. 

IF sy-subrc EQ 0. 
WRITE: / 'BAPI call failed - debug and fix!'. 
LOOP AT return. 
WRITE: / . 
WRITE: 
return-TYPE, 
'|', 
return-ID, 
'|', 
return-NUMBER, 
'|', 
return-MESSAGE. 
ENDLOOP. 
ELSE. 
LOOP AT return. 
WRITE: / . 
WRITE: 
return-TYPE, 
'|', 
return-ID, 
'|', 
return-NUMBER, 
'|', 
return-MESSAGE. 
ENDLOOP. 
CLEAR return. 
REFRESH return. 

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' 

EXPORTING 
WAIT = 'X' 
IMPORTING 
return = return. 
WRITE: / 'BAPI call worked!!'. 
WRITE: / doc_header-obj_key, ' posted'. 

Hope it helps.

Thanks,

Balaji

1 REPLY 1
Read only

Former Member
0 Likes
1,627

Check the below sample code.



Parameters p_belnr like bkpf-belnr default '0100000236'. 

*Get last SA type document posted to build document key 
CALL FUNCTION 'NUMBER_GET_NEXT' 
EXPORTING 
NR_RANGE_NR = '01' 
OBJECT = 'RF_BELEG' 

QUANTITY = '1' 
SUBOBJECT = '4000' "company code 
TOYEAR = '2005' 

IGNORE_BUFFER = '2005' 
IMPORTING 
NUMBER = docnum 

QUANTITY = 
RETURNCODE = 
EXCEPTIONS 
INTERVAL_NOT_FOUND = 1 
NUMBER_RANGE_NOT_INTERN = 2 
OBJECT_NOT_FOUND = 3 
QUANTITY_IS_0 = 4 
QUANTITY_IS_NOT_1 = 5 
INTERVAL_OVERFLOW = 6 
BUFFER_OVERFLOW = 7 
OTHERS = 8 
. 
IF SY-SUBRC 0. 

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO 
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. 
ENDIF. 



"Begin to populate docnument header. 
*obj_key contains new document no. 
CONCATENATE docnum '4000' sy-datlo(4) INTO doc_header-obj_key. 
doc_header-obj_type = 'BKPFF'. 
*obj_key_r contains document no. needed to reverse 
CONCATENATE p_belnr '4000' sy-datlo(4) INTO doc_header-obj_key_r. 

doc_header-obj_sys = 'A1DMD011'. 
*doc_header-OBJ_KEY_R = 'AWREF_REV'. 
*doc_header-AC_DOC_NO = '8'. 
*doc_header-header_txt = 'TEST BOC BAPI POSTING'. 
doc_header-comp_code = '4000'. 
doc_header-REASON_REV = '02'. 
doc_header-pstng_date = '20050517'. 
doc_header-FIS_PERIOD = '05'. 


"All tables filled - now call BAPI. 
CALL FUNCTION 'BAPI_ACC_GL_POSTING_REV_POST' 
EXPORTING 
REVERSAL = doc_header 
IMPORTING 
OBJ_TYPE = doc_header-obj_type 
OBJ_KEY = doc_header-obj_key 
OBJ_SYS = doc_header-obj_sys 
TABLES 
RETURN = return 
. 

LOOP AT return WHERE type = 'E'. 
EXIT. 
ENDLOOP. 

IF sy-subrc EQ 0. 
WRITE: / 'BAPI call failed - debug and fix!'. 
LOOP AT return. 
WRITE: / . 
WRITE: 
return-TYPE, 
'|', 
return-ID, 
'|', 
return-NUMBER, 
'|', 
return-MESSAGE. 
ENDLOOP. 
ELSE. 
LOOP AT return. 
WRITE: / . 
WRITE: 
return-TYPE, 
'|', 
return-ID, 
'|', 
return-NUMBER, 
'|', 
return-MESSAGE. 
ENDLOOP. 
CLEAR return. 
REFRESH return. 

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' 

EXPORTING 
WAIT = 'X' 
IMPORTING 
return = return. 
WRITE: / 'BAPI call worked!!'. 
WRITE: / doc_header-obj_key, ' posted'. 

Hope it helps.

Thanks,

Balaji