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

problem when post G/L Document via BAPI_ACC_GL_POSTING_POST

Former Member
0 Likes
514

What I am doing is to post new G/L Accounting Document on each successfully paid transaction, each successfully reversed transaction, each rejected transaction for bank XXX, and each payment transaction for bank YYY in 3 Events respectively. And I am using the BAPI BAPI_ACC_GL_POSTING_POST to post.

but in the return table there are error messages, the sample code is as follows:

&----


*& Get the OBJ_KEY of DOCUMENTHEADER *

&----


  • get the current fiscal year

l_fiscyear = sy-datum(4).

  • select the Number Range NO. out from T003

select single numkr

from t003

into l_numkr

where blart = 'SY'.

if sy-subrc <> 0.

message .

endif.

  • call FM to get the Accounting Doc. No.

call function 'NUMBER_GET_NEXT'

exporting

nr_range_nr = l_numkr

object = ‘RF_BELEG’

subobject = ‘HKHK’

toyear = l_fiscyear

importing

number = p_belnr

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

endif.

  • concatenate the Accountint Doc. No, the company code and the

  • fiscal year together as the OBJ_KEY

concatenate p_belnr ‘HKHK' l_fiscyear into lx_docheader-obj_key.

&--


Get OBJ_KEY end--

  • get the OBJ_SYS

select single logsys

from t000

into lx_docheader-obj_sys

where mandt = sy-mandt.

if sy-subrc <> 0.

message

endif.

  • fill the structure parameter DOCUMENTHEADER of the BAPI

lx_docheader-obj_type = 'BKPFF'.

lx_docheader-username = sy-uname.

lx_docheader-comp_code = 'HKHK'.

lx_docheader-ac_doc_no = p_belnr.

lx_docheader-fisc_year = l_fiscyear.

lx_docheader-doc_date = p_doc_date.

lx_docheader-pstng_date = p_post_date.

lx_docheader-doc_type = ‘SY’.

  • fill the table parameter ACCOUNTGL of the BAPI

lwa_tabaccgl-itemno_acc = 1.

lwa_tabaccgl-gl_account = ‘0000050107’ .

lwa_tabaccgl-comp_code = ‘HKHK’.

lwa_tabaccgl-pstng_date = p_post_date.

lwa_tabaccgl-doc_type = ‘SY’.

lwa_tabaccgl-ac_doc_no = p_belnr.

lwa_tabaccgl-fisc_year = l_fiscyear.

append lwa_tabaccgl to li_tabaccgl.

clear lwa_tabaccgl.

lwa_tabaccgl-itemno_acc = 2.

lwa_tabaccgl-gl_account = ‘0000082910’.

lwa_tabaccgl-comp_code = ‘HKHK’.

lwa_tabaccgl-pstng_date = p_post_date.

lwa_tabaccgl-doc_type = ‘SY’.

lwa_tabaccgl-ac_doc_no = p_belnr.

lwa_tabaccgl-fisc_year = l_fiscyear.

lwa_tabaccgl-costcenter = ‘0000011401’.

append lwa_tabaccgl to li_tabaccgl.

clear lwa_tabaccgl.

  • fill the table parameter CURRENCYAMOUNT of the BAPI

lwa_tabcurramt-itemno_acc = 1.

lwa_tabcurramt-currency = ‘HKD’.

lwa_tabcurramt-amt_doccur = ‘1.5-’.

append lwa_tabcurramt to li_tabcurramt.

clear lwa_tabcurramt.

lwa_tabcurramt-itemno_acc = 2.

lwa_tabcurramt-currency = ‘HKD’.

lwa_tabcurramt-amt_doccur = ‘1.5’.

append lwa_tabcurramt to li_tabcurramt.

clear lwa_tabcurramt.

  • Call BAPI to post the FI-GL Document

call function 'BAPI_ACC_GL_POSTING_POST'

exporting

documentheader = lx_docheader

tables

accountgl = li_tabaccgl

currencyamount = li_tabcurramt

return = li_tabreturn.

The return table says:

Error in document: BKPFF 1200000068HKCG2007 UD1CLNT120

Field Value date is a required field for G/L account HKCG 50107

would you experts please tell me what's the problem is?? it's emergency, thanks in a million advance.

3 REPLIES 3
Read only

Former Member
0 Likes
428

Hi

U haven't to transfer the reference data to the BAPI, the document number is picked up automatically:

* fill the structure parameter DOCUMENTHEADER of the BAPI

*    LX_DOCHEADER-OBJ_TYPE = 'BKPFF'.
    LX_DOCHEADER-USERNAME = SY-UNAME.
    LX_DOCHEADER-COMP_CODE = 'HKHK'.
*    LX_DOCHEADER-AC_DOC_NO = P_BELNR.
*    LX_DOCHEADER-FISC_YEAR = L_FISCYEAR.
    LX_DOCHEADER-DOC_DATE = P_DOC_DATE.
    LX_DOCHEADER-PSTNG_DATE = P_POST_DATE.
    LX_DOCHEADER-DOC_TYPE = ‘SY’.


* fill the table parameter ACCOUNTGL of the BAPI

    LWA_TABACCGL-ITEMNO_ACC = 1.
    LWA_TABACCGL-GL_ACCOUNT = ‘0000050107’ .
    LWA_TABACCGL-COMP_CODE = ‘HKHK’.
    LWA_TABACCGL-PSTNG_DATE = P_POST_DATE.
    LWA_TABACCGL-DOC_TYPE = ‘SY’.
*    LWA_TABACCGL-AC_DOC_NO = P_BELNR.
*    LWA_TABACCGL-FISC_YEAR = L_FISCYEAR.
    APPEND LWA_TABACCGL TO LI_TABACCGL.
    CLEAR LWA_TABACCGL.


    LWA_TABACCGL-ITEMNO_ACC = 2.
    LWA_TABACCGL-GL_ACCOUNT = ‘0000082910’.
    LWA_TABACCGL-COMP_CODE = ‘HKHK’.
    LWA_TABACCGL-PSTNG_DATE = P_POST_DATE.
    LWA_TABACCGL-DOC_TYPE = ‘SY’.
*    LWA_TABACCGL-AC_DOC_NO = P_BELNR.
*    LWA_TABACCGL-FISC_YEAR = L_FISCYEAR.
    LWA_TABACCGL-COSTCENTER = ‘0000011401’.
    APPEND LWA_TABACCGL TO LI_TABACCGL.
    CLEAR LWA_TABACCGL.

Max

Read only

0 Likes
428

i tried in your way, still the same problem :(.......

Read only

0 Likes
428

Hi

Probably, but now you should try to know which error occurs.

I believe these are the parameters you should transfer to create the document, perhaps some data are missing, but this depends on your system:

LX_DOCHEADER-USERNAME   = SY-UNAME.
LX_DOCHEADER-COMP_CODE  = 'HKHK'.
LX_DOCHEADER-DOC_DATE   = P_DOC_DATE.
LX_DOCHEADER-PSTNG_DATE = P_POST_DATE.
LX_DOCHEADER-DOC_TYPE   = ‘SY’.


* fill the table parameter ACCOUNTGL of the BAPI

LWA_TABACCGL-ITEMNO_ACC = 1.
LWA_TABACCGL-GL_ACCOUNT = ‘0000050107’ .
APPEND LWA_TABACCGL TO LI_TABACCGL.



LWA_TABACCGL-ITEMNO_ACC = 2.
LWA_TABACCGL-GL_ACCOUNT = ‘0000082910’.
LWA_TABACCGL-COSTCENTER = ‘0000011401’.
APPEND LWA_TABACCGL TO LI_TABACCGL.
CLEAR LWA_TABACCGL.



* fill the table parameter CURRENCYAMOUNT of the BAPI

LWA_TABCURRAMT-ITEMNO_ACC = 1.
LWA_TABCURRAMT-CURR_TYPE  = '00'.
LWA_TABCURRAMT-CURRENCY   = ‘HKD’.
LWA_TABCURRAMT-AMT_DOCCUR = ‘1.5-’.
APPEND LWA_TABCURRAMT TO LI_TABCURRAMT.
CLEAR LWA_TABCURRAMT.


LWA_TABCURRAMT-ITEMNO_ACC = 2.
LWA_TABCURRAMT-CURR_TYPE  = '00'.
LWA_TABCURRAMT-CURRENCY   = ‘HKD’.
LWA_TABCURRAMT-AMT_DOCCUR = ‘1.5’.
APPEND LWA_TABCURRAMT TO LI_TABCURRAMT.
CLEAR LWA_TABCURRAMT.

Max