Calling WSAGetLastError() from an IOCP thread return incorrect result
I have called WSARecv() which returned WSA_IO_PENDING. I have then sent an RST packet from the other end. The GetQueuedCompletionStatus() function which exists in another thread has returned FALSE as expected, but when I called WSAGetLastError() I got
64 instead of WSAECONNRESET.
So why WSAGetLastError() did not return WSAECONNRESET?
Hi Tom_912,
Thanks for posting in MSDN forum.
Where do you call WSAGetLastError and get 64? From your description, It seems that you call WSAGetLastError after GetQueuedCompletionStatus() function.
Read the document:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa364986(v=vs.85).aspx
We should call GetLastError to get extended error information instead of WSAGetLastError function. For the error code 64
ERROR_NETNAME_DELETED, It means that the specified network name is no longer available.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx it's likely that your connection has gone away since GetQueuedCompletionStatus return false. Is that as your expect? If not, please provide more details about what
you do, and it would be better if you could share us some code.
Best regards,
Shu Hu
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.
Similar Messages
-
Calling getAppletContext() from a working thread.
Hi guys,
I'm new to Java so all apologies if I'm asking a stupied question.
I have a simple applet that creates a working thread and I'm tring to call getAppletContext() from that thread.
Obviously my working thread has no instance of the Applet class so it fails.
I've try to create an instance of Applet, but I'm getting an error saying that the applet is not initialised.
This is my code:
class MyThread extends Thread
String ThreadName;
public MyThread(String threadName)
ThreadName = threadName;
@Override public void run()
// ??? How to make the following line work ???
getAppletContext().showDocument(new URL("javascript:alert(\"Calling from myThread\")"));
public class MyApplet extends Applet {
public void init()
// The following line works!
getAppletContext().showDocument(new URL("javascript:alert(\"Calling from MyApplet)"));
Thread WorkingThread = new MyThread("Thread1");
WorkingThread.start();
}{code}
Please help,
Many thanks!
SalvadorGot it.
I needed to pass the keyword this to the thread constructor and then use that....
Many thanks! -
Rp_provide_from_last returns incorrect result
Hi
When issuing rp_provide_from_last for IT2001, we get incorrect result.
rp-provide-from-last p2001 space '19000101' '99991231'
This macro does not return the latest record. Instead it returns the record with the highest subtype #. (It actually returns the last record shown in a SE16N listing of PA2001).
Has anyone seen this problem?
We are on SAP 4.7., SP 85.
Best regards
KirstenPleas Try this
Usage:
Only in PNP database reports under GET PERNR, because the personnel number for which data is being read comes from field PERNR-PERNR, while the field being used is PNP-SW-AUTH-SKIPPED-RECORD.
(RP_READ_ALL_TIME_ITY beg end)
DATA: BEGDA LIKE P2001-BEGDA, ENDDA LIKE P2001-ENDDA.
INFOTYPES: 0000, 0001, 0002, ...
2001 MODE N, 2002 MODE N, ...
GET PERNR.
BEGDA = '19900101'. ENDDA = '19900131'.
RP_READ_ALL_TIME_ITY BEGDA ENDDA.
IF PNP-SW-AUTH-SKIPPED-RECORD NE '0'.
WRITE: / 'Authorization for time data missing'.
WRITE: / 'for personnel number', PERNR-PERNR. REJECT.
ENDIF.
Remarks
This RMAC module can be used when, for example, the time infotypes were originally defined in MODE N. This was done because the time data (from LOW-DATE to HIGH-DATE) might not all have fitted into the buffer. Now, however, they are read with shorter intervals (for example, in RPCALCx0 with payroll periods).
-Due to the large amount of data in HR, the infotypes 2000 u2013 2999 should not be read when GET PERNR occurs. Therefore, these infotypes are declared with the enhancement MODE N.
-As a result, the infotype tables under GET PERNR are not filled. The time infotype tables are filled subsequently using the macro RP_READ_ALL_TIME_ITY, but only for the time interval specified by PN-BEGDA and PN-ENDDA.
http://help.sap.com/saphelp_45b/helpdata/en/60/d8bb88576311d189270000e8322f96/content.htm
Best Regards -
Sequence call with Pass/Fail Test always returns Passed result
In TestStand 2.0, I use Sequence Adapter with Pass/Fail Test step to call a subsequence, I always receive a Passed result, even as I force fail a step in the subsequence and enabled the Step Failure Causes Sequence Failure option.
Attachments:
Example1.seq 17 KBTan -
The status expression for the Pass/Fail step type does not look to see if the status has been previously set by the code module in this case the sequence call.
Step.DataSource != "Step.Result.PassFail" ?
Step.Result.PassFail = Evaluate(Step.DataSource) :
False, Step.Result.PassFail ? "Passed" : "Failed"
It just set it to Passed or Failed even if the status is already "Failed".
You could either,
1) Change the Pass/Fail expression to the following for the step,
Step.Result.Status == "Done"? Step.Result.PassFail : False
or
2) Use two steps, a Sequence Call and a Pass/Fail that uses the None Adapter. The Pass/Fail could operate on the previous step if necessary.
Scott Richardson - NI"
Scott Richardson
National Instruments -
Calling ctx_snippet() from non-owner user returns error
Hi,
I created a full text index in owner schema A for documents stored in BFILE datatype, and tested the snippet query, worked like dream.
The query is something like:
SELECT doc_id, ctx_doc.snippet('A.IDX_DUMMY',rowid,'keywords')
FROM A.documents
WHERE contains(document,'keywords')>0
But, when I run the same query from an application user, I got error:
ERROR at line 1:
ORA-20000: Oracle Text error:
DRG-50857: oracle error in drstldef
ORA-22286: insufficient privileges on file or directory to perform FILEEXISTS
operation
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.CTX_DOC", line 1297
ORA-06512: at line 1
If I SQL*Plus using application user account, and run DBMS_LOB programs, the document BFILEs can be accessed without any problem.
I also tried log in as sys, the query return the same error.
I also specifically give directory read privilege to application user, CTX_SYS, all did not work.
Any clue here?
Thx,
-HaijunSolved!!!
The reason is that, initially, the directory read privilege was granted to index owner user as well as the non-owner user by sys as dba, without "with grant option"
Now, I grant directory read privilege to the index owner user "with grant option", then the index owner grant the privilege again to the non-owner user. Now, things work! The privilege flows through.
Thx,
-Haijun -
SDO_DISTANCE returning incorrect results
I have a query that uses sdo_distance to find N nearest neighbors (line strings) to a lat/lon (point). The problem is that sdo_distance is giving me geometries which it says are 0 units (in this case meters) from that lat/lon when in fact they are much farther away.
here is an example:
SELECT
vw.reach_geom,
round(SDO_GEOM.SDO_DISTANCE(vw.REACH_GEOM, sdo_geometry(2001, 8307,
sdo_point_type(-88.23579545454545, 44.87982954545455, NULL),
NULL, NULL), 0.00005, 'unit=M'),4) Dist_In_Meters
FROM all_geom_vw
ORDER BY Dist_In_Meters;
i get two geometries. the first is incorrect:
GEOM
SDO_GEOMETRY(2002, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(-86.687042, 45.836369, -86.687042, 45.836369, -86.689133, 45.836567))
Dist_In_Meters
0
The second one is the correct one:
GEOM
SDO_GEOMETRY(2002, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(-88.380611, 44.996681, -88.380718, 44.995281, -88.380917, 44.993782,.....several other ordinates)
Dist_In_Meters
15.3559
you can tell that the second one is much closer to the point since that lat/lon coords are pretty much the same.
Any ideas what's happening here?
thanks,
JohnThe first two points of the bad result geometry are the same point. "-86.687042, 45.836369, -86.687042, 45.836369," I'm pretty sure this will hose many spatial operations and may not throw an exception. Edit the geometry or do a "migrate to current" and it should work.
-Ted -
Call BSP from a funtion module and use results of the BSP in the calling fm
Hi BSP experts,
I want to implement following scenario. But currently I've no idea how to realize step 4 of the process.
1. An ABAP program calls a function module.
2. The function module calls a BSP page.
3. In the BSP users will fill out some fields (e.g. name).
4. After pressing the submit button the BSP should transfer the values to the export parameters of the calling function module.
Thanks for your support & Regardswithin the FM code you should call a SAPGUI screen with embedded html viewer control, in which you will show the bsp page and user can enter value and hit submit. you can then collect the user entered value and set it as export value fo the FM. but why do you want to do this?
Regards
Raja -
Like in stored procedure returns incorrect result
Hello all,
I have a stored procedure like below
Alter PROCEDURE ContactsListBySearch
@AuthorID int,
@currentPage INT,
@pageSize INT,
@searchStr nvarchar
AS
BEGIN
set nocount on;
WITH tempLog AS (
SELECT distinct ROW_NUMBER()OVER (ORDER BY email DESC) AS Row,
email,username from AddContact where userid = @AuthorID and email like '%'+@searchStr+'%' and username like '%'+@searchStr+'%' )
SELECT email,username
FROM tempLog
WHERE Row between ((@currentPage - 1) * @pageSize + 1) and (@currentPage*@pageSize)
END
for a search string david it gives me unrelated rows.
But for the same query string david if i run the query
select email,username from addcontact where userid=2 and email like '%david%' and username like '%david%'
It gives me exact result.
How to pass an paramter as a string in the stored procedure?? please help me.
regards,
Guru
Edited by: user4554966 on Jan 18, 2010 6:45 PMDid not get any help from them ;)
Regards,
Guru -
Secure Flash Remoting from main.asc not returning a result
Hi, Iv got a problem here that could be Flash Remoting or
Flash Media Server related
I have created an application that uses flash media server
and flash remoting.
For authentication in my app I used Kevin Towes suggested
method "Secure Authentication with Flash Communication Server:
Using Tickets and Flash Remoting MX." His article is here
Download
PDF Here
Now to the problem...
My application has no problem connecting to coldfusion using
flash remoting with the defaultGateway url set to
"https://www.mysite.com" (ie over SSL)
However In main.asc, on the Flash Media Server
When Flash Media server attempts to validate the login by
connecting to CFMX using flash remoting it gets no response when
using a secure gateway url. If I set the default gateway url to
just
http://www.mysite.com it works
great.
Why do I not get any response when using https as my gateway
url from Flash Media Server?
thanksSounds like you need to enable mappings for your remoting
gateway. I'm not sure if it's the same as Flex, but here's what you
might need to do, or something similar...
In c:\cfusion8\wwwroot\WEB-INF\flex\remoting-config.xml (or
wherever CF is installed) look for the <use-mappings> node
and set the value to true. You will need to restart CF -
Very strange bug with compareTo: returning incorrect results
Hello everyone! I have used the method compareTo many times to maintain my database project's entries. However recently I have discovered a bug, in which:
a and b both being Storage type objects:
private static class Storage {
object data
int nextData //an array stores the Storage objects
int previousData //this uses an integer to locate previous in array
Problem:
((Comparable)(a.data)).compareTo((Comparable)(b.data)) returns a 3, when a.data is clearly 5, and b.data is clearly 20.
This is very strange, as the compareTo should return a -1 instead of a positive number. Is this a known bug with the compareTo method? I have been using it reliably for many programs but this is the first time it ever occurs to me.Problem:
((Comparable)(a.data)).compareTo((Comparable)(b.data))
returns a 3, when a.data is clearly 5, and b.data is
clearly 20.
This is very strange, as the compareTo should return a
-1 instead of a positive number. Is this a known bug
with the compareTo method? I have been using it
reliably for many programs but this is the first time
it ever occurs to me.Not really... comparing Strings "5" to "20"
is really the same as comparing "5" to "2"
being the first character of the string, difference
being, surprise, surprise = 3.
If you want the Strings to be comparable that way you should left-fill them with spaces or zeros.
Or, better still, override compareTo and make your Storage implement Comparable instead of all that casting of the data objects. -
Lookup results from a range and return specific results
I have a table with 3 columns: min, max, and rate. It has several rows.
I have another table with several columns, including hours. I want to create a lookup to return the appropriate rate based on the range that it falls in. How do I go about this?
Thanks!Thanks.
Knowing the table is really helpful
In column Cost, the cells contain the formula :
=VLOOKUP(1+(INT(Quantity/500)*500),Min:Cost,3,1)
In column Subtotal, the formula is :
=Quantity*Cost
Yvan KOENIG (VALLAURIS, France) samedi 30 janvier 2010 21:06:32 -
MDX used in Universe for Prompt returns Incorrect Result
Hi All,
I have created an optional predefined filter in the universe like so... (and for many other characteristics too...)
<OPTIONAL>
<FILTER KEY="[0COMP_CODE].[LEVEL01]">
<CONDITION OPERATORCONDITION="InList">
<CONSTANT CAPTION="@Prompt('Select Company Code(s)','A','Company code\Company code',multi,constrained)">
</CONSTANT>
</CONDITION>
</FILTER>
</OPTIONAL>
The code works i.e The prompt comes up, the text is correct, the list of values are correct. BUT....
This is a multi value prompt i.e In List... So when I select only 1 Comany code i.e CODE-1, run the Webi report, the result is as expected, the reports displays all the data for Company code - CODE-1.
When I refersh the report and add CODE-2, so the list now has CODE-1 and CODE-2 in the prompt... only the data for CODE-1 is displayed in the report, and CODE-2's data is not returned.
I also find that when I select CODE-2 first, then CODE-1, then only CODE-2's data is returned, so I can safely say that only the first selected Company code is returned in the Webi report irrespective of how many Company codes where selected in the list.
This behaviour also affects any other characteristic on which filter is created in this manner.
Has anyone experienced this behaviour? Is there something on the BW side that needs to be checked? or is this a bug?
Thanks
JHi Uwe,
Yes... the issue is that we need to use short XML tags. The issue is also documented in one of the release notes.
In the example below, you can see the </CONSTANT> tag is used. This is what is causing the issue.
<OPTIONAL>
<FILTER KEY="[0COMP_CODE].[LEVEL01]">
<CONDITION OPERATORCONDITION="InList">
<CONSTANT CAPTION="@Prompt('Select Company Code(s)','A','Company code\Company code',multi,constrained)">
</CONSTANT>
</CONDITION>
</FILTER>
</OPTIONAL>
So... to ge the results correctly, we need to remove the </CONTSTANT> tag and close it at the end of the prompt line with a /, now the same code looks like this...
<OPTIONAL>
<FILTER KEY="[0COMP_CODE].[LEVEL01]">
<CONDITION OPERATORCONDITION="InList">
<CONSTANT CAPTION="@Prompt('Select Company Code(s)','A','Company code\Company code',multi,constrained)"/>
</CONDITION>
</FILTER>
</OPTIONAL>
I have tested this using other operators and it works fine.
Jacques -
System() from a multi-threaded app
The man page for system(3S) states that its MT-Level is "unsafe." Nonetheless we need to call system() from a multi-threaded application. At present we "just go ahead and do it," and of course it doesn't work well. I'm not entirely sure of the details of the failure -- it's more a colleague's baby than mine -- but I believe the system() call often fails to complete ("hangs").
Is there a thread-safe equivalent-or-replacement for system()? Surely the need to launch other applications from a multi-threaded application is commonplace today? How is it done safely-and-correctly?Hi,
system() is not thread safe because it internally uses vfork() system call which in turn is not MT-safe . When you do a vfork()/fork1() in threaded applications only the thread which issues the call gets duplicated in the child process , which could result in dead lock problems . Solution of running system() under the protection of a lock may not help to avoid this problem.
If you're using Solaris thread library , fork() + exec() is a safe substitute for system() . If you are using Posix library , use pthread_atfork() to make sure that you handle the locks properly before/after forking.
Hope this helps.
Thanks,
Prajeesh -
LessFilter and ReflectionExtractor API giving incorrect results
I am using Oracle Coherence version 3.7. We are storing DTO objects in cache having "modificationTime" property/instance variable of "java.util.date" type. In order to fetch data from cache passing "java.util.date" variable as input for comparison, LessFilter and ReflectionExtractor api's are used. Cache.entryset(filter) returns incorrect results.
Note: we are using "com.tangosol.io.pof.PofWriter.writeDateTime(int arg0, Date arg1) " api to store data in cache and "com.tangosol.io.pof.PofReader.readDate(int arg0)" to read data from cache. There is no readDateTime api available ?
We tested same scenario updating DTO class. Now it has another property in DTO of long(to store milliseconds). Now long is passed as input for comparison to LessFilter and ReflectionExtractor api's and correct results are retrieved.
Ideally, java.util.Date or corresponding milliseconds passed as input should filter and return same and logically correct results.
Code:
1) Test by Date: returns incorrect results
public void testbyDate(final Date startDate) throws IOException {
final ValueExtractor extractor = new ReflectionExtractor("getModificationTime");
LOGGER.debug("Fetching records from cache with modTime less than: " + startDate);
final Filter lessFilter = new LessFilter(extractor, startDate);
final Set results = CACHE.entrySet(lessFilter);
LOGGER.debug("Fetched Records:" + results.size());
assert results.isEmpty();
2) Test by milliseconds: returns correct results
public void testbyTime(final Long time) throws IOException {
final ValueExtractor extractor = new ReflectionExtractor("getTimeinMillis");
LOGGER.debug("Fetching records from cache with timeinMillis less than: " + time);
final Filter lessFilter = new LessFilter(extractor, time);
final Set results = CACHE.entrySet(lessFilter);
LOGGER.debug("Fetched Records:" + results.size());
assert results.isEmpty();
}Hi Harvy,
Thanks for your reply. You validated it against a single object in cache using ExternalizableHelper.toBinary/ExternalizableHelper.fromBinary. But we are querying against a collection of objects in cache.
Please have a look at below code.
*1)* We are using TestDTO.java extending AbstractCacheDTO.java as value object for our cache.
import java.io.IOException;
import java.util.Date;
import com.tangosol.io.AbstractEvolvable;
import com.tangosol.io.pof.EvolvablePortableObject;
import com.tangosol.io.pof.PofReader;
import com.tangosol.io.pof.PofWriter;
* The Class AbstractCacheDTO.
* @param <E>
* the element type
* @author apanwa
public abstract class AbstractCacheDTO<E> extends AbstractEvolvable implements EvolvablePortableObject {
/** The Constant IDENTIFIER. */
private static final int IDENTIFIER = 0;
/** The Constant CREATION_TIME. */
private static final int CREATION_TIME = 1;
/** The Constant MODIFICATION_TIME. */
private static final int MODIFICATION_TIME = 2;
/** The version number of cache DTO implementation **/
private static final int VERSION = 11662;
/** The id. */
private E id;
/** The creation time. */
private Date creationTime = new Date();
/** The modification time. */
private Date modificationTime;
* Gets the id.
* @return the id
public E getId() {
return id;
* Sets the id.
* @param id
* the new id
public void setId(final E id) {
this.id = id;
* Gets the creation time.
* @return the creation time
public Date getCreationTime() {
return creationTime;
* Gets the modification time.
* @return the modification time
public Date getModificationTime() {
return modificationTime;
* Sets the modification time.
* @param modificationTime
* the new modification time
public void setModificationTime(final Date modificationTime) {
this.modificationTime = modificationTime;
* Read external.
* @param reader
* the reader
* @throws IOException
* Signals that an I/O exception has occurred.
* @see com.tangosol.io.pof.PortableObject#readExternal(com.tangosol.io.pof.PofReader)
@Override
public void readExternal(final PofReader reader) throws IOException {
id = (E) reader.readObject(IDENTIFIER);
creationTime = reader.readDate(CREATION_TIME);
modificationTime = reader.readDate(MODIFICATION_TIME);
* Write external.
* @param writer
* the writer
* @throws IOException
* Signals that an I/O exception has occurred.
* @see com.tangosol.io.pof.PortableObject#writeExternal(com.tangosol.io.pof.PofWriter)
@Override
public void writeExternal(final PofWriter writer) throws IOException {
writer.writeObject(IDENTIFIER, id);
writer.writeDateTime(CREATION_TIME, creationTime);
writer.writeDateTime(MODIFICATION_TIME, modificationTime);
@Override
public int getImplVersion() {
return VERSION;
import java.io.IOException;
import com.tangosol.io.pof.PofReader;
import com.tangosol.io.pof.PofWriter;
* @author nkhatw
public class TestDTO extends AbstractCacheDTO<TestIdentifier> {
private Long timeinMillis;
private static final int TIME_MILLIS_ID = 3;
@Override
public void readExternal(final PofReader reader) throws IOException {
super.readExternal(reader);
timeinMillis = Long.valueOf(reader.readLong(TIME_MILLIS_ID));
@Override
public void writeExternal(final PofWriter writer) throws IOException {
super.writeExternal(writer);
writer.writeLong(TIME_MILLIS_ID, timeinMillis.longValue());
* @return the timeinMillis
public Long getTimeinMillis() {
return timeinMillis;
* @param timeinMillis
* the timeinMillis to set
public void setTimeinMillis(final Long timeinMillis) {
this.timeinMillis = timeinMillis;
}*2)* TestIdentifier.java as key in cache for storing TestDTO objects.
import java.io.IOException;
import org.apache.commons.lang.StringUtils;
import com.tangosol.io.AbstractEvolvable;
import com.tangosol.io.pof.EvolvablePortableObject;
import com.tangosol.io.pof.PofReader;
import com.tangosol.io.pof.PofWriter;
* @author nkhatw
public class TestIdentifier extends AbstractEvolvable implements EvolvablePortableObject {
private String recordId;
/** The Constant recordId. */
private static final int RECORD_ID = 0;
/** The version number of cache DTO implementation *. */
private static final int VERSION = 11660;
@Override
public void readExternal(final PofReader pofreader) throws IOException {
recordId = pofreader.readString(RECORD_ID);
@Override
public void writeExternal(final PofWriter pofwriter) throws IOException {
pofwriter.writeString(RECORD_ID, recordId);
@Override
public int getImplVersion() {
return VERSION;
@Override
public boolean equals(final Object object) {
if (object instanceof TestIdentifier) {
final TestIdentifier id = (TestIdentifier) object;
return StringUtils.equals(recordId, id.getRecordId());
} else {
return false;
* @see java.lang.Object#hashCode()
@Override
public int hashCode() {
return recordId.hashCode();
* @return the recordId
public String getRecordId() {
return recordId;
* @param recordId
* the recordId to set
public void setRecordId(final String recordId) {
this.recordId = recordId;
}*3) Use Case*
We are fetching TestDTO records from cache based on LessFilter. However, results returned from cache differs if query is made over property "getModificationTime" of type java.util.Date or over property "getTimeinMillis" of type Long(milliseconds corresponding to date). TestService.java is used for the same.
import java.io.IOException;
import java.util.Collection;
import java.util.Date;
import java.util.Map;
import java.util.Set;
import org.apache.log4j.Logger;
import com.ladbrokes.dtos.cache.TestDTO;
import com.ladbrokes.dtos.cache.TestIdentifier;
import com.cache.services.CacheService;
import com.tangosol.net.CacheFactory;
import com.tangosol.net.NamedCache;
import com.tangosol.util.Filter;
import com.tangosol.util.ValueExtractor;
import com.tangosol.util.extractor.ReflectionExtractor;
import com.tangosol.util.filter.LessFilter;
* @author nkhatw
public class TestService implements CacheService<TestIdentifier, TestDTO, Object> {
private static final String TEST_CACHE = "testcache";
private static final NamedCache CACHE = CacheFactory.getCache(TEST_CACHE);
private static final Logger LOGGER = Logger.getLogger(TestService.class);
* Push DTO objects with a) modTime of java.util.Date type b) timeInMillis of Long type
* @throws IOException
public void init() throws IOException {
for (int i = 0; i < 30; i++) {
final TestDTO dto = new TestDTO();
final Date modTime = new Date();
dto.setModificationTime(modTime);
final Long timeInMillis = Long.valueOf(System.currentTimeMillis());
dto.setTimeinMillis(timeInMillis);
final TestIdentifier testId = new TestIdentifier();
testId.setRecordId(String.valueOf(i));
dto.setId(testId);
final CacheService testService = new TestService();
testService.createOrUpdate(dto, null);
LOGGER.debug("Pushed record in cache with key: " + i + " modTime: " + modTime + " Time in millis: "
+ timeInMillis);
* 1) Fetch Data from cache based on LessFilter with args:
* a) ValueExtractor: extracting time property
* b) java.util.Date value to be compared with
* 2) Verify extracted entryset
* @throws IOException
public void testbyDate(final Date startDate) throws IOException {
final ValueExtractor extractor = new ReflectionExtractor("getModificationTime");
LOGGER.debug("Fetching records from cache with modTime less than: " + startDate);
final Filter lessFilter = new LessFilter(extractor, startDate);
final Set results = CACHE.entrySet(lessFilter);
LOGGER.debug("Fetched Records:" + results.size());
assert results.isEmpty();
* 1) Fetch Data from cache based on LessFilter with args:
* a) ValueExtractor: extracting "time in millis property"
* b) java.Long value to be compared with
* 2) Verify extracted entryset
public void testbyTime(final Long time) throws IOException {
final ValueExtractor extractor = new ReflectionExtractor("getTimeinMillis");
LOGGER.debug("Fetching records from cache with timeinMillis less than: " + time);
final Filter lessFilter = new LessFilter(extractor, time);
final Set results = CACHE.entrySet(lessFilter);
LOGGER.debug("Fetched Records:" + results.size());
assert results.isEmpty();
@Override
public void createOrUpdate(final TestDTO testDTO, final Object arg1) throws IOException {
CACHE.put(testDTO.getId(), testDTO);
@Override
public void createOrUpdate(final Collection<TestDTO> arg0, final Object arg1) throws IOException {
// YTODO Auto-generated method stub
@Override
public <G>G read(final TestIdentifier arg0) throws IOException {
// YTODO Auto-generated method stub
return null;
@Override
public Collection<?> read(final Map<TestIdentifier, Object> arg0) throws IOException {
// YTODO Auto-generated method stub
return null;
@Override
public void remove(final TestDTO arg0) throws IOException {
// YTODO Auto-generated method stub
Use Case execution Results:
"testbyTime" method returns correct results.
However, "testbyDate" method gives random and incorrect results. -
Incorrect result between maintain master data and bex query, how can i fix?
Hi ALL,
i get some messages from the users there is incorrect result between SAP R/3 and Report on BW. i controlled the monitor and i saw there was a job for 0CUSTOMER_ATTRIBUTE that it finish correctly but the processing it was only in PSA, i started the full update immediately from PSA into Data Targets and is finished correctly. after when i control the content of the 0CUSTOMER (right click maintain master data) i get the correct attribute result that match the data in SAP R/3, but the problem is when i execute a query Bex on this master data it will not return the same attributes data.
Can SomeBody Help please
Bilalhi,
For any master data attributes loaded you will have to run "Attributes Change Run" for that.Execute for Master data 0CUSTOMER.
The same is avilable in rsa1->Tools(top menu)->apply hierarchy/attribute run.
hope it helps,
regards,
Parth.
Maybe you are looking for
-
Error while creating sales order : Materail not listed !!!
Dear All, While creating a Sales Order, I am getting this message. please let me know. what is listing means. How to check it. error message Material XYYXY is not listed and therefore not allowed Message no. V1118 Diagnosis The material entered is n
-
How do I add to my Ipad2 a home movie or video?
How do I add to my Ipad2 a home movie or video?
-
Hi so I have downloaded an app on accident and it cost $8.00 how do I restore my purchase. I dont want to restore the app back onto my phone but I want to get the money back! Can someone help me with a step by step procedure?
-
Because it appears that is already loaded iPod battery when it is not already
hello friends my question is why my ipod touch it appears that you have already finished loading and itunes does not appear that this loading please help me.
-
Photos are blurry after upgrade to 9.4.2.,
I recently installed the latest iPhoto upgrade and the quality of my photos is considerably worse. They are blurry or fuzzy around the edges - didn't used to be the case. Is there a way I can fix this? Thanks!