Relating IDoc to CRUD operation during runtime
Hi All,
I have requirement where i wanted to map incoming IDoc from SAP to an operation (Create, update and Delete). Is there any way i can achieve it. Can any of the fields in Control record useful to determine operation.
How the external system will know that the incoming IDoc from SAP is for create/update/delete changes?
thanks,
Swamy
Hi,
You won't send the ((Create, update and Delete) through the control record information... If you want to do achieve this.. i would sugest hava a custom segment with one field with the information and send it..
I think you need to extend your idoc and add the custom segment and send it from SAP.. You need to check for customer exits to populate the field...
Regards,
Nagaraj
Similar Messages
-
No mapping during runtime!!
Hi all,
I got stucked with one problem in file-xi-idoc scenario using sap xi 2.0.
I am using sender file adapter which is picking up the file from ftp server. The file contains three fields and I am placing them in a text file as
Sriram,mumbai,in.
The file adapter is picking the file successfully and converting them into xml sending to integration engine. But during runtime these fields are not mapped to target idoc structure (DEBMAS 03) and there are no errors showing in SXMB_MONI. The idoc is going to receiving sap system with error status 51. This is the payload of xml messages observed in SXMB_MONI.
<?xml version="1.0" standalone="yes" ?>
- <resultset>
- <row>
<field0>sriram</field0>
<field1>mumbai</field1>
<field2>in</field2>
</row>
</resultset>
Here is the file adapter configuration :
file adapter java class
classname=com.sap.aii.messaging.adapter.ModuleFile2XMB
mode=FILE2XMB
mode = file2xmbwithrowconversion
Integration Engine address and document settings (example, see docu)
XMB.TargetURL=http://ht56f4:8000/sap/xi/engine/?type=entry
#XMB.SLDConfiguration = SLDaccessor7
XMB.User = xiappluser
XMB.Password = xipass
XMB.SenderBusinessSystem = PS_LEGACY
XMB.SenderInterfaceNamespace = http://ps_crm.com
XMB.SenderInterfaceName = Customer_out
#XMB.SenderBusinessSystem=ExtAdapterSender
#XMB.SenderInterfaceNamespace=http://sap.com/xi/xidemo
#XMB.SenderInterfaceName=ExtAdapterSenderIF
XMB.ContentKind=T
#XMB.ContentKind=T
#XMB.ContentType=application/xml
#XMB.ContentType=text/xml
XMB.ContentType=text/plain
XMB.QualityOfService=EO
#ftp server details
ftp.host = 10.1.45.43
ftp.port = 21
ftp.user = sapftp
ftp.password = ftp***sap123
ftp.connection = permanently
ftp.mode=Text
#file.sourceFilename = bank.txt
##File Adapter specific parameters (example, see docu)
file.sourceDir= \/pssap\/
file.sourceFilename = testing.txt
#file.processingMode=setAttribute
#file.processingMode=archive
#file.archiveDir=c:/temp_archive
file.pollInterval= 60
file.pollIntervalMsecs= 10
#file.retryInterval = 30
file.logPollInterval=YES
file.processingMode=delete
##xml conversion properties if mode FILE2XMBWITHROWCONVERSION specified (example, see docu)
#xml.fieldFixedLengths=8,9,2
xml.processFieldNames=notAvailable
xml.fieldSeparator=,
xml.enclosureConversione = YES
I am not able to test mapping in sap xi 2.0.
Any suggestions greatly helpful.Thanks,
found it.
Regards Mario -
Finding commits in plsql during runtime
Hi,
In any application, we will have many commit statements issued in many places. How can we find out as to where all commits have happened during runtime.
Basically in our application, when am trying an operation, am getting the error ORA-01086: savepoint <save point name> never established.
My guess is that there is a commit somewhere because of which system is not able to rollback to that save point.
So I would like to find out where is commit is issued.
Is there any way to find this.
Thanks in Advance.
VijayDuplicate Post.
Please mark this Answered and redirect to Finding commits in plsql -
Edit Graph label during runtime
Hi,
Is it possible to edit the label of the Graph during runtime? I know there is a property node to change the name, but I want to edit it by clicking on it, just like I can change the range of the scale.
Thanks,
RiteshHow do you have the user resizing the graph? I have never seen that capability built into the graph before.
You were talking about the graph label, which to me meant the label that shows above the graph. But now you are talking about an axis label, which is a different entity altogether.
An axis label can be programmatically changed, but can't be changed by a user clicking on a graph during run time. I question why you would want to give a user of your program the ability to do that anyway. The axis labels should be determined by the programmer since they are directly related to the data that is being displayed on the graph. Giving the user the ability to edit a graph label could be dangerous as it could give the impression that the graph is displaying some completely different data set than it actually is. -
ExceptionInInitializerError when trying a CRUD operation
Hi Forum,
I'm fairly a new kodo user. I created mapping for my objects and upon running the application I see the following error. It happens whenever I try to attempt any CRUD operation. Has anyone seen this before?
TIA
java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:242) at kodo.jdbc.meta.Mappings.forFieldMappingName(Mappings.java:734) at kodo.jdbc.meta.Mappings.newFieldMappingInstance(Mappings.java:722) at kodo.jdbc.meta.RuntimeMappingProvider.getFieldMapping(RuntimeMappingProvider.java:207) at kodo.jdbc.meta.MappingRepository.getFieldMapping(MappingRepository.java:470) at kodo.jdbc.meta.AbstractClassMapping.getFieldMapping(AbstractClassMapping.java:993) at kodo.jdbc.meta.AbstractClassMapping.getFieldMapping(AbstractClassMapping.java:973) at kodo.jdbc.meta.AbstractClassMapping.getMappings(AbstractClassMapping.java:939) at kodo.jdbc.meta.AbstractClassMapping.getDeclaredFieldMappings(AbstractClassMapping.java:659) at kodo.jdbc.meta.AbstractClassMapping.resolve(AbstractClassMapping.java:801) at kodo.jdbc.meta.BaseClassMapping.resolve(BaseClassMapping.java:347) at kodo.jdbc.meta.MappingRepository.resolve(MappingRepository.java:431) at kodo.jdbc.meta.MappingRepository.getMapping(MappingRepository.java:349) at kodo.jdbc.meta.MappingRepository.getMapping(MappingRepository.java:177) at kodo.jdbc.meta.MappingRepository.getMetaData(MappingRepository.java:165) at kodo.runtime.PersistenceManagerImpl.makePersistent(PersistenceManagerImpl.java:2718) at kodo.runtime.PersistenceManagerImpl.makePersistent(PersistenceManagerImpl.java:2670) at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:92) at org.springframework.orm.jdo.JdoTemplate$9.doInJdo(JdoTemplate.java:396) at org.springframework.orm.jdo.JdoTemplate.execute(JdoTemplate.java:260) at org.springframework.orm.jdo.JdoTemplate.makePersistent(JdoTemplate.java:394) atYou can only make an HTTPS connection if the SWF was also
loaded via HTTPS. -
A question about how to change a button in a JPanel during runtime
I am a beginner of GUI. Now I am trying to change a specific component, a button, when the application is running. For example, I have 3 buttons in a JPanel. Each button has its onw icon. If I click one of them, it will change its icon, but the other two don't change. I don't know if there is any method for changing a specific component during runtime. If any one knows please let me know, I will appreciate that very much!!!
What you're going to have to do is loop inside the actionlistener but still have accessability to click while its looping. I don't know much about it, but I think you're going to need a thread. Try something like this... (it doesn't work yet, but I have to take off)
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class buttonxdemo extends JFrame implements ActionListener{
Buttonx mybutton;
//set it all up, make it look pretty =]
public buttonxdemo()
mybutton = new Buttonx("default");
getContentPane().add(mybutton.thebutton);
mybutton.thebutton.addActionListener(this);
this.setDefaultCloseOperation(3);
this.setSize(200,200);
public void actionPerformed(ActionEvent ae){
if (ae.getSource() == mybutton.thebutton)
if (mybutton.keepGoing)
mybutton.keepGoing = false;
else if (!mybutton.keepGoing)
mybutton.keepGoing = true;
mybutton = new Buttonx(/*Icon,*/"My Button");
//getContentPane().remove(mybutton);
//getContentPane().add(mybutton.thebutton);
mybutton.startstop();
}//actionperformed
static void main(String args[])
new buttonxdemo().show();
} //movingicondemo
class Buttonx extends Thread{
public boolean keepGoing;
//public Icon ICx; //perhaps an array, so you can loop through?
public String strbuttonx;
public JButton thebutton; //may have to extend JFrame?
public Buttonx(/*Icon IC,*/ String strbutton){
//ICx = IC;
strbuttonx = strbutton;
thebutton = new JButton(strbuttonx);
public void startstop()
int i = 0;
while (keepGoing)
thebutton.setLabel(strbuttonx.substring(0,i));
//if an array of Icons ICx
//thebutton.setIcon(ICx);
i++;
if (i > strbuttonx.length() - 1)
i = 0;
try
Thread.sleep(1000);
catch (InterruptedException ie)
System.out.println("sleep caught: " + ie);
}//startstop()
}//buttonx
kev -
How to use tree tables with CRUD operation for begineers ADF 11g
This is Friday night call for help.
This is only few sample ressources on the web for tree table and only one with CRUD operation.
I used this one http://jobinesh.blogspot.com/2010/05/crud-operations-on-tree-table.html because this is the only one that address CRUD.
And it is shaky. Deletion works fine but insertion not very well. This is working using custom code provided below.
Depending if the user selection in the tree, the code insert from the master node to the children node.
Any other options because it is not working well.
Also where Oracle describes how to use the row, rowset, itorator API? This is really hard to understand like almost if we should not use it.
then if not how can I insert in tree with two nodes and insert in the parent or children depending the users selection.
Lately I 'been posting questions on this forum with no response. This hurts. I understand developers cannot spend their time on this but People from Oracle, please help. We pay licenses...
public void createChildren(RowIterator ri, Key selectedNodeKey) {
final String deptViewDefName = "model.DepartmentsView";
final String empViewDefName = "model.EmployeesView";
if (ri != null && selectedNodeKey != null) {
Row last = ri.last();
Key lastRowKey = last.getKey();
// if the select row is not the last row in the row iterator...
Row[] found = ri.findByKey(selectedNodeKey, 1);
if (found != null && found.length == 1) {
Row foundRow = found[0];
String nodeDefname =
foundRow.getStructureDef().getDefFullName();
if (nodeDefname.equals(deptViewDefName)) {
RowSet parents =
(RowSet)foundRow.getAttribute("EmployeesView");
Row childrow = parents.createRow();
parents.insertRow(childrow);
} else {
RowSet parents =
(RowSet)foundRow.getAttribute("EmployeesView");
Row childrow = parents.createRow();
childrow.setAttribute("DepartmentId",
foundRow.getAttribute("DepartmentId"));
parents.insertRow(childrow);
} else {
System.out.println("Node not Found for " + selectedNodeKey);
}I am looking for a sample that describe how to design a jsf page with a tree table.
So you have Department and employees. In the tree first comes Department and if you click the node you see the employees assigned to this department.
I need to be able to insert a new department or a new employee from the tree table by clicking on a insert button in the panel collection toolbar depending on user selection in the tree.
I got part of it working but not good enough.
By problem is the get insertion working
I have a createChildren method in my AM implementation that get in input a RowIterator and selected node key.
To goal is to create new records depending of the user selection and the input parameters get populated by the binding like this:
#{backing_treeSampleBean.selectedNodeRowIterator} #{backing_TreeSampleBean.selectedNodeRowkey} via method binding with parameters.
Is it the right approach?
First to be able to insert a parent record, I select nothing in the tree and ri and selectedNodeKey comes to null
we run this code
ViewObjectImpl vo = getSchHolidaySchedExceptionsView1();
//ViewObjectImpl vo = getDepartmentsView1();
Row foundRow = vo.first();
Row childrow = vo.createRow();
vo.insertRow(childrow);
A new blank entry appears in the parent node and we enter a value.
The the problem starts when we want to add a child to this parent.
We select the created parent and press the insert button, this code get executed
if (nodeDefname.equals(deptViewDefName))
//list of the children of the parent and create an new row
RowSet childRows = (RowSet)foundRow.getAttribute("SchHolidayExceptionDatesView");
Row childrow = childRows.createRow();
childRows.insertRow(childrow);
But the new entry does not appear, it is almost like it would be created for a different parent because this is a mandatory field that is not feel in yet and the interface complaints of a missing value. It is created somewhere just not a the right place... This is my guess.
Do you see something wrong with the code?
The full code og my create children method is there below
I am using jdeveloper 11.1.1.3.0 any issues with tree table to know about with this version?
Thanks for your help
public void createChildren(RowIterator ri, Key selectedNodeKey) {
final String deptViewDefName = "com.bcferries.app.pdfroutesched.model.SchHolidaySchedExceptionsView";
final String empViewDefName = "com.bcferries.app.pdfroutesched.model.SchHolidayExceptionDatesView";
if (ri != null && selectedNodeKey != null) {
// last row
Row last = ri.last();
Key lastRowKey = last.getKey();
// if the select row is not the last row in the row iterator...
Row[] found = ri.findByKey(selectedNodeKey, 1);
if (found != null && found.length == 1) {
// foundRow is the row selected
Row foundRow = found[0];
// The row selected can be the parent node or the child node
String nodeDefname = foundRow.getStructureDef().getDefFullName();
// if parent row
if (nodeDefname.equals(deptViewDefName))
//list of the children of the parent and create an new row
//works but we try to resolve the creation of a parent
RowSet childRows = (RowSet)foundRow.getAttribute("SchHolidayExceptionDatesView");
Row childrow = childRows.createRow();
//childrow.setAttribute("HolidayDate", new java.util.Date().getDate());
System.out.println("insert child row from master");
childRows.insertRow(childrow);
} else
//RowSet ParentRow = (RowSet)foundRow.getAttribute("SchHolidaySchedExceptionsView");
//RowSet childRows = (RowSet)ParentRow.first().getAttribute("SchHolidayExceptionDatesView");
Row childrow = ri.createRow();
System.out.println("insert child row from child ");
} else {
System.out.println("Node not Found for " + selectedNodeKey);
} else {
System.out.println(" param null try creating for first row : " +
ri + " * " + selectedNodeKey);
ViewObjectImpl vo = getSchHolidaySchedExceptionsView1();
Row foundRow = vo.first();
Row childrow = vo.createRow();
vo.insertRow(childrow);
} -
How do I create multiple objects during runtime?
I don't know how to create multiple objects during runtime, here's my problem:
I get a String as input. Then I create an object called newobject. I put the object in a hashtable with the above string as key.
Then comes the problem, in order to create a new object, I have to rerun the same class, which uses the same name (newobject) to create a 2nd object. Now my hashtable doesn't reference to my 1st object anymore...
Is there anyway I can fill up the hashtable with different objects, and make each key point to each object it was supposed to?
For those who want to see a bit of the program:
public class PlayBalloon{
public Hashtable ht = new Hashtable();
for(){
Balloon pB = newBalloon;
newBalloon=new Balloon(pB);
ht.put("Some input from user", newBalloon);
for(){
ht.get(s).draw;<= s=string, draw=own meth. in Balloon
}I think i can see the problem that you are having. You have, in effect, duplicate keys in your hashtable - ie, two strings used as keys with the same name.
The way that a hashtable works is as follows...
When you ask for a value that is mapped to a key it will go through the table and return the first occurence it finds of the key you asked for. It does this by using the equals() method of whatever object the key is (in your case it is a String).
If you cant use different Strings for your keys in your hashtable then i would consider writing an ObjectNameKey class which contains the String value that you are trying to put in the hashtable and an occurrence number/index or something to make it unique. Remember to override the equals method in your ObjectNameKey object or else the hash lookup will not work. For example
class ObjectNameKey {
private String name;
private int occurence;
public ObjectNameKey(String name, int occ) {
this.name = name;
this.occurence = occ;
public String getName() {
return name;
public String getOccur() {
return occurence;
public boolean equals(Object o) {
if (!(o instanceof ObjectNameKey)) {
return false;
ObjectNameKey onk = (ObjectNameKey)o;
if (onk.getName().equals(name) && onk.getOccur() == occurence) return true;
return false; -
Quantity related Scale pricing not considered during Goods receipt
Hello Group,
First thanks for looking into my issue. I tried to follow the solution in SAP Note 401941 on assessing the right unit price as it relates to the quantity received during Goods receipt, but my ABAP developers are very green at this time and they cannot figure out where to place this code fix and how it would work.
Background on issue.
From quantity of 1 to 99, I want the price to be 4.00 each
From quantity of 100 and above, I want the price to be 3.00 each.
When doing goods receipts for quantities that have not reached 100 yet, it is still assessing 3.00 each. I found the OSS note above that is really not helpful and was wondering if anyone else is using scale pricing and how their GRs are calculated for correct unit price.
Thanks all for your assistance.
SamanthaThe scale pricing cannot be used to influence price during goods receipt. Goods Receipt will pick up the price from the purchasing document.
Suppose you want to have that the price be determined based on the quantity received over a period of time, you need to use rebate agreement.
The OSS note mentioned in your question says that you can determine the price based on the schedule line quantity during GR (not quantity at the time of GR). It will not solve your requirement.
Lakshman -
How to determine the target system during runtime of a Generic DS?
Hi Experts, good afternoon.
I am coding a Generic Extractor using Function Module. I have to select the field TIMESTAMP on table ROOSPRMSC. To do so, I need the value of RLOGSYS that is the BW system that is calling the Extractor.
Do anybody knows how to determine via ABAP the RLOGSYS (Remote Logical System) during the runtime of the Generic DataSource Function Module?
The table ROOSPRMSC keep the TIMESTAMPs values of the last delta upload for each DataSource and for each BW target system. As I have 2 BW's loading data from the same SAP ECC system, I need to know, during runtime of my Generic DataSource, the actual system that is requesting the delta. That's the reason why I need to know the BW's logical system name that is "runnig" the delta InfoPackage.
Plese, help!!!
Thanks in advance!
Leandro VaniLeandro,
The calling program of your FM should have a local variable I_RLOGSYS which is populated with the BW server ID.
If you don't know how to access a variable in a program that is in call stack using field symbols, search SDN.
I haven't tested this, so you may have to explore a little.
Good luck. -
How to pass the Bound values to VO SQL Query during runtime?
Hi all,
I have the following sql query;
SELECT NOTIFICATION_ID
FROM xx_NOTIFICATION_V
WHERE COMPANY = NVL(:1, COMPANY)
AND INITIATOR = NVL(:2,INITIATOR)
AND PAYGROUP = NVL(:3, PAYGROUP)
AND SOURCE = NVL(:4, SOURCE)
AND SUPPLIER_NAME = NVL(:5,SUPPLIER_NAME)
AND TRX_DATE BETWEEN NVL(:6,TRX_DATE)
AND NVL(:7,TRX_DATE)
If i click GO button on search page then it pass the selected Poplists values as a Bound values to VO Sql query at runtime after this I store the search results in a Table(Which is created by using New Region Wizard).
I want to pass the Bind parameter values to VO SQL query during runtime and :1,:2,:3,:4,:5,:6,:7 values are coming from Poplists.
I search through forum I found many threads regarding Bind Values but those all are passing ID's only not String(Varchar) values.
How to pass the Character values to VO Query.
Please anyone help me on this.
Thanks in Advance.Hi All,
Below one is the recent error Stack.
Exception Details.
oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT NOTIFICATION_ID
, COMPANY
, PAYGROUP
, SOURCE
, INITIATOR
, SUPPLIER_NAME
, TRX_DATE
FROM LMG_NOTIFICATION_V
WHERE COMPANY = NVL(:1,COMPANY)
AND INITIATOR = NVL(:2,INITIATOR)
AND PAYGROUP = NVL(:3,PAYGROUP)
AND SOURCE = NVL(:4,SOURCE)
AND SUPPLIER_NAME = NVL(:4,SUPPLIER_NAME)
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:888)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:544)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.layout.OAHeaderBean.processRequest(OAHeaderBean.java:366)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(OAStackLayoutBean.java:328)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:920)
at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1536)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:363)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:330)
at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2121)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1562)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:463)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:384)
at OA.jspService(OA.jsp:40)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
at OA.jspService(OA.jsp:45)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
at java.lang.Thread.run(Thread.java:534)
## Detail 0 ##
java.sql.SQLException: ORA-01008: not all variables bound
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2548)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2933)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:650)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:578)
at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:627)
at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:515)
at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3289)
at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(OAJboViewObjectImpl.java:1207)
at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(OAViewObjectImpl.java:4146)
at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:567)
at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:537)
at oracle.jbo.server.ViewRowSetImpl.executeDetailQuery(ViewRowSetImpl.java:614)
at oracle.jbo.server.ViewObjectImpl.executeDetailQuery(ViewObjectImpl.java:3253)
at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3240)
at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQuery(OAViewObjectImpl.java:411)
at oracle.apps.fnd.framework.webui.OAWebBeanBaseTableHelper.queryData(OAWebBeanBaseTableHelper.java:960)
at oracle.apps.fnd.framework.webui.beans.table.OATableBean.queryData(OATableBean.java:717)
at ls.oracle.apps.fnd.wf.worklist.webui.WorklistFindCO.processRequest(WorklistFindCO.java:78)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:518)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.layout.OAHeaderBean.processRequest(OAHeaderBean.java:366)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(OAStackLayoutBean.java:328)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:920)
at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1536)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:363)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:330)
at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2121)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1562)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:463)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:384)
at OA.jspService(OA.jsp:40)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
at OA.jspService(OA.jsp:45)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
at java.lang.Thread.run(Thread.java:534)
java.sql.SQLException: ORA-01008: not all variables bound
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2548)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2933)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:650)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:578)
at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:627)
at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:515)
at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3289)
at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(OAJboViewObjectImpl.java:1207)
at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(OAViewObjectImpl.java:4146)
at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:567)
at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:537)
at oracle.jbo.server.ViewRowSetImpl.executeDetailQuery(ViewRowSetImpl.java:614)
at oracle.jbo.server.ViewObjectImpl.executeDetailQuery(ViewObjectImpl.java:3253)
at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3240)
at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQuery(OAViewObjectImpl.java:411)
at oracle.apps.fnd.framework.webui.OAWebBeanBaseTableHelper.queryData(OAWebBeanBaseTableHelper.java:960)
at oracle.apps.fnd.framework.webui.beans.table.OATableBean.queryData(OATableBean.java:717)
at ls.oracle.apps.fnd.wf.worklist.webui.WorklistFindCO.processRequest(WorklistFindCO.java:78)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:518)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.layout.OAHeaderBean.processRequest(OAHeaderBean.java:366)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(OAStackLayoutBean.java:328)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:920)
at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1536)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:363)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:833)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:575)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:244)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:330)
at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2121)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1562)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:463)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:384)
at OA.jspService(OA.jsp:40)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
at OA.jspService(OA.jsp:45)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
at java.lang.Thread.run(Thread.java:534)
Please anyone help me on this?
Thanks -
Can I create a dynamic number of inputs during runtime?
Can I create a dynamic number of inputs during runtime?
Oracle 11g
Application Express 4.0.2.00.06
Here is my problem:
We have a table that holds metadata about files (hardcopy or softcopy files).
We expect we may need more columns in the table at some point and don't want to modify the table or the application.
So in order to do this I would like to create:
A table called TBL_FILE with the columns:
TBL_FILE_ID NUMBER (This will be the primary key)
TBL_FILE_NAME VARCHAR2(1000) (This will be the name of the file)
A second table will be called TBL_FILE_META with the columns:
TBL_META_ID NUMBER (This will be the primary key)
TBL_FILE_ID NUMBER (This will be the forign key to the file table)
TBL_META_COLUMN VARCHAR2(30) (This is what the column name would be if it existed in TBL_FILE)
TBL_META_VALUE VARCHAR2(1000) (This is the value that record and the 'would be' column)
So a person can have as much meta data on the file with out having to add columns to the table.
The problem is how can I allow users to add as much data as they like with out having to re develop the page.
Other things to note is that we would like this to be on a single page.
I know how to add we can create multi-row inserts by using a SQL Query (updateable report),
however the TBL_META_VALUE column in the TBL_FILE_META will sometimes be a select list and other times a text box or number field.
So I don't see now a SQL Query (updateable report) would work for this and I can't create an array of page items at run time can I?
Any idea's how I could accomplish this? Is there a better way of doing this?
Also is there a term or a name for what I am doing by creating these 'virtual' columns in another table?
I found this method when looking at Oracles Workflow tables.Welcome to the Oracle Forums !
>
Can I create a dynamic number of inputs during runtime?
Oracle 11g
Application Express 4.0.2.00.06
Here is my problem:
We have a table that holds metadata about files (hardcopy or softcopy files).
We expect we may need more columns in the table at some point and don't want to modify the table or the application.
So in order to do this I would like to create:
A table called TBL_FILE with the columns:
TBL_FILE_ID NUMBER (This will be the primary key)
TBL_FILE_NAME VARCHAR2(1000) (This will be the name of the file)
A second table will be called TBL_FILE_META with the columns:
TBL_META_ID NUMBER (This will be the primary key)
TBL_FILE_ID NUMBER (This will be the forign key to the file table)
TBL_META_COLUMN VARCHAR2(30) (This is what the column name would be if it existed in TBL_FILE)
TBL_META_VALUE VARCHAR2(1000) (This is the value that record and the 'would be' column)
So a person can have as much meta data on the file with out having to add columns to the table.
The problem is how can I allow users to add as much data as they like with out having to re develop the page.
>
Creating Page Items dynamically is not available. You will have to create excess items and hide/show , etc. But you cannot change the Item Type. All in all, too many limitations in this approach.
>
Other things to note is that we would like this to be on a single page.
>
The 100 item limit will hit you if you go with extra item on page. With Tabular Form that should not be a limitation, unless you are exceeding the 50 item limit of APEX_APPLICATION.G_Fnn items, and the 60 column limitation of Report region with "Use Generic Column Names (parse query at runtime only)" of Dynamic region.
>
I know how to add we can create multi-row inserts by using a SQL Query (updateable report),
however the TBL_META_VALUE column in the TBL_FILE_META will sometimes be a select list and other times a text box or number field.
>
If the type if item is variable it only means you need a way to store the item type. Meta Data of the Meta Data.
>
So I don't see now a SQL Query (updateable report) would work for this and I can't create an array of page items at run time can I?
>
Yes, you can do it. Updatable report/ Tabular Form query can be constructed from the Meta Data using PL/SQL Function Returning SQL Query . It will be a bit of coding in PL/SQL where you use the Meta Data and the Meta Data of the Meta Data to piece together your SELECT with the right APEX_ITEMs. It might have a performance penalty associated with it, but will not be a serious degradation.
>
Any idea's how I could accomplish this? Is there a better way of doing this?
Also is there a term or a name for what I am doing by creating these 'virtual' columns in another table?
I found this method when looking at Oracles Workflow tables.
>
I guess that is just a good TNF. It is the Master-Detail Design Pattern, that sound more modern ? ;)
Regards, -
I'm very new to LabVIEW and every day I learn such a lot about LabVIEW. I did not find any example according to my problem, but I don't know how to do the following :
In the MainVI I read different strings from file in an array (In the example below I defined them as constants. The example only shows how the frontpanels should look like).
During a loop I calculate different values, which will be written in an array, too, and in every loop the array of values will be overwritten with the new calculated values. (string[i] belongs to value[i])
Now, by pushing the button 'sub' during runtime, I want to op
en the Frontpanel of a SubVI, on which you see a Ring and a numeric Indicator. Now, I want to show the strings I read in the MainVI as items in the Ring-menu. If I choose one of the items (strings) in the Ring-menu during runtime, I want to show the accordant value, which was calculated in the MainVI, in the numeric Indicator, and in every loop the new calculated value should be shown in this Indicator automatically.
So I have two questions:
1. How do I put the strings into the Ring-menu during runtime?
2. How to open a SubVI-Frontpanel during runtime, and how to pass the calculated values to it?
Every answer I accept with thanks!
Attachments:
main.vi 29 KB
sub.vi 9 KBSee the atttached vis :
1/ Pass the string array to the sub-vi, then use a property node to replace the ring node strings
2a/ From the subvi front panel window, rightclick on the icon, and select "Show connector". Define the connections
2b/Set the sub vi properties (right click on the vi icon, select "VI properties... >> Window appearance..." go to "customize...", and checkmark the "Show front panel when called" item).
3/ your main vi should run 2 separate loops in order to avoid that reading the data stops the aquisition process (if any !..), or the reverse situation.
You should read the LV manual to find out how to create a sub-vi : there are a number a basic things to learn and to memorize...
CC
Chilly Charly (aka CC)
E-List Master - Kudos glutton - Press the yellow button on the left...
Attachments:
main.vi.zip 16 KB -
Best Practice Questions: Method signature for CRUD operations
Hi,
I am reading a book about EJB3.0 which has been very helpful to me so far. However I now find myself in a dilemma which is not clearly covered in the book and I would really like to know how best to proceed. In the book it says that an Entity Manager wrapper class (responsible to handle all CRUD operations for a particular object) can have several methods. One of the methods it describes is as follows;
addUser(String username, String password, String name, String surname, etc){ ... }Note that in the above method the book does not pass the User object as a parameter to the method but rather the attributes of the User object. Therefore my first question is this;
Is there any benefit / drawback in writing the addUser(...) method in this way? or it is better to write it as follows;
addUser(User user){ ... }AS i know addUser(User user){ ... } is much more useful for several reasons:
1.Its object oriented
2.its easy to write , because if Object has many parameters its very painful to write method with comma seperated parameters -
Object Referenced Error When calling the Windows Form during Runtime
Hi,
I am getting Object reference errors when running windows form during runtime. In debugging mode in MS Visual studio 2005, I am not getting this error. I'm calling the window form from menu and called the window in a thread as suggested in one of forums . I don't see anyone in the forum mentioned this problem I have. Any help would be deeply appreciated. Below are the error and code samples.
ERROR Message
Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at Project1.Loadxml.Loadxml_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Edited by: Albert Tio on Feb 16, 2011 9:55 AMHere is the code.
Option Strict Off
Option Explicit On
Friend Class GetEvents
Public WithEvents SBO_Application As SAPbouiCOM.Application
Public SboGuiApi As SAPbouiCOM.SboGuiApi
Public oForm As SAPbouiCOM.Form
Public oDBDataSource As SAPbouiCOM.DBDataSource
Public oCompany As SAPbobsCOM.Company
Public RS As SAPbobsCOM.Recordset
Public oPrev_Bank As String, oPrev_AcctType As String
Public oLoadXml As Loadxml
Public Sub SetApplication()
'Dim SboGuiApi As SAPbouiCOM.SboGuiApi
Dim sConnectionString As String
SboGuiApi = New SAPbouiCOM.SboGuiApi
' by following the steps specified above, the following
' statment should be suficient for either development or run mode
sConnectionString = Environment.GetCommandLineArgs.GetValue(1)
' connect to a running SBO Application
SboGuiApi.Connect(sConnectionString)
' get an initialized application object
SBO_Application = SboGuiApi.GetApplication()
End Sub
Public Sub SetCompany()
Dim ret As Long
Dim MsgStr As String
Dim Cookie As String
Dim ConnStr As String
Try
oCompany = New SAPbobsCOM.Company
Cookie = oCompany.GetContextCookie
ConnStr = SBO_Application.Company.GetConnectionContext(Cookie)
'//before setting the SBO login context make sure the company is not connected
If oCompany.Connected = True Then
oCompany.Disconnect()
End If
ret = oCompany.SetSboLoginContext(ConnStr)
If Not ret = 0 Then
Exit Sub
End If
ret = oCompany.Connect
Catch ex As Exception
SBO_Application.MessageBox(ex.Message)
End Try
MsgStr = ""
If Not ret = 0 Then
oCompany.GetLastError(ret, MsgStr)
SBO_Application.MessageBox(MsgStr)
Else
End If
End Sub
Public Sub New()
MyBase.New()
' set SBO_Application with an initialized application object
SetApplication()
SetCompany()
AddMenuItems()
End Sub
Private Sub SBO_Application_MenuEvent(ByRef pVal As SAPbouiCOM.MenuEvent, ByRef BubbleEvent As Boolean) Handles SBO_Application.MenuEvent
Dim myThread As New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf LoadXmlMainThread))
Try
If (pVal.MenuUID = "MySubMenu") And (pVal.BeforeAction = False) Then
'SBO_Application.MessageBox("My sub menu item was clicked")
'// Create a form to be launched in response to a click on the
'// new sub menu item
myThread.SetApartmentState(System.Threading.ApartmentState.STA)
myThread.Start()
'Loadxml.ShowDialog()
End If
Catch ex As Exception
SBO_Application.MessageBox("1." & ex.Message)
End Try
'If (pVal.MenuUID = "MyGoToMenu") And (pVal.BeforeAction = False) Then
' SBO_Application.MessageBox("My GoTo Menu was clicked")
'End If
'If (pVal.MenuUID = "MySecondGoToMenu") And (pVal.BeforeAction = False) Then
' SBO_Application.MessageBox("My Second GoTo Menu was clicked")
'End If
End Sub
Private Sub LoadXmlMainThread()
'Dim lLoadxml As New Loadxml
Try
oLoadXml = New Loadxml
oLoadXml.WindowState = FormWindowState.Maximized
oLoadXml.ShowInTaskbar = True
oLoadXml.TopMost = True
oLoadXml.Activate()
Application.Run(oLoadXml)
Catch ex As Exception
SBO_Application.MessageBox("2." & ex.Message)
End Try
End Sub
Private Sub AddMenuItems()
'// Let's add a separator, a pop-up menu item and a string menu item
Dim oMenus As SAPbouiCOM.Menus
Dim oMenuItem As SAPbouiCOM.MenuItem
Dim i As Integer '// to be used as counter
Dim lAddAfter As Integer
Dim sXML As String
'// Get the menus collection from the application
oMenus = SBO_Application.Menus
'Save an XML file containing the menus...
'sXML = SBO_Application.Menus.GetAsXML
'Dim xmlD As System.Xml.XmlDocument
'xmlD = New System.Xml.XmlDocument
'xmlD.LoadXml(sXML)
'xmlD.Save("c:
mnu.xml")
Dim oCreationPackage As SAPbouiCOM.MenuCreationParams
oCreationPackage = SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_MenuCreationParams)
oMenuItem = SBO_Application.Menus.Item("43520") 'moudles'
Dim sPath As String
sPath = Application.StartupPath
'sPath = sPath.Remove(sPath.Length - 3, 3)
If sPath.EndsWith("\") = False Then
sPath = sPath & "\"
End If
'// find the place in wich you want to add your menu item
'// in this example I chose to add my menu item under
'// SAP Business One.
oCreationPackage.Type = SAPbouiCOM.BoMenuType.mt_POPUP
oCreationPackage.UniqueID = "MyMenu01"
oCreationPackage.String = "Unbridle Menu"
oCreationPackage.Enabled = True
oCreationPackage.Image = sPath & "unbridle.bmp"
oCreationPackage.Position = 15
oMenus = oMenuItem.SubMenus
Try ' If the manu already exists this code will fail
oMenus.AddEx(oCreationPackage)
'// Get the menu collection of the newly added pop-up item
oMenuItem = SBO_Application.Menus.Item("MyMenu01")
oMenus = oMenuItem.SubMenus
'// Create s sub menu
oCreationPackage.Type = SAPbouiCOM.BoMenuType.mt_STRING
oCreationPackage.UniqueID = "MySubMenu"
oCreationPackage.String = "Unbridle Monitoring"
oMenus.AddEx(oCreationPackage)
Catch er As Exception ' Menu already exists
'SBO_Application.MessageBox("Menu Already Exists")
End Try
End Sub
End Class
Public Class Loadxml
'Inherits System.Windows.Forms.Form
Public sBPpath As String
Public sGLpath As String
Public sBillpath As String
Public bRun As Boolean
Private Sub Loadxml_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.TextGL.Text = System.Configuration.ConfigurationSettings.AppSettings("GLAcctDownloadPath").ToString()
Me.TextBP.Text = System.Configuration.ConfigurationSettings.AppSettings("BPAcctUPloadPath").ToString()
Me.TextBill.Text = System.Configuration.ConfigurationSettings.AppSettings("BillUPloadPath").ToString()
Me.NotifyIcon1.Visible = False
End Sub
End Class
Maybe you are looking for
-
Stock Transfer from Bonded WH to Depot (Excise)
Hi All, We have a business scenario of bonded warehouse where material is imported. In SAP we are following the below process. a. Create Import PO without any duty > GRN > MIRO (Vendor Payment) b. Create STO with bonded warehouse as our supplying pla
-
CR XI R2: Database logon failed. Database Vendor Error Code: 1005
Hi: I am trying to incorporate Crystal Reports XI R2 with in-house application - Windows platform, Oracle9i, Websphere Studio Application Development 5.1, and JVM 1.4.2 with OCI8 driver and JNDI connection. I am not getting any error while running it
-
WLST Failed in Oracle BPM Enterprise for Weblogic Server
Hi, I am not getting any clue of resolving the following issue. We are using Oracle BPM Enterprise for Weblogic # 100141. Error details:- Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type h
-
Hi All, Can anyone let me know if it is possible to display traffic lights in a SMARTFORM. Thanks in advance. Thilak
-
Why is IOS 8 making decisions for me?
Today something came in to my mind, after having a few days with my iPhone 5 running with the new ios 8, and at first i thought it was just a thing of "new features " as they always do. But then it got me thinking and i came to realise that something