Executing the report in the background
Hi Frnds,
I want to execute a report in background.After executing the report I want to receive a mail.
I think this is possible through reporting agent.
so i need the steps for this how to do...pls do the need ful..waiting for reply..
Thanks and Regards
Rajasekar.
Hi,
there are two parts of it -
a. you have some exceptions & you run report in background & are informed if exception occurs, for that kind of scenario look at -
http://help.sap.com/saphelp_bw33/helpdata/en/d3/a850390aa3b608e10000000a11402f/content.htm
b. Without exception you can play with WEb template & get informed -- I am not very sure.see this --
http://help.sap.com/saphelp_bw33/helpdata/en/9e/9f653ade969f4de10000000a114084/content.htm
If you are on BW350, it can be achieved by Information Broadcasting feature. see this -
http://help.sap.com/saphelp_nw04/helpdata/en/a5/359840dfa5a160e10000000a1550b0/content.htm
Hope it helps
regards
VC
Similar Messages
-
Run the Report as a Background job and Get the Output in Excel in Local PC
Hello Gurus,
I have one following requirement.
One should be able to run the report as a background job and it should be possible to get the report in Excel format, also when running the report in background. The excel report should have the same information and look as the current SAPreport.
Please provide some solution.
Any helpful answer get surely awarded.
Thanks a lot,
VarlanirGUI_* WS_* Function In Background, CSV Upload
GUI_* and WS_* function modules do not work in background
When scheduling a job in the background the appropriate statement to read in your file is OPEN DATASET, and the file must be on the file system that the SAP server can see.
At anytime, a user can switch of the Personal Computers even though the job is still running in the background. Therefore GUI_* and WS_* function modules are not designed to work in that way, as they need to access your personal computer file.
To choose the correct download method to used, you can check the value of SY-BATCH in your code,
if it is 'X' use OPEN DATASET and if it is ' ' use WS_UPLOAD.
*-- Open dataset for reading
DATA:
dsn(20) VALUE '/usr/test.dat',
rec(80).
OPEN DATASET dsn FOR INPUT IN TEXT MODE.
IF sy-subrc = 0.
DO.
READ DATASET dsn INTO rec.
IF sy-subrc <> 0.
EXIT.
ELSE.
WRITE / rec.
ENDIF.
ENDDO.
ENDIF.
CLOSE DATASET dsn.
*-- Open dataset for writing
DATA rec(80).
OPEN DATASET dsn FOR OUTPUT IN TEXT MODE.
TRANSFER rec TO '/usr/test.dat'.
CLOSE DATASET dsn.
What is the difference when we use upload, ws_upload, gui_upload function modules?
UPLOAD, WS_UPLOAD, GUI_UPLOAD, are used in BDC concepts. ie., Batch Data Communication.
Batch Data Conversion is a concept where user can transfer the Data from non SAP to SAP R/3. So , in these various Function Modules are used.
UPLOAD--- upload a file to the presentation server (PC)
WS_UPLOAD---- Load Files from the Presentation Server to Internal ABAP Tables.
WS means Work Station.
This is used upto SAP 4.6 version.
GUI_UPLOAD------- Replaces WS_UPLOAD. Upoad file from presentation server to the app server. From 4.7 SAP version it is replaced.
How to Upload csv file to SAP?
Common File Download Upload Questions:
How you upload the data from text file to sap internal table? From my knowledge its by upload or gui_upload.
How you download the data from sap internal table to text file?
How you upload the data from xls (excel) file to sap internal table how you download the data from sap internal table to xls(excel) file.
You can upload data from presentation server to an internal table using gui_upload. Use gui_download to download from internal table to flat file.
Use fm ALSM_EXCEL_TO_INTERNAL_TABLE to upload data frm excel.
Use function module GUI_UPLOAD
The FILETYPE refer to the type of file format you need: For e.g 'WK1' - Excel format , 'ASC' - Text Format etc.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:\test.csv'
FILETYPE = 'ASC'
TABLES
DATA_TAB = itab
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17. -
Executing the report from the form
I am getting the following error while executing a report from the form, and the destination format is excel
RWRBE60.exe - Application Error
The exception unknown software exception (0xc00000fd) occurred in the application at location 0x64aa591a.
Click on OK to terminate the program
Click on CANCEL to debug the program
OK Cancelim having same problem when i use long report file names. like when i use report name my_very_long_long_report_name.rep this problem occurs..
i reduced this to my_short_report_name.rep it never occurs, it happend in lot of reports.
Regards -
Hi,
I have a report which is calling a stored procedure..
Stored procedure exceutes 4-5 stored procedure and then returns the count each procedure it ran using union all statement... The stored procedure takes around 3-4 hrs to run because it is looking at quarterly data and YTD data.
So once the report is kicked off and the procedure behind it runs and runs how will communicate to the report to show the final data... the final data will just be 5 rows with counts.
I think we are running into a issue where the stored procedure runs and runs and then the report goes into la la land and has no clue what to do...
Can you please shed some light on this..
Thanks
KarenHi Karen,
When we render a report, the report would process the following procedures:
Open connections to data source and reading data rows from data extensions for all datasets, means retrieve data. Then process the engine requests, including the tablix, grouping, sorting, filtering, aggregations and subreport processing, means process report.
Finally, render the report, including the pagination modules and on-demand expression evaluations.
So the report rending has to wait until the stored procedure is executed. To improve the performance, we can consider the three aspects:
Improve the performance of the stored procedures. Such as index and join. For better support, I suggest you can post a new thread about this issue in Transact-SQL forum at:
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/home?forum=transactsql. It is appropriate and more experts will assist you.
Simplify the report. For example, avoid including a reference to [&TotalPages] or any complex expressions in the page header and page footer. For more details, please see the following document:
http://technet.microsoft.com/en-us/library/bb522806(v=sql.105).aspx
Using cashing if you have a long-running query that cannot be tuned further. For more details, please refer to the following article:
http://msdn.microsoft.com/en-us/library/ms159241(v=sql.110).aspx
Hope this helps.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Problem executing a report in the Business Explorer
Hi people,
I'm trying to execute a report with the transaction RRMX in BW but when I execute it in the business explorer I receive this error:
internal error Problem when writing table: C_T_VARIABLES
Abort system error in program SAPLRRK0 and form NODE_AUTORITY_FILL_2
Someone have an idea of the problem?
Thanks a lot!Hi
Is it for all your reports ?
If it is for one, what does it do ?
Do you have the customer exit activated and filled in ?
PY -
Time Out error problem when i run the report for the whole plant
Dear all,
pls find the below coding, when i execute this report for the whole plant , it gives me time out error since it has to process huge database. pls suggest me in which part of my below coding i can improvise or any other better way to fetch the same result.
pls note that
i m using Views for querying.pls also note the comments given in Bold to understand the reason behind the coding.
Views used in are - ZVPOD and ZVPRDCONF.
START-OF-SELECTION.
Data: zstat type jest-stat.
data: stklocaf type mska-lgort.
data: stklocas type mska-lgort.
<u><b>To collect the status of the production order by joining the ZVPOD and JEST table.</b></u>
CLEAR it_ZVPRODDET.
SELECT DISTINCT ZVPOD~bukrs ZVPOD~aufnr ZVPOD~objnr
jest~stat ZVPOD~werks ZVPOD~arbpl ZVPOD~J_3AKORD2
FROM ZVPOD
INNER JOIN jest ON ZVPOD~objnr = jest~objnr
INTO CORRESPONDING FIELDS OF wa_ZVPRODDET where
plnbez in FGM and arbpl in wc and werks in plant
and SSAVD in eldate
and J_3AKORD2 in cups and jest~inact ne 'X'.
APPEND wa_ZVPRODDET TO it_ZVPRODDET.
ENDSELECT.
SORT it_ZVPRODDET BY aufnr stat.
<u><b>Loop thru Itab to check and delete the records from itab for the specified status.</b></u>
LOOP AT it_ZVPRODDET INTO wa_ZVPRODDET.
IF wa_ZVPRODDET-stat = 'I0045' . " TECO - compl
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ELSEIF wa_ZVPRODDET-stat = 'I0009' . " CNF - Confirmed
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ELSEIF wa_ZVPRODDET-stat = 'I0012' . " DLV - Delivered
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ELSEIF wa_ZVPRODDET-stat = 'I0046' . " CLSD - Closed
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ELSEIF wa_ZVPRODDET-stat = 'I0076' . " DLFL - Del Flag
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ELSEIF wa_ZVPRODDET-stat = 'E0003' . " SCLS - Short Close
CLEAR tj30t.
SELECT SINGLE txt04
FROM tj30t INTO tj30t-txt04
WHERE stsma = 'PRDHOLD' AND
estat = 'E0003' AND
txt04 = 'SCLS' AND
spras = 'EN'.
IF sy-subrc = 0.
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ENDIF.
ENDIF.
* Condition for Prod Order released - REL
IF wa_ZVPRODDET-stat = 'I0002'.
mreleased = 'Y'.
else.
mreleased = 'N'.
endif.
zstat = wa_ZVPRODDET-stat.
IF mreleased = 'N'.
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr
and stat = zstat.
ENDIF.
ENDLOOP.
<u><b>Loop thru the filtered ITAB to get all the production order details for the production order number specified in the where clause( zaufnr ) and populate another internal table.</b></u>
LOOP AT it_ZVPRODDET INTO wa_ZVPRODDET.
zaufnr = wa_zvproddet-aufnr.
zarbid = wa_zvproddet-arbid.
at new aufnr.
SELECT DISTINCT * INTO CORRESPONDING FIELDS OF walnpln
FROM zvpod where plnbez in FGM and arbpl in wc and SSAVD in
eldate and werks in plant and J_3AKORD2 in cups and aufnr = zaufnr.
APPEND walnpln TO itablnpln.
endselect.
endat.
endloop.
clear walnpln.
<u><b>
Looping thru Internal table and performs all the following calculations and inner loop
and also relevant querying.</b></u>
<u><b>Assume that ITABLNPLN holds appox. 8000 records.</b></u>
LOOP AT itablnpln INTO walnpln.
contot = 0.
SELECT distinct * INTO CORRESPONDING FIELDS OF TABLE itablnp
FROM zvprdconf where aufnr = walnpln-aufnr and
j_3asize = walnpln-j_3akordx and stzhl ne '2' and stokz ne 'X'.
clear zvprdconf.
SELECT single isdd
FROM zvprdconf into zvprdconf-isdd
where aufnr = walnpln-aufnr and
j_3asize = walnpln-j_3akordx and stzhl ne '2' and stokz ne 'X'.
SELECT single isdz
FROM zvprdconf into zvprdconf-isdz
where aufnr = walnpln-aufnr and
j_3asize = walnpln-j_3akordx and stzhl ne '2' and stokz ne 'X'.
IF sy-subrc EQ 0.
<u><b>Assume that ITABLNP holds appox. 30 records.</b></u>
loop at itablnp into walnp.
contot = contot + walnp-J_3ALMNGA.
move walnp-J_3ASIZE to walnpln-J_3ASIZE.
move zvprdconf-isdd to walnpln-zdate.
move zvprdconf-isdz to walnpln-ztime.
endloop.
walnpln-output = contot.
endif.
walnpln-wip = walnpln-menge - contot.
if walnpln-werks = '1000'.
stklocaf = '1050'.
stklocas = '1060'.
elseif walnpln-werks = '2000'.
stklocaf = '2150'.
stklocas = '2160'.
endif.
select single kunnr into walnpln-ship from vbpa where
vbeln = walnpln-KDAUF and PARVW = 'WE'.
zship = walnpln-ship.
move zship to walnpln-ship.
select single kalab into walnpln-zactqty from mska
where matnr = walnpln-plnbez
and j_3asize = walnpln-J_3AKORDX and LGORT = stklocaf.
condense walnpln-kdauf.
zsales = walnpln-kdauf.
concatenate zsales 'S' into zso.
select single kalab into walnpln-zsndqty from mska
where matnr = walnpln-plnbez
and j_3asize = walnpln-J_3AKORDX and LGORT = stklocas
and J_4KSCAT = zso.
zmatn = walnpln-plnbez.
zsale = walnpln-KDAUF.
walnpln-kdauf = zsale.
walnpln-plnbez = zmatn.
zcust = walnpln-kunnr.
walnpln-kunnr = zcust.
select single bezei into walnpln-season from TVV2T where
kvgr2 = walnpln-kvgr2 and SPRAS = 'E'.
select single bezei into walnpln-shipmode from T173T where
vsart = walnpln-vsart and SPRAS = 'E'.
STRL = strlen( walnpln-j_3akord2 ).
if strl = 4.
move walnpln-j_3akord2 to walnpln-j_3akord3.
clear walnpln-j_3akord2.
endif.
move zremk to walnpln-remk.
MODIFY itablnpln FROM walnpln.
contot = 0.
clear itablnp.
ENDLOOP.
PERFORM build_fieldcatalog.
PERFORM build_layout.
PERFORM display_alv_report.Hi raja,
Plese go through the suggessitions.
1.avoide the select ...endselect. write the below select
CLEAR IT_ZVPRODDET.
SELECT DISTINCT
ZVPOD~BUKRS
ZVPOD~AUFNR
ZVPOD~OBJNR
JEST~STAT
ZVPOD~WERKS
ZVPOD~ARBPL
ZVPOD~J_3AKORD2
FROM ZVPOD
INNER JOIN JEST ON ZVPOD~OBJNR = JEST~OBJNR
INTO CORRESPONDING FIELDS TABLE IT_ZVPRODDET
WHERE PLNBEZ IN FGM AND
ARBPL IN WC AND
WERKS IN PLANT AND
SSAVD IN ELDATE AND
J_3AKORD2 IN CUPS AND
JEST~INACT NE 'X'.
IF SY-SUBRC = 0.
SORT TABLE IT_ZVPRODDET.
ENDIF.
2..first of all dont delete a record inside the loop. instead use the Field symobols.
have u obsereved you code in the loop!!!!. wht u r doing..
u r removing the same record which u in the loop..
If u wanto delete the entires with check to<b> stat</b>... <b>then.. why dont u put the STAT field in Wher e condition..?</b> by this you reduce the data base select time..
Now the select query is like the below....
CLEAR IT_ZVPRODDET.
SELECT DISTINCT
ZVPOD~BUKRS
ZVPOD~AUFNR
ZVPOD~OBJNR
JEST~STAT
ZVPOD~WERKS
ZVPOD~ARBPL
ZVPOD~J_3AKORD2
FROM ZVPOD
INNER JOIN JEST ON ZVPOD~OBJNR = JEST~OBJNR
INTO CORRESPONDING FIELDS TABLE IT_ZVPRODDET
WHERE PLNBEZ IN FGM AND
ARBPL IN WC AND
WERKS IN PLANT AND
SSAVD IN ELDATE AND
J_3AKORD2 IN CUPS AND
JEST~INACT NE 'X' AND
( STAT <> 'I0045' AND
STAT <> 'I0045' AND
STAT <> 'I0009' AND
STAT <> 'I0012' AND
STAT <> 'I0046' AND
STAT <> 'I0076' AND
STAT <> 'E0003' ).
IF SY-SUBRC = 0.
SORT TABLE IT_ZVPRODDET.
ENDIF.
<b>3.</b> WHT IS MEANING OF THE SELECT
<b> CLEAR TJ30T.
SELECT SINGLE TXT04
FROM TJ30T INTO TJ30T-TXT04
WHERE STSMA = 'PRDHOLD' AND
ESTAT = 'E0003' AND
TXT04 = 'SCLS' AND
SPRAS = 'EN'.
IF SY-SUBRC = 0.
DELETE IT_ZVPRODDET WHERE AUFNR = WA_ZVPRODDET-AUFNR.
ENDIF.</b>....... IN WHERE CONDION U R GIven all are constant values right?..
why u need select it inside the loop.. u can write before the SELECT from ZVPOD..
that why first checke this field then go for fur thure selects..
<b>now u r code looks like this....</b>
CLEAR TJ30T.
SELECT SINGLE TXT04
FROM TJ30T INTO TJ30T-TXT04
WHERE STSMA = 'PRDHOLD' AND
ESTAT = 'E0003' AND
TXT04 = 'SCLS' AND
SPRAS = 'EN'.
IF SY-SUBRC = 0.
CLEAR IT_ZVPRODDET.
SELECT DISTINCT
ZVPOD~BUKRS
ZVPOD~AUFNR
ZVPOD~OBJNR
JEST~STAT
ZVPOD~WERKS
ZVPOD~ARBPL
ZVPOD~J_3AKORD2
FROM ZVPOD
INNER JOIN JEST ON ZVPOD~OBJNR = JEST~OBJNR
INTO CORRESPONDING FIELDS TABLE IT_ZVPRODDET
WHERE PLNBEZ IN FGM AND
ARBPL IN WC AND
WERKS IN PLANT AND
SSAVD IN ELDATE AND
J_3AKORD2 IN CUPS AND
JEST~INACT NE 'X' AND
JEST~STAT <> 'I0045' AND
JEST~STAT <> 'I0045' AND
JEST~STAT <> 'I0009' AND
JEST~STAT <> 'I0012' AND
JEST~STAT <> 'I0046' AND
JEST~STAT <> 'I0076' AND
JEST~STAT <> 'E0003' ).
IF SY-SUBRC = 0.
SORT TABLE IT_ZVPRODDET.
ENDIF.
ENDIF.
there are so many select inside the loop...... please Delete all of them.... write them be for the loop.......using the FOR ALL ENTRIES.....
THEN LOOP THE TABLE USING THE WHERE CONDITIONS.
<b>Plese write u updated code here again</b>.. -
Error at the moment to send the report for the printer.
When I execute a report for the Report Builder (Oracle Developer Suite 10g), the report is generated successfully, but, at the moment to send for the printer errors occur: REP-0069/REP-57054/REP-50157 (error 1848).
Please, help me!!!
NádiaHi,
We had the same problem at my organization. Our DBA had to install a patch:
To implement the solution, please apply the patchset to upgrade to 10.1.2.2.0.
To obtain a patchset from MetaLink:
1) Click on Patches & Updates.
2) Click on Simple Search
3) Select your product, release and platform.
4) Patch number is 4960210
Description PLACEHOLDER BUG FOR AS/DS 10G R2 PATCH SET 2 10.1.2.2
Product Oracle Development Tools
Release 10.1.2.2
The Patchset 4960210 is a patch for the Application Server AND Developer Suite
5) Read any applicable notes before downloading, then click the Download button.
Note: Please review the Readme file for instructions on how to install the patchset.
you should launch the installer with the executable setup.exe provided in the patchset, it could shows up a message indicating nothing was upgraded, but the release should be modified to 10.1.2.2
Hope that helps -
Is there a way to schedule the reports in the backend
Hello Gurus,
Is there a way to schedule the reports in the backend in the absence of users and post it to a particular folder in BW 3.1 version.
Thanks
SimmiHi,
Reporting agent can be used to schedule the reports in the background.......
GOOD DOCUMENTATION FOR REPORT AGENT
http://help.sap.com/saphelp_nw04/helpdata/en/28/734d3caa70ea6fe10000000a114084/content.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/biw/2.0/2.0b%20reporting%20agent%20incl.%20precalculating%20web%20templates.pdf
http://help.sap.com/saphelp_bw30b/helpdata/en/ad/6b023b6069d22ee10000000a11402f/frameset.htm
please find the link gives all ppt's related to bw.
https://websmp201.sapag.de/~form/sapnet_FRAME=CONTAINER&_OBJECT=011000358700003892932001E&
http://help.sap.com/saphelp_erp2004/helpdata/en/e3/e60138fede083de10000009b38f8cf/frameset.htm
Hope u will find good stuff here
Happy Life,
Aravind -
Please Help Urgently to refresh the report on the change in data
We want to refresh report at runtime for the Drill Down report if any user changes the Data. We changes the data from the form which is called from the report and we want to this effect on the report on the prompt.
Is there any method to close the report while it is in the queue of Background Engine? Can we refresh the report ? Please help urgently.
Thanks in Advance.Pritesh,
Reports goes out to the database and fetches the data (not a snapshot) and returns the information, formats it and displays it. The only way to refresh, is to rerun the report.
If your are running from the server, you need to make sure you are not fetching from cache (you determine this from destype and set the life of the cache in the servername.ora file).
I am unaware of any way to programatically close the report once displayed. The user must take action to close the report (unless you call the operating system to kill the display). When you rerun the report from Oracle Forms, you will get fresh data.
Regards,
The Oracle Reports Team jls -
Two commands in the report using the same parameter - fail under Java
I have a report that contains 2 SQL commands.
Both of these commands use one parameter X of type Number in their 'WHERE' clause.
When i'm viewing the report in CR 2008, i'm asked for a value of this parameter and all data is filled in the report - OK
The problem occurs when the same report is printed through Crystal Java Runtime:
Report is printed without data! - it's empty.
What we noticed in the debug information thrown by the Crystal libraries is that parameter value is set only in one of these commands:
Original statement 1:
select a.something
from ANM_T a
where a.anmid = {?PARAMETER01Id}
Original statement 2:
SELECT * from ANM_T a
WHERE a.anmid={?PARAMETER01Id}
OUTCOME of Statement 1:
select a.something
from ANM_T a
where a.anmid = 0
OUTCOME of Statement 2:
SELECT * from ANM_T a
WHERE a.anmid=9825
In above example we may see that crystal set the value only in the second statement - first one got 0 - i suspect its some default value.
Parameter in the Java code is set in the right way. In case of using only one statement it works. If we use two separate parameters (whose values are equal ) it also works.
// we have also the loop over the parameters
ParameterFieldController paramFieldController =
report.getDataDefController().getParameterFieldController();
paramFieldController.setCurrentValue( "", paramName, paramValue );
What is strange for me is that Crystal Reports enables to use the same parameter in two commands but if you edit one of them you may change the type of this parameter for a command ( for example from Number to String) but the parameter type in the second command remains unchanged ( it's strange because in my opinion it is the same parameter). In the Field Explorer under the Parameter Fields i still see one parameter of type used in the second command.Hello all,
We have prepared some sample code to illustrate the issue.
We have modified the sample application (Link: [http://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/c07fec3e-3e11-2c10-1991-8c0fb0b82b75]) to that it also changes the parameter value. Parameter is used in two commands saved in report.
The code changing the parameters value looks like this:
private static void changeParameters(ReportClientDocument reportClientDoc) throws ReportSDKException {
DataDefController dataDefController = reportClientDoc.getDataDefController();
Fields fields = dataDefController.getDataDefinition().getParameterFields();
for( int i = 0; i < fields.size(); i++ ){
Field field = (Field)fields.getField( i );
if( field.getKind() == FieldKind.parameterField ){
setParameter( ((ParameterField)field).getName(), "9825" , reportClientDoc);
private static void setParameter( String paramName, String paramValue, ReportClientDocument document ) throws ReportSDKException {
ParameterFieldController paramFieldController =
document.getDataDefController().getParameterFieldController();
paramFieldController.setCurrentValue( "", paramName, paramValue );
We have tried the following codes to change the connection info used in commands:
Attempt 1
Tables tables = databaseController.getDatabase().getTables();
//Set the datasource for all main report tables.
for (int i = 0; i < tables.size(); i++) {
ITable table = tables.getTable(i);
//Keep existing name and alias.
table.setName(table.getName());
table.setAlias(table.getAlias());
//Change connection information properties.
IConnectionInfo connectionInfo = table.getConnectionInfo();
//Set new table connection property attributes.
connectionInfo.setAttributes(propertyBag);
//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.
databaseController.setTableLocation(table, tables.getTable(i));
//databaseController.setTableLocation(tables.getTable(i), table);
Attempt 2
newConnectionInfo.setAttributes(propertyBag);
connectionInfo.setUserName(DBUSERNAME);
connectionInfo.setPassword(DBPASSWORD);
//preserve subreport links
SubreportController src = doc.getSubreportController();
Map<String, SubreportLinks> linkMapper = new HashMap<String,SubreportLinks>();
for(String subreportName : src.getSubreportNames()){
linkMapper.put(subreportName,
(SubreportLinks) src.getSubreportLinks(subreportName).clone(true));
//If this connection needed parameters, we would use this field.
Fields<IParameterField> pFields = doc.getDataDefController().getDataDefinition().getParameterFields();
replaceConnectionInfos(doc.getDatabaseController(), newConnectionInfo, pFields);
IStrings strs = src.getSubreportNames();
Iterator<String> it = strs.iterator();
while (it.hasNext()) {
String name = it.next();
ISubreportClientDocument subreport = src.getSubreport(name);
pFields = subreport.getDataDefController().getDataDefinition().getParameterFields();
replaceConnectionInfos(subreport.getDatabaseController(), newConnectionInfo, pFields);
//reconnect subreport links since when using replaceConnection links are erased
for(String subreportName : src.getSubreportNames())
src.setSubreportLinks(subreportName, linkMapper.get(subreportName));
private static void replaceConnectionInfos(DatabaseController aDc, IConnectionInfo aNewConnInfo, Fields<IParameterField> aParameterField) throws ReportSDKException {
ConnectionInfos cis = aDc.getConnectionInfos(null);
for (IConnectionInfo oldConnInfo : cis)
aDc.replaceConnection(oldConnInfo, aNewConnInfo, aParameterField, DBOptions._useDefault
+ DBOptions._doNotVerifyDB);
In both cases, the observed problem occurred. In one query the parameter was set properly, while on the other it was set to 0 (or empty string in case of string parameters). What is more, no data appeared on the print.
Do you happen to know the reason of this issue?How can we fix the problem?
Best regards
Mateusz Błaż -
Report 6i/Webdb -Not able to display the report in the browser - rep- 3002 error.
Would someone tell what I missed, I have set up the following:
1) a report using report builder on NT
2) my database is in Unix
3) my report server is started in NT
4) I run webdb listener for the following code: http://myweb.com/cgi/rwcgi60.exe?server=repserver+report=myreport+userid=usid/pw/connect_string+destype=cache+desformat=html. Then, I receive this message:
Error: The requested URL was not found, or cannot be served at this time.
Oracle Reports Server CGI - Report Job has terminated with error.
Reports Server Replies:
REP-3002: Error initializing printer. Please make sure a printer is installed.
Why is it thinking I want to use the printer whereas I want to display the report in the browser?. Any help would be appreciated.
nullIt sounds like that your Web CGI did not configure right. To test if your CGI configuration is correct, type:
http://hostname:port/cgi-bin/rwcgi60exe?
If you get a help screen, then you should be able to bring up your report.
Regards,
Xiaoling -
How can I print a label on the last page of the report in the margin
I would like to display a label on my report but has to appear only on the last page of the report in the margin area or as a footer. I have tried using the solution below that I came across in this forum. This solution only worked if I put the label as a report trailer and not in the margin of the main section of report. The problem of putting the label as a report trailer is that it will only appear at the end of the report on it's own page, i.e. on a new page. I would like the label to appear at the end of the report, on the last page which has the other report details and not to appear on a new page on its own. Could you please help? Thanks.
1. Create a dummy query, like
select 1 dummy
from dual
2. Create a package spec:
PACKAGE pkg_globals IS
totalPages number(3);
END;
2. Create a repeating frame and field for this dummy at the end of the report layout.
3. Create a format trigger for this frame:
function R_1FormatTrigger return boolean is
begin
SRW.GET_PAGE_NUM(pkg_globals.totalPages);
return (FALSE);
end;
4. Create a format trigger for your margin field:
function F_1FormatTrigger return boolean is
pagenum number;
begin
srw.get_page_num(pagenum);
if pagenum = pkg_globals.totalPages then
return (TRUE);
else
return (false);
end if;
end;user8655468 wrote:
I would like to display a label on my report but has to appear only on the last page of the report in the margin areaCreate a fixed frame at the bottom of margin area and inside the frame put your label.
set the frame print object on: Last page
Hope this works.. -
I want to fill the rows of the report from the loop
I want to fill the rows of the report from the loop
For example, in forms
cursor bdl is select code,decode(:global.user_lang,1,name,2,latin_name) name
from GL_ANALYSISHDR
begin
go_block('bdls');
clear_block;
first_record;
for rec in bdl loop
:bdls.code:=rec.code;
:bdls.name:=rec.name;
next_record;
end loop;
go_block('bdls');
first_record;
end;
I tried to use the REF CURSOR
But it return the values in one time and does not allow me to conduct and control ofWhy do you need to do it by a curesor loop? Can't you put the query in the datamodel of the report and simply pass the parameter to restrict the query?
-
How to format the report with the aggregated value
Hi,
I have 2 characteristics and 3 KFs in the infocube.
First field is Cost Center
Second field is creation Date
3rd field is KF1
4th field is KF2
5th field is KF3
I have put the date field( in the row) as this is required for calculating formula for KFs. But I have set that as No display.
The date in the info cube is as follows.
Cost Ceneter Date( no Display) KF1 KF2 KF3
CC1 01/01/2006 100 150 200
CC1 02/02/2006 75 100 95
CC1 05/02/2006 125 95 125
CC2 01/02/2006 75 25 85
CC2 02/02/2006 85 65 10
As the Date field is in query set to No display so the date appearing in the report is as follows
CC1 100 150 200
75 100 95
125 95 125
CC2 75 25 85
85 65 10
But I want the aggregated value at cost senter level i.e.
CC1 300 245 420
CC2 160 90 95
I can not remove the Date frield from query as there is a formula variable defined on the date field.
Please let me know how to bring the report to the required format.
Bill
Message was edited by:
Bill BryanIf you are in new Bex, you can do it.
You will have to create another (set of) CKF on top of the current ones (which do exception aggregation on DOCNUM) and set the exception aggregation on date.
Say you have
CH1--CH2CH3--CKF1
To have a 'before aggregation' behavior for CKF1 when CH3 is not present, you will create a CKF2 = CKF1 with exception aggregation on CH3.
Now, if you want to remove CH2 and have the 'before aggregation' behavior you will need to create another CKF3 = CKF2 with exception aggregation on CH2.
ie for each level of aggregation, you will have to define a new CKF/Formula with corresponding exception aggregation - this is what will be needed to get you your output.
Message was edited by:
Ajay Das -
Hi, my MacBook Pro cannot open Safari. It crashes and gives the message, ' Safari quit unexpectedly while using the librooksbas.dylib plug-in" the report details the exception code as 'EXC_BAD_ACCESS (SIGSEGV)' and exception codes as: 'KERN_INVALID_ADDRESS at 0x0000000920
Remove "Rapport" by following the instructions on this page.
Back up all data before making any changes. -
Unable to find the report in the manifest resources
<p>Hi!</p><p>I have problem using Crystal Report documents created in Visual Studio 2005 using the build-in version of Crystal Reports. If I create a project from scratch with one report and then some code to initialize and export the report to disk I get the following error message:</p><p>"Unhandled Exception: CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: Unable to find the report in the manifest resources. Please build the project, and try again."</p><p>I have tried using both the "Embedded resource" and the "Content" options during build, but with no luck at all. When using the Content option I explicitly load the rpt-file but no luck at all. Do anyone have a clue to what the problem is? I have absolutely no idea. The things worked in Visual Studio 2003 but not in 2005. What is the manifest resource?</p><p>Would really appreciate some help, thanks in advance!</p><p>My source code is below.</p><p>Best regards<br />Lars</p>class Program {<br /><font size="1"><font color="#0000ff"> public</font> <font color="#0000ff">static</font> <font color="#008080">TableLogOnInfo</font> CreateConnectionInfo(<font color="#0000ff">string</font> userID, <font color="#0000ff">string</font> password, <font color="#0000ff">string</font> serverName, <font color="#0000ff">string</font> databaseName) {<br /> <font color="#008080">TableLogOnInfo</font> conInfo = <font color="#0000ff">new</font> <font color="#008080">TableLogOnInfo</font>();<br /> conInfo.ConnectionInfo.UserID = userID;<br /> conInfo.ConnectionInfo.Password = password;<br /> conInfo.ConnectionInfo.ServerName = serverName;<br /> conInfo.ConnectionInfo.DatabaseName = databaseName;<br /><font color="#0000ff"> return</font> conInfo;<br /> }<br /><br /></font><font color="#0000ff"><font size="1"><font color="#0000ff"> public</font> <font color="#0000ff">static</font> <font color="#008080">ReportClass</font> CreatePersonalWillReport(<font color="#008080">TableLogOnInfo</font> conInfo, </font><font size="1"><font color="#0000ff">string</font> personID) {<br /> </font><font size="1"><font color="#008080">ReportClass</font> doc = <font color="#0000ff">new</font> <font color="#008080">ReportClass</font>();<br /> </font><font size="1">doc.Load(<font color="#800000">@"C:\Utveckling\reports\main\ClassLibrary1\bin\Debug\CrystalReport1.rpt"</font>);<br /> </font><font size="1"><font color="#008080">List</font><<font color="#008080">ReportParameter</font>> parameters = <font color="#0000ff">new</font> <font color="#008080">List</font><<font color="#008080">ReportParameter</font>>();<br /> </font><font size="1">parameters.Add(<font color="#0000ff">new</font> <font color="#008080">ReportParameter</font>(<font color="#800000">"@personID"</font>, personID));<br /> </font><font size="1"><font color="#0000ff">return</font> ApplyReportParameters(doc, parameters, conInfo);<br /> }</font></font><font color="#0000ff"> <p> </p><p><font size="1"><font color="#0000ff"> public</font> <font color="#0000ff">static</font> <font color="#0000ff">void</font> ExportReportToDisk(<font color="#0000ff">string</font> fileName, </font><font size="1"><font color="#008080">ReportClass</font> report, </font><font size="1"><font color="#008080">ExportFormatType</font> formatType) {<br /> </font><font size="1">report.ExportToDisk(formatType, fileName);<br /> </font><font size="1">}</font></p><p><font size="1"><font color="#0000ff"> protected</font> <font color="#0000ff">static</font> <font color="#008080">ReportClass</font> ApplyReportParameters(<font color="#008080">ReportClass</font> report, <font color="#008080">List</font><<font color="#008080">ReportParameter</font>> paramList, </font><font size="1"><font color="#008080">TableLogOnInfo</font> conInfo) {<br /> </font><font size="1"><font color="#0000ff">foreach</font> (<font color="#008080">Table</font> t <font color="#0000ff">in</font> report.Database.Tables) {<br /> </font><font size="1">t.ApplyLogOnInfo(conInfo);<br /> </font><font size="1">}</font></p><p><font size="1"> <font color="#0000ff">foreach</font> (<font color="#008080">Section</font> s <font color="#0000ff">in</font> report.ReportDefinition.Sections) {<br /> </font><font size="1"><font color="#0000ff">foreach</font> (<font color="#008080">ReportObject</font> ro <font color="#0000ff">in</font> s.ReportObjects) {<br /> </font><font size="1"><font color="#0000ff">if</font> (ro.Kind == CrystalDecisions.Shared.<font color="#008080">ReportObjectKind</font>.SubreportObject) { <br /></font><font size="1"><font color="#008080"> SubreportObject</font> sro = (<font color="#008080">SubreportObject</font>)ro;<br /> </font><font size="1"><font color="#008080">ReportDocument</font> doc = sro.OpenSubreport(sro.SubreportName);</font></p><p><font size="1"><font color="#0000ff"> foreach</font> (<font color="#008080">Table</font> t <font color="#0000ff">in</font> doc.Database.Tables) {<br /> </font><font size="1">t.ApplyLogOnInfo(conInfo);</font></p><p><font size="1"> }<br /> </font><font size="1">}<br /> </font><font size="1">}<br /> </font><font size="1">}<br /><br /> </font><font size="1"><font color="#0000ff">foreach</font> (<font color="#008080">ParameterFieldDefinition</font> paramField <font color="#0000ff">in</font> report.DataDefinition.ParameterFields) {<br /> </font><font size="1"><font color="#0000ff">foreach</font> (<font color="#008080">ReportParameter</font> rp <font color="#0000ff">in</font> paramList) {<br /> </font><font size="1"><font color="#0000ff">if</font> (paramField.Name == rp.Name) {<br /> </font><font size="1"><font color="#008080">ParameterValues</font> pv = paramField.CurrentValues;<br /> </font><font size="1"><font color="#0000ff">string</font> s = (<font color="#0000ff">string</font>)rp.Value.Value;<br /> </font><font size="1"><font color="#008080">ParameterDiscreteValue</font> pdv = <font color="#0000ff">new</font> <font color="#008080">ParameterDiscreteValue</font>();<br /> </font><font size="1">pdv.Value = s;<br /> </font><font size="1">pv.Add(pdv);<br /> </font><font size="1">paramField.ApplyCurrentValues(pv);<br /> </font><font size="1">}<br /> </font><font size="1">}<br /> </font><font size="1">}</font></p><p><font size="1"><font color="#0000ff"> return</font> report;</font></p><p><font size="1"> }</font></p><p> </p><p><font size="1"><font color="#0000ff"> static</font> <font color="#0000ff">void</font> Main(<font color="#0000ff">string</font>[] args) {<br /> </font><font size="1"><font color="#008080">TableLogOnInfo</font> conInfo = CreateConnectionInfo(<font color="#800000">"username"</font>, <font color="#800000">"password"</font>,<br /> </font><font size="1"><font color="#800000">"server"</font>, <font color="#800000">"database"</font>);<br /> </font><font size="1"><font color="#008080">ReportClass</font> report = CreatePersonalWillReport(conInfo, <font color="#800000">"-1291000956"</font>);<br /> </font><font size="1">ExportReportToDisk(<font color="#800000">"C:\temp\report.pdf"</font>, report, <font color="#008080">ExportFormatType</font>.PortableDocFormat);<br /> </font><font size="1">}</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> Helper class that contains parameter key/value pairs.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#0000ff">protected</font> <font color="#0000ff">class</font> <font color="#008080">ReportParameter</font> {</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> The parameter name.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#0000ff">private</font> <font color="#0000ff">string</font> name = <font color="#0000ff">null</font>;</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> The parameter value.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#0000ff">private</font> <font color="#008080">ParameterDiscreteValue</font> value = <font color="#0000ff">new</font> <font color="#008080">ParameterDiscreteValue</font>();</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> The parameter name.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#0000ff">public</font> <font color="#0000ff">string</font> Name {</font></p><p><font size="1"><font
color="#0000ff">get</font> {</font></p><p><font size="1"><font color="#0000ff">return</font> <font color="#0000ff">this</font>.name;</font></p><p><font size="1">}</font></p><p><font size="1"><font color="#0000ff">set</font> {</font></p><p><font size="1"><font color="#0000ff">this</font>.name = <font color="#0000ff">value</font>;</font></p><p><font size="1">}</font></p><p><font size="1">}</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> The parameter value.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#0000ff">public</font> <font color="#008080">ParameterDiscreteValue</font> Value {</font></p><p><font size="1"><font color="#0000ff">get</font> {</font></p><p><font size="1"><font color="#0000ff">return</font> <font color="#0000ff">this</font>.value;</font></p><p><font size="1">}</font></p><p><font size="1"><font color="#0000ff">set</font> {</font></p><p><font size="1"><font color="#0000ff">this</font>.value = <font color="#0000ff">value</font>;</font></p><p><font size="1">}</font></p><p><font size="1">}</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> The constructor.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><param name="name"></font><font color="#008000">the parameter name</font><font color="#808080"></param></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><param name="value"></font><font color="#008000">the parameter value</font><font color="#808080"></param></font></font></p><p><font size="1"><font color="#0000ff">public</font> ReportParameter(<font color="#0000ff">string</font> name, <font color="#0000ff">object</font> value) {</font></p><p><font size="1"><font color="#0000ff">this</font>.name = name;</font></p><p><font size="1"><font color="#0000ff">this</font>.value.Value = value;</font></p><p><font size="1">}</font></p><p><font size="1">}</font></p></font>Lars,
 Have you read the CRnet_deployment.doc if not it may help fix your problem (It didnt mine but hey you may be lucky) See http://support.businessobjects.com/communitycs/technicalpapers/crnet_deployment.pdf
I have a similar issue but in 2003.net using the bundled CR package. I'm trying to use CR in a Web Service called from a Compact Framework device. I've confirmed I'm using the correct Merge Modules & my Build Actions are all set as stated in the CR Application Deployment document but it still spits out Unable to find the report in the manifest resources
I've looked extensively on the net and while others have had this problem the only advice I've seen revolves around embedded build actions and using the correct merge modules. There must be something else causing this problem and some one who has found a way round it?!?
If your that someone please take 5 minutes out and help a couple of guys in distress?
Thanks in advance,
Ian
Maybe you are looking for
-
Why won't my iPhone 5s running iOS 7.0.2 show up in iTunes?
I recently purchased an iPhone 5s for T-Mobile. Yesterday, I got my number switched over at the T-Mobile retail store, and I brought it home and connected it to my laptop with the current latest version of iTunes (11.1.11 64-bit). After I connect it,
-
Select Statement or Function Module
Hi all, I have lakhs of records in my database.When I am using the SAP standard function module C1F2_SUBSTANCES_READ for retreiving data it is taking time.I know all the data base tables .Shall I use to retreive data using select statements instead o
-
Net pay with bank details for employee
hi all gurus, Is there any standered report which displays Personnel number, Pname, Net pay(for month), EE Bank Ac number, Bank key.
-
Store clerk said I could keep photo paper on Tray 1 and 8.5x11 in Tray 2 and that the printer would recognize what I was trying to print and use the appropriate paper tray. But it seems to use Tray 1 as default, and if Tray 1 is emtpy, then goes to
-
Should I Optimize for "Memory" or "Performance" in Preferences?
I've been rendering the timeline prior to export and finding that it renders in just over an hour for a 30 minute project. Then, almost miraculously, the MPEG2-DVD export only takes about two hours or so. This is with "Maximum Render Quality" selecte