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

problem with report

Former Member
0 Likes
857

Hi Experts,

i ve problem, in my report i got the required data into one it_final internal table fom several internal table,

it_final table having complete data.

but from this it_final int table i want to generate the report based on some conditions. bt am not able to do this.

can anybody help how to procede....

Thanks in advance..

Rgds,

sudharsan.

5 REPLIES 5
Read only

Former Member
0 Likes
723

Can you post the code where you have the issue? We can then find out what the problem is.

Thanks

Venkata

Read only

0 Likes
723

Hi venkata,

here am pasting my code,

&----


*& Report ZBSR_PS_ROJ

*&

&----


*&

*&

&----


REPORT zbsr_ps_roj NO STANDARD PAGE HEADING LINE-COUNT 52(2) LINE-SIZE 320 .

      • TABLE DECLARATIONA

TABLES: proj, " Project definition

prps, " WBS Element Master Data

rpsco, " Project info database

aufk, " Order master data

afvc, " Operation within an order

coep,

prhis. " WBS Hierarchy Elements

  • ------------------------------------------------------------------- *

  • SELECTION SCREEN

  • ------------------------------------------------------------------- *

SELECT-OPTIONS: s_ccode FOR coep-bukrs. "Company Code(s)

PARAMETERS : p_year TYPE rpsco-gjahr, "FISCAL YEAR

p_month(2) TYPE c. " Period

                • DATA DICLARATION ****************

DATA: month(2) type n,

sum LIKE rpsco-wlp01,

tmp_pspnr LIKE proj-pspid,

first_projn LIKE afvc-projn,

last_projn LIKE afvc-projn,

tmp_prps_sw(1) TYPE c.

TYPES : BEGIN OF t_proj, " Project definition

pspnr LIKE proj-pspnr, "Project definition

pspid LIKE proj-pspid, "Project definition

post1 LIKE proj-post1, "Short description

objnr LIKE proj-objnr, "Object number

vernr LIKE proj-verna, "Name of Project manager

verna LIKE proj-verna, "Name of Project manager

vbukr LIKE proj-vbukr, "Company code for the proj

lednr LIKE tbp0l-lednr, "Budget / Planning ledger

END OF t_proj.

TYPES : BEGIN OF t_prps, " For WBS (Work Breakdown Structure) Element Master Data

pspnr LIKE prps-pspnr, "WBS element

posid LIKE prps-posid, "WBS element item number

post1 LIKE prps-post1, "Short description

objnr LIKE prps-objnr, "Object number

psphi LIKE prps-psphi, "Current number of project

pbukr LIKE prps-pbukr, "Company code

verna LIKE prps-verna, "Name of Project manager

END OF t_prps.

TYPES : BEGIN OF t_aufk, " For Order master data

pspel LIKE aufk-pspel, "WBS STRUCTURE

objnr LIKE aufk-objnr, "OBJECT NUMBER

bukrs LIKE aufk-bukrs,

aufnr LIKE aufk-aufnr, "ORDER NUMBER

auart LIKE aufk-auart, "ORDER TYPE

autyp LIKE aufk-autyp, "ORDER CATEGORY

waers LIKE aufk-waers, "ORDER CURRENCY

END OF t_aufk.

TYPES : BEGIN OF t_afvc, " Operation within an order

projn LIKE afvc-projn, "Project Number/WBS element

objnr LIKE afvc-objnr, "Object number

vornr LIKe afvc-vornr, " Network Activity number

ltxa1 LIKE afvc-ltxa1, "Short description

END OF t_afvc.

TYPES : BEGIN OF t_rpsco, " Project info database: Costs, revenues, finances

objnr LIKE rpsco-objnr, "Object number

wrttp LIKE rpsco-wrttp, "Value type

acpos LIKE rpsco-acpos, "Value category

vorga LIKE rpsco-vorga, "Budgeting/Planning Activity

versn LIKE rpsco-versn, "Budgeting/Planning Version

abkat LIKE rpsco-abkat, "Category: Variance/Res Anal

twaer LIKE rpsco-twaer, "Transaction currency

gjahr LIKE rpsco-gjahr, " Fiscal year

lednr LIKE rpsco-lednr, "Budget/Planning Ledger

beltp LIKE rpsco-beltp, "Debit type

wlp00 LIKE rpsco-wlp00, "Period value

wlp01 LIKE rpsco-wlp01, "Period value

wlp02 LIKE rpsco-wlp02, "Period value

wlp03 LIKE rpsco-wlp03, "Period value

wlp04 LIKE rpsco-wlp04, "Period value

wlp05 LIKE rpsco-wlp05, "Period value

wlp06 LIKE rpsco-wlp06, "Period value

wlp07 LIKE rpsco-wlp07, "Period value

wlp08 LIKE rpsco-wlp08, "Period value

wlp09 LIKE rpsco-wlp09, "Period value

wlp10 LIKE rpsco-wlp10, "Period value

wlp11 LIKE rpsco-wlp11, "Period value

wlp12 LIKE rpsco-wlp12, "Period value

wlp13 LIKE rpsco-wlp13, "Period value

wlp14 LIKE rpsco-wlp14, "Period value

wlp15 LIKE rpsco-wlp15, "Period value

wlp16 LIKE rpsco-wlp16, "Period value

END OF t_rpsco.

TYPES : BEGIN OF t_prhis, " -


>" WBS Hierarchy Elements

posnr LIKE prhis-posnr, " std WBS element

psphi like prhis-psphi, " Current project

up like prhis-up, " superior

down like prhis-down, " 1st subordinate

end of t_prhis.

TYPES: BEGIN OF I_FINAL,

PSPNR LIKE PROJ-PSPNR,

PSPID LIKE PROJ-PSPID,

POST1 LIKE PROJ-POST1,

VERNA LIKE PROJ-VERNA,

VBUKR LIKE PROJ-VBUKR,

pspnr1 LIKE prps-pspnr,

posid1 LIKE prps-posid,

psphi LIKE prps-psphi,

PROJN LIKE AFVC-PROJN,

vornr like afvc-vornr,

PSPEL LIKE AUFK-PSPEL,

WRTTP LIKE RPSCO-WRTTP,

vorga LIKE rpsco-vorga,

VERSN LIKE RPSCO-VERSN,

TWAER LIKE RPSCO-TWAER,

GJAHR LIKE RPSCO-GJAHR,

beltp LIKE rpsco-beltp,

WLP00 LIKE rpsco-wlp00,

WLP01 LIKE RPSCO-WLP01,

WLP02 LIKE RPSCO-WLP02,

WLP03 LIKE RPSCO-WLP03,

WLP04 LIKE RPSCO-WLP04,

WLP05 LIKE RPSCO-WLP05,

WLP06 LIKE RPSCO-WLP06,

WLP07 LIKE RPSCO-WLP07,

WLP08 LIKE RPSCO-WLP08,

WLP09 LIKE RPSCO-WLP09,

WLP10 LIKE RPSCO-WLP10,

WLP11 LIKE RPSCO-WLP11,

WLP12 LIKE RPSCO-WLP12,

WLP13 LIKE RPSCO-WLP13,

WLP14 LIKE RPSCO-WLP14,

WLP15 LIKE RPSCO-WLP15,

WLP16 LIKE RPSCO-WLP16,

END OF I_FINAL.

DATA : it_final TYPE STANDARD TABLE OF i_final WITH HEADER LINE,

wa_final TYPE i_final.

DATA : it_output TYPE STANDARD TABLE OF i_final WITH HEADER LINE,

wa_output TYPE i_final.

DATA : it_proj TYPE STANDARD TABLE OF t_proj WITH HEADER LINE,

wa_it_proj TYPE t_proj.

DATA : it_prps TYPE STANDARD TABLE OF t_prps WITH HEADER LINE,

wa_it_prps TYPE t_prps.

DATA : it_aufk TYPE STANDARD TABLE OF t_aufk WITH HEADER LINE,

wa_it_aufk TYPE t_aufk.

DATA : it_afvc TYPE STANDARD TABLE OF t_afvc WITH HEADER LINE,

wa_it_afvc TYPE t_afvc.

DATA : it_rpsco TYPE STANDARD TABLE OF t_rpsco WITH HEADER LINE,

wa_it_rpsco TYPE t_rpsco.

DATA : it_prhis TYPE STANDARD TABLE OF t_prhis WITH HEADER LINE,

wa_it_prhis TYPE t_prhis.

*TOP-OF-PAGE.

  • =================================================================== *

  • MAIN PROCESS BEGINS

  • =================================================================== *

START-OF-SELECTION.

                                          • initilization ****************************** *

CLEAR : it_proj,

it_prps,

it_aufk,

it_afvc,

it_rpsco,

it_prhis,

wa_it_proj,

wa_it_prps,

wa_it_aufk,

wa_it_afvc,

wa_it_rpsco.

month = p_month.

    • get data from PROJ table

SELECT pspnr

pspid

post1

objnr

vernr

verna

vbukr

FROM proj into TABLE it_proj

WHERE vbukr IN s_ccode.

      • get data from PRPS table

IF NOT it_proj[] IS INITIAL.

SELECT pspnr

posid

post1

objnr

psphi

pbukr

verna

FROM prps INTO TABLE it_prps

FOR ALL ENTRIES IN it_proj

WHERE psphi EQ it_proj-pspnr

AND pbukr IN s_ccode.

ENDIF.

SORT it_prps BY objnr.

            • getting values from PRHIS (Hierarchy for WBS Elements)

IF NOT it_prps[] is initial.

SELECT posnr " std WBS ele

psphi " Current proj

up " Superior

down " 1st subordinator

FROM PRHIS

INTO TABLE it_prhis

FOR ALL ENTRIES IN it_prps

WHERE posnr EQ it_prps-pspnr

AND psphi EQ it_prps-psphi.

ENDIF.

            • getting data from AUFK

IF NOT it_prps[] is initial.

SELECT pspel

objnr

bukrs

aufnr

auart

autyp

waers

FROM aufk INTO TABLE it_aufk

FOR ALL ENTRIES IN it_prps

WHERE pspel EQ it_prps-pspnr

AND bukrs IN s_ccode.

APPEND it_aufk.

ENDIF.

IF NOT it_prps[] IS INITIAL.

SELECT objnr

wrttp

acpos

vorga

versn

abkat

twaer

gjahr

lednr

beltp

wlp00

wlp01

wlp02

wlp03

wlp04

wlp05

wlp06

wlp07

wlp08

wlp09

wlp10

wlp11

wlp12

wlp13

wlp14

wlp15

wlp16

FROM rpsco

INTO TABLE it_rpsco

FOR ALL ENTRIES IN it_prps

WHERE objnr EQ it_prps-objnr

AND versn IN ('000','021')

AND gjahr EQ p_year.

ENDIF.

SORT it_rpsco BY objnr.

DELETE ADJACENT DUPLICATES FROM it_rpsco COMPARING objnr.

        • Finding the current proj number

LOOP AT it_proj.

CLEAR: first_projn, last_projn, tmp_prps_sw.

LOOP AT it_prps WHERE psphi = it_proj-pspnr.

IF tmp_prps_sw IS INITIAL.

first_projn = it_prps-pspnr.

tmp_prps_sw = 'Y'.

ENDIF.

last_projn = it_prps-pspnr.

ENDLOOP.

ENDLOOP.

      • getting Proj no, Objno and discription from AFVC

SELECT projn

objnr

vornr

ltxa1

FROM afvc

INTO TABLE it_afvc

WHERE projn BETWEEN first_projn

AND last_projn.

DELETE ADJACENT DUPLICATES FROM it_afvc COMPARING projn objnr.

loop at it_afvc.

SELECT * FROM rpsco INTO CORRESPONDING FIELDS OF it_rpsco

WHERE objnr EQ it_afvc-objnr

AND versn IN ('000','021')

AND gjahr EQ p_year.

APPEND it_rpsco.

ENDSELECT.

ENDLOOP.

IF NOT it_aufk[] IS INITIAL.

SELECT * FROM rpsco

INTO CORRESPONDING FIELDS OF it_rpsco

FOR ALL ENTRIES IN it_aufk

WHERE objnr = it_aufk-objnr

AND twaer = it_aufk-waers

and gjahr EQ p_year.

  • MOVE it_aufk-pspel TO it_rpsco-posid.

  • APPEND it_rpsco.

ENDSELECT.

ENDIF.

LOOP AT it_prps.

it_final-psphi = it_prps-psphi.

it_final-pspnr1 = it_prps-pspnr.

it_final-posid1 = it_prps-posid.

READ TABLE IT_PROJ WITH KEY PSPNR = IT_PRPS-PSPHI

BINARY SEARCH.

IF SY-SUBRC EQ 0.

it_final-pspnr = it_proj-pspnr.

it_final-pspid = it_proj-pspid.

it_final-post1 = it_proj-post1.

it_final-verna = it_proj-verna.

it_final-vbukr = it_proj-vbukr.

ENDIF.

READ TABLE it_AUFK WITH KEY PSPEL = it_PRPS-PSPNR

BINARY SEARCH.

IF SY-SUBRC EQ 0.

it_final-pspel = it_aufk-pspel.

ENDIF.

READ TABLE it_RPSCO WITH KEY OBJNR = it_PRPS-OBJNR

BINARY SEARCH.

IF SY-SUBRC EQ 0.

it_final-vorga = it_rpsco-vorga.

it_final-versn = it_rpsco-versn.

it_final-twaer = it_rpsco-twaer.

it_final-gjahr = it_rpsco-gjahr.

it_final-beltp = it_rpsco-beltp.

it_final-wlp00 = it_rpsco-wlp00.

it_final-wlp01 = it_rpsco-wlp01.

it_final-wlp02 = it_rpsco-wlp02.

it_final-wlp03 = it_rpsco-wlp03.

it_final-wlp04 = it_rpsco-wlp04.

it_final-wlp05 = it_rpsco-wlp05.

it_final-wlp06 = it_rpsco-wlp06.

it_final-wlp07 = it_rpsco-wlp07.

it_final-wlp08 = it_rpsco-wlp08.

it_final-wlp09 = it_rpsco-wlp09.

it_final-wlp10 = it_rpsco-wlp10.

it_final-wlp11 = it_rpsco-wlp11.

it_final-wlp12 = it_rpsco-wlp12.

it_final-wlp13 = it_rpsco-wlp13.

it_final-wlp14 = it_rpsco-wlp14.

it_final-wlp15 = it_rpsco-wlp15.

it_final-wlp16 = it_rpsco-wlp16.

ENDIF.

APPEND it_final.

MOVE it_final-psphi TO it_output-psphi.

*MOVE-CORRESPONDING it_final TO it_output.

APPEND it_output.

ENDLOOP. " end of it_prps

( up here is ok my final data isin it_final table. from here i want to process it_final tab based on some cond and to get planned revenue, planned cost, etc...

--> below am trying that bt am nt able to get values

--> pls anybody help on this... )

      • Calculating budgect values ........

DATA: ori_rev LIKE rpsco-wlp00,

ori_cost LIKE rpsco-wlp00,

tmp_ori_rev LIKE rpsco-wlp00.

DATA: pla_rev LIKE rpsco-wlp01,

t_pla_rev LIKE rpsco-wlp01,

pla_cost LIKE rpsco-wlp01,

actu_cost LIKE rpsco-wlp01.

loop at it_final

where wrttp = '01'

AND beltp = '02'

AND versn = '21'.

ADD it_final-wlp00 TO ori_rev.

tmp_ori_rev = tmp_ori_rev + ori_rev.

ENDLOOP.

      • Planned Revenues

LOOP AT it_final

WHERE posid1 = it_prps-posid

AND wrttp = '01'

AND ( vorga = 'sdor' OR vorga = 'rkp5' )

AND beltp = '02'

AND versn = '000'.

ADD it_final-wlp01

THEN it_final-wlp02 UNTIL it_final-wlp12

TO pla_rev.

t_pla_rev = t_pla_rev + pla_rev.

ENDLOOP.

ENDLOOP.

write :/20 'ori rev ', tmp_ori_rev.

write :/20 'plan rev ', t_pla_rev.

  • write:/10 'hi am from project ', it_final-psphi.

*pla_rev = pla_rev + it_final-wlp02.

*

  • write :/20 'plan rev ', pla_rev .

  • CASE month.

  • WHEN '02'.

  • LOOP AT it_final

    • WHERE wrttp = '01'.

  • where wrttp EQ '01'

  • AND beltp = '01'

  • AND versn = '000'.

    • CLEAR ori_rev.

  • pla_rev = ori_rev + it_final-wlp02.

    • MOVE it_final-wlp02 TO ori_rev.

  • ENDLOOP.

  • write :/20 'plan rev ', ori_rev .

  • ENDCASE.

  • ENDAT.

*ENDLOOP.

*write :/20 'Final data from it_final'.

*skip 3.

*LOOP AT it_final into wa_final.

  • write :/06 wa_final-psphi, "06 wa_final-vbukr,

  • 20 wa_final-pspnr1,

  • 40 wa_final-posid1,

  • 60 wa_final-vorga,

  • 70 wa_final-versn,

  • 75 wa_final-twaer,

  • 80 wa_final-gjahr,

  • 90 wa_final-beltp,

  • 100 wa_final-wlp01,

  • 120 wa_final-wlp02,

  • 140 wa_final-wlp03,

  • 160 wa_final-wlp04,

  • 180 wa_final-wlp05,

  • 200 wa_final-wlp06,

  • 220 wa_final-wlp07,

  • 240 wa_final-wlp08,

  • 260 wa_final-wlp09,

  • 280 wa_final-wlp10,

  • 300 wa_final-wlp11,

  • 320 wa_final-wlp12.

  • endloop. " end of it_final

Thanks in advance,

sudharsan.

Read only

Former Member
0 Likes
723

1&#12289;loop at it_final into itab where <condition>.

append itab.

endloop.

2&#12289;delete it_final where <condition> not in sel_conditon.

Read only

0 Likes
723

hi am using like this, but control is not going inside the loop.

here it_final and it_output both are same.

and wrttp,vorga,beltp and versn all fields are in it_final table.

-> if the below WHERE cond is satisfied then i want to get some amt values from it_final into one field.

but here WHERE cond is satisfying.

LOOP AT it_final into it_output

WHERE wrttp = '01'

AND ( vorga = 'sdor' OR vorga = 'rkp5' )

AND beltp = '02'

AND versn = '000'.

append it_output.

ENDLOOP.

could anybady tell me how to do this..

Thanks in advance,

sudha.

Read only

0 Likes
723

Hi Sudharsan,

First give the values in where condition in CAPITAL LETTERS and check the condition.

LOOP AT it_final into it_output
WHERE wrttp = '01'
AND ( vorga = 'SDOR' OR vorga = 'RKP5' )

Second, please check the entries in the DATABASE table (SE11) by giving these restricted values.

By giving the values of WRTTP, VORGE, BELTP and VERSN in the database table check the number of entries . Depending on that u can verify the output.

reward if helpful

raam