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

help needed for ALV report

Former Member
0 Likes
943

Hi,

i need to add coloums for the existing report which picks from G/L account.

in this report I need to add some more columns from COSP-KSTAR, which shows the cost element details from G/L account.

I need to restrict that cost element number according to the company code.

Plz see this and let me know the things.

1. I need to add FISCAL YEAR(COEP-GJAHR) in selection screen.

2. I need to add column: Employee Cost (CSKS-KOSTL)

3. add a column Staff Welfare (COSP-KSTAR) this is to restrict for the cost element 3000200 from G/L account

4. add a column Recruitment restrict for the cost element(COSP-KSTAR) 3100040 from G/L account

5. add a column Travels (suppressing some cost elements(COSP-KSTAR) and putting into Travels)

6. add a column Subcontracts restrict for the cost element (COSP-KSTAR)3100360 from G/L account

7. add a column Communication suppressing some cost elements and putting into Communication)

8. add a column Rent restrict for the cost element (COSP-KSTAR)3100055 from G/L account

9. add a column Back end Cost restrict for the cost element (COSP-KSTAR)3100065 from G/L account

i can hardcode these cost elements.

i did according to some of our sdn friends guidence but it is going to dump.

hear i am sending the code what i changed.

it is giving the error with the select.

{

SELECT BUKRS KOKRS gjahr kstar OBJNR OBJNR_N1 PERIO BEKNZ WKGBTR WOGBTR FROM

COEP INTO TABLE

IT_COEP FOR ALL ENTRIES IN IT_AUFK WHERE OBJNR = IT_AUFK-OBJNR and

perio in S_PERIO.

}

plz try to help me out in this issue.

hear i am sending the complete code what i worte.

&----


*& Report ZPROJECT_PROFIT2

*&

&----


*&

*&

&----


REPORT ZPROJECT_PROFIT2.

*********************MAIN DOCUMENTATION BLOCK*************************

  • Project Code :

  • Program Name :Zproject_profit1.

  • Purpose of program :This report will give the gross margin for a project as

*a whole based on some selected input criteria.

  • Author of program :JAYA KRISHNA .B.

  • INPUT/OUTPUT FILE :nil

************************************************************************

TYPE-POOLS : SLIS."For ALV display.

TABLES : COEP, "CO Object: Line Items (by period).

AUFK, "Order master data.

csks, "Cost center master data

cosp. "CO Objects

&----


*& Include ZSTRUCTURE

&----


types: BEGIN OF TY_COEP , "structure of table COEP.

BUKRS LIKE COEP-BUKRS,

KOKRS LIKE COEP-KOKRS,

OBJNR LIKE COEP-OBJNR,

gjahr like coep-gjahr,

kstar like coep-kstar,

OBJNR_N1 LIKE COEP-OBJNR_N1,

PERIO LIKE COEP-PERIO,

BEKNZ LIKE COEP-BEKNZ,

WKGBTR LIKE COEP-WKGBTR,

WOGBTR LIKE COEP-WOGBTR,

BELNR LIKE COEP-BELNR,

END OF TY_COEP,

BEGIN OF TY_AUFK , "structure of table AUFK.

BUKRS LIKE AUFK-BUKRS,

KOKRS LIKE AUFK-KOKRS,

OBJNR LIKE AUFK-OBJNR,

KTEXT LIKE AUFK-KTEXT,

ANFAUFNR LIKE AUFK-ANFAUFNR,

AUFEX LIKE AUFK-AUFEX,

USER2 LIKE AUFK-USER2,

USER0 LIKE AUFK-USER0,

USER1 LIKE AUFK-USER1,

USER3 LIKE AUFK-USER3,

USER6 LIKE AUFK-USER6,

USER7 LIKE AUFK-USER7,

USER8 LIKE AUFK-USER8,

ABKRS(10) TYPE C,

USER9 LIKE AUFK-USER9,

AUFNR LIKE AUFK-AUFNR,

END OF TY_AUFK,

begin of ty_csks,

kokrs like csks-kokrs,

kostl like csks-kostl,

bukrs like csks-bukrs,

objnr like csks-objnr,

end of ty_csks.

DATA : BEGIN OF IT_COSP occurs 100,

OBJNR LIKE COSP-OBJNR,

GJAHR LIKE COSP-GJAHR,

KSTAR LIKE COSP-KSTAR,

END OF IT_COSP.

DATA : IT_COEP TYPE TABLE OF TY_COEP, " Declaraton of tables COEP and AUFK.

IT_AUFK TYPE TABLE OF TY_AUFK,

IT_CSKS TYPE TABLE OF TY_CSKS.

  • IT_COSP TYPE TABLE OF TY_COSP.

DATA : WA_COEP LIKE LINE OF IT_COEP, " Declaration of work areas for tables COEP and AUFK.

WA_AUFK LIKE LINE OF IT_AUFK,

WA_CSKS LIKE LINE OF IT_CSKS.

  • WA_COSP LIKE LINE OF IT_COSP.

DATA : BEGIN OF IT_DISPLAY OCCURS 0, " Declaration of display table.

OBJNR_N1 LIKE COEP-OBJNR_N1,

OBJNR_N12 LIKE COEP-OBJNR_N1,

KTEXT1 LIKE AUFK-KTEXT,

WKGBTR LIKE COEP-WKGBTR,

WOGBTR LIKE COEP-WOGBTR,

WKGBTR1 LIKE COEP-WTGBTR,

WOGBTR1 LIKE COEP-WOGBTR,

ADDK LIKE COEP-WOGBTR,

ADDO LIKE COEP-WOGBTR,

ADDK1 LIKE COEP-WOGBTR,

ADDO1 LIKE COEP-WOGBTR,

PROFIT1 LIKE COEP-WOGBTR,

PROFIT2 LIKE COEP-WOGBTR,

BEKNZ LIKE COEP-BEKNZ,

BUKRS LIKE AUFK-BUKRS,

anfaufnr LIKE AUFK-anfaufnr,

aufex like aufk-aufex,

OBJNR LIKE AUFK-OBJNR,

USER2 LIKE AUFK-USER2,

USER0 LIKE AUFK-USER0,

USER1 LIKE AUFK-USER1,

USER3 LIKE AUFK-USER3,

USER6 LIKE AUFK-USER6,

USER7 LIKE AUFK-USER7,

USER8 LIKE AUFK-USER8,

ABKRS LIKE AUFK-ABKRS,

USER9 LIKE AUFK-USER9,

PERIO LIKE COEP-PERIO,

AUFNR LIKE AUFK-AUFNR,

STR(5) TYPE C,

WORK(10) TYPE C,

END OF IT_DISPLAY,

: BEGIN OF IT_DISPLAY1 OCCURS 0, " Declaration of second display table.

OBJNR_N1 LIKE COEP-OBJNR_N1,

OBJNR_N12 LIKE COEP-OBJNR_N1,

KTEXT1 LIKE AUFK-KTEXT,

WKGBTR LIKE COEP-WKGBTR,

WOGBTR LIKE COEP-WOGBTR,

WKGBTR1 LIKE COEP-WTGBTR,

WOGBTR1 LIKE COEP-WOGBTR,

ADDK LIKE COEP-WOGBTR,

ADDO LIKE COEP-WOGBTR,

ADDK1 LIKE COEP-WOGBTR,

ADDO1 LIKE COEP-WOGBTR,

PROFIT1 LIKE COEP-WOGBTR,

PROFIT2 LIKE COEP-WOGBTR,

BEKNZ LIKE COEP-BEKNZ,

BUKRS LIKE AUFK-BUKRS,

anfaufnr like aufk-anfaufnr,

aufex like aufk-aufex,

OBJNR LIKE AUFK-OBJNR,

USER2 LIKE AUFK-USER2,

USER0 LIKE AUFK-USER0,

USER1 LIKE AUFK-USER1,

USER3 LIKE AUFK-USER3,

USER6 LIKE AUFK-USER6,

USER7 LIKE AUFK-USER7,

USER8 LIKE AUFK-USER8,

ABKRS LIKE AUFK-ABKRS,

USER9 LIKE AUFK-USER9,

PERIO LIKE COEP-PERIO,

AUFNR LIKE AUFK-AUFNR,

STR(5) TYPE C,

WORK(10) TYPE C,

END OF IT_DISPLAY1.

data : it_field type slis_fieldcat_alv, " Declaration of ALV variables

it_field_t type slis_t_fieldcat_alv,

xlayout TYPE slis_layout_alv.

data : it_event type slis_t_event,

wa_event like line of it_event.

DATA : WA_TOP TYPE SLIS_LISTHEADER,

IT_TOP TYPE SLIS_T_LISTHEADER.

data:w_lines type i,

w_occurs type i,

STR(5) TYPE C,

WORK(10) TYPE C.

constants : c_selection type char20 value 'Selection based on'. " Declaration of a constant.

selection-screen BEGIN OF BLOCK BLK WITH FRAME TITLE TEXT-000.

SELECT-OPTIONS S_BUKRS FOR AUFK-BUKRS OBLIGATORY.

SELECT-OPTIONS S_OBJNR FOR AUFK-AUFNR.

SELECT-OPTIONS S_ANF FOR AUFK-ANFAUFNR.

SELECT-OPTIONS S_AUFEX FOR AUFK-AUFEX.

SELECT-OPTIONS S_USER2 FOR AUFK-USER2.

SELECT-OPTIONS S_USER0 FOR AUFK-USER0.

SELECT-OPTIONS S_USER1 FOR AUFK-USER1.

SELECT-OPTIONS S_USER3 FOR AUFK-USER3.

SELECT-OPTIONS S_USER6 FOR AUFK-USER6.

SELECT-OPTIONS S_ABKRS FOR AUFK-ABKRS.

SELECT-options s_gjahr for coep-gjahr obligatory.

SELECT-OPTIONS S_PERIO FOR COEP-PERIO OBLIGATORY.

SELECTION-SCREEN END OF BLOCK BLK .

SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.

PARAMETERS : ONSITE RADIOBUTTON GROUP RADI.

PARAMETERS : OFFSHORE RADIOBUTTON GROUP RADI.

PARAMETERS : BOTH RADIOBUTTON GROUP RADI.

SELECTION-SCREEN END OF BLOCK BLK1 .

start-of-selection.

&----


*&

*ZAUFK

&----


" Selection of records from aufk to internal table.

IF ONSITE EQ 'X' .

SELECT

BUKRS

KOKRS

OBJNR

KTEXT

anfaufnr

aufex

USER2

USER0

USER1

USER3

USER6

USER7

USER8

ABKRS

USER9

AUFNR

FROM AUFK INTO TABLE IT_AUFK WHERE BUKRS IN S_BUKRS AND

anfaufnr IN s_anf AND

aufex in s_aufex and

aufnr IN S_OBJNR AND

USER2 IN S_USER2 AND

USER0 IN S_USER0 AND

USER1 IN S_USER1 AND

USER3 IN S_USER3 AND

USER6 IN S_USER6 AND

ABKRS IN S_ABKRS AND

USER9 EQ 'X' .

ENDIF.

IF OFFSHORE EQ 'X'.

SELECT

BUKRS

KOKRS

OBJNR

KTEXT

anfaufnr

aufex

USER2

USER0

USER1

USER3

USER6

USER7

USER8

ABKRS

USER9

AUFNR

FROM AUFK INTO TABLE IT_AUFK WHERE BUKRS IN S_BUKRS AND

anfaufnr IN S_anf AND

aufex in s_aufex and

aufnR IN S_OBJNR AND

USER2 IN S_USER2 AND

USER0 IN S_USER0 AND

USER1 IN S_USER1 AND

USER3 IN S_USER3 AND

USER6 IN S_USER6 AND

ABKRS IN S_ABKRS AND

USER9 <> 'X'.

ENDIF.

IF BOTH EQ 'X'.

SELECT

BUKRS

KOKRS

OBJNR

KTEXT

anfaufnr

aufex

USER2

USER0

USER1

USER3

USER6

USER7

USER8

ABKRS

USER9

AUFNR

FROM AUFK INTO TABLE IT_AUFK WHERE BUKRS IN S_BUKRS AND

anfaufnr IN S_anf AND

aufex in s_aufex and

aufNR IN S_OBJNR AND

USER2 IN S_USER2 AND

USER0 IN S_USER0 AND

USER1 IN S_USER1 AND

USER3 IN S_USER3 AND

USER6 IN S_USER6 AND

ABKRS IN S_ABKRS.

ENDIF.

&----


*& Include ZCOEP

&----


" Selection of records from coep to internal table.

SELECT BUKRS KOKRS gjahr kstar OBJNR OBJNR_N1 PERIO BEKNZ WKGBTR WOGBTR FROM

COEP INTO TABLE

IT_COEP FOR ALL ENTRIES IN IT_AUFK WHERE OBJNR = IT_AUFK-OBJNR and

perio in S_PERIO.

&----


*& Include ZPROFIT_CALC

&----


" Calculations for income and Profit of the employee.

if not it_coep[] is initial.

select objnr gjahr wrttp versn kstar from cosp into TABLE It_cosp for

all entries in it_coep where objnr = IT_COEP-objnr .

endif.

LOOP AT IT_coep INTO WA_coep.

read table IT_aufk into WA_aufk with key OBJNR = wa_coep-OBJNR.

case it_cosp-kstar.

when '3000200'.

it_cosp-kstar = cosp-kstar.

when '3100040'.

it_cosp-kstar = cosp-kstar.

when '3100360'.

it_cosp-kstar = cosp-kstar.

when '3100055'.

it_cosp-kstar = cosp-kstar.

when '3100065'.

it_cosp-kstar = cosp-kstar.

when '3100115'.

it_cosp-kstar = cosp-kstar.

when '3100120'.

it_cosp-kstar = cosp-kstar.

when '3100130'.

it_cosp-kstar = cosp-kstar.

when '3100135'.

it_cosp-kstar = cosp-kstar.

when '3100140'.

it_cosp-kstar = cosp-kstar.

when '3100145'.

it_cosp-kstar = cosp-kstar.

when '3100150'.

it_cosp-kstar = cosp-kstar.

when '3100155'.

it_cosp-kstar = cosp-kstar.

when '3100160'.

it_cosp-kstar = cosp-kstar.

when '3100165'.

it_cosp-kstar = cosp-kstar.

when '3100170'.

it_cosp-kstar = cosp-kstar.

endcase.

IT_DISPLAY-BUKRS = WA_AUFK-BUKRS.

IT_DISPLAY-anfaufnr = WA_AUFK-anfaufnr.

it_display-aufex = wa_aufk-aufex.

IT_DISPLAY-OBJNR = WA_AUFK-OBJNR.

IT_DISPLAY-USER2 = WA_AUFK-USER2.

IT_DISPLAY-USER0 = WA_AUFK-USER0.

IT_DISPLAY-USER1 = WA_AUFK-USER1.

IT_DISPLAY-USER3 = WA_AUFK-USER3.

IT_DISPLAY-USER6 = WA_AUFK-USER6.

IT_DISPLAY-USER7 = WA_AUFK-USER7.

IT_DISPLAY-USER8 = WA_AUFK-USER8.

IT_DISPLAY-ABKRS = WA_AUFK-ABKRS.

IT_DISPLAY-USER9 = WA_AUFK-USER9.

IT_DISPLAY-KTEXT1 = WA_AUFK-KTEXT.

if WA_AUFK-abkrs = 01.

IT_DISPLAY-STR = 'TM'.

ENDIF.

IF WA_AUFK-ABKRS = 02.

IT_DISPLAY-STR = 'FP'.

ENDIF.

IF WA_AUFK-USER9 = 'X'.

IT_DISPLAY-WORK = 'ONSITE'.

ENDIF.

IF WA_AUFK-USER9 <> 'X'.

IT_DISPLAY-WORK = 'OFFSHORE'.

ENDIF.

it_display-ABKRS = it_display-user7.

IF wa_coep-BEKNZ = 'S'.

IT_DISPLAY-WKGBTR = WA_COEP-WKGBTR.

IT_DISPLAY-WOGBTR = WA_COEP-WOGBTR.

IT_DISPLAY-ADDK = IT_DISPLAY-ADDK + IT_DISPLAY-WKGBTR.

IT_DISPLAY-ADDO = IT_DISPLAY-ADDO + IT_DISPLAY-WOGBTR.

IT_DISPLAY-ADDK1 = 0.

IT_DISPLAY-ADDO1 = 0.

IT_DISPLAY-PROFIT1 = IT_DISPLAY-ADDK1 + IT_DISPLAY-ADDK.

IT_DISPLAY-PROFIT2 = IT_DISPLAY-ADDO1 + IT_DISPLAY-ADDO.

APPEND IT_DISPLAY.

ENDIF.

IF WA_COEP-BEKNZ = 'H'.

IT_DISPLAY-WKGBTR1 = WA_COEP-WKGBTR.

IT_DISPLAY-WOGBTR1 = WA_COEP-WOGBTR.

IT_DISPLAY-ADDK1 = IT_DISPLAY-ADDK + IT_DISPLAY-WKGBTR1.

IT_DISPLAY-ADDO1 = IT_DISPLAY-ADDO + IT_DISPLAY-WOGBTR1.

IT_DISPLAY-ADDK = 0.

IT_DISPLAY-ADDO = 0.

IT_DISPLAY-PROFIT1 = IT_DISPLAY-ADDK1 + IT_DISPLAY-ADDK.

IT_DISPLAY-PROFIT2 = IT_DISPLAY-ADDO1 + IT_DISPLAY-ADDO.

APPEND IT_DISPLAY.

ENDIF.

collect it_display into it_display1.

clear it_display.

ENDLOOP.

"calc

  • &---------------------------------------------------------------------

*& Include ZPROFIT_DISPLAY

&----


LOOP AT IT_DISPLAY1. "it_display.

read table IT_COEP into WA_COEP with key OBJNR =

IT_DISPLAY-OBJNR.

read table IT_AUFK into WA_AUFK with key aufnr = IT_DISPLAY-aufnr.

if WA_AUFK-abkrs = 01.

STR = 'TM'.

ENDIF.

IF WA_AUFK-ABKRS = 02.

STR = 'FP'.

ENDIF.

IF WA_AUFK-USER9 = 'X'.

WORK = 'ONSITE'.

ENDIF.

IF WA_AUFK-USER9 <> 'X'.

WORK = 'OFFSHORE'.

ENDIF.

.

endloop.

clear it_field.

it_field-col_pos = 1.

it_field-fieldname = 'AUFNR'.

it_field-seltext_l = 'project id.'.

it_field-outputlen = 15.

append it_field to it_field_t.

CLEAR it_field.

clear it_field.

it_field-col_pos = 2.

it_field-fieldname = 'KTEXT1'.

it_field-seltext_l = 'Project Name'.

it_field-outputlen = 20.

append it_field to it_field_t.

CLEAR it_field.

clear it_field.

it_field-col_pos = 3.

it_field-fieldname = 'USER7'.

it_field-seltext_l = 'Start Date'.

it_field-do_sum = 'X'.

it_field-outputlen = 20.

append it_field to it_field_t.

CLEAR it_field.

clear it_field.

it_field-col_pos = 4.

it_field-fieldname = 'USER8'.

it_field-seltext_l = 'End Date'.

it_field-do_sum = 'X'.

it_field-outputlen = 20.

append it_field to it_field_t.

CLEAR it_field.

clear it_field.

it_field-col_pos = 5.

it_field-fieldname = 'USER2'.

it_field-seltext_l = 'Location'.

it_field-do_sum = 'X'.

it_field-outputlen = 20.

append it_field to it_field_t.

CLEAR it_field.

clear it_field.

it_field-col_pos = 6.

it_field-fieldname = 'USER0'.

it_field-seltext_l = 'Vertical'.

it_field-do_sum = 'X'.

it_field-outputlen = 20.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 7.

it_field-fieldname = 'USER1'.

it_field-seltext_l = 'Sub_vertical'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 8.

it_field-fieldname = 'USER3'.

it_field-seltext_l = 'Technology'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 9.

it_field-fieldname = 'USER6'.

it_field-seltext_l = 'Department'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 10.

it_field-fieldname = 'WORK'.

it_field-seltext_l = 'Onsite/Offshore'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 11.

it_field-fieldname = 'STR'.

it_field-seltext_l = 'T&M/FP'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 12.

it_field-fieldname = 'KOSTL'.

it_field-seltext_l = 'EMP COST'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 13.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'STAFF WELFARE'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 14.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'RECRUITMENT'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 15.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'TRAVELS'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 16.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'SUBCONTRACT'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 17.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'COMMUNICATION'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 18.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'RENT'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 19.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'BACKEND COST (PROJECT EXP)'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 20.

it_field-fieldname = 'ADDO'.

it_field-seltext_l = 'Direct costs'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 21.

it_field-fieldname = 'ADDO1'.

it_field-seltext_l = 'Income'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 22.

it_field-fieldname = 'PROFIT2'.

it_field-seltext_l = 'Profit(income-costs)'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 23.

it_field-fieldname = 'ADDK'.

it_field-seltext_l = 'Direct costs(Grp cur)'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 24.

it_field-fieldname = 'ADDK1'.

it_field-seltext_l = 'Income(Grp Cur)'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 25.

it_field-fieldname = 'PROFIT1'.

it_field-seltext_l = 'Profit(income-costs)'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

xlayout-zebra = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'ZPROJECT_PROFIT1'

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE_PROFIT'

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = xlayout

IT_FIELDCAT = it_field_t

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_DISPLAY1

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

clear it_field_t.

"it_display.

FORM USER_COMMAND using r_ucomm like sy-ucomm rs type slis_selfield.

include zinteractive_profit."Secondary list for calling KO03.

ENDFORM. "USER_COMMAND.

Thanks & Regards,

Lakshmi..

Hi,

i need to add coloums for the existing report which picks from G/L account.

in this report I need to add some more columns from COSP-KSTAR, which shows the cost element details from G/L account.

I need to restrict that cost element number according to the company code.

Plz see this and let me know the things.

1. I need to add FISCAL YEAR(COEP-GJAHR) in selection screen.

2. I need to add column: Employee Cost (CSKS-KOSTL)

3. add a column Staff Welfare (COSP-KSTAR) this is to restrict for the cost element 3000200 from G/L account

4. add a column Recruitment restrict for the cost element(COSP-KSTAR) 3100040 from G/L account

5. add a column Travels (suppressing some cost elements(COSP-KSTAR) and putting into Travels)

6. add a column Subcontracts restrict for the cost element (COSP-KSTAR)3100360 from G/L account

7. add a column Communication suppressing some cost elements and putting into Communication)

8. add a column Rent restrict for the cost element (COSP-KSTAR)3100055 from G/L account

9. add a column Back end Cost restrict for the cost element (COSP-KSTAR)3100065 from G/L account

i can hardcode these cost elements.

i did according to some of our sdn friends guidence but it is going to dump.

hear i am sending the code what i changed.

it is giving the error with the select.

{

SELECT BUKRS KOKRS gjahr kstar OBJNR OBJNR_N1 PERIO BEKNZ WKGBTR WOGBTR FROM

COEP INTO TABLE

IT_COEP FOR ALL ENTRIES IN IT_AUFK WHERE OBJNR = IT_AUFK-OBJNR and

perio in S_PERIO.

}

plz try to help me out in this issue.

hear i am sending the complete code what i worte.

&----


*& Report ZPROJECT_PROFIT2

*&

&----


*&

*&

&----


REPORT ZPROJECT_PROFIT2.

*********************MAIN DOCUMENTATION BLOCK*************************

  • Project Code :

  • Program Name :Zproject_profit1.

  • Purpose of program :This report will give the gross margin for a project as

*a whole based on some selected input criteria.

  • Author of program :JAYA KRISHNA .B.

  • INPUT/OUTPUT FILE :nil

************************************************************************

TYPE-POOLS : SLIS."For ALV display.

TABLES : COEP, "CO Object: Line Items (by period).

AUFK, "Order master data.

csks, "Cost center master data

cosp. "CO Objects

&----


*& Include ZSTRUCTURE

&----


types: BEGIN OF TY_COEP , "structure of table COEP.

BUKRS LIKE COEP-BUKRS,

KOKRS LIKE COEP-KOKRS,

OBJNR LIKE COEP-OBJNR,

gjahr like coep-gjahr,

kstar like coep-kstar,

OBJNR_N1 LIKE COEP-OBJNR_N1,

PERIO LIKE COEP-PERIO,

BEKNZ LIKE COEP-BEKNZ,

WKGBTR LIKE COEP-WKGBTR,

WOGBTR LIKE COEP-WOGBTR,

BELNR LIKE COEP-BELNR,

END OF TY_COEP,

BEGIN OF TY_AUFK , "structure of table AUFK.

BUKRS LIKE AUFK-BUKRS,

KOKRS LIKE AUFK-KOKRS,

OBJNR LIKE AUFK-OBJNR,

KTEXT LIKE AUFK-KTEXT,

ANFAUFNR LIKE AUFK-ANFAUFNR,

AUFEX LIKE AUFK-AUFEX,

USER2 LIKE AUFK-USER2,

USER0 LIKE AUFK-USER0,

USER1 LIKE AUFK-USER1,

USER3 LIKE AUFK-USER3,

USER6 LIKE AUFK-USER6,

USER7 LIKE AUFK-USER7,

USER8 LIKE AUFK-USER8,

ABKRS(10) TYPE C,

USER9 LIKE AUFK-USER9,

AUFNR LIKE AUFK-AUFNR,

END OF TY_AUFK,

begin of ty_csks,

kokrs like csks-kokrs,

kostl like csks-kostl,

bukrs like csks-bukrs,

objnr like csks-objnr,

end of ty_csks.

DATA : BEGIN OF IT_COSP occurs 100,

OBJNR LIKE COSP-OBJNR,

GJAHR LIKE COSP-GJAHR,

KSTAR LIKE COSP-KSTAR,

END OF IT_COSP.

DATA : IT_COEP TYPE TABLE OF TY_COEP, " Declaraton of tables COEP and AUFK.

IT_AUFK TYPE TABLE OF TY_AUFK,

IT_CSKS TYPE TABLE OF TY_CSKS.

  • IT_COSP TYPE TABLE OF TY_COSP.

DATA : WA_COEP LIKE LINE OF IT_COEP, " Declaration of work areas for tables COEP and AUFK.

WA_AUFK LIKE LINE OF IT_AUFK,

WA_CSKS LIKE LINE OF IT_CSKS.

  • WA_COSP LIKE LINE OF IT_COSP.

DATA : BEGIN OF IT_DISPLAY OCCURS 0, " Declaration of display table.

OBJNR_N1 LIKE COEP-OBJNR_N1,

OBJNR_N12 LIKE COEP-OBJNR_N1,

KTEXT1 LIKE AUFK-KTEXT,

WKGBTR LIKE COEP-WKGBTR,

WOGBTR LIKE COEP-WOGBTR,

WKGBTR1 LIKE COEP-WTGBTR,

WOGBTR1 LIKE COEP-WOGBTR,

ADDK LIKE COEP-WOGBTR,

ADDO LIKE COEP-WOGBTR,

ADDK1 LIKE COEP-WOGBTR,

ADDO1 LIKE COEP-WOGBTR,

PROFIT1 LIKE COEP-WOGBTR,

PROFIT2 LIKE COEP-WOGBTR,

BEKNZ LIKE COEP-BEKNZ,

BUKRS LIKE AUFK-BUKRS,

anfaufnr LIKE AUFK-anfaufnr,

aufex like aufk-aufex,

OBJNR LIKE AUFK-OBJNR,

USER2 LIKE AUFK-USER2,

USER0 LIKE AUFK-USER0,

USER1 LIKE AUFK-USER1,

USER3 LIKE AUFK-USER3,

USER6 LIKE AUFK-USER6,

USER7 LIKE AUFK-USER7,

USER8 LIKE AUFK-USER8,

ABKRS LIKE AUFK-ABKRS,

USER9 LIKE AUFK-USER9,

PERIO LIKE COEP-PERIO,

AUFNR LIKE AUFK-AUFNR,

STR(5) TYPE C,

WORK(10) TYPE C,

END OF IT_DISPLAY,

: BEGIN OF IT_DISPLAY1 OCCURS 0, " Declaration of second display table.

OBJNR_N1 LIKE COEP-OBJNR_N1,

OBJNR_N12 LIKE COEP-OBJNR_N1,

KTEXT1 LIKE AUFK-KTEXT,

WKGBTR LIKE COEP-WKGBTR,

WOGBTR LIKE COEP-WOGBTR,

WKGBTR1 LIKE COEP-WTGBTR,

WOGBTR1 LIKE COEP-WOGBTR,

ADDK LIKE COEP-WOGBTR,

ADDO LIKE COEP-WOGBTR,

ADDK1 LIKE COEP-WOGBTR,

ADDO1 LIKE COEP-WOGBTR,

PROFIT1 LIKE COEP-WOGBTR,

PROFIT2 LIKE COEP-WOGBTR,

BEKNZ LIKE COEP-BEKNZ,

BUKRS LIKE AUFK-BUKRS,

anfaufnr like aufk-anfaufnr,

aufex like aufk-aufex,

OBJNR LIKE AUFK-OBJNR,

USER2 LIKE AUFK-USER2,

USER0 LIKE AUFK-USER0,

USER1 LIKE AUFK-USER1,

USER3 LIKE AUFK-USER3,

USER6 LIKE AUFK-USER6,

USER7 LIKE AUFK-USER7,

USER8 LIKE AUFK-USER8,

ABKRS LIKE AUFK-ABKRS,

USER9 LIKE AUFK-USER9,

PERIO LIKE COEP-PERIO,

AUFNR LIKE AUFK-AUFNR,

STR(5) TYPE C,

WORK(10) TYPE C,

END OF IT_DISPLAY1.

data : it_field type slis_fieldcat_alv, " Declaration of ALV variables

it_field_t type slis_t_fieldcat_alv,

xlayout TYPE slis_layout_alv.

data : it_event type slis_t_event,

wa_event like line of it_event.

DATA : WA_TOP TYPE SLIS_LISTHEADER,

IT_TOP TYPE SLIS_T_LISTHEADER.

data:w_lines type i,

w_occurs type i,

STR(5) TYPE C,

WORK(10) TYPE C.

constants : c_selection type char20 value 'Selection based on'. " Declaration of a constant.

selection-screen BEGIN OF BLOCK BLK WITH FRAME TITLE TEXT-000.

SELECT-OPTIONS S_BUKRS FOR AUFK-BUKRS OBLIGATORY.

SELECT-OPTIONS S_OBJNR FOR AUFK-AUFNR.

SELECT-OPTIONS S_ANF FOR AUFK-ANFAUFNR.

SELECT-OPTIONS S_AUFEX FOR AUFK-AUFEX.

SELECT-OPTIONS S_USER2 FOR AUFK-USER2.

SELECT-OPTIONS S_USER0 FOR AUFK-USER0.

SELECT-OPTIONS S_USER1 FOR AUFK-USER1.

SELECT-OPTIONS S_USER3 FOR AUFK-USER3.

SELECT-OPTIONS S_USER6 FOR AUFK-USER6.

SELECT-OPTIONS S_ABKRS FOR AUFK-ABKRS.

SELECT-options s_gjahr for coep-gjahr obligatory.

SELECT-OPTIONS S_PERIO FOR COEP-PERIO OBLIGATORY.

SELECTION-SCREEN END OF BLOCK BLK .

SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.

PARAMETERS : ONSITE RADIOBUTTON GROUP RADI.

PARAMETERS : OFFSHORE RADIOBUTTON GROUP RADI.

PARAMETERS : BOTH RADIOBUTTON GROUP RADI.

SELECTION-SCREEN END OF BLOCK BLK1 .

start-of-selection.

&----


*&

*ZAUFK

&----


" Selection of records from aufk to internal table.

IF ONSITE EQ 'X' .

SELECT

BUKRS

KOKRS

OBJNR

KTEXT

anfaufnr

aufex

USER2

USER0

USER1

USER3

USER6

USER7

USER8

ABKRS

USER9

AUFNR

FROM AUFK INTO TABLE IT_AUFK WHERE BUKRS IN S_BUKRS AND

anfaufnr IN s_anf AND

aufex in s_aufex and

aufnr IN S_OBJNR AND

USER2 IN S_USER2 AND

USER0 IN S_USER0 AND

USER1 IN S_USER1 AND

USER3 IN S_USER3 AND

USER6 IN S_USER6 AND

ABKRS IN S_ABKRS AND

USER9 EQ 'X' .

ENDIF.

IF OFFSHORE EQ 'X'.

SELECT

BUKRS

KOKRS

OBJNR

KTEXT

anfaufnr

aufex

USER2

USER0

USER1

USER3

USER6

USER7

USER8

ABKRS

USER9

AUFNR

FROM AUFK INTO TABLE IT_AUFK WHERE BUKRS IN S_BUKRS AND

anfaufnr IN S_anf AND

aufex in s_aufex and

aufnR IN S_OBJNR AND

USER2 IN S_USER2 AND

USER0 IN S_USER0 AND

USER1 IN S_USER1 AND

USER3 IN S_USER3 AND

USER6 IN S_USER6 AND

ABKRS IN S_ABKRS AND

USER9 <> 'X'.

ENDIF.

IF BOTH EQ 'X'.

SELECT

BUKRS

KOKRS

OBJNR

KTEXT

anfaufnr

aufex

USER2

USER0

USER1

USER3

USER6

USER7

USER8

ABKRS

USER9

AUFNR

FROM AUFK INTO TABLE IT_AUFK WHERE BUKRS IN S_BUKRS AND

anfaufnr IN S_anf AND

aufex in s_aufex and

aufNR IN S_OBJNR AND

USER2 IN S_USER2 AND

USER0 IN S_USER0 AND

USER1 IN S_USER1 AND

USER3 IN S_USER3 AND

USER6 IN S_USER6 AND

ABKRS IN S_ABKRS.

ENDIF.

&----


*& Include ZCOEP

&----


" Selection of records from coep to internal table.

SELECT BUKRS KOKRS gjahr kstar OBJNR OBJNR_N1 PERIO BEKNZ WKGBTR WOGBTR FROM

COEP INTO TABLE

IT_COEP FOR ALL ENTRIES IN IT_AUFK WHERE OBJNR = IT_AUFK-OBJNR and

perio in S_PERIO.

&----


*& Include ZPROFIT_CALC

&----


" Calculations for income and Profit of the employee.

if not it_coep[] is initial.

select objnr gjahr wrttp versn kstar from cosp into TABLE It_cosp for

all entries in it_coep where objnr = IT_COEP-objnr .

endif.

LOOP AT IT_coep INTO WA_coep.

read table IT_aufk into WA_aufk with key OBJNR = wa_coep-OBJNR.

case it_cosp-kstar.

when '3000200'.

it_cosp-kstar = cosp-kstar.

when '3100040'.

it_cosp-kstar = cosp-kstar.

when '3100360'.

it_cosp-kstar = cosp-kstar.

when '3100055'.

it_cosp-kstar = cosp-kstar.

when '3100065'.

it_cosp-kstar = cosp-kstar.

when '3100115'.

it_cosp-kstar = cosp-kstar.

when '3100120'.

it_cosp-kstar = cosp-kstar.

when '3100130'.

it_cosp-kstar = cosp-kstar.

when '3100135'.

it_cosp-kstar = cosp-kstar.

when '3100140'.

it_cosp-kstar = cosp-kstar.

when '3100145'.

it_cosp-kstar = cosp-kstar.

when '3100150'.

it_cosp-kstar = cosp-kstar.

when '3100155'.

it_cosp-kstar = cosp-kstar.

when '3100160'.

it_cosp-kstar = cosp-kstar.

when '3100165'.

it_cosp-kstar = cosp-kstar.

when '3100170'.

it_cosp-kstar = cosp-kstar.

endcase.

IT_DISPLAY-BUKRS = WA_AUFK-BUKRS.

IT_DISPLAY-anfaufnr = WA_AUFK-anfaufnr.

it_display-aufex = wa_aufk-aufex.

IT_DISPLAY-OBJNR = WA_AUFK-OBJNR.

IT_DISPLAY-USER2 = WA_AUFK-USER2.

IT_DISPLAY-USER0 = WA_AUFK-USER0.

IT_DISPLAY-USER1 = WA_AUFK-USER1.

IT_DISPLAY-USER3 = WA_AUFK-USER3.

IT_DISPLAY-USER6 = WA_AUFK-USER6.

IT_DISPLAY-USER7 = WA_AUFK-USER7.

IT_DISPLAY-USER8 = WA_AUFK-USER8.

IT_DISPLAY-ABKRS = WA_AUFK-ABKRS.

IT_DISPLAY-USER9 = WA_AUFK-USER9.

IT_DISPLAY-KTEXT1 = WA_AUFK-KTEXT.

if WA_AUFK-abkrs = 01.

IT_DISPLAY-STR = 'TM'.

ENDIF.

IF WA_AUFK-ABKRS = 02.

IT_DISPLAY-STR = 'FP'.

ENDIF.

IF WA_AUFK-USER9 = 'X'.

IT_DISPLAY-WORK = 'ONSITE'.

ENDIF.

IF WA_AUFK-USER9 <> 'X'.

IT_DISPLAY-WORK = 'OFFSHORE'.

ENDIF.

it_display-ABKRS = it_display-user7.

IF wa_coep-BEKNZ = 'S'.

IT_DISPLAY-WKGBTR = WA_COEP-WKGBTR.

IT_DISPLAY-WOGBTR = WA_COEP-WOGBTR.

IT_DISPLAY-ADDK = IT_DISPLAY-ADDK + IT_DISPLAY-WKGBTR.

IT_DISPLAY-ADDO = IT_DISPLAY-ADDO + IT_DISPLAY-WOGBTR.

IT_DISPLAY-ADDK1 = 0.

IT_DISPLAY-ADDO1 = 0.

IT_DISPLAY-PROFIT1 = IT_DISPLAY-ADDK1 + IT_DISPLAY-ADDK.

IT_DISPLAY-PROFIT2 = IT_DISPLAY-ADDO1 + IT_DISPLAY-ADDO.

APPEND IT_DISPLAY.

ENDIF.

IF WA_COEP-BEKNZ = 'H'.

IT_DISPLAY-WKGBTR1 = WA_COEP-WKGBTR.

IT_DISPLAY-WOGBTR1 = WA_COEP-WOGBTR.

IT_DISPLAY-ADDK1 = IT_DISPLAY-ADDK + IT_DISPLAY-WKGBTR1.

IT_DISPLAY-ADDO1 = IT_DISPLAY-ADDO + IT_DISPLAY-WOGBTR1.

IT_DISPLAY-ADDK = 0.

IT_DISPLAY-ADDO = 0.

IT_DISPLAY-PROFIT1 = IT_DISPLAY-ADDK1 + IT_DISPLAY-ADDK.

IT_DISPLAY-PROFIT2 = IT_DISPLAY-ADDO1 + IT_DISPLAY-ADDO.

APPEND IT_DISPLAY.

ENDIF.

collect it_display into it_display1.

clear it_display.

ENDLOOP.

"calc

  • &---------------------------------------------------------------------

*& Include ZPROFIT_DISPLAY

&----


LOOP AT IT_DISPLAY1. "it_display.

read table IT_COEP into WA_COEP with key OBJNR =

IT_DISPLAY-OBJNR.

read table IT_AUFK into WA_AUFK with key aufnr = IT_DISPLAY-aufnr.

if WA_AUFK-abkrs = 01.

STR = 'TM'.

ENDIF.

IF WA_AUFK-ABKRS = 02.

STR = 'FP'.

ENDIF.

IF WA_AUFK-USER9 = 'X'.

WORK = 'ONSITE'.

ENDIF.

IF WA_AUFK-USER9 <> 'X'.

WORK = 'OFFSHORE'.

ENDIF.

.

endloop.

clear it_field.

it_field-col_pos = 1.

it_field-fieldname = 'AUFNR'.

it_field-seltext_l = 'project id.'.

it_field-outputlen = 15.

append it_field to it_field_t.

CLEAR it_field.

clear it_field.

it_field-col_pos = 2.

it_field-fieldname = 'KTEXT1'.

it_field-seltext_l = 'Project Name'.

it_field-outputlen = 20.

append it_field to it_field_t.

CLEAR it_field.

clear it_field.

it_field-col_pos = 3.

it_field-fieldname = 'USER7'.

it_field-seltext_l = 'Start Date'.

it_field-do_sum = 'X'.

it_field-outputlen = 20.

append it_field to it_field_t.

CLEAR it_field.

clear it_field.

it_field-col_pos = 4.

it_field-fieldname = 'USER8'.

it_field-seltext_l = 'End Date'.

it_field-do_sum = 'X'.

it_field-outputlen = 20.

append it_field to it_field_t.

CLEAR it_field.

clear it_field.

it_field-col_pos = 5.

it_field-fieldname = 'USER2'.

it_field-seltext_l = 'Location'.

it_field-do_sum = 'X'.

it_field-outputlen = 20.

append it_field to it_field_t.

CLEAR it_field.

clear it_field.

it_field-col_pos = 6.

it_field-fieldname = 'USER0'.

it_field-seltext_l = 'Vertical'.

it_field-do_sum = 'X'.

it_field-outputlen = 20.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 7.

it_field-fieldname = 'USER1'.

it_field-seltext_l = 'Sub_vertical'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 8.

it_field-fieldname = 'USER3'.

it_field-seltext_l = 'Technology'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 9.

it_field-fieldname = 'USER6'.

it_field-seltext_l = 'Department'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 10.

it_field-fieldname = 'WORK'.

it_field-seltext_l = 'Onsite/Offshore'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 11.

it_field-fieldname = 'STR'.

it_field-seltext_l = 'T&M/FP'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 12.

it_field-fieldname = 'KOSTL'.

it_field-seltext_l = 'EMP COST'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 13.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'STAFF WELFARE'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 14.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'RECRUITMENT'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 15.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'TRAVELS'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 16.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'SUBCONTRACT'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 17.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'COMMUNICATION'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 18.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'RENT'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 19.

it_field-fieldname = 'KSTAR'.

it_field-seltext_l = 'BACKEND COST (PROJECT EXP)'.

it_field-outputlen = 10.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 20.

it_field-fieldname = 'ADDO'.

it_field-seltext_l = 'Direct costs'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 21.

it_field-fieldname = 'ADDO1'.

it_field-seltext_l = 'Income'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 22.

it_field-fieldname = 'PROFIT2'.

it_field-seltext_l = 'Profit(income-costs)'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 23.

it_field-fieldname = 'ADDK'.

it_field-seltext_l = 'Direct costs(Grp cur)'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 24.

it_field-fieldname = 'ADDK1'.

it_field-seltext_l = 'Income(Grp Cur)'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

it_field-col_pos = 25.

it_field-fieldname = 'PROFIT1'.

it_field-seltext_l = 'Profit(income-costs)'.

it_field-outputlen = 20.

it_field-do_sum = 'X'.

append it_field to it_field_t.

CLEAR it_field.

xlayout-zebra = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'ZPROJECT_PROFIT1'

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE_PROFIT'

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = xlayout

IT_FIELDCAT = it_field_t

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_DISPLAY1

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

clear it_field_t.

"it_display.

FORM USER_COMMAND using r_ucomm like sy-ucomm rs type slis_selfield.

include zinteractive_profit."Secondary list for calling KO03.

ENDFORM. "USER_COMMAND.

Thanks & Regards,

Lakshmi..

4 REPLIES 4
Read only

Former Member
0 Likes
877

Hi

Check the sequence of the fields in the internal table, as per the select statement fields sequence.

Add OBJNR field in between KSTAR and OBJNR_N1 fields in the internal table

Now it won't dump.

Reward points if useful

Regards

Anji

Read only

Former Member
0 Likes
877

Another way is you change the query and use 'INTO CORRESPONDING FIELDS OF TABLE' rather than 'INTO TABLE' as show below:

SELECT BUKRS KOKRS gjahr kstar OBJNR OBJNR_N1 PERIO BEKNZ WKGBTR WOGBTR FROM

COEP <b>INTO CORRESPONDING FIELDS OF TABLE</b>

IT_COEP FOR ALL ENTRIES IN IT_AUFK WHERE OBJNR = IT_AUFK-OBJNR and

perio in S_PERIO

Read only

0 Likes
877

Hi,

i did according to ur suggession.

now it is going dump.

and it is telling like this.

2629 i_event_name = 'SUBTOTAL_TEXT'

2630 is_subtottxt_info = ls_subtot_info

2631 ip_subtot_line = lr_data

2632 changing

2633 c_subtottxt = l_subtottxt.

2634 ls_lvc_data-value = l_subtottxt.

2635

2636 append ls_lvc_data to ct_lvc_data.

2637 endif.

2638

2639 ************************************

2640 * Column per Fieldcat Entry

2641 ************************************

2642 clear ls_lvc_data-style.

2643 loop at it_fcat_local assigning <ls_fcat>

2644 where tech ne 'X' and no_out ne 'X'.

2645 if l_invisible eq 'X'.

2646 clear l_invisible.

2647 if <ls_fcat>-do_sum is initial.

2648 continue.

2649 else.

2650 clear ls_lvc_data-col_pos.

2651 endif.

2652 endif.

2653

2654 add 1 to ls_lvc_data-col_pos.

2655

2656 assign component <ls_fcat>-fieldname

2657 of structure <ls_data> to <l_field_val

2658 if sy-subrc ne 0.

>>>>> message x000(0k).

2660 endif.

2661

2662 *... work on average

2663 if <ls_fcat>-do_sum eq 'C'.

2664 clear l_entries.

2665

2666 assign space to <l_unit>.

2667 if not <ls_fcat>-cfieldname is initial.

2668 assign component <ls_fcat>-cfieldname

2669 of structure <ls_data> to <l_unit>.

2670 endif.

2671 if not <ls_fcat>-qfieldname is initial.

2672 assign component <ls_fcat>-qfieldname

2673 of structure <ls_data> to <l_unit>.

2674 endif.

2675

2676 l_from = ls_grpl-index_from.

2677 l_to = ls_grpl-index_to.

2678 if ls_grpl-index_from is initial and

plz any of u help me to come out with solution.

Thanks & Regards,

Lakshmi..

Read only

0 Likes
877

hi guys,

thanks for ur advices..

Regards,

Lakshmi..