Report using incorrect database

I am using Crystal Reports XI R2
The database for running my reports against recently got moved to different database e.g. from FOO to FOO_new However the report insists on using FOO even after Set Datasource Location in the designer
Please help!
Regards
Lawrence

Hi,
With above suggestion i would add that make sure database is up and running and able to access from your machine.
Do a small test to test your connection.
-Right Click on desktop ->
Create new text document->
Save as test.UDL->
double click and test connection by selecting driver name,datasource name,user id and password.
Click on Test Connection.
It should be succeed.
Regards,
Shweta

Similar Messages

  • How to generate a single report  using multiple Databases

    Hi All
    Is it possible to create a single report using multiple databases
    I am working on Database A to generate reports usually,, but now i have a second database for which the data is coming from flat files now i have to use few tables from
    Database B to generate a single report,,,,, can any one help with the process

    Hi,
    i didn't see this properly in your post:
    but now i have a second database for which the data is coming from flat files if you have ETL then make flat files as source then create target tables in db:B itself.. .Now, import them in the rpd..
    If not, import both those tables into rpd with different connections..
    Create physical joins by selecting those tables and perform joins operations over db's in physical layer..

  • SSRS report using Access database in SharePoint.

    Dear All,
    I have created SSRS report using Access database. I have successfully deploy SSRS report in SharePoint document library.
    When I am opening the same report I am getting following error.
    Can anyone please help me how to resolve this issue ?
    Error:
    An error has occurred during report processing. (rsProcessingAborted)
    Cannot create a connection to data source 'WOW'. (rsErrorOpeningConnection)
    ERROR
    [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an
    architecture mismatch between the Driver and Application
    Thanks,
    Harish P

    This seems odbc driver issue ,Plz check the follwoing links for the solution
    http://social.technet.microsoft.com/Forums/sqlserver/en-US/a4ddb239-64d8-4074-978c-45c30381c107/ssrs-2012-error-im014-microsoftodbc-driver-manager-the-specified-dsn-contains-an-architecture?forum=sqlreportingservices
    http://social.msdn.microsoft.com/Forums/en-US/a4ddb239-64d8-4074-978c-45c30381c107/ssrs-2012-error-im014-microsoftodbc-driver-manager-the-specified-dsn-contains-an-architecture?forum=sqlreportingservices
    Please Mark it as answer if this reply helps you in resolving the issue,It will help other users facing similar problem

  • Report (uses LDB's) giving dump due to memory problem

    Hi,
    I have a report which is giving dump in production due to memory problem.
    Memory is increased from basis part,but still getting same error.
    the report uses Logical DataBases.
    Can anyone suggest solution to solve this problem.
    regards
    Mallik

    Hi Amit,
    thanks for ur quick reply and ur idea "make changes in development and write the logic to read records in chunks".
    I have n't worked on LDB's till now.So i Don't know how I can read the data in chunks from LDB's.
    Can u Plz give some idea how to read data in chunks.
    Iam also sending the code,if possible ,plz go thru it and give me some idea.
    Hope u will help me.
    CODE.
    REPORT ZAROP028
    ABLES: PROJ,                          " Project definition
            PRPS_R,                        " WBS element
            PRPS,                          " WBS elements
            TJ02T,                         " System Status Values
            TCJ1,                          " Project Types
            JEST,                          " Active System Status
            COSP1,                         " cost totals - external postings
            COSS1,                         " cost totals - internal postings
            COVP11,                        " Line Items by Prd & Doc Header
            COVP12,                        " Line Items by Prd & Doc Header
            BHDGD,                         " Page heading table.
            AUFK,                          " Order Master Data for WBS (LDB)
            ANEP,                          " Asset line item
            COBRB,                         "Distribution Rules Settlement Ru
            SETHIER,                       "Hierarchy Structure
            TKA02,                         "Controlling Area Assignment
            CEPC,                          "Profit Center Master Data
            PSDYPD,                        "Dummy struct for GET proj late
            PSDYPR,                        "Dummy struct for GET PRPS_R late
            PSDYNP.                        "Dummy struct for GET AUFK late
    CONSTANTS:
              C_E                   TYPE C VALUE 'E',
              C_I                   TYPE C VALUE 'I',
              C_N                   TYPE C VALUE 'N',
              C_X                   TYPE C VALUE 'X',
              C_Y                   TYPE C VALUE 'Y',
              C_NE(2)               TYPE C VALUE 'NE',
              C_EQ(2)               TYPE C VALUE 'EQ',
              C_USD(3)              TYPE C VALUE 'USD',
              C_04(2)               TYPE C VALUE '04',
              C_I0046(5)            TYPE C VALUE 'I0046'
    various working storage
    DATA:
         W_TXT04(4)  TYPE C.                      " make status uppercase
    DATA: ACTIVE(1)        TYPE C VALUE 'A',       " type for status_flag
          INACTIVE(1)      TYPE C VALUE 'I',       " type for status_flag
          STATUS_FLAG(1)   TYPE C VALUE 'I',       " wbs active or inactive?
          INACTIVEDT       LIKE SY-DATUM,          " inactive date for wbs
          REC_FLAG         TYPE C VALUE 'N',       " records retrieved?
          DAYS_INACTIVE    TYPE I,                 " days wbs has been inac
          W_LOWINACT       TYPE I,                 " smallest inactive days
          WBS_CNT          TYPE I,                 " cnt for wbs in status
          W_AUC_COST       TYPE P DECIMALS 2,      " unsettled auc cost
          W_VNAME          LIKE PRPS_R-VNAME.      " venture number storage
    DATA:  BEGIN OF ITAB OCCURS 0,                              "MELI-5F2KMH
            COMPCODE       LIKE PROJ-VBUKR,    " company code
            PLANT          LIKE PROJ-WERKS,    " plant
            PROJECT        LIKE PROJ-PSPID,    " project
            NAME           LIKE PROJ-POST1,    " project description
            DINACT         TYPE I,             " days proj inactive
            PRCTR          LIKE PROJ-PRCTR,    " profit center
            SETID          LIKE SETHIER-SETID, " level 2 pc hier
            DESCRIPT       LIKE SETHEADERT-DESCRIPT,
            VERNA          LIKE PROJ-VERNA,    " person responsible
            AUC            TYPE P DECIMALS 2,  " AUC unsettled amount
          END OF ITAB.
    DATA: BEGIN OF I_INACT OCCURS 0,
            STAT  LIKE JEST-STAT,
            INACT LIKE JEST-INACT,
          END OF I_INACT.
    DATA: EQ_FLAG TYPE C,                       " system status flag
          NE_FLAG TYPE C.                       " system status flag
    TYPES:  BEGIN OF T_COSTS,
              PSPID  LIKE PROJ-PSPID,
              BUDAT  LIKE COVP11-BUDAT,
            END OF T_COSTS.
    DATA:  I_PROJ LIKE PROJ OCCURS 0 WITH HEADER LINE,
           I_PRPS_R LIKE PRPS_R OCCURS 0 WITH HEADER LINE,
           I_COSTS TYPE T_COSTS OCCURS 0 WITH HEADER LINE.
    DATA:  W_RECORDS TYPE I.
    DATA: FOUND_FLAG TYPE C.                        " CHAD-4PRPDE
    DATA: BEGIN OF I_HIER OCCURS 0.                             "FEAT-5BNRRP
            INCLUDE STRUCTURE SETHIER.                          "FEAT-5BNRRP
    DATA: END OF I_HIER.                                        "FEAT-5BNRRP
    RANGES: R_TJ02T FOR TJ02T-ISTAT.
    DATA: W_LVL2 LIKE SETHIER-SETID.                            "MELI-5F2KMH
    SELECTION-SCREEN BEGIN OF BLOCK PROJECT WITH FRAME TITLE TEXT-B01.
    PARAMETERS:       P_BUDAT LIKE COVP11-BUDAT,
                      DAYINACT(3) TYPE N DEFAULT '090'.
    SELECTION-SCREEN SKIP.                                      "FEAT-5BNRRP
    PARAMETERS:       P_PC-SET LIKE CEPC-KHINR OBLIGATORY       "FEAT-5BNRRP
                      DEFAULT 'SCH_STREAM'.                     "FEAT-5BNRRP
    SELECTION-SCREEN END OF BLOCK PROJECT.
    SELECTION-SCREEN BEGIN OF BLOCK SORT WITH FRAME TITLE TEXT-B02.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(13) TEXT-C01.
    SELECTION-SCREEN POSITION 15.
    PARAMETERS:  P_PLANT RADIOBUTTON GROUP SORT DEFAULT 'X'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(13) TEXT-C03.                    "FEAT-5BNRRP
    SELECTION-SCREEN POSITION 15.
    PARAMETERS:  P_PRCTR RADIOBUTTON GROUP SORT.                "FEAT-5BNRRP
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(13) TEXT-C04.
    SELECTION-SCREEN POSITION 15.
    PARAMETERS:  P_DAYS RADIOBUTTON GROUP SORT.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK SORT.
    AT SELECTION-SCREEN OUTPUT.
      PERFORM USER_PARM_INIT.
    AT SELECTION-SCREEN.
      PERFORM CHECK_PROJ_CRITERIA.
    START-OF-SELECTION.
    PERFORM BUILD_PC_HIER USING P_PC-SET.  
    Project Definition                                                  *
    GET PROJ.
      MOVE-CORRESPONDING PROJ TO I_PROJ.                        "MELI-5F2KMH
      APPEND I_PROJ.                                            "MELI-5F2KMH
      CLEAR I_PROJ.
    WBS element table
    GET PRPS_R.
      MOVE-CORRESPONDING PRPS_R TO I_PRPS_R.
      APPEND I_PRPS_R.
      CLEAR I_PRPS_R.
    GET all order and cost objects associated with order and elements
    GET AUFK.
    GET COSP1.
    CHECK COSP1-WRTTP EQ C_04.      " check if value type '04'
      Get last date that the wbselement was updated and determine status
    GET COVP11.
      MOVE PROJ-PSPID TO I_COSTS-PSPID.
      MOVE COVP11-BUDAT TO I_COSTS-BUDAT.
      APPEND I_COSTS.
      CLEAR I_COSTS.
      Loop through Internal cost statements
    GET COSS1.
    CHECK COSS1-WRTTP EQ C_04.           " if value type is 04
      Get last date that the wbselement was updated and determine status
    GET COVP12.
      MOVE PROJ-PSPID TO I_COSTS-PSPID.
      MOVE COVP12-BUDAT TO I_COSTS-BUDAT.
      APPEND I_COSTS.
      CLEAR I_COSTS.
    END-OF-SELECTION.
      PERFORM BUILD_TABLE.
      DELETE ITAB WHERE DINACT < DAYINACT.
      DESCRIBE TABLE ITAB LINES W_RECORDS.
      IF W_RECORDS = 0.
        MESSAGE I024.
      ENDIF.
      PERFORM WRITE_REPORT.
          FORM  CHECK_PROJ_CRITERIA                                      *
    This form verifies correct selection criteria has been entered from *
    the selection screen inputs.  If incorrect data has been entered the*
    valid information messages are displayed.                           *
    FORM CHECK_PROJ_CRITERIA.
    check for either posting date or inactivity criteria but not both
      IF NOT P_BUDAT IS INITIAL AND NOT DAYINACT IS INITIAL.
        MESSAGE E119.
      ENDIF.
      IF NOT DAYINACT IS INITIAL.          "check s/o day inactive
        IF NOT DAYINACT <= 998.
          MESSAGE E018.
        ELSE.
          INACTIVEDT = SY-DATUM - DAYINACT.
        ENDIF.
    if days inactive is initial set INACTIVEDT using the posting date
      ELSE.
        INACTIVEDT = P_BUDAT.
      ENDIF.
    ENDFORM.                    " CHECK_PROJ_CRITERIA
          FORM  GET_AUC_COSTS                                            *
    This form retrieves AUC costs for records based on AUFK2 where they *
    meet project criteria.  This pulls the unsettled amount on a AUC as *
    a settlement receiver.                                              *
    FORM GET_AUC_COSTS USING F_OBJNR F_BUKRS.
      CONSTANTS:
       C_SETLEMENT_ANNUAL LIKE COBRB-PERBZ VALUE 'JHR',   "Annual Settlement
        C_DEP_AREA_STD     LIKE ANEP-AFABE  VALUE '01'.    "Std depreciation
      DATA: L_ANLC LIKE ANLC  OCCURS 0 WITH HEADER LINE,
            L_ANLCV LIKE ANLCV OCCURS 0 WITH HEADER LINE,
            BEGIN OF L_COBRB OCCURS 0,                       "SRIN-6ZNEAR
            ANLN1 LIKE COBRB-ANLN1,
            ANLN2 LIKE COBRB-ANLN2,
            END OF L_COBRB,
            F_H_COST TYPE P DECIMALS 2.
      SELECT ANLN1 ANLN2 FROM COBRB
        INTO TABLE L_COBRB                                    " SRIN-6ZNEAR
         WHERE OBJNR = F_OBJNR
           AND PERBZ = C_SETLEMENT_ANNUAL.
      IF SY-SUBRC NE 0.                                        " gary-463qbd
        EXIT.                                                  " gary-463qbd
      ENDIF.                                                   " gary-463qbd
    LOOP AT L_COBRB.                                           " gary-463qbd
      CLEAR: F_H_COST.
      SELECT SINGLE * FROM ANLC
        INTO L_ANLC
        WHERE BUKRS = F_BUKRS AND
                ANLN1 = L_COBRB-ANLN1 AND
                ANLN2 = L_COBRB-ANLN2 AND
                GJAHR = SY-DATUM(4) AND
                AFABE = C_DEP_AREA_STD AND
                ZUJHR = '0000' AND
                ZUCOD = '0000'.
        IF SY-SUBRC = 0.
          CALL FUNCTION 'FI_AA_VALUES_CALCULATE'
               EXPORTING
                    I_ANLC  = L_ANLC
               IMPORTING
                    E_ANLCV = L_ANLCV.
          F_H_COST = L_ANLCV-BCHWRT_LFD.
        ENDIF.
      ADD: F_H_COST TO W_AUC_COST.
    ENDLOOP.                                                   " gary-463qbd
    ENDFORM.                    " GET_AUC_COSTS
          FORM  CHECK_INACTIVE_DATE                                      *
    This form checks the computed inactive date based on the formal     *
    parameter DAYS_INACTIVE.  If DAYS_INACTIVE is more current than the *
    current lowest inactive date W_LOWINACT then W_LOWINACT is replaced *
    with this value.                                                    *
    FORM CHECK_INACTIVE_DATE USING DAYS_INACTIVE.
      IF DAYS_INACTIVE < W_LOWINACT.
        MOVE DAYS_INACTIVE TO W_LOWINACT.
      ELSEIF W_LOWINACT EQ 0.
        MOVE: DAYS_INACTIVE TO W_LOWINACT,
              W_LOWINACT    TO ITAB-DINACT.
      ENDIF.
    ENDFORM.                    " CHECK_INACTIVE_DATE
          FORM build_table                                               *
    collect fields to the internal table ITAB                           *
    FORM  BUILD_TABLE.
      SORT I_COSTS BY PSPID ASCENDING BUDAT DESCENDING.
      LOOP AT I_PROJ.
        CLEAR W_AUC_COST.
        READ TABLE I_COSTS WITH KEY PSPID = I_PROJ-PSPID
                                BINARY SEARCH.
        IF SY-SUBRC = 0.
          ITAB-DINACT = SY-DATUM - I_COSTS-BUDAT.
        ELSE.
          ITAB-DINACT = SY-DATUM - I_PROJ-ERDAT.
        ENDIF.
        LOOP AT I_PRPS_R WHERE PSPHI = I_PROJ-PSPNR AND
                               BELKZ = 'X'.
          IF NOT I_PRPS_R-IMPRF IS INITIAL.
            PERFORM GET_AUC_COSTS USING I_PRPS_R-OBJNR
                                        I_PRPS_R-PBUKR.
          ELSE.
            CONTINUE.
          ENDIF.
        ENDLOOP.
        ITAB-COMPCODE = I_PROJ-VBUKR.
        ITAB-PLANT    = I_PROJ-WERKS.
        ITAB-PROJECT  = I_PROJ-PSPID.
        ITAB-NAME     = I_PROJ-POST1.
        ITAB-PRCTR    = I_PROJ-PRCTR.
        ITAB-VERNA    = I_PROJ-VERNA.
        ITAB-AUC      = W_AUC_COST.
        IF ITAB-DINACT > DAYINACT.
          PERFORM GET_HIER_INFO.
        ENDIF.
        APPEND ITAB.
        CLEAR ITAB.
      ENDLOOP.
    ENDFORM.                    " BUILD_TABLE
          FORM STATUS_CHECK                                              *
    Checks the active status of the project definition for the          *
    parameter values assigned.                                          *
    FORM  STATUS_CHECK USING F_OBJNR.
    begin of GARY-463QBD
      CLEAR: I_INACT.
      REFRESH: I_INACT.
      MOVE: C_N TO EQ_FLAG,
            C_Y TO NE_FLAG.
    retrieve status for a given record
      SELECT STAT INACT
        INTO TABLE I_INACT
        FROM JEST
        WHERE OBJNR EQ F_OBJNR AND
              INACT NE C_X.
    sort internal status entered by user
      SORT R_TJ02T BY OPTION DESCENDING.
    check all current object statuses meet user entered criteria
      LOOP AT R_TJ02T WHERE OPTION EQ C_NE.
    check for user selected options
        READ TABLE I_INACT WITH KEY STAT = R_TJ02T-LOW.
        IF SY-SUBRC EQ 0.
          MOVE C_N TO NE_FLAG.
          EXIT.
        ENDIF.
      ENDLOOP.
      LOOP AT R_TJ02T WHERE OPTION EQ C_EQ.
    check for user selected options
        READ TABLE I_INACT WITH KEY STAT = R_TJ02T-LOW.
        IF SY-SUBRC EQ 0.
          MOVE C_Y TO EQ_FLAG.
          EXIT.
        ENDIF.
      ENDLOOP.
    check for no statuses entered as EQ option
      LOOP AT R_TJ02T WHERE OPTION EQ C_EQ.
        EXIT.
      ENDLOOP.
    if so move c_y to eq_flag
      IF SY-SUBRC NE 0.
        MOVE C_Y TO EQ_FLAG.
      ENDIF.
    if both eq_flag or ne_flag are true(c_y) move true to valid_flag
      IF ( EQ_FLAG EQ C_N OR
           NE_FLAG EQ C_N ).
        REJECT 'PRPS_R'.
      ENDIF.
    end of GARY-463QBD
    ENDFORM.                    " STATUS_CHECK
          Form  WRITE_REPORT
    FORM WRITE_REPORT.
      IF P_PLANT EQ 'X'.
    SORT ASCENDING BY ITAB-BUSAREA                           "FEAT-5BNRRP
        SORT ITAB ASCENDING BY PLANT
                               PROJECT.
      ELSEIF P_PRCTR EQ 'X'.
       SORT ITAB ASCENDING BY PRCTR                             "FEAT-5BNRRP
                                PROJECT.
      ELSE.
       SORT ITAB ASCENDING BY DINACT
                                PROJECT.
      ENDIF.
      FORMAT COLOR COL_BACKGROUND INTENSIFIED ON.
                                                         "MELI-5F2KMH
    LOOP AT ITAB.                                               "MELI-5F2KMH
        WRITE:   /     ITAB-COMPCODE,
                 9(4)  ITAB-PLANT,
                17(12) ITAB-SETID,
                33(40) ITAB-DESCRIPT,
                77(10) ITAB-PRCTR,
                91(24) ITAB-PROJECT,
               119(40) ITAB-NAME,
               163(25) ITAB-VERNA,
               192(15) ITAB-AUC CURRENCY C_USD,
               211(8)  ITAB-DINACT.
      ENDLOOP.
    ENDFORM.                    " WRITE_REPORT
          Form  USER_PARM_INIT
    Initializes user parameter settings
    FORM USER_PARM_INIT.
    ENDFORM.                    " USER_PARM_INIT
    At top of every page, generate Amoco-standard header.
    TOP-OF-PAGE.
      MOVE: '0'       TO BHDGD-INIFL,
           SY-LINSZ   TO BHDGD-LINES,
           SY-UNAME   TO BHDGD-UNAME,
           SY-REPID   TO BHDGD-REPID,
           SY-TITLE   TO BHDGD-LINE1,
           SPACE      TO BHDGD-DOMAI,
           SPACE      TO BHDGD-SEPAR,
           SPACE      TO BHDGD-MIFFL.
      IF P_PLANT EQ 'X'.
        MOVE TEXT-H01 TO BHDGD-LINE2.
      ELSE.
        MOVE TEXT-H03 TO BHDGD-LINE2.                          "FEAT-5BNRRP
      ENDIF.
    temporarily clear sy-mandt to remove "europe" from header "FEAT-5BNRRP
      DATA:  W_MANDT LIKE SY-MANDT.
      BHDGD-BUKRS = SPACE.
      W_MANDT     = SY-MANDT.
      CLEAR  SY-MANDT.
      FORMAT  COLOR COL_BACKGROUND INTENSIFIED OFF.
      PERFORM BATCH-HEADING(RSBTCHH0).
      FORMAT RESET.
    reset sy-mandt                                            "FEAT-5BNRRP
      SY-MANDT = W_MANDT.
      PERFORM PGH_WRITE_HEADING USING TEXT-003 INACTIVEDT.      "MELI-5F2KMH
      SKIP 1.
      ULINE.
    write heading info
      FORMAT COLOR COL_TOTAL INTENSIFIED ON.
      WRITE: /1(5)'CCode',
              9(5)'Plant',
              17(12)'Level 2 Node',
              33(40)'Level 2 Node Description',
              77(10)'Profit Ctr',
              91(18)'Project Definition',
             119(19)'Project Description',
              163(18)'Person Responsible',
              192(15)' AUC Unsettled',
              211(13)'Days Inactive'.
    end FEAT-5BNRRP
    BEGIN FEAT-5BNRRP NEW FORMS
    FORM BUILD_PC_HIER
    FORM BUILD_PC_HIER USING SETID.
      DATA:  W_SETID LIKE SETHIER-SETID,
             W_NEWSETID LIKE SETHIER-SETID.
      CONCATENATE '0H' SETID INTO W_SETID.
      CALL FUNCTION 'G_SET_GET_ID_FROM_NAME'
           EXPORTING
                SHORTNAME     = W_SETID
                TABNAME       = 'GLPCT'
                SETCLASS      = '0106'
                SUPRESS_POPUP = 'X'
                OLD_SETID     = W_NEWSETID
           IMPORTING
                NEW_SETID     = W_NEWSETID.
      CALL FUNCTION 'G_SET_TREE_IMPORT'
           EXPORTING
                CLIENT                    = SY-MANDT
                LANGU                     = SY-LANGU
                SETID                     = W_NEWSETID
                TABNAME                   = 'GLPCT'
           TABLES
                SET_HIERARCHY             = I_HIER
           EXCEPTIONS
                SET_NOT_FOUND             = 1
                ILLEGAL_FIELD_REPLACEMENT = 2
                ILLEGAL_TABLE_REPLACEMENT = 3
                OTHERS                    = 4.
      CLEAR I_HIER.
    ENDFORM.
    FORM GET_HIER_INFO
    FORM GET_HIER_INFO.
      DATA:  W_SETID LIKE SETHIER-SETID,
             W_KHINR LIKE CEPC-KHINR,
             W_INDEX  TYPE I.
      CLEAR: W_SETID,
             W_KHINR,
             W_INDEX.
    DETERMINE PROFIT CENTER NODE
      SELECT SINGLE KHINR
        FROM CEPC
        INTO W_KHINR
        WHERE PRCTR EQ ITAB-PRCTR.
      CONCATENATE '0106' I_PROJ-VKOKR W_KHINR
        INTO W_SETID.
      READ TABLE I_HIER WITH KEY
                        SETID = W_SETID.
      IF SY-SUBRC EQ 0.
        W_INDEX = SY-TABIX.
        DO.
          READ TABLE I_HIER INDEX W_INDEX.
          IF W_INDEX = 0.
            ITAB-SETID = 'Not Found'.
            EXIT.
          ENDIF.
          IF I_HIER-LEVEL = 1.
            ITAB-SETID = I_HIER-SETID+8(12).
            ITAB-DESCRIPT = I_HIER-DESCRIPT.
            EXIT.
          ENDIF.
          IF I_HIER-LEVEL = 2.
            ITAB-SETID = I_HIER-SETID+8(12).
            ITAB-DESCRIPT = I_HIER-DESCRIPT.
            EXIT.
          ENDIF.
          W_INDEX = W_INDEX - 1.
        ENDDO.
      ELSE.
        ITAB-SETID = 'Not Found'.
      ENDIF.
    ENDFORM.
    END FEAT-5BNRRP NEW FORMS
    *&      Form  PGH_WRITE_HEADING WR MELI-5F2KMH
    FORM PGH_WRITE_HEADING USING L_V1 L_V2.
      DATA:  L_LINSZ    LIKE SY-LINSZ.
      DATA:  L_TITLEL   LIKE SY-TABIX.
      DATA:  L_START    LIKE SY-TABIX.
      DATA:  L_DATE     LIKE SY-DATUM.
      DATA:  L_FORMATTED_DATE(10) TYPE C.
      DATA:  L_TITLE(27) TYPE C.
      MOVE L_V2 TO L_DATE.
      WRITE L_DATE TO L_FORMATTED_DATE.
      CONCATENATE L_V1 L_FORMATTED_DATE INTO L_TITLE
        SEPARATED BY SPACE.
      L_LINSZ = SY-LINSZ.
      L_TITLEL = STRLEN( L_TITLE ).
      L_START = ( L_LINSZ / 2 ) - ( L_TITLEL / 2 ) - 2.
      NEW-LINE.
      POSITION L_START.
      WRITE: L_TITLE.
    regards
    Mallik

  • Report using Data from different tables

    Hello,
    I am trying to convert a Cobol batch program to Oracle 6i tabular report.
    The data is fetched from many different tables and there are lots of processing(i.e, based on the value of a column from one table need additional processing from different tables) required to generate the desired columns in the final report.
    I would like to know what is the best strategy to follow in Oracle Reports 6i. I heard that CREATE GLOBAL TEMPORARY TABLE is an option. ( or REF CURSOR ?) I do not know much about its usage. Can somebody guide me about this or any other better way to achieve the result.
    Thank you in advance
    Priya

    Hello,
    There are many, many options available to you, each of which has advantages and disadvantages. This is why it is difficult to answer "what is best?" without alot more details about your specific circumstances.
    In general, you're going to be writing PL/SQL to do any conditional logic that cannot be expressed as pure SQL. It can executed in the database, or it can executed within Reports itself. And most reports developers do some of both.
    As a general rule, you want to send only the data you need from the database to the report. This means you want to do as much filtering and aggregating of the data as is readily possible within the database. If this cannot be expressed as plain SQL queries, then you'll want to create a stored procedures to help do this work.
    Generally, the PL/SQL you create for executing within the report should be focused on control of the formatting, such as controlling whether a field is visible, or controlling display attributes for conditional formatting.
    But these are not hard and fast rules. In some cases, it is difficult to get all the stored procedures you might like installed into the database. Perhaps the dba is reluctant to let you install that many stored procedures. Perhaps there are restrictions when and how often updates can be made to stored procedures in a production database, which makes it difficult to incrementally adjust your reports based on user feedback. Or perhaps there are restrictions for how long queries are allowed to run.
    So, Reports offers lots of options and features to let you do data manipulation operations from within the report data model.
    In any case, Oracle does offer temporary table capabilities. You can populate a temp table by running stored procedures that do queries, calculations and aggregations. And you can define and initiate a dynamic query statement within the database and pass a handle to this query off to the report to execute (ref cursor).
    From the reports side, you can have as many queries as you want in the data model, arranged in any hierarchy via links. You can parameterize and change the queries dynamically using bind variables and lexicals. And you can add calculations, aggregations, and filters.
    Again, most people do data manipulation both in the database and in Reports, using the database for what it excels at, and Reports for what it excels at.
    Hope this helps.
    Regards,
    The Oracle Reports Team --skw                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Hr report using pch not working

    I am trying to create a report using logical database pch.here is the code
    TABLES: objec,
            gdstr.
    INFOTYPES: 0002,
               1003.
    GET objec.
      LOOP AT p1003
         WHERE begda LE pc-begda
         AND   endda GE pc-begda.
         write: / p1003-abtel.
      ENDLOOP.
    but p1003 is not filled with value .
    Anyone pls help me out

    did you include start-of-selection and end-of-selection?
    example:
    TABLES: objec,
    gdstr.
    INFOTYPES: 0002,
    1003.
    start-of-selection.
    GET objec.
    LOOP AT p1003
    WHERE begda LE pc-begda
    AND endda GE pc-begda.
    write: / p1003-abtel.
    ENDLOOP.
    end-of-selection.
    Warren
    Message was edited by:
            Warren Clements

  • The migrated Crystal Report throws "The database logon information for this report is either incomplete or incorrect" error

    [ENVIRONMENT]
    Product version - BI4.1 SP03
    OS - Windows 2008 R2
    CMS Database - Oracle 11g
    Java Application Server - Tomcat7
    [ISSUE]
    Using the Upgrade Management Tool to completely migrate a BOXI3.1 SP3+FP3.6 to BI4.1 SP03.  The reporting database from both BOXI3.1 and BI4.1 are the same and so is the database logon credential.
    When viewing and refresh a migrated Crystal Report, it throws "The viewer could not process an event. The database logon information for this report is either incomplete or incorrect. [] ---- Error code:0 [CRWEB00000119]" error in both BI Launchpad and "The database logon information for this report is either incomplete or incorrect" in scheduled job.
    [STEPS TAKEN]
    - Update the Database Configuration with the SAME Oracle database password in CMC and "The database logon information for this report is either incomplete or incorrect" issue goes away.
    I search the SAP SMP and SCN forum and found no reference on this UMT and Crystal Report database logon problem.  Hope any of you have seen this problem and share if there is an ADAPT for it.
    Thank you in advance,
    Jin-Chong

    Hi,
    The BI4.1 SP03 server and client and Crystal Report 2013 SP03 developer and Crystal Report for Enterprise 4.1 SP03 are all installed onto this Windows 2008 R2 server.
    I am able to open the migrated report from CMS repository in Crystal Report 2013 SP03 developer and am able to refresh it with database logon password provided.  After save it back to the Enterprise, the database logon password field for this report in CMC becomes empty so that I have to enter the database password and choose "Use same database logon as when report is run" when viewing and scheduling report.
    What is interesting to me is that the UMT seems to migrate the report along the database logon password because I can see the encrypted password in the report database logon property in CMC.  The workaround is to reenter the database logon password in the report database logon property in CMC.
    With this said, there are hundreds of the Crystal reports and the workaround would consume lots of manual work by update each report's database logon password in CMC.
    For other customers who have more crystal reports, I wonder if there is an automated way to update the crystal report's database logon password on BI4.1 or if this is an isolated incident on my new BI4.1 SP03 environment.
    I run UMT in command line to perform livetolive migration, and my steps are listed below
    cd "E:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\apps\upgradeManagementTool\jars\"
    "E:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win64_x64\sapjvm\bin\javaw.exe" -Xmx56g -Djava.library.path="..\..\..\..\win64_x64" -jar upgrademanagementtool.jar -internal_use_only_noversioncheck -responsefile LIVETOLIVEResponseFile.txt
    LIVETOLIVEResponseFile.txt:
    mode=livetolive
    source=edhc01nwapp65:6400
    sourceusername=Administrator
    sourcepassword=xxxxxxxxxx
    destination=WAPP246N:6400
    destinationusername=Administrator
    destinationpassword=xxxxxxxxxx
    logfile=E:\temp\livetolive.csv
    configparam:base_url=https://boprod.bsc.bscal.com/dswsbobje
    locale=en_US
    Regards,
    Jin-Chong

  • Web Analysis Reports using a Relational Database

    I would like to create a Web Analysis report using data from an Oracle database. From Web Analysis, I try to create a new database connection. I select Oracle as the Driver type. In the Database Connection String field, I replace {HOST-NAME} with the Host information from the TNSNAMES.ORA file. I've confirmed the Port number is correct. When I test the connection, it fails. What am I missing? The format of the Database Connection String that is defaulting into the field is:
    jdbc:oracle:thin:@{HOST-NAME}:1521:ORCL
    Is there anything else I need to include besides the Host name and Port number, for example, do I need to include the SID?
    Thanks.
    Terri T.

    The ojdbc14.jar currently exists in the following directories:
    bea\weblogic81\server\lib
    oracle\product\10.2.0\client_1
    bea\weblogic81\server\ext\jdbc\oracle\920
    There is a ojdbc14_g.jar that exists in:
    bea\weblogic81\server\ext\jdbc\oracle\10g
    bea\weblogic81\server\ext\jdbc\oracle\920
    The classes12.jar file exists in:
    oracle\product\10.2.0\client_1\oui\jlib
    So from your response, I assume I need to copy classes12.jar to a directory under bea\weblogic81?
    Thanks.
    Terri T.

  • Can we use different Databases (Oracle & SQL Server) in one report?

    Post Author: venki5star
    CA Forum: .NET
    Hi there.
    Can we use different databases (Oracle & SQL Server) in a same report?
    If possible how?
    Another question,
    Can we change the Provider Name at runtime of the given report. If so the above question is useless...
    Thanks in Advance.

    I tried this using Oracle Provider for OLEDB (the one that supplied by Oracle Client) and Crystal Reports 9. you can drag the column into designer but the image does not appear in preview.
    I guess it's because CR does not recognized it as image, and there are no information that the blob data is an image at all.

  • Position of parameters of a report using a Logical Database

    Hallo all,
    Is there any way that I can make the parameters defined by me in a report to appear <b>before</b> the ones defined by the Logical Database it is using ?
    I searched but I couldn't find something relevant.
    I would like to avoid having to copy and modify the LDB program.
    Thanks

    Here are a couple of things you can do:
    1.  Right-click on the subreport and select "Format Subreport...".  Turn off the borders on the subreport.
    2.  Right-click on the subreport and select "Size and Position".  Set the X and Y coordinates both to 0.  This will place the subreport at the top-left of the section where it's located.
    3.  In the subreport, suppress ALL of the sections that you're not using.
    4.  Make the height of the subreport fairly small - it will expand to the size of the data it contains.
    5.  Put the column labels in the Page Header of the main report, using markers on the ruler to identify the placement of the left side of each column header.  Be sure to line the markers up to a specific "tick mark" on the ruler.
    6.  In the subreport, place markers at the same tick-marks on the rule as you used for the column labels on the main report.  Then align the fields in the subreport with the markers.
    This should get you close to the format you're looking for.  If it's not exact, you can look at the report in Preview and tweak the position of the column labels to match the data in the subreport.
    -Dell

  • How to determine the database driver a report uses?

    Hello experts.  I'm using Crystal Report XI R2 and C# (.net 4.0 runtime).
    For a given report, I'd like programmatically determine what database driver(s) a report and it's sub-reports use.  The nice thing is that I don't want to change it.
    When I refer to database drivers I'm talking about the choices one gets when starting a new report in the Crystal UI.  Something like the following:
    Access/Excel (DAO)
    ADO.NET (XML)
    Database Files
    ODBC (RDO)
    OLE DB (ADO)
    I've looked into the developers help file that came with Crystal XI R2, crsdk_net_doc.chm, and can't find any references that would help.  Maybe it's what I'm searching on.
    My goal is for a given directory produce a list of rpt files that use OLE DB and a MS-SQL Server provider.
    Thanks for looking at my question, any assistance is appreciated.
    Mike

    Also note since you are using 4.0 framework you must also be using VS 2010.
    CR for VS 2010 is the only version supported with 4.0 framework.
    See this page to download it: http://www.sdn.sap.com/irj/boc/crystalreports-dotnet
    Or go back to VS 2008.
    Code would look something like this:
         public class frmMain : System.Windows.Forms.Form
            CrystalDecisions.CrystalReports.Engine.ReportDocument rpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
            CrystalDecisions.ReportAppServer.ClientDoc.ISCDReportClientDocument rptClientDoc;
    New subrepoutine...
                ISCDReportClientDocument rcd;
                rcd = rptClientDoc;
                CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo oldConninfo;
                CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo newConnInfo = new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();
                CrystalDecisions.ReportAppServer.DataDefModel.Table oldTbl;
                CrystalDecisions.ReportAppServer.DataDefModel.CommandTable newTbl = new CommandTable();
                oldTbl = (CrystalDecisions.ReportAppServer.DataDefModel.Table)rcd.Database.Tables[0];
                oldConninfo = oldTbl.ConnectionInfo.Clone(true);
    Thank you
    Don

  • Filter on the reports created using DIRECT DATABASE ACCESS in obiee 10g

    How do i filter on the report that is created by using DIRECT DATABASE ACCESS in obiee 10g?
    I have reprot A with link to report B, report B is created using DIRECT DATABASE ACCESS. so it is just a table, but i need to filter out 2 columns.
    here is the query in REPORT B:
    select strm, acad_group, crse_id, class_section, count(emplid) from v_crse_enrl
    group by crse_id, strm, class_section, acad_group;
    the link in REPORT A:
    '<a target="_blank" href="'||VALUEOF("bi_link")||'Go&Path=CF_CROSS_TEACHING_LIST&ACTION=Navigate&col1=STRM&val1='||view1_DIMEN.STRM||'&col2=CLASS_SECTION&val2='||TRIM(view1_DIMEN.CLASS_SECTION)||'">' ||view1_dimen.class_id||'</a>'
    from this link to report B.
    thank you!!

    I didnt tested using url, but the same works with using presentation variables.
    To your direct sql add where clause for those two columns like WHERE col='@{col1}' and col ='@{col2}'
    and try to run from url.
    let me know updates

  • Use original database logon information from the report

    When publishing reports to crystal reports server, the data source password is missing and reports as set to 'prompt the user for database logon'
    Here is a description of our report creation process and how we currently set the db password.
    Reports are created using Crystal Reports Designer XI Professional.
    The data source is set up through the report wizard or manually to a sql db
    using either a sql login or integrated authentication
    the reports are then publish through the designer by going to File Save As - Choose Enterprise - then give
    report server info.
    From the CMC (crystal report server XI r2)
    we go to the folder location,
    select the report then go to the process tab
    click on database sub tab.
    we then set the database password and change the "When viewing reprot" setting to "Use same database logon as when report is run"
    reports are run both ondemand through links to infoview and through a variaty of schedules.
    How can we publish the reports to the Report Server without having to go to the CMC and set the database password, it doesnt' matter if we use sql login or integrated authentication, the result is the same.

    Hi Mario,
    some things you may want to consider.
    1) Setting up SSO to the DB. If your install is on windows and DB is SQL or Oracle, you can integrate your logon with windows and pass that all the way down to the DB when viewing the report. This is fairly complex to set up initially but simple to use from then on.
    2) DBuser and DBpass. You can populate user/pw fields associated with user account and then pass this value down to the DB. This can work with any DB instead of just SQL and Oracle. This doesn't appear to be documented yet. You may need to open a message with support if you need more details.
    3) Create reports based of a universe. This will use the universe connection (set per universe) to access the DB. For more on this post a question in the crystal reports forums.
    The kerberos SSO to the DB is documented in the [XI 3.0 admin guide|http://help.sap.com/businessobject/product_guides/boexir3/en/xi3_bip_admin_en.pdf]
    regards,
    Tim

  • Report asks for database login in deployed version using crystal runtime for vs2008

    I am developing an application with VS2008 .Net with an Interface to use external Crystal  reports.
    I created a Report using Crystal Reports 2011 "doku.rpt".
    I am using a CrystalReportViewer "crpv" on a form.
    I am using a ReportDocument object (Variable "ReportDocumentM"), to which I load the file "doku.rpt"  and assign the logon Settings of main and subreports (which are the same for all tables).
    Using crpv.ReportSource = ReportDocumentM I assign the reportDocument to the ReportViewer.
    On my develop System everything works fine, the Report is shown in the Viewer.
    I created a Setup for my application and isnatalled it on another System. I also installed the CrystalRuntime for VS2008.
    When I try to Show the Report, a dailog "Database Login" appears and aks for the Connection.
    where the SERVER, USERID and (sometimes the PWD) Input fields are filled with  the correct values, but always the DATABASE field is empty.
    SERVER and DATABASE fields are READONLY.
    Hours and hours I tried differnt things, I also filled the logon info of the ReportViewer himself, nothing helped.
    The code:

    Sorry, I found the solution in another discussion:
    "Crystal ask for DB Connections on new installation"
    Correct Answer by Marc Trudel  on Jan 9, 2014 6:57 PM ' Solved Reports are all saved with SQLNCLI which is Sql Native client 9 (2005) New computers only have SQLNCLI10 which is Sql Native Client 10 (2008) Customer will either install SQL CLient 10 on all old computer and upgrade the reports or install SQL Client 9 on new computers which will avoid upgrading hundred of reports
    In my case the original Report was created on a System with both SQLNativeClient 9 and SQLNativeClient 10 on it. Because I originally used a SQL2000 database as datasource, the SQLNativeClient9 was used. It wasn't a Problem on the System when I dynamically connected to a SQL2008R" database, probably because the NativeClient9 was still there and could be used. On the other Computer only the NativeClient10 was existing and this caused the Problems.
    But I think that this is a bug in Crystal: I think ist normal, that from time to time there are changes in DataBase Connections and Clients, so the reports should be able to work also with new Clients. At least there  should be a message to inform about the Problem.

  • Update database logon in reports using java

    Please review the code below and let me know where did I go wrong! I am able to login to CMS and able to retrieve the list of reports. Now, I am trying to update the database credentials for a single report using java (My requirement is to update all 200 reports though!).
    This is the 100th time I go this error message: Failed to open the connection.report.lib.ReportSDKServerException: Failed to open the connection.
    I also wrote a sample java program which tries to connect to the sql server database with same login credentials - this works perfectly fine. But, if I use the same connection url, driver name and login credentials, this report fails to update for whatever reason. Please help me ASAP..Thanks!
    import com.crystaldecisions.sdk.exception.*;
    import com.crystaldecisions.sdk.framework.*;
    import com.crystaldecisions.sdk.occa.infostore.*;
    import com.crystaldecisions.sdk.occa.managedreports.*;
    import com.crystaldecisions.sdk.occa.report.application.*;
    import com.crystaldecisions.sdk.occa.report.data.*;
    import com.crystaldecisions.sdk.occa.report.lib.*;
    import java.util.Iterator;
    class ChangeDataSource {
        public static void main(String args[]){
             String cms = "134.X.X.X:6400";
             String username = "Administrator";
             String password = "";
             String auth = "secEnterprise";
             IEnterpriseSession enterpriseSession = null;
             ISessionMgr sessionMgr = null;//CrystalEnterprise.getSessionMgr();   
             Exception failure = null;
             boolean loggedIn = true;
             ReportClientDocument clientDoc = null;
             if (enterpriseSession == null)
              try
                  sessionMgr = CrystalEnterprise.getSessionMgr();
                  enterpriseSession = sessionMgr.logon(username, password, cms, auth);
                  System.out.println("\nLOGIN SUCCESSFUL\n");
              catch (Exception error)
                  loggedIn = false;
                  failure = error;
              if (!loggedIn)
                   System.out.println("\nLOGIN FAILED\n");
              else
                  // Query for the sample report from the Enterprise CMS.
                  try {
                        IInfoStore iStore = (IInfoStore) enterpriseSession.getService("InfoStore");
                        IInfoObjects infoObjects = iStore.query("Select SI_ID From CI_INFOOBJECTS Where SI_INSTANCE=0 AND SI_PARENT_FOLDER=771");
                        System.out.println("\ninfoObjects size = "+infoObjects.getResultSize());
                        IReportAppFactory reportAppFactory = (IReportAppFactory)enterpriseSession.getService("RASReportFactory");
                        IInfoObject infoObject = (IInfoObject)infoObjects.get(0);      
                        clientDoc = new ReportClientDocument();
                        clientDoc = reportAppFactory.openDocument(infoObject,0, java.util.Locale.US);
                        System.out.println("Report "+ infoObject.getTitle() +" Opened");     
                        switch_tables(clientDoc.getDatabaseController());
                   }catch(ReportSDKException re){                    
                        re.printStackTrace();
                   }catch(SDKException re){
                        re.printStackTrace();
         private static void switch_tables(DatabaseController databaseController) throws ReportSDKException {
              //Declare the new connection properties that report's datasource will be switched to.
              //NOTE: These are specific to using JDBC against a particular MS SQL Server database.  Be sure to use the
              //DisplayConnectionInfo sample to determine what your own connection properties need to be set to.
              final String TABLE_NAME_QUALIFIER = "dbname.dbo.";
              final String DATABASE_NAME = "dbname";
              final String DBUSERNAME = "userid";
              final String DBPASSWORD = "pword";
              final String SERVERNAME = "134.X.X.X";
              final String CONNECTION_URL = "jdbc:sqlserver://134.X.X.X:1433;DatabaseName=dbname";
              final String DATABASE_CLASS_NAME = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
              final String DATABASE_DLL = "crdb_jdbc.dll";
              //Obtain collection of tables from this database controller.
              Tables tables = databaseController.getDatabase().getTables();
              System.out.println("\nTables size = "+tables.size());
              //Set the datasource for all main report tables.
              for (int i = 0; i < tables.size(); i++) {
                   //ITable currTable = tables.getTable(i);     
                   ITable table = tables.getTable(i);
                   //Keep existing name and alias.
                   table.setName(table.getName());
                   table.setAlias(table.getAlias());
                   //System.out.println("Table Name = "+table.getName()+" Alias "+table.getAlias());
                   //Change properties that are different from the original datasource.
                   table.setQualifiedName(TABLE_NAME_QUALIFIER + table.getName());
                   System.out.println(table.getQualifiedName());
                   //Change connection information properties.
                   IConnectionInfo connectionInfo = null;
                   try{
                        connectionInfo = table.getConnectionInfo();
                        //System.out.println("conn info: "+connectionInfo);
                   }catch(Exception re) {
                        re.printStackTrace();
                   //Set new table connection property attributes.
                   PropertyBag propertyBag = new PropertyBag();
                   //Overwrite any existing properties with updated values.
                   propertyBag.put("Trusted_Connection", "false");
                   propertyBag.put("Connection URL", CONNECTION_URL);
                   propertyBag.put("Database Class Name", DATABASE_CLASS_NAME);
                   propertyBag.put("Server", SERVERNAME);
                   //propertyBag.put("Database Name", DATABASE_NAME);
                   propertyBag.put("Server Type", "JDBC (JNDI)");
                   //propertyBag.put("URI", null);
                   propertyBag.put("Use JDBC", "true");
                   propertyBag.put("Database DLL", DATABASE_DLL);
                   connectionInfo.setAttributes(propertyBag);
                   System.out.println("\n Properties SET\n");
                   //Set database username and password.
                   //NOTE: Even if these the username and password properties don't change when switching databases, the
                   //database password is *not* saved in the report and must be set at runtime if the database is secured. 
                   connectionInfo.setUserName(DBUSERNAME);
                   connectionInfo.setPassword(DBPASSWORD);
                   connectionInfo.setKind(ConnectionInfoKind.SQL);
                   table.setConnectionInfo(connectionInfo);
                   //Update old table in the report with the new table.
                   try {
                        databaseController.setTableLocation(table, tables.getTable(i));               
                        }catch(ReportSDKException re) {
                        re.printStackTrace();
                   System.out.println("\n All tables updated\n");

    I have exactly same error. I can confirm that CRJavaHelper.changeDataSourceReportClientDocument clientDoc,
                    String reportName, String tableName,
                    String username, String password, String connectionURL,
                    String driverName,String jndiName)
    has very slow performance.
    Obviously the line:
                        clientDoc.getDatabaseController().setTableLocation(origTable, newTable);
    works very slow. I also have JDBC defined in report and also stored procedure, that returns recordset (cursor) in 0.48 sec.
    I am using CR Reports Server XI R2 and custom JAVA client program that renders report to pdf.
    Lines from java program:
    rpt = new ReportClientDocument();
    String report = "C:
    temp
    CrystalReport1.rpt";
    rpt.open(report, com.crystaldecisions.sdk.occa.report.application.OpenReportOptions._openAsReadOnly);
    CRJavaHelper.changeDataSource(rpt, "The specified item was not found.", "", "jdbc:oracle:thin:@oratest:1521:oratest","oracle.jdbc.driver.OracleDriver", "");
    CRJavaHelper.addDiscreteParameterValue(rpt, "", "P_INET_ID", id);
    rpt.refreshReportDocument();
    PDFExportFormatOptions pdfOptions = new PDFExportFormatOptions();
    ExportOptions exportOptions = new ExportOptions();
    exportOptions.setExportFormatType(ReportExportFormat.PDF);
    exportOptions.setFormatOptions(pdfOptions);
    InputStream is = rpt.getPrintOutputController().export(exportOptions);

Maybe you are looking for