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_CHECK - ERROR

Former Member
0 Likes
547

Hi,

my requirement is i want to check the GL before post. so i am using tis BAPI_ACC_GL_POSTING_CHECK and i am getting the below error.

RFBU

Account 610600 requires an assignment to a CO object

610600

Account 610200 requires an assignment to a CO object

&----


*& Report ZFI_CONV_GLPOSTING_RV01

*&

----


  • Program : ZFI_CONV_GLPOSTING_RV01 *

  • Title : *

  • Author : *

  • Description : *

----


  • Modification Details *

----


  • Date Correction Programmer Description of Change *

  • ======== ========== ================== =========================*

*1 Initial Creation *

----


REPORT ZFI_CONV_GLPOSTING_RV01.

TYPES : BEGIN OF t_flat,

text(250) TYPE c,

END OF t_flat.

DATA : it_flat TYPE TABLE OF t_flat,

x_flat TYPE t_flat.

TABLES: BAPIACHE08, BAPIACHE02.

TYPES : BEGIN OF X_INPUT,

BLDAT LIKE BKPF-BLDAT,

BUDAT LIKE BKPF-BUDAT,

BUKRS LIKE BKPF-BUKRS,

WAERS LIKE BKPF-WAERS,

XBLNR LIKE BKPF-XBLNR,

BSCHL LIKE BSEG-BSCHL,

NEWKO LIKE RF05A-NEWKO,

WRBTR(16) TYPE C,

KOSTL LIKE COBL-KOSTL,

PRCTR LIKE COBL-PRCTR,

ZUONR LIKE BSEG-ZUONR,

SGTXT LIKE BSEG-SGTXT,

XREF1 LIKE BSEG-XREF1,

XREF2 LIKE BSEG-XREF2,

XREF3 LIKE BSEG-XREF3,

EBELN LIKE BSEG-EBELN,

END OF X_INPUT.

DATA: HEADER LIKE STANDARD TABLE OF BAPIACHE08 WITH HEADER LINE,

ACCOUNTGL LIKE STANDARD TABLE OF BAPIACGL08 WITH HEADER LINE,

CURRENCYAMOUNT LIKE STANDARD TABLE OF BAPIACCR08 WITH HEADER LINE,

RETURN LIKE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE,

IT_INPUT TYPE TABLE OF X_INPUT,

WA_INPUT TYPE X_INPUT,

v_file TYPE string,

v_objsys type TBDLS-LOGSYS.

PARAMETERS p_file TYPE rlgrap-filename.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

program_name = syst-cprog

dynpro_number = syst-dynnr

field_name = 'P_FILE'

IMPORTING

file_name = p_file.

START-OF-SELECTION.

CLEAR v_file.

v_file = p_file.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = v_file

filetype = 'ASC'

has_field_separator = 'X'

TABLES

data_tab = it_FLAT

EXCEPTIONS

file_open_error = 1

file_read_error = 2

no_batch = 3

gui_refuse_filetransfer = 4

invalid_type = 5

no_authority = 6

unknown_error = 7

bad_data_format = 8

header_not_allowed = 9

separator_not_allowed = 10

header_too_long = 11

unknown_dp_error = 12

access_denied = 13

dp_out_of_memory = 14

disk_full = 15

dp_timeout = 16

OTHERS = 17.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

IF NOT it_flat IS INITIAL.

LOOP AT it_flat INTO x_flat.

SPLIT x_flat AT ',' INTO : WA_INPUT-BLDAT

WA_INPUT-BUDAT

WA_INPUT-BUKRS

WA_INPUT-WAERS

WA_INPUT-XBLNR

WA_INPUT-BSCHL

WA_INPUT-NEWKO

WA_INPUT-WRBTR

WA_INPUT-KOSTL

WA_INPUT-PRCTR

WA_INPUT-ZUONR

WA_INPUT-SGTXT

WA_INPUT-XREF1

WA_INPUT-XREF2

WA_INPUT-XREF3

WA_INPUT-EBELN .

APPEND wa_input TO it_INPUT.

ENDLOOP.

ENDIF.

CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'

IMPORTING

OWN_LOGICAL_SYSTEM = v_objsys

  • EXCEPTIONS

  • OWN_LOGICAL_SYSTEM_NOT_DEFINED = 1

  • OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

loop at it_input into wa_input.

if wa_input-bukrs is not initial.

HEADER-OBJ_TYPE = 'RFBU'.

HEADER-HEADER_TXT = 'BAPI'.

HEADER-OBJ_SYS = v_objsys.

HEADER-OBJ_KEY = 'Venkat'.

HEADER-COMP_CODE = wa_input-bukrs.

HEADER-DOC_DATE = WA_INPUT-BLDAT.

HEADER-PSTNG_DATE = WA_INPUT-BUDAT.

HEADER-USERNAME = SY-UNAME.

HEADER-DOC_TYPE = 'SA'.

*append header.

*clear header.

endif.

IF WA_INPUT-BSCHL IS NOT INITIAL.

ACCOUNTGL-ITEMNO_ACC = '0000000001'.

unpack WA_INPUT-NEWKO to ACCOUNTGL-GL_ACCOUNT .

ACCOUNTGL-BUS_AREA = '0001'.

*ACCOUNTGL-COST_OBJ = WA_INPUT-KOSTL.

ACCOUNTGL-PROFIT_CTR = WA_INPUT-PRCTR.

ACCOUNTGL-ALLOC_NMBR = WA_INPUT-ZUONR.

ACCOUNTGL-ITEM_TEXT = WA_INPUT-SGTXT.

ACCOUNTGL-REF_KEY_1 = WA_INPUT-XREF1.

ACCOUNTGL-REF_KEY_2 = WA_INPUT-XREF1.

ACCOUNTGL-REF_KEY_3 = WA_INPUT-XREF1.

ACCOUNTGL-ROUTING_NO = WA_INPUT-EBELN.

HEADER-COMP_CODE = '1100'.

HEADER-PSTNG_DATE = sy-datum..

APPEND ACCOUNTGL.

CURRENCYAMOUNT-ITEMNO_ACC = '0000000001'.

CURRENCYAMOUNT-CURR_TYPE = '00'.

CURRENCYAMOUNT-CURRENCY = 'USD'.

CURRENCYAMOUNT-AMT_DOCCUR = WA_INPUT-WRBTR.

APPEND CURRENCYAMOUNT.

ENDIF.

endloop.

CALL FUNCTION 'BAPI_ACC_GL_POSTING_CHECK'

EXPORTING

DOCUMENTHEADER = HEADER

TABLES

accountgl = ACCOUNTGL

  • CURRENCYAMOUNT =

return = RETURN

  • EXTENSION1 =

.

loop at return.

write 😕 return-MESSAGE,return-MESSAGE_V1.

endloop.

write 😕 'Over'.

2 REPLIES 2
Read only

Former Member
0 Likes
436

u have to pass assignment number, in bapi ACCOUNTGL- ALLOC_NMBR,

suppose u r not getting any assignmnet number means goto BSEG table,

and take one assignment number for a given G/L account

Read only

Former Member
0 Likes
436

You have commented out this line:

*ACCOUNTGL-COST_OBJ = WA_INPUT-KOSTL.

It's saying that you need to pass a cost center to these accounts.

Rob