Why two records for the same key???
Hi,
I'm finding that our database contains "duplicate" records even though it is set to disallow duplicated. In particular, from DbDump, here are two keys from our database:
737201037870770c0001000000a6005a001471c678
737201037870770c0001000000a6005a0014711678
You can probably really think of them as
737201037870770c 0001000000a6005a00147 1c678
737201037870770c 0001000000a6005a00147 11678
where only the middle part is "our key data". Use use Externalizable and have methods for the key:
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
short oldVersion = in.readShort();
this.primaryKey = in.readInt();
this.orderPurpose = in.readChar();
this.foreignKey = in.readInt();
public void writeExternal(ObjectOutput out) throws IOException {
out.writeShort(externalizationVersion);
out.writeInt(this.primaryKey);
out.writeChar(this.orderPurpose);
out.writeInt(this.foreignKey);
public int compare(Object o1, Object o2) {
byte[] b1 = (byte[]) o1;
byte[] b2 = (byte[]) o2;
final int compareLen = b1.length;
for (int i=0; i<compareLen; i++) {
if (b1[i] != b2) {
return (b1[i] < b2[i] ? -1 : 1);
return 0;
My question is basically this: what are the trailing bytes for in the key and why do they differ in my case? BTW, we're using an old version, 2.0.90, and we recently switched to Java 6 from Java 5... (just in the interest of full disclosure!)
Thanks very much in advance,
Dan
Yes, you're right. That hint really helped me find
my problem !!Glad to hear that.
I still don't know what the leading and trailing
bytes are used for but at this point, it doesn't
really matter anymore.They're output by Java serialization when JE calls ObjectOutputStream.writeObject, so they should be defined here:
http://java.sun.com/j2se/1.5.0/docs/guide/serialization/spec/protocol.html
Thanks for your help,You're welcome,
Mark
Similar Messages
-
Merging two records in a single record for the same matnr,werks and bwart.
Hi I have a requirement to merge two records into one single record using the quantity field from MSEG table.
I am selecting two records from the table MSEG. Now for these two records i have to add the quantity values into one variable.
Then there should be only one record for the same matnr,werks,bwart.
Any suggestion would be appreciated.
Regards,
Amithi,
You can COLLECT statement only if all non key fields are numeric.
This statement Adds all such fields and give us a single record.
Regards
Sumit Agarwal -
How to assign the two values for constant (same key)
How to assign the two values for constant (same key)
CONSTANTS: c_pstkey TYPE bschl VALUE '09',
c_splgl TYPE umskz VALUE 'I',
c_buzei TYPE buzei VALUE '001'.
using BSCH1 again i have two asign vaue
can you just let me know
Edited by: sravya_se38 on Nov 23, 2010 12:14 AMYou can create a structure for that constant .
You can define in this way
CONSTANTS : BEGIN OF c_pstkey,
01 TYPE bschl VALUE '01',
02 TYPE bschl VALUE '02',
END OF c_pstkey.
and can access using...
c_pstkey-01, c_pstkey-02 ........ -
Why are there two prices for the same audiobook?
Why are there two prices for the same audiobook in iTunes?
May be one is abridged and one unabridged ? or they just may want to get the suckers that think the more expensive one is better ... haha.
-
Data not adding for the same Key up in Infocube
Hi,
My Dataflow goes like this: Datasource -> DSO -> Infocube.
I have created 2 DSO's for Deliveries Header & Delivery Item Seperately which gets data from 2LIS_11_VCHDR & 2LIS_11_VCITM Datasources. Both DSO's have Delivery Number & Fiscal Year variant as Key. 20 records are getting loaded to each DSO's seperately. Both the DSO's have the same Delivery Numbers & Fiscal year Variant for this 21 Records in their respective Loads as given below:
DSO 1 DSO 2
S.No. Deliver No. Fiscal Year Var. Delivery No. Fiscal Year Var.
1 12345 V3 12345 V3
2 28456 V3 28456 V3
3 34986 V3 34986 V3
Now, I am loading data from this 2 DSO's to one Infocube, Deliveries Infocube. The problem is, after the Data load, when i go to the Contents of the Infocube, I could see 42 records. As per Infocube, it should add up the values for the same key. My Delivery numbers & Fiscal year vairant are the same in both the DSO's, so i should have got only 21 records. Why is the Infocube not adding up the records in this case, am i missing anything here?
Thanks & Regards,
MuraliHi Murali,
As you are loading data from two different sources, there are two different requests and that is why you are getting 42 records, if you want to check the data consistency then create a query on top of this infocube and then check the values of key figures for delivery no's. or verify your data through query.
If you don't want to create query then you can use aggregation option from the display data of Infocube.
If you compress both the requests then you will see only 21 records in infocube.
Regards,
Durgesh. -
Reducing time while Filtering Out New Records with the Same Key
Hi Experts,
I have an issue .. I am trying to load data into 0MATERIAL . While loading via DTP the step u201CFilter Out New Records with the Same Keyu201D takes much time for processing . For each datapackage it is taking around 30 minutes to filter out new records with the same key . While for other master data it hardly takes 5 minutes.
Any pointers how to reduce the timeu2026
Thanks in advance
SamHello,
No there is no need to do that change then.
Can you tell me are you doing a full load daily to 0MATERIAL object.
why dont you use delta.
Also if the DTP is of type FULL, then are you deleting the previous PSA requests.
Maybe you can ask the basis guys to check with a trace what is really happening on the DB side during this 30 mins and then maybe we can find the needed fix.
Regards,
Shashank -
Record filtered in advance as error records with the same key exist
Dear Masters
I am getting below error for master data (0MATERIAL_ATTR), while loading data from PSA to Info object through DTP (I have set the Handle duliocate record also). When I checked that error data in Error Stack, I am getting below error for all records(100)
"Record filtered in advance as error records with the same key exist"
Could u please help me to resolve this issue
Thanks in Advance
RajaHi
Thanks for reply
I have loaded the Delta data in PSA. In PSA data was loaded successfully. I got the failure only when I loaded the from PSA to Maste data
Thanks in advance
Raja -
Use two indicators for the same variable in two different VIs
hello, I want to use two indicators for the same variable in two different VIs running at the same time
should I use global variables?? I want to avoid because I have lot of variables and it would takes too much memory,I tried with this code but the value of the second indicator is not updated
I tried to use the queue and it works but the problem is as i said previously that i have many variables shoud I use a queue for each one??
what should I do?
thank you in advance
cordialy
Attachments:
projet.zip 13 KBCrisSTine01 wrote:
hello, I want to use two indicators for the same variable in two different VIs running at the same time
I'm a huge fan of User Events to send updates to GUIs from who knows where.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
Can we create two POs for the same 3rd party Sales Order?
Hi MM experts,
Issue: Can we create two POs for the same 3rd party Sales Order
In Third party purchase process, first sales order created with a spl. item category and it creates the PR automatically with the Sales order material and Qty and this PR converted PO.
They got a pur.req. for sale order on same item for same delevery date. They did not get any warning msg. saying that a PO was prviously placed against this sale order.
How it is possible that we were able to place another PO? concern is that second PO was palced against SO which was already used & completed. they were able to place 2 POs for the same customer same delevery date. How it is possible?
If anyone face the same issue, please let me know if you have any answer to this questions.
Thanks in advance.
Suresh.Suresh,
It is hard for me to give you a definitive answer since you have created a customized solution.
How it is possible that we were able to place another PO? concern is that second PO was palced against SO which was already used & completed. they were able to place 2 POs for the same customer same delevery date. How it is possible?
Normally, the system will not do this. A third party PR or PO will be 'account assigned' to the Sales order. SAP standard 3rd party will not create additional purchase reqs unless there has been manual intervention. Try searching for changes in the Sales order and changes in the original purchase order. They may give you a clue.
I believe the normal Item category for third party SO is TAS (I am working from memory here, I am not in front of a system). I don't know what ZTAG does. I confess I am not an SD expert. You might also want to post your question in an SD forum.
You mention two custom applications, ZMMPLAN and ZSTPMP. These somehow have functionality that is used to help you convert your PRs to POs. If I were in your position, I believe I would also look at these applications for clues to how they might be contributing to your problem. And please don't send me details about these apps. I will not comment on custom code in this forum.
Sorry I can't be of more help.
Rgds,
DB49 -
Post a witholding tax in two countries for the same vendor
Hi all,
I would like to know if there is any way (standar not development) to post a witholding tax in two countries for the same vendor belonging to a company code. (extended witholding tax scene).
System always display extended witholding indicators belonging to the country of the company code.
Thanks in advance.
Emilio Rozalén
SAP FI Consultant.Hi B.Rama,
I think so, but Do you know the meaning of country witholding field in vendor master?.
Besides you can find this field in customizing, reports but I dont know its functionality.
Thanks and regards
Emilio Rozalé -
I was charged two times for the same game
I was charged two times for the same game...how can I get my money back? I even was emailed a receipt for them both...no one noticed? Please help me.
How to report an issue with Your iTunes Store purchase
-
Urgent: two authors for the same book
I have a database with three tables: books, authors and aux.
The books table stores the names of the books. The authors table stores the name of the authors. Table aux takes the id of the other two. I did this for the case of the same book has two or more authors
The query I did was the following:
SELECT authores.author, books.title
FROM aux, authors, books
WHERE aux.books_id = books.id AND aux.authors_id = authors.id
ORDER BY books.title ASC
How do I show the two authors for the same book?
For now, I'm using a simple table:
<table border="1" cellpadding="1" cellspacing="1">
<tr>
<td>author</td>
<td>title</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_rsBooks['author']; ?></td>
<td><?php echo $row_rsBooks['title']; ?></td>
</tr>
<?php } while ($row_rsBooks = mysql_fetch_assoc($rsBooks)); ?>
</table>
Thus, the table presents two results for the same book, instead of uniting the two authors of the same book.Thanks for the reply.
In the meantime, got what I wanted. The expression looks like this:
SELECT livros.titulo, GROUP_CONCAT(autores.autor SEPARATOR ',') AS Autores
FROM livros INNER JOIN aux ON aux.livros_id = livros.id INNER JOIN autores ON aux.autores_id = autores.id
GROUP BY livros.titulo -
PT_QTA00 is generating repetative records for the same quota type
PT_QTA00 is generating repetative records for the same quota type and one more thing i have already maintained 10 days of quota in 2006 and when i run for the same employee its creating one more record with 10 days again how can we restrict it in configuration
As said earlier, you want to setup Time Constraints for It2006 which is in table: V_T582A
You should set the Time Constraint to 2.
HR master data uses the following three time constraints:
Time Constraint 1
For the entire time that the employee works at the enterprise, exactly one valid infotype record must exist. The validity periods of the individual records must not overlap. If a new record is created, the system automatically uses the start date of the new record as the delimitation date of the old record. Gaps are only allowed between the employeeu2019s entry date and the start date of the first record.
Time constraint 1 must be used for all of the infotypes containing information that must be available at all times. This is particularly true of personal and organizational assignment data.
If a record is delimited because of time constraint 1, the system displays an appropriate message.
Time Constraint 2
No more than one valid record can exist at any one time. Records with constraint 2 must not overlap. Their existence is not obligatory. If a new record is created, the system automatically delimits the previous record, if one exists.
If a record is delimited because of time constraint 2, the system displays an appropriate message.
Time Constraint 3
Any number of valid records can exist at any one time. The individual records do not conflict with each other. -
Two infopackages for the same DS-- IS combination initialised
Hello Friends,
Can we have two infopackages for the same DS-->IS combination initialised with the same selections conditions and init requests. I have seen this in my client system. How can this be achieved.
Thanks for your help.
---SimmiThat is not possible.
Are you sure Inits were done for same selections ??? -
Why is the Star Transformation using two indexes for the same dimension?
Hi,
Recently, I have made an investigation about the Star Transformation feature. I have found a strange test case, which plays an important role in my strategy for our overall DWH architecture. Here it is:
The Strategy:
I would like to have the classical Star Transformation approach (single column Bitmap Indexes for each dimension foreign key column in the fact table), together with additional Bitmap Join Indexes for some of the dimension attributes, which would benefit from the materialization of the join (bitmap merge operation will be skipped/optimized).
The query:
select dp.brand, ds. region_name, dc.region_name
, count(*), sum(f.extended_price)
from fact_line_item f
, dim_part dp
, dim_supplier ds
, dim_customer dc
where dp.mfgr = 10 -- dimension selectivity = 1/10 --> acttual/fact selectivity = 6/10
and f.part_dk = dp.dk
and ds.region_name = 'REGION #1' -- dimension selectivity = 1/9
and f.supplier_dk = ds.dk
and dc.region_name = 'REGION #1' -- dimension selectivity = 1/11
and f.customer_dk = dc.dk
group by dp.brand, ds. region_name, dc.region_name
The actual plan:
| Id | Operation | Name | Starts | E-Rows | Cost (%CPU)| A-Rows | A-Time | Buffers | Reads |
| 0 | SELECT STATEMENT | | 1 | | 3247 (100)| 1 |00:01:42.05 | 264K| 220K|
| 1 | HASH GROUP BY | | 1 | 2 | 3247 (1)| 1 |00:01:42.05 | 264K| 220K|
|* 2 | HASH JOIN | | 1 | 33242 | 3037 (1)| 217K|00:01:29.67 | 264K| 220K|
|* 3 | TABLE ACCESS FULL | DIM_SUPPLIER | 1 | 1112 | 102 (0)| 1112 |00:00:00.01 | 316 | 4 |
|* 4 | HASH JOIN | | 1 | 33245 | 2934 (1)| 217K|00:01:29.10 | 264K| 220K|
|* 5 | TABLE ACCESS FULL | DIM_CUSTOMER | 1 | 910 | 102 (0)| 910 |00:00:00.08 | 316 | 8 |
|* 6 | HASH JOIN | | 1 | 33248 | 2831 (1)| 217K|00:01:28.57 | 264K| 220K|
|* 7 | TABLE ACCESS FULL | DIM_PART | 1 | 10 | 3 (0)| 10 |00:00:00.01 | 6 | 0 |
| 8 | PARTITION RANGE ALL | | 1 | 36211 | 2827 (1)| 217K|00:01:28.01 | 264K| 220K|
| 9 | TABLE ACCESS BY LOCAL INDEX ROWID| FACT_LINE_ITEM | 6 | 36211 | 2827 (1)| 217K|00:01:33.85 | 264K| 220K|
| 10 | BITMAP CONVERSION TO ROWIDS | | 6 | | | 217K|00:00:07.09 | 46980 | 3292 |
| 11 | BITMAP AND | | 6 | | | 69 |00:00:08.33 | 46980 | 3292 |
| 12 | BITMAP MERGE | | 6 | | | 193 |00:00:02.09 | 2408 | 1795 |
| 13 | BITMAP KEY ITERATION | | 6 | | | 4330 |00:00:04.66 | 2408 | 1795 |
| 14 | BUFFER SORT | | 6 | | | 60 |00:00:00.01 | 6 | 0 |
|* 15 | TABLE ACCESS FULL | DIM_PART | 1 | 10 | 3 (0)| 10 |00:00:00.01 | 6 | 0 |
|* 16 | BITMAP INDEX RANGE SCAN | FACT_LI__P_PART_DIM_KEY_BIX | 60 | | | 4330 |00:00:02.11 | 2402 | 1795 |
|* 17 | BITMAP INDEX SINGLE VALUE | FACT_LI__P_PART_MFGR_BJX | 6 | | | 1747 |00:00:06.65 | 890 | 888 |
| 18 | BITMAP MERGE | | 6 | | | 169 |00:00:02.78 | 16695 | 237 |
| 19 | BITMAP KEY ITERATION | | 6 | | | 5460 |00:00:01.56 | 16695 | 237 |
| 20 | BUFFER SORT | | 6 | | | 5460 |00:00:00.02 | 316 | 0 |
|* 21 | TABLE ACCESS FULL | DIM_CUSTOMER | 1 | 910 | 102 (0)| 910 |00:00:00.01 | 316 | 0 |
|* 22 | BITMAP INDEX RANGE SCAN | FACT_LI__P_CUST_DIM_KEY_BIX | 5460 | | | 5460 |00:00:02.07 | 16379 | 237 |
| 23 | BITMAP MERGE | | 6 | | | 170 |00:00:03.65 | 26987 | 372 |
| 24 | BITMAP KEY ITERATION | | 6 | | | 6672 |00:00:02.23 | 26987 | 372 |
| 25 | BUFFER SORT | | 6 | | | 6672 |00:00:00.01 | 316 | 0 |
|* 26 | TABLE ACCESS FULL | DIM_SUPPLIER | 1 | 1112 | 102 (0)| 1112 |00:00:00.01 | 316 | 0 |
|* 27 | BITMAP INDEX RANGE SCAN | FACT_LI__S_SUPP_DIM_KEY_BIX | 6672 | | | 6672 |00:00:02.74 | 26671 | 372 |
The Question:
Why is the Star Transformation using both indexes FACT_LI__P_PART_DIM_KEY_BIX and FACT_LI__P_PART_MFGR_BJX for the same dimension criteria (dp.mfgr = 10)?? The introduction of the additional Bitmap Join Index actually make Oracle to do the work twice !!!
Anybody, any idea ?!?Dom, here it is the plan with the predicates:
| Id | Operation | Name | Starts | E-Rows | Cost (%CPU)| A-Rows | A-Time | Buffers | Reads |
| 0 | SELECT STATEMENT | | 1 | | 3638 (100)| 1 |00:06:41.17 | 445K| 236K|
| 1 | HASH GROUP BY | | 1 | 2 | 3638 (1)| 1 |00:06:41.17 | 445K| 236K|
|* 2 | HASH JOIN | | 1 | 33242 | 3429 (1)| 217K|00:08:18.02 | 445K| 236K|
|* 3 | TABLE ACCESS FULL | DIM_SUPPLIER | 1 | 1112 | 102 (0)| 1112 |00:00:00.03 | 319 | 313 |
|* 4 | HASH JOIN | | 1 | 33245 | 3326 (1)| 217K|00:08:17.47 | 445K| 236K|
|* 5 | TABLE ACCESS FULL | DIM_CUSTOMER | 1 | 910 | 102 (0)| 910 |00:00:00.01 | 319 | 313 |
|* 6 | HASH JOIN | | 1 | 33248 | 3223 (1)| 217K|00:08:16.63 | 445K| 236K|
|* 7 | TABLE ACCESS FULL | DIM_PART | 1 | 10 | 3 (0)| 10 |00:00:00.01 | 6 | 0 |
| 8 | PARTITION RANGE ALL | | 1 | 36211 | 3219 (1)| 217K|00:08:16.30 | 445K| 236K|
| 9 | TABLE ACCESS BY LOCAL INDEX ROWID| FACT_LINE_ITEM | 6 | 36211 | 3219 (1)| 217K|00:08:40.89 | 445K| 236K|
| 10 | BITMAP CONVERSION TO ROWIDS | | 6 | | | 217K|00:00:32.00 | 46919 | 19331 |
| 11 | BITMAP AND | | 6 | | | 69 |00:00:34.50 | 46919 | 19331 |
| 12 | BITMAP MERGE | | 6 | | | 193 |00:00:00.58 | 2353 | 1 |
| 13 | BITMAP KEY ITERATION | | 6 | | | 4330 |00:00:00.10 | 2353 | 1 |
| 14 | BUFFER SORT | | 6 | | | 60 |00:00:00.01 | 6 | 0 |
|* 15 | TABLE ACCESS FULL | DIM_PART | 1 | 10 | 3 (0)| 10 |00:00:00.01 | 6 | 0 |
|* 16 | BITMAP INDEX RANGE SCAN | FACT_LI__P_PART_DIM_KEY_BIX | 60 | | | 4330 |00:00:00.07 | 2347 | 1 |
|* 17 | BITMAP INDEX SINGLE VALUE | FACT_LI__P_PART_MFGR_BJX | 6 | | | 1747 |00:01:23.64 | 882 | 565 |
| 18 | BITMAP MERGE | | 6 | | | 169 |00:00:09.14 | 16697 | 7628 |
| 19 | BITMAP KEY ITERATION | | 6 | | | 5460 |00:00:02.19 | 16697 | 7628 |
| 20 | BUFFER SORT | | 6 | | | 5460 |00:00:00.01 | 316 | 0 |
|* 21 | TABLE ACCESS FULL | DIM_CUSTOMER | 1 | 910 | 102 (0)| 910 |00:00:00.01 | 316 | 0 |
|* 22 | BITMAP INDEX RANGE SCAN | FACT_LI__P_CUST_DIM_KEY_BIX | 5460 | | | 5460 |00:00:08.78 | 16381 | 7628 |
| 23 | BITMAP MERGE | | 6 | | | 170 |00:00:21.46 | 26987 | 11137 |
| 24 | BITMAP KEY ITERATION | | 6 | | | 6672 |00:00:10.29 | 26987 | 11137 |
| 25 | BUFFER SORT | | 6 | | | 6672 |00:00:00.01 | 316 | 0 |
|* 26 | TABLE ACCESS FULL | DIM_SUPPLIER | 1 | 1112 | 102 (0)| 1112 |00:00:00.01 | 316 | 0 |
|* 27 | BITMAP INDEX RANGE SCAN | FACT_LI__S_SUPP_DIM_KEY_BIX | 6672 | | | 6672 |00:00:20.94 | 26671 | 11137 |
Predicate Information (identified by operation id):
2 - access("F"."SUPPLIER_DK"="DS"."DK")
3 - filter("DS"."REGION_NAME"='REGION #1')
4 - access("F"."CUSTOMER_DK"="DC"."DK")
5 - filter("DC"."REGION_NAME"='REGION #1')
6 - access("F"."PART_DK"="DP"."DK")
7 - filter("DP"."MFGR"=10)
15 - filter("DP"."MFGR"=10)
16 - access("F"."PART_DK"="DP"."DK")
17 - access("F"."SYS_NC00017$"=10)
21 - filter("DC"."REGION_NAME"='REGION #1')
22 - access("F"."CUSTOMER_DK"="DC"."DK")
26 - filter("DS"."REGION_NAME"='REGION #1')
27 - access("F"."SUPPLIER_DK"="DS"."DK")
Note
- star transformation used for this statement
Maybe you are looking for
-
Where are the print drivers found?
I have a Brother HL 2040 laser printer. THe Brother website has a version 2.2 driver for this printer. I downloaded and installed. When I add the printer I keep getting version 1.4 driver. Can someone tell me where are the drivers found on my iMac? A
-
I have tried to sign in for the iMessage on my iPad 2. It won't accept my password. I have changed the password and it won't accept new password either.
-
Is there any way to get Session
Hi All, Is there any way of getting the HttpSession object reference using sessionid? thanks in advance Raghu
-
Disc drive automatically rejects discs after being inserted.
The past few days, whenever I insert a disc for a game into my MacBook Pro 13" (2009 model, purchased in 2010) will reject the disc and spit it back out. To describe the noise it makes, it is the usual start up noise the drive makes, and then it sudd
-
Passing a parameter to a function via an alias
Hi all, Is it possible to pass a fixed value to a function from a alias? For example say you have a function which opens a web browser and that function accepts a parameter for the URL that you want the browser to load. You can then just call the fun