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_DOCUMENT_POST - Posting Key, Tax Amount

Former Member
0 Likes
488

Hi All,

I am using BAPI_ACC_DOCUMENT_POST. Unfortunately, I can find a field Posting Key and Tax Amount in this bapi.

Anyone face this problem before?

Thanks.

2 REPLIES 2
Read only

Former Member
0 Likes
336

Hi,

I have not used this BAPI, but I have used BAPI_ACC_GL_POSTING_POST before. In that also, we don't provide the posting key. Correct posting keys are used based on value of amount field ( negative or positive).

I think that it will be same for your BAPI. Also, for tax check if you have to create entries in table ACCOUNTTAX .

Regards,

Rajendra Salecha

Read only

Former Member
0 Likes
336

Hi,

Why don't you use batchinput program(RFBIBL00) for this.

you need to submit this program ,

Just try following logic

TYPES: BEGIN OF TP_FILE,

file(3300) TYPE C,

END OF TP_FILE.

DATA:TFILE TYPE TP_FILE OCCURS 0 WITH HEADER LINE.

LOOP AT T_DUPLICATE_ACCOUNT.

CLEAR TFILE.

REFRESH TFILE.

IF T_TOTAL[] IS NOT INITIAL.

  • IF T_TAXWAREDATA[] IS NOT INITIAL.

CLEAR WL_BBKPF.

PERFORM FILL_NODATA USING WL_BBKPF.

READ TABLE T_BKPF INDEX 1.

IF SY-SUBRC EQ 0.

WL_BBKPF-STYPE = C_STYPE1.

WL_BBKPF-TCODE = C_TCODEFB01.

PERFORM CONVERT_DATE USING SY-DATUM CHANGING L_OUT.

WL_BBKPF-BLDAT = L_OUT.

SELECT SINGLE VAL1 INTO L_DOCTYPE FROM YROT_VARV

WHERE NAME = C_TAX_DOCUMENT_TYPE.

WL_BBKPF-BLART = L_DOCTYPE.

WL_BBKPF-BUKRS = T_BKPF-BUKRS.

CLEAR L_OUT.

PERFORM CONVERT_DATE USING SY-DATUM CHANGING L_OUT.

WL_BBKPF-BUDAT = L_OUT.

WL_BBKPF-MONAT = T_BKPF-MONAT.

WL_BBKPF-WAERS = T_BKPF-WAERS.

WL_BBKPF-XBLNR = T_BKPF-BELNR.

ENDIF.

CLEAR WL_BBGR0.

PERFORM FILL_NODATA USING WL_BBGR0.

WL_BBGR0-STYPE = C_STYPE0.

WL_BBGR0-GROUP = 'TEST'.

WL_BBGR0-MANDT = SY-MANDT.

WL_BBGR0-USNAM = SY-UNAME.

TFILE = WL_BBGR0.

APPEND TFILE.

TFILE = WL_BBKPF.

APPEND TFILE.

CLEAR: TL_BBSEG,

TL_BBTAX.

REFRESH: TL_BBSEG,

TL_BBTAX.

LOOP AT T_TOTAL WHERE TXJCD = T_DUPLICATE_ACCOUNT-TXJCD

AND SAKTO = T_DUPLICATE_ACCOUNT-SAKTO

AND KOSTL = T_DUPLICATE_ACCOUNT-KOSTL

AND PROJK = T_DUPLICATE_ACCOUNT-PROJK

AND AUFNR = T_DUPLICATE_ACCOUNT-AUFNR

AND NPLNR = T_DUPLICATE_ACCOUNT-NPLNR

AND VORNR = T_DUPLICATE_ACCOUNT-VORNR

AND DIFFERENCE GT 0.

CLEAR TL_BBSEG.

PERFORM FILL_NODATA USING TL_BBSEG.

TL_BBSEG-STYPE = C_STYPE2.

TL_BBSEG-TBNAM = C_TBNAMBBSEG.

TL_BBSEG-NEWBS = C_DEBIT.

TL_BBSEG-WRBTR = T_TOTAL-HWBAS.

TL_BBSEG-MWSKZ = C_I1.

TL_BBSEG-TXJCD = T_TOTAL-TXJCD.

TL_BBSEG-KOSTL = T_TOTAL-KOSTL.

TL_BBSEG-NEWKO = T_TOTAL-SAKTO.

TL_BBSEG-SGTXT = T_TOTAL-EBELN.

IF T_TOTAL-PROJK IS NOT INITIAL.

TL_BBSEG-PROJK = T_TOTAL-PROJK.

ENDIF.

IF T_TOTAL-AUFNR IS NOT INITIAL.

TL_BBSEG-AUFNR = T_TOTAL-AUFNR.

ENDIF.

IF T_TOTAL-NPLNR IS NOT INITIAL.

TL_BBSEG-NPLNR = T_TOTAL-NPLNR.

ENDIF.

IF T_TOTAL-VORNR IS NOT INITIAL.

TL_BBSEG-VORNR = T_TOTAL-VORNR.

ENDIF.

APPEND TL_BBSEG.

TFILE = TL_BBSEG.

APPEND TFILE.

CLEAR TL_BBSEG.

PERFORM FILL_NODATA USING TL_BBSEG.

TL_BBSEG-STYPE = C_STYPE2.

TL_BBSEG-TBNAM = C_TBNAMBBSEG.

TL_BBSEG-NEWBS = C_CREDIT.

TL_BBSEG-WRBTR = T_TOTAL-HWBAS.

TL_BBSEG-MWSKZ = C_I0.

TL_BBSEG-TXJCD = T_TOTAL-TXJCD.

TL_BBSEG-KOSTL = T_TOTAL-KOSTL.

TL_BBSEG-NEWKO = T_TOTAL-SAKTO.

TL_BBSEG-SGTXT = T_TOTAL-EBELN.

IF T_TOTAL-PROJK IS NOT INITIAL.

TL_BBSEG-PROJK = T_TOTAL-PROJK.

ENDIF.

IF T_TOTAL-AUFNR IS NOT INITIAL.

TL_BBSEG-AUFNR = T_TOTAL-AUFNR.

ENDIF.

IF T_TOTAL-NPLNR IS NOT INITIAL.

TL_BBSEG-NPLNR = T_TOTAL-NPLNR.

ENDIF.

IF T_TOTAL-VORNR IS NOT INITIAL.

TL_BBSEG-VORNR = T_TOTAL-VORNR.

ENDIF.

APPEND TL_BBSEG.

TFILE = TL_BBSEG.

APPEND TFILE.

CLEAR TL_BBSEG.

PERFORM FILL_NODATA USING TL_BBSEG.

TL_BBSEG-STYPE = C_STYPE2.

TL_BBSEG-TBNAM = C_TBNAMBBSEG.

TL_BBSEG-NEWBS = C_CREDIT.

TL_BBSEG-WRBTR = T_TOTAL-DIFFERENCE.

TL_BBSEG-NEWKO = YROT_VARV-VAL1.

TL_BBSEG-SGTXT = T_TOTAL-EBELN.

APPEND TL_BBSEG.

TFILE = TL_BBSEG.

APPEND TFILE.

CLEAR TL_BBTAX.

PERFORM FILL_NODATA USING TL_BBTAX.

TL_BBTAX-STYPE = C_STYPE2.

TL_BBTAX-TBNAM = C_TBNAMBBTAX.

TL_BBTAX-MWSKZ = C_I1.

TL_BBTAX-FWSTE = T_TOTAL-DIFFERENCE.

APPEND TL_BBTAX.

TFILE = TL_BBTAX.

APPEND TFILE.

L_VALUE = C_CHECK.

ENDLOOP.

IF L_VALUE EQ C_CHECK.

EXPORT TFILE[] TO MEMORY ID 'tfile'.

SUBMIT RFBIBL00 WITH CALLMODE = C_CALLTRANSACTION

WITH ANZ_MODE = C_ERRORTYPE

WITH XINF = C_CHECK

AND RETURN.

FREE MEMORY ID 'TFILE'.

CLEAR L_VALUE.

ENDIF.

ENDIF.

ENDLOOP.

FORM FILL_NODATA USING FP_STRUCT TYPE ANY.

FIELD-SYMBOLS <FN> TYPE ANY.

DO.

ASSIGN COMPONENT SY-INDEX OF STRUCTURE FP_STRUCT TO <FN>.

IF SY-SUBRC NE 0.

EXIT.

ENDIF.

IF <FN> IS INITIAL.

MOVE C_SLASH TO <FN>+0(1).

ENDIF.

ENDDO.

ENDFORM. "fill_nodata