Set BAPITID in JCO.Structure

hello all,
i'm using JCO to monitoring CCMS architecture; i need to read properties of each MTE of CCMS.
my problem is:
i have a TID set of value for an MTE and i want to get results from the bapi:
BAPI_SYSTEM_MTE_GETPERFCURVAL
my code:
nodes = table "TREE_NODES" resulting from BAPI_SYSTEM_MON_GETTREE call;
// set BAPITID structure as import param for bapi
IMetaData metaTid      = myJCORepository.getStructureDefinition("BAPITID");
JCO.Structure struTid = new JCO.Structure(metaTid);
struTid.setValue(nodes.getString("MTSYSID"),          "MTSYSID");
struTid.setValue(nodes.getString("MTCLASS"),          "MTCLASS");
struTid.setValue(nodes.getString("MTNUMRANGE"),"MTNUMRANGE");
struTid.setValue(nodes.getString("MTMCNAME"),      "MTNUMRANGE");
struTid.setValue(nodes.getString("MTUID"),           "MTUID");
struTid.setValue(nodes.getString("MTINDEX"),          "MTINDEX");
struTid.setValue(nodes.getString("EXTINDEX"),      "EXTINDEX");
JCO.Function getPerfData = createFunction("BAPI_SYSTEM_MTE_GETPERFPROP");
if (getPerfData != null)
JCO.ParameterList input6     = getPerfData.getImportParameterList();
// input param:
input6.setValue(struTid, "TID") ;
input6.setValue(user, "EXTERNAL_USER_NAME");
super.mConnection.execute(getPerfData);
// leggo eventuali errori derivati dalla chiamata alla BAPI
returnStructure = null;
returnStructure =  getPerfData.getExportParameterList ().getStructure("RETURN");
System.out.println( "BAPI_SYSTEM_MTE_GETPERFPROP RETURN : " + returnStructure.getString("TYPE") + " " +
returnStructure.getString("ID") + " " + returnStructure.getString("NUMBER") + " " +returnStructure.getString("MESSAGE"));
JCO.Structure propertiesStructure =  getPerfData.getExportParameterList ().getStructure("PROPERTIES");
// at this point my code return:
(error type 'E')
RA 341 No additional information available (function BAPI_SYSTEM_MTE_GETPERFCURVAL)
XAL 1.0 documentation write:
RA 341 : An unknown problem occurred during the execution of the method.
any idea?

hello i have found a solution, i hope this will be helpful for anyone.
this is an example using html auto generated template.
1. method call
            this.debugBAPI_SYSTEM_MTE_GETPERFCURVAL(
                 nodes.getString("MTSYSID")
                 ,nodes.getString("MTCLASS")
                 ,nodes.getString("MTNUMRANGE")
                 ,nodes.getString("MTMCNAME")
                 ,nodes.getString("MTUID")
                 ,nodes.getString("MTINDEX")
                 ,nodes.getString("EXTINDEX")) ;
2. method definition:
public void debugBAPI_SYSTEM_MTE_GETPERFCURVAL(String MTSYSID, String MTCLASS, String MTNUMRANGE, String MTMCNAME, String MTUID, String MTINDEX, String EXTINDEX)
System.out.println("debugBAPI_SYSTEM_MTE_GETPERFCURVAL") ;
JCO.Function function = mRepository.getFunctionTemplate("BAPI_SYSTEM_MTE_GETPERFCURVAL").     getFunction();
System.out.println("function : " + function) ;
JCO.ParameterList input2 = function.getImportParameterList();
JCO.Structure st = input2.getStructure("TID") ;
    st.setValue(MTSYSID,     "MTSYSID");
    st.setValue(MTCLASS,     "MTCLASS");
    st.setValue(MTNUMRANGE,      "MTNUMRANGE");
    st.setValue(MTMCNAME,     "MTMCNAME");
    st.setValue(MTUID,     "MTUID");
    st.setValue(MTINDEX,     "MTINDEX");
    st.setValue(EXTINDEX,     "EXTINDEX");
input2.setValue(<myR3user>, "EXTERNAL_USER_NAME");
mConnection.execute(function);
JCO.Structure currValStructure =  function.getExportParameterList ().getStructure("CURRENT_VALUE");
System.out.println("currValStructure : " + currValStructure) ;
String oldMaxRows = JCO.getProperty("jco.html.table_max_rows");
JCO.setProperty("jco.html.table_max_rows", "99999");
currValStructure.writeHTML("c:
BAPI_SYSTEM_MTE_GETPERFCURVAL.html");
JCO.setProperty("jco.html.table_max_rows", oldMaxRows);
JCO.Structure returnStructure =  function.getExportParameterList ().getStructure("RETURN");
System.out.println( "BAPI_SYSTEM_MTE_GETPERFCURVAL RETURN : " + returnStructure.getString("TYPE") + " " +
returnStructure.getString("ID") + " " +
returnStructure.getString("NUMBER") + " " +     returnStructure.getString("MESSAGE"));
open c:\BAPI_SYSTEM_MTE_GETPERFCURVAL.html and then check the result.

Similar Messages

  • JCO.Structure NullPointerException

    Hi All,
    I am having a java.lang.NullPointerException when I try to call an RFC, that my ABAP colleague makes for me..
    The execption happends when I try to get the Structure "RETURN".
    I think, the suspect is the data type thah the rFC returns, if returns something.
    I have executed the RFC in the SAP workbecnh, it seems to run Ok.
    Sicne I am foraigner in the SAP land, I am not sure if I am going in the wrong way, or in the correct way but with the worng map....
    Thanks in advance
    JCO.Function function = null;
    JCO.Table codes = null;
    try {
        function = this.createFunction("YFH_INTERFACE_DADOS_MESTR");
          if (function == null) {
            System.out.println("BAPI " +
                               " not found in SAP.");
            System.exit(1);
          mConnection.execute(function);
          JCO.Structure returnStructure =
            function.getExportParameterList().getStructure("RETURN"); // The ERROR happends here
          if (! (returnStructure.getString("TYPE").equals("") ||
                 returnStructure.getString("TYPE").equals("S")) ) {
            System.out.println("DADOS= "+returnStructure.getString("MESSAGE"));
            System.exit(1);

    Hi Bhavik,
    I follow your advice, an look at the SAP side.
    I realzie that I need to send a table as input parameter,
    and this RRFC returns me another table.
    So, I think, I need to create a METADATA, a try to pass the parameters.
    After that, I guess I am goint to need to call:
    function.getExportParameterList().getStructure("NAME_OUTPUT_TABLE");
    Tthe code that I am trying right now is, let me know what do you think:
        /---- PARAMETRO DE ENTRADA -/
        // Create metadata definition of the input parameter list
        JCO.MetaData input_md = new JCO.MetaData("INPUT");
        input_md.addInfo("PERNR", JCO.TYPE_NUM,  8, 35, 0);
        input_md.addInfo("ENDDA", JCO.TYPE_DATE, 8, 35, 0);
        input_md.addInfo("BEGDA", JCO.TYPE_DATE,  8, 35, 0);
        // Create the input parameter list from the metadata object
        JCO.ParameterList input = JCO.createParameterList(input_md);
        // Set the first (and only) input parameter
        input.setValue("0080055", "PERNR");
        input.setValue("09062005", "ENDDA");
        input.setValue("09062005", "BEGDA");
        /----FIM  PARAMETROS DE ENTRADA -/
        JCO.Function function = null;
        JCO.Table codes = null;
        try {
          function = this.createFunction(strFunction);
          if (function == null) {
            System.out.println("RFC " +strFunction +
                               " not found in SAP.");
            System.exit(1);
          System.out.println("RFC "+ strFunction + " EXISTE=OK.....\n");
    // Here we go...
          mConnection.execute(function);
          System.out.println("Debug:.. executou...");
          JCO.Structure returnStructure =
            function.getExportParameterList().getStructure("DM_END");
          System.out.println("Debug:.. antes del IF..");
          if (! (returnStructure.getString("TYPE").equals("") ||
                 returnStructure.getString("TYPE").equals("S")) ) {
            System.out.println("DADOS= "+returnStructure.getString("MESSAGE"));
            System.out.println("sAINDO....abort..");
            System.exit(1);
         codes =   function.getTableParameterList().getTable("DM_END");
          for (int i = 0; i < codes.getNumRows(); i++) {
            codes.setRow(i);
            System.out.println(codes.getString("CNAME") + '\t' +
                               codes.getString("FATXT"));
        catch (Exception ex) {
          ex.printStackTrace();
          System.exit(1);

  • How to set values to the structure containing a node with cardinality 0..n

    Hello.
    I 'm trying to set values for the node with cardinality 0..n. The node type is "Fields".
    <xsd:complexType name="Field">
       <xsd:sequence>
          <xsd:element name="fieldCode" type="xsd:string"></xsd:element>
          <xsd:element name="displayValue" type="xsd:string" minOccurs="0"></xsd:element>
       </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Fields">
       <xsd:sequence>
          <xsd:element name="field" type="tns:Field" minOccurs="0" maxOccurs="unbounded"></xsd:element>
       </xsd:sequence>
    </xsd:complexType>
    I  need to set several values for the element "fieldCode" but it has cardinality 0..1 and BPM does not allow it but I did not find any option about how to set values for the structure of type "Fields". Could you help me?
    Best regards,
    Timur Semenchuk

    Hi Marcus,
    If there is no way you could change the cardinality of the node, and thus it can contain 0..n items, I think you should create-and-add a new element programmatically.
    Since the collection can contain zero elements, I would add a 'new' button, which upon clicking adds one new element via:
    IYourNodeElement yourNodeElem = wdContext.nodeYourNode().createYourNodeElement();
    wdContext.nodeYourNode().addElement(yourNodeElem);
    Hope this explains a bit!
    Best,
    Robin van het Hof

  • Set up the Organizational structure for MSS scenario

    Hi!
    I would like to set up the Organizational structure for MSS scenario within SAP Portal.
    Question:
    1) How to set up/map real user from SU01 to Manager? (tcode, report)
    2) How to mark them as 'Chief' (tcode, report)
    3) How to be sure that PA & OM are configured correctly and the integration switch is on?
    Which SAP course or SDN blog describes this?
    Thank you very much!
    regards
    Jürgen

    How to be sure that PA & OM are configured correctly and the integration switch is on?
    Check It000 and IT0001 here u will get objects from OM and PA  (position ID , Job Key, organisational Key)
    and integration switch
    check plogi orga , plogi plogi , plogi perli  in V_T77s0
    Edited by: Sikindar on Feb 10, 2009 6:53 PM

  • String representation for a JCO.Structure

    Hello,
    I need to convert a JCO.Structure into a "SAP-understandable" String
    because the RFC-Function used for communication accepts only
    Strings as values.
    Is there a way to achieve this in a generic way?
    Thx.
    Torsten

    Hello,
    I need to do something like that:
    JCO.Structure myStruct = ...
    myStruct.setValue(12345, "ORDER_NO");
    myStruct.setValue(new BigDecimal(12.5d), "AMOUNT");
    <b>String myStructString = "convert myStruct to String...";</b>
    JCO.Function myFunction = ...
    myFunction.getImportParameterList().setValue(myStructString, "STRUCT");
    myJCOConnection.execute(myFunction);
    Does anybody have an example on how to successfully do the struct to
    string conversion mentioned above?
    Torsten

  • How to set optional for table structure in functiona module

    hi experts,
    as i have small doubt regarding
    while publishing web service by using rfc where i am unable to set optional for table structure i am able to put optional for import parameters may i know how to set optional for table structure ....
    reagrds prabhanjan

    Ignoring the TABLES/CHANGING/EXPORTING argument...
    while publishing web service by using rfc where i am unable to set optional for table structure i am able to put optional for import parameters may i know how to set optional for table structure
    Why not?  There's no issue with marking a TABLES interface parameter with 'Optional' and publishing the function module or function group as a web service...

  • Character set conversion on Infra Structure Database

    Hi all,
    I have my Infra Structure Database running on us7ascii character set. Now we need to support multilingual forms and reports. For that i shall have to reinstall all the products to support AL32UTF8 orelse is it enough to recreate the controlfile to support AL32UTF8 char set on the runninng infra.
    If its enough can u give some steps on recreating controfile for infra... we are using AS 10G rel 2.
    Thanks in advance
    chikki

    when i see the
    reports from that css scan some lossy data occurs on
    that reports for the data dictionary.
    And its give the advice that its not safe to convert
    the data dictionary. Are you sure you gave correct tochar value to csscan? (take a look in view database_properties)
    Globalization Support Guide has a section in chapter 12: "How to handle ... lossy data ..."
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch12scanner.htm#i1013515

  • Setting initial values on structures

    I have written a middle-ware wrapper which allows me to call a SAP RFC from SQL Server stored procedures.  I am upgrading it from the DCOM to the .Net connector so I can run it on Windows 2003 Server.
    When I set a string value (SAP C type) to initial I get the error "Object reference not set to an instance of an object." raised in the proxy object.  This error does not happen for non-initial values, and also does not happen on my development workstation.  It happens if I set the string to "" or to " ". It occurs on two servers - Windows 2000 and Windows 2003.
    I can't figure out how to debug this, and can't find anything in this forum or on SAP Notes.  Has anyone else found this error?

    A clear head in the morning makes all the difference. There was no problem with the .Net Connector.
    The problem lay with SQL Server's sp_OAMethod procedure, or possibly in the .Net component's CCW.  If you pass an empty string in as an argument, your component gets a Nothing.  I therefore fixed it in the component with:
       If Value Is Nothing Then Value = ""
    Thanks,
    Derek

  • How to set up multiple account structures in HFM account dimension

    We are implementing a HFM application to replace two separate general ledger applications, one being Corporate and the other being a new subsidiary. The two account structures are quite different. We need to maintain both account structures. Also we are facing the issue that some of the Subsidiary accounts are repeated in the Corporate chart of accounts but they are meant different things.
    Question:
    What is the best solution to maintain two distinct chart of accounts in HFM and maintain its own rollup structure, but having the financial data of the subsidiary accounts to rolled into the Corporate accounts in order to be able to report consolidated financial results at corporate.
    Appreciate your insights.
    Thomas

    EricWeir wrote:
    Thanks, Barney. Nice of Apple to document this so conveniently for us. But sincerely, thanks.
    I've never needed any documentation. Optional behavior has always been accessed using the Option key, going back to Classic Mac OS.

  • Setting Timer to Sequence Structure

    Hi,
    I'm currently designing a VI that perform analog data acquistion. How do I actually set a timer to each sequence so that they can run within stipulated time??

    One of the easiest ways is to use the "Wait until Next millisecond" VI. Just place it in one of your sequences and program control will wait that long to execute the next sequence.
    J.R. Allen

  • Setting up Pay Scale Structure

    Hi Experts
    In the New Entries: Overview of Added Entries under the amount field can I put the amount for my hourly wage earners as $6/h?

    where in table T510  PSG / PSL
    if it is fixed
    PSG                                          PSL    wage type    Amount
    1  Manager  XXXXX  XXXXXX   0     XXXX                  6           USD the currecy will get default automatically
    please try to check this one with the standrad examples given in the system

  • How to pass the JCO Table and Structure in a collection List to frontEnd

    hi,
    I have a BAPI which is returns me a Table and a structure. As i have used JCO I will receive it in JCO Table and JCO Structure. Now the question is that how I should pass both these of these using a collection to the frontend for displaying the data from it.
    Thanks' & Regards,
    Samir

    Hi Samir,
    As you are trying to pass the Table and the Structure in the form of collection to the JSP page, you can create a javabean with the structure similar to that of the table/Structure.
    Lets assume you have a table called Employee with Emp_Name, Emp_Age, Emp_Sal as three columns, create a java class by name Employee which implements Serializable and attributes as Emp_Name, Emp_Age and Emp_Sal. Generate the setters and getters for the same. In your EJB code, create an instance of this Employee class and set the attributes and save it in a HashMap in the form of key value pair, Value being your Employee class instance and key be your Employee Name. Return the HashMap in your EJB code.
    Use the HashMap in your JSP. Get the Iterator for the HashMap and Loop through the keys to get the values.
    Hope this helps.
    Regards,
    Rekha Malavathu

  • SAP Infoset Query Reporting Set Restriction by Org. Structure

    Dear Experts,
    I am giving some new users a demo on using Infoset Query on an IDES server.
    I am using the user group Personnel Administration (PA) and the HRDATA infoset.
    As per my understanding, I should be able to restrict the reporting set according to organizational structure as the infoset is based on logical database PNP. However I am only seeing "No. of hits" in the restrict by drop-down (as can also be seen in the screenshot).
    What am I missing to be able to see the restrict by option of "Persons along organizational structure"?
    All assistance in this regard is really appreciated.
    Regards,
    Talha

    Dear Azury,
    Thankyou for your response.
    Your solution is perfectly sound for fulfilling the purpose.
    However, because I am conducting a demo, I thought a reporting set restriction on the main screen would be more appealing, than an additional selection screen.
    In a demo screenshot I have seen that the restrict by option "Persons along organizational structure", is listed right under "No. of hits" like in my screen shot. Can you shed some light on that. I am attaching the demo screenshot I am talking about for reference as well
    Thanks,
    Talha

  • How can I set Array field which reside in a Structure field?

    I use Adobe java XMP toolkit.
    There are a few methods for setting structure and array items.
    setStructField() and appendArrayItem().
    However ducu stated that member of Structure may be array or structure, moreover array items also may be arrays or structures.
    So how can I set Array field in Structure or Structure field in Array???
    Thanks
    Andrey

    OK, it worked first time (without exception) as I tried to set value of EXISTING field.
    The trick is to add array or struct BEFORE setting their values.
    This short example shows how it works:
    XMPSchemaRegistry registry = XMPMetaFactory.getSchemaRegistry();
        registry.registerNamespace(extNS, "pdfaExtension");
        registry.registerNamespace(shemaNS, "pdfaSchema");
        registry.registerNamespace(propertyNS, "pdfaProperty");
        XMPMeta m = XMPMetaFactory.create();
        m.appendArrayItem(extNS, "pdfaExtension:schemas", new PropertyOptions().setArray(true), "", new PropertyOptions().setStruct(true));
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:prefix", "dc");
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:namespaceURI", "http://purl.org/dc/elements/1.1/");
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:schema", "Dublin Core Schema");
        m.appendArrayItem(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property", new PropertyOptions().setArrayOrdered(true), null, new PropertyOptions()
            .setStruct(true));
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[1]/pdfaProperty:name", "contributor", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[1]/pdfaProperty:category", "external", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[1]/pdfaProperty:description",
            "Contributors to the resource (other than the authors).", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[1]/pdfaProperty:valueType", "bag ProperName", null);
        m.appendArrayItem(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property", new PropertyOptions().setArrayOrdered(true), null, new PropertyOptions()
            .setStruct(true));
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[2]/pdfaProperty:name", "coverage", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[2]/pdfaProperty:category", "external", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[2]/pdfaProperty:description", "The extent or scope of the resource.", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[2]/pdfaProperty:valueType", "Text", null);
    Above code creates following XMP:
    <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1.1">
      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
        <rdf:Description rdf:about=""
            xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"
            xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#"
            xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#">
          <pdfaExtension:schemas>
            <rdf:Bag>
              <rdf:li rdf:parseType="Resource">
                <pdfaSchema:prefix>dc</pdfaSchema:prefix>
                <pdfaSchema:namespaceURI>http://purl.org/dc/elements/1.1/</pdfaSchema:namespaceURI>
                <pdfaSchema:schema>Dublin Core Schema</pdfaSchema:schema>
                <pdfaSchema:property>
                  <rdf:Seq>
                    <rdf:li rdf:parseType="Resource">
                      <pdfaProperty:name>contributor</pdfaProperty:name>
                      <pdfaProperty:category>external</pdfaProperty:category>
                      <pdfaProperty:description>Contributors to the resource (other than the authors).</pdfaProperty:description>
                      <pdfaProperty:valueType>bag ProperName</pdfaProperty:valueType>
                    </rdf:li>
                    <rdf:li rdf:parseType="Resource">
                      <pdfaProperty:name>coverage</pdfaProperty:name>
                      <pdfaProperty:category>external</pdfaProperty:category>
                      <pdfaProperty:description>The extent or scope of the resource.</pdfaProperty:description>
                      <pdfaProperty:valueType>Text</pdfaProperty:valueType>
                    </rdf:li>
                  </rdf:Seq>
                </pdfaSchema:property>
              </rdf:li>
            </rdf:Bag>
          </pdfaExtension:schemas>
        </rdf:Description>
      </rdf:RDF>
    </x:xmpmeta>

  • Handling SAP deep structure via JCo

    Hello-
    I have an RFC enabled function module in my ECC 6 system that I'd like to call using the JCo API's. I have read conflicting materials on whether this is even possible or not. Can anyone confirm if it is possible or not, and if you have a general description of how you handled it with the Java code it would be much appreciated. I am an experienced SAP developer who is delving into JCo for the first time.
    Thanks,
    Andy

    Hi Andy
    Here is the JCo API Javadocs: http://www.huihoo.org/openweb/jco_api/
    Code could be like the following (I assume output table):
    JCO.Client client;
    /* code for ABAP connection and getting the client here*/
    JCO.Repository myRepository = new JCO.Repository("Test", client);
    JCO.IFunctionTemplate ft = myRepository.getFunctionTemplate(functionName);
    JCO.Function function = ft.getFunction();
    /* invoke function here */
    JCO.Table jcoTable = function.getTableParameterList().getTable(tableName);
    for (int i = 0; i < jcoTable.getNumRows(); i++) {
             jcoTable.setRow(i);
             // get value of the field <fieldName>: it could be anything:
             JCO.Table jcoTable = jcoTable.getTable(<field name>);
             // or JCO.Structure jcoTable = jcoTable.getStructure(<field name>);
             // or JCO.Field jcoField = jcoTable.getField(<field name>);
             // go ahead with the field: a) get plain value or b) iterate over its rows if it's a table again
    // close the connection
    BR, Sergei
    Edited by: Siarhei Pisarenka on Jun 4, 2009 3:50 PM

Maybe you are looking for

  • Sound Issues with macbook pro 13" and external display

    Hey guys I have a 13" macbook pro from mid 2012 with 8 gb ram and the i7 processor. About a year ago I bought a thunderbolt to hdmi adapter and hdmi cable to use my 32 in tv as a monitor. It worked flawlessly and I never experienced the flickering is

  • Sending vectors over an Http connection

    Hello, I want to send vectors from my midlet over a http connection to a servlet. Is it possible by using a DataOutputStream in combination with an ByteArrayOutputstream? is it possible to send a vector over an http connection from j2me to jsee?

  • Payement Terms

    Hello, We have a requirement tp print payement terms details in PO output. e.g. 14 days 2%, 30 net Within 14 days 2 % cash discount Within 30 days Due net I want to print these details as it is in printout. I have checked various possible tables(t052

  • Does Personalization setting resets after Patch update

    Hello Everybody, We have a concern. We want to enable personalization for Web dynpro Java applications in NWA and then disable personalization for iviews where it is not required. For example after setting allow personalization to true in NWA i will

  • Synching issues

    i recently tried to synch one of my tablets [i have 2] with my desktop. I get an error message that my desktop software cannot connect with the connected device. despite trying to 'retry' [without any luck],  I decided to update/repair the os to corr