Reg:Query on MDM
Hi All,
My Scenario is File to MDM and am planning to send the values to MDM through a webservice as I need to send the values directly to the tables.
Could anyone tell me the procedure for the same as I know to send data only through mdm-adapter.
Regards,
Lavanya
Hi,
The old approach was to use the file adapter to send the data to the 'Ready' folder on MDM and then schedule the dispatchr there to upload the data into the mdm tables.
With the MDM adapter now being available, you can directly load data to the MDM tables.
The adapter is not available by default and you would need to download it from service market place and then import into ESR for use.
Regards
Similar Messages
-
Someone know how can i make the next query using the MDM Api? How can i make this sentence using classes as FreeFormTableParameters, FreeFormFieldParametes...?
SELECT FIELD1, FIELD2 FROM PRODUCTS WHERE FIELD1="HELLO"
I dont speach english good... Sorry about that.
Thanks!Hi Giancarlo,
something like this:
TableId mainTableId = new TableId(1);
// Define the result
ResultDefinition rd = new ResultDefinition(mainTableId);
// select all records
Search search = new Search(mainTableId);
// retrieve the records
RetrieveLimitedRecordsCommand limitingCommand = new RetrieveLimitedRecordsCommand(connections);
limitingCommand.setSession(sessionId);
limitingCommand.setResultDefinition(rd);
limitingCommand.setSearch(search);
//limitingCommand.setPageSize(10);
try {
limitingCommand.execute();
} catch (CommandException e) {
e.printStackTrace();
return;
System.out.println("Record count is " + limitingCommand.getRecords().getCount());
// To get fields....
Record[] rec= limitingCommand.getRecords().getRecords();
For i to rec.length
RecordId objrecId = taxoSubClassRecs<i>.getId();
Hope this help you.
Regards,
Vito -
Reg: Query Problem for New Posting Period
Hi Xperts,
While I try to Map the A/P Invoices with their respective Outgoing Payment,
I used the following Query and it's Query Printlayout
SELECT T0.DocNum [Payment#], T0.DocDate [Payment Date],
T0.CardCode, T0.CardName, T1.InvoiceId, T2.DocNum [AP Inv#],
T2.NumatCard [Bill No.], T2.DocDate [Bill Date], T1.selfInv,
T1.SumApplied, T1.WtAppld, T0.NoDocsum
FROM [dbo].[OVPM] T0 INNER JOIN
[dbo].[VPM2] T1 ON T1.[DocNum] = T0.DocNum
INNER JOIN [dbo].[OPCH] T2 ON T2.[DocEntry] = T1.DocEntry
WHERE T0.Cardname='[%0]' and T0.DocDate='[%1]' and
T0.DocNum='[%2]'
I got the above query from our Expert Mr.Sambath only.
Now what is the problem is the query is retrieving the payment details of old Posting Period only and not the current posting period.
In detail, I used 'Primary' Series for FY08-09, Period indicator 'Default'
Now I'm using 'Primary1' Series for FY09-10, Period indicator '0910'
Thanx in adv.
Regards,
BalaHi Bala,
Looking at your query, it is not query issue ,it is your data issue.
Please check if you have data in VPM2 table which is bank transfer payment method
Thank you
Bishal
Edited by: Bishal Adhikari on Apr 9, 2009 8:48 AM -
Reg: Query group by problem
Hi,
I am trying to write query for report generation.According to my client requirment I need to calculate the difference
between two date columns for "n" number of rows and i need to find the number of rows which are smaller
than 2 and number of rows which are greater than 2 and calculate the percentage for number of rows which are smaller than 2.
It must grouped by a third column
I tried like this, but it shows that date column is not a grouped .....
But I dont want to group that date column... Plz adivce....
SELECT table1.column2,
table2.column3,
COUNT(*),
CASE
WHEN TO_NUMBER (table1.DTT_column3 - table1.DTT_column4) <=2
THEN COUNT(*)
ELSE NULL
END
AS sucess_count,
CASE
WHEN TO_NUMBER (table1.DTT_column3 - table1.DTT_column4) >2
THEN COUNT(*)
ELSE NULL
END
AS fail_count,
FROM
table1,
table2
WHERE table1.column1 = table2.column2
AND table1.column4 = value1
GROUP BY table1.column2,table2.column3;TIA,
Message was edited by: ORCL
ORCLDBMay be something like this.
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bi
PL/SQL Release 10.2.0.2.0 - Production
CORE 10.2.0.2.0 Production
TNS for HPUX: Version 10.2.0.2.0 - Production
NLSRTL Version 10.2.0.2.0 - Production
1 with t
2 as
3 (select 1 id, to_date('01.02.2008','dd.mm.yyyy') date_1,
4 to_date('03.02.2008','dd.mm.yyyy') date_2 from dual union all
5 select 1, to_date('03.02.2008','dd.mm.yyyy'),
6 to_date('04.02.2008','dd.mm.yyyy') from dual union all
7 select 2, to_date('05.02.2008','dd.mm.yyyy'),
8 to_date('06.02.2008','dd.mm.yyyy') from dual union all
9 select 2, to_date('01.02.2008','dd.mm.yyyy'),
10 to_date('05.02.2008','dd.mm.yyyy') from dual
11 )
12 select count(case when to_number(date_2 - date_1) <= 2 then 1 end) diff_2,
13 count(case when to_number(date_2 - date_1) > 2 then 1 end) diff_Greater_2,
14 1 - ( count(case when to_number(date_2 - date_1) > 2 then 1 end)
15 / count(case when to_number(date_2 - date_1) <= 2 then 1 end)
16 ) percent
17 from t
18 group by rollup(id)
19* having grouping_id(id) = 1
SQL> /
DIFF_2 DIFF_GREATER_2 PERCENT
3 1 .666666667It will be always useful if you could post your full oracle version and a sample test data.
Regards
Raj -
Reg Query For Multiple Text Fields
Hi all
I am New to this forum..
I am developing an application for generating reports.
In my application i have multiple text fields.
The user might enter any of the textfields or even enter all the fields.
In those cases how to use the query when some fields are empty??Welcome to the forum.
It always helps to post a small, simplified example of what it is you're trying to achieve.
(When posting examples, put the {noformat}{noformat} tag before and after the example, so it will get posted formatted on this forum.)
In those cases how to use the query when some fields are empty??If your textfields serve as parameters/bind variables for you query, then you could use NVL.
Something like:select ...
from some_table
where col1 = nvl(p_col1, col1)
and col2 = nvl(p_col2, col2)
And how about wildcards (the '%' or '_' sign), by the way? Are they allowed as well?
You also might want to read about this approach:
http://www.oracle.com/technology/oramag/oracle/09-jul/o49asktom.html -
Reg: Querying Nested table.
Hi,
I am facing a problem with querying the Nested table.
I have created a type
CREATE OR REPLACE TYPE TY_BOOKS OBJECT( VC_BOOK_NAME VARCHAR2(64) );
CREATE OR REPLACE TYPE NT_TY_BOOKS AS TABLE OF TY_BOOKS;
I have used this nested table in a table Student.
CREATE TABLE STUDENT
( SID NUMBER(10),
CL_NT_BOOKS NT_TY_BOOKS)
NESTED TABLE CL_NT_BOOKS STORE AS CL_NT_BOOKS_TAB;
The problem is one student can have more than one book. So if I need to select the students who have 'Science' books, i wrote this query.
SELECT S.SID,B.VC_BOOK_NAME FROM STUDENT S, TABLE(CL_NT_BOOKS) B WHERE B.VC_BOOK_NAME='Science';
suppose in the table
SID BOOK_NAME
1000 CL_NT_BOOKS('Science')
1001 CL_NT_BOOKS('Maths'),CL_NT_BOOKS('Science')
This query will return only those student-ids who have only "Science" book not those student-ids who have "Maths" & "Science" books.
RESULT
1000 Science
but not 1001....
Please can any one send me the select query which can select iteratively for books names which contains more than one value.Hmm, mysterious. It works for me on my 9.2.0.6 dB...
SQL> CREATE OR REPLACE TYPE TY_BOOKS AS OBJECT( VC_BOOK_NAME VARCHAR2(64) );
2 /
Type created.
SQL> CREATE OR REPLACE TYPE NT_TY_BOOKS AS TABLE OF TY_BOOKS;
2 /
Type created.
SQL> CREATE TABLE STUDENT
2 ( SID NUMBER(10),
3 CL_NT_BOOKS NT_TY_BOOKS)
4 NESTED TABLE CL_NT_BOOKS STORE AS CL_NT_BOOKS_TAB;
Table created.
SQL> INSERT INTO student VALUES (1000, NT_TY_BOOKS(TY_BOOKS('Science')))
2 /
1 row created.
SQL> INSERT INTO student VALUES (1001, NT_TY_BOOKS(TY_BOOKS('Science'),TY_BOOKS('Maths')))
2 /
1 row created.
SQL>
SQL> SELECT S.SID,B.VC_BOOK_NAME FROM STUDENT S, TABLE(CL_NT_BOOKS) B
2 WHERE B.VC_BOOK_NAME='Science'
3 /
SID VC_BOOK_NAME
1000 Science
1001 Science
SQL> What I suggest is most likely to have happened is that you have added a space or some other non-printing cahracter into the book name when you inserted row 1001. If this is not the case then you'll have to do it again in SQL*Plus, cut teh output and paste it here, so we can see what's going on.
Cheers, APC -
Reg Query Optimization - doubts..
Hi Experts,
This is related to Blog by Mr Prakash Darji regarding "Query Optimization" posted on Jan 26 2006.In this to optimize query Generation of Report is suggested.
I tried this, but I am not sure I am analyzing this correctly.
I collected Stats data before and after Generation of Report.But how to be sure that this is helping me? Did any one has tried this?
What to look for in Stats Data - duration?
But duration would not be absolute parameter as there is factor of "Wait Time, User", so duration may depend on this.
Please help me in this.
Thanks
Gaurav
Message was edited by: GauravAny ideas Experts?
-
Hi All,
I've requirement in the creating a query which has to display "Wednesday and Saturday" data only, when user enters a Calmonth through variable.
Like:
Users enters a calendar month Ex: 09.2008 (dynamically changes).
Then in the query result it has to show only the Wednesday and Saturday data.
Please guide me in this issue.
Thanks in Advance.
With Warm Regards,
RaviHello,
According to my understanding.
you want to see the details or sales made on Wed'day and Sat'day.
Do the following steps.
1. Create an variable for ZCALDAY.
2. Go for Project ZUEXITVA in CMOD.
3. Go for Functional Exit EXIT_SAPLRRS0_001.
4. Write the following code.
I am assuming that you have created an variable for ZCALDAY as YCALDAY .
DATA: L_S_RANGE TYPE RSR_S_RANGESID.
DATA: LOC_VAR_RANGE LIKE RRRANGEEXIT.
Data: v_loc_date type d.
Data: v_loc_date1 type d.
Data: v_loc(4) type c.
case i_vnam.
when 'ZCALDAY'.
if i_step = 2.
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
where vnam = 'YCALDAY'.
CLEAR L_S_RANGE.
L_S_RANGE-LOW = LOC_VAR_RANGE-WEDNESDAY
"Please make sure that how your input comes enter accordingly
L_S_RANGE-HIGH = LOC_VAR_RANGE-SATDAY.
"Please make sure that how your input comes enter accordingly
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
APPEND L_S_RANGE TO E_T_RANGE.
EXIT.
ENDLOOP.
ENDIF.
Regards,
Shiva Kumar G.C -
Hi Experts,
I had the Query - 1 and modified it to Query - 2, but getting a difference in record count.
Could you please help me understand the below ?
Query - 1
SELECT
exp.inv_no AS inv_no,
exp.lno AS lno
FROM
SELECT
table_x.lno,
table_x.inv_no
FROM
table_x table_x
WHERE
table_x.repd = '1146'
) exp
LEFT JOIN
SELECT
table_m.lno
FROM
table_m table_m
WHERE
table_m.codex IN ('4174','449','3958','2913','3743','3745','510','3957','2275','3550','3965','3479','3964','2276','3744','447', '3478','2912','3747')
) mx
ON exp.lno = mx.lno;
-->-- 1560993 records
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | OMem | 1Mem | Used-Mem |
| 0 | SELECT STATEMENT | | 1 | | 50 |00:00:00.02 | 240 | | | |
|* 1 | HASH JOIN RIGHT OUTER| | 1 | 1742K| 50 |00:00:00.02 | 240 | 1307K| 1307K| 1877K (0)|
| 2 | INLIST ITERATOR | | 1 | | 9868 |00:00:00.01 | 77 | | | |
|* 3 | INDEX RANGE SCAN | table_m_idx | 19 | 8712 | 9868 |00:00:00.01 | 77 | | | |
|* 4 | INDEX FAST FULL SCAN| table_x_pk | 1 | 1742K| 50 |00:00:00.01 | 163 | | | |
Predicate Information (identified by operation id):
1 - access("lno"="table_m"."lno")
3 - access(("table_m"."codex"='2275' OR "table_m"."codex"='2276' OR "table_m"."codex"='2912'
OR "table_m"."codex"='2913' OR "table_m"."codex"='3478' OR "table_m"."codex"='3479' OR
"table_m"."codex"='3550' OR "table_m"."codex"='3743' OR "table_m"."codex"='3744' OR
"table_m"."codex"='3745' OR "table_m"."codex"='3747' OR "table_m"."codex"='3957' OR
"table_m"."codex"='3958' OR "table_m"."codex"='3964' OR "table_m"."codex"='3965' OR
"table_m"."codex"='4174' OR "table_m"."codex"='447' OR "table_m"."codex"='449' OR
"table_m"."codex"='510'))
4 - filter("repd"=1146)
Query - 2
SELECT
table_x.inv_no AS inv_no,
table_x.lno AS lno
FROM
table_x
WHERE
table_x.repd = '1146' and
EXISTS(
SELECT 1 FROM table_m
WHERE
table_x.lno = table_m.lno and
table_m.codex IN ('4174','449','3958','2913','3743','3745','510','3957','2275','3550','3965','3479','3964','2276','3744','447', '3478','2912','3747')
-->-- 1895 records
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | OMem | 1Mem | Used-Mem |
| 0 | SELECT STATEMENT | | 1 | | 50 |00:00:00.01 | 277 | | | |
| 1 | NESTED LOOPS | | 1 | 13052 | 50 |00:00:00.01 | 277 | | | |
| 2 | SORT UNIQUE | | 1 | 8712 | 52 |00:00:00.01 | 77 | 619K| 471K| 550K (0)|
| 3 | INLIST ITERATOR | | 1 | | 9868 |00:00:00.01 | 77 | | | |
|* 4 | INDEX RANGE SCAN| table_m_idx | 19 | 8712 | 9868 |00:00:00.01 | 77 | | | |
|* 5 | INDEX RANGE SCAN | table_x_pk | 52 | 1 | 50 |00:00:00.01 | 200 | | | |
Predicate Information (identified by operation id):
4 - access(("table_m"."codex"='2275' OR "table_m"."codex"='2276' OR
"table_m"."codex"='2912' OR "table_m"."codex"='2913' OR "table_m"."codex"='3478' OR
"table_m"."codex"='3479' OR "table_m"."codex"='3550' OR "table_m"."codex"='3743' OR
"table_m"."codex"='3744' OR "table_m"."codex"='3745' OR "table_m"."codex"='3747' OR
"table_m"."codex"='3957' OR "table_m"."codex"='3958' OR "table_m"."codex"='3964' OR
"table_m"."codex"='3965' OR "table_m"."codex"='4174' OR "table_m"."codex"='447' OR
"table_m"."codex"='449' OR "table_m"."codex"='510'))
5 - access("lno"="table_m"."lno" AND "repd"=1146)
filter("repd"=1146)
Am I overlooking something?
Please help me understand this.
-- Ranit
(on Oracle 11.2.0.3.0)For a single row in table_x you have multiple row in table_m. In first query as you are joining them both you are doing 1 to many (I guess). But in the second query you are not doing a join but just checking the existence. In the first query you can include the columns from table_m in the SQL projection. But in the second query you cant do that.
So both the query are not the same they are very different. Here is a simple example
SQL> create table table_x
2 (
3 id integer, name varchar2(10)
4 );
Table created.
SQL> create table table_m
2 (
3 id integer, parent_id integer, name varchar2(10)
4 );
Table created.
SQL> insert into table_x values (1, 'karthick');
1 row created.
SQL> insert into table_m values (1, 1, 'oracle');
1 row created.
SQL> insert into table_m values (2, 1, 'sql');
1 row created.
SQL> commit;
Commit complete.
SQL> select x.*
2 from table_x x
3 left
4 join table_m m
5 on x.id = m.parent_id;
ID NAME
1 karthick
1 karthick
SQL> select x.*
2 from table_x x
3 where exists
4 (
5 select 1
6 from table_m m
7 where x.id = m.parent_id
8 );
ID NAME
1 karthick
SQL> -
Dear all,
I am facing an error when trying to save the query "error: query is too large" and the below is the text help given in the documentation.
Diagnosis
Query ZYYYYYYY contains 8192 differing selection cells. However, only 8191 selection cells can be processed in a query.
Procedure
Please simplify query definition ZYYYYYYYY.Hi,
this happens when maximum no. of Keyfigures are used in the rows....you might be using only one selection or a formula in the Rows of the query..and still face the same error...this reason behind this is that this selection or forumla inturn has a lot of RKFs or CKFs in it...
to put it clear, say you use a selection named ZTEST in the rows...and the definition of this selection is something like ZTEST = CKF1CKF2CKF3
and CKF1 = CKF4CKF5CKF6+CKF7
and CKF2 = CKF8CKF9CKF10/CKF11
and CKF3 = CKF12*CKF13
and further if you see CKF 4, 5...13 will again be a combination of multiple CKFs or RKFs...so this goes on and finally ZTEST becomes indeed very complex and uses more than 8191 selections....
I hope this is the issue you are facing...
shamee -
Hello all,
In the Query designer we have a structure in which I would like to edit one of the K.F . For example the K.F is a Formula K.f which is built on Fiscal year & Amount Now I've to include version to this K.F.
Please let me know how this can be done at the earliest.
Regards
MadhaviHi thanks for the quick response..
I just want to change a K.F in the Structure i.e I want to edit the re-useable strucure by adding a component 0version to this K.F.
I am unable to restrict the K.F when I right click the K.F I can see only edit but not restrict..
Plz suggest
Regards
Madhavi -
Hi
I have table EMP(empid,empname,deptid) ,DEPT(depid,name) .When i query i want to fetch data eventhough depid is null in emp table.
thx in advanceThat is what is called an outer join.
usually a left outer join. And instead of the old school oracle syntax you should use the newer fresh Ansi style syntax.
select *
from emp e
LEFT JOIN dept d on d.dept_id = e.dept_id; -
Reg:Soap,RFC,MDM
Hi All,
The existing interface is,
The webservice(Soap) is being triggered and it is being sent to RFC(Synchronous) flow.
Now the requirement is changed to, the response message alone needs to be sent to Soap as well to MDM paralley
Could anyone suggest me how to proceed the above stated scenario.
Thanks in Advance
Regards,
LavanyaHi ,
The webservice(SOAP) is being triggered from the sender and it is being passed to the ECC(RFC).
The response from the ECC should be send to SOAP as well as to MDM,where I have one condition,
A field by name Status from Ecc will have the value as E or S,when it is E it should be passed to SOAP and if it is S it should pass to both SOAP and MDM.
Kindly help me out in defining the step by step procedure for the above BPM scenario
Thanks in Advance
Regards,
Lavanya
Edited by: Lavanya Balanandham on Aug 8, 2011 12:13 PM -
Hi,
I'm designing a query. The details are below;
In the row I have the characteristics
1. Division
2. Channel
3. Material
In the column I have the keyfigure
1. Sales quantity
2. Sale value
We have about 10 channels. When the channel is 'CM' we need to restrict the Sales quantity and Sales value to a particular Customer. The remaining channels will be without any restrictions. How can I achieve this? Please advice.
Thanks.Hi Morpheus,
You can do it in a number of ways. Define a variable, write a relevant customer exit which puts the required restrictions which is obviously a tedious task.
Else what I would recommend is to forward this data from the current data provider to a new data provider and with the help of the ABAP routines, you can provide the above restrictions in this routine.
Let me know.
regards,
Sree. -
Hi Experts,
I was playing/experimenting with query plans but got stuck up with the below. I guess, I'm overlooking something.
ranit@XE11GR2>> create table t
2 as
3 select * from all_objects;
Table created.
ranit@XE11GR2>> exec dbms_stats.gather_table_stats('rb1','t');
PL/SQL procedure successfully completed.
ranit@XE11GR2>> create index t_uidx
2 on
3 t(owner, object_type, object_name);
Index created.
ranit@XE11GR2>> select * from t
2 where owner = 'SYS';
Elapsed: 00:00:00.00
Execution Plan
Plan hash value: 1601196873
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1642 | 144K| 67 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| T | 1642 | 144K| 67 (0)| 00:00:01 |
Predicate Information (identified by operation id):
1 - filter("OWNER"='SYS')
ranit@XE11GR2>> select count(*) from t
2 where owner = 'SYS';
Elapsed: 00:00:00.00
Execution Plan
Plan hash value: 1979783846
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 7 | 11 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 7 | | |
|* 2 | INDEX RANGE SCAN| T_UIDX | 1642 | 11494 | 11 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("OWNER"='SYS')
Doubt: Why does the first query have a FTS while the second query (with COUNT(*)) does an Index scan?
ranit@XE11GR2>> select owner, object_name, namespace from t
2 where owner = 'SYS';
Elapsed: 00:00:00.05
Execution Plan
Plan hash value: 1601196873
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1642 | 47618 | 67 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| T | 1642 | 47618 | 67 (0)| 00:00:01 |
Predicate Information (identified by operation id):
1 - filter("OWNER"='SYS')
Also, in the above I'm seeing that if I add a non-indexed column in SELECT clause (like column 'namespace') it goes for a FTS. How does column in SELECT clause affect the use of Indexes?
Any pointers if highly appreciated.
Thanks,
RanitThe second query doesn't have to visit the table - all the required data is in the index- and Oracle thinks that a range scan will only have to go through a small number of leaf blocks to find all the SYS entries. The first query needs data which can only be found in the table, and Oracle thinks the 1642 rows it need to find will be spread across so many blocks that it's quicker to do the tablescan than jump to each one separately after doing an index range scan.
If you want to see how much work Oracle thinks it would take to use an indexed access path into the table, you could test by adding a hint to the query.
Regards
Jonathan Lewis
Now on twitter: @jloracle
Maybe you are looking for
-
Urgent issue with video size and quality.
Ok, I have Premiere Pro CS4 and I am running on Windows 7 64bit. I have a movie that I have been working on for 2 years that already has hundreds of proper LightScribe DVD's, slim cases and printed cover wraps already done and paid for. I was suppose
-
Hi All, I have created an application and tested it in the sandbox, it is working fine in this system, now I attached it to a DC, for transporting it in the Dev system, I checked in the DC and activated the activity I have created for this DC, now wh
-
Hi, I want to change my pressed button Color and I haven't been able to find a way, I tried creating my own button and add a listener when it is pressed and then change its background color but it doesn't work! it works for enter and exit but not for
-
Web Layer locked into sharing on all states?
Is there any way to unlock the web layer so that it doesn't share all hotspots/slices on all states within a page? I would like to modify the hotspots of a page based on the current state. Any help would be greatly appreciated! Mark
-
When i turn it on, the apple logo comes on and code is being written at the top. the phone feezes after that. what do i do?