Report and Graph Generation in Swing

How can I generate Graphs/2D/3D pi charts/ bar charts and formatted reports (e.g. Expence Sheet of a company) in Swing ??

How can I generate Graphs/2D/3D pi charts/ bar chartsJFreeChart
and formatted reports (e.g. Expence Sheet of a
company) in Swing ??JFreeReport
www.jfree.orrg

Similar Messages

  • Performance monitor reports and graphs don't show all the counters that were captured

    I've run into an odd behavior of performance monitor that I haven't been able to clear up yet: after I run a data collector set, the resulting report only shows a partial list of the counters that I captured, and so does the graph of that report (but different
    items).
    For instance, I chose the following counters for the data collector set:
    \PhysicalDisk(*)\% Idle Time
    \PhysicalDisk(*)\Avg. Disk Queue Length
    \PhysicalDisk(*)\Avg. Disk sec/Read
    \PhysicalDisk(*)\Avg. Disk sec/Write
    When the data collection ends, the report that gets displayed shows all those counters for _Total instance and C:, but then E: only shows % Idle Time and Avg. Disk Queue Length. That's it, the report ends there, even though I also have F: and V: drives on
    this server.
    If I choose to view the graph of this data collection, it only shows those four counters for the _Total instance.
    It took me a while to realize that all the data is being captured, but it's just the display that is truncated. If I view the folder then open the report.html, it actually shows all the data. Same with the graphs. If I select to add counters and add
    all the missing counters, they are displayed.
    I have searched high and low but haven't been able to find more than one post at ServerFault where someone had a similar issue, but no real solution or cause was provided, so I was hoping that someone here might have an idea.
    I also found a variety of articles about missing counters due to registry settings or because the counters needed to be reset, but that's a different issue that doesn't apply in my case. By the way, this is on a windows server 2012 R2 VM (file server).

    Hi SomeAdmin,
    The counter missing often caused by the related registry value is corrupted, please first refer the following related KB then perform a fix then monitor the issue again.
    Event ID 3012 — Performance Counter Loading
    http://technet.microsoft.com/en-us/library/cc775053(v=ws.10).aspx
    More information:
    Overview of Performance Monitoring
    http://technet.microsoft.com/en-us/library/cc958257.aspx
    PerfGuide: Analyzing Poor Disk Response Times
    http://social.technet.microsoft.com/wiki/contents/articles/1516.perfguide-analyzing-poor-disk-response-times.aspx
    Analyzing Storage Performance using the Windows Performance Analysis ToolKit (WPT)
    http://blogs.technet.com/b/robertsmith/archive/2012/02/07/analyzing-storage-performance-using-the-windows-performance-toolkit.aspx
    I’m glad to be of help to you!
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • Matrix Reports and Graphs

    I have been trying to add a graph to a matrix report (v. 9.0.2.0.5), with Region (char value) on the x-axis and numerics on the y-axis, but in the picklists, none of the char fields show up. Is there a solution/workaround?
    Thanks in advance,
    Martin Hoerchner

    My work around was to copy my matrix query and put a graph-friendly version(ie: one without all the grouping) of the query in my report along with the matrix query.

  • Report and Graphs

    <p>Hi newcomer to the forum</p><p>Rather than ask for specific help on creating a graph for a vareity of groups over a period with a limit of availablity, are there any sites where I can look to get some graphing help?</p><p> Or is there someone out there looking for a challenge!</p><p>Regards</p><p>Brian.</p>

    Probably your best bet is to use ActiveX and control Word from LabVIEW, this way, you can act as you were using Word directly, automating all the steps to create your report. Look for examples in the developer zone, although there will be more examples relating Excel, that can show you the way to act. If you need to use this intensively, i think NI has created a Word toolokit that you can buy.
    For any particular question, just ask.
    Good luck

  • Report on power generation from each plant and shift wise(PP report)

    Hi,
    i got one  Functional spec on pp module. this FS main object is calculate the daily smelter performance.
    Based on this FS  I will make a report on POWER GENERATION FROM EACH PLANT AND  SHIFT WISE.
    so please can  anyone of you  advice to me  , is  there any standard extractors  and standard cubes or ods are there for make this report.
    Regads,
    Suresh.

    Hi,
    here i mentioned tables,fields and logic according to Fspec.
    S.no          Report Field                                      SAP Table-field                                        Logic
       1               Shift                                              AFRU - KAPTPROG                                                                       
        2              Unit                                                MKPF-VERID                                      Pass MATNR and VERID to AFPO and fetch AUFNR for all VERID and pass AUFNR to AFRU and fetch KAPTPROG and GMNGA for that particular BUDAT
      3.            Total Generation                                    -                                         ADD all the unit GMNGA for Individual KAPTPROG
      4.           Total Auxiliary Consumption                   -                                          Pass MATNR and AUFNR to MSEG and fetch the MBLNR and MJAHR. Check MSEG - MBLNR and MSEG u2013 MJAHR = MKPF - MBLNR and MKPF u2013 MJAHR
    and fetch BUDAT for that particular date and pass it those MBLNR and MJAHR to MSEG and check for movement type 201 and fetch MENGE.
    5.            Export to GRIDCO                               -                                            Pass MATNR and AUFNR to MSEG and fetch the MBLNR and MJAHR. Check MSEG - MBLNR and MSEG u2013 MJAHR = MKPF - MBLNR and MKPF u2013 MJAHR
    and fetch BUDAT for that particular date and pass it those MBLNR and MJAHR to MSEG and check for movement type 261 and check for Field SHKZG if H fetch MENGE.
    6.          Import to GRIDCO                               -                                                Pass MATNR and AUFNR to MSEG and fetch the MBLNR and MJAHR. Check MSEG - MBLNR and MSEG u2013 MJAHR = MKPF - MBLNR and MKPF u2013 MJAHR
    and fetch BUDAT for that particular date and pass it those MBLNR and MJAHR to MSEG and check for movement type 101 and check for Field EBELN and fetch the MENGE.
    7.        Smelter Consumption                                -                                            Pass MATNR and AUFNR to MSEG and fetch the MBLNR and MJAHR. Check MSEG - MBLNR and MSEG u2013 MJAHR = MKPF - MBLNR and MKPF u2013 MJAHR
    and fetch BUDAT for that particular date and pass it those MBLNR and MJAHR to MSEG and check for movement type 201 and check for Field WERKS 1400 and display  MENGE.
    8.       Net Export / Import (MW)                                   -                                      Difference between Export to GRIDCO and Import to GRIDCO
    Based on these information ,can please anyone advice to me, is there any standard extractors ,cubes and ods for make this report.
    Thanks,
    Suresh.

  • How to maintain gap between table and graph in a report

    HI,
    I have a report in which a graph is placed below a table  and data in the table gets increased with time , then how to maintain the gap as constant between table and the graph ?? Like i have 50 rows in a table and then next day 10 rows are added but then i want maintain same gap between the table and graph???

    >Right click on chart.
    >Open the property and go to the relative position.
    >Select the distance of the upper left point of the chart in relation to another report element by entering - the number of pixels; the part of the tavfrom which youble want to measure the pixels (in the first drop-down list); the report element from which you want to measure the pixels (in the second drop-down list).
    >Repeat this for the distance of the lower left point of the chart.
    Hope this will help you out.

  • Automating Generation of reports and mailing it.

    Hi,
    How do I automate generation of reports and mail it through the Oracle Server. The messaging system being implemented out here is Lotus Domino Server 4.6
    Regards,
    Alka Mishra.

    Can you tell me more how to create store procedure UTL_HTTP or give me example and why I need to create a DB table with a DB trigger and give example too.
    can I send to Internet email (if I have email address) or Unix mail only?
    Thank you very much
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by The Oracle Reports team:
    Assuming you are using Developer 1.6.1 or later and version 7.3 or later of Oracle database
    1. set up the Reports server for web reporting (see whitepaper on configuring reports server available on otn for more info, and of course the doc).
    2. Write a set of stored procedures that use UTL_HTTP to send an HTTP request to the Reports server. You can specify all the parameters to run a report on the URL (incl. running and mailling a report).
    3. Create a DB table with a DB trigger that call the pacakged procedure you just wrote. Now every time a row is inserted (for example) into the table, a report can be run and the output mailed.
    This will be made much easier/simpler in Reports 7 - but that is a way off.
    Regards
    The Oracle Reports Team http://technet.oracle.com <HR></BLOCKQUOTE>
    null

  • Lexical References for reports 9i (graph and colors)

    hi,
    1) i want to use lexical parameters for graph and colors
    like font,background,foreground,text and so on....
    for graph :
    width,height,x-axis,y-axis and so on....
    my reports are saved in .jsp .
    it is possible or not .if possible please help me.
    it's very urgent.
    2) I have created a report with graph at the beginning of the first page
    I got result with graph and corresponding data in tabular format and saved in .jsp file.
    Graph is shown at the beginning of the report as I desired followed by
    data.(i.e. First Page).
    From next page I am not able to get the data
    from the top of the page instead a gap with the size of the graph is available
    which is blank.
    I need to produce graph only on the first page and the other pages with just the
    data without a gap reserved for graph.
    with regard's
    vijay

    1) Yes, you can use lexical references in the generated graph XML (I presume that you're talking about 9i). However, this functionality is only available in patch 1 and above (patch 2 is now available, and can be downloaded from Metalink).
    2) Create a frame around the graph (and make sure that the graph is contained by the frame, i.e., move it forwards). Make the frame vertically variable.
    Hope this helps,
    Danny

  • Generate reports and sub-reports based on JTable Swing.

    Hello everybody...
    Anyone know like to generate report and subreport dinamicaly using the tool jasper?
    The report will be based on a JTable Swing.
    Java Swing.

    As far as your target platform is supported by Crystal Reports, use it via free API at http://www.must.de/Jareport.htm

  • Am unable to insert table and graphs into word document in labwindow/CVI? can any one help me ?

    Am unable to insert table and graphs into word document in labwindow/CVI? can any one help me ?

    Are you using the Word Report Generation instrument? You can find it in toolslib\activex\word\wordreport.fp under the CVI directory.
    The instrument comes with a sample project that shows how to include table and graphs in a Word document: see samples\activex\word\wordrpt.cws in the samples foder of your CVI installation.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • How to develp a subreport in the same page of the main report and processed when is called

    SSRS 2012
    Hi guys,
    I am developing a report that includes a subreport.
    therefore The report is made up by 2 sections:
    1) Show a grid (several rows - may be 100 or more - and some columns). It represent high level info  (Each row represent a specific item)
    2) The user click on a Row/column (eg: Item1, to see details that must be shown as graph.
    Here the problem: Searching info about SSRS reporting for subreports, drilldown, nested report and so on, no ones accomplish the requirements for the following reasons:
    1) Subreports: NOT open in the same page. The user must <go back> to see detail for other items, such as Item 2....
    2) Nested and DrillDown: Process data as the Main report (they are hidden and displayed after user action). In my case this leads to performance problem, because: if the main report has 200 objects (it means 200 graphs processed and hidden at the same time
    for the main reports).
    3) DrillThrough and Subreport: The detail data are processed only when the user select the interested item in the main report. Here the problem: the report is shown externally.
    Please, it there any possibility to have a subreport (or anything else) to be executed in the same report as the main report and processed only when the user make action?
    Thanks for your help.

    Hi Fasttrack2,
    According to your description, there is a main report with more than 100 rows of summary information, when users click the item of the row, the report need to jump to detail information shows as graph. The problem you are facing is that you are not sure
    subreport, drilldown or drillthrough report should be used? You hope to set display detail information in the main report and keep high performance of report.
    In Reporting Services, each subreport instance is a separate query execution and a separate report processing task. Subreports are recommended when there are just a few subreport instances. We should not use subreports inside a group when there are many
    group instances, instead, consider using drillthrough reports. Drilldown reports process all data even when the data is first hidden. In order to improve the performance of the report, we can split drilldown reports into parameterized drillthrough reports,
    because Drillthrough reports do not run until a user clicks the drillthrough link in the main report.
    In this case, we can consider using drilldown or drillthrough report. In drilldown report, when we click a plus or minus button to expand or collapse a section of a report, the detail data will be displayed in place. By using drillthrough report, when we
    click the link in the main report, the detail data will be displayed, we can come back to the main report by click return button in the drillthrough report.
    Reference:
    Troubleshooting Reports: Report Performance
    Drillthrough, Drilldown, Subreports, and Nested Data Regions
    If you have any more questions, please feel free to ask.
    Best Regards,
    Wendy Fu
    If you have any feedback on our support, please click
    here.

  • SharePoint Foundation 2013 - report / chart / Graph for Employee vacation.

    In SharePoint Foundation 2013 I want to create a report / chart / Graph for Employee (Employee Id,Employee Name & Department) which will show month wise from which date to which date Employee are on vacation in particular department.
    I'm thinking to create one List where where user will enter there vacation details and from that list report I will create chart / Graph Department wise to check the Employees availability.
    Please provide some good example or idea in detail for this.

    Hi,
    Chart Web Parts are useful for visually representing data in line charts, bar charts, and other views. Charts enable you and other users to view performance information at a glance.
    In SharePoint 2013, chart web part is one of the discontinued features. We usually use Excel Service to replace it, however, Excel Service is only available in Enterprise edition, so we need to figure out coding methods or third party tool if you are using
    Foundation edition.
    Here are some links for workaround in your situation, please check if they can be help:
    http://sivarajan.me/post/SharePoint-2013-Chart-WebPart-Using-HTML-5-RGraph-with-WCF-REST-Services
    http://charts4sharepoint.codeplex.com/
    Regards,
    Rebecca Tu
    TechNet Community Support

  • Report Engine crashing on Solaris when report with graph is given.

    Hi,
    We are using following environment:
    Solaris 8
    Oracle 9i Report Sevices.
    When we try to execute reports having graphs then the report engine crashes with the following exception:
    REP-0177: Error while running in remote server
    REP-56048: Engine rwEng-0 crashed
    The complete crash log is also appendend in the end of this mail.
    When I remove the graph from the rdf then reports get exectued fine without any crash. The same rdg with graph works fine on windows NT.
    If somebody can help on this, it will be great.
    Thanks,
    Ashish
    The complete crash log is as follows:
    An unexpected exception has been detected in native code outside the VM.
    Unexpected Signal : 11 occurred at PC=0xf017b350
    Function name=_Xm21FreeHashTable
    Library=/usr/lib/libXm.so.4
    Current Java thread:
         at sun.awt.motif.MWindowPeer.create(Native Method)
         at sun.awt.motif.MComponentPeer.init(MComponentPeer.java:169)
         at sun.awt.motif.MWindowPeer.init(MWindowPeer.java:86)
         at sun.awt.motif.MFramePeer.<init>(MFramePeer.java:53)
         at sun.awt.motif.MToolkit.createFrame(MToolkit.java:138)
         at java.awt.Frame.addNotify(Frame.java:353)
         at java.awt.Window.pack(Window.java:369)
         at tdg.Perspective.<init>(Perspective.java:478)
         at oracle.dss.graph.PFJ.<init>(PFJ.java:47)
         at oracle.dss.graph.Graph.createPFJ(Graph.java:1190)
         at oracle.dss.graph.Graph._setupGraphView(Graph.java:353)
         at oracle.dss.graph.Graph.<init>(Graph.java:164)
         at oracle.reports.chart.Chart.<init>(Chart.java:51)
         at oracle.reports.chart.ChartRunner.<init>(ChartRunner.java:46)
         at oracle.reports.engine.EngineImpl.CRunReport(Native Method)
         at oracle.reports.engine.EngineImpl.run(EngineImpl.java:289)
         at oracle.reports.engine.EngineClassPOATie.run(EngineClassPOATie.java:84)
         at oracle.reports.engine.EngineClassPOA._invoke(EngineClassPOA.java:117)
         at oracle.reports.engine.EngineClassPOA._invoke(EngineClassPOA.java:62)
         at com.inprise.vbroker.poa.POAImpl.invoke(POAImpl.java:2355)
         at com.inprise.vbroker.poa.ActivationRecord.invoke(ActivationRecord.java:104)
         at com.inprise.vbroker.GIOP.GiopProtocolAdapter.doRequest(GiopProtocolAdapter.java:492)
         at com.inprise.vbroker.IIOP.ServerProtocolAdapter.doRequest(ServerProtocolAdapter.java:64)
         at com.inprise.vbroker.GIOP.GiopProtocolAdapter.dispatchMessage(GiopProtocolAdapter.java:653)
         at com.inprise.vbroker.orb.TPDispatcherImpl$TPDispatcher.run(TPDispatcherImpl.java:99)
         at com.inprise.vbroker.orb.ThreadPool$PoolWorker.run(ThreadPool.java:76)
    Dynamic libraries:
    0x10000      /users/orarep9i/OraHome1/jdk/jre/bin/../bin/sparc/native_threads/java
    0xff350000      /usr/lib/libthread.so.1
    0xff390000      /usr/lib/libdl.so.1
    0xff200000      /usr/lib/libc.so.1
    0xff330000      /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
    0xfe480000      /users/orarep9i/OraHome1/jdk/jre/lib/sparc/client/libjvm.so
    0xff2d0000      /usr/lib/libCrun.so.1
    0xff1d0000      /usr/lib/libsocket.so.1
    0xff100000      /usr/lib/libnsl.so.1
    0xff0d0000      /usr/lib/libm.so.1
    0xff310000      /usr/lib/libw.so.1
    0xff0b0000      /usr/lib/libmp.so.2
    0xff080000      /users/orarep9i/OraHome1/jdk/jre/lib/sparc/native_threads/libhpi.so
    0xff040000      /users/orarep9i/OraHome1/jdk/jre/lib/sparc/libverify.so
    0xfe440000      /users/orarep9i/OraHome1/jdk/jre/lib/sparc/libjava.so
    0xfe410000      /users/orarep9i/OraHome1/jdk/jre/lib/sparc/libzip.so
    0xf3be0000      /users/orarep9i/OraHome1/jdk/jre/lib/sparc/libnet.so
    0xf3bc0000      /users/orarep9i/OraHome1/jdk/jre/lib/sparc/libioser12.so
    0xf39e0000      /usr/lib/nss_nis.so.1
    0xf2000000      /users/orarep9i/OraHome1/lib/librw90.so
    0xf1d00000      /users/orarep9i/OraHome1/lib/libobx90.so.0
    0xf36b0000      /users/orarep9i/OraHome1/lib/librws90.so.0
    0xf2a80000      /users/orarep9i/OraHome1/lib/libde90.so.0
    0xf2fc0000      /users/orarep9i/OraHome1/lib/libucol90.so.0
    0xf39b0000      /users/orarep9i/OraHome1/lib/libuicc90.so.0
    0xf2ea0000      /users/orarep9i/OraHome1/lib/libca90.so.0
    0xf35e0000      /users/orarep9i/OraHome1/lib/libmma90.so.0
    0xf2dc0000      /users/orarep9i/OraHome1/lib/libmmiw90.so.0
    0xf3860000      /users/orarep9i/OraHome1/lib/libmmov90.so.0
    0xf2f90000      /users/orarep9i/OraHome1/lib/libmmos90.so.0
    0xf2cc0000      /users/orarep9i/OraHome1/lib/libmmoi90.so.0
    0xf32e0000      /users/orarep9i/OraHome1/lib/libmmia90.so.0
    0xf2da0000      /users/orarep9i/OraHome1/lib/libmmft90.so.0
    0xf1fc0000      /users/orarep9i/OraHome1/lib/libmmcm90.so.0
    0xf1c00000      /users/orarep9i/OraHome1/lib/libvgs90.so.0
    0xf2ca0000      /users/orarep9i/OraHome1/lib/libuihx90.so.0
    0xf1b90000      /users/orarep9i/OraHome1/lib/libuc90.so.0
    0xf1b20000      /users/orarep9i/OraHome1/lib/libuipr90.so.0
    0xf1900000      /users/orarep9i/OraHome1/lib/libuimotif90.so.0
    0xf1ae0000      /users/orarep9i/OraHome1/lib/libot90.so.0
    0xf18a0000      /users/orarep9i/OraHome1/lib/librem90.so.0
    0xf1820000      /users/orarep9i/OraHome1/lib/libree90.so.0
    0xf1fa0000      /users/orarep9i/OraHome1/lib/librec90.so.0
    0xf17f0000      /users/orarep9i/OraHome1/lib/libuiimg90.so.0
    0xf17b0000      /users/orarep9i/OraHome1/lib/libuia90.so.0
    0xf2a60000      /users/orarep9i/OraHome1/lib/libtknqap90.so.0
    0xf1780000      /users/orarep9i/OraHome1/lib/libutt90.so.0
    0xf1750000      /users/orarep9i/OraHome1/lib/librod90.so.0
    0xf1720000      /users/orarep9i/OraHome1/lib/libror90.so.0
    0xf16f0000      /users/orarep9i/OraHome1/lib/libros90.so.0
    0xf16c0000      /users/orarep9i/OraHome1/lib/libuat90.so.0
    0xf16a0000      /users/orarep9i/OraHome1/lib/libdfc90.so.0
    0xf1680000      /users/orarep9i/OraHome1/lib/libutc90.so.0
    0xf1660000      /users/orarep9i/OraHome1/lib/libutj90.so.0
    0xf1630000      /users/orarep9i/OraHome1/lib/libutl90.so.0
    0xf1610000      /users/orarep9i/OraHome1/lib/libsl90.so.0
    0xf0c00000      /users/orarep9i/OraHome1/lib/libclntsh.so.9.0
    0xf15f0000      /users/orarep9i/OraHome1/lib/libwtc9.so
    0xf15d0000      /usr/lib/libsched.so.1
    0xf15b0000      /usr/lib/libaio.so.1
    0xf0a00000      /usr/lib/libXm.so.3
    0xf1540000      /usr/lib/libXt.so.4
    0xf0900000      /usr/lib/libX11.so.4
    0xf1520000      /usr/lib/libgen.so.1
    0xf1500000      /usr/lib/librt.so.1
    0xf14e0000      /usr/lib/libSM.so.6
    0xf14b0000      /usr/lib/libICE.so.6
    0xf1480000      /usr/lib/libXext.so.0
    0xf0bd0000      /usr/openwin/lib/libdga.so.1
    0xf0bb0000      /users/orarep9i/OraHome1/jdk/jre/lib/sparc/libawt.so
    0xf0280000      /users/orarep9i/OraHome1/jdk/jre/lib/sparc/motif21/libmawt.so
    0xf09b0000      /users/orarep9i/OraHome1/jdk/jre/bin/../lib/sparc/libmlib_image.so
    0xf0000000      /usr/lib/libXm.so.4
    0xf08e0000      /usr/openwin/lib/libXtst.so.1
    0xeff00000      /users/orarep9i/OraHome1/jdk/jre/lib/sparc/libfontmanager.so
    0xf07a0000      /usr/openwin/lib/libdps.so.5
    Local Time = Fri Apr 18 09:22:09 2003
    Elapsed Time = 110
    # The exception above was detected in native code outside the VM
    # Java VM: Java HotSpot(TM) Client VM (1.3.1_02-b02 mixed mode)

    Please try the following
    * Modify $ORACLE_HOME/bin/reports.sh, replace "classic"
    with "server" in the LD_LIBRARY_PATH for the JVM
    * Modify $ORACLE_HOME/bin/rwengine.sh, just before the exec
    command, insert the following line:
    export LD_PRELOAD=$ORACLE_HOME/jdk/jre/lib/i386/libawt.so
    In Linux there was a similar problem and the above workaround worked . You can give this a try .
    Thanks
    The Oracle Reports Team

  • NFR 2.5 - no autogenerated reports, fails on generation

    Hello,
    we have NFR 2.5 installation with mutiple bindings to Windows and OES servers. The scans works well and we received information inside the databases (PG 9.2). I created some reports which will be work in the preview mode. The next step to schedule the reports fails. There are no reports inside the "stored reports" section. I reconfigure the log level to debug and see an error inside the report generation "Report generation completed with errors or warnings for report SERVER_FS_filextension: System.NullReferenceException: Object reference not set to an instance of an object. at SRSReportGenerator.SRSReportGenerator.ReportThread (Object obj)".
    Which are the next steps to fix this issue? Is there an other way to analyse the problem? I get the same error level for all reports on the system. I try also to delete these reports and recreate a new one.
    Here you found a trace from the report generation:
    01 2015-01-27 15:38:00 3600 5 800c 2848 3000 Sched, ST: Removed task AgentManagerService Scheduled Task 3 from schedule queue.
    01 2015-01-27 15:38:00 3600 8 8010 2848 4588 SQL: SQL Processing SQL stored procedure: 'srs.add_scan_active_task_entry', Param 0 (): '<?xml version="1.0" encoding="UTF-8"?><ScanScheduleSetupTask><TaskType>2</TaskType><ScanType>2</ScanType><ScheduleID>283</ScheduleID><PolicyID>17</PolicyID></ScanScheduleSetupTask>', Param 1 (): '0'
    01 2015-01-27 15:38:00 3600 5 800c 2848 4588 Sched, RT: ScanSchedulerService Scheduled Task 283 executed, Result = 0.
    01 2015-01-27 15:38:00 3600 5 800c 2848 4588 Sched, RT: This is the last execution for ScanSchedulerService Scheduled Task 283.
    01 2015-01-27 15:38:00 3600 5 0005 2848 748 SSC: Starting initial setup for report definition 17, schedule 283, type: 2...
    01 2015-01-27 15:38:00 3600 5 0005 2848 748 SSC: Dispatching scheduled report, schedule 283, report definition id 17...
    01 2015-01-27 15:38:00 3600 8 8010 2848 748 SQL: SQL Processing SQL query: 'SELECT * FROM srs.report_definitions WHERE id=?', Param 0 (): 17
    01 2015-01-27 15:38:00 3600 8 8010 2848 748 SQL: SQL Processing SQL stored procedure: 'srs.add_report_in_progress_entry', Param 0 (): '17', Param 1 (): '1', Param 2 (): '0'
    01 2015-01-27 15:38:00 3600 8 8010 2848 748 SQL: SQL Processing SQL stored procedure: 'srs.add_scan_active_task_entry', Param 0 (): '<?xml version="1.0" encoding="UTF-8"?><ReportExecutionTask><ReportDefinitionID>17 </ReportDefinitionID><InProgressReportID>40</InProgressReportID><PriorityLevel>3604529</PriorityLevel></ReportExecutionTask>', Param 1 (): '6'
    01 2015-01-27 15:38:00 3600 8 8010 2848 748 SQL: SQL Processing SQL query: 'DELETE FROM srs.scan_active_tasks WHERE id=?', Param 0 (): 592
    01 2015-01-27 15:38:00 3600 5 0005 2848 2252 SSC: Report Worker executing report for definition ID 17, priority 3604529...
    01 2015-01-27 15:38:00 3600 8 8010 2848 2252 SQL: SQL Processing SQL query: 'SELECT * FROM srs.report_definitions WHERE id=?', Param 0 (): 17
    01 2015-01-27 15:38:00 3600 8 8010 2848 2252 SQL: SQL Processing SQL query: 'SELECT nt.* FROM srs.notification_targets AS nt JOIN srs.report_notification_targets AS rnt ON nt.id = rnt.notification_target_id WHERE rnt.report_definition_id=?', Param 0 (): 17
    01 2015-01-27 15:38:00 3600 8 8010 2848 4252 SQL: SQL Processing SQL query: 'DELETE FROM srs.scan_active_tasks WHERE id=?', Param 0 (): 593
    01 2015-01-27 15:38:00 3600 8 8010 2848 4252 SQL: SQL Processing SQL stored procedure: 'srs.add_notification_entry', Param 0 (notification_timet): '1422369480', Param 1 (target): '', Param 2 (type): '1', Param 3 (severity): '1', Param 4 (status_code): '-1', Param 5 (destination_type): '2', Param 6 (subject): 'Report generation failure', Param 7 (message): 'An error was encountered while attempting to generate the report SERVER_FS_filextension: System.NullReferenceException: Object reference not set to an instance of an object. at SRSReportGenerator.SRSReportGenerator.ReportThread (Object obj).'
    01 2015-01-27 15:38:00 3600 8 8010 2848 4252 SQL: SQL Processing SQL query: 'SELECT report_name FROM srs.report_definitions WHERE id=?', Param 0 (): 17
    01 2015-01-27 15:38:00 3600 3 0005 2848 4252 SSC: Report generation completed with errors or warnings for report SERVER_FS_filextension: System.NullReferenceException: Object reference not set to an instance of an object. at SRSReportGenerator.SRSReportGenerator.ReportThread (Object obj)
    01 2015-01-27 15:38:00 3600 5 0005 2848 2252 SSC: Report Worker executed report for definition ID 17, priority 3604529, result: 0.
    Thanks for support and help for this issue
    Michael

    On 1/30/2015 6:16 AM, michaelkuerschner wrote:
    >
    > Hello,
    >
    > we have NFR 2.5 installation with mutiple bindings to Windows and OES
    > servers. The scans works well and we received information inside the
    > databases (PG 9.2). I created some reports which will be work in the
    > preview mode. The next step to schedule the reports fails. There are no
    > reports inside the "stored reports" section. I reconfigure the log level
    > to debug and see an error inside the report generation "Report
    > generation completed with errors or warnings for report
    > SERVER_FS_filextension: System.NullReferenceException: Object reference
    > not set to an instance of an object. at
    > SRSReportGenerator.SRSReportGenerator.ReportThread (Object obj)".
    >
    > Which are the next steps to fix this issue? Is there an other way to
    > analyse the problem? I get the same error level for all reports on the
    > system. I try also to delete these reports and recreate a new one.
    >
    > Here you found a trace from the report generation:
    > -------------------
    > 01 2015-01-27 15:38:00 3600 5 800c 2848 3000 Sched, ST: Removed task
    > AgentManagerService Scheduled Task 3 from schedule queue.
    > 01 2015-01-27 15:38:00 3600 8 8010 2848 4588 SQL: SQL Processing SQL
    > stored procedure: 'srs.add_scan_active_task_entry', Param 0 (): '<?xml
    > version="1.0"
    > encoding="UTF-8"?><ScanScheduleSetupTask><TaskType>2</TaskType><ScanType>2</ScanType><ScheduleID>283</ScheduleID><PolicyID>17</PolicyID></ScanScheduleSetupTask>',
    > Param 1 (): '0'
    > 01 2015-01-27 15:38:00 3600 5 800c 2848 4588 Sched, RT:
    > ScanSchedulerService Scheduled Task 283 executed, Result = 0.
    > 01 2015-01-27 15:38:00 3600 5 800c 2848 4588 Sched, RT: This is the last
    > execution for ScanSchedulerService Scheduled Task 283.
    > 01 2015-01-27 15:38:00 3600 5 0005 2848 748 SSC: Starting initial setup
    > for report definition 17, schedule 283, type: 2...
    > 01 2015-01-27 15:38:00 3600 5 0005 2848 748 SSC: Dispatching scheduled
    > report, schedule 283, report definition id 17...
    > 01 2015-01-27 15:38:00 3600 8 8010 2848 748 SQL: SQL Processing SQL
    > query: 'SELECT * FROM srs.report_definitions WHERE id=?', Param 0 ():
    > 17
    > 01 2015-01-27 15:38:00 3600 8 8010 2848 748 SQL: SQL Processing SQL
    > stored procedure: 'srs.add_report_in_progress_entry', Param 0 (): '17',
    > Param 1 (): '1', Param 2 (): '0'
    > 01 2015-01-27 15:38:00 3600 8 8010 2848 748 SQL: SQL Processing SQL
    > stored procedure: 'srs.add_scan_active_task_entry', Param 0 (): '<?xml
    > version="1.0"
    > encoding="UTF-8"?><ReportExecutionTask><ReportDefinitionID>17 </ReportDefinitionID><InProgressReportID>40</InProgressReportID><PriorityLevel>3604529</PriorityLevel></ReportExecutionTask>',
    > Param 1 (): '6'
    > 01 2015-01-27 15:38:00 3600 8 8010 2848 748 SQL: SQL Processing SQL
    > query: 'DELETE FROM srs.scan_active_tasks WHERE id=?', Param 0 (): 592
    > 01 2015-01-27 15:38:00 3600 5 0005 2848 2252 SSC: Report Worker
    > executing report for definition ID 17, priority 3604529...
    > 01 2015-01-27 15:38:00 3600 8 8010 2848 2252 SQL: SQL Processing SQL
    > query: 'SELECT * FROM srs.report_definitions WHERE id=?', Param 0 ():
    > 17
    > 01 2015-01-27 15:38:00 3600 8 8010 2848 2252 SQL: SQL Processing SQL
    > query: 'SELECT nt.* FROM srs.notification_targets AS nt JOIN
    > srs.report_notification_targets AS rnt ON nt.id =
    > rnt.notification_target_id WHERE rnt.report_definition_id=?', Param 0
    > (): 17
    > 01 2015-01-27 15:38:00 3600 8 8010 2848 4252 SQL: SQL Processing SQL
    > query: 'DELETE FROM srs.scan_active_tasks WHERE id=?', Param 0 (): 593
    > 01 2015-01-27 15:38:00 3600 8 8010 2848 4252 SQL: SQL Processing SQL
    > stored procedure: 'srs.add_notification_entry', Param 0
    > (notification_timet): '1422369480', Param 1 (target): '', Param 2
    > (type): '1', Param 3 (severity): '1', Param 4 (status_code): '-1',
    > Param 5 (destination_type): '2', Param 6 (subject): 'Report generation
    > failure', Param 7 (message): 'An error was encountered while attempting
    > to generate the report SERVER_FS_filextension:
    > System.NullReferenceException: Object reference not set to an instance
    > of an object. at
    > SRSReportGenerator.SRSReportGenerator.ReportThread (Object obj).'
    > 01 2015-01-27 15:38:00 3600 8 8010 2848 4252 SQL: SQL Processing SQL
    > query: 'SELECT report_name FROM srs.report_definitions WHERE id=?',
    > Param 0 (): 17
    > 01 2015-01-27 15:38:00 3600 3 0005 2848 4252 SSC: Report generation
    > completed with errors or warnings for report SERVER_FS_filextension:
    > System.NullReferenceException: Object reference not set to an instance
    > of an object. at
    > SRSReportGenerator.SRSReportGenerator.ReportThread (Object obj)
    > 01 2015-01-27 15:38:00 3600 5 0005 2848 2252 SSC: Report Worker
    > executed report for definition ID 17, priority 3604529, result: 0.
    > -------------------
    >
    > Thanks for support and help for this issue
    > Michael
    >
    >
    Michael,
    Would you mind sending an email to [email protected]? We'd like to
    troubleshoot this with you directly. Thank you.
    -- NFMS Support Team

  • Hi, I want to know that standard tables for vendor analasys report and sale

    Hi, I want to know that standard reports for vendor analasys report and sale order and customer order report...? why most probably we use tables and fetch the fields rather than standard reports >

    Hi
    This is the sample report for vendor aging:
    Std reports Tcodes are:
    customer : s_alr_87012178
    vendor : s_alr_87012084
    Custom designed:
    REPORT zfi_customer_ageing
    NO STANDARD PAGE HEADING
    LINE-COUNT 58
    line-size 168
    MESSAGE-ID zh_msg.
    D A T A B A S E T A B L E S D E C L A R A T I O N
    TABLES: kna1, " Customer Master (General)
    t001, " Company Codes
    rfpdo.
    I N T E R N A L T A B L E S D E C L A R A T I O N S *
    Internal Table for Customer Open Items Data
    DATA: BEGIN OF int_bsid OCCURS 0,
    kunnr LIKE bsid-kunnr, " Customer Number
    name1 LIKE kna1-name1, " Customer Name
    shkzg LIKE bsid-shkzg, " Dr/Cr Indicator
    belnr LIKE bsid-belnr, " Document Number
    xblnr LIKE bsid-xblnr, " Ref Doc No
    blart LIKE bsid-blart, " Document Type
    zfbdt LIKE bsid-zfbdt, " Base Line Date
    zbd1t LIKE bsid-zbd1t, " Due date1
    zbd2t LIKE bsid-zbd2t, " Due Date2
    zbd3t LIKE bsid-zbd3t, " Due Date3
    waers LIKE bsid-waers, " Currency
    dmbtr LIKE bsid-dmbtr, " Amount in Local Curr
    END OF int_bsid.
    Internal Table for Amounts Sum Up Data
    DATA: BEGIN OF int_final OCCURS 0,
    kunnr LIKE bsid-kunnr, " Customer Number
    name1 LIKE kna1-name1, " Customer Name
    total1 LIKE bsid-dmbtr, " Amount in Local Curr
    total2 LIKE bsid-dmbtr, " Amount in Local Curr
    total3 LIKE bsid-dmbtr, " Amount in Local Curr
    total4 LIKE bsid-dmbtr, " Amount in Local Curr
    total5 LIKE bsid-dmbtr, " Amount in Local Curr
    total6 LIKE bsid-dmbtr, " Amount in Local Curr
    total LIKE bsid-dmbtr, " Amount in Local Curr
    END OF int_final.
    D A T A D E C L A R A T I O N S
    DATA : v_flag, " Flag
    v_gtotal1 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal2 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal3 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal4 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal5 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal6 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal LIKE bsid-dmbtr, " Amount Totals
    v_subtotal1 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal2 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal3 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal4 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal5 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal6 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal LIKE bsid-dmbtr, " Amount Totals
    v_date LIKE bsid-zfbdt, " Due Date
    v_tage1(4), " Age 30 days
    v_tage2(4), " Age 60 days
    v_tage3(4), " Age 90 days
    v_fir(15), " Column Text1
    v_sec(15), " Column Text2
    v_thir(15), " Column Text3
    v_four(17), " Column Text4
    v_fidd(4), " Days field1
    v_sedd(4), " Days field2
    v_thdd(4), " Days field3
    v_fodd(4), " Days field4
    v_str TYPE SY-LISEL, " String
    v_str1(11), " String
    v_tage(3), " String
    v_date1(10). " Date field
    R A N G E D E C L A R A T I O N S
    RANGES: r_date1 FOR bsid-zfbdt, " Date Range 1
    r_date2 FOR bsid-zfbdt, " Date Range 2
    r_date3 FOR bsid-zfbdt, " Date Range 3
    r_date4 FOR bsid-zfbdt. " Date Range 4
    S E L E C T I O N S C R E E N *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_kunnr FOR kna1-kunnr. "Customer account
    PARAMETERS: p_bukrs LIKE t001-bukrs. "Co. Code
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS: p_allgst LIKE rfpdo-allgstid OBLIGATORY DEFAULT sy-datum.
    "Open items at key date
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    PARAMETERS: p_tage1 LIKE rfpdo1-allgfael DEFAULT '30',
    p_tage2 LIKE rfpdo1-allgfael DEFAULT '60',
    p_tage3 LIKE rfpdo1-allgfael DEFAULT '90',
    p_tage4 LIKE rfpdo1-allgfael DEFAULT '120'.
    SELECTION-SCREEN END OF BLOCK b3.
    A T S E L E C T I O N S C R E E N *
    AT SELECTION-SCREEN.
    Validate the screen fields
    PERFORM validate_flds.
    S T A R T O F S E L E C T I O N *
    START-OF-SELECTION.
    Fetch main data
    PERFORM fetch_data.
    T O P O F P A G E
    Header
    TOP-OF-PAGE.
    PERFORM header.
    E N D O F P A G E
    Footer
    END-OF-PAGE.
    ULINE.
    T O P O F P A G E D U R I N G L I N E S E L E C T I O N *
    Top of Page in Secondary List
    TOP-OF-PAGE DURING LINE-SELECTION.
    PERFORM header1.
    A T L I N E S E L E C T I O N *
    AT LINE-SELECTION.
    Perform Line Selections
    PERFORM line_selection.
    E N D O F S E L E C T I O N
    END-OF-SELECTION.
    List generation
    PERFORM basic_list.
    *& Form validate_flds
    Validation of Selection Screen fields
    FORM validate_flds .
    Validate Customer Code
    CLEAR kna1-kunnr.
    SELECT kunnr UP TO 1 ROWS
    INTO kna1-kunnr
    FROM kna1
    WHERE kunnr IN s_kunnr AND
    spras = sy-langu.
    ENDSELECT.
    IF sy-subrc <> 0.
    MESSAGE e000 WITH 'Invalid Customer Code range'(023).
    ENDIF.
    Validate Company Code
    CLEAR t001-bukrs.
    SELECT bukrs UP TO 1 ROWS
    INTO t001-bukrs
    FROM t001
    WHERE bukrs = p_bukrs AND
    spras = sy-langu.
    ENDSELECT.
    IF sy-subrc <> 0.
    MESSAGE e021. " Invalid Company Code range
    ENDIF.
    IF ( p_tage1 > p_tage2 ) OR ( p_tage1 > p_tage3 ) OR
    ( p_tage1 > p_tage4 ).
    MESSAGE e999 WITH 'Column 1 greater'(004)
    'than Column# 2 or 3 or 4'(005).
    ENDIF.
    *column 2
    IF ( p_tage2 > p_tage3 ) OR ( p_tage1 > p_tage4 ).
    MESSAGE e999 WITH 'Column 2 greater'(006)
    'than Column# 3 or 4'(007).
    ENDIF.
    *column3
    IF ( p_tage3 > p_tage4 ).
    MESSAGE e999 WITH 'Column 3 greater'(008)
    'than Column#4'(009).
    ENDIF.
    ENDFORM. " validate_flds
    *& Form fetch_data
    Fetching Data from Database Tables
    FORM fetch_data .
    Date Range Population
    r_date1-sign = 'I'.
    r_date1-option = 'BT'.
    r_date1-low = p_allgst.
    r_date1-high = r_date1-low + p_tage1.
    APPEND r_date1.
    r_date2-sign = 'I'.
    r_date2-option = 'BT'.
    r_date2-low = r_date1-high + 1.
    r_date2-high = r_date1-low + p_tage2.
    APPEND r_date2.
    r_date3-sign = 'I'.
    r_date3-option = 'BT'.
    r_date3-low = r_date2-high + 1.
    r_date3-high = r_date1-low + p_tage3.
    APPEND r_date3.
    r_date4-sign = 'I'.
    r_date4-option = 'BT'.
    r_date4-low = r_date3-high + 1.
    r_date4-high = r_date1-low + p_tage4.
    APPEND r_date4.
    Select the Customer Open Items data from bsid
    SELECT l~kunnr
    l1~name1
    b~waers
    b~dmbtr
    b~zfbdt
    b~zbd1t
    b~zbd2t
    b~zbd3t
    b~belnr
    b~xblnr
    b~shkzg
    b~blart
    INTO CORRESPONDING FIELDS OF TABLE int_bsid
    FROM knb1 AS l INNER JOIN kna1 AS l1
    ON lkunnr = l1kunnr
    INNER JOIN bsid AS b
    ON lkunnr = bkunnr AND
    lbukrs = bbukrs
    WHERE l~kunnr IN s_kunnr AND
    l~bukrs = p_bukrs and
    b~zfbdt le p_allgst.
    IF SY-SUBRC <> 0.
    MESSAGE i000 WITH 'No Data found'(027).
    ENDIF.
    Removing the date limit to get the due items in the past
    DELETE int_bsid WHERE
    ( blart NE 'RE' AND blart NE 'KR' ) OR
    shkzg NE 'H'.
    SORT int_bsid BY kunnr.
    ENDFORM. " fetch_data
    *& Form header
    Display the Report Columns
    FORM header .
    v_tage1 = p_tage1 + 1.
    v_tage2 = p_tage2 + 1.
    v_tage3 = p_tage3 + 1.
    v_fidd = p_tage1.
    v_sedd = p_tage2.
    v_thdd = p_tage3.
    v_fodd = p_tage4.
    MOVE v_fodd0(4) TO v_fodd1(3).
    v_fodd+0(1) = space.
    CONCATENATE '1 to'(010) v_fidd INTO v_fir.
    CONCATENATE v_tage1 ' to '(011) v_sedd INTO v_sec.
    CONCATENATE v_tage2 ' to '(011) v_thdd INTO v_thir.
    CONCATENATE v_tage3 ' to '(011) space v_fodd INTO v_four.
    Standard header
    clear: v_date1, v_str, v_str1, v_tage.
    write p_allgst to v_date1.
    Move p_tage4 to v_tage.
    concatenate '>' v_tage text-025 into v_str1.
    concatenate
    'Summary of Ageing Analysis for Customer Open Invoices as on'(013)
    v_date1 into v_str separated by space.
    CALL FUNCTION 'Z_STANDARD_HEADER'
    EXPORTING
    title1 = 'Saudi International Petrochemical Company'(012)
    title2 = v_str.
    FORMAT COLOR OFF.
    WRITE : /1(168) sy-uline.
    FORMAT COLOR 1 INTENSIFIED.
    WRITE :/1 sy-vline, 13 sy-vline, 49 sy-vline,
    50(101) 'Invoices Due For(In Days)'(014) CENTERED,
    151 sy-vline, 168 sy-vline .
    WRITE :/1 sy-vline, 2(11) 'Customer#'(015) CENTERED,
    13 sy-vline ,14(35) 'Customer Name'(016) CENTERED,
    49 sy-vline,
    50(101) sy-uline,151 sy-vline,
    152(16) 'Total'(017) CENTERED,
    168 sy-vline.
    WRITE : /1 sy-vline,13 sy-vline, 49 sy-vline,
    50(16) v_fir CENTERED, 66 sy-vline,
    67(16) v_sec CENTERED, 83 sy-vline,
    84(16) v_thir CENTERED, 100 sy-vline,
    101(16) v_four CENTERED, 117 sy-vline,
    118(16) v_str1 centered, 134 sy-vline,
    135(16) 'Already Overdue'(018) CENTERED,151 sy-vline,
    168 sy-vline.
    FORMAT COLOR OFF.
    WRITE : /1(168) sy-uline.
    ENDFORM. " header
    *& Form basic_list
    Display the Basic List
    FORM basic_list .
    NEW-PAGE LINE-SIZE 168.
    LOOP AT int_bsid.
    CLEAR v_date.
    IF int_bsid-zbd3t <> ' '.
    v_date = int_bsid-zfbdt + int_bsid-zbd3t.
    ELSE.
    IF int_bsid-zbd2t <> ' '.
    v_date = int_bsid-zfbdt + int_bsid-zbd2t.
    ELSE.
    v_date = int_bsid-zfbdt + int_bsid-zbd1t.
    ENDIF.
    ENDIF.
    IF int_bsid-zbd1t = ' '.
    v_date = int_bsid-zfbdt.
    ENDIF.
    IF v_date IN r_date1.
    int_final-total1 = int_final-total1 + int_bsid-dmbtr.
    ELSEIF v_date IN r_date2.
    int_final-total2 = int_final-total2 + int_bsid-dmbtr.
    ELSEIF v_date IN r_date3.
    int_final-total3 = int_final-total3 + int_bsid-dmbtr.
    ELSEIF v_date IN r_date4.
    int_final-total4 = int_final-total4 + int_bsid-dmbtr.
    ELSEif v_date > r_date4-high.
    int_final-total5 = int_final-total5 + int_bsid-dmbtr.
    ELSEif v_date < p_allgst.
    int_final-total6 = int_final-total6 + int_bsid-dmbtr.
    ENDIF.
    AT END OF kunnr.
    v_flag = 1.
    ENDAT.
    IF v_flag = 1.
    int_final-kunnr = int_bsid-kunnr.
    int_final-name1 = int_bsid-name1.
    int_final-total = int_final-total1 + int_final-total2 +
    int_final-total3 + int_final-total4 + int_final-total5 +
    int_final-total6.
    APPEND int_final.
    v_gtotal1 = v_gtotal1 + int_final-total1.
    v_gtotal2 = v_gtotal2 + int_final-total2.
    v_gtotal3 = v_gtotal3 + int_final-total3.
    v_gtotal4 = v_gtotal4 + int_final-total4.
    v_gtotal5 = v_gtotal5 + int_final-total5.
    v_gtotal6 = v_gtotal6 + int_final-total6.
    v_gtotal = v_gtotal + int_final-total.
    WRITE: /1 sy-vline,
    2 int_final-kunnr COLOR 4 INTENSIFIED ON,
    13 sy-vline,
    14 int_final-name1 COLOR 4 INTENSIFIED ON,
    49 sy-vline.
    DATA : v_rem.
    v_rem = sy-tabix MOD 2.
    IF v_rem NE 0.
    FORMAT COLOR 2 INTENSIFIED.
    WRITE : 50 int_final-total1 CURRENCY int_bsid-waers,
    66 sy-vline,
    67 int_final-total2 CURRENCY int_bsid-waers,
    83 sy-vline,
    84 int_final-total3 CURRENCY int_bsid-waers,
    100 sy-vline,
    101 int_final-total4 CURRENCY int_bsid-waers,
    117 sy-vline,
    118 int_final-total5 CURRENCY int_bsid-waers,
    134 sy-vline,
    135 int_final-total6 CURRENCY int_bsid-waers,
    151 sy-vline,
    152 int_final-total CURRENCY int_bsid-waers,
    168 sy-vline.
    ELSE.
    WRITE : 50 int_final-total1 CURRENCY int_bsid-waers,
    66 sy-vline,
    67 int_final-total2 CURRENCY int_bsid-waers,
    83 sy-vline,
    84 int_final-total3 CURRENCY int_bsid-waers,
    100 sy-vline,
    101 int_final-total4 CURRENCY int_bsid-waers,
    117 sy-vline,
    118 int_final-total5 CURRENCY int_bsid-waers,
    134 sy-vline,
    135 int_final-total6 CURRENCY int_bsid-waers,
    151 sy-vline,
    152 int_final-total CURRENCY int_bsid-waers,
    168 sy-vline.
    ENDIF.
    FORMAT COLOR OFF.
    HIDE int_final.
    CLEAR int_final.
    v_flag = 0.
    ENDIF.
    AT LAST.
    WRITE : /1(168) sy-uline.
    FORMAT COLOR 3 INTENSIFIED.
    WRITE : /1 sy-vline, 2(47) 'GRAND TOTAL'(022) CENTERED,
    49 sy-vline, 50 v_gtotal1 CURRENCY int_bsid-waers,
    66 sy-vline, 67 v_gtotal2 CURRENCY int_bsid-waers,
    83 sy-vline, 84 v_gtotal3 CURRENCY int_bsid-waers,
    100 sy-vline,101 v_gtotal4 CURRENCY int_bsid-waers,
    117 sy-vline,118 v_gtotal5 CURRENCY int_bsid-waers,
    134 sy-vline,135 v_gtotal6 CURRENCY int_bsid-waers,
    151 sy-vline,152 v_gtotal CURRENCY int_bsid-waers,
    168 sy-vline.
    HIDE : v_gtotal1,
    v_gtotal2,
    v_gtotal3,
    v_gtotal4,
    v_gtotal5,
    v_gtotal6,
    v_gtotal.
    ENDAT.
    FORMAT COLOR OFF.
    ENDLOOP.
    WRITE : /1(168) sy-uline.
    ENDFORM. " basic_list
    *& Form line_selection
    When double clicked on the line display the seconday list
    FORM line_selection .
    NEW-PAGE LINE-SIZE 206.
    Sy-lsind = 1.
    DATA : v_rem,v_cnt LIKE sy-tabix.
    v_cnt = 0.
    SORT int_bsid BY belnr zfbdt.
    LOOP AT int_bsid WHERE kunnr EQ int_final-kunnr.
    v_rem = v_cnt MOD 2.
    CLEAR v_date.
    IF int_bsid-zbd3t <> ' '.
    v_date = int_bsid-zfbdt + int_bsid-zbd3t.
    ELSE.
    IF int_bsid-zbd2t <> ' '.
    v_date = int_bsid-zfbdt + int_bsid-zbd2t.
    ELSE.
    v_date = int_bsid-zfbdt + int_bsid-zbd1t.
    ENDIF.
    ENDIF.
    IF int_bsid-zbd1t = ' '.
    v_date = int_bsid-zfbdt.
    ENDIF.
    IF v_rem NE 0.
    format color 2 intensified.
    WRITE :/1 sy-vline, 2 int_bsid-belnr,
    12 sy-vline,13 int_bsid-kunnr,
    23 sy-vline,24 int_bsid-name1,
    59 sy-vline,60 int_bsid-xblnr,
    76 sy-vline,77 int_bsid-zfbdt,
    87 sy-vline.
    WRITE : 104 sy-vline,121 sy-vline,
    138 sy-vline,155 sy-vline,
    172 sy-vline, 189 sy-vline,
    190 int_bsid-dmbtr CURRENCY int_bsid-waers,
    206 sy-vline.
    IF v_date IN r_date1.
    v_subtotal1 = v_subtotal1 + int_bsid-dmbtr.
    WRITE : 88 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date2.
    v_subtotal2 = v_subtotal2 + int_bsid-dmbtr.
    WRITE : 105 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date3.
    v_subtotal3 = v_subtotal3 + int_bsid-dmbtr.
    WRITE : 122 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date4.
    v_subtotal4 = v_subtotal4 + int_bsid-dmbtr.
    WRITE : 139 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEif v_date > r_date4-high.
    v_subtotal5 = v_subtotal5 + int_bsid-dmbtr.
    WRITE : 156 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEif v_date < p_allgst.
    v_subtotal6 = v_subtotal6 + int_bsid-dmbtr.
    WRITE : 173 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ENDIF.
    format color off.
    ELSE.
    WRITE :/1 sy-vline, 2 int_bsid-belnr,
    12 sy-vline,13 int_bsid-kunnr,
    23 sy-vline,24 int_bsid-name1,
    59 sy-vline,60 int_bsid-xblnr,
    76 sy-vline,77 int_bsid-zfbdt,
    87 sy-vline.
    WRITE : 104 sy-vline,121 sy-vline,
    138 sy-vline,155 sy-vline,
    172 sy-vline,189 sy-vline,
    190 int_bsid-dmbtr CURRENCY int_bsid-waers,
    206 sy-vline.
    IF v_date IN r_date1.
    v_subtotal1 = v_subtotal1 + int_bsid-dmbtr.
    WRITE : 88 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date2.
    v_subtotal2 = v_subtotal2 + int_bsid-dmbtr.
    WRITE : 105 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date3.
    v_subtotal3 = v_subtotal3 + int_bsid-dmbtr.
    WRITE : 122 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date4.
    v_subtotal4 = v_subtotal4 + int_bsid-dmbtr.
    WRITE : 139 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEif v_date > r_date4-high.
    v_subtotal5 = v_subtotal5 + int_bsid-dmbtr.
    WRITE : 156 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEif v_date < p_allgst.
    v_subtotal6 = v_subtotal6 + int_bsid-dmbtr.
    WRITE : 173 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ENDIF.
    ENDIF.
    FORMAT COLOR OFF.
    v_cnt = v_cnt + 1.
    ENDLOOP.
    WRITE : /1(206) sy-uline.
    v_subtotal = v_subtotal1 + v_subtotal2 + v_subtotal3
    + v_subtotal4 + v_subtotal5 + v_subtotal6.
    FORMAT COLOR 3 INTENSIFIED.
    WRITE : /1 sy-vline,
    2(85) 'Total'(017) CENTERED CURRENCY int_bsid-waers ,
    87 sy-vline,
    88 v_subtotal1 CURRENCY int_bsid-waers,
    104 sy-vline,
    105 v_subtotal2 CURRENCY int_bsid-waers,
    121 sy-vline,
    122 v_subtotal3 CURRENCY int_bsid-waers,
    138 sy-vline,
    139 v_subtotal4 CURRENCY int_bsid-waers,
    155 sy-vline,
    156 v_subtotal5 CURRENCY int_bsid-waers,
    172 sy-vline,
    173 v_subtotal6 CURRENCY int_bsid-waers,
    189 sy-vline,
    190 v_subtotal CURRENCY int_bsid-waers,
    206 sy-vline.
    FORMAT COLOR OFF.
    WRITE : /1(206) sy-uline.
    CLEAR : v_subtotal,v_subtotal1,v_subtotal2,v_subtotal3,
    v_subtotal4,v_subtotal5,v_gtotal1,v_gtotal2,v_gtotal3,
    v_gtotal4, v_gtotal5,v_gtotal,v_subtotal6,v_gtotal6.
    ENDFORM. " line_selection
    *& Form header1
    Secondary List Header
    FORM header1 .
    Standard header
    clear: v_date1, v_str, v_str1, v_tage.
    write p_allgst to v_date1.
    Move p_tage4 to v_tage.
    concatenate '>' v_tage text-025 into v_str1.
    concatenate
    'Details of Ageing Analysis for Customer Open Invoices as on'(024)
    v_date1 into v_str separated by space.
    CALL FUNCTION 'Z_STANDARD_HEADER'
    EXPORTING
    title1 = 'Saudi International Petrochemical Company'(012)
    title2 = v_str.
    FORMAT COLOR 1 intensified.
    WRITE :/1(206) sy-uline.
    WRITE :/1 sy-vline,12 sy-vline ,
    23 sy-vline,59 sy-vline,76 sy-vline,87 sy-vline,
    88(101) 'Invoices Due For(In Days)'(014) CENTERED,
    189 sy-vline,206 sy-vline.
    WRITE : /1 sy-vline, 2(10) 'Doc Number'(021) CENTERED,
    12 sy-vline, 13(10) 'Customer#'(015) CENTERED,
    23 sy-vline, 24(35) 'Customer Name'(016) CENTERED,
    59 sy-vline, 60(16) 'Ref invoice#'(019) CENTERED,
    76 sy-vline, 77(10) 'Inv dt'(020) CENTERED,
    87 sy-vline, 88(101) sy-uline,
    189 sy-vline,190(16) 'Total'(017) CENTERED,
    206 sy-vline.
    WRITE : /1 sy-vline, 12 sy-vline,
    23 sy-vline,59 sy-vline,
    76 sy-vline,87 sy-vline,
    88(16) v_fir CENTERED, 104 sy-vline,
    105(16) v_sec CENTERED, 121 sy-vline,
    122(16) v_thir CENTERED, 138 sy-vline,
    139(16) v_four CENTERED, 155 sy-vline,
    156(16) v_str1 CENTERED,
    172 sy-vline,
    173(16) 'Already Overdue'(018) CENTERED,
    189 sy-vline,
    206 sy-vline.
    format color off.
    WRITE : /1(206) sy-uline.
    ENDFORM. " header1
    REPORT zfi_vendor_ageing
    NO STANDARD PAGE HEADING
    LINE-COUNT 58
    line-size 168
    MESSAGE-ID zh_msg.
    Report Name : Vendor Open Items Ageing Report
    Purpose : This report displays the Vendor Open Items based on
    different Ageing days (Calculated by taking the Base
    Line date and the days mentioned in Payment Terms)
    M O D I F I C A T I O N L O G
    Date | Change Number | Initials | Description
    30-Aug-2004 | DTSK900**** | Anji Reddy | Initial
    D A T A B A S E T A B L E S D E C L A R A T I O N
    TABLES: lfa1, " Vendor Master (General)
    t001, " Company Codes
    rfpdo.
    I N T E R N A L T A B L E S D E C L A R A T I O N S *
    Internal Table for Vendor Open Items Data
    DATA: BEGIN OF int_bsik OCCURS 0,
    lifnr LIKE bsik-lifnr, " Vendor Number
    name1 LIKE lfa1-name1, " Vendor Name
    shkzg LIKE bsik-shkzg, " Dr/Cr Indicator
    belnr LIKE bsik-belnr, " Document Number
    xblnr LIKE bsik-xblnr, " Ref Doc No
    blart LIKE bsik-blart, " Document Type
    zfbdt LIKE bsik-zfbdt, " Base Line Date
    zbd1t LIKE bsik-zbd1t, " Due date1
    zbd2t LIKE bsik-zbd2t, " Due Date2
    zbd3t LIKE bsik-zbd3t, " Due Date3
    waers LIKE bsik-waers, " Currency
    dmbtr LIKE bsik-dmbtr, " Amount in Local Curr
    END OF int_bsik.
    Internal Table for Amounts Sum Up Data
    DATA: BEGIN OF int_final OCCURS 0,
    lifnr LIKE bsik-lifnr, " Vendor Number
    name1 LIKE lfa1-name1, " Vendor Name
    total1 LIKE bsik-dmbtr, " Amount in Local Curr
    total2 LIKE bsik-dmbtr, " Amount in Local Curr
    total3 LIKE bsik-dmbtr, " Amount in Local Curr
    total4 LIKE bsik-dmbtr, " Amount in Local Curr
    total5 LIKE bsik-dmbtr, " Amount in Local Curr
    total6 LIKE bsik-dmbtr, " Amount in Local Curr
    total LIKE bsik-dmbtr, " Amount in Local Curr
    END OF int_final.
    D A T A D E C L A R A T I O N S
    DATA : v_flag, " Flag
    v_gtotal1 LIKE bsik-dmbtr, " Amount Totals
    v_gtotal2 LIKE bsik-dmbtr, " Amount Totals
    v_gtotal3 LIKE bsik-dmbtr, " Amount Totals
    v_gtotal4 LIKE bsik-dmbtr, " Amount Totals
    v_gtotal5 LIKE bsik-dmbtr, " Amount Totals
    v_gtotal6 LIKE bsik-dmbtr, " Amount Totals
    v_gtotal LIKE bsik-dmbtr, " Amount Totals
    v_subtotal1 LIKE bsik-dmbtr, " Amount Totals
    v_subtotal2 LIKE bsik-dmbtr, " Amount Totals
    v_subtotal3 LIKE bsik-dmbtr, " Amount Totals
    v_subtotal4 LIKE bsik-dmbtr, " Amount Totals
    v_subtotal5 LIKE bsik-dmbtr, " Amount Totals
    v_subtotal6 LIKE bsik-dmbtr, " Amount Totals
    v_subtotal LIKE bsik-dmbtr, " Amount Totals
    v_date LIKE bsik-zfbdt, " Due Date
    v_tage1(4), " Age 30 days
    v_tage2(4), " Age 60 days
    v_tage3(4), " Age 90 days
    v_fir(15), " Column Text1
    v_sec(15), " Column Text2
    v_thir(15), " Column Text3
    v_four(17), " Column Text4
    v_fidd(4), " Days field1
    v_sedd(4), " Days field2
    v_thdd(4), " Days field3
    v_fodd(4), " Days field4
    v_str TYPE SY-LISEL, " String
    v_str1(11), " String
    v_tage(3), " String
    v_date1(10). " Date field
    R A N G E D E C L A R A T I O N S
    RANGES: r_date1 FOR bsik-zfbdt, " Date Range 1
    r_date2 FOR bsik-zfbdt, " Date Range 2
    r_date3 FOR bsik-zfbdt, " Date Range 3
    r_date4 FOR bsik-zfbdt. " Date Range 4
    S E L E C T I O N S C R E E N *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr. "Vendor account
    PARAMETERS: p_bukrs LIKE t001-bukrs. "Co. Code
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS: p_allgst LIKE rfpdo-allgstid OBLIGATORY DEFAULT sy-datum.
    "Open items at key date
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    PARAMETERS: p_tage1 LIKE rfpdo1-allgfael DEFAULT '30',
    p_tage2 LIKE rfpdo1-allgfael DEFAULT '60',
    p_tage3 LIKE rfpdo1-allgfael DEFAULT '90',
    p_tage4 LIKE rfpdo1-allgfael DEFAULT '120'.
    SELECTION-SCREEN END OF BLOCK b3.
    A T S E L E C T I O N S C R E E N *
    AT SELECTION-SCREEN.
    Validate the screen fields
    PERFORM validate_flds.
    S T A R T O F S E L E C T I O N *
    START-OF-SELECTION.
    Fetch main data
    PERFORM fetch_data.
    T O P O F P A G E
    Header
    TOP-OF-PAGE.
    PERFORM header.
    E N D O F P A G E
    Footer
    END-OF-PAGE.
    ULINE.
    T O P O F P A G E D U R I N G L I N E S E L E C T I O N *
    Top of Page in Secondary List
    TOP-OF-PAGE DURING LINE-SELECTION.
    PERFORM header1.
    A T L I N E S E L E C T I O N *
    AT LINE-SELECTION.
    Perform Line Selections
    PERFORM line_selection.
    E N D O F S E L E C T I O N
    END-OF-SELECTION.
    List generation
    PERFORM basic_list.
    *& Form validate_flds
    Validation of Selection Screen fields
    FORM validate_flds .
    Validate Vendor Code
    CLEAR lfa1-lifnr.
    SELECT lifnr UP TO 1 ROWS
    INTO lfa1-lifnr
    FROM lfa1
    WHERE lifnr IN s_lifnr AND
    spras = sy-langu.
    ENDSELECT.
    IF sy-subrc <> 0.
    MESSAGE e000 WITH 'Invalid Vendor Code range'(023).
    ENDIF.
    Validate Company Code
    CLEAR t001-bukrs.
    SELECT bukrs UP TO 1 ROWS
    INTO t001-bukrs
    FROM t001
    WHERE bukrs = p_bukrs AND
    spras = sy-langu.
    ENDSELECT.
    IF sy-subrc <> 0.
    MESSAGE e021. " Invalid Company Code range
    ENDIF.
    IF ( p_tage1 > p_tage2 ) OR ( p_tage1 > p_tage3 ) OR
    ( p_tage1 > p_tage4 ).
    MESSAGE e999 WITH 'Column 1 greater'(004)
    'than Column# 2 or 3 or 4'(005).
    ENDIF.
    *column 2
    IF ( p_tage2 > p_tage3 ) OR ( p_tage1 > p_tage4 ).
    MESSAGE e999 WITH 'Column 2 greater'(006)
    'than Column# 3 or 4'(007).
    ENDIF.
    *column3
    IF ( p_tage3 > p_tage4 ).
    MESSAGE e999 WITH 'Column 3 greater'(008)
    'than Column#4'(009).
    ENDIF.
    ENDFORM. " validate_flds
    *& Form fetch_data
    Fetching Data from Database Tables
    FORM fetch_data .
    Date Range Population
    r_date1-sign = 'I'.
    r_date1-option = 'BT'.
    r_date1-low = p_allgst.
    r_date1-high = r_date1-low + p_tage1.
    APPEND r_date1.
    r_date2-sign = 'I'.
    r_date2-option = 'BT'.
    r_date2-low = r_date1-high + 1.
    r_date2-high = r_date1-low + p_tage2.
    APPEND r_date2.
    r_date3-sign = 'I'.
    r_date3-option = 'BT'.
    r_date3-low = r_date2-high + 1.
    r_date3-high = r_date1-low + p_tage3.
    APPEND r_date3.
    r_date4-sign = 'I'.
    r_date4-option = 'BT'.
    r_date4-low = r_date3-high + 1.
    r_date4-high = r_date1-low + p_tage4.
    APPEND r_date4.
    Select the Vendor Open Items data from BSIK
    SELECT l~lifnr
    l1~name1
    b~waers
    b~dmbtr
    b~zfbdt
    b~zbd1t
    b~zbd2t
    b~zbd3t
    b~belnr
    b~xblnr
    b~shkzg
    b~blart
    INTO CORRESPONDING FIELDS OF TABLE int_bsik
    FROM lfb1 AS l INNER JOIN lfa1 AS l1
    ON llifnr = l1lifnr
    INNER JOIN bsik AS b
    ON llifnr = blifnr AND
    lbukrs = bbukrs
    WHERE l~lifnr IN s_lifnr AND
    l~bukrs = p_bukrs and
    b~zfbdt le p_allgst.
    IF SY-SUBRC <> 0.
    MESSAGE i000 WITH 'No Data found'(027).
    ENDIF.
    Removing the date limit to get the due items in the past
    DELETE int_bsik WHERE
    ( blart NE 'RE' AND blart NE 'KR' ) OR
    shkzg NE 'H'.
    SORT int_bsik BY lifnr.
    ENDFORM. " fetch_data
    *& Form header
    Display the Report Columns
    FORM header .
    v_tage1 = p_tage1 + 1.
    v_tage2 = p_tage2 + 1.
    v_tage3 = p_tage3 + 1.
    v_fidd = p_tage1.
    v_sedd = p_tage2.
    v_thdd = p_tage3.
    v_fodd = p_tage4.
    MOVE v_fodd0(4) TO v_fodd1(3).
    v_fodd+0(1) = space.
    CONCATENATE '1 to'(010) v_fidd INTO v_fir.
    CONCATENATE v_tage1 ' to '(011) v_sedd INTO v_sec.
    CONCATENATE v_tage2 ' to '(011) v_thdd INTO v_thir.
    CONCATENATE v_tage3 ' to '(011) space v_fodd INTO v_four.
    Standard header
    clear: v_date1, v_str, v_str1, v_tage.
    write p_allgst to v_date1.
    Move p_tage4 to v_tage.
    concatenate '>' v_tage text-025 into v_str1.
    concatenate
    'Summary of Ageing Analysis for Vendor Open Invoices as on'(013)
    v_date1 into v_str separated by space.
    CALL FUNCTION 'Z_STANDARD_HEADER'
    EXPORTING
    title1 = 'Saudi International Petrochemical Company'(012)
    title2 = v_str.
    FORMAT COLOR OFF.
    WRITE : /1(168) sy-uline.
    FORMAT COLOR 1 INTENSIFIED.
    WRITE :/1 sy-vline, 13 sy-vline, 49 sy-vline,
    50(101) 'Invoices Due For(In Days)'(014) CENTERED,
    151 sy-vline, 168 sy-vline .
    WRITE :/1 sy-vline, 2(11) 'Vendor#'(015) CENTERED,
    13 sy-vline ,14(35) 'Vendor Name'(016) CENTERED,
    49 sy-vline,
    50(101) sy-uline,151 sy-vline,
    152(16) 'Total'(017) CENTERED,
    168 sy-vline.
    WRITE : /1 sy-vline,13 sy-vline, 49 sy-vline,
    50(16) v_fir CENTERED, 66 sy-vline,
    67(16) v_sec CENTERED, 83 sy-vline,
    84(16) v_thir CENTERED, 100 sy-vline,
    101(16) v_four CENTERED, 117 sy-vline,
    118(16) v_str1 centered, 134 sy-vline,
    135(16) 'Already Overdue'(018) CENTERED,151 sy-vline,
    168 sy-vline.
    FORMAT COLOR OFF.
    WRITE : /1(168) sy-uline.
    ENDFORM. " header
    *& Form basic_list
    Display the Basic List
    FORM basic_list .
    NEW-PAGE LINE-SIZE 168.
    LOOP AT int_bsik.
    CLEAR v_date.
    IF int_bsik-zbd3t <> ' '.
    v_date = int_bsik-zfbdt + int_bsik-zbd3t.
    ELSE.
    IF int_bsik-zbd2t <> ' '.
    v_date = int_bsik-zfbdt + int_bsik-zbd2t.
    ELSE.
    v_date = int_bsik-zfbdt + int_bsik-zbd1t.
    ENDIF.
    ENDIF.
    IF int_bsik-zbd1t = ' '.
    v_date = int_bsik-zfbdt.
    ENDIF.
    IF v_date IN r_date1.
    int_final-total1 = int_final-total1 + int_bsik-dmbtr.
    ELSEIF v_date IN r_date2.
    int_final-total2 = int_final-total2 + int_bsik-dmbtr.
    ELSEIF v_date IN r_date3.
    int_final-total3 = int_final-total3 + int_bsik-dmbtr.
    ELSEIF v_date IN r_date4.
    int_final-total4 = int_final-total4 + int_bsik-dmbtr.
    ELSEif v_date > r_date4-high.
    int_final-total5 = int_final-total5 + int_bsik-dmbtr.
    ELSEif v_date < p_allgst.
    int_final-total6 = int_final-total6 + int_bsik-dmbtr.
    ENDIF.
    AT END OF lifnr.
    v_flag = 1.
    ENDAT.
    IF v_flag = 1.
    int_final-lifnr = int_bsik-lifnr.
    int_final-name1 = int_bsik-name1.
    int_final-total = int_final-total1 + int_final-total2 +
    int_final-total3 + int_final-total4 + int_final-total5 +
    int_final-total6.
    APPEND int_final.
    v_gtotal1 = v_gtotal1 + int_final-total1.
    v_gtotal2 = v_gtotal2 + int_final-total2.
    v_gtotal3 = v_gtotal3 + int_final-total3.
    v_gtotal4 = v_gtotal4 + int_final-total4.
    v_gtotal5 = v_gtotal5 + int_final-total5.
    v_gtotal6 = v_gtotal6 + int_final-total6.
    v_gtotal = v_gtotal + int_final-total.
    WRITE: /1 sy-vline,
    2 int_final-lifnr COLOR 4 INTENSIFIED ON,
    13 sy-vline,
    14 int_final-name1 COLOR 4 INTENSIFIED ON,
    49 sy-vline.
    DATA : v_rem.
    v_rem = sy-tabix MOD 2.
    IF v_rem NE 0.
    FORMAT COLOR 2 INTENSIFIED.
    WRITE : 50 int_final-total1 CURRENCY int_bsik-waers,
    66 sy-vline,
    67 int_final-total2 CURRENCY int_bsik-waers,
    83 sy-vline,
    84 int_final-total3 CURRENCY int_bsik-waers,
    100 sy-vline,
    101 int_final-total4 CURRENCY int_bsik-waers,
    117 sy-vline,
    118 int_final-total5 CURRENCY int_bsik-waers,
    134 sy-vline,
    135 int_final-total6 CURRENCY int_bsik-waers,
    151 sy-vline,
    152 int_final-total CURRENCY int_bsik-waers,
    168 sy-vline.
    ELSE.
    WRITE : 50 int_final-total1 CURRENCY int_bsik-waers,
    66 sy-vline,
    67 int_final-total2 CURRENCY int_bsik-waers,
    83 sy-vline,
    84 int_final-total3 CURRENCY int_bsik-waers,
    100 sy-vline,
    101 int_final-total4 CURRENCY int_bsik-waers,
    117 sy-vline,
    118 int_final-total5 CURRENCY int_bsik-waers,
    134 sy-vline,
    135 int_final-total6 CURRENCY int_bsik-waers,
    151 sy-vline,
    152 int_final-total CURRENCY int_bsik-waers,
    168 sy-vline.
    ENDIF.
    FORMAT COLOR OFF.
    HIDE int_final.
    CLEAR int_final.
    v_flag = 0.
    ENDIF.
    AT LAST.
    WRITE : /1(168) sy-uline.
    FORMAT COLOR 3 INTENSIFIED.
    WRITE : /1 sy-vline, 2(47) 'GRAND TOTAL'(022) CENTERED,
    49 sy-vline, 50 v_gtotal1 CURRENCY int_bsik-waers,
    66 sy-vline, 67 v_gtotal2 CURRENCY int_bsik-waers,
    83 sy-vline, 84 v_gtotal3 CURRENCY int_bsik-waers,
    100 sy-vline,101 v_gtotal4 CURRENCY int_bsik-waers,
    117 sy-vline,118 v_gtotal5 CURRENCY int_bsik-waers,
    134 sy-vline,135 v_gtotal6 CURRENCY int_bsik-waers,
    151 sy-vline,152 v_gtotal CURRENCY int_bsik-waers,
    168 sy-vline.
    HIDE : v_gtotal1,
    v_gtotal2,
    v_gtotal3,
    v_gtotal4,
    v_gtotal5,
    v_gtotal6,
    v_gtotal.
    ENDAT.
    FORMAT COLOR OFF.
    ENDLOOP.
    WRITE : /1(168) sy-uline.
    ENDFORM. " basic_list
    *& Form line_selection
    When double clicked on the line display the seconday list
    FORM line_selection .
    NEW-PAGE LINE-SIZE 206.
    Sy-lsind = 1.
    DATA : v_rem,v_cnt LIKE sy-tabix.
    v_cnt = 0.
    SORT int_bsik BY belnr zfbdt.
    LOOP AT int_bsik WHERE lifnr EQ int_final-lifnr.
    v_rem = v_cnt MOD 2.
    CLEAR v_date.
    IF int_bsik-zbd3t <> ' '.
    v_date = int_bsik-zfbdt + int_bsik-zbd3t.
    ELSE.
    IF int_bsik-zbd2t <> ' '.
    v_date = int_bsik-zfbdt + int_bsik-zbd2t.
    ELSE.
    v_date = int_bsik-zfbdt + int_bsik-zbd1t.
    ENDIF.
    ENDIF.
    IF int_bsik-zbd1t = ' '.
    v_date = int_bsik-zfbdt.
    ENDIF.
    IF v_rem NE 0.
    format color 2 intensified.
    WRITE :/1 sy-vline, 2 int_bsik-belnr,
    12 sy-vline,13 int_bsik-lifnr,
    23 sy-vline,24 int_bsik-name1,
    59 sy-vline,60 int_bsik-xblnr,
    76 sy-vline,77 int_bsik-zfbdt,
    87 sy-vline.
    WRITE : 104 sy-vline,121 sy-vline,
    138 sy-vline,155 sy-vline,
    172 sy-vline, 189 sy-vline,
    190 int_bsik-dmbtr CURRENCY int_bsik-waers,
    206 sy-vline.
    IF v_date IN r_date1.
    v_subtotal1 = v_subtotal1 + int_bsik-dmbtr.
    WRITE : 88 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ELSEIF v_date IN r_date2.
    v_subtotal2 = v_subtotal2 + int_bsik-dmbtr.
    WRITE : 105 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ELSEIF v_date IN r_date3.
    v_subtotal3 = v_subtotal3 + int_bsik-dmbtr.
    WRITE : 122 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ELSEIF v_date IN r_date4.
    v_subtotal4 = v_subtotal4 + int_bsik-dmbtr.
    WRITE : 139 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ELSEif v_date > r_date4-high.
    v_subtotal5 = v_subtotal5 + int_bsik-dmbtr.
    WRITE : 156 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ELSEif v_date < p_allgst.
    v_subtotal6 = v_subtotal6 + int_bsik-dmbtr.
    WRITE : 173 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ENDIF.
    format color off.
    ELSE.
    WRITE :/1 sy-vline, 2 int_bsik-belnr,
    12 sy-vline,13 int_bsik-lifnr,
    23 sy-vline,24 int_bsik-name1,
    59 sy-vline,60 int_bsik-xblnr,
    76 sy-vline,77 int_bsik-zfbdt,
    87 sy-vline.
    WRITE : 104 sy-vline,121 sy-vline,
    138 sy-vline,155 sy-vline,
    172 sy-vline,189 sy-vline,
    190 int_bsik-dmbtr CURRENCY int_bsik-waers,
    206 sy-vline.
    IF v_date IN r_date1.
    v_subtotal1 = v_subtotal1 + int_bsik-dmbtr.
    WRITE : 88 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ELSEIF v_date IN r_date2.
    v_subtotal2 = v_subtotal2 + int_bsik-dmbtr.
    WRITE : 105 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ELSEIF v_date IN r_date3.
    v_subtotal3 = v_subtotal3 + int_bsik-dmbtr.
    WRITE : 122 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ELSEIF v_date IN r_date4.
    v_subtotal4 = v_subtotal4 + int_bsik-dmbtr.
    WRITE : 139 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ELSEif v_date > r_date4-high.
    v_subtotal5 = v_subtotal5 + int_bsik-dmbtr.
    WRITE : 156 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ELSEif v_date < p_allgst.
    v_subtotal6 = v_subtotal6 + int_bsik-dmbtr.
    WRITE : 173 int_bsik-dmbtr CURRENCY int_bsik-waers.
    ENDIF.
    ENDIF.
    FORMAT COLOR OFF.
    v_cnt = v_cnt + 1.
    ENDLOOP.
    WRITE : /1(206) sy-uline.
    v_subtotal = v_subtotal1 + v_subtotal2 + v_subtotal3
    + v_subtotal4 + v_subtotal5 + v_subtotal6.
    FORMAT COLOR 3 INTENSIFIED.
    WRITE : /1 sy-vline,
    2(85) 'Total'(017) CENTERED CURRENCY int_bsik-waers ,
    87 sy-vline,
    88 v_subtotal1 CURRENCY int_bsik-waers,
    104 sy-vline,
    105 v_subtotal2 CURRENCY int_bsik-waers,
    121 sy-vline,
    122 v_subtotal3 CURRENCY int_bsik-waers,
    138 sy-vline,
    139 v_subtotal4 CURRENCY int_bsik-waers,
    155 sy-vline,
    156 v_subtotal5 CURRENCY int_bsik-waers,
    172 sy-vline,
    173 v_subtotal6 CURRENCY int_bsik-waers,
    189 sy-vline,
    190 v_subtotal CURRENCY int_bsik-waers,
    206 sy-vline.
    FORMAT COLOR OFF.
    WRITE : /1(206) sy-uline.
    CLEAR : v_subtotal,v_subtotal1,v_subtotal2,v_subtotal3,
    v_subtotal4,v_subtotal5,v_gtotal1,v_gtotal2,v_gtotal3,
    v_gtotal4, v_gtotal5,v_gtotal,v_subtotal6,v_gtotal6.
    ENDFORM. " line_selection
    *& Form header1
    Secondary List Header
    FORM header1 .
    Standard header
    clear: v_date1, v_str, v_str1, v_tage.
    write p_allgst to v_date1.
    Move p_tage4 to v_tage.
    concatenate '>' v_tage text-025 into v_str1.
    concatenate
    'Details of Ageing Analysis for Vendor Open Invoices as on'(024)
    v_date1 into v_str separated by space.
    CALL FUNCTION 'Z_STANDARD_HEADER'
    EXPORTING
    title1 = 'Saudi International Petrochemical Company'(012)
    title2 = v_str.
    FORMAT COLOR 1 intensified.
    WRITE :/1(206) sy-uline.
    WRITE :/1 sy-vline,12 sy-vline ,
    23 sy-vline,59 sy-vline,76 sy-vline,87 sy-vline,
    88(101) 'Invoices Due For(In Days)'(014) CENTERED,
    189 sy-vline,206 sy-vline.
    WRITE : /1 sy-vline, 2(10) 'Doc Number'(021) CENTERED,
    12 sy-vline, 13(10) 'Vendor#'(015) CENTERED,
    23 sy-vline, 24(35) 'Vendor Name'(016) CENTERED,
    59 sy-vline, 60(16) 'Ref invoice#'(019) CENTERED,
    76 sy-vline, 77(10) 'Inv dt'(020) CENTERED,
    87 sy-vline, 88(101) sy-uline,
    189 sy-vline,190(16) 'Total'(017) CENTERED,
    206 sy-vline.
    WRITE : /1 sy-vline, 12 sy-vline,
    23 sy-vline,59 sy-vline,
    76 sy-vline,87 sy-vline,
    88(16) v_fir CENTERED, 104 sy-vline,
    105(16) v_sec CENTERED, 121 sy-vline,
    122(16) v_thir CENTERED, 138 sy-vline,
    139(16) v_four CENTERED, 155 sy-vline,
    156(16) v_str1 CENTERED,
    172 sy-vline,
    173(16) 'Already Overdue'(018) CENTERED,
    189 sy-vline,
    206 sy-vline.
    format color off.
    WRITE : /1(206) sy-uline.
    ENDFORM. " header1
    <b>The below link will give Tables & Relations.</b>
    http://www.erpgenie.com/abap/tables.htm
    http://goldenink.com/abap/files_in_sap.html
    http://abap4.tripod.com/SAP_Tables.html
    http://www.geocities.com/sapcircle/Relations.pdf
    Regards,
    Sree

Maybe you are looking for

  • Windows 8 ipod nano

    I have an early version of the ipod nano. I just got a new HP laptop, put itunes on it, uploaded all my old music and then downloaded a bunch of fresh songs. Why is the new music not syncing with the ipod? It keeps saying there is a problem with the

  • Getting an error when trying to install adobe acrobat xi pro

    I am trying to install my recently purchased Adobe Acrobat XI Pro and am getting an error message during the installation process

  • AQ-adapter and correlation

    Hi! I have a problem with the AQ-adapter and correlation when I try to dequeue a message in mid-process. Then main purpose of my process is to insert a record in a table (db-adapter) and then wait for an AQ-message to magically come back. What ID sho

  • Itunes wont recognise?

    hey guys, i started a post a while ago.. since then i have got it working alright now. i had to download the new itunes. anyway, i restored it, and everythings going alright. now my ipod isnt being recognised by itunes, but it is being shown in my co

  • Syntax error on query generation

    Hi, When I try to generate report syntax error occures. It's not a custom code. What do you think about it ? (syntax error in the following code:   return.   perform Debug_xfems. See some piece of generated file : REPORT RSRRNAME. FORM SELECT_4.   if