‎2005 Oct 18 10:42 AM
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.
‎2005 Oct 18 4:18 PM
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
‎2005 Oct 18 4:38 PM
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