Interactive and parameterized report
I'm very new to Apex and I have a question dont know if its stupid ...
if i want to create a report with all the interactive report feature (menu ... etc), but at the same time the query is too heavy and it has to be parameterized, how to achieve that? is it ok to still use the interactive report with the 'Big Query' and let the users create their templates or filters? or should i enforce some parameters? to be entered before the report can be even loaded?
dont know how to decide whats best ...
Thanks
Hello,
The only 'harm' it can do, is that the query takes too long to run (and/or consumes too many cpu or i/o on your server). Your users will complain if they feel the performance is 'bad' (bad=not what they expect). If you can restrict the outcome of your query on forehand (using filters - and indexes), the results will show up faster.
If you show a 'default report output' (not using any criteria at all) when the pages comes up and if that result is never what your users want (the users always applies filters etc), than it is more 'economical' to apply some filters on forehand. Nothing wrong with that...
Regards,
Roel
http://roelhartman.blogspot.com/
http://www.bloggingaboutoracle.org/
http://www.logica.com/
Similar Messages
-
Number of Classical , Interactive and ALV reports in Project.
Hi,
I am new to ABAP.
Can anybody please tell me how many Classical , Interactive and ALV reports will be there in a approximate one year span of project ? and how many input parameters ( Select-options) will be there in a report. if you send the some sample input parameters in a report how it looks in real time will help me to practice and for the interviews.
Thanks,
Maanasa..Maanasa,
Welcome to SDN
It entirely depends upon the project, on your team and on the specs of the requirement....
From interview point of view no body is going to ask u such questions, becz there is no specific answer for such question.
~~Guduri -
What is interactive report , difference bet interactive and classic report
what is interactive report , difference bet interactive and classic report
Hi
Check this thread to get more idea about ALVs.
Interactive ALV
DIRLL DOWN AND INTERACTIVE REPORT
http://www.sap-img.com/abap/difference-between-drilldown-report-and-interactive-report.htm
As the name suggests, the user can Interact with the report. We can have a drill down into the report data. For example, Column one of the report displays the material numbers, and the user feels that he needs some more specific data about the vendor for that material, he can HIDE that data under those material numbers.
And when the user clicks the material number, another report (actually sub report/secondary list) which displays the vendor details will be displayed.
We can have a basic list (number starts from 0) and 20 secondary lists (1 to 21).
Events associated with Interactive Reports are:
AT LINE-SELECTION
AT USER-COMMAND
AT PF<key>
TOP-OF-PAGE DURING LINE-SELECTION.
HIDE statement holds the data to be displayed in the secondary list.
sy-lisel : contains data of the selected line.
sy-lsind : contains the level of report (from 0 to 21)
Interactive Report Events:
AT LINE-SELECTION : This Event triggers when we double click a line on the list, when the event is triggered a new sublist is going to be generated. Under this event what ever the statements that are been return will be displayed on newly generated sublist.
AT PFn: For predefined function keys...
AT USER-COMMAND : It provides user functions keys.
TOP-OF-PAGE DURING LINE-SELECTION :top of page event for secondary list.
http://abapprogramming.blogspot.com/search/label/INTERACTIVE%20REPORT%20BASICS -
Bursting and Parameterized report
Hi,
My scenario is as follows:
I have a report which displays customer details for particular month.
Previously, I created this report with two parameters -
a) Customer ID
b) Month-Year
Now, I have to use bursting to generate report for each combination of customer and month-year
My questions are,
1) In this case, I have two KEY values - Customer and Month-Year
But, we can give only one KEY value.
How should I add Customer ID as well as Month-Year in KEY tag?
2) If I have to use bursting capability, I have to remove parameters - Customer ID and Month-Year
Because, if I keep it, my data set query has filter on it
and I don't get any result for bursting.
Can we use parameters and bursting at the same time?
For example:
Previously my query was,
Select Customer_ID, Month_Year from Customers where Customer_ID = :Customer_ID and Month_Year = :Month_Year
In Bursting Query will be,
Select Customer_ID, Month_Year from Customers
I want to use both the capabilities -
a) User should be able to view report with parameters
b) User should be able to burst the report
Thanks for helpThanks for reply..
Following are my comments:
1. I will try that. Thanks
2. Ok. Good.
3. See,
My Data Set Query is,
Select Customer_ID, Month_Year from Customers where Customer_ID = :Customer_ID(Parameter 1) and Month_Year(Parameter 2) = :Month_Year
Here, :Customer_ID and :Month_Year are parameters
Default values would be,
Say, Customer ID = '123456'
And, Month_Year = '201412'
In this scenario, user can enter customer ID and month-year
In case of bursting, how we can handle this?
4. We don't expect NULL values as reports will be fetched from processed data
5. When bursting, we wnat to create PDFs for each Customer ID and Month-Year combination
So there will not be any input parameters (Customer ID and Month_Year) -
CRM Interactive Reports - CRM and BI Reporting client same
Hello all,
I am setting up CRM Interactive reports in CRM 7.0 wherein the CRM client and the BI Reporting client are both the same. I know it is not recommended by SAP, but our requirement is very less.
I am following the steps as mentioned in the Best Practices C41. But, when I am trying to set up a source SAP system in RSA1(Section 4.14 of C41), i get an error saying that 'Source system XXXCLNTYYY already exists'. This is the same system which has already come under the BI node in RSA1.
Since we are using the same client for both the systems, how do I rectify this error?
Please help!
Regards
DebolinaDear Srinivas,
One of the purposes of CRM Interactive reporting is quick-enablement of frequently used reports. Ofcourse these differ in all aspects with BI reports. These are faster and accurate when the data population is small.
It is not suggested to use dedicated BI server for Interactive reporting.
Anyways we can use both Interactive and BI reports simultaneously as per your client's requirement.
Hope it helps.
Thanks
Vikas
Edited by: Vikas Patil on Jun 7, 2010 5:58 PM
Edited by: Vikas Patil on Jun 7, 2010 5:59 PM -
Interactive versus ALV reports....
Hi,
I just wanted to clear my doubt.
What is the difference between interactive and ALV reports ?In ABAP, there are a total of 4 types of reports. They are:
Classical
Interactive
Logical Database
ABAP query
Classical Reports
Classical reports are normal reports. These reports are not having any sub reports.IT IS HAVING ONLY ONE SCREEN/LIST FOR OUTPUT. Events In Classical Reports. INTIALIZATION:This event triggers before selection sreen display. AT-SELECTION-SCREEN:This event triggers after proccesing user input still selection screen is in active mode. START OF SELECTIONS:starrt of selection screen triggers after proceesing selection screen. TOP-OF-PAGE:It provides header for abap reports. END-OF-PAGE:It provides footer for page. AT PF:For predefined function kes AT USER COMMAND:For user defined function keys.
Interactive Reports
Interactive reports are very accurate reports. These reports contain more than 20 sub reports.
Logical Database Reports
Logical database is another tool for ABAP reports. Using LDB we can provide extra features for ABAP reports.(Give Example Also ok understand)
ABAP Query Reports
ABAP query is another tool for ABAP. It provides efficency for ABAP reports. These reports are very accurate. For example, ALV and HR ABAP reports. ALV stands for ABAP List Viewer.
ABAP Report Types
ABAP report types are those ones available in some report's attributes screen, i.e. :
Executable program
Function group (containing function modules)
Include
Interface pool
Class pool
Module pool
Subroutine pool
Also ALV means ABAP List Viewer. Most convenient way to use it is through reuse library (cf. transaction se83) available from release 4.6 of SAP R/3.
ALV is available in two modes: list and grid. List mode is good old list processing with standard functionnalities, and grid mode is using a new OCX object displaying grids
Thanks, -
What are the function modules used in interactive ALV and parameters?
what are the function modules used in interactive ALV and parameters?
hi sunil
check these links,
About ALV:
http://www.geocities.com/mpioud/Abap_programs.html
ALV Group Heading
http://www.sap-img.com/fu037.htm
and few more,
ALV
1. Please give me general info on ALV.
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
2. How do I program double click in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=11601
http://www.sapfans.com/forums/viewtopic.php?t=23010
3. How do I add subtotals (I have problem to add them)...
http://www.sapfans.com/forums/viewtopic.php?t=20386
http://www.sapfans.com/forums/viewtopic.php?t=85191
http://www.sapfans.com/forums/viewtopic.php?t=88401
http://www.sapfans.com/forums/viewtopic.php?t=17335
4. How to add list heading like top-of-page in ABAP lists?
http://www.sapfans.com/forums/viewtopic.php?t=58775
http://www.sapfans.com/forums/viewtopic.php?t=60550
http://www.sapfans.com/forums/viewtopic.php?t=16629
5. How to print page number / total number of pages X/XX in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
http://www.sapfans.com/forums/viewtopic.php?t=64320
http://www.sapfans.com/forums/viewtopic.php?t=44477
7. How can I set the cell color in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=52107
8. How do I print a logo/graphics in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=81149
http://www.sapfans.com/forums/viewtopic.php?t=35498
http://www.sapfans.com/forums/viewtopic.php?t=5013
9. How do I create and use input-enabled fields in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=84933
http://www.sapfans.com/forums/viewtopic.php?t=69878
10. How can I use ALV for reports that are going to be run in background?
http://www.sapfans.com/forums/viewtopic.php?t=83243
http://www.sapfans.com/forums/viewtopic.php?t=19224
11. How can I display an icon in ALV? (Common requirement is traffic light icon).
http://www.sapfans.com/forums/viewtopic.php?t=79424
http://www.sapfans.com/forums/viewtopic.php?t=24512
12. How can I display a checkbox in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=88376
http://www.sapfans.com/forums/viewtopic.php?t=40968
http://www.sapfans.com/forums/viewtopic.php?t=6919
also run the folowing code and see
check this sample code.you will be well versed with all the events of a interactive alv report.mark points if useful.
*& Report ZALV4_INTERACTIVE *
*& interactive alvs *
REPORT ZALV4_INTERACTIVE NO STANDARD PAGE HEADING
MESSAGE-ID ZMSG
LINE-COUNT 37(3)
LINE-SIZE 134.
TYPE-POOLS : SLIS.
TABLES DECLARATION ********************
TABLES : VBRK, " BILLING MASTERS TABLE
VBRP. " BILLING ITEM TABLE
TYPES DECLARATION ********************
TYPES : BEGIN OF TY_VBRK, " types for billing masters table
VBELN TYPE VBRK-VBELN, " billing document
WAERK TYPE VBRK-WAERK, " document currency
VKORG TYPE VBRK-VKORG, " sales organization
FKDAT TYPE VBRK-FKDAT, " billing date
BUKRS TYPE VBRK-BUKRS, " company code
BUTXT TYPE T001-BUTXT, " company name
NETWR TYPE VBRK-NETWR, " net currency value
LINE_COLOR(4) TYPE C,
END OF TY_VBRK.
TYPES : BEGIN OF TY_VBRP, " types for billing document item data
POSNR TYPE VBRP-POSNR, " billing item
FKIMG TYPE VBRP-FKIMG, " actual invoiced quantitty
VRKME TYPE VBRP-VRKME, " sales unit
NETWR TYPE VBRP-NETWR, " net currency value
MATNR TYPE VBRP-MATNR, " material number
ARKTX TYPE VBRP-ARKTX, " short text for sales order item
END OF TY_VBRP.
FIELD CATALOG ********************
DATA : WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.
LAYOUT DECLARATION ********************
DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
WA_LAYOUT1 TYPE SLIS_LAYOUT_ALV.
EVENTS DECLARATION ********************
DATA : TY_EVENTS TYPE SLIS_ALV_EVENT,
IT_EVENTS TYPE SLIS_T_EVENT.
PF STATUS ********************
DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.
USER COMMAND ********************
DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',
R_UCOMM LIKE SY-UCOMM.
INTERNAL TABLES ********************
DATA : IT_VBRK TYPE TABLE OF TY_VBRK, "internal table for billing master
IT_VBRP TYPE TABLE OF TY_VBRP, "internal table for billing item
*internal table for field catalog
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.
WORK AREA ********************
DATA : WA_VBRK LIKE LINE OF IT_VBRK, "work area for billing master
WA_VBRP LIKE LINE OF IT_VBRP. "work area for billing item
VARIABLE DECLARATION ********************
DATA : V_DATE TYPE SY-DATUM, " variable to store date values
V_VBELN TYPE VBRK-VBELN, " variable for billing document
V_FKDAT TYPE VBRK-FKDAT, " variable for billing date
V_FLAG(1). " variable for flag
SELECTION SCREEN ********************
SELECT-OPTIONS : S_VBELN FOR VBRK-VBELN , " Billing document
S_FKDAT FOR VBRK-FKDAT, " Billing date
S_MATNR FOR VBRP-MATNR. " Material number
PARAMETERS : R1 RADIOBUTTON GROUP G1, "whole item details
R2 RADIOBUTTON GROUP G1. "selected item details
INITIALIZATION ********************
INITIALIZATION.
V_FLAG = 'X'.
V_DATE = SY-DATUM - 20.
S_FKDAT-SIGN = 'I'.
S_FKDAT-OPTION = 'EQ'.
S_FKDAT-LOW = V_DATE.
S_FKDAT-HIGH = SY-DATUM.
APPEND S_FKDAT.
SELECTION SCREEN VALIDATION ********************
AT SELECTION-SCREEN.
PERFORM CONVERSION. " performs data conversion for input
PERFORM VBELN_VALIDATE. " validating the billing document
PERFORM FKDAT_VALIDATE. " validating the billing date
START OF SELECTION ********************
START-OF-SELECTION.
SET TITLEBAR 'AAAA'.
PERFORM VBRK_POPULATE. " populating the billing master detais
PERFORM FIELDCATALOG. " designing the field catalog
PERFORM EVENTS. " performing the events for top of page
PERFORM DISP_BASICLIST." displaying the basic list
*& Form VBELN_VALIDATE
text validating the billing document
--> p1 text
<-- p2 text
FORM VBELN_VALIDATE .
IF S_VBELN IS INITIAL.
MESSAGE E000 WITH 'Make entries in all required fields'.
ELSE.
SELECT SINGLE VBELN
FROM VBRK
INTO V_VBELN
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE I000 WITH 'BILLING DOCUMENT DOESNT EXIST'.
ENDIF.
ENDIF.
ENDFORM. " VBELN_VALIDATE
*& Form FKDAT_VALIDATE
text validating the billing date
--> p1 text
<-- p2 text
FORM FKDAT_VALIDATE .
SELECT SINGLE FKDAT
FROM VBRK
INTO V_FKDAT
WHERE FKDAT IN S_FKDAT.
IF SY-SUBRC <> 0.
MESSAGE I000 WITH 'BILLING DATE DOESNT EXIST'.
ENDIF.
ENDFORM. " FKDAT_VALIDATE
*& Form VBRK_POPULATE
text populating the billing master details
--> p1 text
<-- p2 text
FORM VBRK_POPULATE .
DATA : LD_COLOR(1) TYPE C.
LD_COLOR = 5.
SELECT VBRK~VBELN
VBRK~WAERK
VBRK~VKORG
VBRK~FKDAT
VBRK~BUKRS
VBRK~NETWR
T001~BUTXT
FROM VBRK INNER JOIN T001
ON VBRKBUKRS = T001BUKRS
INTO CORRESPONDING FIELDS OF TABLE IT_VBRK
WHERE VBRK~VBELN IN S_VBELN AND
VBRK~FKDAT IN S_FKDAT.
LOOP AT IT_VBRK INTO WA_VBRK.
LD_COLOR = LD_COLOR + 1.
IF LD_COLOR = 8.
LD_COLOR = 1.
ENDIF.
CONCATENATE 'C' LD_COLOR '10' INTO WA_VBRK-LINE_COLOR.
MODIFY IT_VBRK FROM WA_VBRK.
ENDLOOP.
ENDFORM. " VBRK_POPULATE
*& Form CONVERSION
text data conversion to take leading zeroes into account
--> p1 text
<-- p2 text
FORM CONVERSION .
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = S_VBELN
IMPORTING
OUTPUT = S_VBELN.
ENDFORM. " CONVERSION
*& Form DISP_BASICLIST
text displaying the basic list
--> p1 text
<-- p2 text
FORM DISP_BASICLIST .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = PF_STATUS
I_CALLBACK_USER_COMMAND = USER_COMMAND
I_STRUCTURE_NAME =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'X'
IS_VARIANT =
IT_EVENTS = 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
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_VBRK
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " DISP_BASICLIST
*& Form FIELDCATALOG
text designing the field catalog
--> p1 text
<-- p2 text
FORM FIELDCATALOG .
WA_FIELDCAT-TABNAME = 'IT_VBRK'.
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-SELTEXT_L = 'BILLING DOCUMENT'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-EMPHASIZE = 'C610'.
WA_FIELDCAT-KEY = 'X'.
WA_FIELDCAT-OUTPUTLEN = 20.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_VBRK'.
WA_FIELDCAT-FIELDNAME = 'WAERK'.
WA_FIELDCAT-SELTEXT_L = 'DOCUMENT CURRENCY'.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-OUTPUTLEN = 20.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_VBRK'.
WA_FIELDCAT-FIELDNAME = 'VKORG'.
WA_FIELDCAT-SELTEXT_L = 'SALES ORGANIZATION'.
WA_FIELDCAT-EMPHASIZE = 'C610'.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-OUTPUTLEN = 20.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_VBRK'.
WA_FIELDCAT-FIELDNAME = 'FKDAT'.
WA_FIELDCAT-SELTEXT_L = 'BILLING DATE'.
WA_FIELDCAT-COL_POS = 4.
WA_FIELDCAT-OUTPUTLEN = 20.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_VBRK'.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-SELTEXT_L = 'COMPANY CODE'.
WA_FIELDCAT-COL_POS = 5.
WA_FIELDCAT-OUTPUTLEN = 20.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_VBRK'.
WA_FIELDCAT-FIELDNAME = 'BUTXT'.
WA_FIELDCAT-SELTEXT_L = 'COMPANY NAME'.
WA_FIELDCAT-COL_POS = 6.
WA_FIELDCAT-OUTPUTLEN = 25.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_VBRK'.
WA_FIELDCAT-FIELDNAME = 'NETWR'.
WA_FIELDCAT-SELTEXT_L = 'NET CURRENCY VALUE'.
WA_FIELDCAT-COL_POS = 7.
WA_FIELDCAT-OUTPUTLEN = 20.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_LAYOUT-ZEBRA = 'X'.
WA_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
ENDFORM. " FIELDCATALOG
*& Form SET_PF_STATUS
text set the pf status
FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'Z50658_PFSTATUS' EXCLUDING EXTAB.
ENDFORM. "SET_PF_STATUS
*& Form SET_USER_COMMAND
text set the user command
FORM SET_USER_COMMAND USING R_UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'CLICK'.
IF R1 = 'X'.
IF NOT IT_VBRK IS INITIAL.
SELECT POSNR
FKIMG
VRKME
NETWR
MATNR
ARKTX
FROM VBRP
INTO CORRESPONDING FIELDS OF TABLE IT_VBRP
FOR ALL ENTRIES IN IT_VBRK
WHERE VBELN = IT_VBRK-VBELN.
IF SY-SUBRC <> 0.
MESSAGE I000 WITH ' NO BILLING DETAILS FOUND'.
ELSE.
IF V_FLAG = 'X'.
PERFORM DET_FIELDCATALOG.
V_FLAG = ''.
ENDIF.
PERFORM DET_LISTDISPLAY.
ENDIF.
ENDIF.
ENDIF.
IF R2 = 'X'.
READ TABLE IT_VBRK INTO WA_VBRK INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
SELECT SINGLE POSNR
FKIMG
VRKME
NETWR
MATNR
ARKTX
FROM VBRP
INTO CORRESPONDING FIELDS OF WA_VBRP
WHERE VBELN = WA_VBRK-VBELN.
ENDIF.
APPEND WA_VBRP TO IT_VBRP.
ENDIF.
IF V_FLAG = 'X'.
PERFORM DET_FIELDCATALOG. "designing the field catalog for items
V_FLAG = ''.
ENDIF.
PERFORM DET_LISTDISPLAY. "displaying the secondary list
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'UP'.
LEAVE TO SCREEN 0.
WHEN 'CANCEL'.
CALL TRANSACTION 'SE38'.
ENDCASE.
ENDFORM. "SET_USER_COMMAND
*& Form DET_FIELDCATALOG
text designing the field catalog for item details
--> p1 text
<-- p2 text
FORM DET_FIELDCATALOG .
WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
WA_FIELDCAT1-FIELDNAME = 'POSNR'.
WA_FIELDCAT1-SELTEXT_L = 'BILLING ITEM'.
WA_FIELDCAT1-COL_POS = 1.
WA_FIELDCAT1-OUTPUTLEN = 20.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
WA_FIELDCAT1-FIELDNAME = 'FKIMG'.
WA_FIELDCAT1-SELTEXT_L = 'INVOICE QUANTITY'.
WA_FIELDCAT1-COL_POS = 2.
WA_FIELDCAT1-OUTPUTLEN = 20.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
WA_FIELDCAT1-FIELDNAME = 'VRKME'.
WA_FIELDCAT1-SELTEXT_L = 'SALES UNIT'.
WA_FIELDCAT1-COL_POS = 3.
WA_FIELDCAT1-OUTPUTLEN = 20.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
WA_FIELDCAT1-FIELDNAME = 'NETWR'.
WA_FIELDCAT1-SELTEXT_L = 'NET CURRENCY VALUE'.
WA_FIELDCAT1-COL_POS = 4.
WA_FIELDCAT1-OUTPUTLEN = 20.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
WA_FIELDCAT1-FIELDNAME = 'MATNR'.
WA_FIELDCAT1-SELTEXT_L = 'MATERIAL NUMBER'.
WA_FIELDCAT1-COL_POS = 5.
WA_FIELDCAT1-OUTPUTLEN = 20.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
WA_FIELDCAT1-FIELDNAME = 'ARKTX'.
WA_FIELDCAT1-SELTEXT_L = 'SALES ORDER ITEM'.
WA_FIELDCAT1-COL_POS = 6.
WA_FIELDCAT1-OUTPUTLEN = 20.
APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
CLEAR WA_FIELDCAT1.
WA_LAYOUT1-ZEBRA = 'X'.
ENDFORM. " DET_FIELDCATALOG
*& Form DET_LISTDISPLAY
text displaying the secondary list
--> p1 text
<-- p2 text
FORM DET_LISTDISPLAY .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT = WA_LAYOUT1
IT_FIELDCAT = IT_FIELDCAT1
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = 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
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_VBRP
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR IT_VBRP[].
ENDFORM. " DET_LISTDISPLAY
*& Form EVENTS
text
--> p1 text
<-- p2 text
FORM EVENTS .
CLEAR TY_EVENTS.
TY_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.
TY_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND TY_EVENTS TO IT_EVENTS.
ENDFORM. " EVENTS
*& Form TOP_OF_PAGE
text
FORM TOP_OF_PAGE.
SKIP.
ULINE.
WRITE :/2 ' DATE :', SY-DATUM,
45 'INTELLIGROUP ASIA PVT LTD',
110 'TIME :', SY-UZEIT.
WRITE : /3 'USER :', SY-UNAME,
45 'TITLE :', SY-TITLE,
110 'PAGE :', SY-PAGNO.
ULINE.
SKIP.
ENDFORM. "TOP_OF_PAGE
Cheers
navjot
Reward with points if it is helpful
Message was edited by:
navjot sharma -
Mixing of interactive report and classic report fails the RESET PAGINATION process.
I have a tab page where i got 3 different reports REPORT_A (classic), REPORT_B(interactive) and REPORT_C (CLASSIC) in the same alphabetic order. I have a reset pagination page process which will always fire (without any condition) when you visit the page via tab.
The reset pagination process which exists in the before header stage is firing but not resetting the interactive report. It does affect the subsequent classic report REPORT_C as well. The REPORT_A would reset pagination fine since it exists before the interactive report. Is this a know bug in apex?
I created a test demo application with exact steps to reproduce the problem. The steps are in the demo website itself.
http://apex.oracle.com/pls/apex/f?p=56638
U: testuser
P: password
Apex Version: 4.2.4.00.08
In my real application i would have a dropdownlist in the page based on which I would filter the data. The dropdownlist will have a corresponding after-submit branch which will handle the reset pagination & RIR absolutely fine. But when we visit the website through tab the above problem would crash the page.
I tried solutions like gReport.search('SEARCH') but that will fix only the interactive report, not the classic REPORT_C. That is just a hack anyway.
Any ideas.?Ramani_vadakadu wrote:
in classic report pagination need to be make it up max rows in APEX_SCHEMA(APEX_040200) itself. i was fixed this issue long back myself,but right now i don't remember which table! so please check the schema and track it.
This makes very little sense to me. Please explain this in detail. Are you advocating making changes to APEX metadata by executing DML on tables in the APEX_040200 schema? Doing so will leave your APEX instance in an unsupported an possibly inoperable state. -
Even with parameters, reports reading entire data source and then filtering
I'm working with an Oracle database (read-only access) and Crystal Reports 2008. I have created a report and added three parameters for which I have already done all necessary steps in the select expert. But when I do a Print preview of the report, and after selecting the parameter values, the report tries to read all of the data source records before the parameters are utilized by the report. In other words, if the data source has 100,000 records, the report will return (in the background) all 100,000 records and then filter among these returned records to present/display the data according to the provided parameter values. Instead, I would like it to use the parameters first so that only those records that meet the parameter value criteria are read into the report from the "get go"...Since I only have read only access to the Oracle database, I cannot write a stored procedure either...(company policy)...Can parameters be used to read in only pertaining records instead of filtering already read in records in a given report? Is there some syntax that can be entered into a Command type connection to do this?
I've tried that but I'm now getting an error on line 6...
Crystal Reports Error:
Failed to retrieve data from the database.
Details: HYooo:[Oracle][ODBC][Ora]ORA-00911: invalid character
ORA-06512: at line 6
[Database Vendor Code: 911 ]
for the following syntax: (Not sure why...any help would be extremely appreciated!)
DECLARE
varCCN CHAR(7);
varMASLOC char(3);
varWO char(10);
BEGIN
EXECUTE IMMEDIATE '
SELECT Trim(DB.D_WO.SERIAL) AS Serial,
Trim(DB.WO.WO_NUM) AS WO,
DB.WO.WO_LINE AS Line,
DB.WO_HDR.WO_DESCRIPTION,
DB.WO.ITEM,
DB.WO.REVISION,
CASE WHEN DB.WO.ITEM=' || '''\''' || 'THEN DB.WONSD.DESC_ ELSE DB.ITEM.DESCRIPTION END AS Item_Description,
DB.WO.ORD_QTY,
DB.WO.START_DATE,
DB.WO.DUE_DATE,
DB.WO_RTG.OPERATION,
DB.D_OPERNM.D_OPER_NUM_SEQ,
DB.WC.DESCRIPTION AS WC_Description,
DB.WO.CCN,
DB.WO.MAS_LOC,
DB.D_WKINST.D_WORK_INSTRUCTION,
DB.D_WORTG.NA_OPER,
DB.D_WORTG.D_OPER_GROUP,
DB.GLOVCLB.CONTENT,
DB.D_WOHDR.D_J_MACHINE,
DB.D_WOHDR.D_H_MACHINE,
DB.D_WOHDR.D_STD_ASSEMBLY,
DB.D_WOHDR.D_T_C_A_ASSEMBLY,
DB.D_WOHDR.D_T_C_B_ASSEMBLY,
DB.D_WOHDR.D_B_S_ASSEMBLY
FROM DB.WO_HDR
LEFT JOIN DB.WO
ON DB.WO_HDR.CCN = DB.WO.CCN
AND DB.WO_HDR.MAS_LOC = DB.WO.MAS_LOC
AND DB.WO_HDR.WO_NUM = DB.WO.WO_NUM
LEFT JOIN DB.D_WO
ON DB.WO.WO_LINE = DB.D_WO.WO_LINE
AND DB.WO.WO_NUM = DB.D_WO.WO_NUM
AND DB.WO.MAS_LOC = DB.D_WO.MAS_LOC
AND DB.WO.CCN = DB.D_WO.CCN
LEFT JOIN DB.WONSD
ON DB.WO.WO_LINE = DB.WONSD.WO_LINE
AND DB.WO.WO_NUM = DB.WONSD.WO_NUM
AND DB.WO.MAS_LOC = DB.WONSD.MAS_LOC
AND DB.WO.CCN = DB.WONSD.CCN
LEFT JOIN DB.ITEM
ON DB.WO.REVISION = DB.ITEM.REVISION
AND DB.WO.ITEM = DB.ITEM.ITEM
LEFT JOIN DB.WO_RTG
ON DB.WO.WO_LINE = DB.WO_RTG.WO_LINE
AND DB.WO.WO_NUM = DB.WO_RTG.WO_NUM
AND DB.WO.MAS_LOC = DB.WO_RTG.MAS_LOC
AND DB.WO.CCN = DB.WO_RTG.CCN
LEFT JOIN DB.D_WORTG
ON DB.WO_RTG.OPERATION = DB.D_WORTG.OPERATION
AND DB.WO_RTG.WO_LINE = DB.D_WORTG.WO_LINE
AND DB.WO_RTG.WO_NUM = DB.D_WORTG.WO_NUM
AND DB.WO_RTG.MAS_LOC = DB.D_WORTG.MAS_LOC
AND DB.WO_RTG.CCN = DB.D_WORTG.CCN
LEFT JOIN DB.WC
ON DB.WO_RTG.WC = DB.WC.WC
AND DB.WO_RTG.CCN = DB.WC.CCN
LEFT JOIN DB.D_OPERNM
ON DB.WO_RTG.OPERATION = DB.D_OPERNM.OPERATION
AND DB.WO_RTG.WO_LINE = DB.D_OPERNM.WO_LINE
AND DB.WO_RTG.WO_NUM = DB.D_OPERNM.WO_NUM
AND DB.WO_RTG.MAS_LOC = DB.D_OPERNM.MAS_LOC
AND DB.WO_RTG.CCN = DB.D_OPERNM.CCN
LEFT JOIN DB.D_WKINST
ON DB.D_WORTG.D_WORK_INSTRUCTION = DB.D_WKINST.D_WORK_INSTRUCTION
LEFT JOIN DB.WOLN_TXT
ON DB.WO.WO_LINE = DB.WOLN_TXT.WO_LINE
AND DB.WO.WO_NUM = DB.WOLN_TXT.WO_NUM
AND DB.WO.MAS_LOC = DB.WOLN_TXT.MAS_LOC
AND DB.WO.CCN = DB.WOLN_TXT.CCN
LEFT JOIN DB.GLOVCLB
ON DB.WOLN_TXT.OBJECT_ID = DB.GLOVCLB.OBJECT_ID
LEFT JOIN DB.D_WOHDR
ON DB.WO.CCN = DB.D_WOHDR.CCN
AND DB.WO.MAS_LOC = DB.D_WOHDR.MAS_LOC
AND DB.WO.WO_NUM = DB.D_WOHDR.WO_NUM
WHERE DB.WO_HDR.CCN=' || varCCN || ';
AND DB.WO_HDR.MAS_LOC=' || varMASLOC || ';
AND TRIM(DB.WO_HDR.WO_NUM)=' || varWO || ';';
END;
Edited by: lirizarry on Nov 6, 2009 4:37 PM -
hi,
What is difference between interactive report and drilldown report?
pls send it detailed.
thanx and regrads
priya.Hi Priya,
There is no difference between drill down and interactive report, they are the same.
With drilldown reporting, SAP provides you with an interactive information system to let you evaluate the data collected in your application. This information system is capable of analyzing all the data according to any of the characteristics that describe the data. You can also use any key figures you wish to categorize your data. You can display a number of objects for a given key figure, or a number of key figures for a given object. In addition, the system lets you carry out any number of variance analyses (such as plan/actual comparisons, fiscal year comparisons, comparisons of different objects, and so on).
You can produce both simple, data-directed lists (basic reports) and complex, formatted lists in drilldown reporting (form reports).
Drilldown report provides you with comfortable functions for navigating through your data. For example, you can jump to the next level of detail or the next report object on the same level, hide individual levels and switch between the detail and drilldown lists. It also provides a number of additional functions which let you process lists interactively (sorting, conditions, ranking lists, and so on). SAP Graphics, SAPmail and the Excel List Viewer are also integrated into drilldown reporting.
The drilldown functions are divided into three groups which differ in the number of functions available. That way each user can choose the functional level most suited for his requirements.
In addition to the online functions for displaying reports, drilldown reporting also provides functions which let you print reports. A number of formatting functions are available to let you determine the look of your printed reports (page breaks, headers and footers, underscores, and so on).
The menus and the functions available directly on the drilldown report make it easy to use the information system.
What is an Interactive Report?
An interactive report generally works in the following fashion:
1. Basic list is displayed.
2. User double clicks on any valid line
or
User selects a line and presses as button on the tool bar.
3. The corresponding event is triggered
4. Then in the code, the line on which action was done, is read.
5. Depending on the values in that selected line, a secondary list is displayed.
6. Steps from 2-5 are repeated till the end.
From the above explanation, I believe, its clear that, the 20th list, will essentially depend on the "selected line" of 19th list. According to your question, you want to move to 20th list directly, without "a prior list". May I know the exact requirement so that, an appropriate solution can be suggested?
Again, your question was, how to move to 20th list directly on pressing of execute button. Its not possible to move to 20th list. You must cross over a basic list, before you can go to a different list level, using the code given by Pavan.
What are Drilldown reports?
The lines of basic list of a drilldown report when clicked, will take the user to the corresponding (standard) object's display.
For eg: Suppose your report's primary component is purchase requisition, (assume you are printing PR details), and the basic list displays details of many PRs.
Eg: when clicked on a particular line of the PR basic list, it takes you to std t-code me53 (display of purchase requisition). This is the 'Drill-down' functionality.
For this, in the at-line selection of your program, as per the above ex: you'll set the parameter ID of PR number BAN (that you can get from Data element) in memory (using set parameter id) and then calling the corresponding transaction (usually skipping initial screen of the std t-code).
Likewise, if it's Material Number (Matnr), you'll be displaying MM03 transaction w.r.t. the line's matnr.
Regards
Sathish:) -
How to share a parameterized and refreshable report with my colleagues
I usually send monthly reports to 2 or 3 of my colleagues by email. Now I am thinking to use crystalreports.com to publish and share the reports. Which way is better to share the parameterized reports and also make them refreshable (updated), ODC or salesforce? How to allow the online reports to access our Oracle database when users view them? I am new to crystal reports, any suggestions will be appreciated!
Hello,
Currently, the ODC is only supported on Windows / IIS. We were working on a linux version, but it has been put on hold due to other priorities. I don't believe we have an estimation for when it may be released.
You do need the crystal reports db drivers on the same IIS machine. I am not sure if this means you need a full install of crystal reports or just the sdk or what. But yes, you do need at least a portion of the crystal reports install on the IIS machine.
Inside the desktop publisher, you can create a task which represents a scheduled report on your local machine. When you create the task, you will be prompted to select the report on your local machine and where you want it to go in cr.com along with when you want it to run (now, once, daily, weekly, etc). When you save the task, it will figure out if any parameter prompts or db logon prompts are needed and actually prompt you for those right there. The values you enter will be saved into the task and used when the task actually runs. At run time, the task will refresh the report based on the prompt values you entered and upload the refreshed copy to cr.com as a saved data report.
If you have registered for a starter account on the website, you can download and try out the desktop publisher and see if it meets your needs.
Cheers
Steve -
Separate Date and Time report parameters in SSRS 2012
Hi Forumers'
I m trying to design a report in SSRS with Separate date and time parameters
I would like to have four parameter StartDate,EndDate,StartTime and EndTime.
reports should be filter on all four parameter.
can any one help me on this. i am using stored procedure to fetch data from db.
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE[dbo].[GetIVRTime]
@StartDate varchar(50),
@EndDate varchar(50),
@StartTime Varchar(50),
@EndTime Varchar (50)
AS
BEGIN
DECLARE @Names VARCHAR(8000)
BEGIN
Select Convert(varchar(12),timestamp,105)As Date,CONVERT (VARCHAR(12), timestamp, 108) As Time,
Count(cli)As TotalCall,
SUM(case when ivrsuccess=1 then 1 else 0 end)as IVRSuccessfull,
SUM(case when ivrsuccess=2 then 1 else 0 end)as IVRunsuccessfull,
SUM(case when exitreason=1 then 1 else 0 end)as PBOTransferred,
SUM(case language when'ENG'then 1 else 0 end)as EnglishCall,
SUM(case language when'HIN'then 1 else 0 end)as HindiCall
From tbl_ivrmaster
where callstartdatetime>=@StartDate and callenddatetime<=dateadd(dd,1,@EndDate)
and callstartdatetime>=@StartTime and callenddatetime<=@EndTime
group by Convert(varchar(12),timestamp,105),CONVERT (VARCHAR(12), timestamp, 108)
END
ENDHi Nirmal,
I have tested on my local environment that as Visakh16 mentioned that you can use function like DATEADD(dd,DATEDIFF(dd,0,@StartDate),@StartTime)
to get the date/time value based on the date and time parameter you have selectted.
There is also anoher method to add filter in the dataset but not in the query.Details information below for your reference;
Please change the datatype of the @sartdate and @enddate from text to date, if you don't specify an availbel value for these two parameters, you will get an calender picker to select the date.
I assumed the two time parameters will enter the value which format like:hh:mm or hh:mm:ssYou can conver the datetime field in the table to string and then compare with the conbine of the date and time field to filter the data
like below:
Filter add in the dataset like:
Expression:=FormatDateTime(Fields!DateTime.Value) (String type)
Operator: Between
Value:
=Parameters!StartDate.Value &" "&Right(TimeValue(Parameters!StartTime.Value),8)
=Parameters!EndDate.Value &" "&Right(TimeValue(Parameters!EndTime.Value),8)
Preview the report:
If you still have any problem, please feel free to ask.
Regards,
Vicky Liu
Vicky Liu
TechNet Community Support -
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 do I create a folder or report from a query with a union and parameters
I have created folders with unions but I am having difficulty coverting a query with a union and parameters.
The following works great in SQL*Developer without parameters, but I want to change to use parameters for the year and quarter and use it in Discoverer:
SELECT TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000') FEID,
AV.FIRM_NAME VENDOR_NAME,
AV.BIDCLASS CONTRACT_CODES,
AV.AWAMT AWARD_AMOUNT,
AV.SOL_MODE FORMAL_INFORMAL,
AV.CERT BUSINESS_ENTITY,
AV.ETHNICITY ETHNICTY,
AV.PO_NUMBER_FORMAT CONTRACT,
SUM(VP.INVOICE_AMOUNT) AMOUNT_PAID_$
FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV,
CONFIRM.VSTATE_VENDOR_PAYMENTS VP
WHERE ( ( AV.PO_NUMBER = VP.PO_NUMBER
AND AV.VENDOR_ID = VP.VENDOR_ID ) )
AND (TO_CHAR(VP.PAYMENT_DATE,'Q') = '4')
AND ( TO_CHAR(VP.PAYMENT_DATE,'YYYY') = '2009' )
GROUP BY TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000'),
AV.FIRM_NAME,
AV.BIDCLASS,
AV.AWAMT,
AV.SOL_MODE,
AV.CERT,
AV.ETHNICITY,
AV.PO_NUMBER_FORMAT
union
SELECT TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000') FEID,
AV2.FIRM_NAME VENDOR_NAME,
AV2.BIDCLASS CONTRACT_CODES,
AV2.AWAMT AWARD_AMOUNT,
AV2.SOL_MODE FORMAL_INFORMAL,
AV2.CERT BUSINESS_ENTITY,
AV2.ETHNICITY ETHNICTY,
AV2.PO_NUMBER_FORMAT CONTRACT,
0 AMOUNT_PAID_$
FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV2
WHERE
not exists (SELECT 'X'
FROM CONFIRM.VSTATE_VENDOR_PAYMENTS VP2
WHERE av2.po_number = vp2.po_number
AND (TO_CHAR(VP2.PAYMENT_DATE,'Q') = '4')
AND ( TO_CHAR(VP2.PAYMENT_DATE,'YYYY') = '2009' ))
AND (TO_CHAR(AV2.AWDATE,'Q') = '4')
AND (to_CHAR(AV2.AWDATE,'YYYY') = '2009')
GROUP BY TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000'),
AV2.FIRM_NAME,
AV2.BIDCLASS,
AV2.AWAMT,
AV2.SOL_MODE,
AV2.CERT,
AV2.ETHNICITY,
AV2.PO_NUMBER_FORMAT Can someone provide a solution?
Thank you,
RobertHi,
You can take the parameters to the select so that you will be able to create conditions over them.
Try to use this SQL instead of your and in the discoverer workbook create the conditions and parameters:
SELECT TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000') FEID,
AV.FIRM_NAME VENDOR_NAME,
AV.BIDCLASS CONTRACT_CODES,
AV.AWAMT AWARD_AMOUNT,
AV.SOL_MODE FORMAL_INFORMAL,
AV.CERT BUSINESS_ENTITY,
AV.ETHNICITY ETHNICTY,
AV.PO_NUMBER_FORMAT CONTRACT,
TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
SUM(VP.INVOICE_AMOUNT) AMOUNT_PAID_$
FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV,
CONFIRM.VSTATE_VENDOR_PAYMENTS VP
WHERE ( ( AV.PO_NUMBER = VP.PO_NUMBER
AND AV.VENDOR_ID = VP.VENDOR_ID ) )
--AND (TO_CHAR(VP.PAYMENT_DATE,'Q') = '4')*
--AND ( TO_CHAR(VP.PAYMENT_DATE,'YYYY') = '2009' )*
GROUP BY TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000'),
AV.FIRM_NAME,
AV.BIDCLASS,
AV.AWAMT,
AV.SOL_MODE,
AV.CERT,
AV.ETHNICITY,
AV.PO_NUMBER_FORMAT ,
TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
union
SELECT TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000') FEID,
AV2.FIRM_NAME VENDOR_NAME,
AV2.BIDCLASS CONTRACT_CODES,
AV2.AWAMT AWARD_AMOUNT,
AV2.SOL_MODE FORMAL_INFORMAL,
AV2.CERT BUSINESS_ENTITY,
AV2.ETHNICITY ETHNICTY,
AV2.PO_NUMBER_FORMAT CONTRACT,
TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
0 AMOUNT_PAID_$
FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV2
WHERE
not exists (SELECT 'X'
FROM CONFIRM.VSTATE_VENDOR_PAYMENTS VP2
WHERE av2.po_number = vp2.po_number
AND (TO_CHAR(VP2.PAYMENT_DATE,'Q') = TO_CHAR(VP.PAYMENT_DATE,'Q') )
AND ( TO_CHAR(VP2.PAYMENT_DATE,'YYYY') = TO_CHAR(VP.PAYMENT_DATE,'YYYY') ))
--AND (TO_CHAR(AV2.AWDATE,'Q') = '4')*
--AND (to_CHAR(AV2.AWDATE,'YYYY') = '2009')*
GROUP BY TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000'),
AV2.FIRM_NAME,
AV2.BIDCLASS,
AV2.AWAMT,
AV2.SOL_MODE,
AV2.CERT,
AV2.ETHNICITY,
AV2.PO_NUMBER_FORMAT,
TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
Tamir -
How To Run a Parameterized Report Stored in Crystal Enterprise on demand
I have been integrating into Crystal Enterprise 10 for many years now with no problem. We use .net to schedule and run reports as well some administration tasks. Users can view reports through our asp.net web application using the crystal viewers.
However, I now have a task that requires us to run a report that is stored in CE on demand. This can NOT be done through the viewer because it will not have direct user interaction. The crystal report has to be bundled with other documents and then displayed to the user in a single PDF. I have everything working right now if the report has already been scheduled and ran through CE.
What I can't figure out to do is how to actually run the report in CE on demand and immediately get the results back. I can't schedule it (even for immediate running) because I can't have it backed up in the job server queue. If the report was local on the machine that Integerate with CE, I think it is as simple as loading document, setting parameters, and calling refresh. However, I need this to happen in CE with the RAS or PageServer server. In other words, the execution of the report needs to occur on server and I need the end results.
I have scoured the Net looking for an example but everything either talks about scheduling through Job server or on demand through the viewer.
Hopefully someone can help.Thanks for the answer Elaine, but I am still not quite there.
We already had interactive on-demand report viewing working through our web app.
The problem is that I need non-interactive on-deman report running. Let me explain the process a little more to help paint the picture of the process we have.
1. While working in our application, the user selects an "information dump" on the selected the employee. This dump is information from a number of different places and document types.
2. The application then goes to each of these different information areas and converts the information to PDF format.
3. Application stitches all the individual PDF files into a single PDF which is what is returned to the user via the web application. The delivery mechanism cannot change due to requirement limitations.
Currently, the information is coming from multiple MS Word mailmerge documents merged "on-the-fly" with data for the employee and a stored HTML worksheet that is also converted to PDF.
We now have to add a PDF version of 2 reports that are ran when the user requests the information dump.
I already have the code to connect to CE and get a reference to the RASReportFactory. We do this today using the interactive viewer. However, we use the viewer to display reports that have already been scheduled and ran. This means we simply make a call to RASReportFactory.OpenReportSource to get the source for the viewer.
We now can't have a viewer in this process. I found the call to the method OpenDocument on RASReportFactory to get a handle to a ReportClientDocument.
I know how to properly set the values for the report arguments as well as the database information.
What I don't see is a method to tell it to run the report. I see Save and SaveAs but this simply saves the document by to CE or to a local file with the changes I made to parms and db info.
What do I call to tell it to execute the report so I can turn around and export it to PDF? Thats the million dollar question.
Edited by: Stephen Barrett on Aug 20, 2008 12:11 AM
Maybe you are looking for
-
Hello, I have a Jogl question...it appears that javagaming forums are down, so I thought that I'd try my luck here. I came across this text in the following wikipedia article: http://en.wikipedia.org/wiki/Comparison_of_Direct3D_and_OpenGL "Microsoft'
-
Is there a date entry widget for XMP custom file info panels?
Looking through the Custom File Info Panels documentation, the samples, and the default info panels presented in Photoshop, I can't find any reference to a date entry widget - the closest I've seen is the date_static_text widget. Is there any way to
-
Multiple App Server on a single host
I have a requirement to have multiple application server installations on a single server. Each installation will support a separate department. In the past each department had their own servers and had full control of their application server. Would
-
Hi, I changed one attribute to 15 chraracters , variable was created on this attribute in the query when I run the query with the new value(more than 10 char now) in the selection condition I am getting the following message "value G57004040190 fo
-
hi i done a system upgrade with pacman -Syu everything downloaded ok, it gets to the install and errors with dependency errors saying quite a few (cant remember which ones) packages need xfree86. then it aborts i haven`t got a clue ........ help :?: