Exchange User IP - Get Object Returns Body of E-Mail As HTML
All,
Using Orchestrator to monitor a mailbox and create System Center Service Manager incident from it. I am utilizing the Activity Directory User IP to monitor to the mailbox, pull the subject/body/send from the e-mail, and create an incident. Everything
works as planned. However, the body of the e-mail is being passed to the description of the incident as HTML. It includes all of the HTML tags sent from the e-mail and makes it very difficult to read.
Is it possible to pass the body of the e-mail as RTF rather than HTML? If not, what activities can I utilize in Orchestrator/PowerShell to get this behavior?
Thanks,
Tim
Hi Tim,
I just blogged my solution here http://www.sc-orchestrator.eu/index.php/scoblog/118-e-mail-body-in-plain-text
Regards,
Stefan
www.sc-orchestrator.eu ,
Blog sc-orchestrator.eu
Similar Messages
-
Exporting Exchange User Details (get command)
Hi,
Which 'get' command I can use to export all Exchange AD user details like; Name,DisplayName,OrganizationalUnit,RecipientType,Title,Department,Office,Company,City,Manager
which should be exported to a CSV file (to use it with another HR application)
worth to mention: I need the report in CSV format itself for some reason.
[I have tried
get-mailbox
and
get-mailboxstatistics
but doesn’t give all required fields.
Then I tried
get-user but it gives only one column with some unique ID ]
I have used the following get-user cmnd;
Get-User -resultsize unlimited |FT Name,DisplayName,OrganizationalUnit,RecipientType,WindowsEmailAddress,Title,Department,Office,Company,city
| Export-csv D:\userdetails.csv
Please suggestHi,
Which 'get' command I can use to export all Exchange AD user details like; Name,DisplayName,OrganizationalUnit,RecipientType,Title,Department,Office,Company,City,Manager
which should be exported to a CSV file (to use it with another HR application)
worth to mention: I need the report in CSV format itself for some reason.
[I have tried
get-mailbox
and
get-mailboxstatistics
but doesn’t give all required fields.
Then I tried
get-user but it gives only one column with some unique ID ]
I have used the following get-user cmnd;
Get-User -resultsize unlimited |FT Name,DisplayName,OrganizationalUnit,RecipientType,WindowsEmailAddress,Title,Department,Office,Company,city
| Export-csv D:\userdetails.csv
Please suggest
Don't use FT before Export-CSV. That screws up the output and you probably aren't getting the information. Try Get-User -ResultSize Unlimited | select name, displayname, OrganizationUnit, Re........ | Export-CSV -path <path for csv>.csv -NoType
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread -
How to get payload as body iin the Mail receiver
Hi,
i am using M2M scenario and getting the output data as am email attahment.
But i need that data as the body of the mail in the receiver.
please help me.
Regards,
Sree.Hi Sreenivas,
Use message protocol as XI payload and make sure that you uncheck the "KeepAttachemts" option. Please refer the below links it may help you.
/people/prasad.ulagappan2/blog/2005/06/07/mail-adapter-scenarios-150-sap-exchange-infrastructure
The specified item was not found.
Regards,
Priyanka -
EWS 1.2, Exchange 2010 SP2/SP3 - Appointment message body gets wrecked on update
We're seeing a very irritating issue with EWS and Exchange when updating the message body on an Appointment. To head it off, it does not appear to be the bug detailed here:
http://blogs.msdn.com/b/dhruvkh/archive/2012/05/18/sending-appointments-from-ews-apps-where-did-my-html-go.aspx
It happens on both 2010 SP2 and SP3. We're creating Appointments with some HTML formatting the message body. Nothing fancy, just a few tables and a little bit of inline styling (since a css style header disappears into a black hole when you try to use it
as part of the Appointment message body). We're able to make a nice-looking message body that goes out in the meeting requests. Well, with the exception of downlevel text at the top, but there doesn't seem to be much we can do about that short of a double-tap
save.
The problem comes into play if we need to update the message body on the Appointment. All of this is automated, so the user cannot directly edit it. If we make any changes to the message body, it completely wrecks the HTML. It's still an HTML-formatted message,
but much of the styling is lost and it looks awful. This happens without fail when we alter the message body of an Appointment with any considerable level of HTML formatting. BodyType is HTML, of course. I've done some digging on the best body algorithm and
some of the MAPI properties related to it. Some interesting bits of note:
When the Appointment is first saved, PidTagRtfInSync is true. PidTagNativeBody is 2, which indicates an RTF message. PidTagBody is present. PidTagRtfCompressed is present. However, PidTagBodyHtml is not present. After updating the Appointment with a message
body edit, PidTagBodyHtml is present, but now PidTagRtfInSync is false and PidTagNativeBody is 3.
If PidTagBodyHtml is set directly as an extended property instead of setting the message body via the EWS Appointment object, then the formatting is wrecked right out of the gate. At least it's consistent that way...
Attempting to set PidTagNativeBody manually had no effect.
When viewing the PR_BODY_HTML contents between a good and bad message, the good one will contain the transformed HTML. It doesn't look much like what we had initially handed to it, but gets changed in the conversion process. The bad one is much closer to
what we wrote in actual HTML, but has still had much of the styling removed. It's as if creating the Appointment does the RTF conversion, but any subsequent changes use a completely different code path serverside and there does not appear to be any way around
it short of even more guess and check with EWS and Exchange chewing up HTML. This is complicated by being unable to find any documentation that details how and what gets changed, discarded, etc in the process.
This will always affect requests, but only seems to affect Appointments in the calendar of attendees if the body includes the downlevel text. Appointments without the downlevel text appear to survive updates with their formatting intact. Appointments with
downlevel text get their formatting wrecked with updates.
Has anyone run into this before? It was painful enough when we found that our previously-used email HTML formatter wouldn't work with EWS and everything had to be inlined, but now it seems that there are even more inexplicable problems to get around. Is
there a way to update the message body without this happening?Ugh... hopefully I can ask you gentleman how to solve my issue.
I recently implemented code to allow our users to turn-on HTML-encoding for when our Sync'ing app goes to add/update items for them into Exchange.
If thev'ye turned-on HTML formatting, when I create a CalendarItemType's (in C# based off the EWSProxies.EWS.Itemtype) the Body.Value is being set with a string which contains very minimal HTML tags... just <br>'s instead of "\r\n" and for
URL link values we are embedding into the text, I'm encapsulating those within an <a href>
Example: <a href="http://TheWebSite.com/EventDisplay.aspx?uri=1234">Event Display Link</a>
My problem is... when I retrieve an item from Exchange... there is a huge amount of extra HTML encoding it wraps around everything!
By inspecting in the debugger... I've discerned that :
For Appts... the main bunch of text that I inserted in an item when originally creating it is contained just within the <div> tag.
For Tasks... the main bunch of text that I inserted in an item when originally creating it is contained just within the <body> tag (and on these there is no <div> tag created).
I was able to use the HTML Agility Pack and load this Body.Value string into the enhanced HtmlDocument object. I first attempt to parse first for the <div> nodes contents. If the <div> is not-null that's an Appt. If the <div>
is null, I instead parse out the <body> nodes contents, and those are Tasks.
I noticed for Appts :
For every <br> tag I had in my original text.. it appends two consecutive "\r\n" 's after it! No problem I can just do a Replace("\r\n", "") and zap those. But then the <a href> I have in there... it
encapsulates it with a <font> node where it sets a color for the link and also an underline <u> node. I can handle the <u> nodes easy enough with a Replace("<u>","") and a Replace("</u>", "");
But what about the damn <font> node? It's in the format of <font color=\"blue\"></font> and I'm sure the \"blue"\ part could be different for every user.
I noticed for Tasks :
It prepends a "\r\n" just inside the begininng<body> tag. Each of the original <br> tags gets an "\r\n" appended behind it. and for the TaskType for the <a href> node IT DOES NOT encapsulate it with the <font>
and <u> nodes as it does for the Appt.
How can I stop it from changing the Body content when retrieving it? Will it not change anything if I go the extra mile and make sure to wrap everything with an <html> and <body> node when initially creating the items?
Any and all help on this issue is sorely appreciated.
Thank You,
-G -
Remote Object - not able to get the returned value from java method
Hi ,
I am developing one sample flex aplication that connects to the java code and displays the returned value from the
java method in flex client. Here I am able to invoke the java method but not able to collect the returned value.
lastResult is giving null . I am able to see the sysout messages in server console.
I am using flex 3.2 and blazeds server and java 1.5
Here is the code what I have written.
<?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="#FFFFFF" initialize="initApp()">
<mx:Script><![CDATA[
import mx.controls.Alert;
import mx.binding.utils.ChangeWatcher;
import mx.rpc.events.ResultEvent;
import mx.messaging.*;
import mx.messaging.channels.*
public function initApp():void {
var cs:ChannelSet = new ChannelSet();
var customChannel:Channel = new AMFChannel("my-amf", "http://localhost:8400/blazeds/messagebroker/amf"); cs.addChannel(customChannel);
remoteObj.channelSet = cs;
public function writeToConsole():void { remoteObj.writeToConsole(
"hello from Flash client");
var returnedVal:String = remoteObj.setName().lastResult; Alert.show(returnedVal);
//[Bindable]
// private var returnedVal:String;
]]>
</mx:Script>
<mx:RemoteObject id="remoteObj" destination="sro" />
<mx:Form width="437" height="281">
<mx:FormItem>
</mx:FormItem>
<mx:Button label="Write To Server Console" click="writeToConsole()"/>
</mx:Form>
</mx:WindowedApplication>
Java code
public
public SimpleRemoteObject(){
super(); }
class SimpleRemoteObject {
public void writeToConsole(String msg) { System.out.println("SimpleRemoteObject.write: " + msg); }
public String setName(){ System.
out.println("Name changed in Java");
return "Name changed in Java";
And I have configured destination in remote-config.xml
<destination id="sro">
<properties>
<source>SimpleRemoteObject</source>
<scope>application</scope>
</properties>
</destination>
Please help me .You are not able to get the returned value because if you see the Remote object help you will realise you have to use result="resultfn()" and fault = "faultfn()"
In this you define what you wish to do.
More importantly in the remote object you need to define which method you wish to call using the method class like this
<mx:RemoteObject id="remoteObj" destination="sro" result="r1" fault="f1" >
<Method name="javaMethodName" result="r2" fault="f2"/>
<mx:RemoteObject>
r2 is the function where you get the result back from java and can use it to send the alert. -
Hello,
I'm currently using Java 5.0 (especially for the Generics part) on a new Java/J2EE project, but having a strange issue with code working previously in a Java 1.4 project.
Below is an overriding of the toString() method provided by the Object class which allow me to view nicely in debug (dev. mode) the contents of my Transfer Objects (all the TO's must extend this ATO abstract class).
Previously this code displayed me something like:
[field1 => value1, field2 => value2] ... for a TO (sort of "Javabean") having e.g. two String fields with values initialized to "value1" (resp. "value2").
But unfortunately, this does (or seems) not to work anymore, having such display :
[field1 => null, field2 => null]I tried to debug, and the problem is that the call fieldValue = field.get(this); returns null while it should returns the actual value of the field.
I thing it it strongly related to Generics, but could not at the moment found how/why it does not work.
May someone help...? Thanks.
public abstract class ATO {
// Reflection for field value display
public String toString() {
StringBuffer sb = new StringBuffer("[");
MessageFormat mf = new MessageFormat("{0} => {1}, ");
Field[] fields = this.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Field field = (Field) fields;
String fieldName = field.getName();
Object fieldValue = null;
try {
fieldValue = field.get(this);
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
mf.format(new Object[] { fieldName, fieldValue }, sb, null);
if (sb.length() > 1) {
sb.setLength(sb.length() - 2);
sb.append("]");
return sb.toString();ejp wrote:
Field field = (Field) fields;
This cast is unnecessary.
Effectively, I haven't noticed it yet. Fixed.
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
}Either the field value really is null or you are getting one of these exceptions which you are ignoring. Never write empty catch blocks.That's true, I missed something. Fixed with some code to log the eventual exceptions.
Thanks for you answer. -
Filter Objects returned by Get-ChildItem
Hello there,
I had a look at the properties available for objects returned by Get-ChildItem command using:
PS C:\> Get-ChildItem | Get-Member
This command shows that objects returned by Get-ChildItem command possess properties
'Name, FullName, LastAccessTime etc...'
If I declare a variable to retrieve objects starting with 'Program':
PS C:\> $ChildItems_Program = Get-ChildItem -name 'Program*'
and check what is stored in $ChildItems_Program, it shows me two objects/items as shown below:
PS C:\> $ChildItems_Program
Program Files
Program Files (x86)
However if I try to access properties 'Name, FullName, LastAccessTime' from the first object saved in $ChildItems_Program
PS C:\> $ChildItems_Program[0] | Select -Property Name, FullName, LastAccessTime
Name FullName LastAccessTime
I can't see any results for above command- Shouldn't it return the properties of first object saved in $ChildItems_Program?
Can anyone please guide.
Thank you!
Hi,
Tommy is right, using -Name doesn't actually return the full object. When you use that parameter, you're getting back an array of names only. Here's how you can tell:
PS C:\> $ci_program = Get-ChildItem -Name 'Program*'
PS C:\> $ci_program.GetType()
IsPublic IsSerial Name BaseType
True True Object[] System.Array
PS C:\> $ci_program[0].GetType()
IsPublic IsSerial Name BaseType
True True String System.Object
PS C:\> $ci_program[0] | Get-Member -MemberType Property
TypeName: System.String
Name MemberType Definition
Length Property int Length {get;}
PS C:\> $ci_program
Program Files
Program Files (x86)
Here's what you should see if you get objects back from gci, using -Filter (I use -Path here):
PS C:\> $ci_program_object = Get-ChildItem -Path 'Program*'
PS C:\> $ci_program_object.GetType()
IsPublic IsSerial Name BaseType
True True Object[] System.Array
PS C:\> $ci_program_object[0].GetType()
IsPublic IsSerial Name BaseType
True True DirectoryInfo System.IO.FileSystemInfo
PS C:\> $ci_program_object[0] | Get-Member -MemberType Property
TypeName: System.IO.DirectoryInfo
Name MemberType Definition
Attributes Property System.IO.FileAttributes Attributes {get;set;}
CreationTime Property datetime CreationTime {get;set;}
CreationTimeUtc Property datetime CreationTimeUtc {get;set;}
Exists Property bool Exists {get;}
Extension Property string Extension {get;}
FullName Property string FullName {get;}
LastAccessTime Property datetime LastAccessTime {get;set;}
LastAccessTimeUtc Property datetime LastAccessTimeUtc {get;set;}
LastWriteTime Property datetime LastWriteTime {get;set;}
LastWriteTimeUtc Property datetime LastWriteTimeUtc {get;set;}
Name Property string Name {get;}
Parent Property System.IO.DirectoryInfo Parent {get;}
Root Property System.IO.DirectoryInfo Root {get;}
PS C:\> $ci_program_object
Directory: C:\
Mode LastWriteTime Length Name
d-r-- 1/26/2014 12:40 AM Program Files
d-r-- 3/28/2014 12:07 PM Program Files (x86)
Don't retire TechNet! -
(Don't give up yet - 12,700+ strong and growing) -
Exchange users get mime.822 on all mail from outside.
We have GW 7sp3, system with gwia, dom, and po. I just put in exchange 2003 and am using the gw to exchange sp2 connection. I have only one user who does pop and smtp into exchange. All of his emails incoming from the world get mime.822's on them and looks like attachments in outlook client 2007. Is that mime.822 something that the GW Gwia puts on there.
He does not get them when the mail does not pass through the gwia. Is there any way to get rid of these showing up as attachments?Originally Posted by Brian
We have GW 7sp3, system with gwia, dom, and po. I just put in exchange 2003 and am using the gw to exchange sp2 connection. I have only one user who does pop and smtp into exchange. All of his emails incoming from the world get mime.822's on them and looks like attachments in outlook client 2007. Is that mime.822 something that the GW Gwia puts on there.
He does not get them when the mail does not pass through the gwia. Is there any way to get rid of these showing up as attachments?
It sounds like his mail is tunneled to Exchange via the GroupWise gateway from outside. What we have done to eliminate this annoyance for Exchange users is configure all Internet mail to hit Exchange first. Then if it is destined for GroupWise from the Internet, Exchange forwards it with SMTP to GroupWise GWIA (bypassing the Exchange Gateway).
To do this you need to create the forwarding from Exchange but also you need to remove the SMTP address policy from GroupWise contacts (leaving only the GWISE address in their Recipient policy on Exchange). GroupWise needs to handle all NDRs for both sides as well..
Ryan -
How do I implement an HTTP Get which returns XML into a View Object?
I've got a 3rd party program which accepts an HTTP GET and returns information via XML. I'd like to take that XML and then populate a View Object.
The examples given in the manual are only for JavaScript with an AJAX server that I don't have. Here's an example:
function UpdateNow() {
var req = new Ajax.Request("qbwc://docontrol/
UpdateNow?async=true&AppName=WCWebService3", {method:'get',
onSuccess:processDataOne, onFailure:reportError});
}I've been to literally dozens of sites trying to answer my question, but I'm just not knowledgeable enough to know where to start. Can someone point me in the right direction?
Using JDev 11.1.1.6
Thanks,
WillI guess the basics would be:
Create a Java class that reads from the URL of the service:
http://docs.oracle.com/javase/tutorial/networking/urls/readingURL.html
Then get the XML that you read into the ADF BC VO using the readXML method of the VO.
Example 18 here: https://blogs.oracle.com/smuenchadf/resource/examples#18 -
I ran the following script and got a bunch of computer objects in my csv. How to i Prevent this? I already tried using
Where-Object{$_.type
-eq
"user"} OR
-filter{type
-eq
"user"}
script:
Get-ADUser-Filter*-PropertiessamAccountName,accountExpires,Created,LastLogonTimeStamp,Department,physicalDeliveryOfficeName,employeeID,AccountExpirationDate,Manager|
Where-Object
{$_.accountexpirationdate
-lt$timex}
|
select
Name,samAccountName,@{Name="Timestamp";
Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}},@{n='Date
Created';e={$_.created}},Department,@{n='Location';e={$_.physicalDeliveryOfficeName}},employeeID,AccountExpirationDate,@{Label='Manager
sAMAccountName';Expression={(Get-ADUser$_.Manager).sAMAccountName}},@{Label='Manager
Name';Expression={(Get-ADUser$_.Manager).name}}
|
export-csv
-path$mypath-notypeinformationSomeone told me the Computer accounts are generic accounts...makes any sense?
No.
EDIT: What's the output of this command for one of these computer accounts:
Get-ADUser ThatComputerAccount | Select *
Don't retire TechNet! -
(Don't give up yet - 13,225+ strong and growing) -
User defined function and returning resultset
Hi all,
Following query, if I comment the statement in where clause which refers to a returning value of a function in the subquery, it takes 1 sec to finish. when uncomment it however, can't finish in 30 mins. Please help me on finding out the problem.
I'm also wondering how to get a returning cursor in this case(to bypass above trouble)..
Many thanks
-s
--pseudocode for how can I get a cursor in an anonymous block for host app
begin
-- get the resultset1 in someway
select t1.showit,...
from t1..;
-- based on resultset1
open myrefcursor for
select * from resultset1 -- what is the resultset1?
where resultset1.showit=1;
end;
--end pseudocode for getting a cursor
-- hanging(takes too long) query (simplified)
select t1.*,t2.account,t2.showit
from (select t3.account,myfunc(t3.account) showit
from tbl2 t3) t2,
tbl1 t1
where t1.account=t2.account
and ...
/* "hang" this query by uncomment this */
-- and t2.showit=1;
-- functions
function myfunc(p_acc varchar2)
return number is
v_tmpdate date;
v_invdate date;
v_tmpcount number(8);
v_accid number(8);
v_curodisp number(14,4);
v_curdisp number(14,4);
v_curdisprev number(14,4);
v_rowcount number(8);
v_tmpshow number(8);
p_vkey number(8);
p_inv varchar(50);
cursor cur(cv_vkey number, cv_accid number, cv_lastdate date) is
select a.vkey vkey,a.invdate invdate, b.odisp odisp
from inv a, recon b
where a.vkey=cv_vkey
and a.akey = cv_accid
and a.invdate between to_date('01/01/2000','DD/MM/YYYY')
and cv_lastdate
and b.vkey = a.vkey
and b.inv# = a.inv#
order by invdate DESC;
begin
select vkey,inv#,akey, invdate into p_vkey,p_inv,v_accid, v_invdate
from inv
where akey = p_acc;
v_tmpdate := add_months(v_invdate, 1);
select count(*) into v_tmpcount
from recon a, inv b
where b.vkey = p_vkey
and b.akey = v_accid
and b.invdate between to_date('01/01/2000','DD/MM/YYYY')
and v_tmpdate
and a.inv# = b.inv#
and a.vkey = b.vkey;
if v_tmpcount = 0 then
return 0;
end if;
v_rowcount := 0;
for c1 in cur(p_vkey,v_accid,v_tmpdate) loop
v_rowcount := v_rowcount + 1;
v_curdisp := getcurdisp(c1.vkey,c1.inv#);
v_curdisprev := getcurdisprev(c1.vkey,c1.inv#);
v_curodisp := nvl(c1.odisp, 0) - v_curdisp - v_curdisprev;
if v_curodisp >= 1000 then
return 1;
elsif v_curodisp = 0 then
return 0;
end If;
end if;
if extract(month from c1.invdate) in ('1','01')
and extract(year from c1.invdate) = '2000' then
select a.showodisp into v_tmpshow
from acc a, inv b
where b.vkey = c1.vkey
and b.inv# = c1.inv#
and a.akey = b.akey;
return v_tmpshow;
end If;
end loop;
return 0;
end myfunc;
function getcurdisp(p_vkey,p_inv)
return number is
v_tmp number(15,4);
begin
select sum(amount) into v_tmp
from cost
where vkey=p_vkey
and inv#=p_inv
and desc like '%disp';
return v_tmp;
end;
function getcurdisprev(p_vkey,p_inv)
return number is
v_tmp number(15,4);
begin
select sum(amount) into v_tmp
from cost
where vkey=p_vkey
and inv#=p_inv
and desc like '%disprev';
return v_tmp;
end;Autotrace only showed the index usage on the main query, but nothing on the queries within the functions, so here is the tkprof that shows index usage on the queries within the functions.
TKPROF: Release 9.2.0.1.0 - Production on Mon Jan 17 00:31:39 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Trace file: ora92_ora_4092.trc
Sort options: default
count = number of times OCI procedure was executed
cpu = cpu time in seconds executing
elapsed = elapsed time in seconds executing
disk = number of physical reads of buffers from disk
query = number of buffers gotten for consistent read
current = number of buffers gotten in current mode (usually for update)
rows = number of rows processed by the fetch or execute call
alter session set sql_trace=true
call count cpu elapsed disk query current rows
Parse 0 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 0 0.00 0.00 0 0 0 0
total 1 0.00 0.00 0 0 0 0
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 59
select t1.*, t2.account, t2.showit
from tbl1 t1,
(select account, myfunc(account) showit
from tbl2) t2
where t1.account = t2.account
and t2.showit = 1
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.11 1.81 0 1 0 0
total 3 0.11 1.81 0 1 0 0
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 59
Rows Row Source Operation
0 NESTED LOOPS
0 INDEX FULL SCAN OBJ#(69662) (object id 69662)
0 INDEX RANGE SCAN OBJ#(69661) (object id 69661)
select user#
from
sys.user$ where name = 'OUTLN'
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.00 0.00 0 2 0 1
total 3 0.00 0.00 0 2 0 1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: SYS (recursive depth: 2)
Rows Row Source Operation
1 TABLE ACCESS BY INDEX ROWID USER$
1 INDEX UNIQUE SCAN I_USER1 (object id 44)
select a.vkey, a.invdate, b.odisp, a.inv#
from inv a, recon b
where a.akey = :b1
and a.invdate between to_date ('01/01/2000', 'DD/MM/YYYY')
and add_months (a.invdate, 1)
and b.vkey = a.vkey
and b.inv# = a.inv#
order by a.invdate DESC
call count cpu elapsed disk query current rows
Parse 1 0.00 0.10 0 0 0 0
Execute 105 0.00 0.01 0 0 0 0
Fetch 105 0.01 0.01 0 309 0 100
total 211 0.01 0.13 0 309 0 100
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 59 (recursive depth: 1)
Rows Row Source Operation
100 SORT ORDER BY
104 TABLE ACCESS BY INDEX ROWID RECON
313 NESTED LOOPS
104 INDEX FULL SCAN INV_IDX (object id 69658)
104 INDEX RANGE SCAN RECON_IDX (object id 69659)
SELECT sum (amount)
from cost
where vkey = :b2
and inv# = :b1
and descr like '%disp'
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 100 0.00 0.00 0 0 0 0
Fetch 100 0.01 0.00 0 100 0 100
total 201 0.01 0.01 0 100 0 100
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 59 (recursive depth: 1)
Rows Row Source Operation
100 SORT AGGREGATE
0 TABLE ACCESS BY INDEX ROWID COST
0 INDEX RANGE SCAN COST_IDX (object id 69657)
SELECT sum (amount)
from cost
where vkey = :b2
and inv# = :b1
and descr like '%disprev'
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 100 0.00 0.00 0 0 0 0
Fetch 100 0.01 0.00 0 100 0 100
total 201 0.01 0.01 0 100 0 100
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 59 (recursive depth: 1)
Rows Row Source Operation
100 SORT AGGREGATE
0 TABLE ACCESS BY INDEX ROWID COST
0 INDEX RANGE SCAN COST_IDX (object id 69657)
SELECT a.showodisp
from acc a, inv b
where b.vkey = :b2
and b.inv# = :b1
and a.akey = b.akey
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 100 0.01 0.00 0 0 0 0
Fetch 100 0.03 0.00 0 299 0 99
total 201 0.04 0.01 0 299 0 99
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 59 (recursive depth: 1)
Rows Row Source Operation
99 TABLE ACCESS BY INDEX ROWID ACC
299 NESTED LOOPS
100 INDEX RANGE SCAN INV_IDX (object id 69658)
99 INDEX RANGE SCAN ACC_IDX (object id 69660)
begin
for x in ( select * from session_trace_file_name )
loop
if ( dbms_lob.fileexists( bfilename('UDUMP_DIR', x.filename ) ) = 1 )
then
insert into avail_trace_files (filename) values (x.filename);
end if;
end loop;
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.01 0.00 0 0 0 1
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.01 0.00 0 0 0 1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 736 (recursive depth: 1)
select *
from
session_trace_file_name
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 2 0.00 0.00 0 0 0 1
total 4 0.00 0.00 0 0 0 1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 736 (recursive depth: 2)
INSERT into avail_trace_files (filename)
values
(:b1)
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 3 1
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.00 0.00 0 0 3 1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 736 (recursive depth: 2)
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 2 0.00 0.00 0 0 0 0
Fetch 1 0.11 1.81 0 1 0 0
total 4 0.11 1.81 0 1 0 0
Misses in library cache during parse: 0
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 8 0.00 0.11 0 0 0 0
Execute 409 0.02 0.04 0 0 3 2
Fetch 408 0.06 0.03 0 810 0 401
total 825 0.08 0.19 0 810 3 403
Misses in library cache during parse: 4
9 user SQL statements in session.
1 internal SQL statements in session.
10 SQL statements in session.
Trace file: ora92_ora_4092.trc
Trace file compatibility: 9.00.01
Sort options: default
1 session in tracefile.
9 user SQL statements in trace file.
1 internal SQL statements in trace file.
10 SQL statements in trace file.
10 unique SQL statements in trace file.
945 lines in trace file. -
Nulls from HashMap.get(Object)
I understand that I get the nulls because the Object is not in the map. But is there some elegant way to have it default to the empty String?
Right now, after I grab all my data into variable with HashMap.get(Object), I go and check each once for null, and assign it the empty String instead. This is a lot of lines of code for something that is so basic.
I know i could initialize them all to the empty string, and then for each variable, check the HashMap with containsKey(Object) before assigning with HashMap.get(Object). Now, would I be correct in assuming the compiler would optimize this for me and not actually check the HashMap twice for the same Object? And... even if that is the case, its still just as many lines of code.
Is there perhaps some more elegant way?
String exchange = parameterMap.get("exchange");
String messageType = parameterMap.get("messagetype");
String traderTimeStamp = parameterMap.get("traderTimeStamp");
String exchangeTimeStamp = parameterMap.get("exchangeTimeStamp");
String sequence = parameterMap.get("sequence");
String product = parameterMap.get("product");
String quantity = parameterMap.get("quantity");
String price = parameterMap.get("price");
if (exchange == null)
exchange = "";
if (messageType == null)
messageType = "";
if (traderTimeStamp == null)
traderTimeStamp = "";
if (exchangeTimeStamp == null)
exchangeTimeStamp = "";
if (sequence == null)
sequence = "";
if (product == null)
product = "";
if (quantity == null)
quantity = "";
if (price == null)
price = "";You could first put "" for all potential keys.
Or you could create a helper method
public String nonNull(String s) {
return (s != null) ? s : "";
String exchange = nonNull(parameterMap.get("exchange")); -
How to get object key before load data into form?
I need to get object key (e.g. ItemCode in Item Master Data From ,docEntry in A/R Invoice From) to calculate and do something before data is loaded into this form .
I try to use SAPbouiCOM.BusinessObjectInfo.objectKey as in this code.
Private Sub oApp_FormDataEvent(ByRef pVal As SAPbouiCOM.BusinessObjectInfo, ByRef BubbleEvent As Boolean) Handles oApp.FormDataEvent
If pVal.FormTypeEx = "672" And pVal.BeforeAction = True And pVal.EventType = SAPbouiCOM.BoEventTypes.et_FORM_DATA_LOAD Then
oApp.MessageBox(pVal.ObjectKey)
End If
End Sub
But this fields doesn't valid under this condition (form DI help file).
- The property returns an empty value in the before notification of the Load action (et_FORM_DATA_LOAD) triggered by a Find operation.
How can I get this value(key)?Janos
I can't do a calculation after data is loaded because what I'm going to do is that if the opening entry match my condition , the system will not let that user see that entry (bubbleEvent = False).
I think when formDataEvent is triggered B1 know which entry are going to load because before this event is triggered we did one of following ways
1. choose from "choose from list windows"
2. enter docEntry or itemCode or cardCode and then press Find Button
3. press "next/previous record button"
4. press linked button (orange arrow)
Choice 3 and 4 can be done by retrieve data from BusinessObjectInfo.objectKey (I've tested and it return entry key that is going to open correctly).
but 1 and 2 can't (it return empty as I mention before).
thanks
Edited by: daron tancharoen on Aug 5, 2008 2:34 PM -
XMLType in a an object returned by a stored procedure
Hi,
In my project, i'm using stored procedures defined by the schema's owner. Some of these procedures/functions return complex data (defined as objects in the database). This objects contains XMLTYPE data.
When i call one of these stored procedures through JDBC, i've got an error ORA-01427. I watched when this exception is thrown and i found that appens when i do something like this :
OPAQUE op = (OPAQUE)arr[1]; //the XMLTYPE in the STRUCT object returned by JDBC
XMLType xt = oracle.xdb.XMLType.createXML ( op );
I wanted to know what was the type of the object behind i get something like "class [B2".
Anyone encoutered this problem?I forgot some precisions. This appens when i use a user who is not the owner of the schema. When i use the owner, everything is fine.
-
Message object returns SharedByteArrayInputStream instead of Multipart.
Dear friends,
I am using java Mail API v 1.3.1 to access POP3 server.
I am getting problem while I try to read an RTF message from POP3 server.
When I try to access the data through getContent() method on javax.mail.Message Object, it sometimes gives me correct result as a Multipart data, while sometimes, it returns an object of type com.sun.mail.util.SharedByteArrayInputStream.
Although it returns SharedByteArrayInputStream object, when I invoke getContentType() on Message Object, it returns Multipart as correct.
I think this is some problem with the JavaMail API.
Going specifically, I use the POP server : ksc.th.com
Waiting for reply,
-> Maulik Soni.hi,
I have the same Problem,too. But now, i have found the reason.
the javamail jar delivers a file named 'mailcap' in the META-INF dir of the library jar with
the following content:
text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain
text/html;; x-java-content-handler=com.sun.mail.handlers.text_html
text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml
multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed
message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822
now while creating the default instance of MailcapCommandMap (activation framework),
this class is searching the 'mailcap' file in the META-INF dir. if 'mailcap' is not found, the
activation framework don't map these mimetyps.
workaround:
make sure, that the MailcapCommandMap can find the mailcap file in META-INF or in user.home dir
or
map manually (javax.activation.MailcapCommandMap):
MailcapCommandMap map = (MailcapCommandMap)MailcapCommandMap.getDefaultCommandMap();
map.addMailcap("text/plain;;x-java-content-handler=com.sun.mail.handlers.text_plain");
map.addMailcap("text/html;;x-java-content-handler=com.sun.mail.handlers.text_html");
map.addMailcap("text/xml;;x-java-content-handler=com.sun.mail.handlers.text_xml");
map.addMailcap("multipart/*;;x-java-content-handler=com.sun.mail.handlers.multipart_mixed");
map.addMailcap("message/rfc822;;x-java-content-handler=com.sun.mail.handlers.message_rfc822");
simple,
if you known it.
thx, bye.
franz bartlechner
Maybe you are looking for
-
G/L account for particualr invoice
Hi Experts, I have the requirement to create report showing customer/vendor and corresponding G/L accounts with invoice amount. I have chosen tables vbrk,vbrp,kna1,bseg(as BSEG is cluster table I am getting errors). VBRK-invoice number,invoice amou
-
EH&S - Label - define multiple language variantions - one template
Dear all, We would like to generate an Product Safety Label from the system (by using a WWI template). The difficulty is that these lables should contain as much as possible languages and they deviate from time to time, as of shipping to other countr
-
Which iPod works??
Which model iPod should I buy? My 3-day old classic 80G is going back to the store today. It crashes, needs to be rebooted every time I turn it on - it is absolutely useless. And this is without any music on it. Totally empty box device. Which model
-
Stickiness based on cookie name
on ace how do i configure cookie if i want it based on cookie name or set-cookie value. The server is generating cookie and I want to stick the server based on cookie value generated by server not ace can someone give me an example?
-
Error in configuration sql server replication
I am configuring replication for a sql server 2005 on win server 2003. I get this error: TITLE: New Publication Wizard SQL Server could not configure 'aaa' as a Distributor. ADDITIONAL INFORMATION: An exception occurred while executing a Transact-SQL