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

Additional tax data in BAPI_ACC_DOCUMENT_POST

pavel_parshenkov2
Participant
0 Likes
1,253

Hello All.

i create FI document with BAPI_ACC_DOCUMENT_POST.

fill

accountgl for general items

and

accounttax for taxes.

But in this case i can't fill additional data for tax generated items. i.e. 'Profit Center' and etc. cause accounttax table is not contain fields lilke this.

If I fill tax data in accountgl table. it's ok. But in created FI document this itmes are not looked as tax itmes. So no information about tax in document.

Please help if you know.

Thanks.

5 REPLIES 5
Read only

Former Member
0 Likes
938

Hi,

u can use BAPI_ACC_GL_POSTING_POST.

<b>Reward points</b>

Regards

Read only

0 Likes
938

> Hi,

> u can use BAPI_ACC_GL_POSTING_POST.

> oints</b>

>

> Regards

with this BAPI i'cant fill field MATNR. (Material Number). and tax_code (mwskz).

Read only

Former Member
0 Likes
938

Hello,

Check this sample code.

<b>Please read Release-Note 737917</b>


REPORT ZV_DOC_POST .
PARAMETERS: P_EBELN LIKE EKKO-EBELN,
            P_EBELP LIKE EKPO-EBELP .
*DATA: BEGIN OF DOC_HEADER,
*        CO_AREA(4),
*        DOCDATE   LIKE SY-DATUM,
*        POSTGDATE LIKE SY-DATUM,
*        VERSION(3),
*        DOC_NO(10),
*        VARIANT(5),
*        DOC_HDR_TX(50),
*        USERNAME(12),
*        OBJ_KEY(20),
*        OBJ_TYPE(5),
*        OBJ_SYS(10),
*      END OF DOC_HEADER.
DATA: DOC_HEADER LIKE BAPIDOCHDRU12P.
DATA: DOC_ITEMS11 LIKE BAPIRCITM OCCURS 0 WITH HEADER LINE.
DATA: RETURN LIKE BAPIRET2   OCCURS 0 WITH HEADER LINE,
SEND_CRITERIA TYPE TABLE OF BAPIACKECR,
WA_SEND LIKE BAPIACKECR,
REC_CRITERIA TYPE TABLE OF BAPIACKECR,
WA_REC LIKE BAPIACKECR,
CUSTOMER_FIELDS TYPE TABLE OF BAPIEXTC.
*DATA: BEGIN OF DOC_ITEMS11 OCCURS 0,
*        SEND_CCTR(10),
*        SEN_ORDER(12),
*        SEN_WBS_EL(24),
*        SEN_NETWRK(12),
*        SENOPERATN(4),
*        SENSALEORD(10),
*        SENITEM(6) TYPE N,
*        SENCOSTOBJ(12),
*        COST_ELEM(10),
*        VALUE_TCUR(12) TYPE P DECIMALS 4,
*        QUANTITY(8)    TYPE P DECIMALS 3,
*        POSTQUUN(3),
*        POSTQUUN_ISO(3),
*        PERSON_NO(8) TYPE N,
*        SEG_TEXT(50),
*        REC_CCTR(10),
*        REC_ORDER(12),
*        REC_WBS_EL(24),
*        REC_NETWRK(12),
*        RECOPERATN(4),
*        RECSALEORD(10),
*        RECITEM(6) TYPE N,
*        RECCOSTOBJ(12),
*      END OF DOC_ITEMS11.
*DATA: BEGIN OF RETURN OCCURS 0,
*        TYPE,
*        ID(20),
*        NUMBER(3)     TYPE N,
*        MESSAGE(220),
*        LOG_NO(20),
*        LOG_MSG_NO(6) TYPE N,
*        MESSAGE_V1(50),
*        MESSAGE_V2(50),
*        MESSAGE_V3(50),
*        MESSAGE_V4(50),
*        PARAMETER(32),
*        ROW(4)        TYPE N,
*        FIELD(30),
*      END OF RETURN.
DATA:  MESS(150),
       DOC_NO    LIKE J_5NAACC54-BELEGNR.
DATA: LT_EKKO LIKE EKKO OCCURS 0 WITH HEADER LINE,
      LT_EKPO LIKE EKPO OCCURS 0 WITH HEADER LINE,
      LT_EKKN LIKE EKKN OCCURS 0 WITH HEADER LINE.
DATA: LT_LIFNR LIKE Z48M_IN_PO_LIFNR OCCURS 0 WITH HEADER LINE.
DATA: LV_POSID_OLD LIKE PRPS-POSID.
DATA: LV_POSID_DUM LIKE PRPS-POSID.
* Read Internal Vendors (IV 06_022).
REFRESH: LT_EKPO, LT_EKKN, LT_LIFNR.

SELECT *
  FROM EKKO
  INTO TABLE LT_EKKO
*     FOR ALL ENTRIES IN XMSEG
 WHERE EBELN = P_EBELN.

SELECT *
  FROM Z48M_IN_PO_LIFNR
  INTO CORRESPONDING FIELDS OF TABLE LT_LIFNR
   FOR ALL ENTRIES IN LT_EKKO
 WHERE LIFNR = LT_EKKO-LIFNR AND
       PRJKT = 'X'.
SELECT *
  FROM EKPO
  INTO CORRESPONDING FIELDS OF TABLE LT_EKPO
*     FOR ALL ENTRIES IN XMSEG
 WHERE EBELN = P_EBELN." AND
*       EBELP = P_EBELP.

*SELECT *
*  FROM EKKN
*  INTO CORRESPONDING FIELDS OF TABLE LT_EKKN
*   FOR ALL ENTRIES IN LT_EKPO
* WHERE EBELN = LT_EKPO-EBELN AND
*       EBELP = LT_EKPO-EBELP.

SORT: LT_EKKO          BY EBELN.
SORT: LT_LIFNR         BY LIFNR.
SORT: LT_EKPO, LT_EKKN BY EBELN EBELP.
LOOP AT LT_EKPO.

  READ TABLE LT_EKKO WITH KEY EBELN = LT_EKPO-EBELN
                          BINARY SEARCH.
  IF NOT SY-SUBRC IS INITIAL.
    CONTINUE.
  ENDIF.

  READ TABLE LT_LIFNR WITH KEY LIFNR = LT_EKKO-LIFNR
                           BINARY SEARCH.
  IF NOT SY-SUBRC IS INITIAL.
    CONTINUE.
  ENDIF.
  REFRESH DOC_ITEMS11.

  CLEAR DOC_ITEMS11.
  CLEAR DOC_HEADER.
*  READ TABLE LT_EKKN WITH KEY EBELN = LT_EKPO-EBELN
*                            EBELP = LT_EKPO-EBELP
*                            BINARY SEARCH.
  IF SY-SUBRC IS INITIAL.
    DOC_HEADER-CO_AREA    = '0010'.
    DOC_HEADER-DOCDATE    = SY-DATUM.
    DOC_HEADER-POSTGDATE  = SY-DATUM.
    DOC_HEADER-USERNAME   = SY-UNAME.
*    DOC_HEADER-VERSION    = '000'.
    DOC_HEADER-TRANS_CURR = LT_EKKO-WAERS.
    CLEAR: LV_POSID_DUM.

    SELECT SINGLE PSPNR
      INTO LV_POSID_DUM
      FROM PRPS
     WHERE PSPHI EQ LT_LIFNR-PSPNR_DUM AND
           STUFE EQ 1.
    IF SY-SUBRC IS INITIAL.
      DOC_ITEMS11-REC_WBS_EL = LV_POSID_DUM.
    ENDIF.
    CLEAR: LV_POSID_OLD.

    SELECT SINGLE PSPNR
      INTO LV_POSID_OLD
      FROM PRPS
     WHERE PSPHI EQ LT_LIFNR-PSPNR AND
           STUFE EQ 1.
    IF SY-SUBRC IS INITIAL.
      DOC_ITEMS11-SEN_WBS_EL = LV_POSID_OLD.
    ENDIF.
    DOC_ITEMS11-SEN_WBS_EL = 'A0001'.
    DOC_ITEMS11-REC_WBS_EL = 'P2855'.

    DOC_ITEMS11-SEG_TEXT   = 'test KB11N'.
    DOC_ITEMS11-COST_ELEM  = LT_LIFNR-KSTAR.
*    DOC_ITEMS11-VALUE_TCUR = LT_EKKO-WAERS.
*  DOC_ITEMS11-QUANTITY   = ( B_DATEN-KOSTEN / B_DATEN-FAKTOR ) *
*                           B_DATEN-ACCWERT.
    DOC_ITEMS11-VALUE_TCUR = LT_EKPO-NETPR.
*  DOC_ITEMS11-POSTQUUN   = B_DATEN-LEINHEIT.
*  DOC_ITEMS11-REC_CCTR   = B_DATEN-EKOST.
*  DOC_ITEMS11-SEND_CCTR  = B_DATEN-SKOST.
*  DOC_ITEMS11-REC_ORDER  = B_DATEN-EAUFN.
*  DOC_ITEMS11-SEN_ORDER  = B_DATEN-SAUF.
*  DOC_ITEMS11-REC_WBS_EL = B_DATEN-EPROJ.
*  DOC_ITEMS11-SEN_WBS_EL = B_DATEN-SPROJ.
*  DOC_ITEMS11-REC_NETWRK = B_DATEN-ENPLN.
*  DOC_ITEMS11-SEN_NETWRK = B_DATEN-SNPLN.
*  DOC_ITEMS11-RECOPERATN = B_DATEN-EVORG.
*  DOC_ITEMS11-SENOPERATN = B_DATEN-SVORG.
*  DOC_ITEMS11-RECSALEORD = B_DATEN-EKDAU.
*  DOC_ITEMS11-SENSALEORD = B_DATEN-SKDAU.
*  DOC_ITEMS11-RECITEM    = B_DATEN-EKDPO.
*  DOC_ITEMS11-SENITEM    = B_DATEN-SKDPO.
*  DOC_ITEMS11-RECCOSTOBJ = B_DATEN-EKSTR.
*  DOC_ITEMS11-SENCOSTOBJ = B_DATEN-SKSTR.
    APPEND DOC_ITEMS11.
    WA_REC-ITEMNO_ACC = '001'.
    WA_REC-FIELDNAME  = 'PRCTR'."        (profit center)
    WA_REC-CHARACTER   = 'DUMMYPC001'.
    APPEND WA_REC TO REC_CRITERIA.
    WA_SEND-ITEMNO_ACC = '001'.
    WA_SEND-FIELDNAME  = 'PRCTR'."        (profit center)
    WA_SEND-CHARACTER   = 'DUMMYPC001'.
    APPEND WA_SEND TO SEND_CRITERIA.
    CALL FUNCTION 'BAPI_ACC_PRIMARY_COSTS_CHECK'
*DESTINATION J_5NASETUP-DESTI
    EXPORTING
        DOC_HEADER            = DOC_HEADER
    TABLES
        DOC_ITEMS             = DOC_ITEMS11
        RETURN                = RETURN
        SEND_CRITERIA         = SEND_CRITERIA
        REC_CRITERIA          = REC_CRITERIA.
*        CUSTOMER_FIELDS       = CUSTOMER_FIELDS.
*EXCEPTIONS
*    SYSTEM_FAILURE        = 1 MESSAGE MESS
*    COMMUNICATION_FAILURE = 2 MESSAGE MESS.

    CALL FUNCTION 'BAPI_ACC_PRIMARY_COSTS_POST'
*     DESTINATION J_5NASETUP-DESTI
         EXPORTING
              DOC_HEADER            = DOC_HEADER
              IGNORE_WARNINGS       = 'X'
         IMPORTING
              DOC_NO                = DOC_NO
         TABLES
              DOC_ITEMS             = DOC_ITEMS11
              RETURN                = RETURN
        SEND_CRITERIA         = SEND_CRITERIA
        REC_CRITERIA          = REC_CRITERIA.
*        CUSTOMER_FIELDS       = CUSTOMER_FIELDS.
*     EXCEPTIONS
*          SYSTEM_FAILURE        = 1 MESSAGE MESS
*          COMMUNICATION_FAILURE = 2 MESSAGE MESS.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    WRITE: DOC_NO.
  ENDIF.
ENDLOOP.

Vasanth

Read only

0 Likes
938

Vasanth M ,

i tried use Criteria table IN BAPI_ACC_DOCUMENT_POST for filling Profit Center. But for tax itmes it wasn't work.

may be it will work with 'BAPI_ACC_PRIMARY_COSTS_POST'. i'll trying.

Thank You.

Read only

pavel_parshenkov2
Participant
0 Likes
938

i'm afraid last alternative is using Extension1 Table and BTE.