Problem in response of a webservice when called from web dynpro
My web dynpro application is communiting with XI using a webservice..
its working fine and giving me a PAYLOAD in response as give below
SyncId>911</SyncId>
<SyncInstanceId>910</SyncInstanceId>
<b><u><SourceSystem xsi:type="ns1:/wsdl:definitions/wsdl:types/xsd:schema/xsd:complexType/xsd:sequence/xsd:element[4]/xsd:simpleType">EI6400</SourceSystem></u></b>
<Direction>1</Direction>
<ResourceMaster>false</ResourceMaster>
</ns1:InspireCancelRequest>
here xsd:type of SourceSystem is string.. and for others it is integer and boolean..
i dont want <b><u><SourceSystem xsi:type="ns1:/wsdl:definitions/wsdl:types/xsd:schema/xsd:complexType/xsd:sequence/xsd:element[4]/xsd:simpleType">EI6400</SourceSystem></u></b>
this information into payload..
<i>why this is happening only about string type?</i> and not for others..
Hi Snehal,
u can check here ,if it help
<a href="/people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1:///people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
<a href="/people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2:///people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
regards
Sumit
Similar Messages
-
Problem in response of XI webservice when called through webdynpro
My web dynpro application is communiting with XI using a webservice..
its working fine and giving me a PAYLOAD in response as give below
SyncId>911</SyncId>
<SyncInstanceId>910</SyncInstanceId>
<b><u><SourceSystem xsi:type="ns1:/wsdl:definitions/wsdl:types/xsd:schema/xsd:complexType/xsd:sequence/xsd:element[4]/xsd:simpleType">EI6400</SourceSystem></u></b>
<Direction>1</Direction>
<ResourceMaster>false</ResourceMaster>
</ns1:InspireCancelRequest>
here xsd:type of SourceSystem is string.. and for others it is integer and boolean..
i dont want <b><u><SourceSystem xsi:type="ns1:/wsdl:definitions/wsdl:types/xsd:schema/xsd:complexType/xsd:sequence/xsd:element[4]/xsd:simpleType">EI6400</SourceSystem></u></b>
this information into payload..
<i>why this is happening only about string type?</i> and not for others..Hi Snehal,
u can check here ,if it help
<a href="/people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1:///people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
<a href="/people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2:///people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
regards
Sumit -
Pass Parameters to an external appl when launched from web dynpro ABAP .
I want to Pass Paramaters to an external application when launced from Web dynpro ABAP . I have successfully launched an .exe file ( Notepad / eViewHSEditor ) from Web dynpro using the logic from Standard WD_TEST_APPL_ACFEXECUTE component But I am unable to Pass paramters to the .exe file .
example :- I would like to pass parameters text1 text2 in the arugement list and I expect it opens an untitled notepad and in the file it will have parameters text1 text2 . But it is behaving in a different way . Below are the detailed steps of what I have done .
The steps that I followed :-
1) Right now I have created the white list Configuration for Notepad.exe
2) I have created 1 and 2 postions both of type string and permission Legal .
3) The Paramter Value is * for both 1 and 2 .
4) I activated the whitelist and it generated an .XML file
5)
application = 'C:
WINDOWS
system32
notepad.exe'.
argument = 'text1 text2' .
co_element :- I am reading the element from the conrtext .
co_element = wd_context->get_lead_selection( ).
co_element_stru-attribute_name = 'ERROR'.
co_element_stru-element = co_element.
wd_this->acf_method_handler->if_wd_acfexecute~execute( application = application
argumentlist = argument
errorinformation = co_element_stru ).
when i execute the application , it is trying to launch a notepad with file 'text1 text2.txt' and it doesn't have one , it is asking do you want to create . If You yes, it will open notepad with name 'text1 text2.txt' . If you Pass abcd in the arugement list , if the file with name abcd.txt exists , it opens the notepad with that file name .You try to open notepad from your PC with the same command, you will the same result.
start->run->notepad "test1 test2". You get the popup saying that "test1 test2" file is not existing. You can google it to find a way to pass the text while opening notepad and try to fit that in your WebDynpro argument. I doubt if it is possible though. -
SAP GUI call from Web Dynpro Abap
Hi all,
I heard about the possibility to call the SAP GUI directly from my Web Dynpro Abap Application, so that the GUI is integrated in my web browser. But i could not find any information about that.
Maybe you can help me.
Thanks,
JohannesHi Johannes,
Its not possible to directly call your R/3 GUI from your WDA. You can try the "Screen Design Time Conversion" tool in SAP. You can go through this [link|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/30/f2156a26fb4b4d86c5b0ce9f86bfb3/frameset.htm] for further details regarding it.
But please also pay heed to Thomas's advise in [here|Is there a converter for classic dynpros?;.
Regards,
Uday -
Handling Submit Button on the ADOBE form called from Web Dynpro
Hi,
I have placed a Button on the ADOBE Form. How to Handle the event on this button. When i click this button, i want to save the details of the form into a Custom table.Hi Majunath.
Create an event say, SUB_EVTin the view in WD where you have the Interactive Form UI element.
Bind this event to the onSubmit of the Form.
Now check the display type of the form. It will be either ActiveX or Native.
Now go to the form designer and open Library palette. Navigate to Webdynpro ActiveX or Native Library(Depending on the form display Type in WD).
Drag and Drop Submit button.
On click of the button, the event handler in WD view namely, onActionsub_evt will be invoked. You can write your code in this handler.
Now in order to read data from the form. Go to the form and go to Properties tab. Check the form layout type. If it is not ZCI, run transaction SFP_ZCI_UPDATE and convert the form to ZCI type.
Now back to the event handler.
as an example... I will use the following context node definitions
PDF_DATA 1..1
ACTUAL_DATA 0..n
ATTRIB01
ATTRIB02
Assume the the node PDF_DATA is bound to the data source of your form.
Now in the event handler write the foll code
data: lo_node type ref to if_wd_context_node,
lt_data type wd_this->elements_actual_data.
lo_node = wd_context->get_child_node( name = wd_this-.wdctx_pdf_data ).
lo_node = lo_node->get_child_node( name = wd_this-.wdctx_actual_data ).
lo_node->get_static_attributes_table(
importing
table = lt_data ).
This will get all the form data in the internal table lt_data.
Now you can process the data the way you want and save it in your custom tables.
Regards,
Reema .
Edited by: Reema Shahbazkar on Sep 16, 2008 11:39 PM
Hope this helps!! -
WDA app not launched with SSO when called from portal
Hi,
we have configured our systems so that our portal (NW Portal 7.0) is issuing logon tickets and ERP6.0 is receiving them in the backend for single sign-on.
When launching a SAP GUI for Windows transaction (System admin->Support->SAP Application) to test if the SSO is set up correctly, all goes well and I'm able to call e.g. SU01 with logon tickets from the portal.
My problem is that when calling a Web Dynpro for ABAP application in the same backend system from the same portal, I get an error "SSO logon not possible; logon tickets not activated on the server" and need to login manually when starting the application.
When looking at the WDA app URL, I see http://<backend server>.<domain1>.com/... and the portal is sitting on http://<portal server>.<domain2>.com. Could it be a problem if the backend system is in another domain? And if yes, how come the SAP GUI for Windows launch then works (related to an http connection and domain relaxing?)? How to go forward and make it work all right?
Best regards,
MikkoHi Navarro,
Merry Xmas:)
>>We did the same test with the demo app from you (MS)
http://msdn.microsoft.com/en-us/library/windows/apps/hh202967(v=vs.105).aspxand it still don't work. (remember to setup
fast app resume)
Yes, I can reproduce your issue using the official sample.
I think this issue is caused by the mechanism of Fast app resume, please refer to the following reference:
#Fast app resume for Windows Phone 8
http://msdn.microsoft.com/en-us/library/windows/apps/jj735579(v=vs.105).aspx
Quote:
With Fast Resume, when an app is resumed, the system creates a new page instance for the target of the launch point and this page is placed on top of the app’s existing backstack.
This official sample can also help us to understand how it works:
https://code.msdn.microsoft.com/windowsapps/Fast-app-resume-backstack-f16baaa6
We could find that the Application.Launching event will not be triggered if we used Fast app resume, this will affect responding Toast's parameter(Deep Link).
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
JTextField update problem when called from PropertyChangeEvent
Hi,
I'm trying to create forms that can be dynamically loaded with Class.forname(formName).
Those forms should always inherit some methods that make it easy to pass data to
them and receive data from them. The idea is that the data comes from a table which
sends a hashmap (String column/JTextField-name + String Value pairs) with firePropertyChanged
as soon as a new row is seleceted. The JTextFields in the form are marked with setName("FieldName") that has to correspond to the name of the columns of the table.
My problem is that I can't update the fields in my form when I'm calling getRow(HashMap)
from within propertyChangeEvent but that's necessary to keep the forms flexible.
JTextFieldName.setText(newText) just won't work. But it works when I call getRow(HashMap)
from the constructor. SwingWorker and threads to update the form didn't help.
I don't need to call pack() / update() / repaint() on the JFrame, do I ??
update() / validate() / repaint() etc. didn't work on the JTextField themselves.
Below is the code for one of the test-forms (just a JPanel that is inserted in a frame)
with all of it's methods. Does anybody have a solution to this problem ??
Thanks for taking time for that !!
Benjamin
* testTable.java
* Created on 15. April 2004, 16:12
package viewcontrol.GUI;
* @author gerbarmb
import javax.swing.*;
import java.awt.*;
import java.beans.*;
import java.util.*;
public class testTable extends javax.swing.JPanel
implements
java.awt.event.KeyListener,
java.beans.PropertyChangeListener {
* public static void main(String[] argv) { testTable tt = new testTable();
* JFrame jf = new JFrame(); jf.setContentPane(tt); jf.setVisible(true); }
/** Creates new customizer testTable */
public testTable() {
initComponents();
HashMap hm = new HashMap();
* Only for debugging, to see that the method getRow() works when
* called from the constructor.
hm.put("ttext", "TEst");
this.getRow(hm);
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the FormEditor.
private void initComponents() {//GEN-BEGIN:initComponents
java.awt.GridBagConstraints gridBagConstraints;
jLabel1 = new javax.swing.JLabel();
textIn = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
intIn = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
numIn = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
dateIn = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
dateTimeIn = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jCheckBox1 = new javax.swing.JCheckBox();
keepValues = new javax.swing.JCheckBox();
jButton1 = new javax.swing.JButton();
setLayout(new java.awt.GridBagLayout());
jLabel1.setText("Text");
add(jLabel1, new java.awt.GridBagConstraints());
textIn.setName("ttext");
textIn.setPreferredSize(new java.awt.Dimension(100, 21));
textIn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
textInActionPerformed(evt);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = 2;
add(textIn, gridBagConstraints);
jLabel2.setText("Integer");
add(jLabel2, new java.awt.GridBagConstraints());
intIn.setName("tint");
intIn.setPreferredSize(new java.awt.Dimension(50, 21));
add(intIn, new java.awt.GridBagConstraints());
jLabel3.setText("Number");
add(jLabel3, new java.awt.GridBagConstraints());
numIn.setName("tnum");
numIn.setPreferredSize(new java.awt.Dimension(50, 21));
add(numIn, new java.awt.GridBagConstraints());
jLabel4.setText("Date");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
add(jLabel4, gridBagConstraints);
dateIn.setName("tdate");
dateIn.setPreferredSize(new java.awt.Dimension(50, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
add(dateIn, gridBagConstraints);
jLabel5.setText("DateTime");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 1;
add(jLabel5, gridBagConstraints);
dateTimeIn.setName("tidate");
dateTimeIn.setPreferredSize(new java.awt.Dimension(80, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 1;
add(dateTimeIn, gridBagConstraints);
jLabel6.setText("Bit");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 1;
add(jLabel6, gridBagConstraints);
jCheckBox1.setName("tbit");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 1;
add(jCheckBox1, gridBagConstraints);
keepValues.setText("keep values");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 7;
gridBagConstraints.gridy = 3;
add(keepValues, gridBagConstraints);
jButton1.setText("Send");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 7;
gridBagConstraints.gridy = 2;
add(jButton1, gridBagConstraints);
}//GEN-END:initComponents
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
sendRow();
}//GEN-LAST:event_jButton1ActionPerformed
private boolean sendRow() {
java.util.HashMap hm = new java.util.HashMap();
Component[] cs = this.getComponents();
for (int i = 0; i < cs.length; i++) {
if (((Component) cs).getName() != null) {
if (cs[i] instanceof JCheckBox) {
String value = ((JCheckBox) cs[i]).isSelected() ? "1" : "0";
hm.put(cs[i].getName(), value);
} else if (cs[i] instanceof JCheckBox) {
hm.put(cs[i].getName(), ((JTextField) cs[i]).getText());
} // end for
firePropertyChange("rowChanged", null, hm);
return true;
private void getRow(java.util.HashMap hm) {
//if (! this.keepValues.isSelected()) {
Component[] cs = this.getComponents();
for (int i = 0; i < cs.length; i++) {
if (cs[i].getName() != null && hm.containsKey(cs[i].getName())) {
Component component = cs[i];
String componentName = cs[i].getName();
String componentValue = (String) hm.get(component.getName());
if (cs[i] instanceof JTextField) {
// output for debugging
System.out.println("Setting " + cs[i].getName() + " = "
+ componentValue);
((JTextField) component).setText(componentValue);
} else if (cs[i] instanceof JCheckBox) {
// output for debugging
System.out.println("JCheckBox found");
JCheckBox cb = (JCheckBox) component;
boolean selected = (componentValue == null ? false : (componentValue.equals("1")
? true
: false));
((JCheckBox) component).setSelected(selected);
} // end for
/* Uncomment this code snippet to retrieve the text that has been set
for the components (that means JTextFields)
This is just for debugging !
Component[] cs = this.getComponents(); for (int i = 0; i < cs.length;
i++) { if (cs[i].getName() != null) { if (cs[i] instanceof
JTextField) { System.out.println("Value of " +cs[i].getName() + " = " +
((JTextField) cs[i]).getText()); } } } // end for
private void textInActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_textInActionPerformed
}//GEN-LAST:event_textInActionPerformed
public void keyPressed(java.awt.event.KeyEvent e) {
if (e.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {
sendRow();
public void keyReleased(java.awt.event.KeyEvent e) {
public void keyTyped(java.awt.event.KeyEvent e) {
public void propertyChange(java.beans.PropertyChangeEvent evt) {
if (evt.getPropertyName().equals("newRow")) {
final PropertyChangeEvent finalEvt = evt;
Runnable makeChanges = new Runnable () {
public void run() {
getRow((java.util.HashMap) finalEvt.getNewValue());
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JTextField dateIn;
private javax.swing.JTextField dateTimeIn;
private javax.swing.JTextField intIn;
private javax.swing.JButton jButton1;
private javax.swing.JCheckBox jCheckBox1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JCheckBox keepValues;
private javax.swing.JTextField numIn;
private javax.swing.JTextField textIn;
// End of variables declaration//GEN-END:variablesThe problem of the change in the form not being comitted is that
I forgot SwingUtilities.invokeLater(makeChanges); in the bottom
part in public void propertyChange(java.beans.PropertyChangeEvent evt)
after having created a new Runnable.
Changes to the UI often have to be comitted by SwingUtitlities.invokeLater()
though I don't know that much about Swing yet.
Thanks to everybody who tried to solve that problem.
Benjamin -
The problem by hearing my voice when calling from iMAC
I use the latest version of OS X and iOS on all my devices (OS X and iOS 8.1.1 10.10.1). The receiving calls through iPhone 5 have a problem with hearing my voice when calling from iMAC. When make incoming, but also outgoing call through iPhone5 on my iMac, I can hear the caller, but he can not hear me, although tilde see sound when I speak to your iMac.
When the call using my iMac I can hear the caller, but he's not me.
MacBook Air while everything works smoothly, there hear me. You do not know me with this please help?
ThanksYes, my microphone works correctly, f.e. skype, record spund for my videos... no problem with microphone on my iMAC
-
Query response time takes more time when calling from package
SELECT
/* UTILITIES_PKG.GET_COUNTRY_CODE(E.EMP_ID,E.EMP_NO) COUNTRY_ID */
(SELECT DISTINCT IE.COUNTRY_ID
FROM DOCUMENT IE
WHERE IE.EMP_ID =E.EMP_ID
AND IE.EMP_NO = E.EMP_NO
AND IE.STATUS = 'OPEN' ) COUNTRY_ID
FROM EMPLOYEE E
CREATE OR REPLACE PACKAGE BODY UTILITIES_PKG AS
FUNCTION GET_COUNTRY_CODE(P_EMP_ID IN VARCHAR2, P_EMP_NO IN VARCHAR2)
RETURN VARCHAR2 IS
L_COUNTRY_ID VARCHAR2(25) := '';
BEGIN
SELECT DISTINCT IE.COUNTRY_ID
INTO L_COUNTRY_ID
FROM DOCUMENT IE
WHERE IE.EMP_ID = P_EMP_ID
AND IE.EMP_NO = P_EMP_NO
AND IE.STATUS = 'OPEN';
RETURN L_COUNTRY_ID;
EXCEPTION
WHEN OTHERS THEN
RETURN 'CONT';
END;
END UTILITIES_PKG;
when I run above query its coming in 1.2 seconds.but when comment subquery and call from package its taking 9 seconds.query returns more than 2000 records.i am not able to find the reason why it is taking more time when calling from package?You are getting a different plan when you run it as PL/SQL most likely. Comment your statement:
SELECT /* your comment here */then find them in V$SQL and get the SQL IDs. You can then use DBMS_XPLAN.DISPLAY_CURSOR to see what is actually happening.
http://www.psoug.org/reference/dbms_xplan.html -
Stored Procedure Does Not Run Properly When Called From Portlet
We have a simple Java portlet that calls a PL/SQL stored procedure which we wrote. The stored procedure sends a large number of emails to users in our corporation using the "utl_smtp" package. The stored procedure returns a count of the emails back to the Java portlet when it's finished. This number is displayed in the portlet.
Our problem:
The stored procedure functions as expected when run from a PL/SQL block in SQL*Plus, and the Java portlet calls the procedure properly when sending out a smaller number of emails (Less than 200 usually). When we get into a higher number of emails the procedure hangs when called from the portlet, but it STILL functions properly from SQL*Plus. It does not return the number of emails sent
and the Java portlet is unable to return a SQLException. Also, we have noticed that emails are sent at a much slower pace from the stored procedure when it's called from the portlet.Any Ideas?
-
Advanced table:not able to view more than 10 rows when called from workflow
Hi everyone,
I'm calling a page that contains advanced table and its controller class from two places.
First one is from a inquiry form, when this page is called it works fine. when there are more than 10 rows, first 10 are shown on page render and when we click on Next link, other rows are shown. This is becuase I have given the records displayed property on adavanced table = 10. I'm fine till here.
Second one is I'm calling this page again from a workflow notificaiton. There is a link called view more details on the workflow notification , click of this link will open the page with 10 records displayed. But when user tries to click on Next it doesn't work. It just doesn't refresh.
Its very wierd,. not able to understand what could be wrong when calling from wf notificiton. Its the same page and conroller code used in both the places.
Please help me!!
Thanks
SunnyThanks for your response Kristofer. You are correct, there was a difference in the parameters and the issue is resolved now.
-
Is it possible to call diff report queries when called from form
hello all
I want to know if it is possible to call different report queries when called from oracle 9i form .
i tried to use he
SET_REPORT_OBJECT_PROPERTY(REPORT_QUERY = 'q_diff' )
option and actualy called the report name
but it dint seem to work !!!
also is it possible to chng the title of the browser at runtimeSandeep,
this property is used with passing Record Groups as data parameters from Forms.
Passing the query name indicates that the values contained in the record group substitutes the result of the named query. This may work in client/server Reports, but it definitively doesn't work on teh Web because you can't pass a Record Group as a data parameter in this environment.
Te problem with changing a Reports query is that you must meet the same number of columns and column types as they exist in the Report. I didn't spend much time with XML based runtime customization in Reports. I think that you can change the Reports query through this feature. In Forms you would create the XML file using text_io and the merge it with an existing Reports. I never did this before. So it could be that all I am saying does not work in the end. Before following this idea, you may better ask in teh Reports forum on OTN if it is possible to use the runtime customization feature to modify the Reports query.
Fran -
Bring Excel 2007 to the front when called from LabView v9 in Windows 7
I am building a duplicate system using Windows 7, LabView v9 and Excel v2007. The original system used WinXP, Excel 2007 and LabView v8.6. The issue is that the original system was able to bring Excel to the front when called from Labview using the property node -application-> visible. This new configuration runs Excel, loads the data, runs the macros but does not bring Excel to the front. The icon blinks in the Win7 taskbar and when selected displays over LabView. If I minimize the Labview window, Excel is there. This leads me to conclude that Excel is visible, as requested but will not come to the front until selected from the taskbar. The only differences, besides the versions, is the original system template files used the .xls extension in and was run in Excel in compatible mode. At the customers request, the new system uses the .xlsm extension on the Excel template files. I have tried using application.visible = True in the macro as well. Could be a setting in Labview? Could be a setting in Excel? Could be .xls vs. .xlsm? Or an issue with Windows 7 and the newer version of Labview.
HP workstation - Labview v9 - Windows 7 - Excel 2007 sp2
Thank you in advance
Stephen
Solved!
Go to Solution.I will try the windowstate change. Were these done in succession? (i.e. property node -> property node -> property node) Or were they done along the way such as call the ActiveX open and a property node then in a worksheet modification area etc. so there was some time between calls?
I am not sure about the API since the discussion there is with regard to DDE. (Taken from the link document: If you want to call a DLL that contains ActiveX
objects, use the Automation
Open VI with the Property
Node and the Invoke
Node.). I am calling Excel as an application not as a library call unless I am mistaken, which I could certainly be. Are you thinking that once Excel is active through the Automation Open VI that a DLL call to set the application visible would work? I may be trying this already but in Excel through the use of the macro I call from LabView. It contains application.visible = True at the beginning before reading files and plotting data.
I may try sprinkling Property node with application->visible in various locations in the LabView diagram as I do update cells after the call to the plot macro. The puzzle for me is the blinking Excel icon in the task bar. This means active and running but not visible or something wrong as well. There are a few #VALUE cells if not all test in the system are run. Again not a problem in Excel 2007-WinXP-LV8.6
Thank you again one and all. -
SESSION EXPIRED and CPU Utilisation is 100% when called from Pro*C
Dear Colleague
We are having a production system developed using Pro*c and PL/SOL packages in HP Unix.
The system is doing the following,
A file will be decoded using Proc and data will be load into 3 temporary tables (permanent table used for temporary) using SQLLoader. Then it calls a PL/SQL package which will process the data in the temporary tables and will store the summary information in Transaction table and will returns a unique id to the calling Pro*c module. The whole process is completed in a single process/oracle session.
The PL/SQL package, join the 3 Temporary tables and retrieve the data into an Oracle object(Collection) and process it. Then the processing summary will be loaded into Transaction table and return the Primary key.
Now the problem is, when the temporary tables are loaded with more than 200,000 rows, in some cases the system is running for hours before it finish. And during the process the session shows as EXPIRED in the database and CPU utilization for the respective ProcessId in Unix is almost 100%. Then after a while the session comes alive and finishes the process.
And for some other cases, with same row count, the entire process finished in seconds.
If the same process (PL/SQL package) when run directly using a separate session inside the database(and the temporary tables are still available), rather than calling from Pro*c, it finishes in seconds, where it took hours when called from Pro*c.
It will be highly appreciated, if anyone let me know, what actually is wrong. whether it is the resource allocation or should there any known problem in calling huge PL/SQL packages from Pro*C.
we are using Oracle 10g and HP-UX ed42 B.11.31 U System.
regards
SajidDear Colleague
I just want to rephrase the problem again.
We have a Pro*C application. This will read the binary file and dump the data in ascii format to a data file. Then, within from the pro*C, 14 Dynamic tables will be created using EXEC SQL EXECUTE IMMEDIATE statement, each having almost a maximum of 45 columns. Also, created INDEXES to the tables in the same way from Pro*C.
And Control file will be created as follows
OPTIONS (SILENT=(FEEDBACK)) UNRECOVERABLE
LOAD DATA
INTO TABLE FILENAME_BCI_USED
FIELDS TERMINATED BY '|'
TRAILING NULLCOLSColumns Listed
Then Sql loader will be called using system commands (from pro*C itself) to loead the data into the table, as follows.
sprintf(syscommand,"sqlldr %s CONTROL=%s DATA=%s log=%s rows=5000 direct=true", glb_connect_string,ctl_file,data_file, log_file );
ret_value = system(syscommand);data loaded successfully.
Then the Pro*C will call a PL/SQL package for processing the data.
The PL/SQL package, to process the data, dynamically construct the below query and use it for the reference cursor to retrieve data and load into a collection.
v_sql_query := 'SELECT '|| '/*+ index(b '||p_File_Name ||'_1) index(b '||p_File_Name ||'_2) index(s '||p_File_Name ||'_3) index(s '||p_File_Name ||'_4) index(s '||p_File_Name ||'_5) index(s '||p_File_Name ||'_6) index(e '||p_File_Name ||'_7)*/' || '
iot_call_record(b.rec_no ,
b.rec_type ,
substr(b.field1,1,15) ,
nvl(substr((select s0.field1 from ' || SU_Table ||
' s0 where s0.rec_no = s.rec_no and s0.sub_rec_type = 203) ,1, 25),
substr(b.field2, 1, 25)),
substr(b.field3,1,25) ,
b.field4 ,
b.field5 ,
s.field1 ,
s.field2 ,
(select sum(s1.field1) from ' || SU_Table ||
' s1 where s1.field2 = s.rec_no and trim(s1.field2) = ''00'' ) ,
s.field3 ,
e.field2/power(10,e.field3) ,
s.field4 ,
s.field5 ,
s.field6 ,
s.field7 ,
s.field8 ,
s.field9 ,
s.field10 ,
nvl(b.field6,''F'') ,
NULL ,
s.field11 ,
(select sum(s2.field11) from ' || SU_Table || ' s2 where s2.rec_no = s.rec_no) ,
NULL)
FROM ' || BCI_Table || ' b , ' || SU_Table || ' s, ' || EXCH_Table ||
' e WHERE b.filename = s.filename
AND b.rec_no = s.rec_no
AND (b.field7 = 0 OR b.field7 = 1)
AND TRIM(s.chg_type) = ''00''
AND (s.field1 = e.field2_Code )
AND not(s.field4 = ''V'' and s.field12 > 1)
AND not(s.field4 = ''W'' and s.field12 > 1)
AND not(b.rec_type = 75 and s.field12 > 1)
AND not(b.rec_type = 75 and s.field4 =''D'')
AND s.sub_rec_type <> 203
and (s.field12 = 1 or b.rec_type not in (20,30))';
OPEN cur_call_events FOR v_sql_query;
LOOP
g_tab_call_events.DELETE;
-- Execute immediate v_sql_query bulk collect into g_tab_call_events;
FETCH cur_call_events BULK COLLECT
INTO g_tab_call_events limit 5000;
EXIT WHEN g_tab_call_events.COUNT = 0;
BEGIN
SAVEPOINT Block_Begin;
process_records(p_file_name,
g_tab_call_events);
EXCEPTION
WHEN Severe_Error THEN
Write_error('S');
ROLLBACK TO Block_Begin;
WHEN Warning THEN
Write_error('W');
WHEN NO_DATA_FOUND THEN
Write_error('S');
ROLLBACK TO Block_Begin;
END;
END LOOP;And the above module is behaving strangely.
With almost 150K or more rows in BCI_Table & SU_Table each and less than 10 rows in EXCH_Table, the application takes more than 100 minutes to complete the process.
When we checked the session activity, it is showing the same query for a very long time.
Where as files with 100K or less rows are getting processed in a minute.
And the performance for 150K+ rows is inconsistent, that when we isolate the package and run it directly calling from oracle, it is getting executed in less than 4 minutes. Whereas it takes 100+ minutes from Pro*C.
The execution plan for the above query is given below
Object Owner Object Name Cost Cardinality Bytes CPU cost IO cost
SELECT STATEMENT, GOAL = HINT: FIRST_ROWS 494 2497 494406 143334576 483
TABLE ACCESS BY INDEX ROWID SCHEMA1 FILENAME_SU_USED 4 1 21 30610 4
INDEX RANGE SCAN SCHEMA1 FILENAME_3 3 1 21764 3
SORT AGGREGATE 1 13
INDEX RANGE SCAN SCHEMA1 FILENAME_5 3 1 13 22064 3
SORT AGGREGATE 1 7
TABLE ACCESS BY INDEX ROWID SCHEMA1 FILENAME_SU_USED 4 1 7 30706 4
INDEX RANGE SCAN SCHEMA1 FILENAME_3 3 1 21764 3
CONCATENATION
HASH JOIN 355 2496 1307904 103068617 347
TABLE ACCESS FULL SCHEMA1 FILENAME_EXCH_USED 3 2 26 35987 3
HASH JOIN 352 2496 813696 96532618 344
VIEW SYS VW_NSO_1 4 20 880 12549326 3
HASH UNIQUE 4 20 220 12549326 3
TABLE ACCESS FULL SCHEMA2 IOT_SERVICE_MATRIX 3 20 220 45207 3
HASH JOIN 347 15850 2234850 76145180 341
TABLE ACCESS FULL SCHEMA1 FILENAME_SU_USED 130 16584 1111128 33625872 127
TABLE ACCESS FULL SCHEMA1 FILENAME_BCI_USED 217 23757 1758018 31405896 214
NESTED LOOPS 139 1 198 40265959 136
NESTED LOOPS 135 1 154 27716633 133
NESTED LOOPS 132 1 141 27680646 130
TABLE ACCESS FULL SCHEMA1 FILENAME_SU_USED 129 1 67 27655992 127
TABLE ACCESS BY INDEX ROWID SCHEMA1 FILENAME_BCI_USED 3 1 74 24654 3
INDEX RANGE SCAN SCHEMA1 FILENAME_1 2 1 15493 2
TABLE ACCESS FULL SCHEMA1 FILENAME_EXCH_USED 3 1 13 35987 3
VIEW SYS VW_NSO_1 4 1 44 12549326 3
SORT UNIQUE 4 20 220 12549326 3
TABLE ACCESS FULL SCHEMA2 IOT_SERVICE_MATRIX 3 20 220 45207 3Regards
Sajid
Edited by: user12039545 on Jul 11, 2010 12:05 AM
Edited by: user12039545 on Jul 11, 2010 12:15 AM
Edited by: user12039545 on Jul 11, 2010 12:32 AM
Edited by: user12039545 on Jul 11, 2010 12:34 AM
Edited by: user12039545 on Jul 11, 2010 12:37 AM -
How to log in with my old Apple account? I forgot my pass and I did change my apple ID before canceling first?? I am from Croatia so did folow al the discussion and the to resolve the problem but no luck. Can not call from Croatia the Apple help desk.i did try all the options but I can not find the phone number to call from Croatia,
I can not change my Apple ID to the old mail (not possible!)
The old mail don't accept the new password..
I can not delete the Icloud all the time asking my the password of the old mail!
I realy need helpYou can not merge accounts.
Apps are tied to the Apple ID used to download them, you can not transfer them.
Maybe you are looking for
-
PartII Registers are not updated for J1IS
Hi All, Please help me to know, why there is no update for part II registers for Invoice for MRDY type , which was done through J1IS.Please help to configure these things Example: Returns PO Created ME21N Goods posted :MIGO with Movt 161 Part I upda
-
Problem in configuring windows in FPM
Need Suggestions to configure windows with message types with FPM
-
I just upgraded from CS2. I am creating drop nav menu for html site because spry is too generic looking, and no one in DW forum answered my question regarding customization. My problem is that in CS3, flash is telling me that I cannot add an action t
-
Flash drive is being read as full when it is not
I am trying to transfer a file to my flash drive and I keep getting a message saying my flash drive is full- it is not. I have tried multiple flash drives on all of my usb ports and still cant get my file to transfer. I used it the other day and it w
-
Ipod appears in itunes but without ipod menu items (eg. Music, Movies, Podc
When I connect my 5th generation ipod (2006) to my pc (windows xp), my ipod appears in itunes (v.7.6) in the left pane in itunes, but there are no ipod menu items listed under the ipod icon (eg. Music, Playlists, Movies, Podcasts, Audiobooks, etc.).