Quantcast
Channel: SCN: Message List - Software Support and Maintenance
Viewing all articles
Browse latest Browse all 2823

NCO 3 An unhandled microsoft .net framework exception occurred in w3wp.exe

$
0
0


Hi Experts,

 

I have .Net a webservice  to post Goods Movement in SAP using NCO 3.0 it works fine and data is reflected in SAP after execution of this service

 

But 10 to 15 minutes  after executing this webservice I get an exception (A Just in Time debugger window appars if visual studio installed in the machine where this web service is hosted otherwise I can see it in the event log)

 

an unhandled microsoft .net framework exception occurred in w3wp.exe [8920]

 

below is the stack trace

 

 

Application: w3wp.exe

Framework Version: v4.0.30319

Description: The process was terminated due to an unhandled exception.

Exception Info: System.InvalidOperationException

Stack:

   at System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource)

   at System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()

   at SAP.Middleware.Connector.RfcSessionManager.UpdateSessions(System.Object)

   at System.Threading._TimerCallback.TimerCallback_Context(System.Object)

   at System.Threading.ExecutionContext.runTryCode(System.Object)

   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)

   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)

   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

   at System.Threading._TimerCallback.PerformTimerCallback(System.Object)

 

 

 

Below is my code snippet

 

 

SAPConfig sapCfg = new SAPConfig();
try
{
   
    try
    {
        RfcDestinationManager.RegisterDestinationConfiguration(sapCfg);
    }
    catch { }

    SapRfcDestination = RfcDestinationManager.GetDestination(Destination);
    RfcRepository SapRfcRepository = null;
    SapRfcRepository = SapRfcDestination.Repository;  

    IRfcFunction bapiCommit = SapRfcRepository.CreateFunction("BAPI_TRANSACTION_COMMIT");
    IRfcFunction function = SapRfcRepository.CreateFunction("BAPI_GOODSMVT_CREATE");
    string tempdate  = Utilities.ToSAPDateFormat(postingdate);
    IRfcStructure MovHder = function.GetStructure("GOODSMVT_HEADER");
    MovHder.SetValue("PSTNG_DATE", tempdate);
    MovHder.SetValue("REF_DOC_NO", refDocNo);  //delivery note
    IRfcStructure MovCode = function.GetStructure("GOODSMVT_CODE");
    MovCode.SetValue("GM_CODE", "01");  //receipt against PO
   
    IRfcTable tblitems = function.GetTable("GOODSMVT_ITEM");

    
   tblitems.Append();
tblitems.SetValue("PO_ITEM", "10");
tblitems.SetValue("PLANT", "9000");
tblitems.SetValue("STGE_LOC", "0001");
tblitems.SetValue("ENTRY_QNT", "1");
tblitems.SetValue("STCK_TYPE", ""); //blank unrestricted X quality

tblitems.SetValue("MOVE_TYPE", "101");
tblitems.SetValue("MVT_IND", "B");  // for purchase order
tblitems.SetValue("VENDOR", VendorCode);
tblitems.SetValue("PO_NUMBER", PoNo);     

 

    RfcSessionManager.BeginContext(SapRfcDestination);  //begins session since commit and and goods movement bapi should be called in a session
    function.Invoke(SapRfcDestination); //execute goods mvt bapi  bapi
    bapiCommit.Invoke(SapRfcDestination); //execute commit bapi
   
    IRfcStructure headRetorno = function.GetStructure("GOODSMVT_HEADRET");
    IRfcTable rettable = function.GetTable("RETURN");
    materialDoc = headRetorno.GetValue("MAT_DOC").ToString(); //headRetorno["MAT_DOC"].ToString();
   
    //set return parameters to the caller
    statuscode = "S";
    statusmsg = materialDoc;
    errormsg = "Posted";
   

}
catch (Exception outerexp)
{
//set return parameters to the caller
    statuscode = "E";
    statusmsg = "";
    errormsg = outerexp.Message;;
   
}
finally
{
    try
    {
        RfcSessionManager.EndContext(SapRfcDestination);  //end the context
    }
    catch { }

    try
    {
        RfcDestinationManager.UnregisterDestinationConfiguration(sapCfg);  //added this code to test wether registered connection causes this error
        sapCfg = null;
    }
    catch { }
   
}


Viewing all articles
Browse latest Browse all 2823

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>