DataGrid high rate insert rows
Hi everyone,
I'm working in a project where we have a high rate messages (like 2-3k per second) . We use Java on server side, BlazeDS and Flex.
We have a problem on flex side, the messages are insert on a DataGrid where we just show the last 1k messages, after the 100k messages passed through to the application, the datagrid start to refresh slower than before.
Do you know how can i solve this problem?
I executed the profiler and i saw that we don't have memory leaks
Thanks in advance.
sorry if i sound dense but i am picking up on the phrase "but i never tried to increase the rate "
i don't know anything about your architecture but are you cramming data back in some forced rate ? are you force streaming ? what exactly are you doing !!
that poor flash player sounds overwhelmed.
Date: Thu, 28 Apr 2011 10:05:12 -0600
From: [email protected]
To: [email protected]
Subject: DataGrid high rate insert rows
There are 7 columns and the messages are around 200 bytes each, this means that the 200 bytes are split in the 7 columns.
Those messages are encapsulated in an object Message inside of which there are MessageFields that have two properties, tag and value.
Initially i sent 2.5k message per second but i never tried to increase the rate while the message were been delivered, when i resolve this issue i am going to try that.
At the begin (with 2.5k per sec) the refresh rate is quite good (almost realtime), i mean that the datagrid refreshes the sequence number of the messages really fast, each second i saw the sequence number increase in 2.5k.
After the first minute the datagrid starts to collapse and it refreshes every few seconds, like 5 seconds for example, and once its refreshed the sequence number increases in 5 * 2.5k, so the message are coming at the rate.
Regarding the use of cpu i underestimated that point, i was focus on the memory usage but i've showed that flash plugin recently it's between the first 3rd process and sometime took the 1st place.
How i can reduce the use of cpu?
>
Similar Messages
-
Localization in OBIEE 10g(Error "start row is set higher than the row count
Hi All,
I m Working on Localization.
I have used exteranize string and saved excel file and added language column and inserted data en and fr and loaded the file into the database.
then i have created 2 variables
one is for weblanguage SELECT 'VALUEOF(NQ_SESSION.WEBLANGUAGE)' FROM DUAL
second is SELECT SESSION_VARIABLE, TRANSLATION FROM TAB_EXTERNAL WHERE LANGUAGE = 'VALUEOF(NQ_SESSION.LOCALE)' when i click on Test for the second variable it showing error
"start row is set higher than the row count"
i have seleted start row =10 and show some 10.then also it is showing same error.
Please send me the solution ASAP.
Thanks and Regards
Kiran KumarHi Kiran,
I am working in OBIEE localization. I created two variables and when press test i am getting vaules successfully. But in OBIEE application i am getting columns in english only. It seems there is some problem with values in DUAL table. It contains only 1 column called 'DUMMY' and value as 'X'.
Please give me complete configuration steps to setup localization OBIEE 10g. Please drop me a mail to [email protected] if u have steps. I will call u if u provide contact number. -
How to include new inserted row in cursor
Hi ...
Is there anyway to include new inserted row into opened cursor ?
consider the following code:
declare
cursor tbl_cur is select * from table1;
-- table1 has two fields: no and name --
begin
for tbl_rec in tbl_cur
loop
-- if I insert some records here into table1, is there anyway that those just inserted records be included in tbl_cur so that can be proceed in for loop ? or anyway to include new inserted rows into opened cursor ?
end loop;
end;
anyone response is highly appreciated.
Thank You,
SK.
nullIf you re-open the cursor in another loop, the rows that you inserted in the previous loop will be included, along with the original rows.
DECLARE
CURSOR tbl_cur
IS
SELECT *
FROM table1;
BEGIN
FOR tbl_rec IN tbl_cur
LOOP
INSERT INTO table1 (no, name)
VALUES (tbl_rec.no + 1, 'test');
END LOOP;
FOR tbl_rec IN tbl_cur
LOOP
-- the rows you inserted in the loop
-- above will be included here
-- with the original rows
END LOOP;
END;
null -
Need help with inserting rows in ResultSet and JTable
hello Guru!
i have inserted a row in my result set and i want that my table shows this row promptly after i have inserted it in my result set...
but when i use following code for my resultset:
rs.moveToInsertRow();
rs.updateInt(1,nr);
rs.updateString(2, name);
rs.insertRow();
Record are inserted in resultset and database but not shown in my JTable??
Anyone a Clue to without reexecuting the query how can i display inserted row in JTable
http://download-west.oracle.com/docs/cd/A87860_01/doc/java.817/a83724/resltse7.h
I have refrered the following links but still clue less help Guruuuuuuu
i m really in trobble??????i am just near by the Solution using the Database Metadata
by couldn't get the ideaaaa
==================================================
http://download-west.oracle.com/docs/cd/A87860_01/doc/java.817/a83724/resltse7.htm
Seeing Database Changes Made Internally and Externally
This section discusses the ability of a result set to see the following:
its own changes (DELETE, UPDATE, or INSERT operations within the result set), referred to as internal changes
changes made from elsewhere (either from your own transaction outside the result set, or from other committed transactions), referred to as external changes
Near the end of the section is a summary table.
Note:
External changes are referred to as "other's changes" in the Sun Microsystems JDBC 2.0 specification.
Seeing Internal Changes
The ability of an updatable result set to see its own changes depends on both the result set type and the kind of change (UPDATE, DELETE, or INSERT). This is discussed at various points throughout the "Updating Result Sets" section beginning on , and is summarized as follows:
Internal DELETE operations are visible for scrollable result sets (scroll-sensitive or scroll-insensitive), but are not visible for forward-only result sets.
After you delete a row in a scrollable result set, the preceding row becomes the new current row, and subsequent row numbers are updated accordingly.
Internal UPDATE operations are always visible, regardless of the result set type (forward-only, scroll-sensitive, or scroll-insensitive).
Internal INSERT operations are never visible, regardless of the result set type (neither forward-only, scroll-sensitive, nor scroll-insensitive).
An internal change being "visible" essentially means that a subsequent getXXX() call will see the data changed by a preceding updateXXX() call on the same data item.
JDBC 2.0 DatabaseMetaData objects include the following methods to verify this. Each takes a result set type as input (ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_SENSITIVE, or ResultSet.TYPE_SCROLL_INSENSITIVE).
boolean ownDeletesAreVisible(int) throws SQLException
boolean ownUpdatesAreVisible(int) throws SQLException
boolean ownInsertsAreVisible(int) throws SQLException
Note:
When you make an internal change that causes a trigger to execute, the trigger changes are effectively external changes. However, if the trigger affects data in the row you are updating, you will see those changes for any scrollable/updatable result set, because an implicit row refetch occurs after the update.
Seeing External Changes
Only a scroll-sensitive result set can see external changes to the underlying database, and it can only see the changes from external UPDATE operations. Changes from external DELETE or INSERT operations are never visible.
Note:
Any discussion of seeing changes from outside the enclosing transaction presumes the transaction itself has an isolation level setting that allows the changes to be visible.
For implementation details of scroll-sensitive result sets, including exactly how and how soon external updates become visible, see "Oracle Implementation of Scroll-Sensitive Result Sets".
JDBC 2.0 DatabaseMetaData objects include the following methods to verify this. Each takes a result set type as input (ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_SENSITIVE, or ResultSet.TYPE_SCROLL_INSENSITIVE).
boolean othersDeletesAreVisible(int) throws SQLException
boolean othersUpdatesAreVisible(int) throws SQLException
boolean othersInsertsAreVisible(int) throws SQLException
Note:
Explicit use of the refreshRow() method, described in "Refetching Rows", is distinct from this discussion of visibility. For example, even though external updates are "invisible" to a scroll-insensitive result set, you can explicitly refetch rows in a scroll-insensitive/updatable result set and retrieve external changes that have been made. "Visibility" refers only to the fact that the scroll-insensitive/updatable result set would not see such changes automatically and implicitly.
Visibility versus Detection of External Changes
Regarding changes made to the underlying database by external sources, there are two similar but distinct concepts with respect to visibility of the changes from your local result set:
visibility of changes
detection of changes
A change being "visible" means that when you look at a row in the result set, you can see new data values from changes made by external sources to the corresponding row in the database.
A change being "detected", however, means that the result set is aware that this is a new value since the result set was first populated.
With Oracle8i release 8.1.6 and higher, even when an Oracle result set sees new data (as with an external UPDATE in a scroll-sensitive result set), it has no awareness that this data has changed since the result set was populated. Such changes are not "detected".
JDBC 2.0 DatabaseMetaData objects include the following methods to verify this. Each takes a result set type as input (ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_SENSITIVE, or ResultSet.TYPE_SCROLL_INSENSITIVE).
boolean deletesAreDetected(int) throws SQLException
boolean updatesAreDetected(int) throws SQLException
boolean insertsAreDetected(int) throws SQLException
It follows, then, that result set methods specified by JDBC 2.0 to detect changes--rowDeleted(), rowUpdated(), and rowInserted()--will always return false with the 8.1.6 Oracle JDBC drivers. There is no use in calling them.
Summary of Visibility of Internal and External Changes
Table 12-1 summarizes the discussion in the preceding sections regarding whether a result set object in the Oracle JDBC implementation can see changes made internally through the result set itself, and changes made externally to the underlying database from elsewhere in your transaction or from other committed transactions.
Table 12-1 Visibility of Internal and External Changes for Oracle JDBC
Result Set Type Can See Internal DELETE? Can See Internal UPDATE? Can See Internal INSERT? Can See External DELETE? Can See External UPDATE? Can See External INSERT?
forward-only
no
yes
no
no
no
no
scroll-sensitive
yes
yes
no
no
yes
no
scroll-insensitive
yes
yes
no
no
no
no
For implementation details of scroll-sensitive result sets, including exactly how and how soon external updates become visible, see "Oracle Implementation of Scroll-Sensitive Result Sets".
Notes:
Remember that explicit use of the refreshRow() method, described in "Refetching Rows", is distinct from the concept of "visibility" of external changes. This is discussed in "Seeing External Changes".
Remember that even when external changes are "visible", as with UPDATE operations underlying a scroll-sensitive result set, they are not "detected". The result set rowDeleted(), rowUpdated(), and rowInserted() methods always return false. This is further discussed in "Visibility versus Detection of External Changes".
Oracle Implementation of Scroll-Sensitive Result Sets
The Oracle implementation of scroll-sensitive result sets involves the concept of a window, with a window size that is based on the fetch size. The window size affects how often rows are updated in the result set.
Once you establish a current row by moving to a specified row (as described in "Positioning in a Scrollable Result Set"), the window consists of the N rows in the result set starting with that row, where N is the fetch size being used by the result set (see "Fetch Size"). Note that there is no current row, and therefore no window, when a result set is first created. The default position is before the first row, which is not a valid current row.
As you move from row to row, the window remains unchanged as long as the current row stays within that window. However, once you move to a new current row outside the window, you redefine the window to be the N rows starting with the new current row.
Whenever the window is redefined, the N rows in the database corresponding to the rows in the new window are automatically refetched through an implicit call to the refreshRow() method (described in "Refetching Rows"), thereby updating the data throughout the new window.
So external updates are not instantaneously visible in a scroll-sensitive result set; they are only visible after the automatic refetches just described.
For a sample application that demonstrates the functionality of a scroll-sensitive result set, see "Scroll-Sensitive Result Set--ResultSet5.java".
Note:
Because this kind of refetching is not a highly efficient or optimized methodology, there are significant performance concerns. Consider carefully before using scroll-sensitive result sets as currently implemented. There is also a significant tradeoff between sensitivity and performance. The most sensitive result set is one with a fetch size of 1, which would result in the new current row being refetched every time you move between rows. However, this would have a significant impact on the performance of your application.
how can i implement this using
JDBC 2.0 DatabaseMetaData objects include the following methods to verify this. Each takes a result set type as input (ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_SENSITIVE, or ResultSet.TYPE_SCROLL_INSENSITIVE).
boolean deletesAreDetected(int) throws SQLException
boolean updatesAreDetected(int) throws SQLException
boolean insertsAreDetected(int) throws SQLException -
Not able to insert row programticaly
hi am trying to insert row to another viewObject from another viewobject programaticaly ,can somebody help me,i have recreate the problem i upload it in hostfile,am in jdeveloper 11.1.1.6.0
am geting this log error
Caused by: oracle.jbo.InvalidOwnerException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-25030. Error message parameters are {0=UamUserdetails, 1=oracle.jbo.Key[marksn ]}
at oracle.jbo.server.EntityImpl.internalCreate(EntityImpl.java:1341)
at oracle.jbo.server.EntityImpl.create(EntityImpl.java:1020)
at oracle.jbo.server.EntityImpl.callCreate(EntityImpl.java:1197)
at oracle.jbo.server.ViewRowStorage.create(ViewRowStorage.java:1152)
at oracle.jbo.server.ViewRowImpl.create(ViewRowImpl.java:498)
at oracle.jbo.server.ViewRowImpl.callCreate(ViewRowImpl.java:515)
at oracle.jbo.server.ViewObjectImpl.createInstance(ViewObjectImpl.java:5714)
at oracle.jbo.server.QueryCollection.createRowWithEntities(QueryCollection.java:1993)
at oracle.jbo.server.ViewRowSetImpl.createRowWithEntities(ViewRowSetImpl.java:2492)
at oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:2533)
at oracle.jbo.server.ViewRowSetImpl.createAndInitRow(ViewRowSetImpl.java:2498)
at oracle.jbo.server.ViewObjectImpl.createAndInitRow(ViewObjectImpl.java:11042)
at worklis.view.beantest.addnew(beantest.java:138)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(Unknown Source)
at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1256)
at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)
at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
at org.apache.myfaces.trinidad.component.UIXTable.broadcast(UIXTable.java:279)
at oracle.adf.view.rich.component.UIXTable.broadcast(UIXTable.java:145)
at oracle.adf.view.rich.component.rich.data.RichTable.broadcast(RichTable.java:402)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1018)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:386)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)Edited by: adf009 on 2013/02/15 4:43 PM
Edited by: adf009 on 2013/02/15 4:57 PM
Edited by: adf009 on 2013/02/15 7:22 PMthe code am using is below
public void addnew(ActionEvent actionEvent) {
// Add event code here...
// Add event code here...
//Code to get the bindings for TargetVO :
Map<Object,String> mp=new HashMap<Object, String>();
DCBindingContainer bindings2 =
(DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
JUCtrlHierBinding obj = (JUCtrlHierBinding)bindings2.findCtrlBinding("UamUserdetailsView2");
ViewObject targetVO = obj.getViewObject();
DCBindingContainer bindings =
(DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
DCIteratorBinding empIter =
bindings.findIteratorBinding("DeltTable1Iterator");
//SourceVO1Iterator is the iterator under Executables section for the SourceVO1 bindings.
RowSetIterator roleRSIters = empIter.getRowSetIterator();
RowSetIterator rs1 = roleRSIters.getRowSet().getViewObject().createRowSetIterator(null);
rs1.first();
NameValuePairs nvp = null;
String username = null;
while (rs1.hasNext()) {
Row r = rs1.next();
nvp = new NameValuePairs();
// nvp.setAttribute("organisationid", r.getAttribute("organisationid"));
nvp.setAttribute("Organisationid", getorgid());
System.out.println("printedorgid" +getorgid());
nvp.setAttribute("Username",r.getAttribute("Username"));
nvp.setAttribute("Username1",r.getAttribute("Username"));
nvp.setAttribute("Firstname",r.getAttribute("Firstname"));
nvp.setAttribute("Surname",r.getAttribute("Surname"));
nvp.setAttribute("Emailaddress",r.getAttribute("Emailaddress"));
// username = (String)r.getAttribute("Username");
System.out.println("prininstead " + nvp);
// targetVO.createAndInitRow(nvp);
r = targetVO.createAndInitRow(nvp);
targetVO.insertRow(r);
//createAndInitRow(AttributeList nvp);
//Row row = targetVO.createAndInitRow(nvp);
// targetVO.insertRow(row);
rs1.closeRowSetIterator();
targetVO.getApplicationModule().getTransaction().commit();
}i have re-created the problem i upload in this hostfile,you can have the whole picture of what am trying to do
http://www.4shared.com/zip/RaZ07PWS/createRow.html
Edited by: adf009 on 2013/02/15 7:36 PM
Edited by: adf009 on 2013/02/15 7:38 PM
Edited by: adf009 on 2013/02/15 8:01 PM -
Database got halted while inserting rows
I have a 9i database running on solaris not restarted for 15 days.It just got halted or hanged while inserting rows in a table.When restarted everything is just fine and those rows have been inserted in no time!!What might be the reason?Dont tell me 'lock' because I have already checked for ora:60 error in alertlog.Would you please give some direction to drill it down .
Did you met the problem , only when you inserting the rows ? Or is there something else which leads this situation ? most of the occasion when
you found your database halt is because of your archivelogs . I would
still like to know if you running your db in archivelog mode ? It also be the
case that you set archive_log_start = true in the pfile and diden't fire
alter database archivelog at the sql prompt .
Hare Krishna
Alok -
I am trying to insert rows for alert_id 22 with diff abc_id and xyz_id
I am trying to insert rows for alert_id 22 with diff abc_id and xyz_id
these inserts will store in two tables that I have to join in the cursor.
I have written cursor without passing cursor parameters. but here i need to pass acb_id and xyz_id along with alert_id.
then if these are saticified with alert_id 22 then I want to stop the loop run, else i need to continue the loop. bcause the abc_id and xyz_id are diff for alert_id 22
This is the issue I am facing!
Please let me know if you have any idea. Let me know how to use cursor parameters here and in loop.
Sample proc like this::
Declare
main_cursor
another_cur
alert_cur
begin
need to check first abc_id,xyz_id is already exist with alert_id 22
if this set of records already exists then
exit from the loop
else
continue with
loop
here coming the insert statements with different condition getting from first two cursors.(this part is ok for me)
end loop
end if
Please write the logic if any idea on this.
-LRKI want to stop if already alert_id is exist!
-
Hi
I want to display a message after inserting rows in table like *'you have inserted a new row successfully*'.
i am using the createinsert ADF Button to insert the rows in table.after that i am comitting it.
after commiting i want to display message for the user.for this what i need to do.
Please help me.
Sailaja.user10860137
Can you please explain me the each line in the code briefly.
+public String saveButton_action(){+
BindingContainer bindings = getBindings();
OperationBinding operationBinding = bindings.getOperationBinding("Commit");
Object result = operationBinding.execute();
+// note "!" operator has been removed from the default code.+
+if(operationBinding.getErrors().isEmpty()){+
FacesContext ctx = FacesContext.getCurrentInstance();
FacesMessage saveMsg = new FacesMessage("Record Saved Successfully");
ctx.addMessage(null,saveMsg);
+}+
return null;
+}+
And i have requirement to show the message on favcet "status bar".not in a popup window.(from the above code the message is showing in popup window. )the Layout i am using is PanelCollection.
can you tell me what i need to do.
Thanks
Sailaja.
Edited by: sj0609 on Mar 19, 2009 8:03 AM -
Insert rows from l_qte_rec in to tmp table
xxx_pre_update_userbook(p_service_request_id number, p_sr_type_id number, p_status_id number,
p_resolution_code varchar2, p_bill_to_customer_id number,
p_bill_to_cust_account_id number, p_bill_to_customer_site_id number,
p_contract_id number, p_contract_line_id number,
p_resolution_summary varchar2,
x_status out varchar2, x_mesg out varchar2) as
l_proj_incident_type_id number;
l_isr_incident_type_id number;
l_tac_incident_type_id number;
l_status varchar2(10) := 'S';
l_sr_closing_flag number;
l_mesg varchar2(3000) := null;
err_mesg varchar2(3000) := null;
L_SO_ID NUMBER;
L_LINK_REC CS_INCIDENTLINKS_PUB.CS_INCIDENT_LINK_REC_TYPE;
L_OBJECT_VERSION_NUMBER NUMBER;
L_RECIPROCAL_LINK_ID NUMBER;
L_LINK_ID NUMBER;
l_QTE_REC ASO_QUOTE_PUB.qte_header_rec_type;
l_control_REC ASO_ORDER_INT.control_rec_type;
l_Order_Header_Rec ASO_ORDER_INT.Order_Header_Rec_Type;
l_Order_Line_Tbl ASO_ORDER_INT.Order_Line_Tbl_type;
l_Return_Status VARCHAR2(30);
l_Msg_Count NUMBER;
l_Msg_Data VARCHAR2(3000);
l_Msg_INDEX_OUT NUMBER;
l_OUT_MESSAGE VARCHAR2(3000);
l_proj_flag number;
l_quote_status_id number;
l_orders_created number;
l_chargeable_sr_flag number;
l_sr_close_flag number;
l_invalid_outage_info number;
begin
l_status := 'S';
l_mesg := null;
-- MO_GLOBAL.INIT('CS');
-- Get the Project Service Request Id
select incident_type_id into l_proj_incident_type_id
from cs_incident_types_tl
where name like 'XXX TAC Project'
-- and language = 'US'
and rownum < 2;
-- Get the ISR Service Request Id
select incident_type_id into l_isr_incident_type_id
from cs_incident_types_tl
where name like 'XXX TAC ISR'
-- and language = 'US'
and rownum < 2;
-- Get the TNT TAC Service Request Id
select incident_type_id into l_tac_incident_type_id
from cs_incident_types_tl
where name like 'XXX TAC Service Request'
and rownum < 2;
-- and language = 'US';
select nvl((select 1
from dual
where exists( select incident_status_id
from cs_incident_statuses_b
where incident_status_id = p_status_id
and close_flag is not null
and close_flag = 'Y')
and ( p_resolution_code is null
or (p_resolution_code NOT IN ('CS_SR_CLOSED_AS_DUP', 'XXXXX_SR_CXL', 'XXXXX_SR_INFO', 'XXXXX_SR_MGMT')
and p_sr_type_id in ( l_isr_incident_type_id )),0) into l_chargeable_sr_flag
from dual;
select nvl((select 1
from dual
where exists( select incident_status_id
from cs_incident_statuses_b
where incident_status_id = p_status_id
and close_flag is not null
and close_flag = 'Y')
and ( p_resolution_code is null
or (p_resolution_code NOT IN ('CS_SR_CLOSED_AS_DUP', 'XXXXX_SR_CXL', 'XXXXX_SR_INFO', 'XXXXX_SR_MGMT')
),0) into l_sr_closing_flag
from dual;
if ( l_sr_closing_flag = 1 and ((p_resolution_summary is null) or (p_resolution_summary = FND_API.G_MISS_CHAR)) ) then
x_status := 'F';
--x_mesg := 'Resolution Summary can not be empty while closing Service request';
fnd_message.set_name ('XXXXX', 'MISSING_RESOLUTION_SUMMARY');
-- fnd_message.set_token ('MESG_PARAM', err_mesg || '::' || l_mesg);
fnd_msg_pub.ADD;
end if;
-- Check whether outage information is complete at the time of closure.
if ( l_sr_closing_flag = 1 ) then
l_invalid_outage_info := 0;
select nvl((select 1
from dual
where exists ( select 1
from cs_incidents_ext cie, ego_fnd_dsc_flx_ctx_ext grp1
where incident_id = p_service_request_id
and grp1.application_id = 170
and grp1.descriptive_flexfield_name like 'XX_SR_CONTEXT'
and grp1.descriptive_flex_context_code like 'XXXXXOutageTab'
and cie.attr_group_id = grp1.attr_group_id
and ( c_ext_attr1 is null or c_ext_attr2 is null or c_ext_attr3 is null or
c_ext_attr4 is null or c_ext_attr5 is null or c_ext_attr6 is null or
c_ext_attr7 is null or n_ext_attr1 is null or n_ext_attr2 is null or
n_ext_attr3 is null or n_ext_attr4 is null or n_ext_attr5 is null or
d_ext_attr1 is null or d_ext_attr2 is null or d_ext_attr3 is null)
-- if all of them are null then we should ignore
and NOT ( c_ext_attr1 is null and c_ext_attr2 is null and c_ext_attr3 is null and
c_ext_attr4 is null and c_ext_attr5 is null and c_ext_attr6 is null and
c_ext_attr7 is null and n_ext_attr1 is null and n_ext_attr2 is null and
n_ext_attr3 is null and n_ext_attr4 is null and n_ext_attr5 is null and
d_ext_attr1 is null and d_ext_attr2 is null and d_ext_attr3 is null))), 0) into l_invalid_outage_info
from dual;
if ( l_invalid_outage_info = 1 ) then
x_status := 'F';
fnd_message.set_name ('XXXXX', 'MISSING_OUTAGE_INFORMATION');
fnd_msg_pub.ADD;
end if;
end if;
if ( (p_sr_type_id in ( l_isr_incident_type_id )) and (l_chargeable_sr_flag = 1) ) then
if ( ( p_bill_to_customer_id is null or p_bill_to_cust_account_id is null or
p_bill_to_customer_site_id is null )) then
x_status := 'F';
--x_mesg := 'Bill to customer name/account/site is empty';
fnd_message.set_name ('XXXXX', 'ISR_INVALID_BILL_TO');
-- fnd_message.set_token ('MESG_PARAM', err_mesg || '::' || l_mesg);
fnd_msg_pub.ADD;
else
select count(*) into l_orders_created
from cs_incident_links
where subject_id = p_service_request_id
and subject_type = 'SR'
and object_type = 'ORDERS';
/* If orders are not created for this SR then create the order */
if ( l_orders_created = 0 ) then
/* Create Order */
err_mesg := 'Got the Incident Types and Incidents Status flag';
select nvl((select quote_status_id
from aso_quote_statuses_tl
where language = 'US'
and upper(meaning) = 'ENTERED'), 0) into l_quote_Status_id
from dual;
err_mesg := 'Got the Quote Status Id';
l_qte_rec.party_id := p_bill_to_customer_id;
* l_qte_rec.party_id := p_bill_to_customer_id;
* l_qte_rec.cust_party_id := p_bill_to_customer_id;
* l_qte_rec.cust_account_id := p_bill_to_cust_account_id;
* l_qte_rec.INVOICE_TO_CUST_PARTY_ID := p_bill_to_customer_id;
* l_qte_rec.INVOICE_TO_CUST_ACCOUNT_ID := p_bill_to_cust_account_id;
* l_qte_rec.INVOICE_TO_PARTY_SITE_ID := p_bill_to_customer_site_id;
* l_qte_rec.INVOICE_TO_PARTY_ID := p_bill_to_customer_id;
* l_qte_rec.quote_status_id := l_quote_status_id;
* l_qte_rec.quote_status_code := 'ENTERED';
* l_qte_rec.quote_status := 'ENTERED';
* l_control_rec.book_flag := 'N';
* err_mesg := 'set the Quote Header';*
* select nvl((select transaction_type_id*
* from oe_transaction_types_v*
* where name like 'Service Order'), 0 ) into l_qte_rec.order_type_id*
* from dual;*
* err_mesg := 'Got Order Type';*
* l_qte_rec.currency_code := 'USD';
how to insert rows in tmp table from rec_type which is in bold text .... i want to insert after the last statement .this is for debugging after executing the procedureNo version number and lots of other missing information.
That said look at the example here:
http://www.morganslibrary.org/reference/insert.html
under "RECORD INSERT." -
Error while inserting rows in a table
Hi,
We have recently migrated from 9i to 10g. We have a scheduled job out our DB which first deletes all the rows from a table and then inserts them back by selecting rows from 5 tables. This table has a composite primary key based on 6 columns in it. In 9i, when i try to insert rows into the table after deleting all the rows from it, I am able to insert the data successfully . However, in 10g, when i try doing the same operation, it fails with the ORA error:
ORA-00001: unique constraint violated
The same query which works perfectly in 9i fails in 10g
If anybody has some ideas on how to resolve the same, kindly let me know.
Thanks in advance.Hi,
I was finally able to resolve the reason behind that error message and found it even more weird. The error was because I was using the substr function for extracting the characters 1-4 from a column which is 5 characters long. When i specify the query as:
select substr(column1, 1, 4)) from table1;
only the characters 1-3 are retrieved. Now if i change the query to select substr(column1, 1, 5)) from table1, in that case also only 3 characters are retrieved although i have specified the substr to start from 1 and read till 5 characters. Also, when i run the query:
select length(substr(column1, 1, 4)) from table1 or select length(substr(column1, 1, 5)) from table1
I get the answer as 3.
However, the most amazing part is that the query is working perfectly in 9i and is retrieving the data correctly i.e. from substr 1-4.
Can anyone suggest what the problem could be?
Thanks
Edited by: CrazyAnie on May 13, 2009 1:34 AM -
Need to insert rows into 100 tables at a time
hi there,
below is our script for creation of 100 tables...
we need a plsql script, to insert rows into 100 tables at a single time...
please help us...vey urgent...
DECLARE
counter NUMBER;
sql_string VARCHAR2(2000);
BEGIN FOR counter IN 1..100 LOOP sql_string := 'CREATE TABLE emp_table'||counter||'
(id integer primary key, col_a VARCHAR2(42),col_b date,col_c number,col_d varchar2(20),col_e varchar2(20),
col_f varchar2(20),col_g varchar2(20),col_h date,col_i varchar2(20),col_j varchar2(20),col_k date)';
EXECUTE IMMEDIATE sql_string;
END LOOP;
END;
/hi,
below is our procedure and the error we are getting...
Name Null? Type
ID VARCHAR2(10)
COL_A VARCHAR2(10)
COL_B VARCHAR2(10)
COL_C VARCHAR2(10)
COL_D VARCHAR2(10)
COL_E VARCHAR2(10)
COL_F VARCHAR2(10)
COL_G VARCHAR2(10)
COL_H VARCHAR2(10)
COL_J DATE
DECLARE
counter NUMBER;
sql_string VARCHAR2(4000);
BEGIN FOR counter IN 1..100 LOOP sql_string := 'CREATE TABLE emp_a'||counter||'
(id varchar2(10), col_a varchar2(10), col_b varchar2(10), col_c varchar2(10), col_d varchar2(10), col_e varchar2(10),
col_f varchar2(10), col_g varchar2(10), col_h varchar2(10), col_j date)';
EXECUTE IMMEDIATE sql_string;
END LOOP;
END;
DECLARE
counter NUMBER;
sql_string VARCHAR2 (2000);
BEGIN
FOR OuterCounter IN 1 .. 100 LOOP --- table prefix in which it is to be inserted
FOR InnerCounter IN 1 .. 100 LOOP --- records to be inserted
sql_string := 'INSERT INTO emp_a' || Outercounter || ' (id, col_a, col_b, col_c, col_d, col_e, col_f, col_g, col_h, col_j)
VALUES ('
|| InnerCounter || ', to_char( ''col_a''' || innercounter || '),'
|| InnerCounter || ', to_char( ''col_d''' || innercounter || '),'
|| ', to_char( ''col_e''' || innercounter || '),'
|| ', to_char( ''col_f''' || innercounter || '),'
|| ', to_char( ''col_g''' || innercounter || '),'
|| ', to_char( ''col_h''' || innercounter || '),'
|| ', to_char( ''col_j''' || innercounter || '), SYSDATE)';
EXECUTE IMMEDIATE sql_string;
END LOOP;
END LOOP;
END;
DECLARE
ERROR at line 1:
ORA-00907: missing right parenthesis
ORA-06512: at line 17
please check the procedure and write the correct one... -
Insert row and delete row in a table control
Hi Experts,
I am using a table control in module pool programming, How can I Insert row and delete row in a table control?
Thanks in Advance....Santhosh,
Iam using this code..
FORM fcode_delete_row
USING p_tc_name TYPE dynfnam
p_table_name
p_mark_name .
-BEGIN OF LOCAL DATA----
DATA l_table_name LIKE feld-name.
data: p_mark_name type c.
FIELD-SYMBOLS <tc> TYPE cxtab_control.
FIELD-SYMBOLS <table> TYPE STANDARD TABLE.
FIELD-SYMBOLS <wa>.
FIELD-SYMBOLS <mark_field>.
-END OF LOCAL DATA----
ASSIGN (p_tc_name) TO <tc>.
get the table, which belongs to the tc *
CONCATENATE p_table_name '[]' INTO l_table_name. "table body
ASSIGN (l_table_name) TO <table>. "not headerline
delete marked lines *
DESCRIBE TABLE <table> LINES <tc>-lines.
LOOP AT <table> ASSIGNING <wa>.
access to the component 'FLAG' of the table header *
ASSIGN COMPONENT p_mark_name OF STRUCTURE <wa> TO <mark_field>.
if <MARK_FIELD> = 'X'.
PERFORM f_save_confirmation_9101.
IF gv_answer EQ '1'.
DELETE <table> INDEX syst-tabix.
IF sy-subrc = 0.
<tc>-lines = <tc>-lines - 1.
ENDIF.
ELSE.
ENDIF.
ENDIF.
ENDLOOP.
in this code ASSIGN COMPONENT p_mark_name OF STRUCTURE <wa> TO <mark_field>.
if <MARK_FIELD> = 'X'.
this code is not working... -
Runtime error when inserting rows in hrp1018 and hrt1018 tables
Hi All,
I have a requirement to insert row in hrp1018 and hrt1018 tables.These tables are interlinked.So, I have used FM 'RH_INSERT_INFTY'. The exact code which I have used is as follows.
*****************************************code***************************************************************
<< Please post only the relevant portion of the code >>
The runtime error which is coming is as follows:
Error analysis
An internal error in the database interface occurred during access to
the data of table "HRT1018 ".
The situation points to an internal error in the SAP software
or to an incorrect status of the respective work process.
For further analysis the SAP system log should be examined
(transaction SM21).
For a precise analysis of the error, you should supply
documents with as many details as possible.
Please let me know why this error is coming.I am not able to find out mistake in the FM and form used in the code.
Thanks in advance,
BBKrishna.
Edited by: Rob Burbank on Jun 9, 2009 1:31 PMI am adding the code once again.Please let me know why the error is coming up.
lv_mproj = 'BLDNG'.
wa_p1018-mandt = sy-mandt.
wa_p1018-otype = '9M'.
wa_p1018-objid = '50009650'.
wa_p1018-begda = '20090608'.
wa_p1018-endda = '99991231'.
wa_p1018-infty = '1018'.
wa_p1018-plvar = '01'.
wa_p1018-otype = '9M'.
wa_p1018-istat = '1'.
append wa_p1018 to it_p1018.
repid = sy-repid.
*Updating hrp1018 and hrt1018 tables
CALL FUNCTION 'RH_INSERT_INFTY'
EXPORTING
FCODE = 'INSE'
VTASK = 'D'
AUTHY = ' '
REPID = repid
FORM = 'FILL_TABS'
TABLES
INNNN = it_p1018
EXCEPTIONS
NO_AUTHORIZATION = 1
ERROR_DURING_INSERT = 2
REPID_FORM_INITIAL = 3
CORR_EXIT = 4
BEGDA_GREATER_ENDDA = 5
OTHERS = 6
IF SY-SUBRC <> 0.
CALL FUNCTION 'BALW_BAPIRETURN_GET'
EXPORTING
TYPE = SY-MSGTY
CL = sy-msgid
NUMBER = SY-MSGNO
PAR1 = ' '
PAR2 = ' '
PAR3 = ' '
PAR4 = ' '
LOG_NO = ' '
LOG_MSG_NO = ' '
IMPORTING
BAPIRETURN = return_rec
EXCEPTIONS
ONLY_2_CHAR_FOR_MESSAGE_ID = 1
OTHERS = 2
IF SY-SUBRC <> 0.
lv_mproj = text-011
ELSE.
ii_return = return_rec.
CONCATENATE ii_return-type '-' ii_return-message
INTO lv_err_msg SEPARATED BY SPACE.
ENDIF.
ENDIF.
*RHCD_TAB-PROZT
FORM fill_tabs TABLES ins_tab
USING ins_set ins_index.
DATA : BEGIN OF set.
INCLUDE STRUCTURE wplog.
DATA : END OF set.
DATA: BEGIN OF h_pt1018. "to initialize INS_TAB
INCLUDE STRUCTURE pt1018.
DATA: END OF h_pt1018.
REFRESH ins_tab.
set = ins_set.
CASE set-infty.
WHEN '1018'.
h_pt1018-posnr = lv_mproj.
h_pt1018-prozt = '100.00'.
IF NOT ( h_pt1018 IS INITIAL ).
CLEAR ins_tab.
ins_tab+36(8) = lv_mproj. "h_pt1018.
ins_tab+134(5) = '100.00'.
APPEND ins_tab.
ENDIF.
ENDCASE.
ENDFORM. -
Hi Experts,
Which part of the program in BCALV_EDIT04 is responsible for inserting a row in the grid? there is code to handle the data in the inserted line, to check the cells modified using the protocol, and event handler too. Can you please explain which fm or subroutine or step adds a new row to the grid when teh insert button in tool bar is pressed.
I also want some guidance reg the event handler thing. Is mouse click on the cell makes the methods of the protocol to be called? ( I am a java student.. learning SAP slowly.. can you please help me?)methods:
get_inserted_rows
exporting
inserted_rows type sflight_keys.
This part of the code is responsible for inserting rows in a grid. We call this method to insert records in the Grid.
There is no such function module implemented here. We implement the above functionality using <b>Classes and Methods</b>.
Just go to transaction SE24. You'll have a list of Classes in that transaction. Also, we can implement methods using those classes.
Regards,
Pavan. -
Inserting rows in table while logging errors...Urgent
Hi all,
i want to insert rows from temp table to main table.
if temp table contains 100 rows.then all rows must be inserted
in main table.if their is any exception while insertion,
insertion must nt stop and erroring rows along with error no must be inserted in
error log table.
How to do this ?
i used forall save exceptions to achieve this .
but ws able to save only error no. but not errroing rows in error log table.
is there any efficient way to achieve this?
can forall be modified in way that it inserts erroring rows also?????Hi,
1.) does dbms_errorlog works fine in this case?If all of your 807 tables having same columns then i think it will work (NOT TESTED).
By the way are you also trying to insert rows for all tese 807 tables in a single PL/SQL block?
Please post how you are trying to insert then we can think about it,
Oracle ERROR_LOG table allows us to have any number of columns.
From the Oracle Docs:
The number of columns in this part of the error logging table can be zero, one, or more, up to the number of columns in the DML table. If a column exists in the error logging table that has the same name as a column in the DML table, the corresponding data from the offending row being inserted is written to this error logging table column. If a DML table column does not have a corresponding column in the error logging table, the column is not logged. If the error logging table contains a column with a name that does not match a DML table column, the column is ignored.
Regards
Maybe you are looking for
-
Moving documents to other document library using content organizer rule
Hi Team,<o:p></o:p> I have created a content organizer rule to move documents from one document library to another.<o:p></o:p> I have two document libraries say Doc A and Doc B, where Doc A is a source library (where I will upload the documents) and
-
Unique circumstance: SC create This takes 3 minutes and 30 seconds on one domain when using Windows 8.1 & 2012R2. We have two domains: D1.com and D2.D1.com. If we place a Windows 8.1 or 2012R2 VM on the D2.D1.com domain and run the sc command to c
-
Reg: how much hard disk space required?
hi expert's i am planning to install netweaver(bi 7) in my desktop pc. so how much hard disk space is required for this. what are all the hardware requirements needed? regards harikrishna N
-
While I was installing Microsoft Student/Office-2007 the PC restarted automatically. Now I can't boot. I have tried to go into 'safe mode', do a system restore, go to a previous restore point and nothing is happening. In other words I haven't been a
-
Help me capture stills from mov files of kodak camera created in pal format
I did not know the difference and saved movie files on my kodak digital camera as pal format - it was top of list - i need to capture some stills as single photos from those files. I have switched to NTSC format for future and will want to capture st