Issue in Project Performance Report

Hi,
I'm facing several issues in Project Performance Report (PPR), although the setups seem to be correct.
The Project has a scheduled start date of 02-Apr-12 and end date 14-Nov-13. The transaction start date is 31-Mar-12 and end date is 14-Nov-13.
We entered some transactions (preapproved batches) for the dates 31-Mar-12, 01-Apr-12 and 6-May-12.
Ran the cost distribution program, viewed that the exp items are cost distributed.
Then ran the Update Project Resource and Base Summaries Data program followed by the Update Project Performance Data but the PPR page did not show the actual data.
Post that ran the Refresh programs and actual cost data was visible in the Task Summary and Resource Summary pages of PPR but not in the main page.
Ran the Refresh programs again and now the actual cost data is displayed in the main page but in the Task Summary and Resource Summary pages the actual cost has got doubled.
So two issues:
1. Why it did not populate the actual data once we ran the Update programs?
2. Why has the amounts got doubled in some pages?
This is very critical. Any insights would be of great help. This is happening for a few projects. I must say the behaviour of the PPR programs is very inconsistent. You never know what to expect.
Regards,
Sri

Hi,
I'm facing several issues in Project Performance Report (PPR), although the setups seem to be correct.
The Project has a scheduled start date of 02-Apr-12 and end date 14-Nov-13. The transaction start date is 31-Mar-12 and end date is 14-Nov-13.
We entered some transactions (preapproved batches) for the dates 31-Mar-12, 01-Apr-12 and 6-May-12.
Ran the cost distribution program, viewed that the exp items are cost distributed.
Then ran the Update Project Resource and Base Summaries Data program followed by the Update Project Performance Data but the PPR page did not show the actual data.
Post that ran the Refresh programs and actual cost data was visible in the Task Summary and Resource Summary pages of PPR but not in the main page.
Ran the Refresh programs again and now the actual cost data is displayed in the main page but in the Task Summary and Resource Summary pages the actual cost has got doubled.
So two issues:
1. Why it did not populate the actual data once we ran the Update programs?
2. Why has the amounts got doubled in some pages?
This is very critical. Any insights would be of great help. This is happening for a few projects. I must say the behaviour of the PPR programs is very inconsistent. You never know what to expect.
Regards,
Sri

Similar Messages

  • Profit & Loss / Balance Sheet and Project performance Report

    Hello,
    I am in mining service industry and looking for two basic reports as under, can you please guide me through and provide transactions.
    1)Profit & Loss/ Balance Sheet
    2)Project Performance report
    Your prompt response will be much more appreciated.
    Thanks,
    San

    Hi,
    use this as shown below
    menu path-
    Accounting ® Financial Accounting ® Special Purpose Ledger ® Tools ® Report Painter ® Report Writer ® Report Group ® Display
    tcode- GR53, GR55
    Enter report group SL01.
    Choose  Execute.
    Enter report group SL01 again, and then choose .
    Enter the following data: current year, period 01-12, company code,ledger and plan version
    kind regards
    Arman
    SAP FICO

  • If I'll use project performance reporting I need setup PJI before?

    Hi all,
    If I'll use project performance reporting I need setup PJI before? or no need? Please advice me.
    Additional Information : I use module PJC and PJT in 12i
    Many Thanks.

    Hi Govind,
    Thank you for your information and you are correct. :)
    I found this document that explain about PPR and I try to set it, It's work!
    Document Name that explain about setup PPR --:
    - How To Get Data In Performance Reporting For Linked Projects To Program.
    - Whilepaper_PPR_Solutions
    - Project Performance Concurrent Requests - Overview and FAQ

  • Question related to project performance reporting

    Hi,
    We have implemented peoject management and project accounting module with Grants module for one of the semi public sector client. Now we are planning to enable project performance repporting.
    I assume below things
    1. If Grant is implemented, Project budgeting doesn't work
    And
    2. project performance reporting based on project accounting,project budgeting and project management modules.
    If anyone of you have done similar requirement , Please let us know the approach your approach.
    Thanks in advance
    Praveen Javvaji

    Duplicate post -- question related to project performance management

  • Question related to project performance management

    Hi,
    We have implemented peoject management and project accounting module with Grants module for one of the semi public sector client. Now we are planning to enable project performance repporting.
    I assume below things
    1. If Grant is implemented, Project budgeting doesn't work
    And
    2. project performance reporting based on project accounting,project budgeting and project management modules.
    If anyone of you have done similar requirement , Please let us know the approach your approach.
    Thanks in advance
    Praveen Javvaji

    Duplicate post -- question related to project performance management

  • Performance issues when creating a Report / Query in Discoverer

    Hi forum,
    Hope you are can help, it involves a performance issues when creating a Report / Query.
    I have a Discoverer Report that currently takes less than 5 seconds to run. After I add a condition to bring back Batch Status that = ‘Posted’ we cancelled the query after reaching 20 minutes as this is way too long. If I remove the condition the query time goes back to less than 5 seconds.
    Please see attached the SQL Inspector Plan:
    Before Condition
    SELECT STATEMENT
    SORT GROUP BY
    VIEW SYS
    SORT GROUP BY
    NESTED LOOPS OUTER
    NESTED LOOPS OUTER
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS OUTER
    NESTED LOOPS OUTER
    NESTED LOOPS
    NESTED LOOPS OUTER
    NESTED LOOPS OUTER
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID GL.GL_CODE_COMBINATIONS
    AND-EQUAL
    INDEX RANGE SCAN GL.GL_CODE_COMBINATIONS_N2
    INDEX RANGE SCAN GL.GL_CODE_COMBINATIONS_N1
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_FLEX_VALUES
    INDEX RANGE SCAN APPLSYS.FND_FLEX_VALUES_N1
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_FLEX_VALUE_SETS
    INDEX UNIQUE SCAN APPLSYS.FND_FLEX_VALUE_SETS_U1
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_FLEX_VALUES_TL
    INDEX UNIQUE SCAN APPLSYS.FND_FLEX_VALUES_TL_U1
    INDEX RANGE SCAN APPLSYS.FND_FLEX_VALUE_NORM_HIER_U1
    TABLE ACCESS BY INDEX ROWID GL.GL_JE_LINES
    INDEX RANGE SCAN GL.GL_JE_LINES_N1
    INDEX UNIQUE SCAN GL.GL_JE_HEADERS_U1
    INDEX UNIQUE SCAN GL.GL_SETS_OF_BOOKS_U2
    TABLE ACCESS BY INDEX ROWID GL.GL_JE_HEADERS
    INDEX UNIQUE SCAN GL.GL_JE_HEADERS_U1
    INDEX UNIQUE SCAN GL.GL_DAILY_CONVERSION_TYPES_U1
    TABLE ACCESS BY INDEX ROWID GL.GL_JE_SOURCES_TL
    INDEX UNIQUE SCAN GL.GL_JE_SOURCES_TL_U1
    INDEX UNIQUE SCAN GL.GL_JE_CATEGORIES_TL_U1
    INDEX UNIQUE SCAN GL.GL_JE_HEADERS_U1
    INDEX UNIQUE SCAN GL.GL_JE_HEADERS_U1
    INDEX UNIQUE SCAN GL.GL_JE_BATCHES_U1
    INDEX UNIQUE SCAN GL.GL_BUDGET_VERSIONS_U1
    INDEX UNIQUE SCAN GL.GL_ENCUMBRANCE_TYPES_U1
    INDEX UNIQUE SCAN GL.GL_SETS_OF_BOOKS_U2
    TABLE ACCESS BY INDEX ROWID GL.GL_JE_BATCHES
    INDEX UNIQUE SCAN GL.GL_JE_BATCHES_U1
    INDEX UNIQUE SCAN GL.GL_SETS_OF_BOOKS_U2
    INDEX UNIQUE SCAN GL.GL_JE_BATCHES_U1
    TABLE ACCESS BY INDEX ROWID GL.GL_PERIODS
    INDEX RANGE SCAN GL.GL_PERIODS_U1
    After Condition
    SELECT STATEMENT
    SORT GROUP BY
    VIEW SYS
    SORT GROUP BY
    NESTED LOOPS
    NESTED LOOPS OUTER
    NESTED LOOPS OUTER
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS OUTER
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS OUTER
    NESTED LOOPS
    NESTED LOOPS OUTER
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS OUTER
    NESTED LOOPS
    TABLE ACCESS FULL GL.GL_JE_BATCHES
    INDEX UNIQUE SCAN GL.GL_SETS_OF_BOOKS_U2
    INDEX UNIQUE SCAN GL.GL_JE_BATCHES_U1
    TABLE ACCESS BY INDEX ROWID GL.GL_JE_HEADERS
    INDEX RANGE SCAN GL.GL_JE_HEADERS_N1
    INDEX UNIQUE SCAN GL.GL_SETS_OF_BOOKS_U2
    INDEX UNIQUE SCAN GL.GL_ENCUMBRANCE_TYPES_U1
    INDEX UNIQUE SCAN GL.GL_DAILY_CONVERSION_TYPES_U1
    INDEX UNIQUE SCAN GL.GL_BUDGET_VERSIONS_U1
    TABLE ACCESS BY INDEX ROWID GL.GL_JE_SOURCES_TL
    INDEX UNIQUE SCAN GL.GL_JE_SOURCES_TL_U1
    INDEX UNIQUE SCAN GL.GL_JE_CATEGORIES_TL_U1
    INDEX UNIQUE SCAN GL.GL_JE_BATCHES_U1
    TABLE ACCESS BY INDEX ROWID GL.GL_JE_LINES
    INDEX RANGE SCAN GL.GL_JE_LINES_U1
    INDEX UNIQUE SCAN GL.GL_SETS_OF_BOOKS_U2
    TABLE ACCESS BY INDEX ROWID GL.GL_CODE_COMBINATIONS
    INDEX UNIQUE SCAN GL.GL_CODE_COMBINATIONS_U1
    TABLE ACCESS BY INDEX ROWID GL.GL_PERIODS
    INDEX RANGE SCAN GL.GL_PERIODS_U1
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_FLEX_VALUES
    INDEX RANGE SCAN APPLSYS.FND_FLEX_VALUES_N1
    INDEX RANGE SCAN APPLSYS.FND_FLEX_VALUE_NORM_HIER_U1
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_FLEX_VALUES_TL
    INDEX UNIQUE SCAN APPLSYS.FND_FLEX_VALUES_TL_U1
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_FLEX_VALUE_SETS
    INDEX UNIQUE SCAN APPLSYS.FND_FLEX_VALUE_SETS_U1
    INDEX UNIQUE SCAN GL.GL_JE_HEADERS_U1
    INDEX UNIQUE SCAN GL.GL_JE_HEADERS_U1
    INDEX UNIQUE SCAN GL.GL_JE_HEADERS_U1
    Is there anything i can do in Discoverer Desktop / Administration to avoid this problem.
    Many thanks,
    Lance

    Hi Rod,
    I've tried the condition (Batch Status||'' = 'Posted') as you suggested, but the qeury time is still over 20 mins. To test i changed it to (Batch Status||'' = 'Unposted') and the query was returned within seconds again.
    I’ve been doing some more digging and have found the database view that is linked to the Journal Batches folder. See below.
    I think the problem is with the column using DECODE. When querying the column in TOAD the value of ‘P’ is returned. But in discoverer the condition is done on the value ‘Posted’. I’m not too sure how DECODE works, but think this could be the causing some sort of issue with Full Table Scans. How do we get around this?
    Lance
    DECODE( JOURNAL_BATCH1.STATUS,
    '+', 'Unable to validate or create CTA',
    '+*', 'Was unable to validate or create CTA',
    '-','Invalid or inactive rounding differences account in journal entry',
    '-*', 'Modified invalid or inactive rounding differences account in journal entry',
    '<', 'Showing sequence assignment failure',
    '<*', 'Was showing sequence assignment failure',
    '>', 'Showing cutoff rule violation',
    '>*', 'Was showing cutoff rule violation',
    'A', 'Journal batch failed funds reservation',
    'A*', 'Journal batch previously failed funds reservation',
    'AU', 'Showing batch with unopened period',
    'B', 'Showing batch control total violation',
    'B*', 'Was showing batch control total violation',
    'BF', 'Showing batch with frozen or inactive budget',
    'BU', 'Showing batch with unopened budget year',
    'C', 'Showing unopened reporting period',
    'C*', 'Was showing unopened reporting period',
    'D', 'Selected for posting to an unopened period',
    'D*', 'Was selected for posting to an unopened period',
    'E', 'Showing no journal entries for this batch',
    'E*', 'Was showing no journal entries for this batch',
    'EU', 'Showing batch with unopened encumbrance year',
    'F', 'Showing unopened reporting encumbrance year',
    'F*', 'Was showing unopened reporting encumbrance year',
    'G', 'Showing journal entry with invalid or inactive suspense account',
    'G*', 'Was showing journal entry with invalid or inactive suspense account',
    'H', 'Showing encumbrance journal entry with invalid or inactive reserve account',
    'H*', 'Was showing encumbrance journal entry with invalid or inactive reserve account',
    'I', 'In the process of being posted',
    'J', 'Showing journal control total violation',
    'J*', 'Was showing journal control total violation',
    'K', 'Showing unbalanced intercompany journal entry',
    'K*', 'Was showing unbalanced intercompany journal entry',
    'L', 'Showing unbalanced journal entry by account category',
    'L*', 'Was showing unbalanced journal entry by account category',
    'M', 'Showing multiple problems preventing posting of batch',
    'M*', 'Was showing multiple problems preventing posting of batch',
    'N', 'Journal produced error during intercompany balance processing',
    'N*', 'Journal produced error during intercompany balance processing',
    'O', 'Unable to convert amounts into reporting currency',
    'O*', 'Was unable to convert amounts into reporting currency',
    'P', 'Posted',
    'Q', 'Showing untaxed journal entry',
    'Q*', 'Was showing untaxed journal entry',
    'R', 'Showing unbalanced encumbrance entry without reserve account',
    'R*', 'Was showing unbalanced encumbrance entry without reserve account',
    'S', 'Already selected for posting',
    'T', 'Showing invalid period and conversion information for this batch',
    'T*', 'Was showing invalid period and conversion information for this batch',
    'U', 'Unposted',
    'V', 'Journal batch is unapproved',
    'V*', 'Journal batch was unapproved',
    'W', 'Showing an encumbrance journal entry with no encumbrance type',
    'W*', 'Was showing an encumbrance journal entry with no encumbrance type',
    'X', 'Showing an unbalanced journal entry but suspense not allowed',
    'X*', 'Was showing an unbalanced journal entry but suspense not allowed',
    'Z', 'Showing invalid journal entry lines or no journal entry lines',
    'Z*', 'Was showing invalid journal entry lines or no journal entry lines', NULL ),

  • Performance issue in HR Payroll Report

    Hi Experts
    I having performance issue in HR payroll report
    My issue as follows
    I have selection period to select date range
    if I select start date & end date Which is giving EMP name, wage type,wage text, amount, etc
    whenever I excute it takes morethan one hour to get the resust
    my code is some wht like this
    loop at GT_REDIR where
    begda(start date) ge pnpbegda and
    endat(end date) le pnpendat and
    paytyp eq ''
    move gt-sqnr to  lv_sqnr
    call function PYXX_READ_PAYROLL_RESULT
    here i am passing pernr  and sequence number
    please give me some idea to fix this issue
    Thanks in Advance
    Gopinath Subramanyam

    Hi Jhings
    Thanks for Your immediate reply
    data is  coming from cluster table and also I am using Logical database
    I will post my code here soon
    Regards
    Gopinath subramayam

  • IN MB51 Report price showing less at the time of Mov.221 issue for project.

    Hi,
    SAP Experts,
    I have one issue.
    In Mb51 Report i wil get less value for xyz material how?
    Case:  1.Material code - 610000027.
               2.Moving Vag price -  59322 Rs
               3.Total Value           -  59322 Rs
               4.Stock                    -  1Qty.
               5.Priovus price        - 274909.23 Last price changed 02.07.2009.
               6.PO.                - 45000253.
               7.Doc.No          - 5902801452.
               8.Posting date  - 04.01.2010
               9.Mov-221 issue to project.
    But  In Mb51 Report i wil get  MATERIAL VALUE = 28832 Rs. How?
    Pls Help Out...

    Hi,
    SAP Experts,
    I have one issue.
    In Mb51 Report i wil get less value for 610000027  material how?
    Case:  1.Material code - 610000027.
               2.Moving Vag price -  59322 Rs
               3.Total Value           -  59322 Rs
               4.Stock                    -  1Qty.
               5.Priovus price        - 274909.23 Last price changed 02.07.2009.
               6.PO.                - 45000253.
               7.Doc.No          - 5902801452.
               8.Posting date  - 04.01.2010
               9.Mov-221 issue to project.
    But  In Mb51 Report i wil get  MATERIAL VALUE = 28832 Rs. How?
    Pls Help Out...
    Regards
    Mahendra

  • Performance issue while opening the report

    HI,
    I am working BO XI R3.1.there is performance issue while opening the report in BO Solris Server but  on window server it is compratively fast.
    we have few reports which contains 5 fixed prompt 7 optional prompt.
    out of 5 fixed prompt 3 prompt is static (it contains 3 -4 record only )which is coming from materlied view.
    we have already use many thing for improve performance in report like-
    1) Index Awareness
    2) Aggregate Awareness
    3) Array fatch size-250
    3) Aray bind time -32767
    4) Login time out -600
    the issue is that before refresh opening the report iteslf taking time 1.30 min on BO solris server but same report taking time in BO window server 45 sec. even we  import on others BO solris server it is taking same time as per old solris server(1.30 min).
    when we close the trace in solris server than it is taking 1.15  sec time.it should not be intial phase it is not hitting more on database.so why it is taking that much time while opening the report.
    could you please guide us where exectly problem is there and how we can improve performance for opening the report.In case the problem related to solris server so what would be and how can we rectify.
    Incase any further input require for the same feel free to ask me.

    Hi Kumar,
    If this is happening with all the reports then this issue seems to be due to firewall or security settings of Solaris OS.
    Please try to lower down the security level in solaris and test for the issue.
    Regards,
    Chaitanya Deshpande

  • Standard Report check whether Goods Issue has been performed for DN

    Hi All,
    My users is having a list of DNs where they would like to check if Post Goods Issue has been performed for them.  I would like to ask is there any standard reports as to check if a Delivery Note has PGI performed?
    I have tried report VL06G but in this report we cannot give the DN No. as the key. 
    Thanks.

    There is no standard reports to check GI by DN number.
    You have to find out the Outbound Number first then check by Outbound number.
    In SE16N, key VBFA table
    Pump in your DN number under "Follow-on doc."
    Under "Prec.doc.categ." select "J".
    with the outboud number, you can proceed to check using above report suggested.
    Alternatively, using same VBFA table. Pump in list of outbound number under "Preceding Doc." and select "Subs.doc.categ." as "R".
    If you can set-up query reports, you can also get all the information directly with the DN Numbers.

  • SCOM 2012 R2 System Performance Report issue

    Dear All,
    We have SCOM 2012 R2 with SQL Server 2012.
    For last few days we are stucked with SCOM System Performance Report. We are trying to achieve following:
    Generate a report of last 15 days of all the following components in a single report.
    Get Memory Utilization of a Particular Server in Line Chart form with Horizontal counter showing 0 to 100% Utilization and vertical couter showing Time line. Also showing total Memory of the server.
    Get Processor Utilization report of a Particular Server in Line Chart form with Horizontal counter showing 0 to 100% Utilization and vertical couter showing Time line. Also showing process installed on the server.
    Get Disk Time report with (I/O) MB / Sec in Line Chart form.
    I have tried creating a sample with photo editor to provide you better understanding of my requirement.
    We can go for customizing reports with Report builder or any other tool which can help us achieve this task. Need your suggestion for the above.
    Thanks
    VN

    1) open the url http://reportserver/reports where reportserver is your report server
    2) navigate the folder Microsoft.systemCenter.Datawarehouse.Report.library
    3) click the arrow of report Microsoft.SystemCenter.Datawarehouse.Report.Performance and select download
    4) repeat setp 3) for Microsoft.SystemCenter.Datawarehouse.Report.Performance.rpdl
    5) rename its file name and upload its into the folder Microsoft.systemCenter.Datawarehouse.Report.library
    6) click the arrow of report which you upload on step 5) and select manage
    7) update its DataWarehousMain --> A shared data source as /Data Warehouse Main
    8) update Custom data source as Credentials are not required and click Apply
    9) click the arrow of report which you upload on step 5) and select Edit in Report Builder
    10) right click the unwanted part and delete
    Roger

  • Query on Performance issues relating to a report

    Hi Group,
    I have an issue while running a report which was creating Business Partners for (both Company and the Contact person and as well as relationship b/w them).
    This report was having BAPI( for creating Business Partners ) and also for creating relationships and the report was taking too much of response time.
    I was thinking it to be the reason for calling BAPIs. But, I want to know from you that is that the real cause or it might be the other cause.
    So please kindly let me know inputs from your side on this.
    thanks in advance.
    Regards,
    Vishnu.

    Hi
    I think it's always better to use the provided standard fm's and bapi's to make changes to the data in the system instead of directly placing them in the tables.
    One thing you can do is try to use parallel processing. E.g 10.000 BP's should be created. In that case schedule 4 jobs to create the Bp's instead of 1 job creating the whole lot.
    Kind regards, Rob Dielemans

  • TFS performance report pack not working on TFS 2013

    Hi
    I have TFS 2013 setup and I found TFS performance report pack from http://blogs.msdn.com/b/granth/archive/2009/02/03/announcing-tfs-performance-report-pack.aspx URL.
    These reports don't work after uploading to my report server. The blog talk about creating a shared data source TfsActivityReportDS
    and using Data Source=localhost;Initial Catalog=TfsActivityLogging
    as connection string.
    I don't have any database by name TfsActivityReportDS in my TFS and as a result I am not able to run any report on my TFS 2013 server.
    Is there any way to get these reports work for TFS 2013? Or is there other TFS performance report pack made for TFS 2013?
    Regards, Premal Acharya

    Hi Charles,
    Thanks a ton for your help. :)
    It worked on TFS 2013. I followed your steps. I also found one easy way to edit the queries mentioned in those rdl files. I opened them in text editor and replaced TfsActivityLogging with my TFS project name (Tfs_DefaultCollection). Saved rdl file and opened
    it in report builder and then my job was only to modify the data source.
    I really appreciate your help for getting the reports worked on TFS 2013.
    However I am only stuck with one little issue pertained to Server Status - Source Control Request Queue.rdl file
    This report file doesn't have any queries and it also uses XML as connection to the data source. When I run this report on my TFS server I am getting error as URL "http://localhost:8080/versioncontrol/v1.0/administration.asmx" not found.
    Detailed information about the report file is given below.
    Report Name
    Server Status - Source Control Request Queue
    Connection type
    XML
    Connection string in data source 
    http://localhost:8080/versioncontrol/v1.0/administration.asmx
    Query Under data set
    <Query>
       <Method Name="QueryServerRequests" 
    Namespace="http://schemas.microsoft.com/TeamFoundation/2005/06/VersionControl/Admin/03">
       </Method>
       <ElementPath IgnoreNamespaces="true">*</ElementPath>
    </Query>
    -------END---------
    I don't know how to get it work. Your help and advice on this will be highly appreciated.
    Thanks again for helping me to get other reports worked with TFS 2013.
    Regards, Premal Acharya

  • Problem in project system report ZPS_PROJSUMMARY

    i am working with a report ZPS_PROJSUMMARY which extracts all project summary report.now problem is it is extracting las financila years (2006 ) closed WBS element also with this years WBS elements. this problem happening in production only. this is not coming in pre production.in pre production it is deleting all the previous years WBS using this subroutine perform process_delete_child using it_report-pspnr which is based on condition  if l_status_fyear lt s_fyear-low.  
    i am giving the full code below:-
    report zps_projsummary line-size 623
                      line-count 65
                      no standard page heading
                      message-id zfiwip.
    Report Name: ZPS_PROJSUMMARY
    Author:      Rey Salvador  (for NDC)
    Date:        14.09.2001
    Purpose:     Project Summary Report (with Commitments)
    Modifications Log
    Mod Id   Author      Date      References  Purpose
    M001     R.Salvador  19.10.01  THOR 2845   Add YTD Rev.Recognised
    M002     R.Salvador  19.11.01  THOR 2978   Fix YTD Rev.Rec. Level 1
    M003     R.Salvador  19.11.01  THOR 3050   Fix YTD Rev.Rec. Level 1
    M004     R.Salvador  08.03.02  THOR 3222   Fix Include Closed WBS
    M005     R.Salvador  17.05.02  THOR 3342   Fix issue with Profile
    M006     C.Kontkanen 22.05.02  LOB         Add ProjManager sel
    M007     R.Salvador  19.06.02  LOB         Incl. WIP/COGS Adjustments
    M008     R.Salvador  26.07.02  THOR xxxx   Add ProjOfficer
    M009     R.Salvador  06.08.02  THOR 3508   Revenue Recognition Changes
    M010     R.Salvador  29.11.02  THOR 3704   New Billing Reports
    M011     R.Salvador  17.12.02  THOR 3646   Fix problem with statuses
    M012     R.Salvador  20.01.03  THOR 3930   Add CP/SP/WO number
    M013     R.Salvador  07.03.03  THOR 3953   Incorrect Status
    M014     R.Salvador  15.04.03  THOR 4056   Fix Level 1 Calculation
    M015     R.Salvador  01.05.03  THOR 4070   Fix Level 1 Calculation
    M016     R.Salvador  17.06.03  THOR 4125   Fix Level 2 Calculation
    M017     R.Salvador  03.09.03  THOR 4220   Change RevRec Calculation
    M018     R.Salvador  25.09.03  THOR 4237   Fix WBS Selection
    M019     R.Salvador  11.11.03  THOR 4297   Add SP number
    M020     R.Salvador  16.01.04  THOR 4342   Fix Revenue Recognition
    M021     R.Salvador  28.01.04  THOR 4344   Fix Revenue Recognition
    M022     R.Salvador  11.02.04  THOR 4340   Fix Selection Criteria
             Ta Tran     10.06.04  DI4K900626  Copied from NDC
    M023     Maccha      29.08.05  DI2K921397  Honing the selection
             Srinivas                          process for Director and
                                               Manager criteria.
    M024     M.Srinivas  20.09.05  DI2K921599  Rectifying the order level
                                               - Partner profile
                                               selections. Ref.
                                               docket:203680869
    M025     M.Srinivas  01.05.06  DI2K922837  Order level - Status
                                               profile selections
                                               rectification. PD:203960491
    M026     Gaurav Dixit18.09.06  DI2K923361  Not to select the deleted
                                               partners from IHPA table.
    M027    SaiKiran Reddy07.06.07 DI2K923793  To Exclude Deleted partner
                                               from IHPA table.
    include zps_projsummcomd.
    types: begin of ty_wbs_report2,                      "Reporting Table
             Pdir(20),                                   "Prog Dir
             posid         like prps-posid,              "WBS Element
             post1         like prps-post1,              "Short Text
             fkstl         like prps-fkstl,              "resp const centre
             prart         like prps-prart,              "Proj Type
             ZZORDERLEVEL(2),                            "order level
             ZZACTTYP(6),                                "Activity type
             sstatus       like bsvx-sttxt,              "system status
             ustatus       like bsvx-sttxt,              "user status
             ZZIMCINITIATIVE(24),                        "IMC initiative
             ZZIMCPROGRAM(02),                           "IMC Program
             ZZWORKCATEGORY(02),                         "Work Cat
             ZZWPMANLOB(01),                             "LOB
             ZZSOURCE(02),                               "Source
             ZZPRIN(02),                                 "Principal
             ZZIMPLEMENTREG(01),                         "IMP Reg
             ZZCONTRACTID(10),                           "Contract
             ZZWPNUM(08),                                "WP No
             ZZsPNUM(08),                                "SP No
             ZZORDERNUM(04),                             "Order No
             lead(20),                                   "Prog Lead
             Pmgr(20),                                   "Prog Mgr
             Poff(20),                                   "Prog Officer
           acthours      type megxxx, "megXXX: 3decimal"Actual Hours
             acthours      type wkgxxx, "wkgXXX: 2decimal"Actual Hours
             planhours     type wkgxxx,                  "Planned Hours
             PLANLABOUR    type wkgxxx,                  "PLAN LABOUR
             ACTLABOUR     type wkgxxx,                  "ACTUAL LABOUR
             planmatcosts  type wkgxxx,               "plan material costs
             actmatcosts   type wkgxxx,               "actual material costs
             plancosts     type wkgxxx,                   "Planned COsts
             actcosts      type wkgxxx,                   "Actual Costs
             prcommitment  type wkgxxx,                   "PR Commitment
             pocommitment  type wkgxxx,                   "PO Commitment
             totcommitment type wkgxxx,                   "Total Commitment
             zzwip         like prps-zzwip,               "rev rec process
             planrev       type wkgxxx,                   "Planned Revenues
             actrev        type wkgxxx,                   "Actual Revenues
             pcnt_comp(8)   type p decimals 2,            "% complete
             acttotrevrec  type wkgxxx,                   "Act.Rev.Rec m009
             actytdrevrec  type wkgxxx,                   "Act.Rev Rec m009
             revrec        type wkgxxx,                   "revenue Recognise
             revrecytd     type wkgxxx,                   "RevRec YTD M001
             rev_collected like vbrp-netwr,               "Collected Rev
           end of ty_wbs_report2.
    types: begin of ty_wbs_report,                        "Reporting Table
             Pdir(20),                                    "Prog Dir
             posid         like prps-posid,               "WBS Element
             post1         like prps-post1,               "Short Text
             fkstl         like prps-fkstl,               "resp const centre
             prart         like prps-prart,               "Proj Type
             ZZORDERLEVEL(2),
             ZZACTTYP(6),                                 "Activity type
             sstatus       like bsvx-sttxt,               "system status
             ustatus       like bsvx-sttxt,               "user status
             ZZIMCINITIATIVE(24),                         "IMC initiative
             ZZIMCPROGRAM(02),                            "IMC Program
             ZZWORKCATEGORY(02),                          "Work Cat
             ZZWPMANLOB(01),                              "LOB
             ZZSOURCE(02),                                "Source
             ZZPRIN(02),                                  "Principal
             ZZIMPLEMENTREG(01),                          "IMP Reg
             ZZCONTRACTID(10),                            "Contract
             ZZWPNUM(08),                                 "WP No
             ZZSPNUM(08),                                 "SP No
             ZZORDERNUM(04),                              "Order No
             lead(20),                                    "Prog Lead
             Pmgr(20),                                    "Prog Mgr
             poff(20),                                    "Prog Officer
             acthours      type wkgxxx,                   "Actual Hours
             planhours     type wkgxxx,                   "Planned Hours
             PLANLABOUR    type wkgxxx,                   "PLAN LABOUR
             ACTLABOUR     type wkgxxx,                   "ACTUAL LABOUR
             planmatcosts  type wkgxxx,               "plan material costs
             actmatcosts   type wkgxxx,               "actual material costs
             plancosts     type wkgxxx,                   "Planned COsts
             actcosts      type wkgxxx,                   "Actual Costs
             prcommitment  type wkgxxx,                   "PR Commitment
             pocommitment  type wkgxxx,                   "PO Commitment
             totcommitment type wkgxxx,                   "Total Commitment
             zzwip         like prps-zzwip,               "rev rec process
             planrev       type wkgxxx,                   "Planned Revenues
             actrev        type wkgxxx,                   "Actual Revenues
             pcnt_comp(8)   type p decimals 2,            "% complete
             acttotrevrec  type wkgxxx,                   "Act.Rev.Rec m009
             actytdrevrec  type wkgxxx,                   "Act.Rev Rec m009
             revrec        type wkgxxx,                   "revenue Recognise
             revrecytd     type wkgxxx,                   "RevRec YTD M001
             pspnr         like prps-pspnr,               "WBS Internal Key
             postu         like prps-postu,               "Short Text
             fakkz         like prps-fakkz,
             psphi         like prps-psphi,               "proj def
             zzcust        like prps-zzcustNUM,           "Customer
             zzcustnum     like prps-zzcustnum,           "Customer
             kostl         like prps-kostl,               "Cost Centres
             prsumm(1)     type c,                        "Project Summary
             actcostscfy   type wkgxxx,                   "Current FY Costs
             actrevcfy     type wkgxxx,                   "Current FY Rev
             rev_billed    like vbrp-netwr,               "Billed Revenue
             gst_billed    like vbrp-mwsbp,               "Billed GST
             rev_collected like vbrp-netwr,               "Collected Rev
             gst_collected like vbrp-mwsbp,               "Collected GST
             totbudget     type wkgxxx,                   "Total Budget
             verna         like prps-verna,                     "PM m006
             astna         like prps-astna,                     "PO m006
             totcogs  type wkgxxx,                        "Total COGS m009
             ytdcogs  type wkgxxx,                        "YTD COGS m009
           end of ty_wbs_report.
    types: begin of ty_totals,              "Structure for Sub-totals
             actmatcosts type wkgxxx,          "Actual material Costs
             actcosts    type wkgxxx,          "Actual Costs Total
             actrev      type wkgxxx,          "Actual Revenues Total
             planmatcosts type wkgxxx,         "plan material Costs
             plancosts   type wkgxxx,          "Planned Costs
             planrev     type wkgxxx,          "Planned Revenues
             acthours    type wkgxxx,          "Actual Hours
             planhours   type wkgxxx,          "Planned Hours
             ACTLABOUR   type wkgxxx,          "ACTUAL LABOUR
             PLANLABOUR  type wkgxxx,          "Planned LABOUR
             revrec      type wkgxxx,          "Revenue Recognised
             revrecytd     type wkgxxx,        "RevRec YTD M001
             acttotrevrec  type wkgxxx,        "RevRec Actual M009
             profit        type wkgxxx,        "Planned Profit/Loss
             actcostscfy   type wkgxxx,        "Actual Costs Current FY
             actrevcfy     type wkgxxx,        "Actual Revenues Current FY
             rev_billed    type wkgxxx,        "Billed Revenue
             gst_billed    type wkgxxx,        "Billed GST
             rev_collected type wkgxxx,        "Collected Rev
             gst_collected type wkgxxx,        "Collected GST
             prcommitment  type wkgxxx,        "PR Commitment
             pocommitment  type wkgxxx,        "PO Commitment
             totcommitment type wkgxxx,        "Total Commitment
             totbudget     type wkgxxx,        "Total Budget
             actytdrevrec  TYPE wkgxxx,
           end of ty_totals.
    type-pools: gsetc.
    tables: cepct.
    data: it_wbs_report TYPE ty_wbs_report OCCURS 0 WITH HEADER LINE,
          it_wbs_report2 TYPE ty_wbs_report2 OCCURS 0 WITH HEADER LINE,
          wr_wbs_report type ty_wbs_report,
          it_prctr      type standard table of setlist,
          it_stat(72) occurs 0 with header line,
          et_stat(72) occurs 0 with header line,
          begin of it_tj49 occurs 0,
            stats like tj49-stats,
            incex like tj49-incex,
            verkz like tj49-verkz,
          end of it_tj49,
          begin of it_csla occurs 150,
          vksta like csla-vksta,
          end of it_csla,
          w_stat_flg,
          w_join(3),
          w_not(3),
          w_stat_val(7) value '''     ''',
          W_LEAD(40),
          W_PDIR(40),
          W_PMGR(40),
          w_poff(40),
          w_tab like sy-tabix,
          n like sy-index,
          w_reporting_level(2) type c,
          w_gtotal_text(500)   type c,
          w_other_level(1)     type c,
          w_budat              like bkpf-budat,                 "m002
          w_level like prps-stufe,
          w_record_count(8)    type n,
          w_pspid_ind(1)       type c,                          "m003
          begin of ziheader,
            w_strlen   type i,
            hdr_pos    type p,
            hold_name(30),
            conf_txt(54) value
            '* CONFIDENTIAL - PROPERTY OF BACCHUS *',
          end of ziheader,
          p_budat like bkpf-budat,
          w_sel_posid like prps-posid,
    Internal tables to hold set hierarchy, values, pointers and sorts
          set_hierarchy    like sethier     occurs 0 with header line,
          set_values       like setvalues   occurs 0 with header line,
          set_id like rgsbs-setnr,
          set_id2         like rgsbs-setnr,
          w_setnr(30)        type c,
          w_set_values like rgsb4 occurs 0 with header line,
          lt_objlst type standard table of onr00,
          lr_objlst type onr00,
          w_first   type c.
    Start of M011
    data: it_wbs1 like it_wbs occurs 0.
    data: it_wbs_tmpo  like it_wbs occurs 0 with header line.   "M024
    data: begin of loc_wbs occurs 0.
            include structure  zco_wip_wbslst.  "test '''
    data:         pdir(20),
                  zzacttyp(6),
                  ZZIMCINITIATIVE(24),
                  ZZIMCPROGRAM(02),
                  ZZWORKCATEGORY(02),
                  ZZWPMANLOB(01),
                  ZZSOURCE(02),
                 ZZPRIN(02),
                  ZZIMPLEMENTREG(01),
                  ZZCONTRACTID(10),
                  ZZWPNUM(08),
                  ZZSPNUM(08),
                  ZZORDERNUM(04),
                  PERNR(08),
                  PERNR2(08),
           end of loc_wbs.
    data: begin of it_report occurs 0,
            posid like prps-posid,
            pspnr like prps-pspnr,
          end of it_report.
    End of M011
    data: begin of it_deleted occurs 0,
            posid like prps-posid,
            pspnr like prps-pspnr,
          end of it_deleted.
    data: begin of l_deleted occurs 0,
            posid like prps-posid,
            pspnr like prps-pspnr,
          end of l_deleted.
    data: w_year like bkpf-gjahr.
    data: begin of t_date occurs 0,
          w_budat  like bkpf-budat,
          poper    like t_poper-poper,
    end of t_date.
    data: t_ihpa like ihpa occurs 0 with header line,
          t_ihpa1 like ihpa occurs 0 with header line,
          t_ihpa2 like ihpa occurs 0 with header line,
          t_ihpa3 like ihpa occurs 0 with header line,
          t_ihpa4 like ihpa occurs 0 with header line,
          l_status(3),
          w_PLANHOURS like it_wbs-PLANHOURS,
          w_PLANREV   like it_wbs-PLANREV,
          w_PLANCOSTS like it_wbs-PLANCOSTS,
          it_tmp_wbs3 type zco_proj_summary_v2 occurs 0 with header line,
          W_it_wbs5 like it_wbs .
    ranges: r_prctr for prps-prctr.
    ranges: r_stufe for prps-stufe.
    ranges: r_posid for prps-posid.
    constants: c_crtd like tj49-stats value 'I0001'.
    CONSTANTS: C_LEAD(2) VALUE '4A',
               C_PDIR(2) VALUE '4B',
               C_PMGR(2) VALUE 'A1',
               C_Poff(2) VALUE 'A2',
               c_pdn like ihpa-OBTYP value 'PDN',
               c_prn like ihpa-OBTYP value 'PRN'.               "M023
    tables : pa0002.
    ---------------------Organisational Units------------------------*
    selection-screen begin of block orgunit with frame title text-t06.
    *WP/CP Managing LOB
    select-options: S_ZWP for PRPS-ZZWPMANLOB MATCHCODE OBJECT  ZZWPMANLOB.
    *Implementing Region
    select-options: S_ZIMP for PRPS-ZZIMPLEMENTREG MATCHCODE OBJECT
    ZZIMPLEMENTREG.
    *Cost center group
    PARAMETERS: P_CTGRP  LIKE RKSB1-KSGRU no-display.
    *Responsible Cost Center
    select-options: s_fkstl  for prps-fkstl.
    select-options: s_src    for  proj-zzsource MATCHCODE OBJECT ZzSOURCE.
    select-options: s_prin   for  proj-zzprin MATCHCODE OBJECT ZzPRINCIPAL .
    select-options: s_wcat   for  proj-zzworkcategory MATCHCODE OBJECT
    ZZWORKCATEGORY.
    select-options: s_wpcpt  for  proj-ZZTYPE MATCHCODE OBJECT ZzTYPE.
    selection-screen end of block orgunit.
    selection-screen begin of block periods with frame title text-t05.
    selection-screen begin of line.
    selection-screen comment 1(20) text-c04 for field p_kokrs.
    selection-screen position pos_low.
    parameters: p_kokrs type kokrs obligatory default 'TELC'.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(20) text-c01 for field s_fyear.
    selection-screen position pos_low.
    select-options: s_fyear for bkpf-gjahr obligatory no intervals
                    no-extension.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(20) text-c02 for field s_poper.
    selection-screen position pos_low.
    select-options: s_poper for T009B-poper obligatory no intervals
                    no-extension.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen position pos_low.
    selection-screen end of line.
    data: p_incwip(1) type c value ' '.
    selection-screen begin of line.
    selection-screen comment 1(30) text-c25 for field p_calrev.
    selection-screen position pos_low.
    parameters:  p_calrev radiobutton group 0001 default 'X'.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(30) text-c26 for field p_actrev.
    selection-screen position pos_low.
    parameters:  p_actrev radiobutton group 0001.
    selection-screen end of line.
    End of M007 Mods
    selection-screen end of block periods.
    selection-screen begin of block psjsel with frame title text-t01.
    *Program Leadhouse
    select-options: s_plead for pa0002-pernr matchcode object  ZPA0002.
    *Project Director
    select-options: s_pdir for pa0002-pernr  matchcode object  ZPA0002.
    *Project Manager
    select-options: s_pmgr for pa0002-pernr  matchcode object  ZPA0002.
    *Project Profile
    select-options: s_PROFL FOR PROJ-PROFL default 'EXTERN' obligatory.
    *Project Definition
    select-options: s_pspid  for proj-pspid.
    *WBS Element
    select-options: s_posid  for prps-posid.
    selection-screen end of block psjsel.
    selection-screen begin of block othersel with frame title text-t07.
    parameters: p_lvl1 radiobutton group rplv,
                p_lvl2 radiobutton group rplv,
                p_wip  radiobutton group rplv.
    selection-screen begin of line.
    selection-screen comment 1(20) text-c16 for field p_oth.
    selection-screen position pos_low.
    parameters:  p_oth  radiobutton group rplv.
    selection-screen comment 40(20) text-c17 for field p_level.
    parameters:  p_level like prps-stufe.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(22) text-c22 for field p_incwbs.
    selection-screen position 42.
    parameters:  p_incwbs as checkbox.
    selection-screen end of line.
    Start of M006 Mods
    selection-screen begin of line.
    selection-screen comment 1(41) text-c23 for field p_clwbs.
    selection-screen position 42.
    parameters:  p_clwbs as checkbox default 'X'.
    selection-screen end of line.
    End of M006 Mods
    parameters:
      p_status like tj49-selid.
    select-options:
      s_prart for prps-prart.
    selection-screen end of block othersel.
    selection-screen begin of block outfile with frame title text-t11.
    selection-screen begin of line.
    selection-screen comment 1(20) text-c11 for field p_file.
    selection-screen position pos_low.
    parameters: p_file as checkbox.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(20) text-c13 for field p_runid.
    selection-screen position pos_low.
    parameters: p_runid like zcnwip_log-zrunid.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(20) text-c12 for field p_filenm.
    selection-screen position pos_low.
    parameters: p_filenm(40) type c default '/batch/int/send/ndcreports/'
                                    lower case.
    selection-screen end of line.
    selection-screen end of block outfile.
    initialization.
      perform ini_fiscal_year_current.
    Default year/period in the selection screen
      s_fyear-sign = 'I'.
      s_fyear-option = 'EQ'.
      APPEND s_fyear.
      s_poper-sign = 'I'.
      s_poper-option = 'EQ'.
      APPEND s_poper.
      perform ini_file_path.
    at selection-screen on block outfile.
      if not p_file is initial.
        if p_filenm is initial.
          message e017.
        endif.
        if p_runid is initial.
          message e017.
        endif.
      endif.
    at selection-screen on p_status.
      clear it_stat.
      refresh it_stat.
      if p_status is initial.
        w_stat_flg = 'N'.
      else.
        w_stat_flg = 'Y'.
      endif.
    at selection-screen.
      include ZCNWIPCOMF_V2.
      if not p_actrev is initial.
        move: w_curr_year   to w_curr_fperiod+0(4),
              w_curr_period to w_curr_fperiod+4(2),
              s_fyear-low       to w_sel_fperiod+0(4),
              s_poper-low       to w_sel_fperiod+4(2).
        if w_sel_fperiod le '200212'.  "temp
          message e025.
        endif.
        if w_sel_fperiod ge w_curr_fperiod.
          message e026.
        endif.
      endif.
    Check if Other level check, specify level from 3-4
      if not p_oth is initial and
         p_level is initial.
        message e021.
      endif.
    Validate File Information
      if not p_file is initial.
        if p_runid is initial or
           p_filenm is initial.
          message e014.
        endif.
        select count(*) from zcnwip_log
          where zrunid eq p_runid
          and   zrep   eq 'PROJCE'. " to be changed
        if sy-subrc eq 0.
          message w022 with p_runid.
        endif.
      endif.
      if not p_ctgrp is initial and not s_FKSTL is initial.
        message e087 with 'Cost Center Group' 'Responsible Cost Center'.
      endif.
      if not p_ctgrp is initial.
        clear w_setnr.
        move: '0101'     to w_setnr+0(4),
              P_KOKRS    to w_setnr+4(4),
              p_ctgrp    to w_setnr+8.
        call function 'G_SET_GET_ALL_VALUES'
             EXPORTING
                  setnr         = w_setnr
             TABLES
                  set_values    = w_set_values
             EXCEPTIONS
                  set_not_found = 1
                  others        = 2.
        if sy-subrc eq 0.
          loop at w_set_values.
            if w_set_values-from = w_set_values-to.
              S_FKSTL-low = w_set_values-from.
              S_FKSTL-option = 'EQ'.
            else.
              S_FKSTL-low  = w_set_values-from.
              S_FKSTL-high = w_set_values-to.
              S_FKSTL-option = 'BT'.
            endif.
            S_FKSTL-sign   = 'I'.
            append S_FKSTL.
          endloop.
        else.
          message e201 with p_ctgrp.
        endif.
      endif.
    start-of-selection.
      data: w_poper like s_poper-low,
            w_fyear like s_fyear-low.
      w_poper = s_poper-low.
      loop at s_poper.
        case s_poper-option.
          when 'EQ'.
            move s_poper-low to t_poper.
            append t_poper.
            clear t_poper.
          when 'BT'.
            move s_poper-low to t_poper.
            append t_poper.
            clear t_poper.
            while w_poper < s_poper-high.
              w_poper = w_poper + 1.
              move w_poper to t_poper.
              append t_poper.
              clear t_poper.
            endwhile.
        endcase.
      endloop.
      w_fyear = s_fyear-low.
      loop at s_fyear.
        case s_fyear-option.
          when 'EQ'.
            move s_fyear-low to t_fyear.
            append t_fyear.
            clear t_fyear.
          when 'BT'.
            move s_fyear-low to t_fyear.
            append t_fyear.
            clear t_fyear.
            while w_fyear < s_fyear-high.
              w_fyear = w_fyear + 1.
              move w_fyear to t_fyear-fyear.
              append t_fyear.
              clear t_fyear.
            endwhile.
        endcase.
      endloop.
      sort t_fyear by fyear .
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
       EXPORTING
         I_DATE               = sy-datum
         I_PERIV              = 'V6'
      IMPORTING
      E_BUPER              =
        E_GJAHR              =  w_fyear.
      w_fyear =   s_fyear-low.
    s_fyear-low = w_fyear.
    Reset Indicator
      if p_calrev is initial.
        move 'X' to p_incwip.
      else.
        clear p_incwip.
      endif.
      loop at t_poper.
    *get last day in each period of range
        t_date-poper = t_poper-poper.
    *------ Start of M002 modifications
    *------ Determine last day of the posting period
        call function 'LAST_DAY_IN_PERIOD_GET'
             EXPORTING
                  i_gjahr = s_fyear-low
                  i_periv = tka01-lmona
                  i_poper = t_poper-poper
             IMPORTING
                  e_date  = t_date-w_budat.
        append t_date.
        clear t_date.
      endloop.
    *get last day of last period in previous fiscal years chosen
    *016 = last period
      delete t_fyear where fyear = w_fyear. "remove current fyear
      loop at t_fyear.
        call function 'LAST_DAY_IN_PERIOD_GET'
             EXPORTING
                  i_gjahr = t_fyear-fyear
                  i_periv = 'V6'
                  i_poper = '016'
             IMPORTING
                  e_date  = t_date-w_budat.
        t_date-poper = '016'.
        append t_date.
        clear t_date.
      endloop.
    *Get the Proj Def from WBS selct option and refresh wbs select option.
      data: begin of l_psphi occurs 0,
              POSID like prps-POSID,
              pspid like prps-psphi,
            end of l_psphi.
      data: begin of l_pspid occurs 0,
              pspid like proj-pspid,
            end of l_pspid.
      data: begin of i_proj occurs 0,                           "M023
            pspnr like proj-pspnr,                              "M023
            end of i_proj.                                      "M023
      data: begin of i_prps occurs 0,                           "M023
            objnr like prps-objnr,                              "M023
            end of i_prps.                                      "M023
      data: begin of i_psphi1 occurs 0,                         "M023
            psphi like prps-psphi,                              "M023
            end of i_psphi1.                                    "M023
      data: len_posid type i.
      if not s_posid[] is initial.
        select posid psphi into table l_psphi
                           from prps
                           where posid in s_posid.
        if sy-subrc ne 0.
          message i100.
          exit.
        endif.
        if not l_psphi[] is initial.
          sort l_psphi.
          select  pspid into table l_pspid
                              from proj
                              for all entries in l_psphi
                              where pspnr = l_psphi-pspid and
                                    profl in s_profl.
          if sy-subrc = 0.
            delete adjacent duplicates from l_pspid.
            loop at l_pspid.
              s_pspid-sign = 'I'.
              s_pspid-option = 'EQ'.
              s_pspid-low = l_pspid-pspid.
              append s_pspid.
              clear s_pspid.
            endloop.
          else.
            message i100.
            exit.
          endif.
        endif.
        clear s_posid.
        refresh s_posid.
        loop at l_psphi.
          s_posid-sign = 'I'.
          s_posid-option = 'CP'.
          CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
               EXPORTING
                    INPUT  = l_psphi-posid
               IMPORTING
                    OUTPUT = l_psphi-posid.
          while l_psphi-posid ca '.'.
            replace '.' with space into l_psphi-posid.
          endwhile.
          condense l_psphi-posid no-gaps.
          concatenate l_psphi-posid '*' into s_posid-low.
          append s_posid.
        endloop.
      endif.
    *------ End of M002 modifications
    ----- Exclude the P. WBS elements, these are only used for
    *----- intermediate postings and are not relevant for WIP, COGS,...
      perform ini_posid_range.
      perform ini_pspid_range.
    if not s_pspid[] is initial.
    *----- If projects are selected, then make sure we have the internal
    *----- key to PROJ (ie, field PSPNR)
      perform get_partners.
      perform sos_prepare_proj_range.
      if r_psphi[] is initial.
        message i100.
        exit.
      endif.
    endif.
    *----- WBS ranges with "CP" (Contains Pattern) entries need
    *----- to be condensed, because the conversion exit for field POSID
    ----- causes an entry entered as "P." to be stored as "P    *". Hence
    *----- selection is flawed.
      perform sos_condense_range_wbs.
    *----- Activity Type Group is used to determine what Activity Types
    *----- to take into account for the computation of planned and actual
    *----- hours. The Activity Type Group must be exploded into its
    *----- individual Activity Types, so we can build a range of Activity
    *----- types.
      perform sos_build_act_type_range.
    *----- Selection of WBS as per selection criteria, but only Billing WBS
    *----- Elements or Level 2 WBS elements
    Get Level re-determined
      if not p_oth is initial.
        case p_level.
          when 1.
            move c_on to p_lvl1.
            clear p_oth.
          when 2.
            move c_on to p_lvl2.
            clear p_oth.
        endcase.
      endif.
      if not p_lvl1 is initial.
        w_reporting_level = 'L1'.
        w_level = 1.
      endif.
      if not p_lvl2 is initial.
        w_reporting_level = 'L2'.
        w_level = 2.
      endif.
      if not p_wip is initial.
        w_reporting_level = 'BE'.
        w_level = 0.
      endif.
      refresh r_stufe.
      if not p_lvl1 is initial.
        clear: r_stufe.
        move: '1'     to r_stufe-low,
              '2'     to r_stufe-high,
              'BT'    to r_stufe-option,
              'I'     to r_stufe-sign.
        append r_stufe.
      elseif not p_oth is initial.
        clear: r_stufe.
        move: p_level to r_stufe-low,
              'EQ'    to r_stufe-option,
              'I'     to r_stufe-sign.
        append r_stufe.
      elseif not p_wip is initial. "INS DI5K902370
        clear: r_stufe. "INS DI5K902370
       move: '1' to r_stufe-low, "INS DI5K902370
             '99' to r_stufe-HIGH, "INS DI5K902370
             'BT'    to r_stufe-option, "INS DI5K902370
             'I'     to r_stufe-sign. "INS DI5K902370
        move: '2'     to r_stufe-low,
              '99'    to r_stufe-HIGH,
              'BT'    to r_stufe-option,
              'I'     to r_stufe-sign.
        append r_stufe. "INS DI5K902370
      else.
        clear: r_stufe.
        move: '2'     to r_stufe-low,
              'EQ'    to r_stufe-option,
              'I'     to r_stufe-sign.
        append r_stufe.
      endif.
      perform select_wbs_new tables r_psphi.
      commit work.
    Process any WBS elements missed during initial selection
      if  not s_posid[] is initial.
        perform check_billing_elements.
        sort it_wbs by psphi
                       pspnr.
      endif.
      delete adjacent duplicates from it_wbs.
      append lines of it_wbs to it_wbs1.
      sort it_wbs1 by psphi
                     pspnr.
    Transfer to temporary table before calling function
      refresh loc_wbs.
      loop at it_wbs1 into wr_wbs.
        w_tabix = sy-tabix.
        if wr_wbs-psphi ne w_ref_psphi.
          if not loc_wbs[] is initial.
    *----- CAREFUL: THIS FUNCTION MODULE ASSUMES THAT THE WBS ELEMENTS
    *----- PASSED INTO TABLE I_WBS ALL BELONG TO THE SAME PROJECT
    *----- DEFINITION. FUNCTION MODULE WILL NOT GIVE PROPER RESULTS
    *----- IF CALLED FOR A TABLE I_WBS WITH WBS ELEMENTS BELONGING
    *----- TO VARIOUS PROJECT DEFINITIONS. BE WARNED!!!
            call function 'Z_CN_DETERMINE_REPORTS'
                 EXPORTING
                      i_fyear        = s_fyear-low
                      i_prsumm_level = w_level
                      i_closed       = 'X'
                 TABLES
                      i_wbs          = loc_wbs
                      i_deleted      = l_deleted.
            if not p_lvl2 is initial.
              loop at loc_wbs where stufe gt 2 and lvl2_posid is initial.
                do.
                  select single up into prhi-up
                                   from prhi
                                   where posnr = loc_wbs-pspnr.
                  select single * from prps
                  where pspnr = prhi-up.
                  if prps-stufe = 2.
                    loc_wbs-lvl2_pspnr = prps-pspnr.
                    loc_wbs-lvl2_posid = prps-posid.
                    exit.
                  else.
                    loc_wbs-pspnr = prhi-up.
                  endif.
                enddo.
                modify loc_wbs.
              endloop.
            endif.
            perform sos_append_wbs.
            refresh l_deleted.
          endif.
          w_ref_psphi = wr_wbs-psphi.
          refresh loc_wbs.
        endif.
        clear loc_wbs.
        move-corresponding wr_wbs to loc_wbs.
        append loc_wbs.
      endloop.
      if not loc_wbs[] is initial.
    *----- CAREFUL: THIS FUNCTION MODULE ASSUMES THAT THE WBS ELEMENTS
    *----- PASSED INTO TABLE I_WBS ALL BELONG TO THE SAME PROJECT
    *----- DEFINITION. FUNCTION MODULE WILL NOT GIVE PROPER RESULTS
    *----- IF CALLED FOR A TABLE I_WBS WITH WBS ELEMENTS BELONGING
    *----- TO VARIOUS PROJECT DEFINITIONS. BE WARNED!!!
        call function 'Z_CN_DETERMINE_REPORTS'
             EXPORTING
                  i_fyear        = s_fyear-low
                  i_prsumm_level = w_level
                  i_closed       = 'X'
             TABLES
                  i_wbs          = loc_wbs
                  i_deleted      = l_deleted.
        if not p_lvl2 is initial.
          loop at loc_wbs where stufe gt 2 and lvl2_posid is initial.
            do.
              select single up into prhi-up
                               from prhi
                               where posnr = loc_wbs-pspnr.
              select single * from prps
              where pspnr = prhi-up.
              if prps-stufe = 2.
                loc_wbs-lvl2_pspnr = prps-pspnr.
                loc_wbs-lvl2_posid = prps-posid.
                exit.
              else.
                loc_wbs-pspnr = prhi-up.
              endif.
            enddo.
            modify loc_wbs.
          endloop.
        endif.
        perform sos_append_wbs.
        refresh loc_wbs.
        refresh l_deleted.
      endif.
      perform process_report_table.
    End of M011
    Check Status Profile
      if not p_status is initial.
        perform process_check_status_profile.
        sort it_wbs by psphi
                     pspnr.
      endif.
    Start of M006 mods
      if p_clwbs is initial.
    Ignore projects/WBS closed based on the year
        perform process_closed_projects.
      endif.
    End of M006 mods
      describe table it_wbs lines w_lines.
      if w_lines eq 0.
        message i100.
        exit.
      endif.
      sort it_wbs by psphi
                     pspnr.
      loop at it_wbs
           into wr_wbs.
        w_tabix = sy-tabix.
    *----- We will extract costs and determine to which reports a WBS
    *----- by Project Hierarchy, ie, we will look at all the WBS Elements
    *----- in a given hierarchy in one hit. This simplifies the
    *----- process of determining the highest billing element or the
    *----- Level 2 WBS element for a selected WBS
    *----- It also had the advantage of allowing parallel processing
    *----- using CALL FUNCTION STARTING NEW TASK if required in
    *----- the future
        if wr_wbs-psphi ne w_ref_psphi.
          if not it_tmp_wbs[] is initial.
            loop at t_date.
              it_tmp_wbs2[] =  it_tmp_wbs[].
              call function 'Z_PS_WIP_GET_COSTS_COMMITMENT'
                   EXPORTING
                        i_fyear          = s_fyear-low
                        i_poper          = t_date-poper
                        i_billing        = 'X'
                        i_prsumm_level   = w_level
                        i_other_level    = w_other_level
                        i_budat          = t_date-w_budat
                        i_commitment     = 'X'
                        i_include_wipadj = p_incwip             "M007
                   TABLES
                        i_rsparams       = it_rsparams
                        i_wbs            = it_tmp_wbs2.
              loop at it_tmp_wbs2 into it_tmp_wbs3.
                collect it_tmp_wbs3.
              endloop.
              w_tab = sy-tabix.
              n = 1.
              while n <= w_tab .
                read table it_tmp_wbs2 index n.
                it_tmp_wbs3 = it_tmp_wbs2.
                modify table it_tmp_wbs3
             index n
                transporting
                PLANLABOUR PLANHOURS PLANREV PLANCOSTS stufe.
                n = n + 1.
              endwhile.
            endloop.
            it_tmp_wbs[] =  it_tmp_wbs2[].
            perform sos_process_tmp_table.
          endif.
          w_ref_psphi = wr_wbs-psphi.
          refresh it_tmp_wbs.
        endif.
        wr_wbs-tabix = w_tabix.
        append wr_wbs to it_tmp_wbs.
        if w_tabix eq w_lines.
    *----- Don't forget to process the last hierarchy!!
          if not it_tmp_wbs[] is initial.
            loop at t_date.
              it_tmp_wbs2[] =  it_tmp_wbs[].
              call function 'Z_PS_WIP_GET_COSTS_COMMITMENT'
                   EXPORTING
                        i_fyear          = s_fyear-low
                        i_poper          = t_date-poper
                        i_billing        = 'X'
                        i_prsumm_level   = w_level
                        i_other_level    = w_other_level
                        i_budat          = t_date-w_budat
                        i_commitment     = 'X'
                        i_include_wipadj = p_incwip             "M007
                   TABLES
                        i_rsparams       = it_rsparams
                        i_wbs            = it_tmp_wbs2.
                  exceptions
                       not_found        = 1.
              loop at it_tmp_wbs2 into it_tmp_wbs3.
                collect it_tmp_wbs3.
              endloop.
              w_tab = sy-tabix.
              n = 1.
              while n <= w_tab .
                read table it_tmp_wbs2 index n.
                it_tmp_wbs3 = it_tmp_wbs2.
                modify it_tmp_wbs3 index n transporting stufe
                PLANLABOUR PLANHOURS PLANREV PLANCOSTS .
                n = n + 1.
              endwhile.
            endloop.
            it_tmp_wbs[] =  it_tmp_wbs2[].
            perform sos_process_tmp_table.
          endif.
        endif.
      endloop.
    end-of-selection.
    Delete WBS with no financial information
      loop at it_wbs_report into wr_wbs_report.
        if wr_wbs_report-actcosts      eq 0 and
           wr_wbs_report-plancosts     eq 0 and
           wr_wbs_report-planrev       eq 0 and
           wr_wbs_report-acthours      eq 0 and
           wr_wbs_report-actrev        eq 0 and
           wr_wbs_report-revrec        eq 0 and
           wr_wbs_report-revrecytd     eq 0 and
           wr_wbs_report-acttotrevrec  eq 0 and
           wr_wbs_report-actytdrevrec  eq 0 and
           wr_wbs_report-pocommitment  eq 0 and
           wr_wbs_report-prcommitment  eq 0 and
           p_incwbs is initial.
          delete it_wbs_report index sy-tabix.
        endif.
      endloop.
      loop at it_wbs_report.
        select  single
                   objnr
                   psphi
                   zzacttyp
                   ZZIMCINITIATIVE
                   ZZIMCPROGRAM
                   ZZWPMANLOB
                   ZZIMPLEMENTREG
                   ZZCONTRACTID
                   ZZWPNUM
                   ZZSPNUM
                   ZZORDERNUM
                   ZZORDERLEVEL
                   ZZWIP
              from prps
              into corresponding fields of w_it_wbs5
              where posid eq it_wbs_report-posid.
        CLEAR: W_LEAD, W_PDIR, W_PMGR, w_poff.
        select single zztype ZZWORKCATEGORY ZZPRIN ZZSOURCE from proj into
        (w_it_wbs5-zztype, w_it_wbs5-ZZWORKCATEGORY, w_it_wbs5-ZZPRIN,
        w_it_wbs5-ZZSOURCE) where pspnr = w_it_wbs5-psphi.
        CLEAR w_it_wbs5-lead.
        select single parnr from ihpa into w_it_wbs5-lead
        where objnr = w_it_wbs5-objnr and
        parvw = C_LEAD and
        KZLOESCH NE 'X'.                                        " M026
        PERFORM READ_PA0002 USING w_it_wbs5-lead CHANGING W_LEAD.
        CLEAR w_it_wbs5-pdir.
        select single parnr from ihpa into w_it_wbs5-pdir
        where objnr = w_it_wbs5-objnr and
        parvw = C_PDIR and
        KZLOESCH NE 'X'.                                        " M026
        PERFORM READ_PA0002 USING w_it_wbs5-PDIR CHANGING W_PDIR.
        CLEAR w_it_wbs5-pmgr.
        select single parnr from ihpa into w_it_wbs5-pmgr
        where objnr = w_it_wbs5-objnr and
        parvw = C_PMGR and
        KZL

    hi,
    1.Capacity check takes place at plant level itself..
    2.Pooled capacity:- This is created separately in [u wil find in PP] and this capacity can be used by different work centers.
    regards
    pushpa

  • How to build Project Budget report with "IF-then" formula?

    HI
    I have user requirement to create this report:
    Controlling Area Currency CAC
    Object Currency (OC)
    Amount to be returned calculation
    Amount to be used for Budget Return
    Budget (CAC)
    Actual (CAC)
    Remaining Budget (CAC)
    Budget (OC)
    Actual (OC)
    Remaining Budget (OC)
    CAC Remaining
      Budget converted to OC using Budget rate (OC)
    OC Remaining Budget converted to CAC using Budget rate (CAC)
    (1)
    (2)
    (3)
    (4)
    (5)
    (6)
    (7) = (3) * Budget rate
    (8) = (6) / Budget rate
    if (8) => (3) then
      (7), else (6)
    Project 1
    Project 2
    Project 3
    Project 4
    Project 5
    My dilemma is wich tool to use to build the report & how.
    CJE2 & CJE6  Project Hierarchy Reports
    I have managed to create columns 1 - 6 using a copy of forms from SP1 Reporting Group
    but I fail to create "IF - then" formula
    GRR2 Report Painter
    SP1 & SP2 Reports are not available there to copy from, while  SP3 has no Budget data available
    GR32 Report Writer
    I'm just not sure how to manage it & where to start from? Is that realistinc to do without special training?
    Please could you help me to figure out how can get to deliver that user requirement?
    What shall better do?
    Thank you very much in advance,
    Daria

    Hi Daria,
    In addition to what Sunil has mentioned , i think you don't need to get into the AFVC table unless you are using network activities under the WBS. Even then I don't see a need for AFVC as your budgeting is at the WBS level.
    And  your requirement is to capture Budget, Actual Cost and Remaining Budget and Return as per your formula..  here You should be looking at the below tables:
    1. PROJ : For Getting the list of Project.
    2. PRPS : for getting the WBS for the Projects..
    3. COEP or COSP OR RPSCO.
    Though you can get all your values in RPSCO but this is a huge table and you can hit some performance issues.. So you can use COEP or COSP ( if you want to use Line items or totals)..
    Rest you can go with the logic given by Sunil.. Just filter the values by the Value type for each project and you should get your desired result..
    Regards
    Sammar

Maybe you are looking for

  • Comas(,) are not getting displayed in the output while using OO ABAP

    Hi All, I am using ABAP objects to display the ALV report in which there is a requirement to output Quantity fields. The Quantity fields are getting displayed without comas ','. Please help me in getting back the comas in the output. Eg: Below logic

  • Please anyone explain me about HTTP adapter

    Can anyone explain about HTTP Adapter (sender,receiver) End to End implementation with screen shots?

  • Router randomly reboots itself almost every night

    I've been with Sky for a few months now and this is becoming an increasing frustrating problem. Everything is fine until, somewhere between, I think 10pm-2am, the internet would slow down and after a 2-3 mins - grind to a halt, the connection drops (

  • Removing 1 effect when right click, not all?

    If I select 4 or 5 clips and right click in Adobe Premiere. I can remove effects. but sometimes I only want to remove, lets say 1 effect and keep the rest. But It seems I always have to remove them all? adobe you should make a feature that lets you c

  • Community Rankings for the Lulu Forums

    Once you register a user name in the Lulu forum community you are eligible for a community ranking. The more time you spend in the community reading, posting, and commenting on posts the more "points" you earn towards your ranking. Ranking Categories