Posted: Sat Apr 12, 2008 4:35 pm Post subject: BAPI_ACC_PRIMARY_COSTS_POST
BAPI_ACC_PRIMARY_COSTS_POST - Accounting: Post Primary Costs
Code:
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.
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'.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.