BO Crashes if a report with clob with data close to 1500 characters is run

Hi,
We have been using BO 3.1 for our reporting needs and we have a report using a couple of clob columns. We have noticed that the Web I crashes when a report is run and the data record fetched contains close to 1500 characters. The Web I server goes to "Starting" state when we check in the Central Management Console.
We are using InfoView to run the report. The report screen hangs when we navigate to the record which contains larger data.
FYI.
1) I have increased the size of long text to 10000 chars in
Under File/Parameters on the "Control" tab. "Limit size of long text objects to:".
2) I have referred to other forum topics talking about similar issues
XIR3 WebIntelligenceProcessingServer problem As per this post I created another instance of Web I however this hasn't helped either. The second server too crashes when the report is run on it.
The Web I trace after screen freeze is posted below.
2010/04/30 05:27:31.462|==| | |10196|8256| |||||||||||||||DocExpress:Output root dir:C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\Data/Syed.agi.com_6400\storage\docs\00000029\00000031.wid_1244821409\en_US
2010/04/30 05:27:31.462|>=| | |10196|8256|}|||||||||||||||DocExpress:GetFullPath4BlobManager: 0.016
2010/04/30 05:27:31.462|==| | |10196|8256| |||||||||||||||dgDocument:u8PathBlobManager from idgDocExpress->GetFullPath4BlobManager:C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\Data/Syed.agi.com_6400\storage\docs\00000029\00000031.wid_1244821409\en_US
2010/04/30 05:27:31.462|>=| | |10196|8256|{|||||||||||||||dgDocument:GetLAD4DX
2010/04/30 05:27:31.462|>=| | |10196|8256|}|||||||||||||||dgDocument:GetLAD4DX: 0
2010/04/30 05:27:31.462|>=| | |10196|8256|{|||||||||||||||DocExpress:WritePageRangeDirNameBOF
2010/04/30 05:27:31.462|>=| | |10196|8256| |||||||||||||||DocExpress:>>:u8DirectoryName=
2010/04/30 05:27:31.462|>=| | |10196|8256| |||||||||||||||DocExpress:>>:u8NormalizePageRange=14563:20
2010/04/30 05:27:31.462|>=| | |10196|8256|{|||||||||||||||ctBoStorage:checkInit
2010/04/30 05:27:31.462|>=| | |10196|8256|}|||||||||||||||ctBoStorage:checkInit: 0
2010/04/30 05:27:31.462|>=| | |10196|8256|{|||||||||||||||ctBoStorage:checkInit
2010/04/30 05:27:31.462|>=| | |10196|8256|}|||||||||||||||ctBoStorage:checkInit: 0
2010/04/30 05:27:31.493|>=| | |10196|8256|}|||||||||||||||DocExpress:WritePageRangeDirNameBOF: 0.031
2010/04/30 05:27:31.493|>=| | |10196|8256|{|||||||||||||||dgDocument:GetLAD4DX
2010/04/30 05:27:31.493|>=| | |10196|8256|}|||||||||||||||dgDocument:GetLAD4DX: 0
2010/04/30 05:27:31.493|>=| | |10196|8256|{|||||||||||||||DocExpress:OutputPageStart
2010/04/30 05:27:31.493|>=| | |10196|8256| |||||||||||||||DocExpress:>>:bwDocName=26510
2010/04/30 05:27:31.493|>=| | |10196|8256| |||||||||||||||DocExpress:>>:bwDomainName=_D_X_
2010/04/30 05:27:31.509|>=| | |10196|8256| |||||||||||||||DocExpress:>>:lPublishDate=1272623648
2010/04/30 05:27:31.509|>=| | |10196|8256| |||||||||||||||DocExpress:>>:u8Profile=XMLPaginated
2010/04/30 05:27:31.509|>=| | |10196|8256| |||||||||||||||DocExpress:>>:directoryName=8
2010/04/30 05:27:31.509|>=| | |10196|8256| |||||||||||||||DocExpress:>>:normalizedPageRange=14563:20
2010/04/30 05:27:31.509|>=| | |10196|8256|{|||||||||||||||ctBoStorage:checkInit
2010/04/30 05:27:31.509|>=| | |10196|8256|}|||||||||||||||ctBoStorage:checkInit: 0
2010/04/30 05:27:31.509|>=| | |10196|8256|{|||||||||||||||DocExpressStorage:OutputTag
2010/04/30 05:27:31.509|>=| | |10196|8256|{|||||||||||||||ctBoStorage:checkInit
2010/04/30 05:27:31.509|>=| | |10196|8256|}|||||||||||||||ctBoStorage:checkInit: 0
2010/04/30 05:27:31.524|>=| | |10196|8256|}|||||||||||||||DocExpressStorage:OutputTag: 0.015
2010/04/30 05:27:31.524|>=| | |10196|8256|}|||||||||||||||DocExpress:OutputPageStart: 0.031
2010/04/30 05:27:31.524|==| | |10196|8256| |||||||||||||||dgDocument:GET PAGES is Caching.....
2010/04/30 05:27:31.524|==| | |10196|8256| |||||||||||||||dgDocument:u8PathBlobManager3:C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\Data/Syed.agi.com_6400\storage\docs\00000029\00000031.wid_1244821409\en_US\XMLPaginated\8\
2010/04/30 05:27:31.524|==| | |10196|8256| |||||||||||||||dgDocument:GetBlobManager()->SetParameters <-> prm.u8RootDirectory:C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\Data/Syed.agi.com_6400\storage\docs\00000029\00000031.wid_1244821409\en_US\XMLPaginated\8\
2010/04/30 05:27:31.524|==| | |10196|8256| |||||||||||||||dgDocument:GetBlobManager()->SetParameters <-> prm.u8BlobIdPrefix:dxXMLPaginated_8
2010/04/30 05:27:31.524|==| | |10196|8256| |||||||||||||||dgDocument:GetBlobManager()->SetParameters <-> prm.bDeleteBlobs:0
2010/04/30 05:27:31.524|==| | |10196|8256| |||||||||||||||dgDocument:GetBlobManager()->SetParameters <-> prm.bGenerateMimeFile:1
2010/04/30 05:27:31.524|==| | |10196|8256| |||||||||||||||dgDocument:Executing RenderPageRange NORMAL...
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||dgDocumentEx:RenderPageRange
2010/04/30 05:27:31.524|==| | |10196|8256| |||||||||||||||dgDocumentEx:CurrentRepengState:DGDOCUMENT_STATE_QUERYSET
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||repeng:redsDocument::renderPageRange
2010/04/30 05:27:31.524|>=| | |10196|8256| |||||||||||||||repeng:>>:page_range=14563:20
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||repeng:redsDocument::requestInCache
2010/04/30 05:27:31.524|>=| | |10196|8256|}|||||||||||||||repeng:redsDocument::requestInCache: 0
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||repeng:redsDocument::decodeTrackChangedStyle
2010/04/30 05:27:31.524|>=| | |10196|8256|}|||||||||||||||repeng:redsDocument::decodeTrackChangedStyle: 0
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||repeng:redsDocument::ApplyChanges
2010/04/30 05:27:31.524|>=| | |10196|8256|}|||||||||||||||repeng:redsDocument::ApplyChanges: 0
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||repeng:redsDocument::decodePageRange
2010/04/30 05:27:31.524|>=| | |10196|8256| |||||||||||||||repeng:>>:page_range=7F91D834
2010/04/30 05:27:31.524|>=| | |10196|8256| |||||||||||||||repeng:>>:sourceMode=1
2010/04/30 05:27:31.524|>=| | |10196|8256| |||||||||||||||repeng:>>:displayMode=1
2010/04/30 05:27:31.524|>=| | |10196|8256|}|||||||||||||||repeng:redsDocument::decodePageRange: 0
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||repeng:redsDocument::GenerateBook
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||repeng:reDSDynBook::reDSDynBook
2010/04/30 05:27:31.524|>=| | |10196|8256|}|||||||||||||||repeng:reDSDynBook::reDSDynBook: 0
2010/04/30 05:27:31.524|>=| | |10196|8256|}|||||||||||||||repeng:redsDocument::GenerateBook: 0
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||repeng:RERenderManager::Render
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||C3_DumpCalculator:SetExternalValuesHandler
2010/04/30 05:27:31.524|>=| | |10196|8256| |||||||||||||||C3_DumpCalculator:>>:pCallBack=7F98D5B4
2010/04/30 05:27:31.524|>=| | |10196|8256|}|||||||||||||||C3_DumpCalculator:SetExternalValuesHandler: 0
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||repeng:RERender::Render
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||ctBlobManager:Create
2010/04/30 05:27:31.524|>=| | |10196|8256| |||||||||||||||ctBlobManager:>>:props_mime=text/xml
2010/04/30 05:27:31.524|>=| | |10196|8256| |||||||||||||||ctBlobManager:>>:props_openingMode=-1
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||ctBlobDescriptor:TmpConstructor
2010/04/30 05:27:31.524|>=| | |10196|8256|}|||||||||||||||ctBlobDescriptor:TmpConstructor: 0
2010/04/30 05:27:31.524|>=| | |10196|8256|{|||||||||||||||ctBlobDescriptor:GenerateMimeFile
2010/04/30 05:27:31.540|>=| | |10196|8256|}|||||||||||||||ctBlobDescriptor:GenerateMimeFile: 0.016
2010/04/30 05:27:31.540|>=| | |10196|8256|}|||||||||||||||ctBlobManager:Create: 0.016
2010/04/30 05:27:31.540|>=| | |10196|8256|{|||||||||||||||ctBlobManager:Open
2010/04/30 05:27:31.540|>=| | |10196|8256| |||||||||||||||ctBlobManager:>>:Blob=15
2010/04/30 05:27:31.540|>=| | |10196|8256| |||||||||||||||ctBlobManager:>>:Mode=0
2010/04/30 05:27:31.540|>=| | |10196|8256|{|||||||||||||||ctBlobDescriptor:Open
2010/04/30 05:27:31.540|>=| | |10196|8256|{|||||||||||||||ctBlobDescriptor:addNewBlob
2010/04/30 05:27:31.540|>=| | |10196|8256|{|||||||||||||||ctBlobImpl:Constructor
2010/04/30 05:27:31.540|>=| | |10196|8256| |||||||||||||||ctBlobImpl:>>:CharsetPath=C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\Data/Syed.agi.com_6400\storage\docs\00000029\00000031.wid_1244821409\en_US\XMLPaginated\8\Blob15.xml
2010/04/30 05:27:31.540|>=| | |10196|8256|}|||||||||||||||ctBlobImpl:Constructor: 0
2010/04/30 05:27:31.540|>=| | |10196|8256|}|||||||||||||||ctBlobDescriptor:addNewBlob: 0
2010/04/30 05:27:31.540|>=| | |10196|8256|}|||||||||||||||ctBlobDescriptor:Open: 0
2010/04/30 05:27:31.540|>=| | |10196|8256|}|||||||||||||||ctBlobManager:Open: 0
2010/04/30 05:27:31.540|>=| | |10196|8256|{|||||||||||||||ctBlobImpl:GetOuputStream
2010/04/30 05:27:31.556|>=| | |10196|8256|}|||||||||||||||ctBlobImpl:GetOuputStream: 0.016
2010/04/30 05:27:31.556|>=| | |10196|8256|{|||||||||||||||repeng:REXMLRender::RenderBook
2010/04/30 05:27:31.556|>=| | |10196|8256|{|||||||||||||||dgRenderPageCallback:eventNotification
2010/04/30 05:27:31.556|==| | |10196|8256| |||||||||||||||dgRenderPageCallback:Event type:4
2010/04/30 05:27:31.556|==| | |10196|8256| |||||||||||||||dgRenderPageCallback:New index:0
2010/04/30 05:27:31.556|==| | |10196|8256| |||||||||||||||dgRenderPageCallback:New PRPage
2010/04/30 05:27:31.556|>=| | |10196|8256|}|||||||||||||||dgRenderPageCallback:eventNotification: 0
2010/04/30 05:27:31.556|>=| | |10196|8256|{|||||||||||||||repeng:reDSDynBook::getNextPage
2010/04/30 05:27:31.556|>=| | |10196|8256|{|||||||||||||||repeng:reDSReport::getROPage
2010/04/30 05:27:31.556|>=| | |10196|8256|{|||||||||||||||repeng:reDSReport::getRPReport
2010/04/30 05:27:31.556|>=| | |10196|8256|{|||||||||||||||repeng:redsDocument::ApplyChanges
2010/04/30 05:27:31.556|>=| | |10196|8256|}|||||||||||||||repeng:redsDocument::ApplyChanges: 0
2010/04/30 05:27:31.556|>=| | |10196|8256|{|||||||||||||||repeng:reDSReport::getReportInstance
2010/04/30 05:27:31.556|>=| | |10196|8256|{|||||||||||||||repeng:redsDocument::ApplyChanges
2010/04/30 05:27:31.556|>=| | |10196|8256|}|||||||||||||||repeng:redsDocument::ApplyChanges: 0
2010/04/30 05:27:31.556|>=| | |10196|8256|}|||||||||||||||repeng:reDSReport::getReportInstance: 0
2010/04/30 05:27:31.556|>=| | |10196|8256|}|||||||||||||||repeng:reDSReport::getRPReport: 0
2010/04/30 05:27:31.915|==| | |10196|8256| |||||||||||||||C3_QF:Unloading::CDZ-C3_QF-12.0.0-0013-2007/06/15-18:00
2010/04/30 05:27:31.915|==| | |10196|8256| |||||||||||||||C3_CALC:Unloading::CDZ-C3_CALC-12.0.08-0021-2008/01/17-16:00
2010/04/30 05:27:31.915|==| | |10196|8256| |||||||||||||||C3_QTDS:Unloading::CDZ-C3_QTDS-12.0.0-0019-2007/11/20-18:00
2010/04/30 05:27:32.071|==| | |10196|8256| |||||||||||||||--> FileRepositoryMgr::~FileRepositoryMgr
2010/04/30 05:27:32.071|==| | |10196|8256| |||||||||||||||(.\oscafactorymgr.cpp:375) waiting for OSCASimpleFactoryMgr <FileRepositoryMgr via NS> to terminate
This is a portion of trace just when we got the problem. If you want I can post the full log.
Please let me know what we should do as this is critical for our product.
Regards,
Shashi

Thanks Joshua Kuhn,
1.) Have you watched task manager on the server when viewing this report? Keep a close eye on memory for the WebiReportServer process. You'll probably see a spike but keep an eye on it to see if its pushed to the 32-bit application 2gb limit. If so, its the memory required by this report which is causing the WIRS to crash / exit memory.
This was one of my first observation points. However I observed that the memory for any of the processes launched by BO including WEB I server never crossed limits. When I again observed after your suggestion, the WIReportServer.exe was consuming 93MB after the crash.
2.) From the log it looks like there could be something going on with the document cache. You can try disabling/unchecking document caching on the WebiReportServer to see if this helps. In the CMC > servers > WebiReportProcessingServer properties > "enable document cache".
Tried unselecting the document cache option, however it didn't help.
3.) Open a ticket with support. Ultimately, there should be exception coding to prevent the service from crashing. An error displayed or something else to handle and prevent the crash. If support can reproduce the behavior with a similar report, they should be able to provide a fix.
I am not sure how long BO will take to respond to this issue. This has become very critical in our application. Anyways I would open a ticket soon.
Thanks,
Shashi

Similar Messages

  • How to create a report with data using the Crystal Reports for Java SDK

    Hi,
    How do I create a report with data that can be displayed via the Crystal Report for Java SDK and the Viewers API?
    I am writing my own report designer, and would like to use the Crystal Runtime Engine to display my report in DHTML, PDF, and Excel formats.  I can create my own report through the following code snippet:
    ReportClientDocument boReportClientDocument = new ReportClientDocument();
    boReportClientDocument.newDocument();
    However, I cannot find a way to add data elements to the report without specifying an RPT file.  Is this possible?  I seems like it is since the Eclipse Plug In allows you to specify your database parameters when creating an RPT file.
    is there a way to do this through these packages?
    com.crystaldecisions.sdk.occa.report.data
    com.crystaldecisions.sdk.occa.report.definition
    Am I forced to create a RPT file for the different table and column structures I have? 
    Thank you in advance for any insights.
    Ted Jenney

    Hi Rameez,
    After working through the example code some more, and doing some more research, I remain unable to populate a report with my own data and view the report in a browser.  I realize this is a long post, but there are multiple errors I am receiving, and these are the seemingly essential ones that I am hitting.
    Modeling the Sample code from Create_Report_From_Scratch.zip to add a database table, using the following code:
    <%@ page import="com.crystaldecisions.sdk.occa.report.application.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.data.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.document.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.definition.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.lib.*" %>
    <%@ page import = "com.crystaldecisions.report.web.viewer.*"%>
    <%
    try { 
                ReportClientDocument rcd = new ReportClientDocument();
                rcd.newDocument();
    // Setup the DB connection
                String database_dll = "Sqlsrv32.dll";
                String db = "qa_start_2012";
                String dsn = "SQL Server";
                String userName = "sa";
                String pwd = "sa";
                // Create the DB connection
                ConnectionInfo oConnectionInfo = new ConnectionInfo();
                PropertyBag oPropertyBag1 = oConnectionInfo.getAttributes();
                // Set new table logon properties
                PropertyBag oPropertyBag2 = new PropertyBag();
                oPropertyBag2.put("DSN", dsn);
                oPropertyBag2.put("Data Source", db);
                // Set the connection info objects members
                // 1. Pass the Logon Properties to the main PropertyBag
                // 2. Set the Server Description to the new **System DSN**
                oPropertyBag1.put(PropertyBagHelper.CONNINFO_CRQE_LOGONPROPERTIES, oPropertyBag2);
                oPropertyBag1.put(PropertyBagHelper.CONNINFO_CRQE_SERVERDESCRIPTION, dsn);
                oPropertyBag1.put("Database DLL", database_dll);
                oConnectionInfo.setAttributes(oPropertyBag1);
                oConnectionInfo.setUserName(userName);
                oConnectionInfo.setPassword(pwd);
                // The Kind of connectionInfos is CRQE (Crystal Reports Query Engine).
                oConnectionInfo.setKind(ConnectionInfoKind.CRQE);
    // Add a Database table
              String tableName = "Building";
                Table oTable = new Table();
                oTable.setName(tableName);
                oTable.setConnectionInfo(oConnectionInfo);
                rcd.getDatabaseController().addTable(oTable, null);
        catch(ReportSDKException RsdkEx) {
                out.println(RsdkEx);  
        catch (Exception ex) {
              out.println(ex);  
    %>
    Throws the exception
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: java.lang.NullPointerException---- Error code:-2147467259 Error code name:failed
    There was other sample code on SDN which suggested the following - adding the table after calling table.setDataFields() as in:
              String tableName = "Building";
                String fieldname = "Building_Name";
                Table oTable = new Table();
                oTable.setName(tableName);
                oTable.setAlias(tableName);
                oTable.setQualifiedName(tableName);
                oTable.setDescription(tableName) ;
                Fields fields = new Fields();
                DBField field = new DBField();
                field.setDescription(fieldname);
                field.setHeadingText(fieldname);
                field.setName(fieldname);
                field.setType(FieldValueType.stringField);
                field.setLength(40);
                fields.add(field);
                oTable.setDataFields(fields);
                oTable.setConnectionInfo(oConnectionInfo);
                rcd.getDatabaseController().addTable(oTable, null);
    This code succeeds, but it is not clear how to add that database field to a section.  If I attempt to call the following:
    FieldObject oFieldObject = new FieldObject();
                oFieldObject.setDataSourceName(field.getFormulaForm());
                oFieldObject.setFieldValueType(field.getType());
                // Now add it to the section
                oFieldObject.setLeft(3120);
                oFieldObject.setTop(120);
                oFieldObject.setWidth(1911);
                oFieldObject.setHeight(226);
                rcd.getReportDefController().getReportObjectController().add(oFieldObject, rcd.getReportDefController().getReportDefinition().getDetailArea().getSections().getSection(0), -1);
    Then I get an error (which is not unexpected)
    com.crystaldecisions.sdk.occa.report.lib.ReportDefControllerException: The field was not found.---- Error code:-2147213283 Error code name:invalidFieldObject
    How do I add one of the table.SetDataFields()  to my report to be displayed?
    Are there any other pointers or suggestions you may have?
    Thank you

  • Crystal Report 2008 - Save Report with Data

    I saved a Crystal report with data in Dev Environment on BOE Server (Infoview Folder) and this is transported to Quality Environment. In the quality environment, when I try to view this report, initial screen comes up with data of Development, instead of Quality environment.
    I am expecting that it will load the default data from Quality environment for the stored selection.
    Is there any settings to be done in the report settings, so that i can view the saved report in Quality Environment with Quality Env data instead of Dev Env Data?

    Thanks Don for the reply.
    In case, If we save the report with data in Dev, we need to update DB configuration to point to Quality Env using "Use Custom databse Logon Information".
    But when it gets transported to production (From Quality), it will show up Quality Envdata. So should i have to update the BOE in Q Environment, to point to Production and transport it?
    Is there any automated way that the system will point to right systems appropriately based on transport landscape?
    Does the functionality of "Save the report with data" used mainly for user friendliness for analysis in one environment and this functionality is not supported to move between environments?
    rgds
    Karthi

  • Financial Reports with Date measures are showing data one day less

    Hello,
    I am running a financial report off of an ASO cube with type measures enabled. However, when i run the report in FR, that date data coming out is 1 day less...for eg 04/30/2012 comes out as 04/29/2012.
    however, when i run the same ad-hoc report via smart view, it is fine and the date comes out as expected. this is happening only in FR.
    Any help in this regard will be much appreciated.
    Thank you...

    I'm not sure what version you are running, but this was determined to be a bug that was fixed in 11.1.2.
    Although not pretty, you can add a similarly named dynamic member that will advance your date for you that you could use in FRS. You could use the DateRoll function: DateRoll ([Date Dimension], DP_DAY, 1 ). Just an idea.

  • Reports with output to excel - special characters not displayed correctly.

    Hi,
    I have a portal with data from 5 continents. In many places special or national characters are used in names. My portal can show most of these characters correctly and so can my version of Microsoft Office Excel. When text with these characters are copy/pasted from the screen to an excel sheet, they are also shown correctly in excel. The problem arises in portal reports, where output is set to Excel, then special characters are often displayed as strange double characters, for example á is shown as á . Does anybody have a solution to that?
    Thanks
    Arne

    No answers have been posted yet and now I have found a solution myself. The portal report is run and output set to Excel. The resulting file is opened, and a new row is inserted in the top of the sheet. In the first field in this row is written the characters *\xEF\xBB\xBF*. It is called a UTF-8 BOM, and when written in the start of a text file, it will tell the program that opens it, that UTF-8 encoding is used.<br><br>
    The file is saved with the file type CSV (semicolon separated) (*.csv) and excel is closed. When you click on the CSV-file, it is opened by excel, and now all characters with accents, circumflexes and umlauts are shown correctly.<br><br>
    The solution was found here: http://www.roosmaa.net/importing-utf-8-csvs-in-excel/

  • Generate report with data from database package

    Hi
    Is it possible to generate a report where the values come from an oracle database package instead of from an sql query declared in the report itself?
    If yes, how is it done?
    Appreciate any help. Thx.

    Hi,
    You can use REF CURSORs to generate reports from a database package.
    For information about REF CURSORs, please see Chapter 40 'Building a Paper Report with REF CURSORs' of the Oracle Reports Building Reports manual.
    This chapter is at:
    http://download-uk.oracle.com/docs/html/B13895_01/orbr_refcur.htm#i1011693
    Hope this helps.
    Regards,
    Panna

  • Matrix report with Date

    Hi All,
    How do I generate a report with colum is data and row is date like below, and then generate a chart that show the progress by each day. Thanks so much for your help.
    Date 03/17/2006 03/18/2006 03/19/2006 03/20/2006 .........
    My Data
    Data 1 2 20 3 28
    Data 2 3 35 0 0
    Data 3 6 88 9 7
    Data 4 8 123 100 88
    Best Regards,
    Andy Pham

    Hi Andy,
    In a matrix report, the usual problem with reporting by all the dates in a period is that they may be gaps in dates where there is no data for that day.
    Therefore, you will need to have a workaround by having a view with all the possible dates using something like the following SQL.
    eg
    CREATE VIEW MY_VIEW AS
    SELECT (TRUNC(sysdate) -30 + ROWNUM) DATES FROM user_objects WHERE rownum < 31;
    You can play around with this SQL to suit your requirements.
    In your query for the matrix report, include MY_VIEW to the query and outer join your date column to DATES. ie DATES = your_date_column(+)
    Use DATES as a MATRIX column field and it will give you 30 columns. The MATRX row field and MATRIX cell field will be your own data.
    One very important thing to note is your date column must be truncated to 0 hours and minutes otherwise you will not get matching records.
    Regards,
    John

  • Interactive Report with Date Filter

    Hi out there,
    I created an interactive report which contains a date column. The default filter-options just work fine. But my users need to filter with the data which is contained in the report e.g. if a row contains 21.06.2000 they want to see this value in the filter-list of this date column and not the predefined defaults (last five years, last day and so on).
    I already tried to specify the date as a string and did a select ... to_char ( date_column, 'dd.mm.yyyy' ) which broke the sorting but gave me the filter-options my users wanted. Specifing the date as yyyy.mm.dd is not an option for my users.
    Is it possible to get a filter which shows the "real" data and keeps the right sort order ?
    Regards and thanks
    Markus

    Markus,
    I've come up against this too. A varchar column gives you the selection list but no filtering using <,>,between etc., but a date column doesn't show the discrete data values. Users tend to ask for both, and putting both date and varchar columns in the report or using an LOV isn't very elegant.
    Is there anything significant about the dates the users want to search directly on? Judging from your 21.06.2000 example I'd guess not, but if so you can build your own column in the SELECT statement and use that for filtering/creating default reports.
    regards,
    Malcolm.
    Edited by: MalcA on Feb 16, 2012 11:39 AM

  • How to list all reports with details for when it was last run by whom?

    Hi, Expert:
    We are running BW3.5. I need to create a report to get a list of all reports (including queries, workbook, web report) with the details of on which day was the report last executed and which user ran it.
    Is there any report in bussiness contact provide this information?
    I was tring of using statistic cube 0BWTC_C02. Is it the right cube to use?
    I was setting up filter by characteristics "Process Type OLAP" including only values of "Execute Query/Navigation Step" and "Query in WWW", also by characteristics "Object Version" including only value of "Active". Will these filter get correct data?
    Can someone please tell me what the following date/time fields mean? e.g. when it is executed, changed, data captured?
    Key Figure: "Start Date"
    Characteristics: "Calendar Day"
    Characteristics: "UTC Timestamp"
    Thanks,
    Jenny

    Hi,
    This below help link provides a detail description of each and every field of 0BWTC_C02.
    Also it gives details about the calculated key figures like "when the query was last run" etc.
    Check if all your reports based on InfoCubes and are the statistics ON for those cubes or reports?
    http://help.sap.com/saphelp_bw33/helpdata/en/52/e91c3b85e6e939e10000000a11402f/frameset.htm
    Thanks
    El.

  • IBot report with data security

    Hi All,
    We have 10 different customers, we have a report that generates the data of all the customers. We want to test an Ibot of a report for different customers when the users receive the report thro email. How can we configure/test that only the required rows are sent to the corresponding users and not of any other customer's data?
    Pls help...
    Thanks Shravan

    Check this thread: OBIEE report filter and delivery ibots
    -Amith.

  • Generate a report with date range and year as POV with Hyp Planning ?

    Hi everybody,
    I am starting with hyp planning and i need your help please.
    I have to create some forms. In those forms, the final user is supposed to be able to display data in the forms between 2 dates and for a specific year.
    My first problem : I don't know how you can display data in a form between 2 dates and for one specific year. I just have one dimension YEAR and one PERIOD, so if i selected them as a PAGE, the final user will just be able to choose the month and the year for his form ... and not displaying data between 2 dates.
    My second problem is with the dimensions YEAR, SCENARIO and VERSION. I don't want to put the dimensions VERSION and SCENARIO as PAGE (it easier for the final user to just choose a year than to choose a year, scenario, and version) but as POV with a relationship with the dimension YEAR (because if the user chooses YEAR = actual_year (2012) the VERSION and the SCENARIO won't be the same than if the user chooses YEAR= last_year). IF YEAR = next_year, VERSION=Propuesta, SCENARIO=Forecast
    IF YEAR = actual_year, VERSION=Propuesta, SCENARIO=Forecast AC
    IF YEAR = last_year, VERSION=Actual, SCENARIA=Real
    How can i do that?
    Thank you for your help
    Edited by: 932573 on May 7, 2012 3:44 PM
    Edited by: 932573 on May 7, 2012 4:27 PM

    I am not sure if you are using RAS or Enterprise SDK, but here are some code snippets to set range report parameters:
    For scheduling:
    // oReport is IReport object holding the crystal report.
    oReportParameter = oReport.getReportParameters().get(i);
    currentRangeValue = oReportParameter.getCurrentValues().addRangeValue();
    currentRangeValue.getFromValue().setValue(dateParameter);
    currentRangeValue.getToValue().setValue(dateParameter);
    For viewing:
    ParameterFieldRangeValue pfrv = new ParameterFieldRangeValue();
    pfrv.setBeginValue(dateTimeValue);
    pfrv.setEndValue(dateTimeValue1);
    pfrv.setLowerBoundType(RangeValueBoundType.inclusive);
    pfrv.setUpperBoundType(RangeValueBoundType.inclusive);
    pf.getCurrentValues().add(pfrv);
    f.add(pf);
    f is Fields object and pass that to viewer.

  • Stock report with date range

    Hi Experts.
    Material stock report (unrestricted, blocked, quality) with in date range.
    getting information in T-CODE:  MB52 but not in date range.
    In mard table i did't find the date for unrestricted, blocked and quality.
    from where can i get that information and how should i link all
    Need a psudo code for it.
    If any one worked on this kind of object plz send me the code.
    Points assured..
    Regards..
    Ravi Reddy.

    Hi
    Check this sample code hope it will helpfull for you
    *DATA: ED TYPE F.
    DATA : ED(15) TYPE N .
    TABLES: EKKO, EKBE, EKPO, KONH , KONV ,LFA1 ,ESLL.
    TYPE-POOLS: SLIS.
    DATA: val1  like konh-vakey.
    Data:GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
         G_REPID LIKE SY-REPID,
         G_GRID_TITLE TYPE LVC_TITLE.
    Data:G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
    DATA:G_TABNAME TYPE SLIS_TABNAME VALUE 'ITAB1',
    G_SAVE .
    DATA:GS_VARIANT LIKE DISVARIANT.
    DATA:LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA:GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
         G_SAVE = 'A'.
    DATA: BEGIN OF ITAB OCCURS 10,
              EBELN LIKE EKKO-EBELN,
    *          LIFNR  like p_vendor,
              LIFNR LIKE EKKO-LIFNR,
              NAME1 LIKE LFA1-NAME1,
              NAME2 LIKE LFA1-NAME2,
    *          EBELP LIKE EKBE-EBELP,
              BELNR LIKE EKBE-BELNR,
              VGABE LIKE EKBE-VGABE,
              GJAHR LIKE EKBE-GJAHR,
              KNUMV LIKE EKKO-KNUMV,
              EKORG LIKE EKKO-EKORG,
              BEDAT LIKE EKKO-BEDAT,
    *          VAKEY LIKE KONH-VAKEY,
         END OF ITAB.
    DATA: BEGIN OF ITAB1 OCCURS 10,
              NAME1 LIKE LFA1-NAME1,
              NAME2 LIKE LFA1-NAME2,
              EBELN LIKE EKPO-EBELN,
              LIFNR LIKE EKKO-LIFNR,
              EBELP LIKE EKPO-EBELP,
    *          EBELP LIKE EKBE-EBELP,
              KNUMH LIKE KONH-KNUMH,
              BELNR LIKE EKBE-BELNR,
              MATNR LIKE EKPO-MATNR,
              TXZ01 LIKE EKPO-TXZ01,
              PS_PSP_PNR LIKE EKKN-PS_PSP_PNR,
              EXTROW LIKE ESLL-EXTROW,
              SRVPOS LIKE ESLL-SRVPOS,
              KTEXT1 LIKE ESLL-KTEXT1,
              KOSTL LIKE EKKN-KOSTL,
              NETPR LIKE EKPO-NETPR,
              NETWR LIKE EKPO-NETWR,
              ED1  TYPE p decimals 2,
              KBETR2 LIKE KONV-KBETR,
              KBETR1 LIKE KONV-KBETR,
              KBETR LIKE KONV-KBETR,
    *          KBETR3 LIKE KONV-KBETR,
              KWERT LIKE KONV-KWERT, " THIS IS FOR FREIGHT
              KWERT1 LIKE KONV-KWERT, " THIS IS FOR PBXX OR PB00
              KWERT2 LIKE KONV-KWERT, " THIS FOR OTHER CONDITION
              MENGE LIKE EKPO-MENGE,
    *          TOTAL(15) type  .
              TOTAL TYPE p decimals 2,
              VAKEY LIKE KONH-VAKEY,
              WERKS LIKE EKPO-WERKS,
              MWSKZ LIKE EKPO-MWSKZ,
              PACKNO LIKE EKPO-PACKNO,
              KNUMV LIKE KONV-KNUMV,
              SUB_PACKNO LIKE ESLL-SUB_PACKNO,
              GJAHR LIKE RSEG-GJAHR,
          END OF ITAB1.
    DATA: BEGIN OF ITAB2 OCCURS 10,
             EBELN LIKE EKKN-EBELN,
             EBELP LIKE EKKN-EBELP,
             PS_PSP_PNR LIKE EKKN-PS_PSP_PNR,
             KOSTL      LIKE EKKN-KOSTL,
          END OF ITAB2.
    data: begin of itab3 occurs 10,
            KNUMH LIKE KONH-KNUMH,
            KSCHL LIKE KONH-KSCHL,
         end of itab3.
    data: begin of itab4 occurs 10,
            KBETR LIKE KONP-KBETR,
          end of itab4.
    data: begin of itab5 occurs 10,
            KPOSN LIKE KONV-KPOSN,
            KNUMV LIKE KONV-KNUMV,
            KSCHL LIKE KONV-KSCHL,
            KBETR LIKE KONV-KBETR,
            KWERT LIKE KONV-KWERT, " THIS IS FOR FREIGHT
    *          KAWRT LIKE KONV-KAWRT,
         end of itab5.
    DATA: BEGIN OF ITAB6 OCCURS 10,
    *          PACKNO LIKE EKPO-PACKNO,
              SUB_PACKNO LIKE ESLL-SUB_PACKNO,
            END OF ITAB6.
    DATA: BEGIN OF ITAB7 OCCURS 10,
           BELNR LIKE RSEG-BELNR,
           GJAHR LIKE RSEG-GJAHR,
    END OF ITAB7.
    DATA: BEGIN OF ITAB8 OCCURS 10,
           SUB_PACKNO LIKE ESLL-SUB_PACKNO,
           SRVPOS LIKE ESLL-SRVPOS,
           EXTROW LIKE ESLL-EXTROW,
           KTEXT1 LIKE ESLL-KTEXT1,
    END OF ITAB8.
    *selection-screen
    *SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    *SELECTION-SCREEN SKIP 2.
    *SELECTION-SCREEN BEGIN OF LINE.
    *SELECTION-SCREEN COMMENT 25(23) text-002.
    **SELECT-OPTIONS: s_lifnr FOR ekko-lifnr.
    *PARAMETERS:p_lifnr LIKE ekko-lifnr obligatory.
    *SELECTION-SCREEN END OF LINE.
    *SELECTION-SCREEN END OF BLOCK b1.
    START-OF-SELECTION.
      PERFORM get_data.
    *  PERFORM field_catalog.
    *  PERFORM display_data.
    END-OF-SELECTION.
    **&      Form  display_data
    **       text
    *FORM display_data.
    *data: new(15) TYPE N.
    *  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    *    EXPORTING
    *      i_callback_program = sy-repid
    *      it_fieldcat        = int_cat[]
    *    TABLES
    *      t_outtab           = int_out
    *    EXCEPTIONS
    *      program_error      = 1
    *      OTHERS             = 2.
    *ENDFORM.                    "display_data
    PERFORM GET_DATA.
    PERFORM CALL_ALV_GRID.
    FORM CALL_ALV_GRID.
    PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM                = G_repid
          I_CALLBACK_USER_COMMAND           = G_USER_COMMAND
          I_GRID_TITLE                      = G_GRID_TITLE
          IT_FIELDCAT                       = GT_FIELDCAT[]
          I_DEFAULT                         = 'X'
          I_SAVE                            =  G_SAVE
          IS_VARIANT                        =  Gs_VARIANT
        TABLES
          T_OUTTAB                          = ITAB1.
    ENDFORM.
    FORM FIELDCAT_INIT
           USING RT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-seltext_l     = 'Vendo No'.
      LS_FIELDCAT-FIELDNAME     = 'LIFNR'.
      LS_FIELDCAT-REF_FIELDNAME = 'LIFNR'.
      LS_FIELDCAT-REF_TABNAME   = 'EKKO'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
       CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-SELTEXT_L  = 'Vendor Name'.
      LS_FIELDCAT-FIELDNAME     = 'NAME1'.
      LS_FIELDCAT-REF_FIELDNAME = 'NAME1'.
      LS_FIELDCAT-REF_TABNAME   = 'LFA1'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    * CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-FIELDNAME     = 'NAME2'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'NAME2'.
    *  LS_FIELDCAT-REF_TABNAME   = 'LFA1'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-seltext_l   = 'Purchase Document No'.
      LS_FIELDCAT-FIELDNAME     = 'EBELN'.
      LS_FIELDCAT-REF_FIELDNAME = 'EBELN'.
      LS_FIELDCAT-REF_TABNAME   = 'EKKO'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    *  CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-FIELDNAME     = 'VGABE'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'VGABE'.
    *  LS_FIELDCAT-REF_TABNAME   = 'EKBE'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-SELTEXT_L     = 'Item No'.
      LS_FIELDCAT-FIELDNAME     = 'EBELP'.
      LS_FIELDCAT-REF_FIELDNAME = 'EBELP'.
      LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    *  CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-FIELDNAME     = 'BELNR'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'BELNR'.
    *  LS_FIELDCAT-REF_TABNAME   = 'EKBE'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
       CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-SELTEXT_L     = 'Document Con'.
      LS_FIELDCAT-FIELDNAME     = 'KNUMH'.
      LS_FIELDCAT-REF_FIELDNAME = 'KNUMH'.
      LS_FIELDCAT-REF_TABNAME   = 'KONH'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    *   CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-SELTEXT_L = 'Service/Material No'.
    *  LS_FIELDCAT-FIELDNAME     = 'MATNR'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'MATNR'.
    *  LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    *   CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-SELTEXT_L = 'Service / Material description' .
    *  LS_FIELDCAT-FIELDNAME     = 'TXZ01'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'TXZ01'.
    *  LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    *   CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-SELTEXT_L =  'WBS Element' .
    *  LS_FIELDCAT-FIELDNAME     = 'PS_PSP_PNR'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'PS_PSP_PNR'.
    *  LS_FIELDCAT-REF_TABNAME   = 'EKKN'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    *   CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-SELTEXT_L =  'Serial Number' .
    *  LS_FIELDCAT-FIELDNAME     = 'EXTROW'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'PACKNO'.
    *  LS_FIELDCAT-REF_TABNAME   = 'ESLL'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    *  CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-SELTEXT_L =  'Service Number' .
    *  LS_FIELDCAT-FIELDNAME     = 'SRVPOS'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'SRVPOS'.
    *  LS_FIELDCAT-REF_TABNAME   = 'ESLL'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    *   CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-SELTEXT_L =  'Dscription' .
    *  LS_FIELDCAT-FIELDNAME     = 'KTEXT1'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'KTEXT1'.
    *  LS_FIELDCAT-REF_TABNAME   = 'ESLL'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    *   CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *    LS_FIELDCAT-SELTEXT_L = 'Cost Center'.
    *  LS_FIELDCAT-FIELDNAME     = 'KOSTL'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'KOSTL'.
    *  LS_FIELDCAT-REF_TABNAME   = 'EKKN'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-FIELDNAME     = 'NETWR'.
      LS_FIELDCAT-FIELDNAME     = 'NETPR'.
      LS_FIELDCAT-reptext_ddic = 'Basic'.
    *  LS_FIELDCAT-SELTEXT_L    = 'Basic'.
       LS_FIELDCAT-REF_FIELDNAME = 'NETPR'.
      LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-FIELDNAME     = 'NETWR'.
    *  LS_FIELDCAT-FIELDNAME     = 'NETPR'.
    *  LS_FIELDCAT-reptext_ddic = ''.
    *  LS_FIELDCAT-SELTEXT_L    = 'Basic'.
       LS_FIELDCAT-REF_FIELDNAME = 'NETWR'.
      LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
        LS_FIELDCAT-SELTEXT_L = 'Excise'.
      LS_FIELDCAT-FIELDNAME     = 'ED1'.
      LS_FIELDCAT-REF_FIELDNAME = 'ED1'.
    *  LS_FIELDCAT-REF_TABNAME   = 'EKKN'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
       CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-SELTEXT_L = 'Insurance'.
      LS_FIELDCAT-FIELDNAME     = 'KBETR2'.
        LS_FIELDCAT-REF_FIELDNAME = 'KBETR'.
      LS_FIELDCAT-REF_TABNAME   = 'KONV'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-SELTEXT_L     = 'Frieght'.
      LS_FIELDCAT-FIELDNAME     = 'KWERT'.
      LS_FIELDCAT-REF_FIELDNAME = 'KWERT'.
      LS_FIELDCAT-REF_TABNAME   = 'KONV'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    * CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-SELTEXT_L     = '' .
    *  LS_FIELDCAT-FIELDNAME     = 'KBETR1'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'KBETR'.
    *  LS_FIELDCAT-REF_TABNAME   = 'KONV'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    *CLEAR LS_FIELDCAT.
    *  LS_FIELDCAT-TABNAME       = G_TABNAME.
    *  LS_FIELDCAT-SELTEXT_L     = 'PBXX'.
    *  LS_FIELDCAT-FIELDNAME     = 'KWERT1'.
    *  LS_FIELDCAT-REF_FIELDNAME = 'KWERT'.
    *  LS_FIELDCAT-REF_TABNAME   = 'KONV'.
    *  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-SELTEXT_L     = 'VAT/ST '.
      LS_FIELDCAT-FIELDNAME     = 'KBETR'.
      LS_FIELDCAT-REF_FIELDNAME = "KBETR".
      LS_FIELDCAT-REF_TABNAME   = 'KONV'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
    CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-SELTEXT_L     = 'OTHER '.
      LS_FIELDCAT-FIELDNAME     = 'KWERT2'.
      LS_FIELDCAT-REF_FIELDNAME = "KWERT".
      LS_FIELDCAT-REF_TABNAME   = 'KONV'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-TABNAME       = G_TABNAME.
      LS_FIELDCAT-SELTEXT_L = 'TOTAL'.
      LS_FIELDCAT-FIELDNAME     = 'TOTAL'.
      LS_FIELDCAT-REF_FIELDNAME = 'TOTAL'.
    *  LS_FIELDCAT-REF_TABNAME   = 'EKKN'.
      APPEND LS_FIELDCAT TO  RT_FIELDCAT.
       ENDFORM.                    " FIELDCAT_INIT
       FORM GET_DATA.
       SELECT  A~EBELN A~LIFNR  A~EKORG A~KNUMV B~VGABE  B~GJAHR B~BELNR
               L~NAME1 L~NAME2
            FROM  EKKO AS A
                          INNER JOIN EKBE  AS B ON  B~EBELN = A~EBELN
                          INNER JOIN LFA1 AS L ON L~LIFNR = A~LIFNR
                          INTO  CORRESPONDING
                          FIELDS OF TABLE ITAB.
    *                      WHERE B~VGABE = '2'.
    SELECT EKPO~EBELN EKPO~EBELP EKPO~MATNR EKPO~TXZ01 EKPO~WERKS
              EKPO~NETWR EKPO~MENGE EKPO~MWSKZ  EKPO~NETPR EKPO~PACKNO
              FROM EKPO
                        INTO CORRESPONDING FIELDS OF TABLE ITAB1
                        FOR ALL ENTRIES IN ITAB
                        WHERE EKPO~EBELN = ITAB-EBELN and
                              EKPO~BUKRS = 'company code'.
       SELECT EKKN~EBELN EKKN~EBELP EKKN~KOSTL EKKN~PS_PSP_PNR
          FROM EKKN
                   INTO CORRESPONDING FIELDS OF TABLE ITAB2
                   FOR ALL ENTRIES IN ITAB1
                   WHERE EKKN~EBELN = ITAB1-EBELN  AND
                         EKKN~EBELP = ITAB1-EBELP.
       SELECT KONV~KNUMV KONV~KSCHL KONV~KBETR KONV~KWERT KONV~KWERT
                  KONV~KPOSN
          FROM KONV
              INTO CORRESPONDING FIELDS OF TABLE ITAB5
              WHERE KONV~KNUMV =   ITAB1-KNUMV AND
                    KONV~KPOSN = ITAB1-EBELP.
    *    SELECT LFA1~NAME1 LFA1~NAME2 FROM LFA1
    *    INTO CORRESPONDING FIELDS OF TABLE ITAB1
    *    WHERE  LFA1~LIFNR = ITAB-LIFNR.
    *  SELECT ESLL~SUB_PACKNO ESLL~SRVPOS
    *           ESLL~EXTROW  ESLL~KTEXT1 FROM ESLL
    *       INTO CORRESPONDING FIELDS OF TABLE ITAB6
    *       FOR ALL ENTRIES IN ITAB1
    *       WHERE ESLL~PACKNO = ITAB1-PACKNO .
    **         SELECT ESLL~SUB_PACKNO FROM ESLL
    **       INTO CORRESPONDING FIELDS OF TABLE ITAB6
    **       FOR ALL ENTRIES IN ITAB1
    **       WHERE ESLL~PACKNO = ITAB1-PACKNO.
    *        SELECT ESLL~SUB_PACKNO ESLL~SRVPOS
    *           ESLL~EXTROW  ESLL~KTEXT1 FROM ESLL
    *       INTO CORRESPONDING FIELDS OF TABLE ITAB8
    *       FOR ALL ENTRIES IN ITAB6
    *       WHERE ESLL~PACKNO = ITAB6-SUB_PACKNO .
    * SELECT RSEG~BELNR RSEG~GJAHR FROM RSEG
    *        INTO CORRESPONDING FIELDS OF TABLE  ITAB7
    *        FOR ALL ENTRIES IN ITAB
    *        WHERE RSEG~BELNR = ITAB-BELNR AND
    *              RSEG~GJAHR = ITAB-GJAHR.
    *LOOP AT ITAB1.
    LOOP AT ITAB.
                  READ TABLE ITAB1 WITH KEY EBELN = ITAB-EBELN.
    *         IF ITAB1-EBELN = ITAB-EBELN.
                    IF sy-subrc eq 0.
    *                          ITAB1-EBELN = ITAB-EBELN.
                              ITAB1-LIFNR = ITAB-LIFNR.
    *                          ITAB1-EBELP = ITAB-EBELP.
                              ITAB1-BELNR = ITAB-BELNR.
                              ITAB1-KNUMV = ITAB-KNUMV.
                              ITAB1-NAME1  = ITAB-NAME1.
                              ITAB-NAME2 = ITAB-NAME2.
                              ITAB1-GJAHR = ITAB-GJAHR.
                    modify itab1 index   sy-tabix.
            ENDIF.
    ENDLOOP.
    *LOOP AT ITAB2.
    *         READ TABLE ITAB1 WITH KEY EBELN = ITAB2-EBELN.
    *          IF sy-subrc eq 0.
    *              ITAB1-EBELN = ITAB2-EBELN.
    *              ITAB1-PS_PSP_PNR = ITAB2-PS_PSP_PNR.
    *              ITAB1-KOSTL = ITAB2-KOSTL.
    *               modify itab1 transporting ps_psp_pnr kostl
    *               where ebeln = Itab2-ebeln AND EBELP = ITAB2-EBELP.
    *          ENDIF.
    *ENDLOOP.
    LOOP AT ITAB1.
    **ON CHANGE OF   ITAB1-ebeln or itab1-ebelp.
    *     concatenate itab1-werks itab1-lifnr itab1-matnr
    *         into val1.
    *   MOVE VAL1 TO ITAB1-VAKEY.
    *   MODIFY ITAB1.
    *    SELECT KONH~KNUMH KONH~KSCHL FROM KONH
    *        INTO  CORRESPONDING FIELDS OF TABLE ITAB3
    *        FOR ALL ENTRIES IN ITAB1
    *        WHERE KONH~VAKEY = ITAB1-VAKEY.
    **endon.
    **        sort Itab3 by kschl descending.
    **        Select konp-kbetr  from konp into itab4 where
    **        KONP~KNUMH = ITAB3-KNUMH AND KONP~KSCHL = ITAB3-KSCHL.
    **ON CHANGE OF  ITAB1-ebelp.
    **LOOP AT ITAB3
    **  ON CHANGE OF  ITAB1-ebelp.
    *              itab1-knumh = itab3-knumh.
    **              SELECT  KONP~KBETR FROM KONP INTO CORRESPONDING FIELDS
    **              OF  TABLE  ITAB4
    **              FOR ALL ENTRIES IN ITAB3   WHERE
    **              KONP~KNUMH = ITAB3-KNUMH AND KONP~KSCHL = ITAB3-KSCHL .
    **              IF ITAB3-KSCHL = 'JMOP' .
    **               ED = ITAB4-KBETR / 1000 * ITAB1-NETWR .
    **              ENDIF.
    **             IF ITAB3-KSCHL = 'JEC1'.
    **              Itab1-ed1 = ITAB4-KBETR / 1000 * ED.
    **              ADD ED TO ITAB1-ED1.
    **             modify  ITAB1 transporting ed1.
    **             ENDIF.
    *              IF ITAB3-KSCHL = 'JMOP' .
    *               ED = 16 / 100 * ITAB1-NETWR .
    *              ENDIF.
    *             IF ITAB3-KSCHL = 'JEC1'.
    *              Itab1-ed1 = 2 / 100 * ED.
    *              ADD ED TO ITAB1-ED1.
    *             modify  ITAB1 transporting ed1.
    *             ENDIF.
    **        ENDLOOP.
    **endon.
    modify  ITAB1.
    *endon.
      LOOP AT ITAB5.
         IF ITAB5-KSCHL = 'NAVS' OR ITAB5-KSCHL = 'NAVM'.
                ITAB1-KBETR = ITAB5-KBETR.
                 modify  ITAB1 transporting KBETR
                 where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP .
               ELSEIF ITAB5-KSCHL = 'FRA1' OR ITAB5-KSCHL = 'FRC1' OR
                    ITAB5-KSCHL = 'FRB1'.
                       ITAB1-KWERT = ITAB5-KWERT .
                       modify  ITAB1 transporting KWERT
                       where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
    *               IF ITAB5-KSCHL = 'FRA1'.
    *                    ITAB1-KBETR1 = ITAB5-KBETR / 1000 * ITAB1-NETWR .
    *                   modify  ITAB1 transporting KBETR1
    *                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
    *                 ELSEIF ITAB5-KSCHL = 'FRC1' .
    *                   ITAB1-KBETR1 = ITAB5-KBETR * ITAB1-MENGE .
    *                   modify  ITAB1 transporting KBETR1
    *                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
    *                 ELSEIF ITAB5-KSCHL = 'FRB1' .
    *                    ITAB1-KBETR1 = ITAB5-KBETR .
    *                   modify  ITAB1 transporting KBETR1
    *                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
    *              ENDIF.
    *           **THIS  CODE IS FOR iNSURANCE  CONDITION
               ELSEIF ITAB5-KSCHL = 'ZGIN' OR ITAB5-KSCHL = 'ZIN2'.
                       ITAB1-KBETR2 = ITAB5-KBETR.
                       modify  ITAB1 transporting KBETR2
                       where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
    *           **THIS  CODE IS FOR PBXX OR PB00  CONDITION
    *          ELSEIF ITAB5-KSCHL = 'PBXX' OR ITAB5-KSCHL = 'PB00'.
    *                   ITAB1-KWERT1 = ITAB5-KWERT1.
    *                   modify  ITAB1 transporting KWERT1
    *                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
    **          ELSEIF ITAB5-KSCHL = 'JOCM' OR ITAB5-KSCHL = 'RA00' OR
    **                 ITAB5-KSCHL = 'RA01' OR ITAB5-KSCHL = 'RB00' OR
    **                 ITAB5-KSCHL = 'RC00' OR
    **THIS  CODE IS FOR OTHER CONDITION
               ELSEIF ITAB5-KSCHL = 'RL01' OR ITAB5-KSCHL = 'ZA00' OR
                     ITAB5-KSCHL = 'ZA01' OR ITAB5-KSCHL = 'ZAE1' OR
                     ITAB5-KSCHL = 'ZAED' OR
                     ITAB5-KSCHL = 'ZAFR' OR ITAB5-KSCHL = 'ZB00' OR
                     ITAB5-KSCHL = 'ZBCH' OR ITAB5-KSCHL = 'ZBED' OR
                     ITAB5-KSCHL = 'ZC00' OR
                     ITAB5-KSCHL = 'ZCEX' OR ITAB5-KSCHL = 'ZCIF' OR
                     ITAB5-KSCHL = 'ZHC1' OR ITAB5-KSCHL = 'ZHC2' OR
                     ITAB5-KSCHL = 'ZHCT' OR
                     ITAB5-KSCHL = 'ZHCV' OR ITAB5-KSCHL = 'ZJOC' OR
                     ITAB5-KSCHL = 'ZOTH' OR ITAB5-KSCHL = 'ZOTP' OR
                     ITAB5-KSCHL = 'ZOTT' OR
                     ITAB5-KSCHL = 'ZPK1' OR ITAB5-KSCHL = 'ZPK2' OR
                     ITAB5-KSCHL = 'ZPK3' OR ITAB5-KSCHL = 'ZPK4' OR
                     ITAB5-KSCHL = 'ZRPO' OR
                     ITAB5-KSCHL = 'ZSE1' OR ITAB5-KSCHL = 'ZSED' OR
                     ITAB5-KSCHL = 'ZSFR' OR ITAB5-KSCHL = 'ZSTX' OR
                     ITAB5-KSCHL = 'ZTPI' OR
                     ITAB5-KSCHL = 'ZTPV' OR ITAB5-KSCHL = 'ZTRD' OR
                     ITAB5-KSCHL = 'ZWCT'.
                       ITAB1-KWERT2 = ITAB5-KWERT.
                       modify  ITAB1 transporting KWERT2
                       where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
              modify itab1.
           ENDIF.
    ENDLOOP .
    ITAB1-TOTAL = ITAB1-NETWR + ITAB1-KWERT2 + ITAB1-KWERT + ITAB1-KBETR.
    *              ITAB1-TOTAL = ITAB1-NETWR + ITAB1-ED1 + ITAB1-KBETR2 +
    *                     ITAB1-KBETR1 + ITAB1-KBETR + ITAB1-KWERT   .
                     modify  ITAB1 transporting TOTAL.
    LOOP AT ITAB6.
              ITAB1-SUB_PACKNO = ITAB6-SUB_PACKNO.
    *           modify  ITAB1.
    ENDLOOP.
    LOOP AT ITAB7.
            ITAB1-BELNR = ITAB7-BELNR.
            ITAB1-GJAHR = ITAB7-GJAHR.
      ENDLOOP.
    LOOP AT ITAB8.
              ITAB1-SUB_PACKNO = ITAB8-SUB_PACKNO.
              ITAB1-SRVPOS  = ITAB8-SRVPOS.
              ITAB1-EXTROW = ITAB8-EXTROW.
              ITAB1-KTEXT1 = ITAB8-KTEXT1.
              modify  ITAB1.
    ENDLOOP.
    * SELECT ESLL~PACKNO ESLL~SUB_PACKNO ESLL~SRVPOS ESLL~KTEXT1
    *          FROM ESLL
    *          INTO CORRESPONDING FIELDS OF TABLE ITAB6
    *          WHERE ESLL~PACKNO = ITAB1-PACKNO.
    ** delete  adjacent  duplicates  from itab1 comparing EBELN .
    modify  ITAB1.
    endloop.
    sort Itab1 by EBELN Ascending.
            SELECT KONV~KBETR FROM KONV
            INTO ITAB1-KBETR
            WHERE KONV~KSCHL =  'NAVS' OR KONV~KSCHL = 'NAVM'.
            ENDSELECT.
            ITAB1-KBETR = ITAB5-KBETR.
    *ENDLOOP.
    *ENDLOOP.
    *ENDLOOP.
    ENDFORM.
    Reward all helpfull answers
    Regards
    Pavan

  • Calling the selection screen of report with data for the selection field

    I have the selection screen with 2 fileds.
    sales order and  payment terms.
    My requirement is to update the payment terms into the ztable for the given order.
    Sometimes the payment terms will be there ie already maintained ,in that case i need to show to the user the existing payment term ,so that he can modify and save that one.If the payment term is not existing then simply i can go inside the program and update the payment term.
    What I thought of doing is , writing a report program and then after the user inputs the selection screen ie order number , I Will check in the ztable and if the payment terms is found then i will use the key word leave list processing. But i dont know how to populate the payement term in the selection screen oncegaing from the program

    Hi shiva,
    when the user enters sales order number on screen, in parameter 1,
    you want to show payment term, on selection screen itself, in parameter 2.
    We can use the event
    AT SELECTION-SCREEN.
    Eg. PO Number <----
    > User
    Below is sample code for same.
    If you enter PO Number, the system will show the corresponding user in parameter2.
    Just copy paste.
    REPORT  YAM_TEMPA09.
    PARAMETERS : EBELN LIKE EKKO-EBELN.
    PARAMETERS : ERNAM LIKE EKKO-ERNAM.
    AT SELECTION-SCREEN.
    ERNAM = ''.
    SELECT SINGLE ERNAM
    FROM EKKO
    INTO ERNAM
    WHERE EBELN = EBELN.
    regards,
    amit m.

  • Report with date range where the daily customer receipt profit centre wise

    Hi Experts,
    Could you please suggest me is there any developed  standard report or t-cod eis available  with which i can get date range where the daily customer receipt profit centre wise can be obtained............
    Thanks in Advance........
    Santosh Gupta...

    Hi:
              For this purpose you can develop Z report. There is no such standard report for it. Copy FBL5N to make a Z copy of it and use the table FAGLFLEXA for each document posted in BSEG/BKPF. You can also make use of BTE 1650.
    Regards

  • KE5Z report with date selection

    Good afternoon,
    Is there a standard COPA report that would allow me to report the information available on KE5Z with a dynamic selection to select a date range
    I have tried using FBL3N but it does not contain either the product codes (output & input) nor the quantities confirmed
    thanks in advance for your help
    Laurent

    Hi
    By default the KE5Z offers to select the Line items by Posting period
    However, inside the KE5Z, when the output is displayed, you can inlcude column POSTING DATE and filter your List to display what you want
    You can create a Layout - SAVE IT and specify this layout in the KE5Z before executing the report
    OR
    Last option is to create a ZKE5Z copying the standrad program and built the logic you want based on dates instead of Period
    br, Ajay M

Maybe you are looking for