The server threw an exception (Interop.SAPbobsCOM)
Hi all, i have a problem with my plugin (works with user defined form), in the begining it works fine but after some time fails to work properly and gives an exception on the following line.
oRecordSet = (Recordset)vCompany.GetBusinessObject(BoObjectTypes.BoRecordset);
please advice what might be the problem?
code
try
oRecordSet = (Recordset)vCompany.GetBusinessObject(BoObjectTypes.BoRecordset);
catch (Exception theException)
vCompany.GetLastError(out Errcode, out ErrorMessage);
Console.WriteLine("{0},,,,",Errcode,ErrorMessage,theException.Message,theException.Source,theException.InnerException);
oCommand = oRecordSet.Command;
oCommand.Name="Stored_Procedure";
Hi Oleksiy,
Must likely you will have to release the Recordset or other Metadata objects that might exist in your process.
Example:
'System.Runtime.InteropServices.Marshal.ReleaseComObject(oRecordset)
'oRecordset = Nothing
or
oRecordset = Nothing
GC.Collect()
GC.WaitForPendingFinalizers()
This should be the problem.
Best regards,
Felipe
Similar Messages
-
I am working in SharePoint Server 2001 to extract its contents. My code was working fine. But it is now throwing exception
COMException: The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT)) from the following code
var _xmlHttp = new XMLHTTP60Class();
var xmldoc = new DOMDocument60Class();
_xmlHttp.open("SEARCH", "http://sanz/merosite/",false, "sanz","sanz"); // throws exception
I have checked it in google but couldn't found any relevant solution. I am using
Interop.MSXML2 and Interop.PKMCDO dlls in my project. Please ! suggestor you can try this from SAP Note :1235603
This issue results from using the following code:
SAPbobsCOM.Field f = oPOrders.Lines.UserFields.Fields.Item("U_test")
Instead of the above syntax, you should use the following:
SAPbobsCOM.ProductionOrders_Lines f1 = oPOrders.Lines
SAPbobsCOM.Field f = f1.UserFields.Fields.Item("U_test")
Using the suggested syntax lets you perform the operation correctly. The issue does not happen with a regular connection.
The cause for this error in the behavior of the .NET Garbage Collector.
When the Garbage Collector is activated, it decided which memory to release and which not. In the example above, the parent object is release, while the child object (Field in our case) remains which causes the exception.
The Garbage Collectors activation is controlled by .NET. The DI cannot control its activation.
Thanks,
Neetu -
Private Sub LoadGRN()
Dim ddlGRN As SAPbouiCOM.ComboBox
Dim objRecord As SAPbobsCOM.Recordset
Dim intI As Integer
Dim intValue As Integer
Try
ddlGRN = SBO_Application.Forms.ActiveForm.Items.Item("ddlGRN").Specific()
SBO_Application.Forms.ActiveForm.Items.Item("ddlGRN").DisplayDesc = True
objRecord = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
objRecord.DoQuery("Select * from OPDN ")
If ddlGRN.ValidValues.Count = 0 Then
For intI = 0 To objRecord.RecordCount - 1
If intI = 0 Then
intValue = objRecord.Fields.Item(1).Value
End If
ddlGRN.ValidValues.Add(objRecord.Fields.Item(0).Value, objRecord.Fields.Item(0).Value)
objRecord.MoveNext()
Next
objRecord.MoveFirst()
If ddlGRN.ValidValues.Count > 0 Then
ddlGRN.Select(intValue) Else
ddlGRN.ValidValues.Add(0, "No data found")
End If
End If
Catch ex As Exception
SBO_Application.MessageBox(ex.Message)
End Try
End Sub
I am loading dropdown using the above code.I am displaying goods receipt no in the dropdown.I want to select the first value when the dropdown is loaded.For this I have used the code which is highlighted in bold.But it gives error as,
The server threw an exception
So how can I select the first value ?Hi dilip
replace this code
If ddlGRN.ValidValues.Count > 0 Then
ddlGRN.Select(intValue) Else
ddlGRN.ValidValues.Add(0, "No data found")
End If
with
If ddlGRN.ValidValues.Count > 0 Then
ddlGRN..Select(0, SAPbouiCOM.BoSearchKey.psk_ByIndex)
Else
ddlGRN.ValidValues.Add(0, "No data found")
End If
Regards
Vishnu -
I am getting
The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT)) When i try to open any file using Adobe
Private Template As String = "C:\temp\test.pdf"
Dim gApp As New AcroApp()
Dim gPdDoc As New AcroPDDoc()
Dim gAvDoc As New AcroAVDoc()
try
' open the PDF
gAvDoc.Open(Template, "") 'This is the line where the exception is thrown
' do something
Catch ex As Exception
End Try
Can anyone please help me..Is there anything wrong with the acrobat Installation..It's the reinstall that fixed the issue. Turning off Automatic Updates has nothing to do with it, since when you reinstall after making that change it will reset that preference anyways.
If for some reason your COM objects are no longer registered with Windows, I would suggest a repair instead of a reinstall. From Acrobat, choose Help > Repair. -
Rollback is not working when "The server threw an exception" error
Hi
These are my transaction steps
1) Call the StartTransaction method of the company object (Function AA)
2) Add Goods Issue (Rollback if error occurs) (Function BB)
3) Create record with oRecordSet object (Rollback if error occurs) (Function BB)
4) Add Journal Entry (Rollback if error occurs) (Function CC)
5) Add Goods Receipt (Rollback if error occurs) (Function DD)
6) Create record with oRecordSet object (Rollback if error occurs) (Function DD)
7) Call EndTransaction (with commit) to complete the whole process (Function AA)
These are working fine usually.
But problem is when user has "The server threw exception" error message.
Whole transaction must be rollback but still step 2 and 3 records are exist on DB.
Rollback is working fine with another error messages.
I programmed call Rollback transaction if calling function has any error.
Function BB, CC and DD are calling from Function AA.
I never have "The server threw an exception" error on my development machine with B1 2005 PL 51.
This is happened only LIVE server with B1 2005 PL 51.
B1 was upgraded from PL29 to PL51 recently becaseu of Locking issue.
Then Locking issue was solved but have "The server threw an exception" error and rollback is not working properly.
I hope someone can help me!!!!.
Thank you
2) & 3) stepsHi Joanne,
There are 2 things to check here.
1. is the Transaction
2. is the RPC_E_SERVERFAULT.
for the first one,
in step 2, just before you add the Good Issue, can you try to check first if you are still in a transaction ?
Just to make sure.
If it is, maybe you should open a ticket to SAP support.
BTW, Which version is your Live environment ?
for the second one,
try to search the error in this forum. there is a lot of posting about this.
The problem might also go away if you upgraded your SBO.
Please search and see if there is anything the same with your problem.
Regards
Edy -
users are able to pick the SSAS database and cube, it's at the final step and suddenly excel had this error:
The following system error occurred: the server threw an exception...
Other users have no such issues at all
any ideas?
thanks
--Currently using Reporting Service 2000; Visual Studio .NET 2003; Visual Source Safe SSIS 2008 SSAS 2008, SVN --Hi Cat_ca,
Glad to hear that your issue had been solved by yourself. Thank you for your sharing.
Regards,
Charlie Liao
TechNet Community Support -
Hi Experts,
I have created some tables & fields in my Addon. When i am running the code in SAP B1 8.8, some tables & fields are creating and some are not creating. it's throwing exception "The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))". yet i hv added the reference of 8.0.
When i am running in 2007 version its working fine and creating all the tables & Fields.
Please help me out.
Thanking all
Vishwajit KumarHi Vishwajit Kumar,
The data structure has been changed between versions. If your table has relationship with system table, you must review them all one by one.
Thanks,
Gordon -
Error : The Server threw an exception.
Hi all,
I found one exception, this comes from when i switch to one column to another column in the Matrix.that Matrix's columns having combobox control.
Error :<b>The Server threw an exception. (Exception from HRESULT:0x80010105
(RPC_E_SERVERFAULT)) </b>The "The Server threw an exception" is the top-node exception, that is cast if something unexpected happened that the developers of the SDK haven't considered... "The Server threw an exception" is most common in early releases of a new version, and is on the road replaced with more informative exceptions or bug-fixes... You should report it to the SAP Support
-
A COM exception has been encountered: At invoke of: ADD The server threw an
Hi,
we are using the Java Connector, and I can add or update Business Partners.
But adding or updating an JournalVouchers allways throws the following COM Exception
on a SBO 6.5. Our programm-code works on a SBO 6.2, but not on a SBO 6.5 ?
What is wrong ? Can anybody tell us that ?
Regards
Jan Nielsen
AMC-CONSULT A/S
====== error mesage ======
com.sap.smb.sbo.wrapper.com.ComFailException: A COM exception has been encountered:
At Invoke of: Add
Description: The server threw an exception.
====== Programcode ==============
Created on 25-09-2003
To change the template for this generated file go to
Window>Preferences>Java>Code Generation>Code and Comments
package amc.sap.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.Date;
import amc.language.Language;
import amc.xkernel.exception.SetThrowException;
import amc.xkernel.global.BoxPane;
import amc.xkernel.global.Convert;
import amc.xkernel.global.DateX;
import amc.xkernel.global.SysLog;
import amc.sap.table.SalarySetupTable;
import amc.sap.table.SalarySetupTrans;
import com.sap.smb.sbo.api.IJournalEntries;
import com.sap.smb.sbo.api.IJournalEntries_Lines;
import com.sap.smb.sbo.api.IChartOfAccounts;
import com.sap.smb.sbo.api.SBOCOMUtil;
import com.sap.smb.sbo.api.SBOErrorMessage;
import com.sap.smb.sbo.util.ConvertUtil;
@author Administrator
To change the template for this generated type comment go to
Window>Preferences>Java>Code Generation>Code and Comments
public class MultidataImport extends SAPLogonUtil
private int lineNo = 0;
public static void FileCopy(String srcFileName, String destFileName)
try
File srcFile = new File(srcFileName);
if (srcFile.exists())
File destFile = new File(destFileName);
FileInputStream in = new FileInputStream(srcFile);
FileOutputStream out = new FileOutputStream(destFile);
int ret;
for (;(ret = in.read()) != -1;)
out.write(ret);
in.close();
out.close();
catch (Throwable e)
SysLog.setError(e.getMessage(),"");
private SBOErrorMessage errMsg = null;
private IJournalEntries iJournalEntries = null;
private IChartOfAccounts iChartOfAccounts = null;
private IJournalEntries_Lines iJournalEntries_Lines = null;
private boolean iJournalEntriesOK = false;
private int recCounter = 0;
private SalarySetupTable salarySetupTable = null;
private boolean errorsFound = false;
File fileName = null;
public MultidataImport()
super();
public void insertRecord(String record) throws Exception
try
SalarySetupTrans salarySetupTrans = new SalarySetupTrans();
String strDate = null;
Date entryDate = null;
String salaryCode = null;
String debetCredit = null;
String entryAccount = null;
String entryText = null;
String intAmount = null;
Double amount = Convert.string2Double("0.00");
Double emptyDouble = Convert.string2Double("0.00");
if (record.substring(0, 2).toString().equalsIgnoreCase("ML"))
/** Entrydate*/
strDate =
Convert.subString(record, 21, 4)
+ "-"
+ Convert.subString(record, 25, 2)
+ "-"
+ Convert.subString(record, 27, 2);
entryDate = ConvertUtil.DateString2Date(strDate);
/** Salarycode */
salaryCode = Convert.subString(record, 38, 4);
/** Identyfier for Debet or Credit amount */
debetCredit = Convert.subString(record, 42, 1);
/** Amount */
intAmount =
Convert.subString(record, 43, 10)
+ "."
+ Convert.subString(record, 53, 2);
amount = Convert.string2Double(intAmount);
Fillout the IJournalEntries
salarySetupTrans.setWhereFirstOnly(SalarySetupTrans.SalaryId"='"salaryCode+"'");
if (iJournalEntriesOK == false)
iJournalEntries.setMemo(Language.get("@ImportML"));
iJournalEntries.setReferenceDate(entryDate);
iJournalEntries.setStornoDate(entryDate);
iJournalEntries.setTaxDate(entryDate);
iJournalEntries_Lines = iJournalEntries.getLines();
iJournalEntriesOK = true;
if (iJournalEntriesOK == true)
Fillout the IJournalEntries_Lines
/** Fetch account from from DB */
entryAccount = salarySetupTrans.accountId;
/** Fetch Entrytext from DB */
entryText = salarySetupTrans.entryText;
/** Make debet Line. */
if(lineNo >= 1)
lineNo = lineNo + 1;
Integer integer_ = new Integer(lineNo);
iJournalEntries_Lines.setCurrentLine(integer_);
iJournalEntries_Lines.setAccountCode(entryAccount);
if (debetCredit.equalsIgnoreCase("+"))
iJournalEntries_Lines.setDebit(amount);
iJournalEntries_Lines.setCredit(emptyDouble);
else
iJournalEntries_Lines.setCredit(amount);
iJournalEntries_Lines.setDebit(emptyDouble);
iJournalEntries_Lines.setDueDate(entryDate);
iJournalEntries_Lines.setLineMemo(entryText);
iJournalEntries_Lines.setReferenceDate1(entryDate);
iJournalEntries_Lines.setShortName(entryAccount);
iJournalEntries_Lines.setTaxDate(entryDate);
iJournalEntries_Lines.add();
errMsg = iCompany.getLastError();
if (errMsg.getErrorCode() != 0)
iJournalEntriesOK = false;
throw new Exception("Could not create Journalentry "
+ "\nReason code: "
+ errMsg.getErrorCode()
+ "\nLongtext: "
+ errMsg.getErrorMessage());
lineNo = lineNo + 1;
Integer integer1_ = new Integer(lineNo);
iJournalEntries_Lines.setCurrentLine(integer1_);
/** Make credit Line */
/** Fetch setoffaccount from from DB */
entryAccount = salarySetupTrans.setOffAccountId;
iJournalEntries_Lines.setAccountCode(entryAccount);
if (debetCredit.equalsIgnoreCase("+"))
iJournalEntries_Lines.setDebit(emptyDouble);
iJournalEntries_Lines.setCredit(amount);
else
iJournalEntries_Lines.setCredit(emptyDouble);
iJournalEntries_Lines.setDebit(amount);
iJournalEntries_Lines.setDueDate(entryDate);
iJournalEntries_Lines.setReferenceDate1(entryDate);
iJournalEntries_Lines.setShortName(entryAccount);
iJournalEntries_Lines.setTaxDate(entryDate);
iJournalEntries_Lines.setLineMemo(entryText);
iJournalEntries_Lines.add();
recCounter = recCounter + 1;
errMsg = iCompany.getLastError();
if (errMsg.getErrorCode() != 0)
iJournalEntriesOK = false;
throw new Exception("Could not create Journalentry "
+ "\nReason code: "
+ errMsg.getErrorCode()
+ "\nLongtext: "
+ errMsg.getErrorMessage());
catch (SetThrowException s)
SysLog.setError(s.getMessage(),"");
catch (Exception e1)
SysLog.setError(Language.get("@AddFail"),e1.toString());
public void validateRecord(String record)
try
SalarySetupTrans salarySetupTrans = new SalarySetupTrans();
String salaryCode = null;
if (record.substring(0, 2).toString().equalsIgnoreCase("ML"))
/** Entrydate*/
//** Salarycode */
salaryCode = Convert.subString(record, 38, 4);
/** Identyfier for Debet or Credit amount */
Check salarycodes and SAP Ledgeraccounts
salarySetupTrans.setWhereFirstOnly(SalarySetupTrans.SalaryId"='"salaryCode+"'");
if(!salarySetupTrans.found())
SysLog.setError(Language.get("@SalarycodeNotFound",salaryCode),Language.get("@SalarycodeNotFoundHELP"));
errorsFound = true;
else
if(salarySetupTrans.accountId == "")
SysLog.setError(Language.get("@AccountIdNotFound",salaryCode),Language.get("@AccountIdNotFoundHELP"));
errorsFound = true;
else
if(!iChartOfAccounts.getByKey(salarySetupTrans.accountId))
SysLog.setError(Language.get("@AccountIdNotExist",salarySetupTrans.accountId),Language.get("@AccountIdNotExistHELP"));
errorsFound = true;
if(salarySetupTrans.setOffAccountId == "")
SysLog.setError(Language.get("@SetOffAccountIdNotFound",salaryCode),Language.get("@SetOffAccountIdNotFoundHELP"));
errorsFound = true;
else
if(!iChartOfAccounts.getByKey(salarySetupTrans.setOffAccountId))
SysLog.setError(Language.get("@SetOffAccountIdNotExist",salarySetupTrans.setOffAccountId),Language.get("@SetOffAccountIdNotExistHELP"));
errorsFound = true;
else
SysLog.setInfo(Language.get("@WrongFileType",fileName.getAbsolutePath()),Language.get("@WrongFileTypeHELP"));
errorsFound = true;
return;
catch (SetThrowException i)
SysLog.setError(i.getMessage(),"");
public void run(boolean showBoxes)
int je;
String fileNameStr = null;
File backupFile = null;
File backupDir = null;
FileReader fileReader = null;
BufferedReader read = null;
String readLine = null;
String content = null;
iJournalEntriesOK = false;
if (iCompany == null)
MultidataImport.tryLogon(false);
if (iCompany == null)
return;
try
salarySetupTable = new SalarySetupTable();
salarySetupTable.setWhereFirstOnly();
fileNameStr = salarySetupTable.salaryImportFile;
if (fileNameStr == null || fileNameStr.equalsIgnoreCase(""))
SysLog.setError(Language.get("@NoImportfile"),Language.get("@NoImportfileHELP"));
return;
backupFile = new File(salarySetupTable.salaryMoveTo"
"DateX.getSystemDateString()Convert.stringRemove( DateX.getSystemTime(),":")".bak");
backupDir = new File(salarySetupTable.salaryMoveTo);
fileName = new File(fileNameStr);
if (!fileName.exists())
SysLog.setError(Language.get("@FileNoExist",fileName.getAbsolutePath()),Language.get("@FileNoExistHELP"));
return;
if ( !backupDir.exists() )
SysLog.setError(Language.get("@BackupDirNoExist",backupDir.getAbsolutePath()),Language.get("@BackupDirNoExistHELP"));
return;
if(showBoxes)
if (BoxPane.okCancel(Language.get("@OKtoImport")" "Language.get("@Multidata"),"Multidata-import") != 0)
return;
iJournalEntries = SBOCOMUtil.newJournalEntries(iCompany);
iChartOfAccounts = SBOCOMUtil.newChartOfAccounts(iCompany);
fileReader = new FileReader(fileName);
read = new BufferedReader(fileReader);
while (((readLine = read.readLine()) != null))
content = readLine;
if (!content.equalsIgnoreCase(""))
this.validateRecord(content);
if(errorsFound == true)
SysLog.setError(Language.get("@ErrorsFound"),Language.get("@ErrorsFoundHELP"));
fileReader.close();
read.close();
return;
fileReader.close();
read.close();
fileReader = new FileReader(fileName);
read = new BufferedReader(fileReader);
while (((readLine = read.readLine()) != null))
content = readLine;
if (!content.equalsIgnoreCase(""))
this.insertRecord(content);
if (iJournalEntriesOK == true)
je = iJournalEntries.add();
if (je != 0L)
iJournalEntriesOK = false;
errMsg = iCompany.getLastError();
SysLog.setError(Language.get("@NotCreatedJEntry")
+ "\n"+Language.get("@ReasonCode")
+ errMsg.getErrorCode()
+ "\n"+Language.get("@ErrorMessage")
+ errMsg.getErrorMessage()
,Language.get("@ConnectErrorHELP"));
else
SysLog.setInfo(Language.get("@CreatedJEntry",String.valueOf(recCounter)),"");
if(iJournalEntriesOK == true)
FileCopy(fileName.getAbsolutePath(),backupFile.getAbsolutePath());
fileReader.close();
read.close();
if (backupFile.exists())
fileName.delete();
catch (SetThrowException t)
SysLog.setError(t.getMessage(),"");
catch (IOException i)
SysLog.setError(i.getMessage(),"");
catch (Exception s)
SysLog.setError(s.getMessage(),"");After a long search I have found the answer to this proproblem myself on service.sap.com/smb note-no 706379. I have tryed it out and it WORKS. Please read the following text that explains the problem and the solution :
Symptom
Following exception or similar text found in the failed response message
COM exception has been encountered: At Invoke of: Add
Description: The server threw an exception.
Other terms
SBO ITK, Java Connector, SBO SDK, DI-API, SAP J2EE 6.20
Reason and Prerequisites
Note 642676 explains this problem in a detail.
In a brief, the main stack size is not large enough causes this
exception.
Solution
First of all, please find from which exe file the J2EE server started. For starting in the console with go.bat, the exe may be java.exe under %JAVA_HOME%\bin (Please check the path setting for which java.exe
to be used. Normally, it may be C:\WINDOWS\SYSTEM32\java.exe,
%JAVA_HOME%\bin\java.exe, %JAVA_HOME%\jre\bin\java.exe,
or C:\Program Files\JavaSoft\JRE\1.3.1_08\bin\java.exe)
For starting as the windows service, you can find the exe as following:
1. Open the service from Start -> Setting -> Control Panel ->
Adiministrative Tools -> Services
2. Find the service to start SAP J2EE 6.20 of ITK, for example,
"SAP J2EE Engine Alone"
3. Open the properites window of this service, you can find the exe in "Path to excutable", for example, d:\SAP_J2EEngine6.20\configtool\alone.exe
Second, prepare the tools to do the patch. If you have installed
Microsoft Visual Studio 6.0, you have the right tools. We need
a. editbin.exe, to patch the exe.
b. dumpbin.exe, to check the stacksize.
c. link.exe and MSPDB60.DLL to run above two tools.
Third, patch the exe:
1. BACKUP THE ORIGINAL EXE, JAVA.EXE OR ALONE.EXE
2. Use dumpbin.exe to check the original stack size
dumpbin.exe /headers alone.exe
find line: 40000 size of stack reserve
It means the current stack size is 256k
3. Use editbin.exe to patch the exe, for example with 2m stack size
2m = 2 * 1024 *1024 bytes = 2097152 bytes
editbin.exe /stack:2097152 alone.exe
4. Use dumpbin.exe to verify the patch.
dumpbin.exe /headers alone.exe
find line: 200000 size of stack reserve
It means the current stack size is 2m
Last step, start the J2EE server again and see whether everything
is OK.
For service, we also recommend you patch d:\SAP_J2EEngine6.20\configtool\service.exe All installed service exe file, for example alone.exe will be copied from this file. Patch this file will avoid patch each duplicated exe file then.
Regards
Jan Nielsen
AMC-CONSULT A/S -
Server threw an exception while updating BP-Addresses
Hi experts,
I am trying to add (or update if already exist) addresses on a Business Partner. I am always getting an error that "The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))".
I have even tried to use different objects for finding, add or update, but still no luck..
Can anyone advise me, please? my code looks like that:
Dim oBP As SAPbobsCOM.BusinessPartners
oBP = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners)
oBP.GetByKey(CardCode)
Dim flag As Integer = -1
For i As Integer = 0 To oBP.Addresses.Count - 1
oBP.Addresses.SetCurrentLine(i)
If (oBP.Addresses.AddressName = Address_1) Then
flag = i
Exit For
End If
Next
System.Runtime.InteropServices.Marshal.ReleaseComObject(oBP)
oBP = Nothing
GC.Collect()
If flag = -1 Then
Dim oBP1 As SAPbobsCOM.BusinessPartners
oBP1 = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners)
oBP1.GetByKey(CardCode)
Dim iL As Integer = 0
iL = oBP1.Addresses.Count
oBP1.Addresses.Add()
oBP1.Addresses.SetCurrentLine(iL)
oBP1.Addresses.AddressName = Address_1
oBP1.Addresses.Street = Address_2
oBP1.Addresses.City = City
oBP1.Addresses.ZipCode = Zip
oBP1.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_BillTo
Try
lRetCode = oBP1.Update()
System.Runtime.InteropServices.Marshal.ReleaseComObject(oBP1)
oBP1 = Nothing
GC.Collect()
Catch ex As Exception
MsgBox(lErrCode & " " & ex.Message)
End Try
Else
Dim oBP2 As SAPbobsCOM.BusinessPartners
oBP2 = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners)
oBP2.GetByKey(CardCode)
oBP2.Addresses.SetCurrentLine(flag)
oBP2.Addresses.Street = Address_2
Try
lRetCode = oBP2.Update()
System.Runtime.InteropServices.Marshal.ReleaseComObject(oBP2)
oBP2 = Nothing
GC.Collect()
Catch ex As Exception
MsgBox(lErrCode & " " & ex.Message)
End Try
End If
Thank you in advance,
ArisHi Aris,
There are a few things wrong with the logic but I don't think any of them would directly cause your error message
1) You ought to use the GetByKey method in an If statement as the method returns true or false depending on whether the BP exists. I'm assuming that for your testing the CardCode variable does return a valid BP.
2) In the For/Next loop you need to check that the selected address has the correct AddressName and AddressType for the address you are searching for. In SBO it is possible to have a billing and shipping address on the same BP that have the same address name.
3) I don't understand why you need to use 3 BusinessPartner objects. You could do all the processing using a single BP and simplify your code. I appreciate that your code sample may be designed that way for reasons that aren't apparent in the context of this issue.
This works for me:
Dim oBP As SAPbobsCOM.BusinessPartners = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners)
Try
If oBP.GetByKey(CardCode) then
Dim found As Boolean = false
Dim iL As Integer = oBP.Addresses.Count
For i As Integer = 0 To oBP.Addresses.Count - 1
oBP.Addresses.SetCurrentLine(i)
If oBP.Addresses.AddressName = Address_1 and oBP.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_BillTo Then
oBP.Addresses.Street = Address_2
found = true
Exit For
End If
Next
If not found then
oBP.Addresses.Add()
oBP.Addresses.SetCurrentLine(iL)
oBP.Addresses.AddressName = Address_1
oBP.Addresses.Street = Address_2
oBP.Addresses.City = City
oBP.Addresses.ZipCode = Zip
oBP.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_BillTo
End if
If oBP.Update() <> 0 then
oApp.MessageBox(oCompany.GetLastErrorDescription, 1, "OK", "", "")
End if
End if
Catch ex as Exception
oApp.MessageBox(ex.Message, 1, "OK", "", "")
Finally
System.Runtime.InteropServices.Marshal.ReleaseComObject(oBP)
oBP = Nothing
GC.Collect()
End Try
If that doesn't help then please let us know what version and patch level you are on and exactly where the error occurs.
Kind Regards,
Owen -
UDS 4.0 - PHD Connection - Server Threw an Exception
Hi All,
I am using UDS 4.0 for connecting to Honeywell PHD System via OPC Server. When i execute the Tag Query first time, I am getting the Tag Values successfully. But the same query if i run it for second time i gives me an Exception "com.sap.xmii.Illuminator.logging.LHException: The server threw an exception.". So i restarted the UDS Service and ran the query again. It worked. But again second time it is throwing an exception. Can any one tell me what could be the Error.
Here is the URL i am using:
http://Server:50000/XMII/Illuminator?Server=UDC_PHD_1&Mode=History&Method=&DateFormat=yyyy-MM-dd'T'HH:mm:ss&StartDate=2010-01-28T04:30:00&EndDate=2010-01-28T04:45:00&RowCount=15&TagName=MH.93A128.PV,MH.93A127.PV,MH.93A126.PV,MH.93A125.PV,MH.93A124.PV,MH.93A123.PV,MH.93A122.PV,MH.93A121.PV,MH.93A120.PV,MH.93A130F.PV,MH.93A114.PV,MH.93N100.PV,MH.93X100B.PV,MH.68A004.PV,MH.68N027.PV,MH.68X027B.PV,MH.68A010.PV,MH.68A011.PV,MH.68A012.PV,MH.68A013.PV,MH.68A014.PV,MH.68A015.PV,MH.68A016.PV,MH.68A017.PV,MH.68A018.PV,MH.68A019.PV,MH.68A020.PV,MH.68A021.PV,MH.68A022.PV,MH.68A023.PV,MH.68A024.PV,MH.68A025.PV,MH.68F027C.PV,ML.73F012C1.PV,ML.73A125.PV,ML.73A124.PV,ML.73A123.PV,ML.73A122.PV,ML.73A121.PV,ML.73A120.PV,ML.73A119.PV,ML.73A118.PV,ML.73A117.PV,ML.73A116.PV,ML.73A115.PV,ML.73A114.PV,ML.73A113.PV,ML.73A112.PV,ML.73A111.PV,ML.73A110.PV,ML.73A104.PV,ML.73N012.PV,ML.73X012B.PV&Content-Type=text/xml
Here is the Response:
<?xml version="1.0" encoding="UTF-8" ?>
- <Rowsets DateCreated="2010-01-28T04:37:13" EndDate="1969-12-31T18:00:00" StartDate="1969-12-31T18:00:00" Version="12.0.8 Build(19)">
<FatalError>com.sap.xmii.Illuminator.logging.LHException: The server threw an exception.</FatalError>
</Rowsets>
Here is the Entry in UDS Log File:
[01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, Framework, ERROR] 0x0 Query Id: 3 [LHDSChannelHandler.cpp @ 523, CLHDSChannelHandler::ExecuteIOCP]
[01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, Framework, ERROR] 0x17009 Exception occured: pid = 3, original = 3, data = Server UDC_PHD_1 Content-Type text/xml Mode History DateFormat yyyy-MM-dd'T'HH:mm:ss RowCount 15 StartDate 1264674600 EndDate 1264675157 TagName.1 MH.93A128.PV TagName.2 MH.93A127.PV TagName.3 MH.93A126.PV TagName.4 MH.93A125.PV TagName.5 MH.93A124.PV TagName.6 MH.93A123.PV TagName.7 MH.93A122.PV TagName.8 MH.93A121.PV TagName.9 MH.93A120.PV TagName.10 MH.93A130F.PV TagName.11 MH.93A114.PV TagName.12 MH.93N100.PV TagName.13 MH.93X100B.PV TagName.14 MH.68A004.PV TagName.15 MH.68N027.PV TagName.16 MH.68X027B.PV TagName.17 MH.68A010.PV TagName.18 MH.68A011.PV TagName.19 MH.68A012.PV TagName.20 MH.68A013.PV TagName.21 MH.68A014.PV TagName.22 MH.68A015.PV TagName.23 MH.68A016.PV TagName.24 MH.68A017.PV TagName.25 MH.68A018.PV TagName.26 MH.68A019.PV TagName.27 MH.68A020.PV TagName.28 MH.68A021.PV TagName.29 MH.68A022.PV TagName.30 MH.68A023.PV TagName.31 MH.68A024.PV TagName.32 MH.68A025.PV TagName.33 MH.68F027C.PV TagName.34 ML.73F012C1.PV TagName.35 ML.73A125.PV TagName.36 ML.73A124.PV TagName.37 ML.73A123.PV TagName.38 ML.73A122.PV TagName.39 ML.73A121.PV TagName.40 ML.73A120.PV TagName.41 ML.73A119.PV TagName.42 ML.73A118.PV TagName.43 ML.73A117.PV TagName.44 ML.73A116.PV TagName.45 ML.73A115.PV TagName.46 ML.73A114.PV TagName.47 ML.73A113.PV TagName.48 ML.73A112.PV TagName.49 ML.73A111.PV TagName.50 ML.73A110.PV TagName.51 ML.73A104.PV TagName.52 ML.73N012.PV TagName.53 ML.73X012B.PV !. [LHDSChannelHandler.cpp @ 528, CLHDSChannelHandler::ExecuteIOCP]
Start of Exception Stack Trace **********
1) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, UDS, ] 0x0 The server threw an exception.
[HdaBaseModeClass.h @ 407, HdaBaseMode<class CLHOpcHdaDSHistory>::FinalTagModeExecute]
2) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, UDS, RETHROW] 0x0 Rethrowing exception. [HdaBaseModeClass.h @ 630, HdaBaseMode<class CLHOpcHdaDSHistory>::FinalTagModeExecute]
3) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, UDS, RETHROW] 0x0 Rethrowing exception. [tagUtil/lhds2TagMode.h @ 109, lhds::LHDSTagModeImpl<class CLHOpcHdaDSHistory>::ExecuteMode]
4) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, UDS, RETHROW] 0x0 Rethrowing exception over COM. [core/lhdsMode.h @ 133, lhds::LHDSModeImpl<class CLHOpcHdaDSHistory,struct ILHDSModeEx>::Execute]
5) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, UDS, RETHROW] 0x0 Rethrowing exception. [core/lhdsMode.h @ 174, lhds::LHDSModeImpl<class CLHOpcHdaDSHistory,struct ILHDSModeEx>::Execute]
6) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, Framework, RETHROW] 0x0 Rethrowing exception over COM. [LHDSDispatcherEx.cpp @ 370, CLHDSDispatcherEx::CallMode]
7) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, UDS, RETHROW] 0x0 Rethrowing exception over COM. [tagUtil/lhds2BrowseDs.h @ 385, lhds::LHBrowsingDataServerImpl<class CLHOpcHdaDataServer>::Execute]
8) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, Framework, ] 0x0 Caught exception over a COM boundry. [LHDSChannelHandler.cpp @ 601, CLHDSChannelHandler::OnExecute]
9) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, Framework, RETHROW] 0x0 Rethrowing exception. [LHDSChannelHandler.cpp @ 609, CLHDSChannelHandler::OnExecute]
10) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, Framework, RETHROW] 0x0 Rethrowing exception. [LHDSChannelHandler.cpp @ 537, CLHDSChannelHandler::ExecuteIOCP]
11) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, Framework, RETHROW] 0x0 Rethrowing exception over COM. [LHDSChannelHandler.cpp @ 191, CLHDSChannelHandler::Execute]
12) [01/28/2010-04:39:18.549] MB_PHD_HDA1 [P:5360, T:6616, Host, HANDLED] 0x0 Handled exception. [ThreadPool.cpp @ 460, ThreadPool::ThreadProc]
End of Exception Trace **************
Thanks,
Gowtham K.
Edited by: Gowtham Kuchipudi on Jan 28, 2010 11:57 AM
Edited by: Gowtham Kuchipudi on Jan 28, 2010 1:08 PMHi Sam,
I tried using &Session=false, but it didn't solve the problem. I replaced the HttpPost Action Block with TagQuery. But still have the problems with Scheduler. And also tried with both STA and MTA options in UDS configuration for Threading Model with no success.
Earlier when we installed and configured UDS 4.0, then also i noticed few strange things, like -->
I entered the User and Password in UDS Configuration and tried to start. But it didn't and the Log file says Login Failed. Then i went to services.msc and re entered the password there for this uds service and clicked on start. It started. I don't know why the password is not properly stored when i enter the Password in UDS.
Can any one please help me to understand why the scheduler is failing when connecting to Data Historian. Is there any setting i am missing in the UDS Configuration or in TagQuery?.
Thanks,
Gowtham K. -
When deleting the signature using Acrobat 9.0 -server threws an exception error displays
Hi Everyone,
I have built an application using VC++ ,in my application i try to sign a document using Acrobat 9.0 ,it gets properly signed and when i try to remove the signature it throws an exception that " Server threws an exception" ,the same code if executed in Acrobat in 7.0 is properly working.
The code is as below
DISPID dispid2;
OLECHAR *methodName2 = { L"removeField" };
dispparam1.cArgs = 1;
dispparam1.rgvarg = new VARIANT[ dispparam1.cArgs ];
dispparam1.rgvarg[ 0 ].vt = VT_BSTR;
dispparam1.rgvarg[ 0 ].bstrVal = varResult.bstrVal;
dispparam1.cNamedArgs = 0;
dispparam1.rgdispidNamedArgs = NULL;
hr = jso->Invoke( dispid2, IID_NULL, GetUserDefaultLCID(),
DISPATCH_METHOD, &dispparam1, NULL, NULL, NULL );
here after executing this line the hr throws "Server thres an exception"
What could be the reason please throw ur ideas.
Regards,
NethajiWhile deleting manually using acrobat 9.0 we are able to deleted it. But while deleting the same through code we get the following exception
hr = jso->Invoke( dispid2, IID_NULL, GetUserDefaultLCID(),
DISPATCH_METHOD, &dispparam1, NULL, &exceptionInfo,
&puArgErr );
ExceptionInfo = "NotAllowedError: Security settings prevent access
to this property or method."
puArgErr = 0
Exception id : 0x80020009
How to give the permission to invoke this method? -
The server threw exception error - Goods Issue Object
Hi All,
The server threw exception error while creating Goods issue through object oInverntoryGenEntry. It was working fine in 2005 B. This error showing after upgradation 2005 B to 2007B.Now i am using 2007B PL8
Warm Regards,
MahendraDear Mahendrakumar,
You need to use oInventoryGenExit for Goods Issue but not oInverntoryGenEntry.
Best Regards
Jane Jing
SAP Business One Forums team -
Server Threw Exception when Exporting the report as PDF
Hi ,
I am developing a .Net application , In my application referring to the .rep file which is created using the Business Objects Desktop Intelligence as below
objBO = new busobj.Application();
objBO.Logon(strUserName, strPassword, strServerName, strConnectionMode,false, false);
objBO.Visible = false;
objBO.Documents.OpenFromEnterprise("PfILS Document.rep", strDomain, BoEnterpriseFolderKind.boFolder);
After passing the values to the variables of the.rep and refreshing like as below
objBO.Application.ActiveDocument.Refresh();
when I tried to save the generated report as .pdf ..
objBO.Application.ActiveDocument.ExportAsPDF(@"c:\" + Report0101010 + ".pdf");
I am getting the following issue
The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))
and the application fails to export the report to pdf document
Please help me , what will be root cause of this issue
Thanks
Babu
Edited by: Babu Lakshmikantham on Oct 28, 2009 9:18 AMHi,
World you like to have a look at the sample [here|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/60b54507-de66-2b10-95b8-a89015297027]?
Hope that helps!
Thanks. -
Server threw exception during 16.ActiveX (UI COM) sample program
Hi All,
The server threw an exception when i trying to run 16.ActiveX (UI COM) sample program. I am using SAP B1 2005A. The error message as below...
Error: An Unhandled exception of type
'System.Runtime.InteropServices.COMException'
occurred in HelloWorld.exe
Additional information: The server threw an
exception
This error ocuurred when i reach the the code
AcXTree.ClassID = "MSComctlLib.TreeCtrl.2", line 208,
ActiveXTree.vb
I follow the sample program sequence and stuck on this state.
Thanks.
rgds
ERICHi,
The treeview control doesn´t work on Windows XP SP2.
Is this your case?
Regards,
Ibai Peñ
Maybe you are looking for
-
Hi everyone, Just wondered if anyone else is having this problem, or anyone know what i should do Since the most recent update I am now unable to a) Listen to my ipod on my iphone, it infact kicks me out of it as soon as I go in - I cant play tracks
-
Greetings, I have a 3750 switch that has several VLANs defined on it. I also have an 1841 router that has the same VLANs defined (they are numbered the same). At the moment they are connected and I am able to browse from a host connected to the defau
-
Pop=up windows in iweb 08...
i noticed that in o8 we have the option to have links open in a new window. i'm curious if anyone here knows of a way to decide the size of the window that pops up? i'd like to make some pop-up pages that are a certain size. there must be some way to
-
Hi, I am currently setting up a Data Guard environment to make use of the Broker and I have a some basic queries – I have created a DG configuration on my Primary Instance ( I have not yet enabled the configuration ). Q1. Do I need to manually replic
-
Trying to connect a Photosmart 6520 e to a Mac with OS10.6.8 wirelessly.
The printer recognizes the the network and connects to it (I downloaded software update). The computer does not see the printer at all. I hooked it up with USB and it could see the printer and print but I need the wireless connection. The internet ro