Plz help me to understand sql trace
Hi,
i need your help to understand the sql trace and where exactly i should concentrate,
i am also going through docs,
your help is appreciated,
select count(rep)
from
(select /*+ leading(v1 v2) use_nl_with_index(v2) */ count(v1.val) rep from
(select rn, val from (select rownum rn, val from (select /*+ no_merge
no_parallel(t) no_parallel_index(t) dbms_stats cursor_sharing_exact
use_weak_name_resl dynamic_sampling(0) no_monitoring */"FFPR_FFAMS_ID" val
from sys.ora_temp_1_ds_108308 t where "FFPR_FFAMS_ID" is not null group by
"FFPR_FFAMS_ID" having count("FFPR_FFAMS_ID") = 1)) where ora_hash(rn) <=
273538662) v1, (select /*+ index(t2) */ "FFPR_FFAMS_ID" val from
"DM_FM_REPORTING_OWNER"."FM_FP_PLAN_RESULTS" t2) v2 where v2.val = v1.val
group by v1.val having count(v1.val) <= 2)
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.29 0 8131 0 1
total 3 0.00 0.30 0 8131 0 1
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 213 (recursive depth: 1)
select /*+ no_parallel_index(t,"FFPR_FFAMS_FK_I") dbms_stats
cursor_sharing_exact use_weak_name_resl dynamic_sampling(0) no_monitoring
no_expand index(t,"FFPR_FFAMS_FK_I") */ count(*) as nrw,count(distinct
sys_op_lbid(692895,'L',t.rowid)) as nlb,count(distinct "FFPR_FFAMS_ID") as
ndk,sys_op_countchg(substrb(t.rowid,1,15),1) as clf
from
"DM_FM_REPORTING_OWNER"."FM_FP_PLAN_RESULTS" t where ("FFPR_FFAMS_ID" is not
null) and (TBL$OR$IDX$PART$NUM("DM_FM_REPORTING_OWNER"."FM_FP_PLAN_RESULTS",
0,4,0,"ROWID") = :objn)
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 2.56 0 425 0 1
total 3 0.00 2.56 0 425 0 1
Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 213 (recursive depth: 1)
select /*+ no_parallel_index(t,"FFPR_FFAMS_FK_I") dbms_stats
cursor_sharing_exact use_weak_name_resl dynamic_sampling(0) no_monitoring
no_expand index(t,"FFPR_FFAMS_FK_I") */ count(*) as nrw,count(distinct
sys_op_lbid(692895,'L',t.rowid)) as nlb,count(distinct "FFPR_FFAMS_ID") as
ndk,sys_op_countchg(substrb(t.rowid,1,15),1) as clf
from
"DM_FM_REPORTING_OWNER"."FM_FP_PLAN_RESULTS" t where "FFPR_FFAMS_ID" is not
null
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 2.56 0 427 0 1
total 3 0.00 2.56 0 427 0 1
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 213 (recursive depth: 1)
select /*+ no_parallel_index(t,"FFPR_PK_I") dbms_stats cursor_sharing_exact
use_weak_name_resl dynamic_sampling(0) no_monitoring no_expand index(t,
"FFPR_PK_I") */ count(*) as nrw,count(distinct sys_op_lbid(692907,'L',
t.rowid)) as nlb,null as ndk,sys_op_countchg(substrb(t.rowid,1,15),1) as
clf
from
"DM_FM_REPORTING_OWNER"."FM_FP_PLAN_RESULTS" t where ("FFPR_ID" is not null
or "FFPR_PLAN_NAME" is not null) and
(TBL$OR$IDX$PART$NUM("DM_FM_REPORTING_OWNER"."FM_FP_PLAN_RESULTS",0,4,0,
"ROWID") = :objn)
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 1.51 847 857 0 1
total 3 0.00 1.52 847 857 0 1
Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 213 (recursive depth: 1)
select /*+ no_parallel_index(t,"FFPR_PK_I") dbms_stats cursor_sharing_exact
use_weak_name_resl dynamic_sampling(0) no_monitoring no_expand index(t,
"FFPR_PK_I") */ count(*) as nrw,count(distinct sys_op_lbid(692907,'L',
t.rowid)) as nlb,null as ndk,sys_op_countchg(substrb(t.rowid,1,15),1) as
clf
from
"DM_FM_REPORTING_OWNER"."FM_FP_PLAN_RESULTS" t where "FFPR_ID" is not null
or "FFPR_PLAN_NAME" is not null
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 1.26 0 850 0 1
total 3 0.00 1.27 0 850 0 1
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 213 (recursive depth: 1)
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 13 0.00 0.03 0 0 0 0
Execute 13 0.00 1.32 43 242 29 9
Fetch 4 0.00 0.00 0 0 0 4
total 30 0.00 1.36 43 242 29 13
Misses in library cache during parse: 4
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 2945 0.00 1.04 0 0 0 0
Execute 3741 0.00 5.49 3137 12995 7050 203362
Fetch 3088 0.00 38.42 3344 39486 27 9811
total 9774 0.00 44.96 6481 52481 7077 213173
Misses in library cache during parse: 284
Misses in library cache during execute: 160
144 user SQL statements in session.
2814 internal SQL statements in session.
2958 SQL statements in session.Regards
nic
Hi,
i did the homework, but some how i dont seem to understand what oracle is doing behind
esp with hints like
select /*+ leading(v1 v2) use_nl_with_index(v2) */ count(v1.val)
/*+ no_parallel(t) no_parallel_index(t) dbms_stats
cursor_sharing_exact use_weak_name_resl dynamic_sampling(0) no_monitoring
substrb(dump(min("XXX"),16,0,32),1,120),
substrb(dump(max("XXX"),16,0,32),1,120),i havent used this things any where in my program, but still they are used,
so i got confused, can you throw some light on this issue,
regards
nic
Similar Messages
-
I was recently assigned a task to maintain an old system,which is related to telecom domain. In the process i need to optimize a SELECT sql which is as this:
SELECT *
FROM (SELECT T1.ID AS ID,
T3.FULL_NAME AS PORT_FULL_NAME,
T1.CODE AS CODE,
T4.FULL_NAME AS FULL_NAME,
T2.LCODE AS LCODE,
T1.RATE AS RATE,
T1.DEVICE_ID AS DEVICE_ID
FROM TN_MULT_UNIT T1,
TD_DEVICE T2,
TD_PORT T3,
TG_RES_NAMING T4,
TN_MULT_UNIT T5
WHERE T1.DEVICE_ID = T2.ID(+)
AND T2.ID = T4.RES_ID
AND T1.STATUS = 'Free'
AND T1.Parent_Id = T5.id
AND T1.UNIT_TYPE = 'ExTime'
AND T1.RATE = '2M'
AND T1.SUBPART_ID = T3.ID
AND T3.SPECIAL = 'Exchange'
AND T3.PORT_TYPE = 'SwitchRelay'
UNION
SELECT T1.ID AS ID,
T3.FULL_NAME AS PORT_FULL_NAME,
T1.CODE AS CODE,
T4.FULL_NAME AS FULL_NAME,
T2.LCODE AS LCODE,
T1.RATE AS RATE,
T1.DEVICE_ID AS DEVICE_ID
FROM TN_MULT_UNIT T1, TD_DEVICE T2, TD_PORT T3, TG_RES_NAMING T4
WHERE T1.DEVICE_ID = T2.ID(+)
AND T2.ID = T4.RES_ID
AND T1.STATUS = 'Free'
AND T1.UNIT_TYPE = 'LogicPort'
AND T1.RATE IN ('2M', '155M', '34M')
AND T1.SUBPART_ID = T3.ID
AND T3.SPECIAL = 'Exchange'
AND T3.PORT_TYPE = 'SwitchRelay') T
the sql statement above is to retrieve all Ports where its UNIT_TYPE is 'LogicPort' or 'ExTime'(exchange timeslot), with these two kind of port i need use additional different conditions respectively.so i choose to use UNION statement. but this sql is seem to be too slow to run.plz help me to find a more efficient way.
Thanks in advance!Tuning is a really big question. There is a reason why the documentation devotes an entire volume to the topic. Not to mention all the people that make a fine living by consulting and writing books.
The point is, it is really hard for us to solve your problem without knowing a whole lot of information about your situation. We can't just look at your query and say "aha!". Ideally you should read the Tuning Guide from start to finish, but you aren't going to do that. What you must do is read Rob Van Wijk's excellent primer When your query takes too long ....
Feel free to come back with any specific questions. Remember to give us all the information we need.
Cheers, APC
blog: http://radiofreetooting.blogspot.com -
SQL*PLUS using START command - please help me to understand
Hello dear friends,
I met one issue that i can't understand. Could you please explain me what is wrong in my logic.
I have created sql file called DUMMY.sql
the file context is:
SELECT dummy
FROM dummy_tbl
WHERE dummy_col=&dummy_var;
I go to SQL*Plus DB version (10.2.0.4.0).
I promt command: START DUMMY 1
and expecting *&dummy_var* to be replaced with *1* and query be executed as it is described in Oracle SQL*PLUS reference ([http://download-west.oracle.com/docs/cd/B12037_01/server.101/b12170/ch6.htm#sthref1058|http://download-west.oracle.com/docs/cd/B12037_01/server.101/b12170/ch6.htm#sthref1058] ).
But instead i'm getting Enter value for dummy_var:
please help me to understand
thanks in advance.You need to use &1 instead of &dummy_var.
The number references the position of the parameter to use;&1 is the first parameter, &2 would be a second parameter and so on.
SELECT dummy
FROM dummy_tbl
WHERE dummy_col=&1; -
hey all..i hv problm .. i cant connect wifi properly ..its disconnect itself after evry 5 mints and reconnect after evry 5 mints.. signal showing but there is no avail internet ..plz helpe...sorry for bad english but hope u will understand..
If your connection won't 'stick', check for interference in that area from other devices on competing channels, etc.
Configure your choice of band/channel with interference robustness, but mainly reduce the sources to be sure it's not just a too noisy environement.
Still no joy, be sure your software is up to date and then walk it into the nearest Apple store for a professional opinion
Good luck in any case. -
I dont know how to insert file field into insert record in DW. i also want to know, insert dynamic table with image field. Plz help me anyone. Ty..
ohh kk thank you bro. But How to store photos to server file. I wanna upload and display the photos in webpage. Can you send me the php code for this?
-
In SQL Trace how to see which statement getting more time .
Hi Expart,
In SQL Trace (T-code ST05) . I am running the standard transaction . how to see which statement
running more time and less time . suppose one statement running more time so how resolve the
performance .
Plz. reply me
Regards
Razz> The ones in 'RED' color are the statement which are taking a lot of time and you need to
> optimise the same.
No, that is incorrect, the red ones show only the ones which need several hundret milliseconds in one execution. This can even be correct for hard tasks. And there are lots of problem, which you will not see
I have said everything here:
SQL trace:
/people/siegfried.boes/blog/2007/09/05/the-sql-trace-st05-150-quick-and-easy
Go to 'Tracelist' -> Summarize by SQL statements', this is the view which you want to see!
I summarizes all executions of the same statement.
There are even the checks explained, the slow ones are the one which need a lot of time per record!
See MinTime/Rec > 10.000 microseconds.
Check all number of records, executions, buffer, identicals.
The SE30 Tipps and Tricks will not help much.
Siegfried -
Analysing details of SQL trace and runtime analysis for a report.
Hi,
I am trying to tune the performance of a Z ABAP report for target group export. A brief overview of what is done in the report is the retrieval of BP details present in the Target group including BP general, address, marketing attributes, person responsible and contact person details. As the target groups can be quite huge (around 6000 BPs), the report gives performance issues. I want to understand on how to analyse the details which I obtained from the run time analysis and SQL trace and on how to take it forward.
Any inputs in this regard would be helpful.
Thanks in advance,
AnushreeIn Runtime analysis Look for
ABAP - In your ABAP code
DATABASE - It shows the performance of your SELECT statements in your program.
Just check how much % it is showing for both.
Check for following in your code.
1) Avoid SELECT *
2) Clear internal tables values which are not required at the ending of program, as it saves memory
etc. -
Plz help in jdbc in db2.
hi friends i am new in eclipse and DB2-9
i write this code
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class T4DB2Connect
public static void main(String args [])
try
Class.forName("com.ibm.db2.jcc.DB2Driver");
Connection con =DriverManager.getConnection("jdbc:db2//localhost:50000/test","username","password");
Statement st=con.createStatement();
String query="select * from test ";
ResultSet rs=st.executeQuery(query);
while(rs.next())
System.out.println("username is "+rs.getString(1));
System.out.println("and student number is "+rs.getString(2));
//System.out.println("row inserted");
con.close();
catch(Exception e)
System.out.println("error is "+e.getMessage());
now when i run this code i found the following error
error is No suitable driver
although database is working properly. plz help me .
thankshi Balcus C thanks for the information now i ma pasting code as u said . but still there is a problem
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class T4DB2Connect
public static void main(String args [])
try
Class.forName("com.ibm.db2.jcc.DB2Driver");
Connection con =DriverManager.getConnection("jdbc:db2://localhost:50000/test","anshuldb2","tgmc2008");
Statement st=con.createStatement();
String query="select * from anshuldb2.test ";
ResultSet rs=st.executeQuery(query);
while(rs.next())
System.out.println("username is "+rs.getString(1));
System.out.println("and student number is "+rs.getString(2));
//System.out.println("row inserted");
con.close();
catch(Exception e)
e.printStackTrace();
}now i am using the same code with print stack trace and in jdbc url jdbc:db2://localhost:50000/test","anshuldb2","tgmc2008
where anshuldb2 is the username and tgmc2008 is the password now i get the error
com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: ANSHULDB2.TEST
at com.ibm.db2.jcc.c.fg.e(fg.java:1596)
at com.ibm.db2.jcc.c.fg.a(fg.java:1206)
at com.ibm.db2.jcc.b.gb.g(gb.java:140)
at com.ibm.db2.jcc.b.gb.a(gb.java:39)
at com.ibm.db2.jcc.b.w.a(w.java:34)
at com.ibm.db2.jcc.b.vb.g(vb.java:139)
at com.ibm.db2.jcc.c.fg.n(fg.java:1177)
at com.ibm.db2.jcc.c.fg.a(fg.java:1832)
at com.ibm.db2.jcc.c.fg.a(fg.java:473)
at com.ibm.db2.jcc.c.fg.executeQuery(fg.java:457)
at T4DB2Connect.main(T4DB2Connect.java:17)
i am unable to solve this problem here i use the query "Select * from anshuldb2.test" thsi is told to me by my project mentor. plz help me. -
Explain plan not displayed in sql trace file
Hello,
I don't understand why in sql trace file, after tkprof transformation, for several queries the explain plan is displayed and for several queries, no explain plan is displayed.
How can I have the explain plan for all queries?
Thanks for your help.Was this a trace started on an already running task? Was the trace stopped before the task completed? Did the trace file reach its set size limit before the task compled?
In all three cases above you would have cursors that were not closed and stats information not written to the trace file resulting in incomplete data for some SQL.
HTH -- Mark D Powell -- -
Reg : SQL Trace and ECAT
Hi Floks ,
Any body knowing The SQL trace analysis and Ecat tool .send me how to work on this issues .Please send me with snap shot it's will help to who don't know how to utilize this tools.
thanks,
sureshHi suresh,
Check these links.
SQL trace
http://www.sapdevelopment.co.uk/perform/perform_sqltrace.htm
Go to st05 and activate trace, go back and run your transaction or report again go to st05 deactivate trace and click display trace here you can find information with this you can performence analysis, database tables, fields etc.
ECAT
eCATT stands for extended Computer Aided Test Tool (eCATT) which is built is testing tool to test SAP system. By using testing tool we can test the entire business process, and we can also use this tool with a third party testing tool (I am not covering this topic). Execution of every test script ends with a log, which explains the results of the test script.
By using eCATT we can do following operations,
· Test transactions, reports, and scenarios
· Call BAPIs and function modules
· Test remote systems
· Check authorizations (user profiles)
· Test updates (database, applications, GUI)
· Test the effect of changes to customizing settings
· Check system messages
For more information go to
http://help.sap.com/saphelp_erp2004/helpdata/en/2a/121e3bd711bb04e10000000a114084/frameset.htm
To develop a test script in eCATT we need to follow the following steps,
1. Creating Test Scripts.
2. Creating Test Data Containers[16] .
3. Understanding System Data Containers[17] .
4. Executing Test Configurations.
There is a very good web blog on eCATT in sdn.com which explains eCATT with necessary screen shots.
To read document click here Blog on eCATT
http://www.sapdevelopment.co.uk/testing/ecatt.htm -
Hi,
I tried to run one simple RMI application..
I got the RMI Server running...
But While running the client I got the following Exception...
java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.net.SocketException: Broken pipe
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at engine.ServerMain_Stub.addTask(Unknown Source)
at client.ClientMain.initCompute(ClientMain.java:38)
at client.ClientMain.main(ClientMain.java:17)
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1639)
at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1146)
at java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1100)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1241)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052) at java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1355)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:281)
at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:265)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:124)
... 3 more
I am not able to understand the problem...
Plz help..
Regerds
Jijo VincentHi, I got same stack trace within RMIConnector.
MBean Server (= RIM Server) has bean alive, but a MBean client may get following Exception.
I'm guessing that a port on server side was closed, cause rmi object on server side was unbinded from the rmi registory by some trigger.
But I don't know what was the trigger for this...
Caused by: java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.net.SocketException: Broken pipe
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:138)
at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown Source)
at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:993)
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
... 7 more
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1847)
at java.io.ObjectOutputStream$BlockDataOutputStream.writeByte(ObjectOutputStream.java:1885)
at java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1546)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:333)
at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:274)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
... 11 more
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 1.6.0_24-b07
java.specification.name = Java Platform API Specification
java.specification.vendor = Sun Microsystems Inc.
java.specification.version = 1.6
os.arch = amd64
os.name = Linux
os.version = 2.6.18-194.el5 -
Plz help me ALE/IDOC Scinario documentation
hi and all,
plz help me ale/idoc scinarios documentation plz send to me.
thanking u one and all.Hi
ALE:
check url
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/ale/configuration.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapdevelopment.co.uk/training
And also u can get lots of inof from the below link.
http://www.sapgenie.com/ale/why_ale.htm
Outbound:
Step 1. Application document is created when transaction is saved.
2. Message control is invoked.
3. Messages are processed by system.
4. Messages are Edited (if desired).
5. Output (ALE / EDI) is checked
6. Validate against Message control record from Partner Profile
7. Application Document is saved.
8. Entry NAST table is created for every selected output program
along with Medium & Timing.
9. Check for Process Immediately .
If (yes)
Determine Processing Program from TNAPR Table.
ELSE
Execute RSNASTED Program.
10. Read Partner Profile to determine Process Code.
11. Process Code points to the Function Module & Invoked.
12. IDoc is generated.
13. Check for ALE Request.
if (Yes)
Perform Filters, Conversions, Version Changes etc.
Else.
IDoc is stored in DATABASE.
INBOUND:
Step 1. EDI Subsystem creates an IDoc file from EDI Messages
2. Subsystem calls Functional Module EDI_DATA_INCOMING from
startRFC program.
3. Data in Control Record is validate against the Partner Profile.
4. IDoc is generated in Database and syntax check is carried out.
5. IDoc file is deleted once file read.
6. Event PROCESSSTATE REACHED is triggered in Idoc Object Workflow.
7. Check for Process Immediately.
If NO
Execute RBDAPP01 Program
Else
Read Process Code from Partner Profile
Process Code Points to Function Module
Application Document Posted.
IDOC
Data Creation in Idoc
IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
IDoc is a intermediate document to exchange data between two SAP Systems.
*IDocs are structured ASCII files (or a virtual equivalent).
*Electronic Interchange Document
*They are the file format used by SAP R/3 to exchange data with foreign systems.
*Data Is transmitted in ASCII format, i.e. human readable form
*IDocs exchange messages
*IDocs are used like classical interface files
IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
FOr testing you can use WE19.
How to create idoc?
*WE30 - you can create a IDOC type
For more information in details on the same along with the examples can be viewed on:
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
http://www.sappoint.com/presentation.html
http://www.allsaplinks.com/idoc_search.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://www.erpgenie.com/sapedi/idoc_abap.htm
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30 )
Create Message Type ( WE81 )
Assign Idoc Type to Message Type ( WE82 )
Creating a Segment
Go to transaction code WE31
Enter the name for your segment type and click on the Create icon
Type the short text
Enter the variable names and data elements
Save it and go back
Go to Edit -> Set Release
Follow steps to create more number of segments
Create IDOC Type
Go to transaction code WE30
Enter the Object Name, select Basic type and click Create icon
Select the create new option and enter a description for your basic IDOC type and press enter
Select the IDOC Name and click Create icon
The system prompts us to enter a segment type and its attributes
Choose the appropriate values and press Enter
The system transfers the name of the segment type to the IDOC editor.
Follow these steps to add more number of segments to Parent or as Parent-child relation
Save it and go back
Go to Edit -> Set release
Create Message Type
Go to transaction code WE81
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter
Click New Entries to create new Message Type
Fill details
Save it and go back
Assign Message Type to IDoc Type
Go to transaction code WE82
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter.
Click New Entries to create new Message Type.
Fill details
Save it and go back
Check these out..
Re: How to create IDOC
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
go trough these links.
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
2.IDOCs are independent of the sending and receiving systems.
3.IDOCs are independent of the direction of data exchange.
The two available process for IDOCs are
Outbound Process
Inbound Process
AND There are basically two types of IDOCs.
Basic IDOCs
Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
Extended IDOCs
Extending the functionality by adding more segments to existing Basic IDOCs.
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30)
Create Message Type ( WE81)
Assign Idoc Type to Message Type ( WE82)
imp links
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
www.sappoint.com
--here u can find the ppts and basic seetings for ALE
http://sappoint.com/presentation.html
www.sapgenie.com
http://www.sapgenie.com/ale/index.htm
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
Try this..Hope this will help.
>>>> SAP ALE & IDOC<<<<
Steps to configuration(Basis) >>
1. Create Logical System (LS) for each applicable ALE-enabled client
2. Link client to Logical System on the respective servers
3. Create background user, to be used by ALE(with authorizaton for ALE postings)
4. Create RFC Destinations(SM59)
5. Ports in Idoc processing(WE21)
6. Generate partner profiles for sending system
The functional configuration(Tcode: SALE)
Create a Customer Distribution Model (CDM);
Add appropriate message types and filters to the CDM;
Generate outbound partner profiles;
Distribute the CDM to the receiving systems; and
Generate inbound partner profiles on each of the clients.
Steps to customize a new IDoc >>>
1. Define IDoc Segment (WE31)
2. Convert Segments into an IDoc type (WE30)
3. Create a Message Type (WE81)
4. Create valid Combination of Message & IDoc type(WE82)
5. Define Processing Code(WE41 for OUT / WE42 for IN)
6. Define Partner Profile(WE20)
Important Transaction Codes:
SALE - IMG ALE Configuration root
WE20 - Manually maintain partner profiles
BD64 - Maintain customer distribution model
BD71 - Distribute customer distribution model
SM59 - Create RFC Destinations
BDM5 - Consistency check (Transaction scenarios)
BD82 - Generate Partner Profiles
BD61 - Activate Change Pointers - Globally
BD50 - Activate Change Pointer for Msg Type
BD52 - Activate change pointer per change.doc object
BD59 - Allocation object type -> IDOC type
BD56 - Maintain IDOC Segment Filters
BD53 - Reduction of Message Types
BD21 - Select Change Pointer
BD87 - Status Monitor for ALE Messages
BDM5 - Consistency check (Transaction scenarios)
BD62 - Define rules
BD79 - Maintain rules
BD55 - Defining settings for IDoc conversion
WEDI - ALE IDoc Administration
WE21 - Ports in Idoc processing
WE60 - IDoc documentation
SARA - IDoc archiving (Object type IDOC)
WE47 - IDoc status maintenance
WE07 - IDoc statistics
BALE - ALE Distribution Administration
WE05 - IDoc overview
BD87 - Inbound IDoc reprocessing
BD88 - Outbound IDoc reprocessing
BDM2 - IDoc Trace
BDM7 - IDoc Audit Analysis
BD21 - Create IDocs from change pointers
SM58 - Schedule RFC Failures
Basic config for Distributed data:
BD64: Maintain a Distributed Model
BD82: Generate Partner Profile
BD64: Distribute the distribution Model
Programs
RBDMIDOC Creating IDoc Type from Change Pointers
RSEOUT00 Process all selected IDocs (EDI)
RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
RSARFCEX - Execute Calls Not Yet Executed
RBDMOIND - Status Conversion with Successful tRFC Execution
RBDMANIN - Start error handling for non-posted IDocs
RBDSTATE - Send Audit Confirmations
FOr testing you can use WE19.
Check these links.
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
Please check this PDF documents for ALE and IDoc.
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDI/CAEDI.pdf
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
<b>Reward points for useful Answers</b>
Regards
Anji -
Qurey running for last 18 Hours plz help in this regard
my server has 4 Gb Ram plz tell me something. what action should i take. This Query is running 18 hours plz by seeing this ADDM plz sugest what to do i'm highly thanksful to yoy
ADDM Report for Task 'ADDM:1196827189_1_679'
Analysis Period
AWR snapshot range from 678 to 679.
Time period starts at 25-NOV-08 09.01.03 AM
Time period ends at 25-NOV-08 09.53.05 AM
Analysis Target
Database 'ORCL' with DB ID 1196827189.
Database version 11.1.0.6.0.
ADDM performed an analysis of instance orcl, numbered 1 and hosted at SRV01.
Activity During the Analysis Period
Total database time was 7940 seconds.
The average number of active sessions was 2.54.
Summary of Findings
Description Active Sessions Recommendations
Percent of Activity
1 Virtual Memory Paging 2.54 | 100 1
2 Top SQL by DB Time 2.47 | 97.18 1
3 CPU Usage 2.47 | 97.09 1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Findings and Recommendations
Finding 1: Virtual Memory Paging
Impact is 2.54 active sessions, 100% of total activity.
Significant virtual memory paging was detected on the host operating system.
Recommendation 1: Host Configuration
Estimated benefit is 2.54 active sessions, 100% of total activity.
Action
Host operating system was experiencing significant paging but no
particular root cause could be detected. Investigate processes that do
not belong to this instance running on the host that are consuming
significant amount of virtual memory. Also consider adding more physical
memory to the host.
Finding 2: Top SQL by DB Time
Impact is 2.47 active sessions, 97.18% of total activity.
SQL statements consuming significant database time were found.
Recommendation 1: SQL Tuning
Estimated benefit is 2.54 active sessions, 100% of total activity.
Action
Run SQL Tuning Advisor on the SQL statement with SQL_ID "9d65avvugb899".
Related Object
SQL statement with SQL_ID 9d65avvugb899 and PLAN_HASH 1187702671.
UPDATE GN_FLAT_IN_TABLE SET DG0_ID=(SELECT JAG_N24_DG0.DG0_ID FROM
JAG_N24_DG0 WHERE NVL ( JAG_N24_DG0.ITEM_DISC_AMT , -1033 ) = NVL (
GN_FLAT_IN_TABLE.ITEM_DISC_AMT , -1033 ) AND NVL (
JAG_N24_DG0.LINE_AMT , -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_AMT ,
-1033 ) AND NVL ( JAG_N24_DG0.LINE_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_CODE , -1033 ) AND NVL ( JAG_N24_DG0.LINE_NAME
, -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_NAME , -1033 ) AND NVL (
JAG_N24_DG0.LINE_INTERNAL_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_INTERNAL_CODE , -1033 ) AND NVL (
JAG_N24_DG0.LINE_REC_SEQ , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_REC_SEQ , -1033 ) AND NVL (
JAG_N24_DG0.PRIMARY_CARD , -1033 ) = NVL (
GN_FLAT_IN_TABLE.PRIMARY_CARD , -1033 ) AND NVL (
JAG_N24_DG0.TXN_CAT , -1033 ) = NVL ( GN_FLAT_IN_TABLE.TXN_CAT ,
-1033 ) AND NVL ( JAG_N24_DG0.TXN_DATE , ' 14-AUG-1947' ) = NVL (
GN_FLAT_IN_TABLE.TXN_DATE , ' 14-AUG-1947' ) AND NVL (
JAG_N24_DG0.TXN_TIME , ' 14-AUG-1947' ) = NVL (
GN_FLAT_IN_TABLE.TXN_TIME , ' 14-AUG-1947' ) AND NVL (
JAG_N24_DG0.TXN_ID , -1033 ) = NVL ( GN_FLAT_IN_TABLE.TXN_ID ,
-1033 ) AND NVL ( JAG_N24_DG0.TXN_DURATION , -1033 ) = NVL (
GN_FLAT_IN_TABLE.TXN_DURATION , -1033 ) AND NVL (
JAG_N24_DG0.TILL_LOCAL_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.TILL_LOCAL_CODE , -1033 ) AND NVL (
JAG_N24_DG0.STORE_CODE , -1033 ) = NVL ( GN_FLAT_IN_TABLE.STORE_CODE
, -1033 ) AND NVL ( JAG_N24_DG0.STORE_NAME , -1033 ) = NVL (
GN_FLAT_IN_TABLE.STORE_NAME , -1033 ) AND NVL (
JAG_N24_DG0.OPERATOR_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.OPERATOR_CODE , -1033 ) AND NVL (
JAG_N24_DG0.LINE_QTY , -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_QTY ,
-1033 ) AND NVL ( JAG_N24_DG0.CUSTOMER_STAFF_REF , -1033 ) = NVL (
GN_FLAT_IN_TABLE.CUSTOMER_STAFF_REF , -1033 ) AND
NVL(GN_FLAT_IN_TABLE.OPERATIONAL_DATE, '14-AUG-1947'
)=NVL(JAG_N24_DG0.OPERATIONAL_DATE, '14-AUG-1947' ))
Action
Investigate the SQL statement with SQL_ID "9d65avvugb899" for possible
performance improvements.
Related Object
SQL statement with SQL_ID 9d65avvugb899 and PLAN_HASH 1187702671.
UPDATE GN_FLAT_IN_TABLE SET DG0_ID=(SELECT JAG_N24_DG0.DG0_ID FROM
JAG_N24_DG0 WHERE NVL ( JAG_N24_DG0.ITEM_DISC_AMT , -1033 ) = NVL (
GN_FLAT_IN_TABLE.ITEM_DISC_AMT , -1033 ) AND NVL (
JAG_N24_DG0.LINE_AMT , -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_AMT ,
-1033 ) AND NVL ( JAG_N24_DG0.LINE_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_CODE , -1033 ) AND NVL ( JAG_N24_DG0.LINE_NAME
, -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_NAME , -1033 ) AND NVL (
JAG_N24_DG0.LINE_INTERNAL_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_INTERNAL_CODE , -1033 ) AND NVL (
JAG_N24_DG0.LINE_REC_SEQ , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_REC_SEQ , -1033 ) AND NVL (
JAG_N24_DG0.PRIMARY_CARD , -1033 ) = NVL (
GN_FLAT_IN_TABLE.PRIMARY_CARD , -1033 ) AND NVL (
JAG_N24_DG0.TXN_CAT , -1033 ) = NVL ( GN_FLAT_IN_TABLE.TXN_CAT ,
-1033 ) AND NVL ( JAG_N24_DG0.TXN_DATE , ' 14-AUG-1947' ) = NVL (
GN_FLAT_IN_TABLE.TXN_DATE , ' 14-AUG-1947' ) AND NVL (
JAG_N24_DG0.TXN_TIME , ' 14-AUG-1947' ) = NVL (
GN_FLAT_IN_TABLE.TXN_TIME , ' 14-AUG-1947' ) AND NVL (
JAG_N24_DG0.TXN_ID , -1033 ) = NVL ( GN_FLAT_IN_TABLE.TXN_ID ,
-1033 ) AND NVL ( JAG_N24_DG0.TXN_DURATION , -1033 ) = NVL (
GN_FLAT_IN_TABLE.TXN_DURATION , -1033 ) AND NVL (
JAG_N24_DG0.TILL_LOCAL_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.TILL_LOCAL_CODE , -1033 ) AND NVL (
JAG_N24_DG0.STORE_CODE , -1033 ) = NVL ( GN_FLAT_IN_TABLE.STORE_CODE
, -1033 ) AND NVL ( JAG_N24_DG0.STORE_NAME , -1033 ) = NVL (
GN_FLAT_IN_TABLE.STORE_NAME , -1033 ) AND NVL (
JAG_N24_DG0.OPERATOR_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.OPERATOR_CODE , -1033 ) AND NVL (
JAG_N24_DG0.LINE_QTY , -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_QTY ,
-1033 ) AND NVL ( JAG_N24_DG0.CUSTOMER_STAFF_REF , -1033 ) = NVL (
GN_FLAT_IN_TABLE.CUSTOMER_STAFF_REF , -1033 ) AND
NVL(GN_FLAT_IN_TABLE.OPERATIONAL_DATE, '14-AUG-1947'
)=NVL(JAG_N24_DG0.OPERATIONAL_DATE, '14-AUG-1947' ))
Finding 3: CPU Usage
Impact is 2.47 active sessions, 97.09% of total activity.
Time spent on the CPU by the instance was responsible for a substantial part
of database time.
Recommendation 1: SQL Tuning
Estimated benefit is 2.54 active sessions, 100% of total activity.
Action
Run SQL Tuning Advisor on the SQL statement with SQL_ID "9d65avvugb899".
Related Object
SQL statement with SQL_ID 9d65avvugb899 and PLAN_HASH 1187702671.
UPDATE GN_FLAT_IN_TABLE SET DG0_ID=(SELECT JAG_N24_DG0.DG0_ID FROM
JAG_N24_DG0 WHERE NVL ( JAG_N24_DG0.ITEM_DISC_AMT , -1033 ) = NVL (
GN_FLAT_IN_TABLE.ITEM_DISC_AMT , -1033 ) AND NVL (
JAG_N24_DG0.LINE_AMT , -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_AMT ,
-1033 ) AND NVL ( JAG_N24_DG0.LINE_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_CODE , -1033 ) AND NVL ( JAG_N24_DG0.LINE_NAME
, -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_NAME , -1033 ) AND NVL (
JAG_N24_DG0.LINE_INTERNAL_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_INTERNAL_CODE , -1033 ) AND NVL (
JAG_N24_DG0.LINE_REC_SEQ , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_REC_SEQ , -1033 ) AND NVL (
JAG_N24_DG0.PRIMARY_CARD , -1033 ) = NVL (
GN_FLAT_IN_TABLE.PRIMARY_CARD , -1033 ) AND NVL (
JAG_N24_DG0.TXN_CAT , -1033 ) = NVL ( GN_FLAT_IN_TABLE.TXN_CAT ,
-1033 ) AND NVL ( JAG_N24_DG0.TXN_DATE , ' 14-AUG-1947' ) = NVL (
GN_FLAT_IN_TABLE.TXN_DATE , ' 14-AUG-1947' ) AND NVL (
JAG_N24_DG0.TXN_TIME , ' 14-AUG-1947' ) = NVL (
GN_FLAT_IN_TABLE.TXN_TIME , ' 14-AUG-1947' ) AND NVL (
JAG_N24_DG0.TXN_ID , -1033 ) = NVL ( GN_FLAT_IN_TABLE.TXN_ID ,
-1033 ) AND NVL ( JAG_N24_DG0.TXN_DURATION , -1033 ) = NVL (
GN_FLAT_IN_TABLE.TXN_DURATION , -1033 ) AND NVL (
JAG_N24_DG0.TILL_LOCAL_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.TILL_LOCAL_CODE , -1033 ) AND NVL (
JAG_N24_DG0.STORE_CODE , -1033 ) = NVL ( GN_FLAT_IN_TABLE.STORE_CODE
, -1033 ) AND NVL ( JAG_N24_DG0.STORE_NAME , -1033 ) = NVL (
GN_FLAT_IN_TABLE.STORE_NAME , -1033 ) AND NVL (
JAG_N24_DG0.OPERATOR_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.OPERATOR_CODE , -1033 ) AND NVL (
JAG_N24_DG0.LINE_QTY , -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_QTY ,
-1033 ) AND NVL ( JAG_N24_DG0.CUSTOMER_STAFF_REF , -1033 ) = NVL (
GN_FLAT_IN_TABLE.CUSTOMER_STAFF_REF , -1033 ) AND
NVL(GN_FLAT_IN_TABLE.OPERATIONAL_DATE, '14-AUG-1947'
)=NVL(JAG_N24_DG0.OPERATIONAL_DATE, '14-AUG-1947' ))
Action
Investigate the SQL statement with SQL_ID "9d65avvugb899" for possible
performance improvements.
Related Object
SQL statement with SQL_ID 9d65avvugb899 and PLAN_HASH 1187702671.
UPDATE GN_FLAT_IN_TABLE SET DG0_ID=(SELECT JAG_N24_DG0.DG0_ID FROM
JAG_N24_DG0 WHERE NVL ( JAG_N24_DG0.ITEM_DISC_AMT , -1033 ) = NVL (
GN_FLAT_IN_TABLE.ITEM_DISC_AMT , -1033 ) AND NVL (
JAG_N24_DG0.LINE_AMT , -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_AMT ,
-1033 ) AND NVL ( JAG_N24_DG0.LINE_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_CODE , -1033 ) AND NVL ( JAG_N24_DG0.LINE_NAME
, -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_NAME , -1033 ) AND NVL (
JAG_N24_DG0.LINE_INTERNAL_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_INTERNAL_CODE , -1033 ) AND NVL (
JAG_N24_DG0.LINE_REC_SEQ , -1033 ) = NVL (
GN_FLAT_IN_TABLE.LINE_REC_SEQ , -1033 ) AND NVL (
JAG_N24_DG0.PRIMARY_CARD , -1033 ) = NVL (
GN_FLAT_IN_TABLE.PRIMARY_CARD , -1033 ) AND NVL (
JAG_N24_DG0.TXN_CAT , -1033 ) = NVL ( GN_FLAT_IN_TABLE.TXN_CAT ,
-1033 ) AND NVL ( JAG_N24_DG0.TXN_DATE , ' 14-AUG-1947' ) = NVL (
GN_FLAT_IN_TABLE.TXN_DATE , ' 14-AUG-1947' ) AND NVL (
JAG_N24_DG0.TXN_TIME , ' 14-AUG-1947' ) = NVL (
GN_FLAT_IN_TABLE.TXN_TIME , ' 14-AUG-1947' ) AND NVL (
JAG_N24_DG0.TXN_ID , -1033 ) = NVL ( GN_FLAT_IN_TABLE.TXN_ID ,
-1033 ) AND NVL ( JAG_N24_DG0.TXN_DURATION , -1033 ) = NVL (
GN_FLAT_IN_TABLE.TXN_DURATION , -1033 ) AND NVL (
JAG_N24_DG0.TILL_LOCAL_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.TILL_LOCAL_CODE , -1033 ) AND NVL (
JAG_N24_DG0.STORE_CODE , -1033 ) = NVL ( GN_FLAT_IN_TABLE.STORE_CODE
, -1033 ) AND NVL ( JAG_N24_DG0.STORE_NAME , -1033 ) = NVL (
GN_FLAT_IN_TABLE.STORE_NAME , -1033 ) AND NVL (
JAG_N24_DG0.OPERATOR_CODE , -1033 ) = NVL (
GN_FLAT_IN_TABLE.OPERATOR_CODE , -1033 ) AND NVL (
JAG_N24_DG0.LINE_QTY , -1033 ) = NVL ( GN_FLAT_IN_TABLE.LINE_QTY ,
-1033 ) AND NVL ( JAG_N24_DG0.CUSTOMER_STAFF_REF , -1033 ) = NVL (
GN_FLAT_IN_TABLE.CUSTOMER_STAFF_REF , -1033 ) AND
NVL(GN_FLAT_IN_TABLE.OPERATIONAL_DATE, '14-AUG-1947'
)=NVL(JAG_N24_DG0.OPERATIONAL_DATE, '14-AUG-1947' ))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Additional Information
Miscellaneous Information
Wait class "Application" was not consuming significant database time.
Wait class "Commit" was not consuming significant database time.
Wait class "Concurrency" was not consuming significant database time.
Wait class "Configuration" was not consuming significant database time.
Wait class "Network" was not consuming significant database time.
Wait class "User I/O" was not consuming significant database time.
Session connect and disconnect calls were not consuming significant database
time.
Hard parsing of SQL statements was not consuming significant database time.JACK DBA wrote:
my server has 4 Gb Ram plz tell me something. what action should i take. This Query is running 18 hours plz by seeing this ADDM plz sugest what to do i'm highly thanksful to yoy As already mentioned here in the thread you need to check the execution plan of the UPDATE statement. If you're unlucky then the scalar subquery querying JAG_N24_DG0 is potentially executed for each row of GN_FLAT_IN_TABLE. Depending on the execution plan of the subquery this approach might be quite inefficient.
Generic instructions how to generate a meaningful plan output and how to use the {noformat}{{noformat}code{noformat}}{noformat} tag to get it formatted in mono-space font here follow below:
Could you please post an properly formatted explain plan output using DBMS_XPLAN.DISPLAY including the "Predicate Information" section below the plan to provide more details regarding your statement. Please use the {noformat}[{noformat}code{noformat}]{noformat} tag before and {noformat}[{noformat}/code{noformat}]{noformat} tag after or the {noformat}{{noformat}code{noformat}}{noformat} tag before and after to enhance readability of the output provided:
In SQL*Plus:
SET LINESIZE 130
EXPLAIN PLAN FOR <your statement>;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);Note that the package DBMS_XPLAN.DISPLAY is only available from 9i on.
In 9i and above, if the "Predicate Information" section is missing from the DBMS_XPLAN.DISPLAY output but you get instead the message "Plan table is old version" then you need to re-create your plan table using the server side script "$ORACLE_HOME/rdbms/admin/utlxplan.sql".
In previous versions you could run the following in SQL*Plus (on the server) instead:
@?/rdbms/admin/utlxplsA different approach in SQL*Plus:
SET AUTOTRACE ON EXPLAIN
<run your statement>;will also show the execution plan.
In order to get a better understanding where your statement spends the time you might want to turn on SQL trace as described here:
When your query takes too long ...
and post the "tkprof" output here, too.
Regards,
Randolf
Oracle related stuff blog:
http://oracle-randolf.blogspot.com/
SQLTools++ for Oracle (Open source Oracle GUI for Windows):
http://www.sqltools-plusplus.org:7676/
http://sourceforge.net/projects/sqlt-pp/ -
Plz help me for Solution of this error
hello,
I m upgrading SAp 4.6c(Non unicode) to ECC 6.0 (UInicode) with windows platform and SQL database. i m getting this error. can any body help me out what this error about and whats the reason n solution. plz..tell me urgently.
TRACE-INFO: 44: [developertra,00000] Tue Dec 19 13:48:24 2006 16270397 65.213831
TRACE-INFO: 45: [developertra,00000] MapHr:8000FFFF E_UNEXPECTED 9 65.213840
TRACE-INFO: 46: [developertra,00000] HandleOledbError [OpenOledbConnection,line 34110]: Error/Message: (err 17, sev 0), [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
TRACE-INFO: 47: 33 65.213873
TRACE-INFO: 48: [developertra,00000] HandleOledbError [OpenOledbConnection,line 34110]: Error/Message: (err 0, sev 0), Invalid connection string attribute
TRACE-INFO: 49: 27 65.213900
TRACE-INFO: 50: [developertra,00000] Tue Dec 19 13:48:40 2006 16280570 81.494470
TRACE-INFO: 51: [developertra,00000] MapHr:8000FFFF E_UNEXPECTED 9 81.494479
TRACE-INFO: 52: [developertra,00000] HandleOledbError [OpenOledbConnection,line 34110]: Error/Message: (err 17, sev 0), [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
TRACE-INFO: 53: 31 81.494510
TRACE-INFO: 54: [developertra,00000] HandleOledbError [OpenOledbConnection,line 34110]: Error/Message: (err 0, sev 0), Invalid connection string attribute
TRACE-INFO: 55: 25 81.494535
TRACE-INFO: 56: [developertra,00000] Tue Dec 19 13:48:57 2006 16265887 97.760422
TRACE-INFO: 57: [developertra,00000] MapHr:8000FFFF E_UNEXPECTED 9 97.760431
TRACE-INFO: 58: [developertra,00000] HandleOledbError [OpenOledbConnection,line 34110]: Error/Message: (err 17, sev 0), [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
TRACE-INFO: 59: 32 97.760463
TRACE-INFO: 60: [developertra,00000] HandleOledbError [OpenOledbConnection,line 34110]: Error/Message: (err 0, sev 0), Invalid connection string attribute
TRACE-INFO: 61: 25 97.760488
TRACE-INFO: 62: [developertra,00000] failed to establish conn. 0 10311 97.770799
TRACE-INFO: 63: [dblink ,00627] ***LOG BY2=>sql error -1 performing CON 1010 97.771809
TRACE-INFO: 64: [dblink ,00627] ***LOG BY0=> 10 97.771819
ERROR: Connect to DS8 failed (20061219134857).
Process with ID 6092 terminated with status 232
Thanks..
DeepakDeepak
This forum is for sap and oracle.
Any way have a look on 687866 note.SQL Server does not exist or access denied.
means u are not able to establish connection to Server.Check this.
Vinod -
Plz. help with strange date insertions in access???
HELLO all,
i noted a strange thing, when i insert into access table the date it swaps the month and day part for some reason in some records .
why is this happening,
plz. help.
code is as follows
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH,-1);
System.out.println(""+cal.getTime());
//this swaps SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy")
//this swaps too
//SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
String currentdate = dateFormat.format(cal.getTime()); // formats your date
custom date is dd/mm/yyyy in tableHi vykalra1,
As far as I know, the way dates (and times) are stored in a Micro$oft Access database has nothing to do with the display format. The format is only used for displaying the date that is stored in the Access table.
A "field" with "Date/Time" datatype in an Access table maps to the "java.sql.Timestamp" class. Therefore, in order to insert a value into a "Date/Time" (Access) "field", you need to create a "java.sql.Timestamp" object. According to the javadoc, the "java.sql.Timestamp" constructor takes a parameter of type "long" (i.e. java primitive type) -- which represents the number of milliseconds since midnight, 1st January, 1970.
Therefore, you don't really need to use "Calendar" or "SimpleDateFormat".
As I understand it, you are trying to insert yesterday's date into your table. Below is an example using a sample table that has two fields -- 'name' and 'updated' -- which (hopefully) will help you. Note how I determine yesterday's date -- using millisecond calculations only.
The below code was compiled and tested on Windows XP with J2SE SDK 1.4.1_02 and Micro$oft Access 2002.
import java.sql.*;
public class JdbcOdbc {
public static void main(String[] args) {
Connection dbConn = null;
PreparedStatement stmt = null;
String sql = "INSERT INTO Table1 (name, updated) VALUES (?, ?)";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
dbConn = DriverManager.getConnection("jdbc:odbc:db1");
stmt = dbConn.prepareStatement(sql);
stmt.setString(1,"vykalra1");
long now = System.currentTimeMillis();
long millisecondsInOneDay = 1000 * 60 * 60 * 24;
long yesterday = now - millisecondsInOneDay;
stmt.setTimestamp(2, new Timestamp(yesterday));
stmt.executeUpdate();
catch (SQLException sqlEx) {
System.err.println("Database operation failed.");
sqlEx.printStackTrace();
catch (ClassNotFoundException cnfEx) {
System.err.println("JDBC driver class not found");
cnfEx.printStackTrace();
finally {
if (stmt != null) {
try {
stmt.close();
catch (SQLException sqlEx) {
System.err.println("ERROR: Failed to close statement");
sqlEx.printStackTrace();
if (dbConn != null) {
try {
dbConn.close();
catch (SQLException sqlEx) {
System.err.println("ERROR: Failed to close DB connection");
sqlEx.printStackTrace();
}Good Luck,
Avi.
Maybe you are looking for
-
Dear All, This is REM scenario, Client is going scheduling agreements material master Settings MRP Type - P1 Planning time fence - 10 Lot Size - PK Procurement type - F GR Processing time - 2 days, No plad delevery time maintained. in planning calend
-
Regarding Agent Rule GRAC_REQ_MITIG_MONITOR_AGENT
Can anyone help me in determining if i can make use of agent rule GRAC_REQ_MITIG_MONITOR_AGENT to look for the approver at mitigation monitor stage under process ID SAP_GRAC_ACCESS_REQUEST_HR ?? SAP has suggested that this agent rule is only specific
-
Getting a flashing folder with a question mark when starting Imac.
I got this flashing folder with a question mark on it when starting my Imac this morning. Im running on Osx 10.6. I put it in target disc mode and connected it to my macbook pro. I opened the disc utility app on the macbook and found my imac. I "veri
-
Blackberry Z10 10.3.1 Bugs (so far...)
After updating to 10.3.1 I have a slew of issues that I am going to list off that perhaps can be (and SHOULD be) fixed as they were clearly not tested properly before release (if at all): 1) Texting problems most likely related to the inability of th
-
Hello Experts, I am using the N-step BADI for PO approval. When a PO is rejected, I have the config turned on so that the initiator of the workflow receives a notification. This notification is created and goes to his SAP inbox, but what I really w