How to avoid Unicode errors in SAP custom code queries.

Currently we are going for a non Unicode technical upgrade from 4.6C to ECC 6.0.
We have many query infosets with custom ABAP code. Unable to execute these queries (infosets) as ECC 6.0 system is throwing short dump and query infoset editor throwing Unicode syntax errors . Anyway to avoid these Unicode errors by changing query or infoset system setting.
We will proceed with infosets ABAP code Unicode remediation if the above is not feasible.
Thanks in advance.

If the infosets are with custome abap code let the UCCHECK be happen on these programs in ecc6 ..
In tcode UCCHECK the code which needs to be replaced for the custom programs  will be provided for the abap developers . All programs in ecc6 should be ucc compliant . I hope this will happen with the abap upgrade by enabling ecc6 .
they will enable ecc check and do the code modification for moving out the obselete statements in ecc6 which were ok for 4.6c then .
Dont worry about the dumps as this will not take much time on a single program once the UCC is over ..
Br,
vijay.

Similar Messages

  • How to track Unicode errors

    Hi All,
    Can any one give a briefing on the kind of unicode errors in SAP and how can we track the unicode errors <i>without</i> using the transaction UCCHECK .

    Chaitanya,
    Without UCCHECK that is going to be difficult tracking the Unicode errors. When the system is upgraded, we should run all the custom program through UCCHECK so that we know which programs have errors.
    And more over its easy to do and you can do this in one shot for all the programs using the selection criterial of the transaction.
    Other work around is to manually look at the code and see if there are any commands specified in the UNICODE COOKBOOK for ABAP used in the program.
    Regards,
    Ravi
    Note : Please mark all the helpful answers

  • Tricky : how to avoid this error transparent to users ?

    Hello, Oracle people !
    I probably have a very common problem / question ...
    We use third party application (called Kintana) that has some SQL queries referencing my custom Oracle views.
    Connection to Oracle via JDBC. Some of those views are also using packaged functions residing in one custom package. So when I need to change logic, I'm recompiling just PACKAGE BODY at off-hours time in production. But when next time user runs those queries via Kintana web interface they get an error :
    -- The following error is thrown by the Database:
    ORA-04068: existing state of packages has been discarded
    ORA-04061: existing state of package body "KNTA.OM_MISC_LIBRARY_PKG" has been invalidated
    ORA-04065: not executed, altered or dropped package body "KNTA.OM_MISC_LIBRARY_PKG"
    But when users refresh their screen on IE browser,
    error goes away. (probably Oracle calls it again and recompiles object restoring its valid state)
    I understand that how Oracle works,
    but I was given a task by Manager :
    "Make sure that users don't see this error !"
    (some of users are VIP, CIO, VPs and other "highly important" executives)
    So I tried to avoid this error but can't ...
    I don't know how to restore valid state of recompile package to existing user sessions without this error being seen ...
    Please HELP !!!
    thanx,
    Steve.

    I've been reluctant to tell you this since it could have some serious side effects and performance issues but you could reset the entire session package state by calling DBMS_SESSION.RESET_PACKAGE BEFORE you attempt the calls. The problem is that it resets ALL package's state information and I'm not aware of a way to do it for a single package. Unfortunately, it doesn't appear that you can call this routine after the exception occurs. For some reason, the exception seems to have to make it all the way back to the client before Oracle will acknowledge the reset.

  • How to Avoid blank page in SAP Script

    I am working on a Script. My Script prints a check.
    This script is a copy of a std script.
    It has 3 pages - First Next Last
    My First page has all the required data.
    My second page is empty with out any values.
    I am getting the blank page as Page 2 when executing. How can we avoid it ?
    Senthil

    Hi Senthil,
    Please see the below points:
    1. Please check what have you defined as the NEXT PAGE for your first page. If so change it and make the first page itself as the next page.
    2. Check your main Window, may be there is blank line at the last of the main window, so check that abd remove that,so you won't get the blank page
    Please see the link which is similar to your problem:
    Re: How to remove blank page in sap script
    May it helps you.
    Regards.
    Deepak Sharma.

  • How to avoid JS Error in the status bar when report doesnt contain value.

    Hi
    Whenever the tabular report doesnt show any records for the given input parameter (parameter passed using select list item).
    We are displaying error message in APex. But at the status bar, it is showing "Error" (unspecified
    error).
    Kindly let me know how to avoid this kind of error at status bar.
    Thanks
    Vijay

    Hi Vijay,
    Your javascript is probably trying to access one or more of the items within a displayed tabular form - the "f01", "f02" etc named items.
    If your script does something like:
    var x = document.getElementsByName("f01");
    ..rest of your code for f01 items..you can test if there are any "f01" items by doing:
    var x = document.getElementsByName("f01");
    if (x){
    ..rest of your code for f01 items..
    }If there are no items, x is null, so the "..rest of your.." script will not get executed and no errors will occur.
    Andy

  • How to avoid mutating error when insert or update record

    Hi ,
    I have one transaction table which is having some detail record under one transaction number, after the one transaction number is over by insert or update, i
    want to check the total amounts of one flag should be matched on same table if it is not then give error message. But i am getting mutating error on insert or update event trigger on statement level trigger on above table.
    Is there any other way to avoid mutating error to solve the above problem or some temp table concepts to be used. help me its urgent.
    Thanks in advance,
    Sachin Khaladkar
    Pune

    Sachin, here's as short of an example as I could come up with on the fly. The sample data is ficticious and for example only.
    Let's say I need to keep a table of items by category and my business rule states that the items in the table within each category must total to 100% at all times. So I want to insert rows and then make sure any category added sums to 100% or I will rollback the transation. I can't sum the rows in a row-level trigger because I'd have to query the table and it is mutating (in the middle of being changed by a transaction). Even if I could query it while it is mutating, there may be multiple rows in a category with not all yet inserted, so checking the sum after each row is not useful.
    So here I will create;
    1. the item table
    2. a package to hold my record collection (associative array) for the trigger code (the category is used as a key to the array; if I insert 3 rows for a given category, I only need to sum that category once, right?
    3. a before statement trigger to initialize the record collection (since package variables hang around for the entire database session, I need to clear the array before the start of every DML (INSERT in this case) statement against the item table)
    4. a before row trigger to collect categories being inserted
    5. an after statement trigger to validate my business rule
    I then insert some sample data so you can see how it works. Let me know if you have any questions about this.
    SQL> CREATE TABLE item_t
      2   (category  NUMBER(2)   NOT NULL
      3   ,item_code VARCHAR2(2) NOT NULL
      4   ,pct       NUMBER(3,2) NOT NULL);
    Table created.
    SQL>
    SQL> CREATE OR REPLACE PACKAGE trg_pkg IS
      2    TYPE t_item_typ IS TABLE OF item_t.category%TYPE
      3      INDEX BY PLS_INTEGER;
      4    t_item       t_item_typ;
      5    t_empty_item t_item_typ;
      6  END trg_pkg;
      7  /
    Package created.
    SQL> SHOW ERRORS;
    No errors.
    SQL>
    SQL> CREATE OR REPLACE TRIGGER item_bs_trg
      2    BEFORE INSERT
      3    ON item_t
      4  BEGIN
      5    DBMS_OUTPUT.put_line('Initializing...');
      6    trg_pkg.t_item := trg_pkg.t_empty_item;
      7  END item_bs_trg;
      8  /
    Trigger created.
    SQL> SHOW ERRORS;
    No errors.
    SQL>
    SQL> CREATE OR REPLACE TRIGGER item_br_trg
      2    BEFORE INSERT
      3    ON item_t
      4    FOR EACH ROW
      5  BEGIN
      6    trg_pkg.t_item(:NEW.category) := :NEW.category;
      7    DBMS_OUTPUT.put_line('Inserted Item for Category: '||:NEW.category);
      8  END item_br_trg;
      9  /
    Trigger created.
    SQL> SHOW ERRORS;
    No errors.
    SQL>
    SQL> CREATE OR REPLACE TRIGGER item_as_trg
      2    AFTER INSERT
      3    ON item_t
      4  DECLARE
      5    CURSOR c_item (cp_category item_t.category%TYPE) IS
      6      SELECT SUM(pct) pct
      7        FROM item_t
      8       WHERE category = cp_category;
      9  BEGIN
    10    DBMS_OUTPUT.put_line('Verifying...');
    11    FOR i IN trg_pkg.t_item.FIRST..trg_pkg.t_item.LAST LOOP
    12      DBMS_OUTPUT.put_line('Checking Category: '||trg_pkg.t_item(i));
    13      FOR rec IN c_item(trg_pkg.t_item(i)) LOOP
    14        IF rec.pct != 1 THEN
    15          RAISE_APPLICATION_ERROR(-20001,'Category '||trg_pkg.t_item(i)||' total = '||rec.pct);
    16        END IF;
    17      END LOOP;
    18    END LOOP;
    19  END item_as_trg;
    20  /
    Trigger created.
    SQL> SHOW ERRORS;
    No errors.
    SQL> INSERT INTO item_t
      2    SELECT 1, 'AA', .3 FROM DUAL
      3    UNION ALL
      4    SELECT 2, 'AB', .6 FROM DUAL
      5    UNION ALL
      6    SELECT 1, 'AC', .2 FROM DUAL
      7    UNION ALL
      8    SELECT 3, 'AA',  1 FROM DUAL
      9    UNION ALL
    10    SELECT 1, 'AA', .5 FROM DUAL
    11    UNION ALL
    12    SELECT 2, 'AB', .4 FROM DUAL;
    Initializing...
    Inserted Item for Category: 1
    Inserted Item for Category: 2
    Inserted Item for Category: 1
    Inserted Item for Category: 3
    Inserted Item for Category: 1
    Inserted Item for Category: 2
    Verifying...
    Checking Category: 1
    Checking Category: 2
    Checking Category: 3
    6 rows created.
    SQL>
    SQL> SELECT * FROM item_t ORDER BY category, item_code, pct;
      CATEGORY IT        PCT
             1 AA         .3
             1 AA         .5
             1 AC         .2
             2 AB         .4
             2 AB         .6
             3 AA          1
    6 rows selected.
    SQL>
    SQL> INSERT INTO item_t
      2    SELECT 4, 'AB', .5 FROM DUAL
      3    UNION ALL
      4    SELECT 5, 'AC', .2 FROM DUAL
      5    UNION ALL
      6    SELECT 5, 'AA', .5 FROM DUAL
      7    UNION ALL
      8    SELECT 4, 'AB', .5 FROM DUAL
      9    UNION ALL
    10    SELECT 4, 'AC', .4 FROM DUAL;
    Initializing...
    Inserted Item for Category: 4
    Inserted Item for Category: 5
    Inserted Item for Category: 5
    Inserted Item for Category: 4
    Inserted Item for Category: 4
    Verifying...
    Checking Category: 4
    INSERT INTO item_t
    ERROR at line 1:
    ORA-20001: Category 4 total = 1.4
    ORA-06512: at "PNOSKO.ITEM_AS_TRG", line 12
    ORA-04088: error during execution of trigger 'PNOSKO.ITEM_AS_TRG'
    SQL>
    SQL> SELECT * FROM item_t ORDER BY category, item_code, pct;
      CATEGORY IT        PCT
             1 AA         .3
             1 AA         .5
             1 AC         .2
             2 AB         .4
             2 AB         .6
             3 AA          1
    6 rows selected.
    SQL>

  • How to avoid Quicktime error 50 and 0?

    How can I avoid Quicktime error 50 and 0?  Are there know problems in FCPX that will generate errors in QT?

    You can probably minimize you odds of getting corrupted clips by optimizing where possible.
    Russ

  • How to fix javascript error/bug on custom web part of SharePoint 2013

    I have a custom web part with serveral business fields. This web part is installed on DispForm, EditForm an NewForm.
    But, I click on Attach File button and a javascrit error is throw on my browser's status bar.
    Line: 5279
    Character: 5
    Code: 0
    URI: http://mysite:4000/_layouts/15/form.debug.js?rev=vyMg8qjZfJ8La1jn7bQ2cg%3D%3D
    How to solve this problem? I think it is a javascript conflict
    Tarcísio Corte [email protected]

    Hi,
    1. You can create a simple demo web part without your custom code firstly, then insert it into your form pages to see if the similar issue would occur. If it works, then add your
    other code into it one after one. By doing this, it will be easier to find out the root cause of this issue.
    2. What browser do you use? Please try to use IE 10(SharePoint 2013), IE8(SharePoint2010).
    3. You can also debug your code using IE F12 Developer Tools.
    http://blogs.msdn.com/b/kaevans/archive/2011/04/25/debugging-javascript-with-the-ie-developer-tools.aspx
    If the issue still exists, I can suggest you provide more information for further research.
    Thanks,
    Dennis Guo
    TechNet Community Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Dennis Guo
    TechNet Community Support

  • How to debug start routine for the custom code?

    Hi Experts,
    Can anybody tell me how to debug the start routine? Also could you please guide me where to write the custom code in the start routine.
    Thanks in advance.
    Sharat.

    Rajkumar,
    Thank you for your help. but the blog link that you send it to me does not mention anything about ABAP debugger screen.
    What should I do once I get in to the ABAP debugger? the link only tells how to get to the ABAP debugger that I know.
    Also it say that I have to use the infinite loop to debugg the start routine.
    Can anybody tell me how to debugg start routine with the scren shots please. I don't know how to use infinite loop in the start routine. Is their any easy process step by step to see my particular record behavior in the start routine?
    I will assing you the points. again thank you.

  • HTTP Unauthorized 401 Error when calling custom code Workflow-Activity (SharePoint 2013)

    Hi,
    from one day to the other the custom code activity within a SP2013 workflow gives me the following error:
    Activity in progress  Retrying last request.
    Next attempt scheduled in less than one minute.
    Details of last request:
    HTTP Unauthorized to
    http://server/subsite/_vti_bin/client.svc/sp.utilities.utility.ResolvePrincipalInCurrentcontext(input=@ParamUser,scopes='15',sources='15',inputIsEmailOnly='false',addToUserInfoList='False')?%40ParamUser='i%3A0%23.w%7Csp2013-dev%5Cadministrator'
    Correlation Id: 9d507c00-1e24-af73-fcea-faa4a0a61ae1
    Instance Id: 5c91916e-918b-453a-bf48-e61649afa3d0
    After some time the workflow gets cancelled automatically. The custom code activity ran many times before without any errors.
    Thanks a lot in advance!

    Hello,
    this KB could help also:
    HTTP Unauthorized to /_vti_bin/client.svc/sp.utilities.utility.SendEmail
    Regards,
    Alex
    Alex Pitulice, MICROSOFT 
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip
    „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann
    oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

  • SAP Custom Code Maintainability Service - SAP AG only

    As an Enterprise support customer I have a quick question on Custom Code Maintainability Service
    We have previously requested this service from SAP and they have generated and gave us the report.
    My question:
    Is this service ONLY being done by SAP, or are we (as customers) also allowed to run this service ourselves?.
    When I look in the services available I cannot find the service to create and run myself. I am currently putting in some serious time to set-up the custom code life cycle management (CCLM). As part of this I would also like to run the service and generate the report myself, as I have done with some other service like TEA (Transport execution analysis)
    I have no problems with using CDMC (Custom development management cockpit) and to generate reports there, but it would be nice to actually run the service and generate the report ourselves.
    Much apreciated your feedback.

    Hi Midhun,
    thank you for your quick response!
    I have already used SOAPUI to test my query.
    >it's creating an xml file in a specific format where you need to pass values to get the output.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
       <soapenv:Header/>
       <soapenv:Body>
          <urn:ZGetcustomerWebservice>
             <!--Optional:-->
             <ImCount>5</ImCount>
             <!--Optional:-->
             <ImKunnr>
                <!--Zero or more repetitions:-->
             </ImKunnr>
          </urn:ZGetcustomerWebservice>
       </soapenv:Body>
    </soapenv:Envelope>
    Is this the xml file you mentioned?
    I checked the following blog and tried debugging, but I couldn't see any variables value...
    Debugging Custom Script in Integration Gateway
    Here is my custom code:
    function processRequestData(message) {
       message.setHeader("Authorization", "Basic XXXXXXXX=");
       importPackage(com.sap.gateway.ip.core.customdev.logging);
       importPackage(com.sap.gateway.ip.core.customdev.util);
       importPackage(org.apache.olingo.odata2.api.uri);
       importPackage(java.util);
       importPackage(com.sap.gateway.core.ip.component.commons);
       importPackage(com.sap.gateway.ip.core.customdev.api);
       parentMap = new LinkedHashMap();
       parentMap.put("IM_COUNT", "5");
       //Set the message body back
       message.setBody(parentMap);
       //Logger
       importPackage (com.sap.gateway.ip.core.customdev.logging);
       log.logErrors(LogMessage.TechnicalError, "This is first log"+message.getBody().toString());
      return message;
    Authorization is perfectly working but others are not.
    It would be great if you could have suggestions.
    BR,
    Hanae

  • How to avoid Linkage Error in JAVA Mapping

    Dear Experts,
    I am trying to test the JAVA mapping compiled in NWDS but receiving the error
    "LinkageError at JavaMapping.load(): Could not load class".
    java.lang.NoClassDefFoundError: JSONXMLProject/bin/com/sap/json/ConvJson2Xml (wrong name: com/sap/json/ConvJson2Xml)
    at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:735)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:716) at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
    at com.sap.aii.ib.server.mapping.execution.MappingLoader.findClass(MappingLoader.java:195)
    Following are the details:
    SAP PO 7.4
    SP Stack Number 05
    JDK Version jdk16
    NWDS
    SAP Enhancement Package 1 for SAP NetWeaver Developer Studio 7.3 SP10 PAT0000
    1.Created the Project , Package and then class (Included the logic)
    2. Included 1 JSON Jar file into my project and the Added to build path.
    3.Exported the project as Archive File and saved in desktop
    4.Imported into SAP PO system as Imported Archive
    5.Could not observe the JSON jar file which i used as referenced JAR in NWDS
    6.Tested in OM after referencing the JAVA class and found the above error.
    I have JDK 5, 6 and 7 present in my local desktop and I am trying to export the compiled code using both JAVA SE 1.6 and 1.5 in NWDS seperatly after going several discussions.
    Can any one hep me with the screenshots and tell me how to include all the reference jar files in exported project..
    Regards..

    Dear Anand,
    I did exactly as you shared. As the JSON jar has number of classes, then in OM all the Classes had to be assigned. Then the linkage error went.
    But in execution , it shows a new error that all the classes of the JSON jar has to be implemented with interface StremTransformation or AbstractTransformation.
    I assume in the Operation Mapping I will use only 1 class as JAVA Class. Anyway I am attaching the document with navigation.
    Do we have any other alternative??
    Please rename the extension of the document by remove .txt
    Regards

  • How to remove Unicode errors from extended check and code inspector

    Hi
    We are working on making all our ABAP program to make unicode compliant. We are activating unicode flag in attribute and correcting syntax errors. After this when we do the extended checks or SLIN or code inspector, usually giving error for many statements such as whenever there is message.
    <b>Code is :</b>message a208 with text-004.
    <b>Error description is</b> :
    The message 208 for id zz has no long text.
    You can hide this message using "#EC *
    208 is -   & does not exist in & &. And  text 004 is - Cannot open the output file
    By using #EC * we can remove errors. But Is this the correct way and what does this indicate? Please explain.

    Hi Yogesh,
    Can you check whether the message number 208 in message id ZZ has the Self Explanatory checkbox as checked or not? I think it is not checked and u have also not maintained any long text. Hence the error.
    By using #EC - you do not remove the error, however u hide it from SLIN.
    It is used if there is some known error you cannot avoid which is returned by SLIN and you dont want it to be reported. Also, a way to "cheat" the reviewer who might be checking for errors.
    Not good !! 
    Regards,
    Aditya

  • How to avoid Cost error log  while confirming production order

    Hi
    I dont want to post actual activity cost via production order activity confirmation. But i want standard value keys for my production duration purpose. So,i defined activites(strd value key) in work center without assigning cost center to that work center. While i confirm system throws erro log as Actual cost calculation contain errors and allows me to confirm the activities. I am doing MB31 and all CO settlement activities also. But when i try to close the order it says error log exists,so closing of order is not possible. How to overcome this problem as i dont want to capture any cost of activites via production order,but i want confirmation only for production analysis.

    Sudhar,
    You can make the operation not relevant for Costing by using a Customized Control key which is not relevant for Costing or else in the operation details you need to leave the "Costing relevancy" field blank.
    Regards,
    Prasobh

  • Avoid the error: com.sap.aii.af.ra.ms.api.ConfigException:

    Hi!
    I still facing with the authorization error in the message (section: call of adapter).
    The error is:
    <Trace level="3" type="System_Error">Error exception return from pipeline processing!</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.ConfigException: Unauthorized: J2EE AE rejected user. Reason: Principal propagation is not active, but technical IS service user was not used (J2EE_ADMIN).</SAP:AdditionalText>
    When I looked into configuration I found that the j2ee_admin user will be used here (see. bellow).
    <Trace level="3" type="T">Channel for adapter engine: File</Trace>
    <Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-CALL_XMS_HTTP">
      <Trace level="2" type="T">return fresh values from cache</Trace>
      <Trace level="2" type="T">Get logon data for adapter engine (SAI_AE_DETAILS_GET):</Trace>
      <Trace level="3" type="T">URL = http://bera9010:50400/MessagingSystem/receive/AFW/XI</Trace>
      <Trace level="3" type="T">User = j2ee_admin</Trace>  
      <Trace level="3" type="T">Cached = X</Trace>
      <Trace level="3" type="T">Creating HTTP-client</Trace>
      <Trace level="3" type="T">HTTP-client: creation finished</Trace>
      <Trace level="3" type="T">Security: Basic authentication</Trace>
      <Trace level="3" type="T">Serializing message object...</Trace>
      <Trace level="1" type="T">HTTP Multipart document length: 3705</Trace>
      <Trace level="3" type="T">HTTP-client: sending http-request...</Trace>
      <Trace level="3" type="T">HTTP-client: request sent</Trace>
      <Trace level="3" type="T">HTTP-client: Receiving http-response...</Trace>
      <Trace level="3" type="T">HTTP-client: response received</Trace>
      <Trace level="3" type="T">HTTP-client: checking status code...</Trace>
      <Trace level="3" type="T">HTTP-client: status code = 200</Trace>
      <Trace level="3" type="T">Deserializing message object...</Trace>
      <Trace level="3" type="T">HTTP-client: closing...</Trace>
      </Trace>
      </Trace>
    Questions:
    What is the name of technical IS service user searching here? (PIISUSER)?
    How can I change this settings?
    Any helpful information will be very appreciated!
    regards
    Holger

    What is the name of technical IS service user searching here? (PIISUSER)?
    Yes
    Check the configuration guide with SAP note 974873 to find if any setting is missing.
    Regards,
    Prateek

Maybe you are looking for

  • My wife and I share the iPad. Can we set up separate accounts to log in (like on our Mac)?

    My wife and I share the iPad. Can we set up separate accounts to log in (like on our Mac)?

  • Pending List of Miros PO wise

    Hi Fnrds, Do we have any standard reports or table through which i can get the list of Pending purchase order where Migo has been done. regards rajesh

  • Adobe flash player explorer 64 bit issue

    new L355-s7835 vista  home premium 64 preinstalled, explorer 7 64 bit pre installed, 40 days old now..  while options will not show adobe flash player in use, I've had no trouble running it apearently until two days ago..  adobe says it's a 32 bit pl

  • Windows Shutting down unexpectedly

    Hi, I am running windows 8.1 on a 1 year old laptop. When I am doing normal things like surfing the net, I get sudden crashes and when I turn on my computer again, it acts like it had just shut down. Is there anything I can do to stop this from happe

  • Macbook Air 11" SSD

    I have two 2013 Macbook Airs (mine and my sons).  Am I able to swap the SSDs? (not concerned about warranty)  I know you can with the earlier models but am not sure about the recent hardware.  I have heard the RAM is soldered but not sure about the S