How to add a dynamic table name in Report Builder Query ?
I have some problem while creating a report in report builder 6i.
My data is managed as in tables like this abc_012006, abc_022006 etc , so I want to query data according to the month user have selected from the parameter form. Let suppose if user entered 012006 as month year then data must be fetched from abc_012006.
Can any one tell me the appropriate tip for this problem.
Message was edited by:
[email protected]
Hello,
Once you get the Data Set create save it as XML and then create a new report off the XML file. Then you can set the data set to the report and the XML is not required any more.
First, to be able add fields to a report you need to use RAS. Report.Engine doesn't have the ability.
If you search in this forum you will find lots of examples on how to...
If you want to create the report then see these RAS samples:
http://wiki.sdn.sap.com/wiki/display/BOBJ/NETRASSDK+Samples#NETRASSDKSamples-Exporting%2FPrinting
Don
Similar Messages
-
How to add a dynamic table to a Crystal ReportViewer?
Hi All,
I'm trying to create my first crystal report, but I want to create the data dynamically. I want to create my table on the fly then, just dump the table into the crystal report.
1. I'm not sure how to setup the fieldnames in the report to point to my dynamic table.
2. How do I add the columns name in my dynamic table to my report?
DataTable m_tExample = new DataTable();
// Add Column Names
m_tExample.Columns.Add("firstname", typeof (string));
m_tExample.Columns.Add("lastname", typeof( string));
// Add Test Data
m_tExample.Rows.Add("MT","Long");
m_tExample.Rows.Add("D", "Chiat");
m_tExample.Rows.Add("Matdt", "Sdmith");
m_tExample.Rows.Add("Kevin", "Cloley");
m_tExample.Rows.Add("Maitt", "Diurkee");
m_tExample.Rows.Add("Paam", "Duurkee");
m_tExample.Rows.Add("William", "Never");
m_tExample.Rows.Add("Tang", "Hong");
m_tExample.Rows.Add("Mike", "Lopez");
m_tExample.Rows.Add("Bill", "Chao");
m_tExample.Rows.Add("Az", "Mattizra");
m_tExample.Rows.Add("Raja", "Crash");
m_tExample.Rows.Add("Jimmy", "Compton");
m_tExample.Rows.Add("Ray", "Johnson");
m_tExample.Rows.Add("Janice", "Howard");
m_tExample.Rows.Add("Tony", "Scott");
// Add DataSet to Viewer?
CrystalReportViewer1.ReportSource = m_tExample.DataSet;
CrystalReportViewer1.DataBind();
NOTE: When I'm in the designer, I only see a text object to place in the report detail for a fieldname.
VS 2005, Crystal Report 2008
Thanks.Hello,
Once you get the Data Set create save it as XML and then create a new report off the XML file. Then you can set the data set to the report and the XML is not required any more.
First, to be able add fields to a report you need to use RAS. Report.Engine doesn't have the ability.
If you search in this forum you will find lots of examples on how to...
If you want to create the report then see these RAS samples:
http://wiki.sdn.sap.com/wiki/display/BOBJ/NETRASSDK+Samples#NETRASSDKSamples-Exporting%2FPrinting
Don -
Dynamic table name in native sql query
Can i pass a dynamic table name in this query ---
EXEC SQL PERFORMING APPEND_MTO.
SELECT
LTOG_QUANTITY_TYPE,
FCONO,
WBSELEMENT,
PROJECT
INTO :IMTO
FROM RWORKS.MTO_ISO_V2
WHERE LTOD_DATE > TO_DATE(:MAXD,'YYYYMMDDHH24MISS')
ENDEXEC.
How can i pass this table name RWORKS.MTO_ISO_V2 dynamically in the query
Edited by: Madhukar Shetty on Nov 26, 2009 2:40 PMCan i pass a dynamic table name in this query ---
EXEC SQL PERFORMING APPEND_MTO.
SELECT
LTOG_QUANTITY_TYPE,
FCONO,
WBSELEMENT,
PROJECT
INTO :IMTO
FROM RWORKS.MTO_ISO_V2
WHERE LTOD_DATE > TO_DATE(:MAXD,'YYYYMMDDHH24MISS')
ENDEXEC.
How can i pass this table name RWORKS.MTO_ISO_V2 dynamically in the query
Edited by: Madhukar Shetty on Nov 26, 2009 2:40 PM -
Hello Expert,
I wanted to know is there any way through which we can dynamically pass the table name in IMPORT condition.
For e.g.
DATA : PCLT TYPE DD03L-TABNAME.
DATA: SET_RELID TYPE T52RELID-RELID.
DATA: key TYPE PCLKEY.
DATA: text_version TYPE PVRSN.
DATA: BEGIN OF ptext OCCURS 132.
DATA: line(132).
DATA: END OF ptext.
SET_RELID = 'TX'.
PCLT = 'PCL1'.
KEY = '00001000004005 9999123119960101000'.
TEXT_VERSION = '01'.
IMPORT TEXT_VERSION PTEXT FROM DATABASE <PCLT>(<SET_RELID>) ID KEY.
If i use this then it gives me error message "The Dictionary structure or table "<PCLT>" is either not active or does not exist."
Kindly help me in this matter.
Thanks
SrikanthHi Srikanth
I dont know if there is another solution, but this is what i did using a dynamic subroutine, please check it
just add this lines to your code
DATA: prog TYPE c LENGTH 8,
mess TYPE string,
sid TYPE string,
wrd TYPE string,
dir TYPE trdir,
OFF(3).
DATA: lt_code TYPE TABLE OF rssource-line.
DATA: ls_code TYPE rssource-line.
perform call_import using pclt set_relid key.
form call_import USING p_pclt p_set_relid p_key.
ls_code = 'PROGRAM SUBPOOL.'.
append ls_code to lt_code.
ls_code = 'form get_text tables ptext using p_key changing text_version.'.
append ls_code to lt_code.
ls_code = 'IMPORT text_version ptext from database'.
append ls_code to lt_code.
concatenate p_pclt '(' p_set_relid ')' into ls_code.
append ls_code to lt_code.
ls_code = 'id p_key.'.
append ls_code to lt_code.
ls_code = 'endform.'.
append ls_code to lt_code.
generate subroutine pool lt_code
name prog
message mess
SHORTDUMP-ID sid
WORD WRD
OFFSET OFF.
IF SY-SUBRC EQ 0.
perform GET_TEXT IN PROGRAM (prog) tables ptext
USING p_key
CHANGING text_version .
ENDIF.
endform.
Hope this help
Regards
MC -
Dynamic table name in native SQL
Hi,
How can i use dynamic table name in native SQL?
My req is to select data from a external database table , but the table name will be only poulated during runtime.
How can i acheive this?
Regards,
Arun.It should work OK - see demo below.
Jonathan
report zsdn_jc_adbc_test.
start-of-selection.
perform demo_lookup.
form demo_lookup.
data:
l_error_msg type string,
ls_t001 type t001, "Company
ls_t003 type t003. "Doc types
perform dynamic_lookup
using
'T001'
changing
ls_t001
l_error_msg.
write: / l_error_msg.
perform dynamic_lookup
using
'T003'
changing
ls_t003
l_error_msg.
write: / l_error_msg.
endform.
form dynamic_lookup
using
i_tabname type tabname
changing
os_data type any
o_error_msg type string.
* Use ADBC to select data
data:
l_mandt_ref type ref to data,
l_result_ref type ref to data,
l_mandt type symandt,
l_tabname type tabname,
l_sql_statement type string,
lo_cx_root type ref to cx_root,
lo_cx_sql type ref to cx_sql_exception,
lo_connection type ref to cl_sql_connection,
lo_statement type ref to cl_sql_statement,
lo_result_set type ref to cl_sql_result_set.
clear: os_data, o_error_msg.
get reference of l_mandt into l_mandt_ref.
get reference of os_data into l_result_ref.
l_mandt = '222'. "i.e. select from client 222
l_tabname = i_tabname.
try.
lo_connection = cl_sql_connection=>get_connection( ).
lo_statement = lo_connection->create_statement( ).
* Set criteria for select:
lo_statement->set_param( l_mandt_ref ).
concatenate
'select * from' l_tabname
'where mandt = ?'
into l_sql_statement separated by space.
* Execute
call method lo_statement->execute_query
exporting
statement = l_sql_statement
hold_cursor = space
receiving
result_set = lo_result_set.
* Get the data from the resultset.
lo_result_set->set_param_struct( l_result_ref ).
while lo_result_set->next( ) > 0.
write: / os_data.
endwhile.
* Tidy up:
lo_result_set->close( ).
lo_connection->close( ).
catch cx_sql_exception into lo_cx_sql.
o_error_msg = lo_cx_sql->get_text( ).
catch cx_root into lo_cx_root.
o_error_msg = lo_cx_root->get_text( ).
endtry.
endform. -
After run (or test) of procedure
create or replace procedure tmp_select_dymanic
( AInTable IN VARCHAR2,
ACount OUT NUMBER
) as
begin
EXECUTE IMMEDIATE 'BEGIN SELECT count(*) INTO :Count FROM :InTable END;'
USING ACount, AInTable;
end tmp_select_dymanic;
error message: invalid table name.
I know the table exists and contains data. I can make SELECT in SQL (not dynamic).
What a reason for error? May be privileges in database? But i make SELECT on my own table?
How can i set dynamic table name in other way?
My Oracle Version 10g.What you are asking can be done by REF_CURSOR;
look this example and try your self the rest:
CREATE OR REPLACE PROCEDURE insert_to_table_dinamic (
table1 IN VARCHAR2,
table2 IN VARCHAR2
AS
rc sys_refcursor;
v_sql VARCHAR2 (2000);
v_deptno NUMBER;
BEGIN
v_sql :=
'SELECT DEPTNO FROM '
|| table1
|| ' WHERE ROWNUM = 1 AND DEPTNO IS NOT NULL';
OPEN rc FOR v_sql;
LOOP
FETCH rc
INTO v_deptno;
EXIT WHEN rc%NOTFOUND;
v_sql :=
'UPDATE '
|| table2
|| ' SET DEPTNO = '
|| v_deptno
|| ' WHERE DEPTNO IS NULL';
EXECUTE IMMEDIATE v_sql;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLCODE || SQLERRM);
END insert_to_table_dinamic;when i give DEPT , EMP as my 2 parameters above code will set the deptno in EMP table where deptno is null;
--Just a test proc. -
How to set dynamic table name in sql query?
I want set dynamic table name by parameter in sql query,just like:
select * from :tbname
but run report is error,BI P report table name is invalidation.
What can i do? Thanks!Hi,
that's only possible inside a data template with a lexical parameter.
Regards
Rainer -
How to add column dynamically based on user input in oracle?
**how to add column dynamically based on user input in oracle?**
I am generating monthly report based on from_date to to_date below is my requirement sample table
EMPLOYEE_CODE| Name | CL_TAKEN_DATE | CL_BALANCE | 01-OCT-12 | 02-OCT-12 | 03-OCT-12
100001.............John...........02-OCT-12...............6
100002.............chris...........01-OCT-12...............4
Based on user input, that is, if user need the report from 01-OCT-12 TO 03-OCT-12, i need to add that dates as column in my table, like 01-OCT-12 | 02-OCT-12 | 03-OCT-12....
below is my code
create or replace
procedure MONTHLY_LVE_NEW_REPORT_demo
L_BUSINESS_UNIT IN SSHRMS_LEAVE_REQUEST_TRN.BUSINESS_UNIT%TYPE,
--L_LEAVE_TYPE_CODE IN SSHRMS_LEAVE_REQUEST_TRN.LEAVE_TYPE_CODE%TYPE,
L_DEPARTMENT_CODE IN VARCHAR2,
--L_MONTH IN SSHRMS_LEAVE_REQUEST_TRN.LVE_FROM_DATE%TYPE,
L_FROM_DATE IN SSHRMS_LEAVE_REQUEST_TRN.LVE_FROM_DATE%TYPE,
L_TO_DATE in SSHRMS_LEAVE_REQUEST_TRN.LVE_TO_DATE%type,
MONTHRPT_CURSOR OUT SYS_REFCURSOR
AS
O_MONTHRPT_CURSOR_RPT clob;
v_return_msg clob;
BEGIN
IF (L_BUSINESS_UNIT IS NOT NULL
AND L_FROM_DATE IS NOT NULL
and L_TO_DATE is not null
-- AND L_DEPARTMENT_CODE IS NOT NULL
THEN
OPEN MONTHRPT_CURSOR FOR
select EMPLOYEE_CODE, EMPLOYEE_NAME AS NAME, DEPARTMENT_CODE AS DEPARTMENT,DEPARTMENT_DESC, CREATED_DATE,
NVL(WM_CONCAT(CL_RANGE),'') as CL_TAKEN_DATE,
case when NVL(SUM(CL2),0)<0 then 0 else (NVL(SUM(CL2),0)) end as CL_BALANCE,
from
SELECT DISTINCT a.employee_code,
a.EMPLOYEE_FIRST_NAME || ' ' || a.EMPLOYEE_LAST_NAME as EMPLOYEE_NAME,
a.DEPARTMENT_CODE,
a.DEPARTMENT_DESC,
B.LEAVE_TYPE_CODE,
B.LVE_UNITS_APPLIED,
B.CREATED_DATE as CREATED_DATE,
DECODE(b.leave_type_code,'CL',SSHRMS_LVE_BUSINESSDAY(L_BUSINESS_UNIT,to_char(b.lve_from_date,'mm/dd/yyyy'), to_char(b.lve_to_date,'mm/dd/yyyy'))) CL_RANGE,
DECODE(B.LEAVE_TYPE_CODE,'CL',B.LVE_UNITS_APPLIED)CL1,
b.status
from SSHRMS_EMPLOYEE_DATA a
join
SSHRMS_LEAVE_BALANCE C
on a.EMPLOYEE_CODE = C.EMPLOYEE_CODE
and C.STATUS = 'Y'
left join
SSHRMS_LEAVE_REQUEST_TRN B
on
B.EMPLOYEE_CODE=C.EMPLOYEE_CODE
and c.EMPLOYEE_CODE = b.EMPLOYEE_CODE
and B.LEAVE_TYPE_CODE = C.LEAVE_TYPE_CODE
and B.STATUS in ('A','P','C')
and (B.LVE_FROM_DATE >= TO_DATE(L_FROM_DATE, 'DD/MON/RRRR')
and B.LVE_TO_DATE <= TO_DATE(L_TO_DATE, 'DD/MON/RRRR'))
join
SSHRMS_LEAVE_REQUEST_TRN D
on a.EMPLOYEE_CODE = D.EMPLOYEE_CODE
and D.LEAVE_TYPE_CODE in ('CL')
AND D.LEAVE_TYPE_CODE IS NOT NULL
group by EMPLOYEE_CODE, EMPLOYEE_NAME, DEPARTMENT_CODE, DEPARTMENT_DESC, CREATED_DATE
else
v_return_msg:='Field should not be empty';
end if;
END;
my code actual output
EMPLOYEE_CODE| Name | CL_TAKEN_DATE | CL_BALANCE
100001....................John............02-OCT-12.................6
100001....................chris...........01-OCT-12.................4
how to add column dynamically based on from_date to to_date?
Thanks and Regards,
Chris Jerome.You cannot add columns dynamically. But you can define a maximum number of numbers and then hide unused columns in your form useing SET_ITEM_PROPERTY(..,VISIBLE, PROPERTY_FALSE);
-
How to add Image dynamically in Webdynpro ABAP
Hi Experts,
How to add Image dynamically in Webdynpro ABAP.
My requirement is i maintain all the images in a table.
image source has to pick the table URl dynamically and display.
is that possible in webdynpro?
and also please give the suggesion,
without using MIME objects is that anyway to get images?
Thanks in advance.
Regrads,
JeyanthiHi,
are those icons wou want to display then. he following code will be useful.
data : lo_IMG type ref to CL_WD_IMAGE.
LO_IMG = cl_wd_IMAGE=>new_IMAGE( id = img_id SOURCE = 'ICON_BW_APD_TARGET' tooltip = sts_tltp ).
lo_cont->add_child( the_child = lo_img ).
here lo_cont is the container where you want to add the image dynamically and source is the attribiute through which you can change the ICON image. this thing you can getit from data base table and change accordingly.
Regards,
Anil kumar G -
Dynamic table name from Arguments in cfquery /
I'm trying to use dynamic table names in a cfc but seem to
have hit upon a wall as my calling methods from flash keep hitting
my _error methods - Code attached to show what I'm trying to
achieve; if anyone can give me some pointers it would be a great
help. I've seen numerous by using the Form with the arguments but
this is coming into a gateway used by a flash component and doesn't
work no matter how much I fiddle the code.
Thanks in advanceThere was a time when I needed a dynamic query such as this.
BUT, it is very dangerous, which is why I took a few steps to make
it more secure.
1. Always use cfqueryparam and strict datatyping
2. Use listFindNoCase for known table names in the database
e.g
<cfset variables.tableNames =
"items,products,categories,blog" />
<cfif
listContainsNoCase(variables.tableNames,lCase(trim(arguments.tableName)),",")>
query here
<cfelse>
Error: Unknown table requested
</cfif>
Mikey -
How to look for the Table Name
Hi Friends,
Sometimes we need to download the table for the desired information if the same is not available from a particular report. How to look for the table name? Is there a report or a particular feild, where we can find the name of the particular table?
Thanks for the assistance.
RegardsHi Friend,
If you want to see the structures then go to SE11. Sometimes it happens that you cannot find the table names but only fields. In such case, if you want to find the Table names which is not available, then go to SE90.
Abap Dictionary > Fields > Table Fields.
Now Enter the Field name in Right Hand Side of the screen then Execute. You will see the all tables by which that Fields are used.
Regards,
Jigar -
How to find out the table name
hi,
how to find out the table name in which the data from a particular structure in a particular screen is saved,
please tell me the procedure to find out the table name for saving the structure data that is inputted at runtime.
Thanks,
chinnuHi Chinnu,
Below are the tables that are referred to find out the table names
DD02L Table contains the SAP Tables.
DD02T Table contains the SAP Table Texts.
DD01L Table contains the Domains
DD01T Table contains the Domain Texts.
DD03L Table contains the Table Fields.
DD03T Table contains the Table Field Texts. (Language Dependent)
DD04L Table contains the Data Elements.
DD04T Table contains the Data Element Texts.
DD05s Table contains the Foreign Key Fields
last words with L and T only. L->Database Fetch T-> Text
And the procedure to retrive the table name is as follows
1. Go to se11
2. Enter table name DD03T and execute
3. In the next screen you can find Tables, fields, test etc. there you can enter the field name in the fields
and execute.
4. you can get all tables which contains the field.
I hope this will solve your problem
Regards,
Chandru -
Problem with Dynamic Table Name
Hello all,
I am having trouble using a dynamic table name. I have the following code.....
declare l_cur sys_refcursor;
l_ID int;
l_tableName varchar(30);
BEGIN
open l_cur for
select hkc.ColumnID, mapping from &HKAPPDB_Schema_Name..doctablemapping ddm
inner join &HKDB_Schema_Name..HKColumns hkc on hkc.doctablemappingid = ddm.id
where ddm.id > 0;
LOOP
FETCH l_cur into l_ID, l_tableName;
EXIT WHEN l_cur%notfound;
-- update missing VerbID in DocumentDocMapping table
UPDATE &HKAPPDB_Schema_Name..IndexedDocument
SET VerbID = (SELECT t.VerbID
FROM (SELECT DocRef, VerbID, DateUpdated
FROM &HKAPPDB_Schema_Name..l_tableName dd - this is where the dynamic table name is used
WHERE dd.VerbID is not NULL))
WHERE HKColumnID = l_ID AND VerbID is NULL;
END loop;
end;
/When I try to execute this i get an error
ORA-00942: table or view does not exist
What am I doing wrong?
Regards,
Tobyredeye wrote:
I only started about 6 weeks ago, with no tutorials and learning it on the fly; Same here.. only my introduction was to a 12 node Oracle OPS cluster all those years ago.. and required a whole new mind set after using SQL-Server extensively. But it was fun. Still is. :-)
but thats what you get when a company throws you in at the deep end with a ridiculous time constraint to migrate a whole MSSQL DB.Migrating SQL-Server to Oracle is not a simple thing. A lot of best practices in SQL-Server are absolutely worse practices in Oracle - they are that different. Simple example is lock escalation - an issue in SQL-Server. In Oracle, the concept of a lock being escalated into a page lock simply does not exist.
In terms of getting the migration done as quickly and painlessly as possible I try to reuse all the logic as it appears in the MSSQL code - in this case it was using dynamic table names. I do not doubt that i am probably shooting myself in the foot in the long run.....As long as you do not splatter too much blood on us here.. not a problem :D
Seriously though - just keep in mind that what works in SQL-Server may not work as well (or even at all) in Oracle. So do not hesitate to refactor (from design to code to SQL) mercilessly when you think it is warranted. -
How to know columns and table name whose column size are modified
Hi guys
I want to know which all columns in the tables are modify
i.e. list of columns and table name whose column size are modified
Step1 :
CREATE TABLE employees
( employee_number number(5) ,
employee_name varchar2(50) ,
department_id number(10)
CREATE TABLE Supplier
( Supplier_number number(5) ,
Supplier_name varchar2(50) ,
CREATE TABLE customers
( customer_id number(10) not null,
customer_name varchar2(50),
address varchar2(50),
city varchar2(50),
state varchar2(25),
zip_code varchar2(10),
Step2 :
Alter table employees
MODIFY employee_number number(10)
ALTER TABLE supplier
MODIFY supplier_name varchar2(100)
step3
query to dispaly
columnname table name
employee_number employees
supplier_name supplier
How to know columns and table name whose column size are modified
could you please provide query
Thanks in Advance09:35:50 SQL> desc dba_objects
Name Null? Type
OWNER VARCHAR2(30)
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
NAMESPACE NUMBER
EDITION_NAME VARCHAR2(30)LAST_DDL_TIME can be utilized -
Dynamic table name in an inner join - select statement
Hi,
Please can you let me know if is possible to use a Dynamic table name in an inner join?
Something like the statement below? (It works in a simple select statement but not in an inner join)
SELECT *
INTO CORRESPONDING FIELDS OF <t_itab>
FROM <Dynamic table name> INNER JOIN pa0050 ON
( <Dynamic table name>pernr = pa0050pernr )
WHERE <Dynamic table name>~pernr = it_pernr-l_pernr
AND pa0050~bdegr = f_bdegr.
Any help would be apprecited very much.
Thanks & Regards.Hi,
Check this link.
[http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb39c4358411d1829f0000e829fbfe/frameset.htm]
[Re: accessing dynamic internal table's fields??;
hope it'll help u.
Regards,
Sneha.
Edited by: sneha kumari on Jun 18, 2009 1:57 PM
Maybe you are looking for
-
I Shut down my Mac by holding in the power button after my iMac froze and now when I try to turn it back it on all I get is the grey screen with Apple loge and the timer and doesn't get any further. I have tried the diagnostic test but nothing was f
-
I saw that there is the possibility to change color to present a variety of calendars. My webcal in particular should be on existing services WEBCAL, eg, the lunar calendar. I change color, but every time my iPad or iPhone sync, returns the default c
-
hi friends, i load 1000 records into a cube of which there r error records, i went to psa. how do i find the erronous record among the 1000 records
-
my nikon D300s NEF file won't open in ACR, will i ned to to donwload both DNG and ACR 5.6 to open the files, or will just updating the ACR work?
-
I would like to use het automatic web pages on photoshop elements 12. The automatis tools are disabled on my computer. What can do to be able to make web pages.