OSB Custom Report Provider Sample - in Eclilpse

I am writing a custom report provider in OSB based on the example here: http://ias.us.oracle.com/portal/page?_pageid=33,2462026&_dad=portal&_schema=PORTAL
I downloaded that and compiled it fine using ant.
Now I am trying to bring the code into Eclipse and modify the custom report provider for my needs.
I can't jar files to add to my project to resolve the following imports:
import org.apache.xmlbeans.XmlOptions;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlTokenSource;
import com.bea.wli.reporting.ReportingDataHandler;
import com.bea.wli.reporting.MessagecontextDocument;
I looked at the build.xml and this is what it has in the compile target:
<target name="compile">
<echo message=">>>>>> compile >>>>>>"/>
<echo message="debug = ${debug}, optimize = ${optimize}, deprecation = ${deprecation}"/>
     <javac srcdir="${custom.report.provider.src.dir}"
destdir="${build.custom.report.provider.dir.classes}"
          classpath="${sb.lib.common.dir}/reporting-api.jar
          :${sb.lib.dir}/alertfwk.jar"
deprecation="${deprecation}"
debug="${debug}"
optimize="${optimize}"
source="1.5"/>
<copy file="${custom.report.provider.dir}/custom_provider.properties"
          todir="${build.custom.report.provider.dir.classes}/com/bea/alsb/fileprovider"
overwrite="true"/>
<echo message=">>>>>> Done compile >>>>>>"/>
</target>
I think that means it's using these:
classpath="${sb.lib.common.dir}/reporting-api.jar
          :${sb.lib.dir}/alertfwk.jar"
but I cannot find those in my OSB directories.
I'm sure this is something simple, but I'm a little confused right now as to how the ant build works when I can't find these jars. Glad it does but I was hoping to work on this and compile my version in eclipse.
any advice or insight is appreciated.

Thanks. It resolved the com.bea.wli.reporting.* imports fine once I added the alsb.jar.
I had to add the weblogic jar from my D:\Oracle\Middleware\wlserver_10.3\server\lib for it to resolve the imports for XmlBeans and the imports in the ApplicationListener.java file.
Now everything compiles fine in Eclipse.

Similar Messages

  • Deploying a custom reporting provider in Oracle Service Bus

    Hi All,
    I am new to OSB. From the reporting documentation I understand that we can register a custom reporting provider which will be called by the Report actions in the service bus. I have written a reporting handler which implements "com.bea.wli.reporting.ReportingDataHandler" and a listener class which extends "weblogic.application.ApplicationLifecycleListener" class. In the listener class I register my report handler class with the ReportingDataManager.
    I understand that the listener class has to packaged and deployed in the WLS. Can someone help me explaining how this should be done.
    I tried deploying it as a jar but my tests do not reveal that the Report action in OSB did call my report handler. I have followed the instructions as given in http://edocs.bea.com/wls/docs90/programming/lifecycle.html yet I am not successful. I have also disabled the default JMS reporting provider.
    What needs to be done after deploying the listener? How does the OSB make use of the new listener?
    Any pointers in right direction will help me a lot.
    Thanks,
    Abarajithan.
    Edited by: user5120225 on 27-May-2009 21:00

    What needs to be done after deploying the listener? How does the OSB make use of the new listener?Did you enable reporting in your application/OSB? operational settings for the proxy contains check box (in sbconsole) Reports which should be enabled
    and also we have to put reporting action in our pipeline. Is the reporting provider not receiving events/reports even after this ?
    thanks
    Manoj

  • Custom Data Provider Not Registered in Report Server (Sql Server 2012)

    We have a simple test report project set up and can preview the reports with no errors or problems from the designer. We can deploy the report project, but when trying to view the reports from the browser, we get the following error:
    An error as occurred during report processing, (rsProcessingAborted)
    An attempt has been made to use a data extension 'LiMeDAS' that is either not registered for this report server or is not supported in this edition of Reporting Services. (rsDataExtensionNotFound)
    I have followed this article that explained how to register a data provider extension:
    https://msdn.microsoft.com/en-ca/library/bb326409.aspx
    I have placed the assemblies in:
    C:\Program Files\Microsoft SQL Server\MSRS11.LIMEDAS\Reporting Services\ReportServer\bin
    Added the following line to the rsreportserver config file (inside the <extensions><data> tags)
    <Extension Name="LiMeDAS" Type="Limedas.Data.Provider.LimedasConnection,Limedas.Data.Provider"/>
    and finally added the following to the rssrvpolicy config file (inside the top level CodeGroup tag):
    <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="LiMeDASDataProviderCodeGroup" Description="Grants permission to the LiMeDAS data processing extension for reporting services.">
                  <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSRS11.LIMEDAS\Reporting Services\ReportServer\bin\Limedas.Data.Provider.dll"
    />
                </CodeGroup> 
    We have the data extension set up perfectly for the designer, because I can see it as a type of connection and the preview works in the designer.
    But, for some reason it does not work in the server. They were set up the same way, but the server will not work. From the report manager page, when we try to add a data source, the only type option is Sql Server, none of the other extensions mentioned in
    the config file. Does anyone know what else could cause this issue? 

    Hi Justin,
    According to the error message and the issue can be caused by the edition of your SSRS is not support for the custom data provider. For example the express edition have limitation support on this:
    Features Supported by the Editions of SQL Server 2012 .
    If your edition is the supportted edition and the issue can be caused by the custom data provider do not necessarily support all the functionality supplied by Reporting Services data processing extensions. In addition, some OLE DB data providers and ODBC
    drivers can be used to author and preview reports, but are not designed to support reports published on a report server. For example, the Microsoft OLE DB Provider for Jet is not supported on the report server. For more information, see
    Data Processing Extensions and .NET Framework Data Providers (SSRS).
    If you are running on a 32-bit platform, the data provider must be compiled for a 32-bit platform. If you are running on a 64-bit platform, the data provider must be compiled for the 64-bit platform. You cannot use a 32-bit data provider wrapped with 64-bit
    interfaces on a 64 bit platform.
    More details information:Data Sources Supported by Reporting Services (SSRS)
    Similar thread for your reference:
    ERROR: An attempt has been made to use a data extension 'SQL' that is not registered for
    this report server.
    Error when viewing SSRS report with SQL Azure as data source
    If you still have any problem, please feel free to ask.
    Regards
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • Best practice of OSB logging Report handling or java code using publish

    Hi all,
    I want to do common error handling of OSB I did two implementations as below just want to know which one is the best practice.
    1. By using the custom report handler --> When ever we want to log we will use the report action of OSB which will call the Custom java class which
    Will log the data in to DB.
    2. By using plain java class --> creating a java class publish to the proxy which will call this java class and do the logging.
    Which is the best practice and pros and cons.
    Thanks
    Phani

    Hi Anuj,
    Thanks for the links, they have been helpful.
    I understand now that OSR is only meant to contain only Proxy services. The synch facility is between OSR and OSB so that in case when you are not using OER, you can publish Proxy services to OSR from OSB. What I didn't understand was why there was a option to publish a Proxy service back to OSB and why it ended up as a Business service. From the link you provided, it mentioned that this case is for multi-domain OSBs, where one OSB wants to use the other OSB's service. It is clear now.
    Some more questions:
    1) In the design-time, in OER no Endpoints are generated for Proxy services. Then how do we publish our design-time services to OSR for testing purposes? What is the correct way of doing this?
    Thanks,
    Umar

  • Enhancing Customer Reports with Commands and Parameters

    Hi All,
    I am implementing the mentioned tutorial. I have succesfully deployed the AccessStatisticApplication PAR on portal. While scheduling the report from Content Management -> Reports -> Running Reports, it is giving error "<b>Can't find bundle for base name com.sap.netweaver.km.stats.reports.DocumentAccessReport, locale en_US</b>". Has anyone faced the problem, can anyone please help to remove this runtime error.
    Related Link: <a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7d28a67b-0c01-0010-8d9a-d7e6811377c0">Enhancing Customer Reports with Commands and Parameters</a>
    Regards
    Poonam

    <i>True, the application property service is apparently not to be used for a real-life scenario</i>
    You can definitely use the application property service in production scenarios - it's used by other components in a standard KM install, i.e. out-of-the-box.
    <i>in our case it forced the server down with deadlocks. </i>
    This should definitely not happen! Did you get SAP support to take a look at this? Was it the most popular documents report that caused this, or some other custom code? There should be no such problem with this service, since it's been around for quite some time and in production use.
    <i>
    Even if the code sample is not to be used for real-life scenarios it could at least make use of something else than the application property service which isnt't optimal for this use.
    </i>
    The application property service is good for a lot of scenarios, so it is realistic to use in in real-life scenarios. The only time I have seen this approach (storing the number of hits on documents in the database) fail is in very high-load scenarios.
    <i>Could you provide me with a link to the documentation for the logging framework?</i>
    <a href="http://http://help.sap.com/saphelp_nw70/helpdata/en/d2/5c830ca67fd842b2e87b0c341c64cd/frameset.htm">Logging and Tracing</a> on help.sap.com and <a href="https://help.sap.com/javadocs/NW04S/current/en/index.html">Logging and Tracing API (J2EE Engine API)</a> for NW 7.0.

  • How to add a specific parameter in custom report

    hi,
    I have created a custom report in OIM 10g. I have three input parameters. startdate, enddate and resource object name,. With start date and end date the report is displaying correctly. when i add the resource object name as the third specific parameter is throwing the below exception
    java.sql.SQLException: Missing IN or OUT parameter at index:: 15
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)
    at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1869)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3487)
    at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:3858)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1374)
    at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:98)
    at com.thortech.xl.dataaccess.tcDataBase.readPartialStoredProcedure(Unknown Source)
    at com.thortech.xl.dataaccess.tcDataBase.readStoredProcedure(Unknown Source)
    at com.thortech.xl.dataobj.CallableStatementUtil.execute(Unknown Source)
    at com.thortech.xl.ejb.beansimpl.ReportOperationsBean.getPagedReportData(Unknown Source)
    I have given the input parameter correctly in meta data also. anywhere else we need to mention the specific parameter?
    Thanks

    Hey,
    From OIM 9.1.0.2 Reports you have two options:
    With OIMReports:
    1- Including in XML files the parameters as section: Examples of InputParameter tags and ReturnColumns tag
    2-And Creating a New Entry in the REP Table.
    http://docs.oracle.com/cd/E10391_01/doc.910/e10365/reporting.htm
    Section: How to create Report in OIM 9.1.0.2.
    With BIPublisher(easiest way-license is needed):
    Once you downloaded and install BIPub in your application server you will have access to all OIM report definitions.Then it is just a matter of learning how to change a report definition. It's very simple.
    It has a 'desktop tool' that you can install in your desktop. This specifc tool provides an extension to MS Word(MACRO) and you can even work with Word to generate report templates.
    Descriptions:
    0- deploy BIPublisher and OIM reports to your apps server
    1- Install the BIPublisher desktop tools in your desktop
    2- Modify the report query using the BIPub interface and add your UDF fields
    3- Run the report you want to modify from BIPub and export the generated data as XML
    4- Download the report template in RTF format
    5- With RTF file(open it) in your MS Word
    6- Load the XML file you generated in step 4 in your MS Word
    7- You could load this specif xml change what you want. (word will have a 'BI Publisher' menu with different operations you can do)
    7- With Report template(save it).
    8- Update the report template in the report definition(using the BIPub web interface
    9- Run the report again
    It means that front end page you need to edit this in Word page.
    The sources are here: http://www.oracle.com/technetwork/testcontent/oim-reports-9102-130923.zip
    I hope this helps,
    Thiago Leoncio.

  • Reading values from standard report in custom report dynamically

    Hello Gurus,
    I have a strange requirement, We have some standard reports which displays output in drop down blocked data. I want to create a custom report which will get that data in my internal tables.
    Just to elaborate this requirement, I will give you a example:
    I have a standard report which output as first line 'A' and second line as 'B'. Now when I press drop down in 'A', it displays line items say 1,2,3,4,5.... Similarly block 'B' once when pressed displays line items 6,7,8,9,10.
    Here I want a custom report which directly read data from this standard report and gives us the values of line items 1,2,3,4,5 in one internal table and similarly items 6,7,8,9,10 in another internal table.
    Hope the question clarifies the requirement now.
    Request you to please provide the resolution.
    Thanks,
    Harjeet

    Hi Harjeet,
    Use sumit statement for standard program and export the list to  memory. and then read list from memory and use in your custom program.
    Use below code for reference.
    DATA: t_list TYPE abaplist OCCURS 0.
    SUBMIT rfdopr10
                    ************** your options
                    AND RETURN
                    EXPORTING LIST TO MEMORY.
    CALL FUNCTION 'LIST_FROM_MEMORY'
      TABLES
        listobject       = t_list
      EXCEPTIONS
        NOT_FOUND        = 1
        OTHERS           = 2.
    BR,
    Vijay

  • Custom Authentication Provider and User Manage like SQLAuthenticator, How?

    Hi everyone,
    I faced a problem with login function of my portal (Webcenter Application). The Problem is:
    - Allow the users logging in by user that store in another system. I must communicate using low level of socket. This really is not a problem.
    - If user logged in, for first time of logging in, i must store them in some identity store (Maybe tables database).
    - View Users in Weblogic Console. To do that, i known that i must implemeted something that i dont what that are.
    Here are my work:
    - I Created a Custom Authentication Provider. And configuration in Admin Console. But i don't know what are that i should implementing to View user & group in Admin Console.
    - I Cannot logging in: After i created simple application for testing, i cannot logging in even i tested with SQLAuthenticator Provider and original DefaultProvider. In Logging Console, I saw every I Printed In The Code of Login Module.
    Here are my Code:
    <?xml version="1.0" ?>
    <MBeanType Name = "OrkitVASPortal" DisplayName = "OrkitVASPortal"
               Package = "orkit"
               Extends = "weblogic.management.security.authentication.Authenticator"
               PersistPolicy = "OnUpdate">
        <MBeanAttribute
            Name        = "ProviderClassName"
            Type        = "java.lang.String"
            Writeable   = "false"
            Default     = "&quot;orkit.OrkitVASPortalProviderImpl&quot;"
    />
        <MBeanAttribute
            Name        = "Description"
            Type        = "java.lang.String"
            Writeable   = "false"
            Default     = "&quot;WebLogic Simple Sample Audit Provider&quot;"
    />
        <MBeanAttribute
            Name        = "Version"
            Type        = "java.lang.String"
            Writeable   = "false"
            Default     = "&quot;1.0&quot;"
    />
        <MBeanAttribute
            Name        = "LogFileName"
            Type        = "java.lang.String"
            Default     = "&quot;SimpleSampleAuditor.log&quot;"
    />
    </MBeanType>
    package orkit;
    import java.util.HashMap;
    import javax.security.auth.login.AppConfigurationEntry;
    import javax.security.auth.login.AppConfigurationEntry.LoginModuleControlFlag;
    import weblogic.management.security.ProviderMBean;
    import weblogic.security.provider.PrincipalValidatorImpl;
    import weblogic.security.spi.*;
    public final class OrkitVASPortalProviderImpl implements AuthenticationProviderV2 {
        private String description;
        private LoginModuleControlFlag controlFlag;
        public OrkitVASPortalProviderImpl() {
            System.out.println("The Orkit VASPortal Provider Implemented!!!!!");
        @Override
        public IdentityAsserterV2 getIdentityAsserter() {
            return null;
        // Our mapping of users to passwords/groups, instead of being in LDAP or in a
        // database, is represented by a HashMap of MyUserDetails objects..
        public class MyUserDetails {
            String pw;
            String group;
            // We use this to represent the user's groups and passwords
            public MyUserDetails(String pw, String group) {
                this.pw = pw;
                this.group = group;
            public String getPassword() {
                return pw;
            public String getGroup() {
                return group;
        // This is our database
        private HashMap userGroupMapping = null;
        public void initialize(ProviderMBean mbean, SecurityServices services) {
            System.out.println("The Orkit VASPortal Provider is intializing......");
            OrkitVASPortalMBean myMBean = (OrkitVASPortalMBean) mbean;
            description = myMBean.getDescription() + "\n" + myMBean.getVersion();
            System.err.println("#In realm:" + myMBean.getRealm().wls_getDisplayName());
            // We would typically use the realm name to find the database
            // we want to use for authentication. Here, we just create one.
            userGroupMapping = new HashMap();
            userGroupMapping.put("a", new MyUserDetails("passworda", "g1"));
            userGroupMapping.put("b", new MyUserDetails("passwordb", "g2"));
            userGroupMapping.put("system", new MyUserDetails("12341234",
                    "Administrators"));
            String flag = myMBean.getControlFlag();
            if (flag.equalsIgnoreCase("REQUIRED")) {
                controlFlag = LoginModuleControlFlag.REQUIRED;
            } else if (flag.equalsIgnoreCase("OPTIONAL")) {
                controlFlag = LoginModuleControlFlag.OPTIONAL;
            } else if (flag.equalsIgnoreCase("REQUISITE")) {
                controlFlag = LoginModuleControlFlag.REQUISITE;
            } else if (flag.equalsIgnoreCase("SUFFICIENT")) {
                controlFlag = LoginModuleControlFlag.SUFFICIENT;
            } else {
                throw new IllegalArgumentException("Invalid control flag " + flag);
        public AppConfigurationEntry getLoginModuleConfiguration() {
            HashMap options = new HashMap();
            options.put("usermap", userGroupMapping);
            System.out.println("UserMap: " + options);
            return new AppConfigurationEntry(
                    "orkit.OrkitVASPortalLoginModule",
                    controlFlag, options);
        public String getDescription() {
            return description;
        public PrincipalValidator getPrincipalValidator() {
            return new PrincipalValidatorImpl();
        public AppConfigurationEntry getAssertionModuleConfiguration() {
            return null;
    //    public IdentityAsserter getIdentityAsserter() {
    //        return null;
        public void shutdown() {
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package orkit;
    import orkit.OrkitVASPortalProviderImpl;
    import java.io.IOException;
    import java.util.*;
    import javax.security.auth.Subject;
    import javax.security.auth.callback.*;
    import javax.security.auth.login.*;
    import javax.security.auth.spi.LoginModule;
    import weblogic.security.principal.WLSGroupImpl;
    import weblogic.security.principal.WLSUserImpl;
    * This login module will be called by our Authentication Provider. It assumes
    * that the option, usermap, will be passed which contains the map of users to
    * passwords and groups.
    public class OrkitVASPortalLoginModule implements LoginModule {
        private Subject subject;
        private CallbackHandler callbackHandler;
        private HashMap userMap;
        // Authentication status
        private boolean loginSucceeded;
        private boolean principalsInSubject;
        private Vector principalsBeforeCommit = new Vector();
        public void initialize(Subject subject, CallbackHandler callbackHandler,
                Map sharedState, Map options) {
            this.subject = subject;
            this.callbackHandler = callbackHandler;
            // Fetch user/password map that should be set by the authenticator
            userMap = (HashMap) options.get("usermap");
         * Called once after initialize to try and log the person in
        public boolean login() throws LoginException {
            // First thing we do is create an array of callbacks so that
            // we can get the data from the user
            Callback[] callbacks;
            callbacks = new Callback[2];
            callbacks[0] = new NameCallback("username: ");
            callbacks[1] = new PasswordCallback("password: ", false);
            try {
                callbackHandler.handle(callbacks);
            } catch (IOException eio) {
                throw new LoginException(eio.toString());
            } catch (UnsupportedCallbackException eu) {
                throw new LoginException(eu.toString());
            String username = ((NameCallback) callbacks[0]).getName();
            System.out.println("Username: " + username);
            char[] pw = ((PasswordCallback) callbacks[1]).getPassword();
            String password = new String(pw);
            System.out.println("PASSWORD: " + password);
            if (username.length() > 0) {
                if (!userMap.containsKey(username)) {
                    throw new FailedLoginException("Authentication Failed: Could not find user:" + username);
                }else{
                    System.out.println("Contstainded Username");
                String realPassword = ((OrkitVASPortalProviderImpl.MyUserDetails) userMap.get(username)).getPassword();
                if (realPassword == null || !realPassword.equals(password)) {
                    throw new FailedLoginException("Authentication Failed: Password incorrect for user" + username);
                }else{
                    System.out.println("Everyitng OKIE");
            } else {
                // No Username, so anonymous access is being attempted
            loginSucceeded = true;
            // We collect some principals that we would like to add to the user
            // once this is committed.
            // First, we add his username itself
            principalsBeforeCommit.add(new WLSUserImpl(username));
            // Now we add his group
            principalsBeforeCommit.add(new WLSGroupImpl(((OrkitVASPortalProviderImpl.MyUserDetails) userMap.get(username)).getGroup()));
            return loginSucceeded;
        public boolean commit() throws LoginException {
            if (loginSucceeded) {
                subject.getPrincipals().removeAll(principalsBeforeCommit);
                principalsInSubject = true;
                return true;
            } else {
                return false;
        public boolean abort() throws LoginException {
            if (principalsInSubject) {
                subject.getPrincipals().removeAll(principalsBeforeCommit);
                principalsInSubject = false;
            return true;
        public boolean logout() throws LoginException {
            return true;
    }and OrkitVASPortalMBean & OrkitVASPortalImpl class created by MBeanMaker tool.
    Can someome help.
    Thanks in advance!

    Hi ,
    SQLAuthenticator is not yet supported with UCM 11g due to some JPS Provider limitations .
    Currently there is an Enhancement request for this .
    Thanks
    Srinath

  • Custom report to get MD04 but for n materials

    Dear All...
    Do you know if already exist a report that show same information than the MD04?
    Is needed to put several material numbers and get the MD04 information to can do sorts, filters, download to excel.
    Is like the MDLD transaction but instead to print it, have the ability to save it in a excel file.
    The Idea is to have a customized report that can be run by 1 or more materials and show like a "photo" on how is MD04 now.
    Have you a case like this?
    How I can create that report?
    Any idea?

    BAPI_MATERIAL_STOCK_REQ_LIST gives you all data of MD04.
    MD_STOCK_REQUIREMENTS_LIST_API is a FM that is called inside BAPI_MATERIAL_STOCK_REQ_LIST and returns only details of a element (when you click magnifying glass icon in MD04).
    You should test both FMs in SE37 transaction providing it a material and a plant(optional), and check what import data you need.
    CALL FUNCTION 'MD_STOCK_REQUIREMENTS_LIST_API'
            EXPORTING
              MATNR                          = p_matnr
              WERKS                          = p_werks
            IMPORTING
              E_MT61D                        = wa_mt61d
            E_MDKP                         =
            E_CM61M                        =
              E_MDSTA                        = wa_mdsta
            E_ERGBZ                        =
          TABLES
            MDPSX                          =
            MDEZX                          =
            MDSUX                          =
            EXCEPTIONS
              MATERIAL_PLANT_NOT_FOUND       = 1
              PLANT_NOT_FOUND                = 2
              OTHERS                         = 3.
    This is a little example of the FM call.
    Note that function modules only receive a single material, so in your report you must call the function as many times as materials you have and store return items in internal tables before you display them.

  • Custom report outer-join display problem

    I have written a custom report for Grid that produces info on database options, combined with info on the hardware of the servers where the databases reside. It is a customer requirement that all output be displayed as one huge table, with duplicate cells where logic dictates... so I've used a couple of nested queries + outer joins.
    My SQL query provides the correct data, however Grid appears to be acting clever, and instead of displaying one big table with duplicate values where required, it is splitting the output into a series of tables.
    It might look neater, but it's not what I've been asked to provide.
    Is there anything I can do to prevent this, and force Grid to display the info as one table?
    Thanks,
    Chris

    Hello Chris,
    did you already try to create a View based on your query and use this view in a Report Element?
    Regards
    Rob
    For more info, tips and tricks on oem gc check: http://oemgc.wordpress.com

  • How to Created custom report for Ship not Billed (SD/FI)?

    Hi all,
    I am anticipating  to write some abap reports..Here is one of them..
    Anyone can help  me with writing a Report , how to do 'Custom Report for shipped not Billed(SD/FI)' ..But since I am new to Abap , if you wish to reply, please use a little more detail and simple explanation, step by step so I can understand what is the idea, how it can be acheived...what kind of report should be used , techniques, tables etc...:)
    Appreciate your help!
    Regards,
    Boby

    Hi Boby,
    You need to create custom transaction to achive these results.
    you will have selection-screen ,it would be :
    Date : Here date would be mandatory  - Ranges Option
    Customer  - Optional field - Ranges
    Order #  Sales Order (Optional) Ranges
    Invoice #  - Invoice # (Optional) Ranges
    You will get the data based on ur selection-screen criteria ...
    First you will have customer order details from diffrent table
    VBAK,
    VBAP,
    LIKP
    LIPS
    VBRK,
    VBRP
    KNA1,
    VBFA Tables ( See the my sample program )
    Output would be :
    Customer #   Custome Name    Order #   Delivery #   Invoice #   Netpr, Netquantity ,
    Check the condition  whether invoice table has VBRK-RFBSK  = ''.
    See the my sample program : This is sales report by monthly..
    REPORT ZFDSALES_REPORT no standard page heading
                           message-id zwave.
    Data Declaration Part
    TYPE-POOLS
    type-pools : slis.
    Tables
    tables : VBAK,
             VBAP.
    Internal table for VBAK Table
    data : begin of i_vbak occurs 0,
           vbeln like vbak-vbeln,
           bstnk like vbak-bstnk,
           vdatu like vbak-vdatu,
           end of i_vbak.
    Internal table for VBAP and MATNR
    data : begin of i_vbap occurs 0,
           vbeln like vbap-vbeln,
           matnr like vbap-matnr,
           kdmat like vbap-kdmat,
           kwmeng like vbap-kwmeng,
           netpr like vbap-netpr,
           maktx like makt-maktx,
           end of i_vbap.
    Internal tables
    data : begin of i_sales occurs 0,
           vdatu like vbak-vdatu,
           bstnk like vbak-bstnk,
           matnr like vbap-matnr,
           maktx like makt-maktx,
           kdmat like vbap-kdmat,
           kwmeng like vbap-kwmeng,
           netpr  like vbap-netpr,
           end of i_sales.
    Variable for ALV
    data : v_repid like sy-repid,
           gt_fieldcat    type slis_t_fieldcat_alv.
    Selection-screen
    selection-screen : begin of block blk with frame title text-001.
    select-options : s_vbeln for vbak-vbeln,
                     s_erdat for vbak-erdat,
                     s_ernam for vbak-ernam,
                     s_vdatu for vbak-vdatu obligatory,
                     s_BSTNK for vbak-BSTNK,
                     s_KUNNR for vbak-kunnr,
                     s_matnr for vbap-matnr,
                     s_KDMAT for vbap-KDMAT.
    selection-screen : end of block blk.
    Initilization
    initialization.
      v_repid = sy-repid.
    S T A R T  -  O F  -  S E L E C T I O N ****************
    start-of-selection.
    Get the data from VBAK and VBAP Tables
      perform get_vbak_vbap.
    E N D  -  O F  -  S E L E C T I O N *****************
    end-of-selection.
    Display the data
      perform dispolay_data.
    *&      Form  get_vbak_vbap
          Get the data from VBAK and VBAP Table
    FORM get_vbak_vbap.
    Get the data from VBAK Table
      select vbeln bstnk vdatu from vbak into table i_vbak
                         where vbeln in s_vbeln
                         and   bstnk in s_bstnk
                         and   vdatu in s_vdatu
                         and   kunnr in s_kunnr
                         and   erdat in s_erdat
                         and   ernam in s_ernam.
      if sy-subrc ne 0.
        message e000(zwave) with 'No data found for given selection'.
      endif.
    Get the data from VBAP Table
      select avbeln amatnr akdmat akwmeng a~netpr
             b~maktx into table i_vbap
             from vbap as a inner join makt as b on bmatnr = amatnr
             for all entries in i_vbak
             where a~vbeln in s_vbeln
             and   a~kdmat in s_kdmat
             and   a~abgru = space
             and   a~matnr in s_matnr
             and   a~matnr ne '000000000000009999'
             and   a~matnr ne '000000000000004444'
             and   a~matnr ne '000000000000008888'
             and   a~matnr ne '000000000000001111'
             and   a~werks = '1000'
             and   b~spras = 'E'
             and   a~vbeln = i_vbak-vbeln.
      if sy-subrc ne 0.
        message e000(zwave) with 'No data found for given selection'.
      endif.
      sort i_vbak by vbeln.
      sort i_vbap by vbeln matnr.
      loop at i_vbap.
        read table i_vbak with key vbeln = i_vbap-vbeln
                                binary search.
        if sy-subrc eq 0.
          i_sales-bstnk = i_vbak-bstnk.
          i_sales-vdatu = i_vbak-vdatu.
          i_sales-matnr = i_vbap-matnr.
          i_sales-kdmat = i_vbap-kdmat.
          i_sales-maktx = i_vbap-maktx.
          i_sales-netpr = i_vbap-netpr.
          i_sales-kwmeng = i_vbap-kwmeng.
          append i_sales.
        else.
          continue.
        endif.
        clear : i_sales,
                i_vbap,
                i_vbak.
      endloop.
      sort i_sales by vdatu bstnk matnr.
      refresh : i_vbap,
                i_vbak.
    ENDFORM.                    " get_vbak_vbap
    *&      Form  dispolay_data
          Display the data
    FORM dispolay_data.
    Fill the Fiedlcat
      PERFORM fieldcat_init  using gt_fieldcat[].
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                =
      I_BUFFER_ACTIVE                   = ' '
          I_CALLBACK_PROGRAM                = v_repid
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
          IT_FIELDCAT                       = gt_fieldcat[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      IT_ALV_GRAPHICS                   =
      IT_ADD_FIELDCAT                   =
      IT_HYPERLINK                      =
      I_HTML_HEIGHT_TOP                 =
      I_HTML_HEIGHT_END                 =
      IT_EXCEPT_QINFO                   =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          T_OUTTAB                          = i_sales
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
    ENDFORM.                    " dispolay_data
    *&      Form  fieldcat_init
          text
         -->P_GT_FIELDCAT[]  text
    FORM fieldcat_init USING  e01_lt_fieldcat type slis_t_fieldcat_alv.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    Delivery Date
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'VDATU'.
      LS_FIELDCAT-OUTPUTLEN    = 12.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Delivery Date'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Purchase Order #Material Description
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'BSTNK'.
      LS_FIELDCAT-OUTPUTLEN    = 25.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Purchase Order #'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Material
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-REF_FIELDNAME    = 'MATNR'.
      LS_FIELDCAT-REF_TABNAME    = 'MARA'.
      LS_FIELDCAT-FIELDNAME    = 'MATNR'.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Material #'.
      ls_fieldcat-seltext_M = 'Material #'.
      ls_fieldcat-seltext_S = 'Material #'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Material Description
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MAKTX'.
      LS_FIELDCAT-OUTPUTLEN    = 40.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Material Description'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Customer Material #
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'KDMAT'.
      LS_FIELDCAT-OUTPUTLEN    = 35.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Customer material no.'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Quantity
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'KWMENG'.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Quantity'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Net Price
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'NETPR'.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Net Price'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    ENDFORM.                    " fieldcat_init
    Reward Points if it is helpful
    Thanks
    Seshu

  • Transaction code for Custom report

    Hi,
    How to create transaction code for Custom report ?
    the custom report is a drilldown report of COPA, which can seen in tcode  FDI3.
    then how to add this new transaction to the menu path Easy assess->FI->AR->Information system->Reports->customers:items.
    Thanks,
    Swetha

    Hi Swetha,
    There is a special way to assign tcodes to such reports. Normally you create the report via report painter/writer. These reports are part of library and report group.
    Create the tcode in SE93. Then at the bottom of the screen you would find option to specify report group, report name, variant to lauch with. Don't have system to specify the exact way of specifying, if you need I can provide on monday. You can take some existing COPA standard report and check from SE93.
    --Ram

  • Customized reporting in Crystal reports 2008

    Hi guys,
    I am using crystal reports 2008 and new to it. Can somebody tell me how can i provide customized reporting in this version? I want to give report design in end user's hand.
    Can somebody help me on this?

    Crystal Reports is fine for end users if they have any inclination for thinking logically and have a good knowledge of the underlying data.  In my experience, that's not always (ever?? :->) the case.
    As an alternative, there have been recent (less than a month ago, IIRC) posts asking about how to have user-selectable columns in a report.  Search this forum for some possible suggestions on how to achieve this result.  In this scenario, you create the logic for the report, then there are one or more parameters where the user can select which columns they want to see.
    HTH,
    Carl

  • Is there anyone at all here who has successfully compiled and deployed an SSRS custom report item in VS2012?

    Is there anyone at all here who has successfully compiled and deployed an SSRS custom report item in VS2012?  Is there a demo out there that actually works in VS2012?  Is there anyone who has actually been able to compile and deploy that
    apparently obsolete Polygons demo?  (Pardon my impatience but I'm running a bit short of time here.)
    After much hacking and googling I was able to get Polygons to compile but I still can't deploy it to the toolbox.  ('The custom report item type PolygonsDesigner is not installed').   I've modified the RSReportDesigner.config
    as instructed but I have no rssrvpolicy.config file on my local machine and
    as yet I have no idea if that is necessary for local development.
    In order to get it to compile I first added the reference  C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\Microsoft.ReportingServices.ProcessingCore.dll to both projects.
    To the PolygonsDesigner Project I also added the references:
    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\Microsoft.ReportDesigner.Controls.dll
    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\Microsoft.ReportingServices.Designer.11.0.dll
    C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\Microsoft.ReportingServices.Interfaces.dll
    Are these the correct references?  
    Exactly what software do you need installed on your local machine in addition to VS2012 in order to create a custom control?
    (Designer.11.0 was added per the instructions in reference: https://connect.microsoft.com/VisualStudio/feedback/details/783391/unable-to-integrate-previously-working-ssrs-custom-report-item-to-vs-2012s-toolbox  
    After that I added the alias RSDesigner to it's properties and   extern alias RSDesigner; at the top of the PolygonsDesigner.cs file. )
    As of now, the top of the PolygonsDesigner.cs is as follows.  I don't recall making any other changes to the code.  As far as I can remember this is all I did in order to be able to compile the code in VS2012.
        extern alias RSDesigner;
        using System;
        using System.ComponentModel;
        using System.ComponentModel.Design;
        using System.Collections;
        using System.Collections.Generic;
        using System.Diagnostics;
        using System.Drawing;
        using System.Windows.Forms;
        using Microsoft.ReportDesigner;
        using Microsoft.ReportDesigner.Design;
        using Microsoft.ReportingServices.Interfaces;
        using Microsoft.ReportingServices.RdlObjectModel;
        using System.Xml;
        using System.Xml.Xsl;
        using System.Xml.XPath;
        [LocalizedName("Polygons")]
        [Editor(typeof(CustomEditor), typeof(ComponentEditor))]
        [ToolboxBitmap(typeof(PolygonsDesigner), "Polygons.ico")]      
        [CustomReportItem("Polygons")]
        [ToolboxItem(typeof(RSDesigner::Microsoft.ReportDesigner.Shell.CRIToolboxItem))] 
        [System.CLSCompliant(false)]
        public class PolygonsDesigner : CustomReportItemDesigner
        {   etc...

    Just fixed this myself.
    It appears the documentation online is wrong and the sample code is missing a reference to a reporting services dll and an attribute.
    What you need to do to get it working in VS2012 is add a reference to: Microsoft.ReportingServices.designer.11.0.dll to the PolygonsDesigner project and then add the following attribute to the PolygonsDesigner class: [ToolboxItem(typeof(Microsoft.ReportDesigner.Shell.CRIToolboxItem))]
    I also removed the [System.CLSCompliant(false)] attribute.
    You then recompile and place both dlls in C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies directory and the PolygonsDesigner.dll into the C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin
    or what ever is you reporting services path.
    You also need to change the Microsoft example for the rereportserver.config file to:
        <ReportItemDesigner>
       <ReportItem Name="Polygons" Type="Microsoft.Samples.ReportingServices.PolygonsDesigner, PolygonsDesigner" />
        </ReportItemDesigner>
        <ReportItems>
       <ReportItem Name="Polygons" Type="Microsoft.Samples.ReportingServices.PolygonsCRI,PolygonsCRI"/>
        </ReportItems>
     Notice that I changed the namespaces and class to what is in the actual code so if you change it make sure you change it here.
    And here in the RSReportDesigner.config:
    <ReportItems>
          <ReportItem Name="Polygons" Type="Microsoft.Samples.ReportingServices.PolygonsCustomReportItem,PolygonsCRI" />
        </ReportItems>
        <ReportItemDesigner>
          <ReportItem Name="Polygons" Type="Microsoft.Samples.ReportingServices.PolygonsDesigner, PolygonsDesigner" />
        </ReportItemDesigner>
        <ReportItemConverter>
          <Converter Source="Chart" Target="Polygons" Type="PolygonsCRI.PolygonsConverter, PolygonsDesigner" />
        </ReportItemConverter>
    Notice I haven't changed the last part as I didn't know what the PolygonsCRI.PolygonsConverter was.
    And make sure the rssrvpolicy.config looks like this:
         <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Description="This code group grants PolygonsCRI.dll FullTrust permission. ">
           <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.SQLSERVER\Reporting Services\ReportServer\bin\PolygonsCRI.dll" />
        </CodeGroup>
    After a restart of ssrs and relaunch of VS2012 I opened a test project and added the PolygonsDesigner.dll to the toolbox and it works.
    Jamie

  • Consistently getting an error in custom reports "an error occurred" is the only msg displayed...my c

    Consistently getting an error in custom reports "an error occurred" is the only msg displayed...my clients are screaming...what is the problem?

    Hi,
    Please log a ticket with BC support for this issue. Please provide the exact steps, preferably a video. You can log the ticket from your admin panel > help & support.
    Kind Regards,
    Aish

Maybe you are looking for

  • Problem to weblogic start managed server "OraSDP"

    Hi all, first, sorry if this location is not correct to this thread. I have a problem when I start a weblogic managed server, which indicates there is an error to check a QueueConnectionFactory into JNDI. The log of this error is next: <16-feb-2011 1

  • Audio on keynote exported quicktime videos cuts out at 50 seconds?

    It just started!  When I export my keynote into a Quicktime file, the audio cuts out at 50 seconds.  I have been creating videos a long time with this method and never had problems before.

  • Can you send a code for iTunes and have it still work

    Can you send a code for iTunes and have it still work

  • SECATT not saving the screen for change of address in CAA2

    Dear Secatt Experts When recording the transaction CAA2 using TCD(Record) in SECATT, the screen for change of address  in the main screen of CAA2 is not getting saved. Therefore I am unable to run the script for change of address The address can be c

  • Metadata checksum

    Can someone explain the metadata checksum process?  I understand it using the MD5 Algorithm to calculate the checksum which is incompatible with FIPS.  Work around is to remove the Metadata Checksum from the .ispac files. We don't understand the pur