REPORT ZFAEI
MESSAGE-ID ZZ
NO STANDARD PAGE HEADING
LINE-COUNT 58
LINE-SIZE 170.
TABLES: AUFK, COSP, BKPF.
DATA: BEGIN OF T_AUFK OCCURS 200.
INCLUDE STRUCTURE AUFK.
DATA: END OF T_AUFK.
DATA: BEGIN OF T_COSP OCCURS 200,
* include structure cosp.
LEDNR LIKE COSP-LEDNR,
OBJNR LIKE COSP-OBJNR,
GJAHR LIKE COSP-GJAHR,
WRTTP LIKE COSP-WRTTP,
VERSN LIKE COSP-VERSN,
KSTAR LIKE COSP-KSTAR,
WTG001 LIKE COSP-WTG001,
WTG002 LIKE COSP-WTG002,
WTG003 LIKE COSP-WTG003,
WTG004 LIKE COSP-WTG004,
WTG005 LIKE COSP-WTG005,
WTG006 LIKE COSP-WTG006,
WTG007 LIKE COSP-WTG007,
WTG008 LIKE COSP-WTG008,
WTG009 LIKE COSP-WTG009,
WTG010 LIKE COSP-WTG010,
WTG011 LIKE COSP-WTG011,
WTG012 LIKE COSP-WTG012,
WTG013 LIKE COSP-WTG013,
WTG014 LIKE COSP-WTG014,
WTG015 LIKE COSP-WTG015,
WTG016 LIKE COSP-WTG016,
END OF T_COSP.
DATA: W_GJAHR LIKE BKPF-GJAHR.
DATA: TIME1 TYPE I,
TIME2 TYPE I,
TIME3 TYPE I.
SELECT-OPTIONS: P_AUFNR FOR AUFK-AUFNR MATCHCODE OBJECT ORDE
DEFAULT '2000000' TO '4999999'.
SELECT-OPTIONS: S_PRCTR FOR AUFK-PRCTR " Profit Center
MATCHCODE OBJECT PRCT.
SELECT-OPTIONS: S_KSTAR FOR AUFK-KSTAR. " Cost Elem
INITIALIZATION.
* initializing the cost element selections
* Note: Must keep the leading 0's on the Cost Element #'s, because
* that's how they're stored in the database, and they won't be selected
* correctly otherwise
MOVE: 'I' TO S_KSTAR-SIGN,
'BT' TO S_KSTAR-OPTION,
'0000400000' TO S_KSTAR-LOW,
'0000499999' TO S_KSTAR-HIGH.
APPEND S_KSTAR.
MOVE: 'I' TO S_KSTAR-SIGN,
'BT' TO S_KSTAR-OPTION,
'0000600000' TO S_KSTAR-LOW,
'0000600499' TO S_KSTAR-HIGH.
APPEND S_KSTAR.
MOVE: 'I' TO S_KSTAR-SIGN,
'BT' TO S_KSTAR-OPTION,
'0000600600' TO S_KSTAR-LOW,
'0000699999' TO S_KSTAR-HIGH.
APPEND S_KSTAR.
MOVE: 'I' TO S_KSTAR-SIGN,
'BT' TO S_KSTAR-OPTION,
'0000800000' TO S_KSTAR-LOW,
'0000899999' TO S_KSTAR-HIGH.
APPEND S_KSTAR.
CLEAR T_AUFK. REFRESH T_AUFK.
SELECT AUFNR KTEXT KSTAR OBJNR PRCTR USER8
FROM AUFK INTO CORRESPONDING FIELDS OF TABLE T_AUFK
WHERE AUFNR IN P_AUFNR
AND PRCTR IN S_PRCTR.
IF T_AUFK[] IS INITIAL.
EXIT.
ENDIF.
CLEAR T_COSP. REFRESH T_COSP.
* Select COSP COSS costs; too many records in t_aufk to use
* For All Entries In
GET RUN TIME FIELD TIME1.
SELECT LEDNR OBJNR GJAHR WRTTP VERSN KSTAR
WTG001 WTG002 WTG003 WTG004 WTG005
WTG006 WTG007 WTG008 WTG009 WTG010
WTG011 WTG012 WTG013 WTG014 WTG015 WTG016
FROM COSP INTO TABLE T_COSP
FOR ALL ENTRIES IN T_AUFK
WHERE LEDNR EQ '00'
AND OBJNR = T_AUFK-OBJNR
AND GJAHR LE W_GJAHR
AND WRTTP EQ '04'
AND VERSN = '000'
AND KSTAR IN S_KSTAR.
GET RUN TIME FIELD TIME2.
TIME3 = TIME2 - TIME1.
DESCRIBE TABLE T_COSP LINES SY-TFILL.
WRITE : / 'For all entries in time: ', TIME3.
WRITE : / 'For all entries in rows: ', SY-TFILL.
CLEAR T_COSP. REFRESH T_COSP. CLEAR: TIME1, TIME2, TIME3.
GET RUN TIME FIELD TIME1.
* selecting COSP COSS costs to avoid repeat database hits.
LOOP AT T_AUFK.
SELECT LEDNR OBJNR GJAHR WRTTP VERSN KSTAR
WTG001 WTG002 WTG003 WTG004 WTG005
WTG006 WTG007 WTG008 WTG009 WTG010
WTG011 WTG012 WTG013 WTG014 WTG015 WTG016
FROM COSP APPENDING TABLE T_COSP " primary costs
* for all entries in t_aufk
WHERE LEDNR EQ '00'
AND OBJNR = T_AUFK-OBJNR
AND GJAHR LE W_GJAHR
AND WRTTP EQ '04'
AND VERSN = '000'
AND KSTAR IN S_KSTAR.
ENDLOOP.
GET RUN TIME FIELD TIME2.
TIME3 = TIME2 - TIME1.
DESCRIBE TABLE T_COSP LINES SY-TFILL.
WRITE : / 'Loop on itab time: ', TIME3.
WRITE : / 'Loop on itab rows: ', SY-TFILL.
WRITE : / 'Program completed successfully.'.
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 cannot 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.