Putting & symbol in a literal

Hi,
I am trying to initialize the following varibale in the declare section of a trigger,
sp_str constant varchar2(50) := 'S&P 500';
Put the & symbol is giving me problem. Please help.
Thanx
gaurav

Pls try:
SQL> set serveroutput on size 20000;
SQL>
SQL> declare
2 sp_var constant varchar2(50) := 'S'||'&'||'P500';
3 begin
4 dbms_output.put_line('Value of Constant is '||sp_var);
5 end;
6 /
Value of Constant is S&P500
PL/SQL procedure successfully completed.

Similar Messages

  • I want to put symbol ( ' ) in the fields or expressions

    I want to put (') like members's for an example :
    1) select ' sale's ' from dual;
    2) select to_char( hire_date,' DD "of" " ' " Mon YYYY') from employees;
    Because the ORA-01740 error message appears and I tried to put q'[ ' ]' but the same error appears.
    Please help me.
    Thanks,

    836329 wrote:
    Thanks for all .
    but the q' [' ]' you can't put it on select hire_date,' dd "of" Mon q' [' ]' YYYY') from employeesYou mean like this?
    SQL> ed
    Wrote file afiedt.buf
      1  select ename, to_char(hiredate,q'[dd "of" Mon ' YYYY]') as hiredate
      2* from emp
    SQL> /
    ENAME      HIREDATE
    SMITH      17 of Dec ' 1980
    ALLEN      20 of Feb ' 1981
    WARD       22 of Feb ' 1981
    JONES      02 of Apr ' 1981
    MARTIN     28 of Sep ' 1981
    BLAKE      01 of May ' 1981
    CLARK      09 of Jun ' 1981
    SCOTT      19 of Apr ' 1987
    KING       17 of Nov ' 1981
    TURNER     08 of Sep ' 1981
    ADAMS      23 of May ' 1987
    JAMES      03 of Dec ' 1981
    FORD       03 of Dec ' 1981
    MILLER     23 of Jan ' 1982
    14 rows selected.
    SQL>

  • User wants to display the % symbol beside the value

    Hi all,
    I have a key figure ..which is added to formula(aggregation tab set as average of a characteristic).
    its displaying average correctly in the report output ,but user want it to be displayed % symbol beside that .
    how can i do that ..
    For other KPI ..i got the requirement as A-B/B and here i applied A-B %A B and its working fine.
    What if i need to put % symbol beside a value ??

    Hi Bilvanth ,
    You can follow the below steps to achieve the desired output :
    1) Create a formula in the query designer . Suppose your key figure is Y which you want to display with % symbol .
        Take this key figure in the formula . Then from the Percentage Functions choose (%A)Percentage Share. Then after this write 100 .
    So your formula would be : Y %A 100 .
    2) Hide your original key figure Y and display this formula in the report . It will come with the percentage symbol .
    Hope the above steps will help you to achieve the desired output .
    Thanks & regards,
    Ashutosh Singh

  • The symbol '=' is missing in interactive report compute option's keypad

    Hi Friends,
    I am having an interactive report. I am trying to give a compute option like CASE WHEN A = 10 THEN B + C ELSE B
    END . All other sysmbols except *=* is found in the key pad. But if we put '=' symbol manually it is working fine. Is
    there any option to show the *=* symbol in the key pad itself?
    Thanks
    TJ

    Hi,
    There is no option to add it
    Br, Jari

  • Counter in Literal

    Hi,
    I currently have the following code:
    IF I_TABLE_1-LIST = '06/53'.
        V_COUNTER = V_COUNTER + 1.
        PERFORM bdc_header      USING  'SAPMV13A'         '1752'.
        PERFORM bdc_field       USING  'BDC_CURSOR'  'KONP-KMEIN(01)'.
        PERFORM bdc_field       USING  'BDC_OKCODE'  '/00'.
        PERFORM bdc_field       USING  'KOMG-BUKRS'  'WWL1'.
       PERFORM bdc_field       USING  'KOMG-LIFNR'  I_TABLE_1-LIFNR.
    UNCOMMENT, SINCE THESE NUMBERS DO NOT EXIST (UNCOMMENT WHEN
    SENDING TO QAS
        PERFORM bdc_field       USING  'KOMG-LIFNR'  '300003'.
       PERFORM bdc_field       USING  'KOMG-KUNAG'  I_TABLE_1-KUNAG.
        PERFORM bdc_field       USING  'KOMG-KUNAG'  '700009658'.
        PERFORM bdc_field       USING  'KOMG-MATNR(01)'
    I_TABLE_1-MATNR.
        PERFORM bdc_field       USING  'KONP-KONWA(01)'
    I_TABLE_1-KONWA.
        PERFORM bdc_field       USING  'KONP-KPEIN(01)'
    I_TABLE_1-KPEIN.
        PERFORM bdc_field       USING  'KONP-KMEIN(01)'
    I_TABLE_1-KMEIN.
    ENDIF.
    As you can see, the last four literals end with (01). This corresponds to the line that will be entered with the appropriate data. So, the first line is (01), second line is (02), third line is (03) and so on.
    However, instead of hardcoding the line numbers (which could be in the hundreds,) I have built a counter: V_COUNTER = V_COUNTER + 1. This counter is triggered i the loop, so the 1st line would be 01 and the second 02 and so on.
    How do I make this work, since i can't put V_Counter in the literal. It won't work.
    Thanks,.
    John

    you can work like below code :
    data g_ctr(2) type n.
        g_ctr = 0.
        LOOP AT t_tcdata.
          g_ctr = g_ctr + 01.
          CONCATENATE c_matnr '( ' g_ctr ' ) ' INTO g_mabnr.
          PERFORM f_bdc_field USING  g_mabnr g_matnr.  "t_tcdata-matnr..
          CONCATENATE c_kdmat '( ' g_ctr ' ) ' INTO g_kdmat.
          PERFORM f_bdc_field USING  g_kdmat t_tcdata-kdmat.
          CONCATENATE c_kwmeng '( ' g_ctr ' ) ' INTO g_kwmeng.
          PERFORM f_bdc_field USING  g_kwmeng  t_tcdata-kwmeng.
          CONCATENATE c_charg '( ' g_ctr ' ) ' INTO g_charg.
          PERFORM f_bdc_field USING  g_charg t_tcdata-charg.
        ENDLOOP.
      ELSE.
        g_ctr = 0.
        LOOP AT t_tcdata.
          g_ctr = g_ctr + 01.
          CONCATENATE c_matnr '( ' g_ctr ' ) ' INTO g_mabnr.
          PERFORM f_bdc_field USING  g_mabnr t_tcdata-matnr.
          CONCATENATE c_kdmat '( ' g_ctr ' ) ' INTO g_kdmat.
          PERFORM f_bdc_field USING  g_kdmat t_tcdata-kdmat.
          CONCATENATE c_kwmeng '( ' g_ctr ' ) ' INTO g_kwmeng.
          PERFORM f_bdc_field USING  g_kwmeng  t_tcdata-kwmeng.
          CONCATENATE c_charg '( ' g_ctr ' ) ' INTO g_charg.
          PERFORM f_bdc_field USING  g_charg t_tcdata-charg.
        ENDLOOP.
      ENDIF.
    Thanks
    Seshu

  • Symbolic links for executables

    I installed nmap but it is not in my path. Where is the proper place to make executable with out having to use the whole path? I understand how to get it working and was just wondering if there is a typical location that Mac users put symbolic links for all users to be able to execute.
    Thank you.

    Normally, /usr/local/bin/ so updates don't delete them. Then, add it to your $PATH variable in .bash_profile, using:
    *export PATH=$PATH:/usr/local/bin*
    If you're using another shell, then modify it accordingly. BTW, Unix queries should be posted to that forum in OS X Technologies.
    For Kenichi Watanabe:
    Unix executables shouldn't be put into /Applications.

  • Seperate symbol files

    From my understanding of newer versions of Sun Studio, and reading the man pages, cc will, by default, if compiled with -g, put symbol/debugging info in the object file(.o).
    This is similar to the add-gnu-debuglink /w .dbg file for gcc/gdb compilers.
    On the face of things, this seems to be working as promised, but one test is really confusing me.
    Here is the test
    1. Compile 2 source files (as 1 file seems to always put symbols in executable - subject of another post)
    cc -g dumpcore.c library.c -o dumpcore
    For which you are left with:
    dumpcore
    dumpcore.c
    dumpcore.o
    library.c
    library.o
    2. According to my understanding, all private symbol info, line numbers, etc, should be in the .o files.
    3. This seems to be the case, because if you compile with -xs, the resulting executable is indeed larger. Anways.
    4. Rename the .o files, so supposedly the debuggers and solaris core cannot get to symbol info. We are left with:
    dumpcore
    dumpcore.c
    dumpcore.o.bak
    library.c
    library.o.bak
    5. Trigger the core: ./dumpcore
    6. Analyze the core: dbx dumpcore core
    -bash-3.00$ dbx dumpcore core
    For information about new features see `help changes'
    To remove this message, put `dbxenv suppress_startup_message 7.5' in your .dbxrc
    Reading dumpcore
    core file header read successfully
    Reading ld.so.1
    Reading libc.so.1
    Reading libc_psr.so.1
    program terminated by signal SEGV (no mapping at the fault address)
    Current function is dumpcore
    20 *ip = lim;^M
    (dbx) modules -v -read
    Module: dumpcore.o
    Language: c
    Debugging information: read [stabs version: 0.0]
    Source file: /export/home/ivanberg/icwork/dumpcore/dumpcore.c
    Object file (original) : /export/home/ivanberg/icwork/dumpcore/dumpcore.o
    Object file (using) : cannot find file (see `help pathmap')
    Loadobject: /export/home/ivanberg/icwork/dumpcore/dumpcore
    As you can see, dbx was able to find the line information and display the source, and confirmed that it cannot read the object file.
    Did I and other people misunderstand what symbolic info goes in .o files, because from this test, it appears everything still goes into the executable, which increases size, is a speed hit, is not needed most of time, etc.
    All tests done with SunStudio11 & Solaris 10.
    Thanks, Ivan

    I was looking for help on how to do this on Solaris. I have tried numerous versions of binutils and they all break something, usually rendering the stripped ELF objects useless.
    Reading this post encouraged me to have a go at it myself, and I thought I would post the resulting code here, just in case anyone else looking for a solution stumbles across this page.
    It is implemented in two files (one is hacked up PD crc32 implementation)
    Hope it helps someone,
    Steve
    dbglink.c
    * Copyright (c) 2007, Steve Williams, Telxio
    * All rights reserved.
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions are met:
    *     * Redistributions of source code must retain the above copyright
    *       notice, this list of conditions and the following disclaimer.
    *     * Redistributions in binary form must reproduce the above copyright
    *       notice, this list of conditions and the following disclaimer in the
    *       documentation and/or other materials provided with the distribution.
    *     * Neither the name of Telxio nor the
    *       names of its contributors may be used to endorse or promote products
    *       derived from this software without specific prior written permission.
    * THIS SOFTWARE IS PROVIDED BY TELXIO ``AS IS'' AND ANY
    * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    * DISCLAIMED. IN NO EVENT SHALL TELXIO BE LIABLE FOR ANY
    * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    #include <stdlib.h>
    #include <unistd.h>
    #include <stdio.h>
    #include <fcntl.h>
    #include <string.h>
    #include <libelf.h>
    * The GNU gdb debugger supports the feature that symbols may
    * be located in a seperate file to the executable code. This
    * is a useful feature for reducing the amount of information
    * shipped to a customer site for example.
    * GDB will automate the loading of the symbol file if it finds
    * a special section in the executable file called ".gnu_debuglink".
    * The ".gnu_debuglink has the following data format:
    * <debug symbol ascii file name>'\0'<padding to 4byte><32bit file crc>
    * The file name has no directory component, GDB has its own internal
    * heuristics for finding the file. If GDB finds a file with a matching
    * name, it will use the crc32 value to confirm it is the correct file,
    * then load it as the symbol file.
    * The usual way of creating a seperate symbol file is to use the
    * GNU binutils commands:
    *    gobjcopy --only-keep-debug <in-executable> <out-symbol-file>
    *    gobjcopy --add-gnu-debuglink=<out-symbol-file> <in-executable>
    *    gstrip --strip-debug <in-executable>
    * Experience has shown that binutils usually does bad things
    * to the ELF format of shared objects, therefore the motivation to write
    * this tool. Using this tool the procedure to create seperate symbol
    * files is:
    *    gobjcopy --only-keep-debug <in-executable> <out-symbol-file>
    *    pkg_dbglink <in-executable> <out-symbol-file>
    *    /usr/ccs/bin/strip <in-executable>
    * Limitations:
    * 1. Only ELF32 and ELF64 formats are supported.
    * 2. I have not tested this on a solaris-x86 architecture, so the order
    *    of the bytes in the crc32 checksum may be incorrect.
    * 3. This is my first foray into ELF manipulation, so there may be
    *    a more efficient way to do it.
    * 4. Binutils is still required to extract the debugging info from the
    *    executable, it would be nice if elfdump could do this.
    #define GNU_SECTION     ".gnu_debuglink"
    extern unsigned long
    CalcCRC32(unsigned long crc, unsigned char *p, unsigned long reclen);
    static size_t
    elf32_get_shstrtab_index(Elf* elf, char* ename)
        Elf32_Ehdr *filehdr = elf32_getehdr(elf);
        if(!filehdr)
            fprintf(stderr, "error: elf32_getehdr: %s\n", ename);
            exit(1);
        return filehdr->e_shstrndx;
    static size_t
    elf64_get_shstrtab_index(Elf* elf, char* ename)
        Elf64_Ehdr *filehdr = elf64_getehdr(elf);
        if(!filehdr)
            fprintf(stderr, "error: elf64_getehdr: %s\n", ename);
            exit(1);
        return filehdr->e_shstrndx;
    static Elf_Data*
    elf32_get_gnu_debuglink_data(Elf_Scn* gnu_debug_scn, size_t name_off)
        Elf32_Shdr* gnu_debug_hdr = elf32_getshdr(gnu_debug_scn);
        gnu_debug_hdr->sh_name = name_off;
        gnu_debug_hdr->sh_type = SHT_PROGBITS;
        return elf_newdata(gnu_debug_scn);
    static Elf_Data*
    elf64_get_gnu_debuglink_data(Elf_Scn* gnu_debug_scn, size_t name_off)
        Elf64_Shdr* gnu_debug_hdr = elf64_getshdr(gnu_debug_scn);
        gnu_debug_hdr->sh_name = name_off;
        gnu_debug_hdr->sh_type = SHT_PROGBITS;
        return elf_newdata(gnu_debug_scn);
    int
    main(int argc, char* argv[])
        unsigned char crcbuffer[1024];
        ssize_t count;
        elf_version(EV_CURRENT);
        int exefd = open(argv[1], O_RDWR);
        if(exefd == -1)
            fprintf(stderr, "file not found: %s\n", argv[1]);
            exit(1);
         * read in portion of debug symbol file
         * that will be used to compute CRC
        int dbgfd = open(argv[2], O_RDONLY);
        if(dbgfd == -1)
            fprintf(stderr, "file not found: %s\n", argv[2]);
            exit(1);
        uint32_t crc = 0;
        while((count = read(dbgfd, crcbuffer, sizeof(crcbuffer))) > 0)
             * calculate CRC32 checksum
            crc = CalcCRC32(crc, crcbuffer, count);
        close(dbgfd);
        char* gnu_dbglink_name = strrchr(argv[2], '/');
        gnu_dbglink_name = gnu_dbglink_name ? gnu_dbglink_name : argv[2];
         * read in the ELF header
        Elf* elf = elf_begin(exefd, ELF_C_RDWR, NULL);
        if(!elf)
            fprintf(stderr, "error: elf_begin: %s\n", argv[1]);
            exit(1);
         * This tool only supports ELF format
        if(elf_kind(elf) != ELF_K_ELF)
            fprintf(stderr, "not ELF format: %s\n", argv[1]);
            exit(1);
         * This tool only supports 32 and 64 bit
         * ELF classes
        size_t shstrtab_ndx = 0;
        char* ident = elf_getident(elf, NULL);
        switch(ident[EI_CLASS])
        case ELFCLASS32:
            shstrtab_ndx = elf32_get_shstrtab_index(elf, argv[1]);
            break;
        case ELFCLASS64:
            shstrtab_ndx = elf64_get_shstrtab_index(elf, argv[1]);
            break;
        default:
            fprintf(stderr, "not a supported ELF class: %s\n", argv[1]);
            exit(1);
        Elf_Scn* shstrtab_scn = elf_getscn(elf, shstrtab_ndx);
        Elf_Scn* gnu_debug_scn = elf_newscn(elf);
        if(!gnu_debug_scn)
            fprintf(stderr,
                "error: elf_newscn: unavle to create new section: %s\n", argv[1]);
            exit(1);
        Elf_Data* shstrtab_existing_data = 0;
        shstrtab_existing_data = elf_getdata(shstrtab_scn, shstrtab_existing_data);
        Elf_Data *shstrtab_new_data = elf_newdata(shstrtab_scn);
        shstrtab_new_data->d_buf = GNU_SECTION;
        shstrtab_new_data->d_size = strlen(GNU_SECTION) + 1;
        shstrtab_new_data->d_off = shstrtab_existing_data->d_size;
        shstrtab_new_data->d_align = 1;
        Elf_Data* gnu_debug_data = NULL;
        switch(ident[EI_CLASS])
        case ELFCLASS32:
            gnu_debug_data = elf32_get_gnu_debuglink_data(
                                                    gnu_debug_scn,
                                                    shstrtab_new_data->d_off);
            break;
        case ELFCLASS64:
            gnu_debug_data = elf64_get_gnu_debuglink_data(
                                                    gnu_debug_scn,
                                                    shstrtab_new_data->d_off);
            break;
        gnu_debug_data->d_off = 0;
        gnu_debug_data->d_align = 1;
        size_t sectsz = strlen(gnu_dbglink_name) + 1;
        sectsz += 3;
        sectsz &= ~3;
        sectsz += 4;
        gnu_debug_data->d_buf = malloc(sectsz);
        gnu_debug_data->d_size = sectsz;
        memcpy(gnu_debug_data->d_buf, gnu_dbglink_name,
                                        strlen(gnu_dbglink_name) + 1);
        uint32_t* pcrc = (uint32_t*)&((char*)gnu_debug_data->d_buf)[sectsz-4];
         * Not sure is endianess issues will be a problem here
         * (will depend on what GNU BFD does)
         * Currently only tested on SPARC machines
        *pcrc = crc;
        elf_update(elf, ELF_C_WRITE);
        elf_end(elf);
        close(exefd);
        exit(0);
    }And crc32.c
    /* crc32.c
       C implementation of CRC-32 checksums for NAACCR records.  Code is based
       upon and utilizes algorithm published by Ross Williams.
       This file contains:
          CRC lookup table
          function CalcCRC32 for calculating CRC-32 checksum
          function AssignCRC32 for assigning CRC-32 in NAACCR record
          function CheckCRC32 for checking CRC-32 in NAACCR record
       Provided by:
          Eric Durbin
          Kentucky Cancer Registry
          University of Kentucky
          October 14, 1998
       Status:
          Public Domain
        Modified by:
          Steve Williams,
          April 04, 2007
    /* CRC LOOKUP TABLE                                              */
    /* ================                                              */
    /* The following CRC lookup table was generated automagically    */
    /* by the Rocksoft^tm Model CRC Algorithm Table Generation       */
    /* Program V1.0 using the following model parameters:            */
    /*    Width   : 4 bytes.                                         */
    /*    Poly    : 0x04C11DB7L                                      */
    /*    Reverse : TRUE.                                            */
    /* For more information on the Rocksoft^tm Model CRC Algorithm,  */
    /* see the document titled "A Painless Guide to CRC Error        */
    /* Detection Algorithms" by Ross Williams                        */
    /* ([email protected].). This document is likely to be  */
    /* in the FTP archive "ftp.adelaide.edu.au/pub/rocksoft".        */
    unsigned long  crctable[256] =
    0x00000000L, 0x77073096L, 0xEE0E612CL, 0x990951BAL,
    0x076DC419L, 0x706AF48FL, 0xE963A535L, 0x9E6495A3L,
    0x0EDB8832L, 0x79DCB8A4L, 0xE0D5E91EL, 0x97D2D988L,
    0x09B64C2BL, 0x7EB17CBDL, 0xE7B82D07L, 0x90BF1D91L,
    0x1DB71064L, 0x6AB020F2L, 0xF3B97148L, 0x84BE41DEL,
    0x1ADAD47DL, 0x6DDDE4EBL, 0xF4D4B551L, 0x83D385C7L,
    0x136C9856L, 0x646BA8C0L, 0xFD62F97AL, 0x8A65C9ECL,
    0x14015C4FL, 0x63066CD9L, 0xFA0F3D63L, 0x8D080DF5L,
    0x3B6E20C8L, 0x4C69105EL, 0xD56041E4L, 0xA2677172L,
    0x3C03E4D1L, 0x4B04D447L, 0xD20D85FDL, 0xA50AB56BL,
    0x35B5A8FAL, 0x42B2986CL, 0xDBBBC9D6L, 0xACBCF940L,
    0x32D86CE3L, 0x45DF5C75L, 0xDCD60DCFL, 0xABD13D59L,
    0x26D930ACL, 0x51DE003AL, 0xC8D75180L, 0xBFD06116L,
    0x21B4F4B5L, 0x56B3C423L, 0xCFBA9599L, 0xB8BDA50FL,
    0x2802B89EL, 0x5F058808L, 0xC60CD9B2L, 0xB10BE924L,
    0x2F6F7C87L, 0x58684C11L, 0xC1611DABL, 0xB6662D3DL,
    0x76DC4190L, 0x01DB7106L, 0x98D220BCL, 0xEFD5102AL,
    0x71B18589L, 0x06B6B51FL, 0x9FBFE4A5L, 0xE8B8D433L,
    0x7807C9A2L, 0x0F00F934L, 0x9609A88EL, 0xE10E9818L,
    0x7F6A0DBBL, 0x086D3D2DL, 0x91646C97L, 0xE6635C01L,
    0x6B6B51F4L, 0x1C6C6162L, 0x856530D8L, 0xF262004EL,
    0x6C0695EDL, 0x1B01A57BL, 0x8208F4C1L, 0xF50FC457L,
    0x65B0D9C6L, 0x12B7E950L, 0x8BBEB8EAL, 0xFCB9887CL,
    0x62DD1DDFL, 0x15DA2D49L, 0x8CD37CF3L, 0xFBD44C65L,
    0x4DB26158L, 0x3AB551CEL, 0xA3BC0074L, 0xD4BB30E2L,
    0x4ADFA541L, 0x3DD895D7L, 0xA4D1C46DL, 0xD3D6F4FBL,
    0x4369E96AL, 0x346ED9FCL, 0xAD678846L, 0xDA60B8D0L,
    0x44042D73L, 0x33031DE5L, 0xAA0A4C5FL, 0xDD0D7CC9L,
    0x5005713CL, 0x270241AAL, 0xBE0B1010L, 0xC90C2086L,
    0x5768B525L, 0x206F85B3L, 0xB966D409L, 0xCE61E49FL,
    0x5EDEF90EL, 0x29D9C998L, 0xB0D09822L, 0xC7D7A8B4L,
    0x59B33D17L, 0x2EB40D81L, 0xB7BD5C3BL, 0xC0BA6CADL,
    0xEDB88320L, 0x9ABFB3B6L, 0x03B6E20CL, 0x74B1D29AL,
    0xEAD54739L, 0x9DD277AFL, 0x04DB2615L, 0x73DC1683L,
    0xE3630B12L, 0x94643B84L, 0x0D6D6A3EL, 0x7A6A5AA8L,
    0xE40ECF0BL, 0x9309FF9DL, 0x0A00AE27L, 0x7D079EB1L,
    0xF00F9344L, 0x8708A3D2L, 0x1E01F268L, 0x6906C2FEL,
    0xF762575DL, 0x806567CBL, 0x196C3671L, 0x6E6B06E7L,
    0xFED41B76L, 0x89D32BE0L, 0x10DA7A5AL, 0x67DD4ACCL,
    0xF9B9DF6FL, 0x8EBEEFF9L, 0x17B7BE43L, 0x60B08ED5L,
    0xD6D6A3E8L, 0xA1D1937EL, 0x38D8C2C4L, 0x4FDFF252L,
    0xD1BB67F1L, 0xA6BC5767L, 0x3FB506DDL, 0x48B2364BL,
    0xD80D2BDAL, 0xAF0A1B4CL, 0x36034AF6L, 0x41047A60L,
    0xDF60EFC3L, 0xA867DF55L, 0x316E8EEFL, 0x4669BE79L,
    0xCB61B38CL, 0xBC66831AL, 0x256FD2A0L, 0x5268E236L,
    0xCC0C7795L, 0xBB0B4703L, 0x220216B9L, 0x5505262FL,
    0xC5BA3BBEL, 0xB2BD0B28L, 0x2BB45A92L, 0x5CB36A04L,
    0xC2D7FFA7L, 0xB5D0CF31L, 0x2CD99E8BL, 0x5BDEAE1DL,
    0x9B64C2B0L, 0xEC63F226L, 0x756AA39CL, 0x026D930AL,
    0x9C0906A9L, 0xEB0E363FL, 0x72076785L, 0x05005713L,
    0x95BF4A82L, 0xE2B87A14L, 0x7BB12BAEL, 0x0CB61B38L,
    0x92D28E9BL, 0xE5D5BE0DL, 0x7CDCEFB7L, 0x0BDBDF21L,
    0x86D3D2D4L, 0xF1D4E242L, 0x68DDB3F8L, 0x1FDA836EL,
    0x81BE16CDL, 0xF6B9265BL, 0x6FB077E1L, 0x18B74777L,
    0x88085AE6L, 0xFF0F6A70L, 0x66063BCAL, 0x11010B5CL,
    0x8F659EFFL, 0xF862AE69L, 0x616BFFD3L, 0x166CCF45L,
    0xA00AE278L, 0xD70DD2EEL, 0x4E048354L, 0x3903B3C2L,
    0xA7672661L, 0xD06016F7L, 0x4969474DL, 0x3E6E77DBL,
    0xAED16A4AL, 0xD9D65ADCL, 0x40DF0B66L, 0x37D83BF0L,
    0xA9BCAE53L, 0xDEBB9EC5L, 0x47B2CF7FL, 0x30B5FFE9L,
    0xBDBDF21CL, 0xCABAC28AL, 0x53B39330L, 0x24B4A3A6L,
    0xBAD03605L, 0xCDD70693L, 0x54DE5729L, 0x23D967BFL,
    0xB3667A2EL, 0xC4614AB8L, 0x5D681B02L, 0x2A6F2B94L,
    0xB40BBE37L, 0xC30C8EA1L, 0x5A05DF1BL, 0x2D02EF8DL
    /*                   End of CRC Lookup Table                     */
    #define CRC32_XINIT 0xFFFFFFFFL         /* initial value */
    #define CRC32_XOROT 0xFFFFFFFFL         /* final xor value */
    /* Calculate CRC-32 Checksum for NAACCR Record,
       skipping area of record containing checksum field.
       Uses reflected table driven method documented by Ross Williams.
       PARAMETERS:
         unsigned char *p           NAACCR Record Buffer
         unsigned long reclen       NAACCR Record Length
         unsigned long checksumpos  Position of CHECKSUM (as in Data Dictionary)
         unsigned long checksumlen  Length of checksum Field
       RETURNS:
             checksum value
       Author:
         Eric Durbin 1998-10-14
       Modified:
         Steve Williams 2007-04-03
       Status:
         Public Domain
    unsigned long
    CalcCRC32(unsigned long crc, unsigned char *p, unsigned long reclen)
            unsigned long j;
            /* initialize value */
            crc ^= CRC32_XINIT;
            /* process each byte */
            for (j = 0; j < reclen; j++) {
                crc = crctable[(crc ^ *p++) & 0xFFL] ^ (crc >> 8);
            /* return XOR out value */
            return crc ^ CRC32_XOROT;
    }

  • Director converting symbol's case from lower to upper

    put symbol("bd") -- BD
    any thoughts as to why this would happen?
    it only happens every now and then, even though I am running the same .dir file;
    furthermore it is not converting every lowercase string to uppercase;

    well, this is simply an illustrative example of what is occurring;
    what is actually occurring is:
    my_prop_A = my_list_A.getPropAt( i )
    my_value  = my_list_B[ my_prop_A ] --- error occurrs here
    my_list_A is created at runtime from an external text file with ONLY lowercase letters;
    my_list_A looks like: [#a : "something" , #aa : "something" , #ab : "something" , ... , #bd : "something" , ... ]
    at this point I obviousely wondered if there was in fact an #BD within my_list_A ... maybe some type of anomoly conversion; however, there is nothing;
    so if I:
    put symbol("aa") -- #aa
    put symbol("bd") -- #BD
    once this happens it throws an error because there is no my_list_B[ #BD ] ( though there is a #bd );
    in order to fix it I do all kinds of stuff, and there is no consistency to achieving the solution; on any given day this might work:
        --    close the 3dpi
        --    delete w3d and text files which have data that is used to build my_list_A
        --    recompile scripts
        --    save and compact
        --    close director
        --    restart my computer
        --    open director
        --    re-import w3d and text files which have data that is used to build my_list_A
    but then on any other day that same set of steps might not work; some times I go through this same process 4 or five times, and then all of the sudden it works;
    etc. with other solution approaches;

  • Trying to understand syntax hilighting (please run code provided)

    Can someone enlighten me here - I've searched the API, but cannot get this to work - I have also seen and used camrickr's superb code - the point is here I'm trying to get a handle on how that works by simplifying the processes. The following code is supposed to hilight in red or blue. At present the first 2 lines are in blue and the rest is black which I find a bit odd.
    1. Base Application: SyntaxTest.javaimport java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.text.*;
    import java.io.*;
    public class SyntaxTest{
       JTextPane textPane;
       public static void main(String a[]){
          new SyntaxTest();
       SyntaxTest(){   
          textPane = new JTextPane();
          EditorKit editorKit = new StyledEditorKit(){
             public Document createDefaultDocument(){
                return new SimpleHighlight();
          textPane.setEditorKitForContentType("text", editorKit);
          textPane.setContentType("text");
          JButton button = new JButton("Load someText");
          button.addActionListener( new ActionListener(){
             public void actionPerformed(ActionEvent e){
                try{
                   FileInputStream fis = new FileInputStream( "someText.txt" );
                   textPane.read( fis, null );
                catch(Exception e2) {}
          JFrame frame = new JFrame("Syntax Highlighting");
          frame.getContentPane().add(new JScrollPane(textPane) );
          frame.getContentPane().add(button, BorderLayout.SOUTH);
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.setSize(600,300);
          frame.setVisible(true);
    2. The hilighter: SimpleHighlight.java
    import java.awt.*;
    import javax.swing.text.*;
    public class SimpleHighlight extends DefaultStyledDocument{
       private DefaultStyledDocument doc;
       private SimpleAttributeSet red, blue;
       int tally;
       protected SimpleHighlight(){
          doc=this;
          red = new SimpleAttributeSet();
          StyleConstants.setForeground(red, Color.red);
          blue = new SimpleAttributeSet();
          StyleConstants.setForeground(blue, Color.blue);
       public void insertString(int offset, String str, AttributeSet as) throws BadLocationException{
          super.insertString(offset, str, as);
          highlight(str, str.length());
       public void remove(int offset, int length) throws BadLocationException{
          super.remove(offset, length);
    System.out.print("remove:"); // doesn't appear to do anything
       private void highlight(String thisLine, int length){
          if(thisLine.startsWith("1"))
             doc.setCharacterAttributes(0, length, red, false);
          else doc.setCharacterAttributes(0, length, blue, false);
    System.out.print(thisLine+" "+length);
    3. And this is the text file I'm accessing;- someText.txt
    01234
    12345
    01234
    12345
    1234567890

    Thanks again camrckr - let me know whether you approve of the amendendments;-import java.awt.*;
    import java.awt.event.*;
    import java.awt.Toolkit.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.text.*;
    class SyntaxDocument extends DefaultStyledDocument{
       private DefaultStyledDocument doc;
       private Element rootElement;
       private boolean multiLineComment;
       private MutableAttributeSet normal;
       private MutableAttributeSet keyword;
       private MutableAttributeSet comment;
       private MutableAttributeSet quote;
       private MutableAttributeSet symbol; // NEW
       private MutableAttributeSet number; // NEW
       private Hashtable keywords;
       private boolean started;
       public SyntaxDocument(){
          doc = this;
          rootElement = doc.getDefaultRootElement();
          putProperty( DefaultEditorKit.EndOfLineStringProperty, "\n" );
          normal = new SimpleAttributeSet();
          StyleConstants.setForeground(normal, Color.black);
          symbol = new SimpleAttributeSet();
          StyleConstants.setForeground(symbol, Color.black);
          StyleConstants.setBold(symbol, true);
          number = new SimpleAttributeSet();
          Color purple = new Color(160, 0, 160);
          StyleConstants.setForeground(number, purple);
          comment = new SimpleAttributeSet();
          Color green = new Color(0, 120, 0);
          StyleConstants.setForeground(comment, green);
          keyword = new SimpleAttributeSet();
          Color blue = new Color(0, 0, 160);
          StyleConstants.setForeground(keyword, blue);
          StyleConstants.setBold(keyword, true);
          quote = new SimpleAttributeSet();
          Color red = new Color(160,0,0);
          StyleConstants.setForeground(quote, red);
          Object dummyObject = new Object(); 
          keywords = new Hashtable();
          keywords.put( "abstract", dummyObject );
          keywords.put( "boolean", dummyObject );
          keywords.put( "break", dummyObject );
          keywords.put( "byte", dummyObject );
          keywords.put( "case", dummyObject );
          keywords.put( "catch", dummyObject );
          keywords.put( "char", dummyObject );
          keywords.put( "class", dummyObject );
          keywords.put( "continue", dummyObject );
          keywords.put( "default", dummyObject );
          keywords.put( "do", dummyObject );
          keywords.put( "double", dummyObject );
          keywords.put( "else", dummyObject );
          keywords.put( "extends", dummyObject );
          keywords.put( "false", dummyObject );     // string literal
          keywords.put( "final", dummyObject );
          keywords.put( "finally", dummyObject );
          keywords.put( "float", dummyObject );
          keywords.put( "for", dummyObject );
          keywords.put( "goto", dummyObject );     
          keywords.put( "if", dummyObject );
          keywords.put( "implements", dummyObject );
          keywords.put( "import", dummyObject );
          keywords.put( "instanceof", dummyObject );
          keywords.put( "int", dummyObject );
          keywords.put( "interface", dummyObject );
          keywords.put( "long", dummyObject );
          keywords.put( "native", dummyObject );
          keywords.put( "new", dummyObject );
          keywords.put( "null", dummyObject );      // string literal
          keywords.put( "package", dummyObject );
          keywords.put( "private", dummyObject );
          keywords.put( "protected", dummyObject );
          keywords.put( "public", dummyObject );
          keywords.put( "return", dummyObject );
          keywords.put( "short", dummyObject );
          keywords.put( "static", dummyObject );
          keywords.put( "strictfp", dummyObject );
          keywords.put( "super", dummyObject );
          keywords.put( "switch", dummyObject );
          keywords.put( "synchronized", dummyObject );
          keywords.put( "this", dummyObject );
          keywords.put( "throw", dummyObject );
          keywords.put( "throws", dummyObject );
          keywords.put( "transient", dummyObject );
          keywords.put( "true", dummyObject );       // string literal
          keywords.put( "try", dummyObject );
          keywords.put( "void", dummyObject );
          keywords.put( "volatile", dummyObject );
          keywords.put( "while", dummyObject );
       /* Override to apply syntax highlighting after the document has been updated */
       public void insertString(int offset, String str, AttributeSet a) throws BadLocationException{
          if (str.equals("{"))
          str = addMatchingBrace(offset);
          super.insertString(offset, str, a);
          processChangedLines(offset, str.length());
       /* Override to apply syntax highlighting after the document has been updated */
       public void remove(int offset, int length) throws BadLocationException{
          super.remove(offset, length);
          processChangedLines(offset, 0);
       /* Determine how many lines have been changed, then apply highlighting to each line */
       private void processChangedLines(int offset, int length) throws BadLocationException {
          String content = doc.getText(0, doc.getLength());
          // The lines affected by the latest document update
          int startLine = rootElement.getElementIndex( offset );
          int endLine = rootElement.getElementIndex( offset + length );
          // Make sure all comment lines prior to the start line are commented
          // and determine if the start line is still in a multi line comment
          setMultiLineComment( commentLinesBefore( content, startLine ) );
          // Do the actual highlighting
          for (int i=startLine; i <=endLine; i++) applyHighlighting(content, i);
          // Resolve highlighting to the next end multi line delimiter
          if (isMultiLineComment()) commentLinesAfter(content, endLine);
          else highlightLinesAfter(content, endLine);
       /* Highlight lines when a multi line comment is still 'open' */
       private boolean commentLinesBefore(String content, int line){
          int offset = rootElement.getElement( line ).getStartOffset();
          // Start of comment not found, nothing to do
          int startDelimiter = lastIndexOf( content, getStartDelimiter(), offset-2);
          if (startDelimiter < 0)return false;
          // Matching start/end of comment found, nothing to do
          int endDelimiter = indexOf( content, getEndDelimiter(), startDelimiter );
          if (endDelimiter < offset & endDelimiter != -1)return false;
          // End of comment not found, highlight the lines
          doc.setCharacterAttributes(startDelimiter, offset - startDelimiter + 1, comment, false);
          return true;
       /* Highlight comment lines to matching end delimiter */
       private void commentLinesAfter(String content, int line){
          int offset = rootElement.getElement( line ).getEndOffset();
          // End of comment not found, nothing to do
          int endDelimiter = indexOf( content, getEndDelimiter(), offset );
          if (endDelimiter < 0) return;
          // Matching start/end of comment found, comment the lines
          int startDelimiter = lastIndexOf( content, getStartDelimiter(), endDelimiter );
          if (startDelimiter < 0 || startDelimiter <= offset){
             doc.setCharacterAttributes(offset, endDelimiter - offset + 1, comment, false);
       /* Highlight lines to start or end delimiter */
       private void highlightLinesAfter(String content, int line) throws BadLocationException{
          int offset = rootElement.getElement( line ).getEndOffset();
          // Start/End delimiter not found, nothing to do
          int startDelimiter = indexOf( content, getStartDelimiter(), offset );
          int endDelimiter = indexOf( content, getEndDelimiter(), offset );
          if (startDelimiter < 0)     startDelimiter = content.length();
          if (endDelimiter < 0)endDelimiter = content.length();
          int delimiter = Math.min(startDelimiter, endDelimiter);
          if (delimiter < offset)return;
          // Start/End delimiter found, reapply highlighting
          int endLine = rootElement.getElementIndex( delimiter );
          for (int i = line + 1; i < endLine; i++){
             Element branch = rootElement.getElement( i );
             Element leaf = doc.getCharacterElement( branch.getStartOffset() );
             AttributeSet as = leaf.getAttributes();
             if ( as.isEqual(comment) ) applyHighlighting(content, i);
       /* Parse the line to determine the appropriate highlighting */
       private void applyHighlighting(String content, int line) throws BadLocationException{
          int startOffset = rootElement.getElement( line ).getStartOffset();
          int endOffset = rootElement.getElement( line ).getEndOffset() - 1;
          int lineLength = endOffset - startOffset;
          int contentLength = content.length();
          if (endOffset >= contentLength)endOffset = contentLength - 1;
             // check for multi line comments
             // (always set the comment attribute for the entire line)
             if( ( endingMultiLineComment(content, startOffset, endOffset) )
                ||( isMultiLineComment() )
                ||( startingMultiLineComment(content, startOffset, endOffset) ) ){
                   doc.setCharacterAttributes(startOffset, endOffset - startOffset + 1, comment, false);
                   return;
          // set normal attributes for the line
          doc.setCharacterAttributes(startOffset, lineLength, normal, true);
          int index = content.indexOf(getSingleLineDelimiter(), startOffset);
          if ( (index > -1) && (index < endOffset) ){
             doc.setCharacterAttributes(index, endOffset - index + 1, comment, false);
             endOffset = index - 1;
          if(startOffset>endOffset) tokensInBold(content, startOffset);  // NEW
          else checkForTokens(content, startOffset, endOffset);
    /* This line contain the start delimiter */
       private boolean startingMultiLineComment(String content, int startOffset, int endOffset) throws BadLocationException{
          int index = indexOf( content, getStartDelimiter(), startOffset );
          if( (index < 0) || (index > endOffset) ) return false;
          else{
             setMultiLineComment( true );
             return true;
       /* Does this line contain the end delimiter */
       private boolean endingMultiLineComment(String content, int startOffset, int endOffset) throws BadLocationException{
          int index = indexOf( content, getEndDelimiter(), startOffset );
          if( (index < 0) || (index > endOffset) ) return false;
          else{
             setMultiLineComment( false );
             return true;
       /* We have found a start delimiter and are still searching for the end delimiter */
       private boolean isMultiLineComment(){
          return multiLineComment;
       private void setMultiLineComment(boolean value){
          multiLineComment = value;
       /* Wait for all other painting before painting these once */
       private void tokensInBold(String content, int length){  // NEW
          for(int i=0; i<length; i++){        
             if(isDelimiterBold(content.substring(i, i+1)))
                doc.setCharacterAttributes(i, 1, symbol, false);        
       private void checkForTokens(String content, int startOffset, int endOffset){
          while (startOffset <= endOffset){
             // skip the delimiters to find the start of a new token
             while (isDelimiter(content.substring(startOffset, startOffset+1))){
                if(startOffset < endOffset) startOffset++;
                else return;
             // Extract and process the entire token
             if (isQuoteDelimiter( content.substring(startOffset, startOffset + 1)))
                startOffset = getQuoteToken(content, startOffset, endOffset);
             else startOffset = getOtherToken(content, startOffset, endOffset);        
       private int getQuoteToken(String content, int startOffset, int endOffset){
          String quoteDelimiter = content.substring(startOffset, startOffset + 1);
          String escapeString = getEscapeString(quoteDelimiter);
          int index;
          int endOfQuote = startOffset;
          // skip over the escape quotes in this quote
          index = content.indexOf(escapeString, endOfQuote + 1);
          while ( (index > -1) && (index < endOffset) ){
             endOfQuote = index + 1;
             index = content.indexOf(escapeString, endOfQuote);
          // now find the matching delimiter
          index = content.indexOf(quoteDelimiter, endOfQuote + 1);
          if( (index < 0) || (index > endOffset) ) endOfQuote = endOffset;
          else endOfQuote = index;
          doc.setCharacterAttributes(startOffset, endOfQuote-startOffset+1, quote, false);
          return endOfQuote + 1;
       private int getOtherToken(String content, int startOffset, int endOffset){
          int endOfToken = startOffset + 1;
          while(endOfToken <= endOffset ){
             if(isDelimiter(content.substring(endOfToken, endOfToken+1)))
                break;
             endOfToken++;
          String token = content.substring(startOffset, endOfToken);
          try{                                              // NEW
            Long.parseLong(token);
            doc.setCharacterAttributes(startOffset, endOfToken-startOffset, number, false);
          }catch(NumberFormatException nfe){}
          if( isKeyword( token ) )
             doc.setCharacterAttributes(startOffset, endOfToken-startOffset, keyword, false);
             return endOfToken + 1;
          private int indexOf(String content, String needle, int offset){
             int index;
             while( (index = content.indexOf(needle, offset)) != -1 ){
                String text = getLine( content, index ).trim();
                if(text.startsWith(needle) || text.endsWith(needle)) break;
                else offset = index + 1;
             return index;
       private int lastIndexOf(String content, String needle, int offset){
          int index;
          while ( (index = content.lastIndexOf(needle, offset)) != -1 ){
             String text = getLine( content, index ).trim();
             if( (text.startsWith(needle)) || (text.endsWith(needle)) ) break;
             else offset = index - 1;
          return index;
       private String getLine(String content, int offset){
          int line = rootElement.getElementIndex( offset );
          Element lineElement = rootElement.getElement( line );
          int start = lineElement.getStartOffset();
          int end = lineElement.getEndOffset();
          return content.substring(start, end - 1);
       protected boolean isDelimiter(String character){
          String operands = ";:{}()[]+-/%<=>!&|^~*,.\\\n";     
          if (Character.isWhitespace( character.charAt(0) ) ||
             operands.indexOf(character)!= -1 )
          return true;
          else return false;
       protected boolean isQuoteDelimiter(String character){
          String quote = "\"'";
          if (quote.indexOf(character) < 0) return false;
          else return true;
       protected boolean isDelimiterBold(String character){  // NEW
          String symbolDelimiters = "{}[]();&|";
            if ( symbolDelimiters.indexOf(character)< 0) return false;
          else return true;
       protected boolean isKeyword(String token){
          Object o = keywords.get( token );
          return o == null ? false : true;
       protected String getStartDelimiter(){
          return "/*";
       protected String getEndDelimiter(){
          return "*/";
       protected String getSingleLineDelimiter(){
          return "//";
       protected String getEscapeString(String quoteDelimiter){
          return "\\" + quoteDelimiter;
       protected String addMatchingBrace(int offset) throws BadLocationException{
          StringBuffer whiteSpace = new StringBuffer();
          int line = rootElement.getElementIndex( offset );
          int i = rootElement.getElement(line).getStartOffset();
          while(true){
             String temp = doc.getText(i, 1);
             if (temp.equals(" ") || temp.equals("\t")){
                whiteSpace.append(temp);
                i++;
             else break;
          return "{\n" + whiteSpace.toString() + whiteSpace.toString()+"\n" + whiteSpace.toString() + "}";
    }

  • I can't restore the iPhone archive because a certain file is unrestorable

    Hello everyone, I'm new to this Discussion Board I've been an iPhone 3GS 32GB user for over a year now, and I decided to make an account here and start this topic, because I've got a really serious problem... As the topic title can give you a hint on what is going on, let me describe everything in detail:
    Not so long ago I had upgraded my iPhone with iOS 4.0 to 4.0.1 (I did that 1 day after the official release of the new version). 2 days ago, when I wanted to make a call, I came across an issue manifesting itself by iPhone nearly instantly showing "Call ended" and later on "Call failed", consecutively. It was happeninng so, regardless of whom I wanted to call. What's noticable is that I could send and receive text messages, as well as receive incoming calls, without any problems. Making some research on the Internet, I found out that similar issues had been occurring with the earlier versions of the OS. None of the solutions described (turning off the automatic date and time setting and so on) didn't help me, as well as turning the iPhoone on and off, trying to get into the DFU mode, and downgrading to iOS 4.0 (I couldn't downgrade anyway) which didn't help either. Not knowing what to do next, I restored my iPhone to the factory settings, losing, as obvious, all apps, text messages, contacts etc. along the way. After this restore I was able to make outgoing cals again but wanting to have all my text messages, I decided to load the newest backup onto my iPhone, and see what would happen. After loading the backup, I had all my contest back again but I was also again unable to make outgoing calls... (this proved that the issue was caused by some saved iPhone settings, or something similar, but not the iOS version itself). In this case I had nothing else to do, but to get back to the factory settings once again. As I cared abot keeping all my text messages, I read on the Internet the the way to save them is to copy the file called "3d0d7e5fb2ce288813306e4d4636395e047a3d28" from the backup folder. In the next step you were supposed to make a backup of the phone restored to the factory settings, and overrite the file in that backup with the one you had copied earlier (to spare myself any problems, I also copied the "31bb7ba8914766d4ba40d6dfb6113c8b614be442" file with the contacts). The problem turned out to be the fact that in the guide about all these files, there wasn't mentioned any information that you also should copy the following files: Info.plist, Manifest.plist i Status.plist (unfortunately, I found out about this fact later). I ompletely lost the rest of these files be deleting folders with the previous backup.
    So now, when I put the files I had copied earlier to the folder with the new backup, I am presented with this kind prompt while trying to restore: "iTunes cannot restore "iPhone (XXX)" because some files from the archive could not be restored" (or something similar because, since I have the Polish version of iTunes installed, I'm not sure how it is put in the original literally). I've tried to restore these *.plist files with some file recovery tools. These tools do find these files from the same day (that is, the 18th), but they differ from each other by the time they were last modified (some are from 12:19A.M., others from 3:20P.M. etc.), as well as they differ from the 2 files I had copied by the same manner. I assume that these differences in time (as well as in checksums that I found out about) cause the backup to not be seen by iTunes when I put these revovered *.plist (along with the 2 files that I had copied) in the backup folder. The same result occurrs when I recover these files with the long names the same way I had recovered the *.plist files, and put them in the backup folder with these *.plist files.
    I can't deny that I would really like to have all my text messages back.... Does anyoneone know how to import them back on the iPhone from that "3d0d7e5fb2ce288813306e4d4636395e047a3d28" file, because I'm getting really frustrated here I read it could be achieved by changing the *.plist files checksums if iTunes doesn't want to restore a backup the normal way. If this is the only way to do it (or if there are any other work arounds), please guide me on how to do it. I really need help

    fep516 wrote:
    Would you recommend upgrading again to Mountain Lion after the Snow Leopard upgrade?
    Yes, Lion and Mountain Lion are a significant upgrade from Snow Leopard, and they fully support iCloud syncing.
    First verify that your model number supports Mountain Lion (I'm pretty sure it does), then check how much RAM you have. Your model only comes with 1 GB (https://support.apple.com/kb/sp16), which is inadequate for later versions. Upgrade to 4 GB if you haven't already. The upgrade is a do-it-yourself project that will take 5 minutes if you are at all handy with modern electronics; you just remove the 1 GB DIMM and insert 2 2GB DIMMs. Here's an example of a memory upgrade kit: http://www.amazon.com/Kingston-Modules-Macbook-KTA-MB667K2-4GR/dp/B001265GI2/ref =sr_1_2?ie=UTF8&qid=1362357462&sr=8-2&keywords=imac+memory+2gb.
    This is not an endorsement of this vendor or this manufacturer; it is just a reference for the type of memory you need. (Not that there's anything wrong with Amazon or Kingston.)

  • How do I share my Address Book with other users on same computer?

    This continues to elude me. I tried Address Book sharing, syncing, etc. but they either didn't work or are way too slow. I just simply want to be able to use the same database for all users on the same computer. I'm really surprised that Apple doesn't offer this functionality.
    I read one solution about creating a separate hard drive solution, selecting Ignore Permissions on it and moving the database to that and then setting up symbolic links for each user to point their Address Book database to that database. But this still seems like a major pain.
    Is there not something more simple and reliable?
    Thank you.

    macsense wrote:
    This continues to elude me. I tried Address Book sharing, syncing, etc. but they either didn't work or are way too slow. I just simply want to be able to use the same database for all users on the same computer. I'm really surprised that Apple doesn't offer this functionality.
    I read one solution about creating a separate hard drive solution, selecting Ignore Permissions on it and moving the database to that and then setting up symbolic links for each user to point their Address Book database to that database. But this still seems like a major pain.
    Is there not something more simple and reliable?
    No. You don't have to use an external drive and can put it in a folder in /Users/Shared and set inherited ACLs to allow different users to read/write to it as outlined in this [post|http://discussions.apple.com/thread.jspa?messageID=7245381&#7245381]. You'll still need to erase original address book folders and put symbolic links to the shared folder if you do that. there is nothing simpler I'm afraid.

  • RT: How do I use two independen​t Ethernet ports?

    I have looked around at the forums and seems like no one has had a real solid answer or example on how to use 2 Ethernet ports with RT.
    Right now I have two connections configured on the RT:
    Primary Connection:
    IP:192.168.2.181
    Subnet mask: 255.255.255.0
    Gateway: 192.168.1.1
    DNS Server: 192.168.1.1
    Secondary Connection:
    IP:192.168.1.180
    Subnet mask: 255.255.255.0
    Gateway: 192.168.1.1
    DNS Server: 192.168.1.1
    After using this initial setup, I made a RT project where I used 'UDP Open' for both 192.168.2.181 and 192.168.1.180, and had them both read and write in a sequence (Read and Write for the 2.181 connection, then Read/Write for 1.180).
    The computer I'm using to send the data is connected to a switch, which in turn is connected to the RT. Both the RT and my host computer have 2 ports, one of them with ports configured to be 192.168.2.x and 192.168.1.x
    Using this configuration I get some weird results:
    If I send a packet to 192.168.2.181, I receive it from the UDP Receive vi that has an input connection from my UDP Open assigned to 1.180. I also receive the data the same way when sending packets to 1.180 (as expected). Basicly, no matter what IP I'm sending it to on the RT, the data from either packet will arrive from the same location/vi.
    Why is this? Is there anyway to fix this? Did I not configure something correctly?
    Does anyone have an example of dual Ethernet ports actually working with LabView RT?
    I tried checking out "KnowledgeBase 3VQ6278T: Can I Use Multiple Network Adapters in a PXI or Desktop Real-Time System?", but after following the link to the page, I get:
    "Error You are not authorized to view this document". Can any NI people look into this?
    Having to make two IPs with different subnet masks obviously just makes things unnecessarily complicated. Can anyone tell me why LabView/NI did this? I know for a fact this isn't a limitation in hardware.
    Any help would be greatly appreciated, thanks!

    Hey Weizbox.
    Sorry to hear you're having such a difficult time using multiple ethernet devices with RT. 
    Let me go ahead and get the easy stuff out of the way, the link you
    have is dead because it's archived (and thus removed forever) though
    unfortunately the link on ni.com wasn't corrected to point to the
    following resource, which the KB was a word-for-word duplication of
    (which is supposedly why it was removed):
        http://zone.ni.com/reference/en-XX/help/370622C-01​/lvrthelp/configuringdual/
    Unfortunately, though, it's much less useful than it sounds.
    Before you start feeling like a woodpecker in a petrified forest, lemme
    fill you in on why the requirement is there for the two ethernet NICs
    to be on seperate subnets.  Simple enough, it has to do with the
    network stack on both of the operating systems used for LabVIEW
    Real-Time - however, the same falls true for even Windows (without
    using fancy vendor-specific drivers), so let's not be too hasty. 
    Neither PharLap ETS nor VxWorks, the two OS's used under the hood,
    support redundant network ports.  Because of this, if you give two (or
    more in the case of PXI and RT Desktop) ethernet devices IP addresses
    on the same subnet the routing tables in the network stack get horribly
    confused and literally cannot resolve the proper adapter, which either
    brings down the ethernet on the entire system or makes it such that one
    or more network adapters becomes useless and one adapter takes over all
    network traffic (there's no way to predict which adapter that will be,
    nor can you control it based on what's plugged in and what's not).  On
    Windows this is handled by bridging the adapters, but RT does not yet
    support bridging (that opens a whole nother can of worms).  Long story
    short, you still wouldn't be able to give both NICs individual IP
    addresses on the same subnet. 
    Let's take that even one more step.  You cannot simply just assign both
    ethernet NICs different IP addresses on "virtual" subnets, you actually
    need to put both NICs on literally different subnets for the network
    routing to actually work.  Multiple ethernet devices for LabVIEW RT
    were designed with the following mantra in mind - "The FIRST ethernet
    device is designed for a TCP/IP network, the SECOND and SUBSEQUENT
    ethernet device is designed for OTHER protocol uses."  By "OTHER
    protocol uses" I mean the second NIC should be used for RT
    Deterministic Ethernet (PXI, RT Desktop, et. al.), direct connections
    with other targets, and 3rd party or custom ethernet protocols. 
    Now, realistically, we can't expect users to not use the second NIC for
    TCP/IP use, nor should we.  However, if you ARE going to use TCP/IP on
    the second NIC, you should only use the second NIC for connecting to an
    unroutable network in the eyes of the first NIC.  So, for instance, the
    FIRST NIC can have an IP address of 10.0.62.128, but the SECOND NIC
    would need to have an IP address on 192.168.100.23  - and the
    10.0.62.128 should not be able to route a TCP packet to the 192.168.x.x
    network, and vice versa.  In your example I noticed that both networks
    used the same Gateway - unless your Gateway is configured to identify
    and seperate the two networks, it's not going to end well, and you
    shouldn't expect to be able to send data from one NIC to the other NIC
    (at least with what you know now).  To reiterate, using multiple NICs
    using TCP/IP should only be done in cases where you've got (n-1)
    isolated subnets, where n is the number of NICs you have using TCP/IP. 
    A classic example of this is a command-based measurement environment;
    the RT system uses the FIRST NIC to talk to a TCP/IP network, in order
    to transfer data or provide status to a network, and the second NIC is
    connected to a TCP/IP network designed specifically for measurement or
    control, where one node sends commands to a single or multiple nodes on
    the network at once to perform tasks (like "Take a Measurement", "Stop
    a motor", "Bake me a Pie", etc...).  The isolated TCP/IP subnet is free
    from "random" TCP/IP traffic (especially system announcement
    broadcasts) and can have whatever topology/configuration it wants.  The
    dual networking allows the RT system to work/communicate/perform on
    both networks.
    I hope this helps shed some light on your situation.
    Cheers!
    -Danny

  • How to move Downloads, Movies, Music& Pictures folders to an external drive

    I have a 2008 iMac which hard disk (as you probably know) is not upgradable. After 16 months of use the disk became full so I bought an external firewire drive (1T LaCie d2). My plan is to move most folders located under /Users/username/ (the Documents, Downloads, Movies, Music and Pictures folders) to the external drive and replace them with aliases.
    Searching on the net, I found instructions on how to move the iTunes Music folder and how to change iPhoto default photos folder. I then moved the said folders and their contents to the external drive and created the aliases. Now when I try to delete the folders for their original location I get a message stating that "folders cannot be modified or deleted because they are required by Mac OS X". I know that I can delete these folders using terminal Unix commands but is this the correct approach?
    Or should I go and create a new user account using as Home directory a folder located on the external drive? Or, alternatively, just change the existing user Home to one in the external drive?
    I think my question is important and of general interest and I was really disappointed to find out that Apple has no documentation on this subject (or at least, I couldn't find any).

    Lefteris59 wrote:
    I have a 2008 iMac which hard disk (as you probably know) is not upgradable. After 16 months of use the disk became full so I bought an external firewire drive (1T LaCie d2). My plan is to move most folders located under /Users/username/ (the Documents, Downloads, Movies, Music and Pictures folders) to the external drive and replace them with aliases.
    Searching on the net, I found instructions on how to move the iTunes Music folder and how to change iPhoto default photos folder. I then moved the said folders and their contents to the external drive and created the aliases. Now when I try to delete the folders for their original location I get a message stating that "folders cannot be modified or deleted because they are required by Mac OS X".
    this happens because they are protected by "deny delete" ACLs.
    I know that I can delete these folders using terminal Unix commands but is this the correct approach?
    that's one way to do it. then you can move the folders to teh external and put symbolic links, *NOT aliases* in their original locations.
    Or should I go and create a new user account using as Home directory a folder located on the external drive?
    Or, alternatively, just change the existing user Home to one in the external drive?
    that might be the easiest option. just copy the whole home folder to the external. then go to system preferences->accounts. unlock the lock at the bottom, control-click on your user and choose 'advanced options". in the popup change the location of the home directory to the external. then reboot and when you log in your home directory should be on the external. then you can trash the old home directory on the internal.
    I think my question is important and of general interest and I was really disappointed to find out that Apple has no documentation on this subject (or at least, I couldn't find any).

  • Best way for Java/C++/C# to share data in a cache?

    I have an order processing application which listens for Order objects to be inserted in a cache. If I want Java, C# and C++ apps to be able to submit orders to that cache, what's the best way to set up that Order object? Orders currently have many Enum member variables. What happens when a C# or C++ app needs to put an Order object in the cache? how would it set those java enums? Also, the java Enum classes have a lot of Java specific code in 'em for convenience. I imagine for cross platform simplicity it might have been best if the Order object were just an array of Strings or a Map of Strings to values but I have too much code depending on the Order object being how it is currently. Should I extract an Order Interface? What about the Enums? My java enums aren't simple {RED,GREEN,BLUE} type enums, they contain references to other Enums, etc. - see below...
    A portion of my Order class looks like:
    public class Order implements Cloneable, Comparable, java.io.Serializable {
      private static Logger logger = Logger.getLogger(Order.class);
      private boolean clearedFromOpenOrdersTable = false; 
      private boolean trading_opened = false;
      private static Random generator = new Random();
      private static int nextID = generator.nextInt(1000000); //just for testing
      private int quantity = 0;
      private int open = 0;
      private int executed = 0;
      private int last = 0;
      private int cancelPriority = 0;
      private Integer sendPriority = 0;
    //enums
      private OrderSide side = OrderSide.BUY;
      private OrderType orderType = OrderType.MARKET;
      private OrderTIF tif = OrderTIF.DAY;
      private OrderStatus orderStatus = OrderStatus.PENDING_NEW;
      private OrderExchange orderExchange = null;
      private OOType ooType = OOType.NOTOO;
      private OOLevel ooLevel = OOLevel.NONE;
      private Float limit = new Float(0);
      private Float stop = null;
      private float avgPx = 0.0f;
      private float lastPx = 0.0f;
      private String account = null;
      private String symbol = null;
      private long submitTimestamp;
      private long fillTime = 0;
      private long ackTime = 0;
      private Timestamp submitSqlTimestamp;
      public /*final*/ static NamedCache cache;
      private ArrayList<OrderStatusChangeListener> statusChangeListeners =
        new ArrayList<OrderStatusChangeListener>();
      transient private Format formatter = new SimpleDateFormat("hh:mm:ss a");
      public static void connectToCache() {
        cache = CacheFactory.getCache("orders");
      public void send() {
        this.submitTimestamp = System.currentTimeMillis() ;
        this.submitSqlTimestamp = new Timestamp(submitTimestamp);
        cache.put(this.ID, this);
      public void setCancelCount(int i) {
        cancelCount = i;
      public int getCancelCount() {
        return cancelCount;
      public static class CancelProcessor extends AbstractProcessor {
        public Object process(InvocableMap.Entry entry) {
          Order o = (Order)entry.getValue();
          if (o.cancelCount == 0) {
            o.cancelCount = 1;
          } else {
            logger.info("ignoring dup. cancel req on " + o.symbol + " id=" + o.ID);
          return o.cancelCount;
      public void cancel() {
          // cache.invoke(this.ID, new CancelProcessor() ); // must this be a 'new' one each time?
          Filter f = new EqualsFilter("getCancelCount", 0);
          UpdaterProcessor up = new UpdaterProcessor("setCancelCount",new Integer(1) );
          ConditionalProcessor cp = new ConditionalProcessor(f, up);
          cache.invoke(ID, cp);
      NumberIncrementor ni1 = new NumberIncrementor("CancelCount", 1, false);
      public void cancelAllowingMultipleCancelsOfThisOrder() {
        System.out.println("cancelAllowingMultipleCancelsOfThisOrder symbol=" + symbol + " id=" + ID);
        cache.invoke(this.getID(), ni1);
      public Timestamp getSubmitSqlTimestamp(){
        return submitSqlTimestamp;
      boolean isWorking( ) {
           // might need to write an extractor to get this from the cache atomically
           if (orderStatus != null &&
                (orderStatus == OrderStatus.NEW || orderStatus == OrderStatus.PARTIALLY_FILLED ||
                    // including PENDING_CANCEL breaks order totals from arcadirect
                    // because they send a pending cancel unlike foc
                    // os.getValue() == OrdStatus.PENDING_CANCEL ||
                    orderStatus == OrderStatus.PENDING_NEW ||
                    orderStatus == OrderStatus.PENDING_REPLACE)) {
              return true;
            } else {
              return false;
      public long getSubmitTimestamp(){
        return submitTimestamp;
      private void fireStatusChange( ) {
              for (OrderStatusChangeListener x:statusChangeListeners) {
                    try {
                         x.dispatchOrderStatusChange(this );
                    } catch (java.util.ConcurrentModificationException e) {
                         logger.error("** fireStatusChange: ConcurrentModificationException "+e.getMessage());
                         logger.error(e.getStackTrace());
                         e.printStackTrace();
      public Order() {
          ID = generateID();
          originalID = ID;
      public Object clone() {
          try {
            Order order = (Order)super.clone();
            order.setOriginalID(getID());
            order.setID(order.generateID());
            return order;
          } catch (CloneNotSupportedException e) {
          return null;
        class ReplaceProcessor extends AbstractProcessor {
          // this is executed on the node that owns the data,
          // no network access required
          public Object process(InvocableMap.Entry entry) {
            Order o = (Order)entry.getValue();
            int counter=0;
            float limit=0f;
            float stop=0f;
            int qty=o.quantity;
            boolean limitChanged=false, qtyChanged=false, stopChanged=false;
            for (Replace r:o.replaceList) {
              if (r.pending) {
                counter++;
                if (r.limit!=null) {limit=r.limit; limitChanged=true;}
                if (r.qty!=null) {qty=r.qty; qtyChanged=true;}
                if (r.stop!=null) {stop=r.stop; stopChanged=true;}
            if (limitChanged) o.limit=limit;
            if (qtyChanged) o.quantity=qty;
            if (stopChanged) o.stop=stop;
            if (limitChanged || qtyChanged || stopChanged)
            entry.setValue(o);
            return counter;
      public void applyPendingReplaces() {
         cache.invoke(this.ID, new ReplaceProcessor());
      private List <Replace>replaceList;
      public boolean isReplacePending() {
        if (replaceList==null) return false; 
        for (Replace r:replaceList) {
          if (r.pending==true) return true;
        return false;
      class ReplaceAddProcessor extends AbstractProcessor {
        // this is executed on the node that owns the data,
        // no network access required
        Replace r;
        public ReplaceAddProcessor(Replace r){
          this.r=r;
        public Object process(InvocableMap.Entry entry) {
          Order o = (Order)entry.getValue();
          if (o.replaceList==null) o.replaceList = new LinkedList();
          o.replaceList.add(r);
          return replaceList.size();
      public void replaceOrder(Replace r) {
          //  Order.cache.invoke(this.ID, new ReplaceAddProcessor(r));
          Order o = (Order)Order.cache.get(this.ID);
          if (o.replaceList==null) o.replaceList = new LinkedList();
          o.replaceList.add(r);
          Order.cache.put(this.ID, o);
      public boolean isCancelRequestedOrIsCanceled() {
        // change to cancelrequested lock, not ack lock
        if (canceled) return true;
    //  ValueExtractor extractor = new ReflectionExtractor("getCancelCount");
    //  int cc = (Integer)cache.invoke( this.ID , extractor );
        Order o = (Order)cache.get(this.ID);
        int cc = o.getCancelCount();
        return cc > 0 || o.isCanceled();
        class Replace implements Serializable{
        boolean pending=true;
        public Float limit=null;
        public Float stop=null;
        public Integer qty=null;
        public Replace() {
      }and then a portion of my OrderExchange.java Enum looks like this:
    class SymbolPair implements java.io.Serializable {
      String symbol;
      String suffix;
      SymbolPair(String symbol, String suffix) {
        this.symbol = symbol;
        this.suffix = suffix;
      public boolean equals(Object o) {
        SymbolPair x = (SymbolPair)o;
        return (this.symbol == x.symbol && this.suffix == x.suffix);
      public int hashCode() {
        return (symbol + "." + suffix).hashCode();
      public String toString() {
        if (suffix == null)
          return symbol;
        return symbol + "." + suffix;
    public enum OrderExchange implements java.io.Serializable {
      SIM("S", false, '.', OrderTIF.DAY) {
        public String getStandardizedStockSymbol(String symbol, String suffix) {
          return symbol + "." + suffix;
        public SymbolPair getExchangeSpecificStockSymbol(String symbol) {
          return new SymbolPair(symbol, null);
      TSX("c", false, '.', OrderTIF.DAY) {
        public String getStandardizedStockSymbol(String symbol, String suffix) {
          String x = externalSymbolPairToInternalSymbolMap_GS.get(new SymbolPair(symbol, suffix));
          return x == null ? symbol : x;
        public SymbolPair getExchangeSpecificStockSymbol(String symbol) {
          SymbolPair sa = internalSymbolToExternalSymbolPairMap_GS.get(symbol);
          return sa == null ? new SymbolPair(symbol, null) : sa;
      NYSE("N", false, '.', OrderTIF.DAY) {
        public String getStandardizedStockSymbol(String symbol, String suffix) {
          String x = externalSymbolPairToInternalSymbolMap_GS.get(new SymbolPair(symbol, suffix));
          return x == null ? symbol : x;
        public SymbolPair getExchangeSpecificStockSymbol(String symbol) {
          SymbolPair sa = internalSymbolToExternalSymbolPairMap_GS.get(symbol);
          return sa == null ? new SymbolPair(symbol, null) : sa;
      ARCA("C", false, '.', OrderTIF.GTD) {
        public String getStandardizedStockSymbol(String symbol, String suffix) {
          String x = externalSymbolPairToInternalSymbolMap_GS.get(new SymbolPair(symbol, suffix));
          return x == null ? symbol : x;
        public SymbolPair getExchangeSpecificStockSymbol(String symbol) {
          SymbolPair sa = internalSymbolToExternalSymbolPairMap_GS.get(symbol);
          return sa == null ? new SymbolPair(symbol, null) : sa;
      public abstract String getStandardizedStockSymbol(String symbol, String suffix);
      public abstract SymbolPair getExchangeSpecificStockSymbol(String symbol);
      private static Map<SymbolPair, String> externalSymbolPairToInternalSymbolMap_GS = new HashMap<SymbolPair, String>();
      private static Map<SymbolPair, String> externalSymbolPairToInternalSymbolMap_ARCA = new HashMap<SymbolPair, String>();
      private static Map<String, SymbolPair> internalSymbolToExternalSymbolPairMap_GS = new HashMap<String, SymbolPair>();
      private static Map<String, SymbolPair> internalSymbolToExternalSymbolPairMap_ARCA = new HashMap<String, SymbolPair>();
      private static Object[] toArrayOutputArray = null;
      static {
        String SQL = null;
        try {
          Connection c = MySQL.connectToMySQL("xxx", "xxx", "xxx", "xxx");
          SQL = "SELECT symbol, ARCASYMBOL, INETSYMBOL, ARCASYMBOLSUFFIX, INETSYMBOLSUFFIX from oms.tblsymbolnew";
          Statement stmt = c.createStatement();
          ResultSet rs = stmt.executeQuery(SQL);
          while (rs.next()) {
            String symbol = rs.getString("symbol");
            if (rs.getString("ARCASYMBOL") != null) {
              if (!symbol.equals(rs.getString("ARCASYMBOL")) || rs.getString("ARCASYMBOLSUFFIX") != null) {
                String suffix = rs.getString("ARCASYMBOLSUFFIX");
                SymbolPair sp = new SymbolPair(rs.getString("ARCASYMBOL"), suffix);
                internalSymbolToExternalSymbolPairMap_ARCA.put(symbol, sp);
                externalSymbolPairToInternalSymbolMap_ARCA.put(sp, symbol);
        } catch (Exception e) {
          System.out.println(SQL);
          e.printStackTrace();
          System.exit(0);
      static {
        populateSymbolToDestination();
      static Logger logger = Logger.getLogger(OrderExchange.class);
      private static HashMap<String, OrderExchange> symbolToDestination = new HashMap<String, OrderExchange>();
      private final String tag100;
      private final boolean usesSymbolSuffixTag;
      private final char symbolSuffixSeparator;
      private final OrderTIF defaultTif;
      private static final String soh = new String(new char[] { '\u0001' });
      private OrderExchange(String tag100, boolean usesSymbolSuffixTag, char symbolSuffixSeparator, OrderTIF defaultTif) {
        this.tag100 = tag100;
        this.defaultTif = defaultTif;
        this.usesSymbolSuffixTag = usesSymbolSuffixTag;
        this.symbolSuffixSeparator = symbolSuffixSeparator;
      public OrderTIF getDefaultTif() {
        return defaultTif;
      public String getTag100() {
        return tag100;
      public char getSymbolSuffixSeparator() {
        return symbolSuffixSeparator;
      public static OrderExchange getOrderExchangeByExchangeName(String name) {
        for (OrderExchange d : OrderExchange.values()) {
          if (d.toString().equalsIgnoreCase(name.trim())) {
            return d;
        return null;
      Thanks,
    Andrew

    Hi Andrew
    The only way to serialize object, so that they can be used by other languages than Java is to use the Portable Object Format.
    The implementation of this requires you to implement the PortableObject interface in Java. PortableObject defines two methods
    public void readExternal(PofReader reader);
    public void writeExternal(PofWriter writer);
    Also you need to add a POF config file that ties the type to a type id.
    In C++ each type needs two template methods implemented to seralize and deserialize. But first it needs to register the data type with the same type id as for the Java type using the COH_REGISTER_MANAGED_CLASS macro.
    Secondly analogs to Java implement the serializer stubs
    template<> void serialize<Type>(PofWriter::Handle hOut, const Type& type);
    template<> Type deserialize<Type>(PofReader::Handle hIn);
    For C# your serializable types need to implement IPortableObject, with it's two methods:
    void IPortableObject.ReadExternal(IPofReader reader);
    void IPortableObject.WriteExternal(IPofWriter writer);
    Similar to Java C# uses a POF configuration file, the same type id should bind to the corresponding C# type.
    For more information see
    POF Configuation: http://coherence.oracle.com/display/COH34UG/POF+User+Type+Configuration+Elements
    C++: http://coherence.oracle.com/display/COH34UG/Integrating+user+data+types
    C#: http://wiki.tangosol.com/display/COHNET33/Configuration+and+Usage#ConfigurationandUsage-PofContext
    Hope that helps!
    /Charlie
    Edited by: Charlie Helin on Apr 30, 2009 12:31 PM

  • Error - METHOD CL_FB_FUNCTION_EDITOR

    Hello Experts,
    I want to check the syntax of function by using method below.
    CALL METHOD CL_FB_FUNCTION_EDITOR->ed_check
      EXPORTING
        funcname = 'ZTEST1'
    but when i call method source_instance->get_source_tab
    (in the method CL_FB_FUNCTION_EDITOR) i receive error message
    Runtime errors OBJECTS_OBJREF_NOT_ASSIGNED
    Exception        CX_SY_REF_IS_INITIAL
    What Do I have to do to resolve this problem ?
    Thanks in advance
    Martin

    Hi,
        If you are calling a static method of the class  CL_FB_FUNCTION_EDITOR then you should be using "=>" instead of -> make sure you are using that since you have put -> symbol I am confused. Yo uare getting the exception when you call the method or for the metod you get this exception.
    Regards,
    Sesh

Maybe you are looking for

  • How to uninstall oracle components silents using oracle universal installer in oracle client 11.2.0.3.0?

    Hi, I have installed oracle client 11.2.0.3.0 silently using the response file with INSTALL type as runtime. I want to remove  'Oracle sql developer' from the installed products. Using Oracle Universal Installer I am able to remove this component in

  • Jquery autocomplete - json

    I want to implement AutoComplete search functionality to form field using freely available JQuery. Now, I have a fully functional, simplified code that works perfectly with a .cfm page, but I have been struggling to convert it to a cfc file, namely t

  • Microsoft outlook sync?

    upgraded from torch to z10 and now cant sync with outlook calendar and contacts etc, something which is very important to my job. Am i doing something wrong or is it not supported? If the latter, then this is poor... Love the phone but it has to do i

  • Called after 9pm but shows up as peak

    << Branched from an old thread for better exposure >> Ok, my problem is related to the original poster's.  I am in Texas, Central Time, and I call my girlfriend in Washington, Pacific Time.  When I call her at 9:30 pm, it's 7:30 pm her time.  So she

  • Mouse and keyboard stop working ocassionally and I have to re-boot the computer. does anyone else have this issue?

    I  have a pwoer Mac with a dual quad processor and current os. If I turn off the computer at night and power up the next day my wireless mouse and keyboard do not work nor does my hardwired mouse. I have to hold the power button to re-boot the comput