Using the XSLT processor for non-workbench XSLT

Hi there,
is it possible to use the built-in XSLT processor for arbitrary XSLT transformations which aren't checked in in the ABAP workbench but instead given as a runtime object (string or iXML)?
Instead of the built-in command CALL TRANSFORMATION which according to the doc is restricted to workbench transformations, I am looking for an option like this:
data: lo_transformation type ref to if_ixml_document,
      lo_source         type ref to if_ixml_document,
      lo_target         type ref to if_ixml_focument.
* I get lo_transformation and lo_source from somewhere out there
try.
    lo_target ?= cl_some_fine_class_which_i_am_looking_for=>transform(
                      io_source         = lo_source
                      io_transformation = lo_transformation ).
  catch cx_xslt_runtime_error.
endtry.
Does anybody know such a feature?
For a background about this problem - in German language - see my blog
http://ruediger-plantiko.blogspot.com/2007/08/xslt-in-bsp-anwendungen-und-in-abap.html
Thanks and Regards,
Rüdiger

Dear Rashid,
thanks - this is the answer! I wonder why I didn't find this class one year ago. A little test prog shows that it works fine and even performant (about 0.5 millisec for creating the new dynamic XSLT program with the method set_source_stream( ) ). For usage in web apps, it would be nice to know whether the temporary program remains available in the application servers' buffer after end of process. I can't check this, since this is performed on the C/C++ level, and SE30 doesn't track the method set_source_stream() itself (it could show a decrease of runtime after the first call).
Here comes a little self-contained ABAP program to test the functionality. It works well on our system with SAPKB70012.
Thanks and regards,
Rüdiger
* --- Test usage of a dynamically given non-workbench XSLT program
report  zz_test_cl_xslt_processor.
data:
* iXML master
  go_xml type ref to if_ixml,
* iXML stream factory
  go_sf  type ref to if_ixml_stream_factory.
load-of-program.
  go_xml = cl_ixml=>create( ).
  go_sf  = go_xml->create_stream_factory( ).
start-of-selection.
  perform start.
* --- Start
form start.
  data: lo_source    type ref to if_ixml_document,
        lo_result    type ref to if_ixml_document,
        lo_processor type ref to cl_xslt_processor,
        lv_p         type progname,
        lo_ex        type ref to cx_xslt_exception.
  perform get_source changing lo_source.
  create object lo_processor.
  try.
* Set source
      lo_processor->set_source_node( lo_source ).
* Set result
      lo_result = go_xml->create_document( ).
      lo_processor->set_result_document( lo_result ).
* This could be time-critical, the creation of a dynamical XSLT prog?
      perform set_transformation using lo_processor
                                 changing lv_p.
* call xslt-proc
      lo_processor->run( lv_p ).
* Display result
      call function 'SDIXML_DOM_TO_SCREEN'
        exporting
          document    = lo_result
          title       = 'Result of Transformation'
        exceptions
          no_document = 1
          others      = 2.
    catch cx_xslt_exception into lo_ex.
      sy-msgli = lo_ex->get_text( ).
      message sy-msgli type 'I'.
  endtry.
endform.                    "start
* --- Set XSLT transformation from stream
form set_transformation using io_processor type ref to cl_xslt_processor
                        changing cv_p type progname.
  data: lo_trans     type ref to if_ixml_istream.
* sv_p contains temp. name of XSLT program after first call
  statics: sv_p   type string.
  if sv_p is initial.
* It seems that the name can be buffered on appserver level?
    import progname to sv_p
           from shared buffer indx(zx) id 'ZZ_TEST_XSLT_PROC'.
    if sv_p is initial.
      sv_p = 'X'.
    endif.
  endif.
* Provide the stream containing the XSLT document (as a stream)
  perform get_transformation changing lo_trans.
* Set transformation
  io_processor->set_source_stream( exporting stream = lo_trans
                                   changing  p      = sv_p ).
* Buffer progname on server - seems to work
  export progname from sv_p
         to shared buffer indx(zx) id 'ZZ_TEST_XSLT_PROC'.
* string -> c move necessary, since xslt-proc-interface doesn't use
* the generic type csequence for program name
  cv_p = sv_p.
endform.                    "set_transformation
* --- Parse a source given as string into an if_ixml_document
form get_source changing co_src type ref to if_ixml_document.
  data: lv_s      type string,
        lo_stream type ref to if_ixml_istream,
        lo_parser type ref to if_ixml_parser.
  concatenate
`<?xml version="1.0" encoding="iso-8859-1"?>`
`<countings filiale="2412" invnu="TIEFKUEHL SEPT.07">`
`<count recNum="1" gid="1" ean="59111828843" menge="1"`
`preis="0" recNumFrom="1"></count>`
`</countings>`
into lv_s.
* Eingabestream erzeugen und in if_ixml_document abbilden
  lo_stream   = go_sf->create_istream_string( lv_s ).
  co_src      = go_xml->create_document( ).
  lo_parser   = go_xml->create_parser( document       = co_src
                                       istream        = lo_stream
                                       stream_factory = go_sf ).
  lo_parser->parse( ).
endform.                    "get_source
* --- Put the transformation given as string into an if_ixml_istrean
form get_transformation changing co_trans type ref to if_ixml_istream.
  data: lv_s   type string.
  concatenate
  `<?xml version="1.0" encoding="iso-8859-1"?>`
  `<xsl:transform version="1.0"`
  ` xmlns:xsl="http://www.w3.org/1999/XSL/Transform"`
  ` xmlns:asx="http://www.sap.com/abapxml">`
  `<xsl:strip-space elements="*"></xsl:strip-space>`
  `<xsl:template match="countings">`
  ` <asx:abap>`
  `   <asx:values>`
  `     <SELOPT>`
  `       <WERKS><xsl:value-of select="@filiale"></xsl:value-of></WERKS>`
  `       <INVNU><xsl:value-of select="@invnu"></xsl:value-of></INVNU>`
  `     </SELOPT>`
  `     <COUNTINGS>`
  `       <xsl:for-each select="count">`
  `         <ZSRS_ZWSTI_LINE>`
  `           <MATNR></MATNR>`
  `           <EAN11><xsl:value-of select="@ean"></xsl:value-of></EAN11>`
  `           <MAKTX></MAKTX>`
  `           <MENGE><xsl:value-of select="@menge"></xsl:value-of></MENGE>`
  `           <MEINH></MEINH>`
  `           <UNAME></UNAME>`
  `           <EXVKW></EXVKW>`
  `           <WAERS></WAERS>`
  `           <FF></FF>`
  `           <GID><xsl:value-of select="@gid"></xsl:value-of></GID>`
  `           <RECNUM><xsl:value-of select="@recNum"></xsl:value-of></RECNUM>`
  `           <RECNUM_FROM><xsl:value-of select="@recNumFrom"></xsl:value-of></RECNUM_FROM>`
  `           <REF_RECNUM><xsl:value-of select="@refRecNum"></xsl:value-of></REF_RECNUM>`
  `         </ZSRS_ZWSTI_LINE>`
  `       </xsl:for-each>`
  `     </COUNTINGS>`
  `   </asx:values>`
  ` </asx:abap>`
  `</xsl:template>`
  `</xsl:transform>`
  into lv_s.
  co_trans = go_sf->create_istream_string( lv_s ).
endform.                    "get_transformation
Edited by: Rüdiger Plantiko on Jul 4, 2008 10:25 AM

Similar Messages

  • Why does FCP not use the quad Processors for rendering

    Hi. I notice the other day when I renderd out a rather long project that FCP does not use all available processors. I notice on some effects that it uses the graphics card and non of the processors. It there a reason for this and is there a way to make better use of the quad core in rendering both audio and video files.
    Thanks
    GW
    Mac Pro Quad   Mac OS X (10.4.8)   Quad Core, 2 Gig Ram, 250 & 500 Gig

    Good question. I've been asking around off forum looking for an answer too. Motion is a big one for me. I'd love to have it render out with all 4. But then again, it's not meant to be a render engine. Both FCP and Motion are now becoming more GPU intensive.
    Now... COMPRESSOR uses all 4 at the same time.
    CaptM

  • I have used the same laptop for all three of my iPhones but awhile back this laptop had a virus so my husband wiped it out and now when I sync my iPhone I no longer get my entire music library ( including purchased songs) on my iPhone. How do I fix this?

    I have always used the same laptop for all of my iPhones but awhile back this laptop had a virus so my husband wiped out the laptop and now when I sync my iPhone I no longer receive my entire music library (including purchased songs) on my iPhone. How do I fix this?

    kimberlyfromtopeka wrote:
    Ok,thanks but, I should be able to something so that I am able to sync the entire library again not just the purchased songs.
    If the non purchased music is not on your computer, how can it Sync to your iPhone...

  • How to use the same keypair for both encrypt/decryprt-SunPKCS#11

    Dear All,
    Subject: To access iKey 2032 token, to retrieve public/private key from iKey 2032 token using pkcs#11 in sdk1.5, to encrypt/decrypt files.
    When I separate the encrypt and decrypt part of java program, encryption program works well, whereas decryption program does not decrypt anything in the decrypt file (But there is no error). I printed out the public and private key in both encrypt and decrypt part of java program, its displayed differently::
    Encrypt program:
    SunPKCS11-rainbow_token RSA public key, 1024 bits (id 10, session object)
    modulus: 114338469922835728259534620463489934081917342509275191892563243582065
    74380495029336519036972702864998634664269499641616889325482699399559620370181624
    72068116957594402738459932902481604823224406859575930392708524033619120886256353
    58738237376491107769961041015109436347533548940674900728805627968145581222172729
    public exponent: 65537
    SunPKCS11-rainbow_token RSA private key, 1024 bits (id 11, session object, sensi
    tive, unextractable)
    Decrypt Program::
    SunPKCS11-rainbow_token RSA public key, 1024 bits (id 12, session object)
    modulus: 138556361758970660122782926386849783732271581948935425587968692317930
    09262429353977097956605140384961825974398004270547046620971835394362397699233738
    54481804748731546655197744692886754946373745924825650876065903334173666990347814
    83727290962956934521650035029131176614982652900659797194703065074407857754883163
    public exponent: 65537
    SunPKCS11-rainbow_token RSA private key, 1024 bits (id 13, session object, sensi
    tive, unextractable)
    I suspect that every time program generates different set of key, therefore we need to store the generated key during encryption part (i believe it is to be in the keystore) and to use the same for decryption part. Could you please give me a tips how to do this?
    Encrypt Program ::
    import java.io.*;
    import java.util.*;
    import java.lang.*;
    import java.sql.*;
    import java.text.*;
    import java.math.*;
    import java.security.*;
    import java.security.cert.*;
    import java.security.interfaces.*;
    import javax.crypto.interfaces.*;
    import javax.net.ssl.*;
    import javax.crypto.*;
    import javax.crypto.spec.DESKeySpec;
    import java.security.KeyStore.*;
    * A class of Encrypt.
    public class Encrypt
    public Encrypt(){}
    public void loginToken() {
         Provider p = new sun.security.pkcs11.SunPKCS11(MQConfig.getvalue("SecurityPropertyPath"));
         Security.addProvider(p);
         KeyStore ks = null;
         try{
              String password = General.ReadFiles(MQConfig.getvalue("logFilePath"),"Simple");
              password = password.trim();
              char pin[] = password.toCharArray();
              ks = KeyStore.getInstance("pkcs11");
              ks.load(null,pin);
         KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA",p);
              KeyPair kp = kpg.genKeyPair();
              kpg.initialize(1024, new java.security.SecureRandom());
              FileInputStream in = new FileInputStream("C:\\ReportDBBE.properties");
              FileOutputStream out = new FileOutputStream("C:\\ReportDBAE.properties");
              Cipher cp=Cipher.getInstance("RSA/ECB/PKCS1Padding", p);
              cp.init(cp.ENCRYPT_MODE,kp.getPublic());
              CipherOutputStream cout=new CipherOutputStream(out,cp);
              byte[] input=new byte[8];
              int byteread=in.read(input);
              while(byteread!=-1){
                   cout.write(input,0,byteread);
                   byteread=in.read(input);
              cout.flush();
              in.close();
              cout.close();
         catch(NoSuchAlgorithmException nsae)
         System.out.println("No Such Algorithm Exception " + nsae.getMessage());
         catch(NoSuchPaddingException nspe)
         System.out.println("No Such Padding Exception " + nspe.getMessage());
         catch(InvalidKeyException ike)
         System.out.println("Invalid Key Exception " + ike.getMessage());
         catch(IllegalStateException ise)
         System.out.println("Illegal State Exception " + ise.getMessage());
         catch(KeyStoreException kse)
         System.out.println("Key Store Exception " + kse.getMessage());
         catch(CertificateException ce)
         System.out.println("Certificate Exception " + ce.getMessage());
         catch(IOException ioe)
         System.out.println("IO Exception " + ioe.getMessage());
    public static void main (String args[]) throws Exception {
         try{
         Encrypt tl = new Encrypt();
         tl.loginToken();
         }catch(Exception e){
         e.printStackTrace();
    Decrypt Program ::
    import java.io.*;
    import java.util.*;
    import java.lang.*;
    import java.sql.*;
    import java.text.*;
    import java.math.*;
    import java.security.*;
    import java.security.cert.*;
    import java.security.interfaces.*;
    import javax.crypto.interfaces.*;
    import javax.net.ssl.*;
    import javax.crypto.*;
    import javax.crypto.spec.DESKeySpec;
    import java.security.KeyStore.*;
    * A class of Decrypt.
    public class Decrypt
    public Decrypt(){}
    public void loginToken() {
         Provider p = new sun.security.pkcs11.SunPKCS11(MQConfig.getvalue("SecurityPropertyPath"));
         Security.addProvider(p);
         KeyStore ks = null;
         try{
              String password = General.ReadFiles(MQConfig.getvalue("logFilePath"),"Simple");
              password = password.trim();
              char pin[] = password.toCharArray();
              ks = KeyStore.getInstance("pkcs11");
              ks.load(null,pin);
         KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA",p);
              KeyPair kp = kpg.genKeyPair();
              kpg.initialize(1024, new java.security.SecureRandom());
              FileInputStream in1 = new FileInputStream("C:\\ReportDBAE.properties");
              FileOutputStream out1 = new FileOutputStream("C:\\ReportDBAD.properties");
              Cipher cipher=Cipher.getInstance("RSA/ECB/PKCS1Padding", p);
              AlgorithmParameters algParams = cipher.getParameters();
              cipher.init(Cipher.DECRYPT_MODE,kp.getPrivate(),algParams);
              CipherInputStream cin1=new CipherInputStream(in1,cipher);
              byte[] input1=new byte[8];
              int byteread1=cin1.read(input1);
              while(byteread1!=-1){
                   out1.write(input1,0,byteread1);
                   byteread1=cin1.read(input1);
              out1.flush();
              in1.close();
              out1.close();
              cin1.close();
         catch(NoSuchAlgorithmException nsae)
         System.out.println("No Such Algorithm Exception " + nsae.getMessage());
         catch(NoSuchPaddingException nspe)
         System.out.println("No Such Padding Exception " + nspe.getMessage());
         catch(InvalidKeyException ike)
         System.out.println("Invalid Key Exception " + ike.getMessage());
         catch(IllegalStateException ise)
         System.out.println("Illegal State Exception " + ise.getMessage());
         catch(InvalidAlgorithmParameterException iape)
         System.out.println("Invalid Algorithm ParameterException " + iape.getMessage());
         catch(KeyStoreException kse)
         System.out.println("Key Store Exception " + kse.getMessage());
         catch(CertificateException ce)
         System.out.println("Certificate Exception " + ce.getMessage());
         catch(IOException ioe)
         System.out.println("IO Exception " + ioe.getMessage());
    public static void main (String args[]) throws Exception {
         try{
         Decrypt tl = new Decrypt();
         tl.loginToken();
         }catch(Exception e){
         e.printStackTrace();
    Configuration file::
    name = rainbow_token
    library = c:\winnt\system32\dkck201.dll
    attributes(*,CKO_PRIVATE_KEY,*) = {
    CKA_SIGN = true
    attributes(*,CKO_PRIVATE_KEY,CKK_DH) = {
    CKA_SIGN = null
    attributes(*,CKO_PRIVATE_KEY,CKK_RSA) = {
    CKA_DECRYPT = true
    }

    Hi all,
    Now i manage to use the same keypair for both encrypt/decryprt-SunPKCS#11. Below is my code woks well. In my code i hard coded alias name of certificate, did anyone knows how to read alias name of certificate from iKey token 2032??
    import java.io.*;
    import java.util.*;
    import java.lang.*;
    import java.sql.*;
    import java.text.*;
    import java.math.*;
    import java.security.*;
    import java.security.cert.*;
    import java.security.interfaces.*;
    import javax.crypto.interfaces.*;
    import javax.net.ssl.*;
    import javax.crypto.*;
    import javax.crypto.spec.DESKeySpec;
    import java.security.KeyStore.*;
    * A class of Encrypt.
    public class Encrypt
    public Encrypt(){}
    public void loginToken() {
         Provider p = new sun.security.pkcs11.SunPKCS11(MQConfig.getvalue("SecurityPropertyPath"));
         String myAlias = "349eefd1-845b-4ba4-9f88-06e9f5cb82f6";
         /** to view alias name
         keytool -list -v -keystore NONE -storetype PKCS11 -storepass PASSWORD
         Security.addProvider(p);
         KeyStore ks = null;
         PrivateKey privKey = null;
         PublicKey pubKey = null;
         try{
              String password = General.ReadFiles(MQConfig.getvalue("logFilePath"),"Simple");
              password = password.trim();
              char pin[] = password.toCharArray();
              ks = KeyStore.getInstance("pkcs11");
              ks.load(null,pin);
              java.security.cert.Certificate cert = ks.getCertificate(myAlias);
              Key key = ks.getKey(myAlias, pin);
              if(key != null) {
                   System.out.println("key class: " + key.getClass().getName()); // -> sun.security.pkcs11.P11Key$P11PrivateKey
                   System.out.println("key bytes: " + key.getEncoded()); // -> null!!!!!!!
         if(PrivateKey.class.isInstance(key)) {
         privKey = (PrivateKey)key;
         System.out.println("algo: " + privKey.getAlgorithm()); // -> RSA
         //Signature rsasig = Signature.getInstance("SHA1withRSA");
         //rsasig.initSign(privKey);
         //rsasig.update(data.getBytes());
         //byte[] sigBytes = rsasig.sign();
         pubKey = cert.getPublicKey();
         //System.out.println("signed bytes: " +sigBytes);
         //return sigBytes;
         //KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA",p);
              //KeyPair kp = kpg.genKeyPair();
              //KeyPair kp = kpg.generateKeyPair();
              //kpg.initialize(1024, new java.security.SecureRandom());
              FileInputStream in = new FileInputStream("C:\\ReportDBBE.properties");
              FileOutputStream out = new FileOutputStream("C:\\ReportDBAE.properties");
              Cipher cp=Cipher.getInstance("RSA/ECB/PKCS1Padding", p);
    //cp.init(cp.ENCRYPT_MODE,kp.getPublic());
              cp.init(cp.ENCRYPT_MODE,pubKey);
              CipherOutputStream cout=new CipherOutputStream(out,cp);
              byte[] input=new byte[8];
              int byteread=in.read(input);
              while(byteread!=-1){
                   cout.write(input,0,byteread);
                   byteread=in.read(input);
              cout.flush();
              in.close();
              cout.close();
         catch(NoSuchAlgorithmException nsae)
         System.out.println("No Such Algorithm Exception " + nsae.getMessage());
         catch(NoSuchPaddingException nspe)
         System.out.println("No Such Padding Exception " + nspe.getMessage());
         catch(InvalidKeyException ike)
         System.out.println("Invalid Key Exception " + ike.getMessage());
         ike.printStackTrace();
         catch(IllegalStateException ise)
         System.out.println("Illegal State Exception " + ise.getMessage());
         catch(KeyStoreException kse)
         System.out.println("Key Store Exception " + kse.getMessage());
         catch(CertificateException ce)
         System.out.println("Certificate Exception " + ce.getMessage());
         catch(IOException ioe)
         System.out.println("IO Exception " + ioe.getMessage());
         catch(UnrecoverableKeyException unrke)
         System.out.println("Unrecoverable Key Exception " + unrke.getMessage());
    public static void main (String args[]) throws Exception {
         try{
         Encrypt tl = new Encrypt();
         tl.loginToken();
         }catch(Exception e){
         e.printStackTrace();
    Your help is very much appreciated!!!!

  • Define the Characteristics of the validity table for non-cumulatives

    Hi Friends,
      Here I am designing MultiProvider ( ZCA_M01), based on the Two Business content info cubes (0IC_C03 & 0SD_C03 ) & one customized info cube (ZPUR_C01).
    I done Identification for char & keyfigures also.
    When i trying to activating the Multiprovider, here i am getting the error , error message is : Define the Characteristics of the validity table for non-cumulatives.
    Even here I am attaching the error message help also.
    Message no. R7846
    Diagnosis
    The InfoCube contains non-cumulative values. A validity table is created for these non-cumulative values, in which the time interval is stored, for which the non-cumulative values are valid.
    The validity table automatically contains the "most detailed" of the selected time characteristics (if such a one does not exist, it must be defined by the user, meaning transfered into the InfoCube).
    Besides the most detailed time characteristic, additional characteristics for the InfoCube can be included in the validity table:
    Examples of such characteristics are:
    •     A "plan/actual" indicator, if differing time references exist for plan and actual values (actual values for the current fiscal year, plan values already for the next fiscal year),
    •     the characteristic "plant", if the non-cumulative values are reported per plant, and it can occur that a plant already exists for plant A for a particular time period, but not yet for plant B.
    Procedure
    Define all additional characteristics that should be contained in the validity table by selecting the characteristics.
    In the example above, the characteristics "plan/actual" and  "plant" must be selected.
    The system automatically generates the validity table according to the definition made. This table is automatically updated when data is loaded.
    Please take as a high priority.
    Thanks & Regards,
    Vanarasi Venkat.

    Hi Venkat,
    If you want to include 0IC_C03 cube in your multi provider the you must make sure that the time characterestics ( 0CALDAY, 0CALMONTH ....) are present in all of the other info providers which you are including in the MP. The Time char to choose depends upon the Inventory cube in which you have mentioned during the definition. As you are using the standard cube 0IC_C03 it has the time char as 0CALDAY. Try to include this in all the other info providers and dont include more tha one Non-cumulative in the MP.
    Try this and see if it helps....

  • Cannot use system rollback segment for non-system tablespace 'TEMP

    Hi everyone!
    I encountered this error: "Cannot use system rollback segment for non-system tablespace 'TEMP"
    So this is what I did to check if the undo stuffs are online.
    SQL> select tablespace_name,status from dba_tablespaces;
    TABLESPACE_NAME                STATUS
    SYSTEM                         ONLINE
    UNDO                           ONLINE
    SYSAUX                         ONLINE
    TEMP                           ONLINE
    LARGEDATA                      ONLINE
    LARGEINDEXES                   ONLINE
    MEDIUMDATA                     ONLINE
    MEDIUMINDEXES                  ONLINE
    SMALLDATA                      ONLINE
    SMALLINDEXES                   ONLINE
    XSMALLDATA                     ONLINE
    TABLESPACE_NAME                STATUS
    XSMALLINDEXES                  ONLINE
    XXSMALLTABS                    ONLINE
    USERS                          ONLINE
    CONVTABLES                     ONLINE
    UNDO_02                        ONLINE
    16 rows selected.
    SQL>  SELECT tablespace_name, sum((bytes/1024)/1024) free FROM DBA_FREE_SPACE gr
    oup by tablespace_name;
    TABLESPACE_NAME                      FREE
    LARGEDATA                      18.3105469
    SMALLDATA                        10.46875
    SYSAUX                           106.5625
    UNDO_02                            67.125
    XXSMALLTABS                    13.0078125
    CONVTABLES                     170.039063
    MEDIUMDATA                             22
    USERS                           37.265625
    SYSTEM                             55.875
    LARGEINDEXES                   30.5175781
    XSMALLINDEXES                    17.34375
    TABLESPACE_NAME                      FREE
    UNDO                             546.9375
    MEDIUMINDEXES                       33.25
    SMALLINDEXES                    31.015625
    XSMALLDATA                     23.6328125
    15 rows selected.
    SQL> select file#,status from v$datafile;
         FILE# STATUS
             1 SYSTEM
             2 ONLINE
             3 ONLINE
             4 ONLINE
             5 ONLINE
             6 ONLINE
             7 ONLINE
             8 ONLINE
             9 ONLINE
            10 ONLINE
            11 ONLINE
         FILE# STATUS
            12 ONLINE
            13 ONLINE
            14 ONLINE
            15 ONLINE
    15 rows selected.
    SQL> select segment_name, tablespace_name, initial_extent,status
      2  from dba_rollback_segs;
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    SYSTEM                         SYSTEM                                 102400
    ONLINE
    _SYSSMU1$                      UNDO                                   131072
    OFFLINE
    _SYSSMU2$                      UNDO                                   131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU3$                      UNDO                                   131072
    OFFLINE
    _SYSSMU4$                      UNDO                                   131072
    OFFLINE
    _SYSSMU5$                      UNDO                                   131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU6$                      UNDO                                   131072
    OFFLINE
    _SYSSMU7$                      UNDO                                   131072
    OFFLINE
    _SYSSMU8$                      UNDO                                   131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU9$                      UNDO                                   131072
    OFFLINE
    _SYSSMU10$                     UNDO                                   131072
    OFFLINE
    _SYSSMU11$                     UNDO_02                                131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU12$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU13$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU14$                     UNDO_02                                131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU15$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU16$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU17$                     UNDO_02                                131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU18$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU19$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU20$                     UNDO_02                                131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU21$                     UNDO_02                                131072
    OFFLINE
    22 rows selected.How should I be bringing them online?
    I tried this but didn't work for me.
    SQL> alter rollback segment _SYSSMU1$ online;
    alter rollback segment _SYSSMU1$ online
    ERROR at line 1:
    ORA-00911: invalid character
    SQL> alter rollback segment '_SYSSMU1$' online;
    alter rollback segment '_SYSSMU1$' online
    ERROR at line 1:
    ORA-02245: invalid ROLLBACK SEGMENT name
    SQL> alter rollback segment _SYSSMU21$ online;
    alter rollback segment _SYSSMU21$ online
    ERROR at line 1:
    ORA-00911: invalid character
    SQL> alter rollback segment SYSSMU21$ online;
    alter rollback segment SYSSMU21$ online
    ERROR at line 1:
    ORA-01534: rollback segment 'SYSSMU21$' doesn't exist
    SQL> alter rollback segment '_SYSSMU21$' online;
    alter rollback segment '_SYSSMU21$' online
    ERROR at line 1:
    ORA-02245: invalid ROLLBACK SEGMENT name
    SQL> alter rollback segment "_SYSSMU21$" online;
    alter rollback segment "_SYSSMU21$" online
    ERROR at line 1:
    ORA-30017: segment '_SYSSMU21$' is not supported in MANUAL Undo Management mode
    SQL> ALTER SYSTEM SET UNDO_MANAGEMENT=AUTO SCOPE=SPFILE;
    System altered.Should I be bringing every segment online separately? Please guide me.
    Nith
    Edited by: user645399 on Feb 23, 2011 2:52 PM

    SQL> select segment_name, tablespace_name, initial_extent,status
      2  from dba_rollback_segs;
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    SYSTEM                         SYSTEM                                 102400
    ONLINE
    _SYSSMU1$                      UNDO                                   131072
    ONLINE
    _SYSSMU2$                      UNDO                                   131072
    ONLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU3$                      UNDO                                   131072
    ONLINE
    _SYSSMU4$                      UNDO                                   131072
    ONLINE
    _SYSSMU5$                      UNDO                                   131072
    ONLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU6$                      UNDO                                   131072
    ONLINE
    _SYSSMU7$                      UNDO                                   131072
    ONLINE
    _SYSSMU8$                      UNDO                                   131072
    ONLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU9$                      UNDO                                   131072
    ONLINE
    _SYSSMU10$                     UNDO                                   131072
    ONLINE
    _SYSSMU11$                     UNDO_02                                131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU12$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU13$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU14$                     UNDO_02                                131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU15$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU16$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU17$                     UNDO_02                                131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU18$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU19$                     UNDO_02                                131072
    OFFLINE
    _SYSSMU20$                     UNDO_02                                131072
    OFFLINE
    SEGMENT_NAME                   TABLESPACE_NAME                INITIAL_EXTENT
    STATUS
    _SYSSMU21$                     UNDO_02                                131072
    OFFLINEStill undo_02's segments are offline.

  • Do third party replacement tips fit on the apple in ear headphones? I prefer foam tips as they block out much more sound, but I'm not sure if Apple use the standard fitting for headphone tips!?!?!?!

    Do third party replacement tips fit on the apple in ear headphones? I prefer foam tips as they block out much more sound, but I'm not sure if Apple use the standard fitting for headphone tips!?!?!?!

    Answer found. Please find below an amazon review explicitly mentioning adding third party foam tips. Sounds like they fit and work like a dream:
    "As a audio engineer, I own about a dozen different sets of earphones and in-ear 'phones. My favorite, by far, are my sure SE530s. I have some Sennheiser cx400s which are good workhorses, but lack the finesse, clarity and stunning accuracy of the Shures. For convenience, I bought the Apple's, as I wanted something I could use with the phone for calls.
    I found the sound to be quite clear and beautifully clean, but like many, no matter how I tried, the stock Apple tips never made a good seal. The seal is absolutely essential to getting bass out of a balanced armature design. For you non-engineers, just trust me that if you don't have a proper seal, you will have no bass.
    In my case, I think the trouble had to do with the largest size being a tiny bit too small, and the silicon being too rigid, yet slick, so they left small airgaps and were easy to remove. I tried using some foam tips from a third party, but their large was more of a medium, and never came close to a snug fit.
    As an experiment, I dug around in my ear-tips from my Shure's and tried their rubber tips which are about the same size as Apple's large tips, but made of a more pliant and slightly sticky rubber.
    OMG, what a transformation. Suddenly the sound blossomed, the bass became rich and well balanced, and the "top-heavy" sound was totally mellowed into a rich, well balanced and incredibly detailed presentation.
    Make no mistake, these are the best 'phones under $200 I have ever heard. The bass is deep and warm, very detailed, and totally lacking fuzz or buzz that I can hear in the Sennheiser set. Look at getting tips from a better headphone. The trick is it has to have a soft rubber base that can expand over Apple's slightly larger stub. Some tips, like the Shure foam tips, have a rigid plastic sleave in the tip to keep it's position correct, and these won't expand over the larger Apple posts."

  • Error:cannot use system rollback segment for non-system tablespace

    Hi,
    I have created a oracle database 10.2.0 on fedora 9 system. I have created a user and assigned the default tablespace SATYA and given the permissions. But when I create a table in the user I am getting the following error.
    Can anyone help me in rectifying this error.
    ORA-01552: cannot use system rollback segment for non-system tablespace 'SATYA'
    thankyou
    satya

    Undo management is either AUTO or Manual, no local
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/undo.htm#sthref1469
    Since you are using 10g, you are recommended to use Auto undo management
    If you still plan to use manual undo management, make sure you have other non-system rollback segment in place.

  • Is it possible to download software from the Adobe site which will enable me to use the raw processor in Elements 9, to work on images shot with a Nikon D800 DSLR?

    Is it possible to download software from the Adobe site which will enable me to use the raw processor in Elements 9, to work on images shot with a Nikon D800 DSLR?

    The D800 is not on the list of supported cameras for the Camera Raw 6.5 update, bur the D80 is:
    http://www.adobe.com/special/photoshop/camera_raw/Camera_Raw_6.5_ReadMe.pdf

  • Choosing the best processor for the tasks

    I am looking into purchasing a new mac pro to use as a server and am trying to select the best processor for task.
    I will have at least 20 clients. This will mostly be used as a file server. The team would like to be working on the server with Photoshop and AfterEffects files. What processor is best for this requirement?
    3.5GHz 6-core with 12MB of L3 cache [Subtract $3,000.00]
    3.0GHz 8-core with 25MB of L3 cache [Subtract $1,500.00]
    2.7GHz 12-core with 30MB of L3 cache
    What other kind of infrustructure should I invest in?
    Please note I will be opting for 64GB of RAM.

    The Mac Pro is really a very expensive server.  You are probably better suited with a Mac mini Server. 
    The Pro has two video cards you will never use.  The Pro has 5, 7, or 11 cores you will never use unless you are making this an AfterEffects render node.  The Pro has very little internal storage and no option for redundant internal storage.  The Pro is very expensive and is designed and marketed as a workstation (a powerful one at that).  The Pro is a unit that should be used by a user, not operating 24 hours a day and doing nothing for 16 of those hours.
    That being the case, a Mac mini with 16 GB of RAM is more than enough for a 20 person department.  Invest in a quality ethernet switch and good wiring. 
    R-
    Apple Consultants Network
    Apple Professional Services
    Author "Mavericks Server – Foundation Services" :: Exclusively available in Apple's iBooks Store

  • Is it worthwhile to buy the airport extreme for non intel

    I currently am using an airport express for my home network and want to use it on my home stereo(upstairs) so we can play music from itunes. So I need to buy another airport for downstairs. Will I get any benefit from the extreme or should I just get another express?

    idadof3, Welcome to the discussion area!
    I think iFelix provided a very good answer in your other thread "Is it worthwhile to buy the airport extreme for non intel".

  • ORA-01552: cannot use system rollback segment for non-system tablespace

    i try to create a table in new schema test1 and got the following error. please help.
    SQL> create table employer1 as select * from a.employer;
    create table employer1 as select * from a.employer
    ERROR at line 1:
    ORA-01552: cannot use system rollback segment for non-system tablespace 'TEST1'

    Hi,
    This is an example:
    SQL>
    CREATE UNDO TABLESPACE "UNDOTMP"
    DATAFILE 'UNDOTMP.DBF01' SIZE 100M REUSE
    AUTOEXTEND ON NEXT 51200K MAXSIZE 15000M
    ALTER SYSTEM SET undo_tablespace=UNDOTMP SCOPE=BOTH;
    Regards
    David Duenas
    Edited by: David Duenas on Jul 4, 2009 7:33 PM

  • Cannot use system rollback segment for non-system tablespace

    I am getting the below error suddently
    ORA-01552: cannot use system rollback segment for non-system tablespace 'USERS'

    SQL> show parameter undo
    Version : Oracle 10g
    NAME TYPE VALUE
    undo_management string AUTO
    undo_retention integer 10800
    undo_tablespace string UNDO
    SQL>
    SQL> select distinct tablespace_name, status from dba_rollback_segs
    2 ;
    TABLESPACE_NAME STATUS
    SYSTEM ONLINE
    UNDO OFFLINE
    UNDO ONLINE

  • How do I change the icloud account on my iphone? I want to use the same account for all my apple devices (macbook air and imac and iphone). I can't see where I can amend the iphone account because it is in grey?

    I want to use the same account for all my apple devices (macbook air, imac and iphone). I can't see how I can amend the iphone account because it is in grey? I also can't remember the password for this account so i can't even delete it and start again?
    Help!
    Thanks

    Deleting an iCloud account only deletes it from the Device, not from iCloud.  In iOS 8, the name of this setting changed to "Sign Out" as that is a better reflection of what actually happens.  Your iCloud data remains on the server, available to devices still signed into the account, but the device you sign out of the account on is disconnected from the account, and as a result, the iCloud data from that account is removed from the device.  It will redownload to the device should you sign back into the account.
    The only issue you'll run into when you switch between accounts is with my photo stream photos older than 30 days.  When you delete (or sign out of) and account, your photo stream photos are deleted along with the other data from the account in question.  However, unlike other data which remains on the server and can redownload to your device when you sign back in, my photo stream photos only remain in iCloud for 30 days.  When you sign back in, you will only get back my photo stream photos added in the last 30 days (as older photos are no longer in iCloud to redownload).  Like other account data, any my photo stream photos on your other devices signed into the account are unaffected by this.  If you want to keep older my photo stream photos on your device as you change iCloud accounts, save them to your camera roll before deleting (signing out of) the account.

  • My external hard drive is 'seen' by my iMac and I can go into the Finder and open files and folders. I am using the hard drive for Time Machine back up. However Time Machine says it can't find the drive. Same thing has happened with Final Cut Express.

    My new LaCie external hard drive is 'seen' by my iMac and I can go into the Finder and open files and folders. I am using the hard drive for Time Machine back up. However Time Machine says it can't find the drive.
    The same thing happened recently between Final Cut Express and my other LaCie external hard drive used as the Scratch disk. It fixed itself.
    I've run out of ideas. Help would be very much appreciated. Thanks.

    have you done some searches on FCPx and time machine? Is there a known issue with using a TM drive with FCPx? dunno but ...wait...I'll take 60 sec for you cause I'm just that kind of guy....   google...." fcpx time machine problem"  Frist page link 
    http://www.premiumbeat.com/blog/fcpx-bug-best-practices-for-using-external-hard- drives-and-final-cut-pro-x/
           You cannot have time machine backups on your hard drive if you intend to use it in FCPX.
    booya!

Maybe you are looking for