NCo throws an Exception calling BAPI_MATERIAL_SAVEDATA?

I've been successful in calling BAPIs from NCo (BAPI_CHARACT_CREATE, BAPI_CLASS_CREATE, BAPI_VENDOR_FIND, BAPI_VENDOR_GETDETAIL)....
However when calling BAPI_MATERIAL_SAVEDATA, I always get the following Exception being thrown:
Index was outside the bounds of the array.
   at SAP.Connector.Rfc.RfcStructureUtil.ToRfcStructure(Object obj, Byte[] dest, Type t, Encoding encoding, Boolean isUnicode, PropertyInfo[] propinfos, RfcStructInfo structInfo)
   at SAP.Connector.Rfc.RfcStructureUtil.GetITabFromList(SAPConnection conn, Object list, Type t, RfcStructInfo structInfo, Int32 itab)
   at SAP.Connector.Rfc.RfcClient.PrepareClientParameters(Type classType, MethodInfo m, Boolean isTQRfc, Object[] MethodParamsIn, RFC_PARAMETER[]& paramsIn, RFC_PARAMETER[]& paramsOut, RFC_TABLE[]& tables, ParameterMap[]& paramMaps)
   at SAP.Connector.Rfc.RfcClient.RfcInvoke(SAPClient proxy, String method, Object[] methodParamsIn)
   at SAP.Connector.SAPClient.SAPInvoke(String method, Object[] methodParamsIn)
   at SAP_MM_Test.SAPProxy1.Bapi_Material_Savedata(BAPI_MARA Clientdata, BAPI_MARAX Clientdatax, String Flag_Cad_Call, String Flag_Online, BAPI_MPOP Forecastparameters, BAPI_MPOPX Forecastparametersx, BAPIMATHEAD Headdata, String No_Dequeue, String No_Rollback_Work, BAPI_MPGD Planningdata, BAPI_MPGDX Planningdatax, BAPI_MARC Plantdata, BAPI_MARCX Plantdatax, BAPI_MVKE Salesdata, BAPI_MVKEX Salesdatax, BAPI_MARD Storagelocationdata, BAPI_MARDX Storagelocationdatax, BAPI_MLGT Storagetypedata, BAPI_MLGTX Storagetypedatax, BAPI_MBEW Valuationdata, BAPI_MBEWX Valuationdatax, BAPI_MLGN Warehousenumberdata, BAPI_MLGNX Warehousenumberdatax, BAPIRET2& Return0, BAPIPAREXTable& Extensionin, BAPIPAREXXTable& Extensioninx, BAPI_MEANTable& Internationalartnos, BAPI_MAKTTable& Materialdescription, BAPI_MLTXTable& Materiallongtext, BAPI_MFHMTable& Prtdata, BAPI_MFHMXTable& Prtdatax, BAPI_MATRETURN2Table& Returnmessages, BAPI_MLANTable& Taxclassifications, BAPI_MARMTable& Unitsofmeasure, BAPI_MARMXTable& Unitsofmeasurex) in C:\Dev\SAP_MM_Test\SAPProxy1.vb:line 220
   at SAP_MM_Test.Form1.Button1_Click(Object sender, EventArgs e) in C:\Dev\SAP_MM_Test\Form1.vb:line 114"     String
I even tried calling the Method with all parameters set to Nothing and also get the same error.  I tested some of the other BAPI I listed will all Nothing parameters and it does not throw any exceptions.  Almost seems as if the Proxy generated classes did not get created properly or something?
Has anyone else successfully called BAPI_MATERIAL_SAVEDATA from NCo 2.0?
PS...I was successful in calling the BAPI from SE37 with the exact same data, therefore I know I have all the mandatory parameters specified (HeadData, ClientData, ClientDatax...etc)
Anything obvious in the following code?:
=======================================
     ' Connection String
     Dim cs As String = "ASHOST=10.83.180.239 SYSNR=10 CLIENT=110 USER=CMCHUG2 PASSWD=********"
     ' construct the proxy with connection string
     Dim proxy As New SAPProxy1(cs)
     ' Header Data
     Dim HeadData As New BAPIMATHEAD
     HeadData.Material = "000000000000000754"            ' Material NUmber (PAD to 18)
     HeadData.Ind_Sector = "U"                           ' Industry Sector
     HeadData.Matl_Type = "ERSA"                         ' Material Type (ERSA=Space Parts / HERS=Manufacturer Part)
     HeadData.Basic_View = "X"                           ' Need at least 1 view
     ' Client Data
     Dim ClientData As New BAPI_MARA
     ClientData.Matl_Group = "01"                        ' Material Group
     ClientData.Base_Uom = "EA"                          ' Base Unit of Measure
     ' Set the ClientData Indicator Table
     Dim ClientDataX As New BAPI_MARAX
     ClientDataX.Matl_Group = "X"
     ClientDataX.Base_Uom = "X"
     ' Short Description (TABLE)
     Dim ShortDesc As New BAPI_MAKTTable
     Dim sDescr As New BAPI_MAKT
     sDescr.Langu = "E"                                  ' Language
     sDescr.Matl_Desc = "Short Desc Test"               ' Short Description (Max 40)
     ShortDesc.Add(sDescr)
     Dim tblRet As New BAPIRET2
     Dim tblRetMsg As New BAPI_MATRETURN2Table
     proxy.Bapi_Material_Savedata(ClientData, ClientDataX, Nothing, Nothing, Nothing, Nothing, HeadData, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, tblRet, Nothing, Nothing, Nothing, ShortDesc, Nothing, Nothing, Nothing, tblRetMsg, Nothing, Nothing, Nothing)
Exception Thrown Here!!!

Reiner,
Tried what you suggested, still get the same results.  This the 3rd development system I try this from. In all cases I generated proxies via drop and drop of the SaveData Method under StandardMaterial (BOR).  Since it was just generated the MetaData should be up to date?, good suggestion thought, I could see where that might be a problem going against different backends.
My lastest attempt (I am quickly running out of ideas), was to generate a Standalone Proxy containing the SaveData method.  Same Results :{ 
I was able to create Standalone Proxies for the other Business Objects I'm using (Characteristics, Class..etc) without a hitch. (Except for "Class", complaining about the Class name generated (Public Class Class...so I renamed to sapClass).  Using the Standalone Proxy Class I might try from Visual Studio 2005 to see if I get the same results.
Also encountered another problem when trying to Add the whole BOR object StandardMaterial to the Proxy (so I would have access to a few of the Methods....this failed with some Java out of memory error....I would have to attempt this again to capture the exact error....when I get time I'll put that in another post).

Similar Messages

  • Application call to ODBC SQLSetEnvAttr function throw HY011 exception

    Hi All,
          I try to use odbc driver manager in my .Net Application.first My .Net runtime is 3.5, odbc function calls(unmanaged functions are  imported to .Net application by dllimport attribute)can work well.but when .Net runtime is upgraded
    to 4.0,SetEnvAttr function calls
    return SQL-ERROR and I call SQLGetDiagRec function  get this error information:Operation invalid at this time.sqlstate value is HY011.
    below is my code fragment:
    [DllImport("odbc32.dll")]
    extern static short SQLSetEnvAttr(
    IntPtr envHandle,
    ushort attribute,
    IntPtr attrValue,
    int stringLength);
    [DllImport("odbc32.dll")]
    extern static short SQLAllocHandle(
    ushort HandleType,
    int InputHandle,
    out IntPtr OutputHandle);
    try
    rc = SQLAllocHandle(SQL_HANDLE_ENV, 0, out sql_env_handle);
    if ((rc != SQL_SUCCESS) && (rc != SQL_SUCCESS_WITH_INFO))
    throw new Exception("SQLAllocHandle: failed to allocate SQL_HANDLE_ENV");
    rc = SQLSetEnvAttr(sql_env_handle, SQL_ATTR_ODBC_VERSION, (IntPtr)SQL_OV_ODBC3, 0);
    //if ((rc != SQL_SUCCESS) && (rc != SQL_SUCCESS_WITH_INFO))
    // throw new Exception("SQLSetEnvAttr: failed to set SQL_ATTR_ODBC_VERSION");
    if((rc == SQL_SUCCESS_WITH_INFO)||(rc == SQL_ERROR))
    short i=1;
    short rc2;
    StringBuilder sqlstate=new StringBuilder();
    int NativeErrorPtr=0;
    StringBuilder MessageText=new StringBuilder();
    short BufferLength=256;
    short TextLengthPtr=0;
    while ((rc2 = SQLGetDiagRec((short)SQL_HANDLE_ENV,sql_env_handle,i,sqlstate,
    ref NativeErrorPtr,MessageText,BufferLength,ref TextLengthPtr))!= SQL_NO_DATA)
    i++;
    my operation system is win7 64bit. Could someone help me? thanks

    I already fixed this problem.
    [DllImport("odbc32.dll")]
    extern static short SQLAllocHandle(
    long HandleType,
    int InputHandle,
    out IntPtr OutputHandle);
    I replace ushort datatype with long datatype.So it works well

  • *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSSet initWithArray:range:copyItems:]: array argument is not an NSArray' abort() called terminate called throwing an exception

    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSSet initWithArray:range:copyItems:]: array argument is not an NSArray'
    abort() called
    terminate called throwing an exception
    How do I fix this?

    Having the same issue with Numbers in iWork. Was on the phone with Apple Support and went through a variety of trouble shooting methods to no avail.
    Here is the message that occurs on every attempt to start Numbers. This is a user specific issue as I am able to run numbers in a Guest user mode.
    Application Specific Information:
    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -getComponents: not valid for the NSColor NSNamedColorSpace System gridColor; need to first convert colorspace.'
    If anyone has any advice I am all ears.
    Thanks.

  • How to Throw/Catch Exceptions in BPM

    Hi All,
    I've seen a couple articles that talk about how to Throw/Catch an execption in a BPM. My question has two parts:
    1) RFC Call: I was able to catch an Fault Message in an exception step when calling an RFC (Synchronous Interface). What I wanted to do is use the fault message (exception) and store it in a DB for later review.
    2) IDOC: I'm sending an IDOC to R3 from a BPM. The send step is enclosed in a block w/ an exception. The send step is throwing an error (IDOC adpater system error), but the exception is never thrown. My question is: when the error occurrs at the adapter level does it still throw an exception in a BPM?
    Thanks for any tip/advice/anything!
    Fernando.

    Hi Fernando,
    1) Define a send step in the exception branch.
    2) If u send a IDoc from R/3 to XI and the IDoc adapter is running to an error of course there cant be an exception in ur business process. Usually the IDoc adapter sends back status back up via ALEAUD. In case of success IDoc should have then '03', if the adapter cannot send anything the IDoc should remain at '39'. U should send a ALEAUD in case of exception of BPM switching to status '40', in case of success to '41'.
    Regards, Udo

  • How to throw bundled exceptions thrown by checkErrors()

    Hi,
    I call pl/sql to do update, and call checkErrors() , the code looks like following, but it doesn't display read friendly message on the screen. What is the right way to throw bundled exception from checkErrors() method?
    try{
    xxg2cGoalPk.startWf (conn,
    new BigDecimal(srpGoalHeaderId),
    new BigDecimal(userId),
    returnStatus,
    msgCount,
    msgData);
    int msgCount1 = 0;
    if(msgCount[0] != null){
    msgCount1 = Integer.parseInt(msgCount[0].toString());
    String returnStatus1 = returnStatus[0];
    String msgData1 = msgData[0];
    OAExceptionUtils.checkErrors(tx,msgCount1, returnStatus1, msgData1);
    catch(OAException e) {
    e.printStackTrace();
    throw new OAException(e.getDetailMessage(),OAException.ERROR);
    thanks
    Lei

    What Shiv said is only an alternative, but what you are using is correct.I haven't tested but as per javadoc of
    OAExceptionUtils.checkErrors(tx,msgCount1, returnStatus1, msgData1);
    will itself raise bundled exceptions. You need to write this line outside try/catch block.
    --Mukul                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • JNI Application running in ms-dos but throws an exception in applet

    Hi! I have a java application which calls a DLL using the JNI. This works perfect if I execute the java program from my command line (in ms-dos) But when I try to do it in an applet, it indeed runs and do everything ok, but at the end of the execution I get a EXECUTION_EXCEPTION.
    This is how is working:
    1.- jnidllmyclass, this is where I call the native method of my DLL
    2.- intermediate DLL which writes to files to c:\temporal and it calls several functions from other DLL
    3.- other DLL which writes more files (among other things)
    4.- applet class with a call to jnidllmyclass
    Now the DLL what does is to open a connection to a usb scanner, then send commands to it to scann somethings, save front and back images to c:\temporal (obviously, all of this is done in the user system, using certificates) and write other file and close the connection. This works! it write the images well and write everything... but after that the exception arises... I have doubt of what is it, because if it does all, what is causing the exception?
    Thanks for your help!

    Hi! Applet can access the DLL. The scanners works, but the C DLL throws an exception. Nevertheless, I've managed to see what was going on. When you click a JButton in a GUI, it enters only one to the actionlistener, but if this is done in an Applet, enters twice, so... the first time worked fine, but the second no because there was nothing to scann.
    This theme is a bit creepy, if you want help just ask! I give snippets, not just advices... I hate those people, so fell free to ask.
    Greetings!

  • FM used in background job throws an Exception-NO_BATCH

    Hi,
    I have one normal ABAP report with selection screen, where selection parameters are file names and they are used for uploading data from excel to internal table and then internal table to excel respectively.
    Now I want to put this as a background job. So I saved the variant and now while running the job there is an exception.
    Reason for the same as I could find out is:
    while uploading function module (KCD_EXCEL_OLE_TO_INT_CONVERT or ALSM_EXCEL_TO_INTERNAL_TABLE) is called, it has some front-end  services called.
    That is in case of first function module, it is CLPB_IMPORT which in turn calls WS_QUERY where GUI_EXIST is checked and there it throws an exception.
    And in the later case it is cl_gui_frontend_services class and its some method is called.
    So basically, frontend services are called in any case and I still want this as a background job.
    Can Anyone clear it conceptually?

    Hello Krupa,
    The rule is pretty much simple: <i>Anything that you do in batch / background, cannot have anything to do with the front-end / desktop.</i>
    The Excel sheet you use is an application that runs on the Frontend, right? So you cannot do it in batch. The reason, to put it crudely, is that a background job is run by a different workprocess altogether and that work process is not capable of accessing the front-end. Ideally, a background job should be run-able even without a GUI!!
    SO what you can do in a background job, is to operate on the files present on the application server (that is where the job runs).
    Hope that is clear. If not, get back.
    Regards,
    Anand Mandalika.
    Regards,
    Anand Mandalika.

  • How to Throw an Exception in a SapServer

    Hello,
    We have successfully implemented SAPServer in our external process.
    The only thinks that doesn't work perfectly is that we can't throw an exception in the implementation of remote function module.
    The ABAP Program that is calling our fontion waits on expetion 0, 1, 2, 3 and 4. But when we throw the exception like this : throw new RfcException( "Error" );
    the ABAP catch this exception, but as exception 4 (others) and not as 3 (Error)
    Can someone help. Thanks

    Hello
    Thanks for the answer.
    In the while we tried the following:
    RfcAbapException( "ERROR" );
    but it doesn't work.
    The solution was to call this method with 2 parameters:
    RfcAbapException( "ERROR", "Some error text...");
    And now OK.

  • JNDI: DirContext::list throws on exception when existing context is in LDAP

    I was able to import tutorial.ldif using LDAP Browser/Editor without incident:
    http://www-unix.mcs.anl.gov/~gawor/ldap/
    My LDAP now has the following tree:
    o=JNDITutorial
    ou=Groups
    5 cn entries
    ou=People
    10+ cn entries
    However, when calling DirContext::list("ou=People"), it throws the following exception message:
    javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object]; remaining name 'ou=People'
    Here is the code:
         final static String ldapServerName = "backbone.seamonkey";
        public static void main(String[] args) {
         // Set up the environment for creating the initial context
         Hashtable env = new Hashtable(11);
         env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
         env.put(Context.PROVIDER_URL, "ldap://" + ldapServerName +"/o=JNDITutorial");
         try {
             // Create initial context
             DirContext ctx = new InitialDirContext(env);
             // Return enum of people, but throws an exception...
             NamingEnumeration people = ctx.list("ou=People");

    I tried the same with a known LDAP service: OpenLDAP.org, and I get the same exception NameNotFoundException thrown with the following code:
         final static String m_ldapServerName = "OpenLDAP.org";
        public static void main(String[] args) {
         // Set up the environment for creating the initial context
         Hashtable<Object, Object> env = new Hashtable<Object, Object>();
         env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
         env.put(Context.PROVIDER_URL, "ldap://" + m_ldapServerName + ":389/");
         try {
             // Create initial context
             DirContext ctx = new InitialDirContext(env);
             // Return enum of people, but throws an exception...
             NamingEnumeration people = ctx.list("ou=People");

  • System.Management.Automation.MethodInvocationException: Exception calling "ExecuteQuery" with "0" argument(s): "$Resources:core,ImportErrorMessage;" --- Microsoft.SharePoint.Client. ServerException: $Resources:core,ImportErrorMessage;

    Hi,
    I am getting an error  System.Management.Automation.MethodInvocationException: Exception calling "ExecuteQuery" with "0" argument(s): "$Resources:core,ImportErrorMessage;" ---> Microsoft.SharePoint.Client. ServerException:
    $Resources:core,ImportErrorMessage;
    Following is my powershell script on line
    $context.ExecuteQuery(); it is throwing this error.
    function AddWebPartToPage([string]$siteUrl,[string]$pageRelativeUrl,[string]$localWebpartPath,[string]$ZoneName,[int]$ZoneIndex)
        try
        #this reference is required here
        $clientContext= [Microsoft.SharePoint.Client.ClientContext,Microsoft.SharePoint.Client, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]
        $context=New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
        write-host "Reading file " $pageRelativeUrl
        $oFile = $context.Web.GetFileByServerRelativeUrl($pageRelativeUrl);
        $limitedWebPartManager = $oFile.GetLimitedWebPartManager([Microsoft.Sharepoint.Client.WebParts.PersonalizationScope]::Shared);
        write-host "getting xml reader from file"
        $xtr = New-Object System.Xml.XmlTextReader($localWebpartPath)
         [void] [Reflection.Assembly]::LoadWithPartialName("System.Text")
        $sb = new-object System.Text.StringBuilder
             while ($xtr.Read())
                $tmpObj = $sb.AppendLine($xtr.ReadOuterXml());
             $newXml =  $sb.ToString()
        if ($xtr -ne $null)
            $xtr.Close()
        #Add Web Part to catalogs folder
        write-host "Adding Webpart....."
        $oWebPartDefinition = $limitedWebPartManager.ImportWebPart($newXml);
        $limitedWebPartManager.AddWebPart($oWebPartDefinition.WebPart, $ZoneName, $ZoneIndex);
    $context.ExecuteQuery();
        write-host "Adding Web Part Done"
        catch
        write-host "Error while 'AddWebPartToPage'" $_.exception| format-list * -force
    ERROR:
    Error while 'AddWebPartToPage' System.Management.Automation.MethodInvocationException: Exception calling "ExecuteQuery" with "0" argument(s): "$Resources:core,ImportErrorMessage;" ---> Microsoft.SharePoint.Client.
    ServerException: $Resources:core,ImportErrorMessage;
       at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream)
       at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse()
       at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()
       at ExecuteQuery(Object , Object[] )
       at System.Management.Automation.DotNetAdapter.AuxiliaryMethodInvoke(Object target, Object[] arguments, MethodInformation methodInformation, Object[] originalArguments)
       --- End of inner exception stack trace ---
       at System.Management.Automation.DotNetAdapter.AuxiliaryMethodInvoke(Object target, Object[] arguments, MethodInformation methodInformation, Object[] originalArguments)
       at System.Management.Automation.DotNetAdapter.MethodInvokeDotNet(String methodName, Object target, MethodInformation[] methodInformation, Object[] arguments)
       at System.Management.Automation.Adapter.BaseMethodInvoke(PSMethod method, Object[] arguments)
       at System.Management.Automation.ParserOps.CallMethod(Token token, Object target, String methodName, Object[] paramArray, Boolean callStatic, Object valueToSet)
       at System.Management.Automation.MethodCallNode.InvokeMethod(Object target, Object[] arguments, Object value)
       at System.Management.Automation.MethodCallNode.Execute(Array input, Pipe outputPipe, ExecutionContext context)
       at System.Management.Automation.ParseTreeNode.Execute(Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)
       at System.Management.Automation.StatementListNode.ExecuteStatement(ParseTreeNode statement, Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)
           

    Thanks Sethu for your comments. However i am running this powershell directly on server so believe
    SharePointOnlineCredentials is not required.
    I have tried it but still giving me same error

  • Error when calling BAPI_MATERIAL_SAVEDATA

    Hi all,
    I'm calling BAPI_MATERIAL_SAVEDATA through a RFC. I use SAP PI to call a function module and the function module calls the BAPI like this:
    call function 'BAPI_MATERIAL_SAVEDATA'
          exporting
            headdata             = ls_headdata
            clientdata           = ls_clientdata
            clientdatax          = ls_clientdatax
            plantdata            = ls_plantdata
            plantdatax           = ls_plantdatax
            salesdata            = ls_salesdata
            salesdatax           = ls_salesdatax
            warehousenumberdata  = ls_warehousenumberdata
            warehousenumberdatax = ls_warehousenumberdatax
          tables
            materialdescription  = lt_materialdescription
            unitsofmeasure       = lt_unitsofmeasure
            unitsofmeasurex      = lt_unitsofmeasurex
            internationalartnos  = lt_internationalartnos
            taxclassifications   = lt_taxclassifications
            returnmessages       = lt_return2.
    The BAPI stops processing on the line:
    UPDATE MARU FROM TABLE MARU_UPD
    in function MARA_ARRAY_UPDATE.
    I receive the following error message in PI Communication Channel Monitoring:
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: JCO.Exception while calling ZSD_PEPE_CAT_INBOUND in remote system (RfcClient[CC_PepeSAPSDIn]):com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Data type MARU was found in a newer version than required.: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: JCO.Exception while calling ZSD_PEPE_CAT_INBOUND in remote system (RfcClient[CC_PepeSAPSDIn]):com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Data type MARU was found in a newer version than required.
    ST22 tells me this:
    Runtime Error          TYPELOAD_NEW_VERSION
           Occurred on     11.03.2009 at   13:08:11
    Data type "MARU" was found in a newer version than required.
    What happened?
    Runtime error
    The current ABAP program, "SAPLMG21", had to be terminated because one of the
    statements could not be executed at runtime.
    Information on where terminated
    The termination occurred in the ABAP program "SAPLMG21" in "MARA_ARRAY_UPDATE".
    The main program was "SAPMSSY1 ".
    The termination occurred in line 44 of the source code of the (Include)
    program "LMG21U02"
    of the source code of program "LMG21U02" (when calling the editor 440).
    Any idea what's wrong with the data type MARU?
    Thanks in advance!!
    Regards,
    Ivo van Ee

    Just found out that a colleague added some append fields to the mara structure. This seems to be the cause of the problem. We still don't know how to solve the problem though....
    MARA:
    .APPEND     ZAMARA_HFL     STRU     0     0     Fashion additional article master data
    ZZCOLOR     ZCOLOR     CHAR     3     0     Color code
    ZZCOLOR_DESCR     ZCOLOR_DESCR     CHAR     20     0     Color code description
    ZZFIT     ZFIT     CHAR     3     0     Fit code
    ZZFIT_DESCR     ZFIT_DESCR     CHAR     20     0     Fit code description
    ZZSIZE_SCALE     ZSIZE_SCALE     CHAR     1     0     Size scale
    ZZSIZE_DESCR     ZSIZE_DESCR     CHAR     20     0     Size description
    ZZSIZE_POS     ZSIZE_POS     NUMC     2     0     Position of Size description in matrix
    ZZANALYS04     ZANALYS04     CHAR     4     0     Analysis code 04
    ZZANALYS04_DESCR     ZANALYS04_DESCR     CHAR     20     0     Analysis code 04 description
    MARU:
    ZZCOLOR     CHAR     3     Color code
    ZZCOLOR_DESCR     CHAR     20     Color code description
    ZZFIT     CHAR     3     Fit code
    ZZFIT_DESCR     CHAR     20     Fit code description
    ZZSIZE_SCALE     CHAR     1     Size scale
    ZZSIZE_DESCR     CHAR     20     Size description
    ZZSIZE_POS     NUMC     2     Position of Size description in matrix
    ZZANALYS04     CHAR     4     Analysis code 04
    ZZANALYS04_DESCR     CHAR     20     Analysis code 04 description

  • MFC CDialog domodal throws unhandled exception in WEC 2013

    Hi,
    We have Smart device MFC based application working fine in WEC 7.
    Now we are porting the Smart device MFC application into WEC 2013 platform(Visual Studio 2012).
    As We did not find smart device project in WEC 2013, We converted smart device project into platform builder subproject.
    We are able to build it for WEC 2013  but when we try to run on the platform application throws unhandled exception
    on calling CDialog::domodal method. 
    I tried to display dialog with CreateDialog API and that is working fine; But only domodal throws exception.
    Let me know where I have gone wrong.
    Thanks in advance,

    Hi Andreas,
    Thank you for marking my reply as the answer, I hope that solved your problem. I'm curious -- what version of Power Query did you install and what operating system are you running? Normally both the Power Query installer and the add-in itself
    has checks to let you know when your Internet Explorer version is not supported, I'm wondering why those checks did not work for you.
    Thanks,
    David

  • Is it possible to throw an exception from a handler chain with JAXWS???

    I know I cannot throw directly an exception from the handler cause my handler extends SOAPHandler and the method handlerMessage cannot throw exceptions. The problem is that I would like to validate some authorization and if the client doesn't have the appropriate rights, I would like to throw an exception from the handler without calling the web service itself, so the client would receive a valid soap response from the server. Is it possible?? Is there another mechanism that I can use to do that??
    Thanks a lot
    Korg

    You can throw a ProtocolException or RuntimeException from handleMessage().
    If you throw ProtocolException, HandleFault() is called on previously invoked handlers.
    If you throw a RuntimeException, handleFault() or handleMessage() is not called on previously invoked handlers, and the Exception is converted to Fault message and dispatched.

  • JAXB2 marshaller throws Validation Exception

    Hello All.. I am trying to marshall a JAXB Object using JAXB2 marshaller and validate it against an xsd.
    During this process of validation, the parser when reads the xsd fails with the parse error. The schema xsd is a working xsd from a webservice provider. The validation is fine when it is done on XML Spy and SOAP UI. But when this xerces xmlschema validator comes to picture its even not able to parse the XSD for validating against it.
    Here is the head of the xsd..
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
         xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
         xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
         xmlns:tns="http://com.cyber.space./services"          
         targetNamespace="http://com.cyber.space./services"
         elementFormDefault="qualified"
    and a huge schema followed.
    Step.1: I used this xsd to generate JAXB classes.
    Step2. Used jaxb2marshaller from spring.oxm,
    <bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
              <property name="contextPath" value="com.cyberspace.service"/>
              <b><property name="schema" value="classpath:pathtoXsd"/></b>
         </bean>
    so in my application , i have reference to marshaller object.so can use like this.
    request ( the jaxb request object populated with valid values as per the schema)
    result - output -- outgoing xml.
    marshaller.marshall(requsest, result);
    Here comes the problem..The out going xml is like this..
    <?xml version="1.0" encoding="UTF-8" ?>
    <Request xmlns="http://com.cyber.space./services">
    <RequestService>123</RequestService>
    etec etc etc.. son on..
    This xml when converted to soap message and sent over to webservice its accepted as valid request and response is back. But all it happens when i dont validate it against the schema that i have.
    Look at the :
    <b><property name="schema" value="classpath:pathtoXsd"/></b> set as a property to jaxb2 marshaller.
    This makes sure that the xml generated out the jaxb object after marshall process is valid against the XSD schema. Here it fails for some reason.
    If the dont ask the marshaller to validate( removing the schema property ), then the xml is fine able to proceed with next steps of sending the successfull VALID SOAP REQUEST and response is back. But if do a validation by setting the schema property with value as path to xsd.
    The error is :
    Caused by:<b> org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.2: ' ' is not a valid value of list type 'null'.</b>
         at com.sun.org.apache.xerces.internal.jaxp.validation.Util.toSAXParseException(Util.java:109)
         at com.sun.org.apache.xerces.internal.jaxp.validation.ErrorHandlerAdaptor.error(ErrorHandlerAdaptor.java:104)
         at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
         at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
         at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:429)
    ...,more
    Is it a problem with namespace.? If i assume that the resulting xml out of the marshall process when validated against the XSD is failing for some missing data( business data), then the request itself would not be sent as soap requst.
    But the problem is not that with data in the xml. its some thing going on with the strict validation the validator is doing.
    Edited by: cnu_coder on May 22, 2008 7:41 AM
    Edited by: cnu_coder on May 23, 2008 8:14 AM

    Hello,
    The ABAP code looks ok except the missing if error != null statement.
    Please check the similar code for raising exception provided in the below blog:
    /people/ravi.gupta4/blog/2010/02/04/automating-cancellation-of-a-failed-message-in-xi
    Also, Can you check whether exception is raised using Dynamic config UDF and a call to abap mapping is made.
    Check the other approach of raising an exception:
    /people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping
    -Rahul

  • Why constructor of rmi server throws remote exception

    why is it that the constructor of the class extending UnicastRemoteObject i.e rmi server has to throw RemoteException?

    Writing an RMI server is a matter of defining a class, exporting it when constructed and implementing one or more remote interfaces. How to export?
    auto export happens when u call super() in the constructor. It is then registered with the rmi system and made to listen to a TCP port. The various constructors for UnicatRemoteObject allow the derived classes to export at the default port.
    Because this automatic export step occurs at construction the constructors throw this exception.

Maybe you are looking for