Dbms_lob.substr ( difference with  simple function substr)

Hello  suppose the following query
SELECT employee_id, resume,
              DBMS_LOB.SUBSTR (resume, 5, 18)  lob_substr,
              substr(resume, 5, 18)   sub   
FROM employees
WHERE employee_id = 170;
resume is of CLOB datatype
and for employee_id 170 is 'Date of Birth: 1 June 1956 Resigned: 30 September 2000'
the results are:
sub
' of Birth: 1 June '
I understand that.
I cannot understand why  DBMS_LOB.SUBSTR (resume, 5, 18)  gives as a result
'June '
Thank you.
What is the difference?

Sorry, I found the answer myself.
dms_lob.substr is different from function substr
DBMS_LOB.SUBSTR(lob_column, no_of_chars, starting)
no_of_chars : how many characters it will return, so in my example, 5 characters will be returned, that's why 'June '
starting from position 18

Similar Messages

  • Help With Simple Function

    I was wondering if someone could help me out with a simple function I'm trying to create. I'm kind of new to functions in oracle and I don't know the exact syntax or what it expects from me. I would appreciate it if someone could look at this and point out what I'm doing wrong.
    CREATE OR REPLACE FUNCTION freshman_status_term(
    pidm IN varchar2
    RETURN varchar2 IS term
    BEGIN
    SELECT sgbstdn_term_code_eff INTO term
    FROM sgbstdn
    WHERE sgbstdn_pidm = pidm
    AND sgbstdn_styp_code = 'F'
    AND sgbstdn_stst_code = 'AS'
    RETURN term;
    END freshman_status_term;
    The goal of the function is to find out the term for when a student is listed as a freshman. I keep getting errors though, so something must be wrong with it. Any help is appreciated. Thanks.

    Sven W. wrote:
    >
    My code looked exactly like that minus the exception part when I got the error before.Please post the code that you used and the full error message that you got.CREATE OR REPLACE FUNCTION freshman_status_term(
    pidm IN varchar2
    RETURN varchar2
    IS
    term sgbstdn.sgbstdn_term_code_eff%TYPE;
    BEGIN
    SELECT sgbstdn_term_code_eff INTO term
    FROM sgbstdn
    WHERE sgbstdn_pidm = pidm
    AND sgbstdn_styp_code = 'F'
    AND sgbstdn_stst_code = 'AS'
    RETURN term;
    END freshman_status_term;
    SELECT freshman_status_term ('216520') FROM dual;
    Error: PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
    ( - + ; case mod new not null <an identifier>
    The error is highlighted right after the BEGIN statement
    Edited by: user10548103 on Nov 6, 2008 8:53 AM

  • Importing shared variable (DLL) with simple function

    So I'm attempting to use a DLL I was givven to do something simple.
    string input--> DLL --> three string output.
    The .h file defines the function like so:
    struct FunctionName {
    char str1[5];
    char str2[4];
    char str3[2];
    It sems that the wizard is having an issue creating the datatype defined as the struct (which consists of three strings of length (5, 4, and 2).  I've read that sometimes you can go thru the wizard again and create a ctl, but when I did this the function wrapper vi dissapeared form the library it creates...
    I'm by no means a C programmer, and dont really remember much of it from school at all.
    I'm looking into this here: https://decibel.ni.com/content/docs/DOC-9080  thinking the answer might lie somewhere in the "adapt to type" selection (but this only seems available on the functions input?
    Thanks for any advice/suggestions
    -pat

    You've only shown the definition of a structure, not of a function. Can you provide the prototype for the function that uses that structure? Does the function expect three separate strings as parameters, or a struct containing three character arrays?
    If the function expects a struct containing three character arrays, each of fixed length, and the parameter is passed by pointer (this would be normal), then yes, you want to configure the parameter as Adapt to Type. You should create a cluster containing three elements, each of which is itself a cluster. The first of those clusters should contain 5 U8 values, the second 4 U8 values, and the third 2 U8 values. That will match the structure in your example. To get those to strings in LabVIEW, use cluster to array, and then byte array to string. You need to pass the empty cluster into the DLL call; the DLL call fills in the cluster and provides the values on the corresponding output. If you're dealing with C strings you should also know whether they include a terminating null, or if they're simply fixed-size character arrays.
    For more help, please post the entire real header file, and any relevant LabVIEW code.

  • Substring search with Oracle context indexes

    Hi,
    i would like to know if it is possibile to do a substring search with one of the obtion offer with the context indexes.
    (ctxcat,ctxrule,context)
    example:
    i would like to search the word 'berub' in a column A in table_example.
    the value in the column a are :
    The betther
    berube
    A.berube
    berub
    Berub
    BERUB
    R berube
    S tartif
    Y Thibeault
    the rows return should be :
    berube
    A.berube
    berub
    Berub
    BERUB
    R berube
    A simple sql could be
    select * from table_example where upper(a) like upper('%berub%' );
    How i can do this same action with the context indexes and a select (catsearch, contains, matches), if it is possible?
    A example will be welcome
    Thanks

    I know how to do explain plan.
    my point is not the query i post, it's just a example.
    I have many query on my production we optimize many times (they past from 3min to 15 sec with optimisation, but we want to have better result). At this point we are looking to implant the context indexes to make them more efficient.
    Do make this sql more efficient we have to deal with like '%xxxxxx%' and the context indexes like to be a option, but we have to be able to do some substring search with context option.
    Is it possible to do it and how?
    This is my question and why i post it here. The query is just a simple example to illsutrate what i want.
    Thanks to anyone who can answer my question.

  • Have functional difference with GPU acceleration and software processing of Mercury Playback Engine?

    Used Decklink SDI and Premiere CS6 to testing.
    I have a question~Have functional difference with GPU acceleration and software processing of Mercury Playback Engine?
    (Can GPU acceleration export same used 59.94i external monitor export?).
    IN specification,Is it need“software processing”? whether other restrictions?
    If Anyone know please tell me.
    thank you.

    Thank you for your help, and sorry about didn't make it clear.
    Use Decklink SDI and Premiere CS6 to test.
    In GPU mode of Mercury Engine, the signal form SDI is 1080i, but  even fields will be missing.
    Take a simple test:
    Make quick slide for reproduce animationin in quadrangle(1080i 29.97),  but it can't paly smooth and same gone to 30P.
    If in Software mode, the action can be smooth.
    Although use Software mode can be ok,but if GPU does not realize,it will take long time to render.
    system info:
    macpro 10.8.1
    premiere cs6.0.2
    blackmagic driver 9.6.4
    GTX285
    sequence of premiere
    Presets/blackmagic/8bit YUV/interlace/59.94i
    Have any problems with my System or the  GPU mode can no  external monitor output in 59.94?
    IN specification,Is it need“software processing”? whether other restrictions?
    thank you!

  • Substring error with ( or  )

    Hi, i'm trying to do a substring in a string.. using:
    txt.replaceAll(":(", "SAD");but get an error
    "Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Unclosed group near index 2
    :("or when i use:
    txt.replaceAll(":(", "HAPPY");I get the error:
    "Unmatched closing ')' near index 0 :)"

    thanks worked but got this other problem.. would do a new thread but will be taking up space so as its sought of related to this thread not sure if you can help... basically i've made it get a substring and then 2 consecutive replaceAll checks using :
        public String getTxtMult(String str){
             String txt = str;
            int s = 0;
            int e = 2;
            for (int i = 0; i < txt.length(); i++) {
                 System.out.println("Comparing: " + txt.substring(s, e) + " with :)");
                 if (txt.substring(s, e).equals(":)")) {
                     txt =  txt.replaceAll(":\\)", "HAPPY");
                 System.out.println("Comparing: " + txt.substring(s, e) + " with :(");
                 if (txt.substring(s, e).equals(":(")) {
                     txt =  txt.replaceAll(":\\(", "SAD");
                s = s+1;
                e = e+1;
                 if (e == str.length()+1)  {
                      break;
            System.out.println("Completed: " + txt);
            return txt;
            } Now what I noticed is lets say i put a string "Hi :) :(" it will put out: "Hi HAPPY :(" when it should put out "Hi HAPPY SAD" but wheni put anything after the last substring then it brings it up.. so if i put "Hi :) :( sds" it will work.. ?

  • Help with Xcode what is the difference between a Function, class and object

    Hi all,
    I'm new here and in programming in Xcode. My question is can somebody tell me what the difference is between functions classes and object. I will appreciate it if you can involve some articels or something else.
    Many thanks,
    RL6001

    Do a Google search for object-oriented programming. When I did, I found the following tutorial, which explains what objects and classes are:
    Object Oriented Programming Tutorial

  • Password change fails in SQL Developer with verify function...

    A couple of months ago I enforced a password verify function on our 11.2.0.3 databases and also one legacy 10.2.0.4 database.
    At the time I tested on my account (which had elevated privileges...doh!).   Now some users are hitting expiry, they can't change it via SQL Developer.
    If I create a user with 'create session' privilege and set their profile to one that uses the verify function (see both below), I then log in to SQL Developer (we have tried with versions 3.1 (Windows) and 3.2 (Linux) with same failure results.
    BTW,.. the password verify function enforces the following:
    password must be minimum of 8 characters
    password must not be the same as the user name, or user name (1-100)
    password must contain at least a single digit
    password must contain at least a single character
    1. Works = I log into the local server and run command line SQLPlus, type 'password' and update.   I can successfully change my password.
    2. Fails = I log into the local server and run command line SQLPlus, type 'alter user <me> identified by <newpwd>;' I get:
    TEST: SUTEMP > alter user sutemp identified by carport9999;
    alter user sutemp identified by carport9999
    ERROR at line 1:
    ORA-28221: REPLACE not specified
    This error is because the account does not have the 'alter user' privilege.   I'm okay with this, as I don't want our users having this privilege.
    3. I start SQL Developer 3.2, type 'alter user <me> identified by <newpwd>;' I get the same ORA-28221 error as above.   That is fine, and as expected.
    4. Now in SQL Developer, I type 'password', set a valid password, but I get 'Failed to change password' in the Script Output tab.
    I have a database 'after servererror on database' trigger set, and querying the database table it is logging into, I see a record with a date stamp matching my failure with a server_error=28221 (the same as above).
    So I'm wondering if I'm doing something wrong here, or if this is a bug in SQL Developer.   I don't want standard users having 'alter user' privileges, but I do want to enforce password verification.
    I get the same result on three 11.2.0.3 databases (haven't tried any more but suspect same results for others) and one legacy 10.2.0.4 database, and using SQL Developer 3.1 and 3.2.
    DBA_PROFILE used:
    PROFILE   
    RESOURCE_NAME  
    RESOURCE LIMIT
    CTRU  
    COMPOSITE_LIMIT  
    KERNEL     DEFAULT
    CTRU  
    SESSIONS_PER_USER  
    KERNEL     10
    CTRU  
    CPU_PER_SESSION  
    KERNEL     DEFAULT
    CTRU  
    CPU_PER_CALL  
    KERNEL     DEFAULT
    CTRU  
    LOGICAL_READS_PER_SESSION    KERNEL     DEFAULT
    CTRU  
    LOGICAL_READS_PER_CALL  
    KERNEL     DEFAULT
    CTRU  
    IDLE_TIME  
    KERNEL     DEFAULT
    CTRU  
    CONNECT_TIME  
    KERNEL     DEFAULT
    CTRU  
    PRIVATE_SGA  
    KERNEL     DEFAULT
    CTRU  
    FAILED_LOGIN_ATTEMPTS  
    PASSWORD 10
    CTRU  
    PASSWORD_LIFE_TIME  
    PASSWORD 180
    CTRU  
    PASSWORD_REUSE_TIME  
    PASSWORD DEFAULT
    CTRU  
    PASSWORD_REUSE_MAX  
    PASSWORD 5
    CTRU  
    PASSWORD_VERIFY_FUNCTION     PASSWORD VERIFY_FUNCTION_11G
    CTRU  
    PASSWORD_LOCK_TIME  
    PASSWORD .002
    CTRU  
    PASSWORD_GRACE_TIME  
    PASSWORD 21
    16 rows selected.
    Verify Function used:
    $ cat utlpwdmg.sql
    Rem
    Rem $Header: utlpwdmg.sql 02-aug-2006.08:18:05 asurpur Exp $
    Rem
    Rem utlpwdmg.sql
    Rem
    Rem Copyright (c) 2006, Oracle. All rights reserved.
    Rem
    Rem    NAME
    Rem      utlpwdmg.sql - script for Default Password Resource Limits
    Rem
    Rem    DESCRIPTION
    Rem      This is a script for enabling the password management features
    Rem      by setting the default password resource limits.
    Rem
    Rem    NOTES
    Rem      This file contains a function for minimum checking of password
    Rem      complexity. This is more of a sample function that the customer
    Rem      can use to develop the function for actual complexity checks that the
    Rem      customer wants to make on the new password.
    Rem
    Rem    MODIFIED   (MM/DD/YY)
    Rem    suren       05/09/13 - customise for NIHI use
    Rem    asurpur     05/30/06 - fix - 5246666 beef up password complexity check
    Rem    nireland    08/31/00 - Improve check for username=password. #1390553
    Rem    nireland    06/28/00 - Fix null old password test. #1341892
    Rem    asurpur     04/17/97 - Fix for bug479763
    Rem    asurpur     12/12/96 - Changing the name of password_verify_function
    Rem    asurpur     05/30/96 - New script for default password management
    Rem    asurpur     05/30/96 - Created
    Rem
    -- This script sets the default password resource parameters
    -- This script needs to be run to enable the password features.
    -- However the default resource parameters can be changed based
    -- on the need.
    -- A default password complexity function is also provided.
    -- This function makes the minimum complexity checks like
    -- the minimum length of the password, password not same as the
    -- username, etc. The user may enhance this function according to
    -- the need.
    -- This function must be created in SYS schema.
    -- connect sys/<password> as sysdba before running the script
    CREATE OR REPLACE FUNCTION verify_function_11G
    (username varchar2,
      password varchar2,
      old_password varchar2)
      RETURN boolean IS
       n boolean;
       m integer;
       differ integer;
       isdigit boolean;
       ischar  boolean;
       ispunct boolean;
       db_name varchar2(40);
       digitarray varchar2(20);
       punctarray varchar2(25);
       chararray varchar2(52);
       i_char varchar2(10);
       simple_password varchar2(10);
       reverse_user varchar2(32);
    BEGIN
       digitarray:= '0123456789';
       chararray:= 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
       -- Check for the minimum length of the password
       IF length(password) < 8 THEN
          raise_application_error(-20001, 'Password length less than 8');
       END IF;
       -- Check if the password is same as the username or username(1-100)
       IF NLS_LOWER(password) = NLS_LOWER(username) THEN
         raise_application_error(-20002, 'Password same as or similar to user');
       END IF;
       FOR i IN 1..100 LOOP
          i_char := to_char(i);
          if NLS_LOWER(username)|| i_char = NLS_LOWER(password) THEN
            raise_application_error(-20005, 'Password same as or similar to user name ');
          END IF;
        END LOOP;
       -- Check if the password contains at least one letter, one digit
       -- 1. Check for the digit
       isdigit:=FALSE;
       m := length(password);
       FOR i IN 1..10 LOOP
          FOR j IN 1..m LOOP
             IF substr(password,j,1) = substr(digitarray,i,1) THEN
                isdigit:=TRUE;
                 GOTO findchar;
             END IF;
          END LOOP;
       END LOOP;
       IF isdigit = FALSE THEN
          raise_application_error(-20008, 'Password must contain at least one digit, one character');
       END IF;
       -- 2. Check for the character
       <<findchar>>
       ischar:=FALSE;
       FOR i IN 1..length(chararray) LOOP
          FOR j IN 1..m LOOP
             IF substr(password,j,1) = substr(chararray,i,1) THEN
                ischar:=TRUE;
                 GOTO endsearch;
             END IF;
          END LOOP;
       END LOOP;
       IF ischar = FALSE THEN
          raise_application_error(-20009, 'Password must contain at least one digit, and one character');
       END IF;
       <<endsearch>>
       -- Check if the password differs from the previous password by at least
       -- 3 letters
       IF old_password IS NOT NULL THEN
         differ := length(old_password) - length(password);
         differ := abs(differ);
         IF differ < 3 THEN
           IF length(password) < length(old_password) THEN
             m := length(password);
           ELSE
             m := length(old_password);
           END IF;
           FOR i IN 1..m LOOP
             IF substr(password,i,1) != substr(old_password,i,1) THEN
               differ := differ + 1;
             END IF;
           END LOOP;
           IF differ < 3 THEN
             raise_application_error(-20011, 'Password should differ from the old password by at least 3 characters');
           END IF;
         END IF;
       END IF;
       -- Everything is fine; return TRUE ;
       RETURN(TRUE);
    END;
    alter profile ctru limit password_verify_function verify_function_11g;
    alter profile default limit password_verify_function verify_function_11g;
    alter profile web_and_it limit password_verify_function verify_function_11g;

    okay,... I just saw another website which shows I should put in the 'replace <oldpwd>' clause in.
    This works in SQL Developer:     alter user sutemp identified by carport999 replace garage999;
    So why does the 'password' command fail?     (Developers:  it would also be helpful to have the ORA- error displayed as opposed to 'Failed to change password')

  • Error thread java : problem with the function "resume 0x***"  (forum sun)

    One problem with the function of jdb occured when I tried to use it to
    pilot the processor with differents threads. In fact, I use a simple example with 2 threads.
    I stop the two threads with two breakpoint, and I want to resume one or the other (with the function "resume 0x****"), the one wich I resumed stop again on the breackpoint and I decide again to resume one or the other. All of that to obtain a tree of execution.
    I give you the code of the class and the code of jdb.
    CLASS: (it's just a object Room with a variable degre that I increment and decrement with two threads increase and decrease)
    public class Test{
         public static void main(String[] args){
              Room r = new Room();
              decrease de = new decrease(r);
              increase in = new increase(r);
              de.start();
              in.start();
    class Room {
         private volatile int degre=20;
         public void more(){
         degre += 4;
         public void less(){      
         degre -= 3;
    class decrease extends Thread{
    private Room room;
    public decrease(Room r){
              room =r;
    public void run(){
    try{ 
         while (!interrupted()){ 
              room.less();
    catch(InterruptedException e) {}
    class increase extends Thread{
    private Room room;
    public increase(Room r){
         room =r;
    public void run(){ 
         try{ 
              while (!interrupted()){
                   room.more();
    catch(InterruptedException e) {}
    JDB:
    Initializing jdb ...
    stop at Test:7Deferring breakpoint Test:7.
    It will be set after the class is loaded.
    runrun Test
    Set uncaught java.lang.Throwable
    Set deferred uncaught java.lang.Throwable
    >
    VM Started: Set deferred breakpoint Test:7
    Breakpoint hit: "thread=main", Test.main(), line=7 bci=30
    7 in.start();
    main[1] stop at room:16
    Set breakpoint room:16
    main[1] stop at room:20
    Set breakpoint room:20
    main[1] resume
    All threads resumed.
    >
    Breakpoint hit: "thread=Thread-0", room.less(), line=20 bci=0
    20 degre -= 3;
    Thread-0[1] threads
    Group system:
    (java.lang.ref.Reference$ReferenceHandler)0x10d Reference Handler cond. waiting
    (java.lang.ref.Finalizer$FinalizerThread)0x10c Finalizer cond. waiting
    (java.lang.Thread)0x10b Signal Dispatcher running
    Group main:
    (decrease)0x146 Thread-0 running (at breakpoint)
    (increase)0x147 Thread-1 running (at breakpoint)
    (java.lang.Thread)0x148 DestroyJavaVM running
    Thread-0[1] resume 0x147
    Thread-0[1]
    Breakpoint hit: "thread=Thread-1", room.more(), line=16 bci=0
    16 degre += 4;
    Thread-1[1] resume 0x147
    Thread-1[1]
    Breakpoint hit: "thread=Thread-1", room.more(), line=16 bci=0
    16 degre += 4;
    Thread-1[1] print degre
    degre = 24
    Thread-1[1] resume 0x146 //It's here the problem, thread 0x146 have to stop on the //next breakpoint of decrease but nothing happen
    Thread-1[1] resume 0x147
    Thread-1[1]
    Breakpoint hit: "thread=Thread-1", room.more(), line=16 bci=0
    16 degre += 4;
    Thread-1[1] clear
    Breakpoints set:
    breakpoint Test:7
    breakpoint room:16
    breakpoint room:20
    PS: I tried many other examples with other class and other kind of breakpoints, but, in any cases, on thread doesn't manage to resume. When I try with general resume (no specification of the thread), It works but it isn't interresting for me because I want to decide wich thread continue his execution.

    Hi,
    I have read the FAQ of the JMF.
    The problem was the jar files of the JMF were not in the JRE\BIN\EXT
    folder of the Java runtime!
    now it works!
    thanks
    Reg

  • Plz tell me BDC  CALL TRANSACTION steps with simple example

    hi,
    plz tell me the steps
    BDC  CALL TRANSACTION steps with simple example

    Hi,
    BATCH DATA COMMUNICATION
    About Data Transfer In R/3 System
    When a company decides to implement the SAP R/3 to manage business-critical data, it usually does not start from a no-data situation. Normally, a SAP R/3 project comes into replace or complement existing application.
    In the process of replacing current applications and transferring application data, two situations might occur:
    ? The first is when application data to be replaced is transferred at once, and only once.
    ? The second situation is to transfer data periodically from external systems to SAP and vice versa.
    ? There is a period of time when information has to be transferred from existing application, to SAP R/3, and often this process will be repetitive.
    The SAP system offers two primary methods for transferring data into SAP systems. From non-SAP systems or legacy system. These two methods are collectively called ?batch input? or ?batch data communication?.
    1. SESSION METHOD
    2. CALL TRANSACTION
    3. DIRECT INPUT
    Advantages offered by BATCH INPUT method:
    1. Can process large data volumes in batch.
    2. Can be planned and submitted in the background.
    3. No manual interaction is required when data is transferred.
    4. Data integrity is maintained as whatever data is transferred to the table is through transaction. Hence batch input data is submitted to all the checks and validations.
    To implement one of the supported data transfers, you must often write the program that exports the data from your non-SAP system. This program, known as a ?data transfer? program must map the data from the external system into the data structure required by the SAP batch input program.
    The batch input program must build all of the input to execute the SAP transaction.
    Two main steps are required:
    ? To build an internal table containing every screen and every field to be filled in during the execution of an SAP transaction.
    ? To pass the table to SAP for processing.
    Prerequisite for Data Transfer Program
    Writing a Data Transfer Program involves following prerequisites:
    Analyzing data from local file
    Analyzing transaction
    Analyzing transaction involves following steps:
    ? The transaction code, if you do not already know it.
    ? Which fields require input i.e., mandatory.
    ? Which fields can you allow to default to standard values.
    ? The names, types, and lengths of the fields that are used by a transaction.
    ? Screen number and Name of module pool program behind a particular transaction.
    To analyze a transaction::
    ? Start the transaction by menu or by entering the transaction code in the command box.
    (You can determine the transaction name by choosing System ? Status.)
    ? Step through the transaction, entering the data will be required for processing your batch input data.
    ? On each screen, note the program name and screen (dynpro) number.
    (dynpro = dyn + pro. Dyn = screen, pro = number)
    ? Display these by choosing System ? Status. The relevant fields are Program (dynpro) and Dynpro number. If pop-up windows occur during execution, you can get the program name and screen number by pressing F1 on any field or button on the screen.
    The technical info pop-up shows not only the field information but also the program and screen.
    ? For each field, check box, and radio button on each screen, press F1 (help) and then choose Technical Info.
    Note the following information:
    - The field name for batch input, which you?ll find in its own box.
    - The length and data type of the field. You can display this information by double clicking on the Data Element field.
    ? Find out the identification code for each function (button or menu) that you must execute to process the batch-input data (or to go to new screen).
    Place the cursor on the button or menu entry while holding down the left mouse button. Then press F1.
    In the pop-up window that follows, choose Technical info and note the code that is shown in the Function field.
    You can also run any function that is assigned to a function key by way of the function key number. To display the list of available function keys, click on the right mouse button. Note the key number that is assigned to the functions you want to run.
    Once you have program name, screen number, field name (screen field name), you can start writing.
    DATA TRANSFER program.
    Declaring internal table
    First Integral Table similar to structure like local file.
    Declaring internal table like BDCDATA
    The data from internal table is not transferred directly to database table, it has to go through transaction. You need to pass data to particular screen and to particular screen-field. Data is passed to transaction in particular format, hence there is a need for batch input structure.
    The batch input structure stores the data that is to be entered into SAP system and the actions that are necessary to process the data. The batch input structure is used by all of the batch input methods. You can use the same structure for all types of batch input, regardless of whether you are creating a session in the batch input queue or using CALL TRANSACTION.
    This structure is BDCDATA, which can contain the batch input data for only a single run of a transaction. The typical processing loop in a program is as follows:
    ? Create a BDCDATA structure
    ? Write the structure out to a session or process it with CALL TRANSACTION USING; and then
    ? Create a BDCDATA structure for the next transaction that is to be processed.
    Within a BDCDATA structure, organize the data of screens in a transaction. Each screen that is processed in the course of a transaction must be identified with a BDCDATA record. This record uses the Program, Dynpro, and Dynbegin fields of the structure.
    The screen identifier record is followed by a separate BDCDATA record for each value, to be entered into a field. These records use the FNAM and FVAL fields of the BDCDATA structure. Values to be entered in a field can be any of the following:
    ? Data that is entered into screen fields.
    ? Function codes that are entered into the command field. Such function codes execute functions in a transaction, such as Save or Enter.
    The BDCDATA structure contains the following fields:
    ? PROGRAM: Name of module pool program associated with the screen. Set this field only for the first record for the screen.
    ? DYNPRO: Screen Number. Set this field only in the first record for the screen.
    ? DYNBEGIN: Indicates the first record for the screen. Set this field to X, only for the first record for the screen. (Reset to ? ? (blank) for all other records.)
    ? FNAM: Field Name. The FNAM field is not case-sensitive.
    ? FVAL: Value for the field named in FNAM. The FVAL field is case-sensitive. Values assigned to this field are always padded on the right, if they are less than 132 characters. Values must be in character format.
    Transferring data from local file to internal table
    Data is uploaded to internal table by UPLOAD of WS_UPLOAD function.
    Population of BDCDATA
    For each record of internal table, you need to populate Internal table, which is similar to BDCDATA structure.
    All these five initial steps are necessary for any type of BDC interface.
    DATA TRANSFER program can call SESSION METHOD or CALL TRANSACTION. The initial steps for both the methods are same.
    First step for both the methods is to upload the data to internal table. From Internal Table, the data is transferred to database table by two ways i.e., Session method and Call transaction.
    SESSION METHOD
    About Session method
    In this method you transfer data from internal table to database table through sessions.
    In this method, an ABAP/4 program reads the external data that is to be entered in the SAP System and stores the data in session. A session stores the actions that are required to enter your data using normal SAP transaction i.e., Data is transferred to session which in turn transfers data to database table.
    Session is intermediate step between internal table and database table. Data along with its action is stored in session i.e., data for screen fields, to which screen it is passed, the program name behind it, and how the next screen is processed.
    When the program has finished generating the session, you can run the session to execute the SAP transactions in it. You can either explicitly start and monitor a session or have the session run in the background processing system.
    Unless session is processed, the data is not transferred to database table.
    BDC_OPEN_GROUP
    You create the session through program by BDC_OPEN_GROUP function.
    Parameters to this function are:
    ? User Name: User name
    ? Group: Name of the session
    ? Lock Date: The date on which you want to process the session.
    ? Keep: This parameter is passed as ?X? when you want to retain session after
    processing it or ? ? to delete it after processing.
    BDC_INSERT
    This function creates the session & data is transferred to Session.
    Parameters to this function are:
    ? Tcode: Transaction Name
    ? Dynprotab: BDC Data
    BDC_CLOSE_GROUP
    This function closes the BDC Group. No Parameters.
    Some additional information for session processing
    When the session is generated using the KEEP option within the BDC_OPEN_GROUP, the system always keeps the sessions in the queue, whether it has been processed successfully or not.
    However, if the session is processed, you have to delete it manually. When session processing is completed successfully while KEEP option was not set, it will be removed automatically from the session queue. Log is not removed for that session.
    If the batch-input session is terminated with errors, then it appears in the list of INCORRECT session and it can be processed again. To correct incorrect session, you can analyze the session. The Analysis function allows to determine which screen and value has produced the error. If you find small errors in data, you can correct them interactively, otherwise you need to modify batch input program, which has generated the session or many times even the data file.
    CALL TRANSACTION
    About CALL TRANSACTION
    A technique similar to SESSION method, while batch input is a two-step procedure, Call Transaction does both steps online, one after the other. In this method, you call a transaction from your program by
    Call transaction <tcode> using <BDCTAB>
    Mode <A/N/E>
    Update <S/A>
    Messages into <MSGTAB>.
    Parameter ? 1 is transaction code.
    Parameter ? 2 is name of BDCTAB table.
    Parameter ? 3 here you are specifying mode in which you execute transaction
    A is all screen mode. All the screen of transaction are displayed.
    N is no screen mode. No screen is displayed when you execute the transaction.
    E is error screen. Only those screens are displayed wherein you have error record.
    Parameter ? 4 here you are specifying update type by which database table is updated.
    S is for Synchronous update in which if you change data of one table then all the related Tables gets updated. And sy-subrc is returned i.e., sy-subrc is returned for once and all.
    A is for Asynchronous update. When you change data of one table, the sy-subrc is returned. And then updating of other affected tables takes place. So if system fails to update other tables, still sy-subrc returned is 0 (i.e., when first table gets updated).
    Parameter ? 5 when you update database table, operation is either successful or unsuccessful or operation is successful with some warning. These messages are stored in internal table, which you specify along with MESSAGE statement. This internal table should be declared like BDCMSGCOLL, a structure available in ABAP/4. It contains the following fields:
    1. Tcode: Transaction code
    2. Dyname: Batch point module name
    3. Dynumb: Batch input Dyn number
    4. Msgtyp: Batch input message type (A/E/W/I/S)
    5. Msgspra: Batch input Lang, id of message
    6. Msgid: Message id
    7. MsgvN: Message variables (N = 1 - 4)
    For each entry, which is updated in database, table message is available in BDCMSGCOLL. As BDCMSGCOLL is structure, you need to declare a internal table which can contain multiple records (unlike structure).
    Steps for CALL TRANSACTION method
    1. Internal table for the data (structure similar to your local file)
    2. BDCTAB like BDCDATA
    3. UPLOAD or WS_UPLOAD function to upload the data from local file to itab. (Considering file is local file)
    4. Loop at itab.
    Populate BDCTAB table.
    Call transaction <tcode> using <BDCTAB>
    Mode <A/N/E>
    Update <S/A>.
    Refresh BDCTAB.
    Endloop.
    (To populate BDCTAB, You need to transfer each and every field)
    The major differences between Session method and Call transaction are as follows:
    SESSION METHOD CALL TRANSACTION
    1. Data is not updated in database table unless Session is processed. Immediate updation in database table.
    2. No sy-subrc is returned. Sy-subrc is returned.
    3. Error log is created for error records. Errors need to be handled explicitly
    4. Updation in database table is always synchronous Updation in database table can be synchronous Or Asynchronous.
    Error Handling in CALL TRANSACTION
    When Session Method updates the records in database table, error records are stored in the log file. In Call transaction there is no such log file available and error record is lost unless handled. Usually you need to give report of all the error records i.e., records which are not inserted or updated in the database table. This can be done by the following method:
    Steps for the error handling in CALL TRANSACTION
    1. Internal table for the data (structure similar to your local file)
    2. BDCTAB like BDCDATA
    3. Internal table BDCMSG like BDCMSGCOLL
    4. Internal table similar to Ist internal table
    (Third and fourth steps are for error handling)
    5. UPLOAD or WS_UPLOAD function to upload the data from the local file to itab. (Considering file is local file)
    6. Loop at itab.
    Populate BDCTAB table.
    Call transaction <tr.code> using <Bdctab>
    Mode <A/N/E>
    Update <S/A>
    Messages <BDCMSG>.
    Perform check.
    Refresh BDCTAB.
    Endloop.
    7 Form check.
    IF sy-subrc <> 0. (Call transaction returns the sy-subrc if updating is not successful).
    Call function Format_message.
    (This function is called to store the message given by system and to display it along with record)
    Append itab2.
    Display the record and message.
    DIRECT INPUT
    Thanks &regards,
    Sravani

  • Shading pattern bug with stitching functions

    I am using Acrobat Professional 7 for Windows, but I don't believe the situation has changed in Acrobat 9.
    I have a simple hand-crafted pdf that is designed to test shading patterns with extend regions when used with stitching (Type 3) functions. These behave according to the spec in most cases, but there is a special case where they don't. I've included the job at the end of this message.
    The special case is where a Bounds entry is identical to one of the Domain values. The spec doesn't say what should happen for this case, but I might expect either the end child function would be ignored, or that it is used but the appropriate colour would be evaluated using it and applied to the extend region.
    What in fact happens, is that the extend regions have their colour derived from evaluating 0 or 1 through the end child functions. This is true regardless of whether the shading domain includes zero. But, these are used the wrong way round.
    This might seem like a specialised case that would never appear in the field from real world application, but that is not the case. I have dozens of such jobs from customers displaying exactly this problem with varying workarounds by producers such as (Agfa Apogee Normalizer), (Acrobat Distiller 6.0 \(Windows\)), (Adobe PDF library 7.77), (Creo Normalizer JTP ver. 3.1.6), (Adobe PDF Library 8.0).
    In more detail, the job has one radial shading pattern using a stitching function with 6 child functions. The first child function coincides with the function domain, as do the last two child functions. The domain of the shading is a subset of the stitching function, arranged so that the end child functions should never be evaluated.
    I believe the whole of the shading should be a solid cyan because the domain is 0.3 to 0.7. Only one of the child functions covers this range which is solid cyan. Acrobat displays the inner extended region as black which can only be explained by pushing 1 through the first child function, and the outer extended region is yellow which can only be explained by pushing 0 through the final child function.
    I believe Acrobat should be using the shading domain limits for the extend regions. Instead, it is using 0 and 1. But worse, the values are being used the wrong way round.
    This is my hand-crafted job for testing shading patterns with Type 3 functions. The job is hand crafted, and I haven't gone to the trouble of setting the xref table or setting the stream lengths, but Acrobat does repair the file and it behaves the same as other, real-world, jobs
    %PDF-1.4
    %âãÏÓ
    1 0 obj
    <<
    /Type /Catalog
    /Pages 2 0 R
    >>
    endobj
    2 0 obj
    <<
    /Type /Pages
    /Count 1
    /Kids [4 0 R ]
    >>
    endobj
    3 0 obj
    << % Info dictionary
    /Title (FunctionType 3 boundary test)
    /CreationDate (D:20051118000000-00'00')
    /Author (John Jefferies)
    >>
    endobj
    4 0 obj
    << % Page 1
    /Type /Page
    /Parent 2 0 R
    /Resources 5 0 R
    /MediaBox [0 0 300 300]
    /Contents [6 0 R]
    >>
    endobj
    5 0 obj
    << % Resources Groups
    /Shading <<
    /Radial 7 0 R
    >>
    /ProcSet [/PDF]
    >>
    endobj
    6 0 obj
    << % Page contents
    /Length 1
    >>
    stream
    q 1 0 0 1 0 0 cm /Radial sh Q
    endstream
    endobj
    7 0 obj
    << % Radial shading covering group
    /ShadingType 3
    /ColorSpace /DeviceCMYK
    /BBox [0 0 300 300]
    /Coords [150 150 30 150 150 175]
    /Function 8 0 R
    /Domain [0.3 0.7]
    /Extend [true true]
    >>
    endobj
    8 0 obj
    << % Function for shadings
    /FunctionType 3
    /Domain [0 1]
    /Range [0 1 0 1 0 1 0 1]
    /Functions [9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R]
    /Bounds [0 0.25 0.25 1 1]
    /Encode [0 1 0 1 0 1 0 1 0 1 0 1]
    >>
    endobj
    9 0 obj
    << % Function for shadings: Red - Black
    /FunctionType 2
    /Domain [0 1]
    /Range [0 1 0 1 0 1 0 1]
    /C0 [0 1 1 0]
    /C1 [0 0 0 1]
    /N 1
    >>
    endobj
    10 0 obj
    << % Function for shadings: Green
    /FunctionType 2
    /Domain [0 1]
    /Range [0 1 0 1 0 1 0 1]
    /C0 [1 0 1 0]
    /C1 [1 0 1 0]
    /N 1
    >>
    endob

    Philip, thankyou for offering to look at this.
    I have attached 'FunctionType 3 boundary.pdf' which was the original file I attempted to post. The file 'AcrOut Domain 0_3-0_7.png' makes it clear what I am seeing in Acrobat. I would also like to augment my original post a little to point out incompatibilities between Acrobat and CPSI.
    1. From my PoV, compatibility between Acrobat and CPSI is important, so I've also attached a file that contains equivalent PostScript. On my Ricoh Aficio with CPSI (3016.203) inside it, the job is rendered in solid cyan as I would expect given that the domain of the shading is restricted to [0.3 0.7].
    2. If the jobs are changed to make the shading domain [0 1] instead of [0.3 0.7], Acrobat displays a green ring (expected), and the inner extend region is now red (expected). The outer extend region remains yellow.
    CPSI renders the job almost the same as Acrobat, but the outer extend region is painted in cyan, not yellow. An Nth reading of the PDF and PS specs has revealed a subtle difference; there is one sentence in the stitching function section of the PDF spec not present in the PS spec, it is "If the last bound, Bounds(k−2) , is equal to Domain(1) , then x′ is defined to be Encode(2i)". I take this to mean the outer extends region may have different color in the PDF and PS versions by design.
    3. If the pdf job is changed to make the shading domain [0.01 0.99], Acrobat displays the inner extend in black as before (unexpected), otherwise the same as 2).
    To summarise:
    1. There appears to be a bug in Acrobat whereby it ignores domain of the shading when painting the extend regions.
    2. There is an incompatibility between Acrobat and CPSI in the outer extends region when the final Bounds entry is equal to the Domain value. This may be by design.

  • Help with DateTrans function YYYY-MM-DDTHH:MM:SS.sssZ

    I am trying to map a datetime field supplied by a call from Sybase Unwired Platform.
    It is sending the date as format 2011-11-15T15:10:13.944Z and I am trying to use the Datetrans function to convert to the 20111115 required by an IDOC date field.
    I am using
    yyyy-dd-MMTHH:mm:ss.SSS
    as the input format but it fails with runtime error Illegal pattern character 'T'
    Can anyone help ?

    Here is the udf to achieve this
    create a udf function with input as parameter and pass the date string and return as string
    Signature Variable
    Type Argument    Name input  JavaType String
    public String datesString(String input, Container container) throws StreamTransformationException{
         String input = "2011-11-15T15:10:13.944Z ";
         String parseDateString = input.substring(0,10);
         StringBuffer output = new StringBuffer().append(parseDateString.substring(0,4))
                                                                   .append(parseDateString.substring(5,7))
                                                                   .append(parseDateString.substring(8,10));
                             return output.toString();
    Edited by: Baskar Gopal on Nov 17, 2011 9:36 AM

  • Difference between Simple, EPC Gen 1 & EPC Gen 2 tags?

    Hi All,
    1. Can some one explain me the difference between Simple, EPC Gen 1 & EPC Gen 2 tags?
    2. When are they used?
    3. Which is the one, widely used?
    Thanks,
    Shridhar..

    Hi Shridhar,
    Actually earlier I only mentioned the main difference between the two that was the Q Algorithm and mentioned some links which would help you to get some more differences.
    From your reply I thought should make more easier for you.I have segregated some differences for you from those Links .
    <b>Difference between GEN1 and GEN2 tags.</b>
    <b>New features that were incorporated in the Gen 2 protocol.</b>
    <b>1.The biggest difference between Gen 1 and Gen 2 is that there is now a single global protocol.</b> The first-generation epc had two protocols, Class 0 and Class 1, and the same reader could not read both unless it was a multiprotocol reader. The International Organization for Standardization (iso) also approved two uhf air-interface protocols, 18000-6A and 18000-6B, as international standards, so there have been four uhf standards.
    <b>
    2. Another important aspect of the UHF Gen 2 protocol is it was designed to optimize performance in different regulatory environments around the world.</b>  
        Europe’s communications authoritiesrecently adopted reader regulations that are more relaxed, but the new rules are still quite stringent compared with those in the North America. Because the Gen 2 protocol uses the available radio spectrum more efficiently, it will provide better performance in Europe than any other uhf protocol. “Gen2 creates a good foundation for higher-function products, such as Class 2 and Class 3 tags and readers”.
    <b>3. Dense-reader mode</b>
    The Gen 2 standard allows readers to operate in three different modes: Single-reader mode, multi-reader mode and dense-reader mode. To function optimally, readers will need to operate in
    dense-reader mode when more than 50 readers are present within a building, such as within a distribution center. Dense reader mode is designed to prevent readers from interfering with
    one another, which could be a problem if many readers are used in a confined space, particularly in Europe and other regions where only a small band of the uhf spectrum has been allotted
    for rfid systems.
    <b>4. Dual methods of backscatter encoding</b>
    The Gen 2 protocol also supports another method of encoding the backscatter signal called FMO. The purpose of allowing the reader to use either FMO or Miller subcarrier was to improve
    performance not just when there are many readers in a facility but also when there is a lot of noise in the area.
    FMO, a format used effectively in the current ISO standards, is fast but susceptible to interference. Miller subcarrier is slower but works better in noisy environments.
    <b>5. Secure read-write memory</b>
    First-generation EPC Class 0 tags are programmed at the factory, when the chips are made. First-generation Class 1 tags are user programmable, meaning that an end user company can write EPC’s to the tag after taking delivery. In most applications today, Class 1 tags are programmed one by one as they come off a spool.
    Gen 2 tags are field programmable, meaning that readers can write information to tags even if they are attached to cases on a pallet or a conveyer belt. Gen 2 tags will feature three required memory banks—one bank for storing the epc, one for passwords, one for tag identification (the tag stores information about itself)—and an optional bank for memory that end users can use for whatever purpose they wish (one of the few optional features tags can have). User memory could be to store codes to indicate where products are being shipped to, for instance.
    The memory banks can be locked temporarily or permanently.So a product supplier might write an epc to a tag and lock it permanently. It might then write the identification number of a store that the product is being shipped to in the optional user memory. The supplier might lock that memory with a password to avoid having it overwritten, but a manager in the store’s distribution center might have the option of unlocking the memory (if the manufacturer supplies the password), changing the store id to indicate the destination has changed, and then locking the memory again.
    <b>6. The Q algorithm</b>
    One issue with the Gen 1 protocols is that they require rfid readers to use the tags’ unique serial numbers to singulate tags (to identify them uniquely). If two tags have the same epc, they confuse the reader. Some retailers are considering using tags with the same epc—that is, information similar to what they have on bar codes today—as an interim measure as they move from bar codes to rfid and prepare their software systems to handle unique ids. Those retailers asked EPCglobal's Hardware Action Group to make it possible to singulate the tags even if two or
    more tags have the exact same epc.
    This Algorithm is mentioned in my first reply above.
    <b>7. Sessions</b>
    One weakness of the Gen1 protocols was the possibility that one reader would interfere with another reader's ongoing counting of a group of tags. So let's say a fixed reader is counting all the tagged items on a shelf. It reads a tag and commands it to go to sleep so it can read the next tag.When it is halfway through 100 items, someone comes along with a handheld reader, looking for a specific item on that shelf. The handheld commands all the tags to wake up and respond. Now the fixed reader has to start the counting all over again. To avoid this problem, the Gen 2 protocol introduces something called sessions. Each tag will be able to operate within four
    separate sessions. A retailer or manufacturer could set up their system so that all fixed readers read tags in session 1, and all handhelds use session 2. So if the fixed reader puts the tags to
    sleep in session 1, the handheld reader could communicate with the tags in session 2 and not interfere with the ongoing count by the fixed reader in session 1.
    <b>Enhancements made to the Gen 1 protocols.</b>
    <b>
    1.Faster read rates:</b>
    The Gen 2 protocol is designed to enable readers to read data from and write data to rfid tags much faster than the Gen 1 protocols. Gen 2 supports a tag-to-reader data transfer rate of up
    to 640 kilobits per second, versus up to 80 kilobits per second for Gen 1 Class 0 and 140 kilobits per second for Gen 1 Class 1.
    <b>2. Fewer ghost reads</b>
    One problem early adopters have encountered with the Gen 1 Class 0 protocol is ghost reads. Sometimes the reader thinks it has read a tag with a particular Id when no tag with that id is present.
    <b>3. Longer passwords</b>.
    Now to talk about your queries.
    >>Q's:1. What if the Tag ID is alpha-numeric?
    let me know from which link you  read this so that I can comment on it.(If i missed it).
    >>Gen 2:These type of Tags have the ability to generate random numbers. The reader asks the tag to generate random numbers.
    Q's:1. What is the match/criteria upon which Tag/s respond to the reader with the EPC, after which the reader can continue the flow.
    Now if you again go through the Q Algorithm mentioned in my above reply.This query is answered.
    Well I again mention the part of the Algorithm
            " Gen 2 tags have the ability to generate random numbers. The reader will tell the tags the range in which it should generate a random number by issuing a query command with a Q value ranging from 0 to 15. If it often gets back no response to its queries, it will automatically decrease the Q value. If it gets more than one tag responding, it will increase the Q value, thereby increasing the range of numbers that can be generated by the tags. The reader might issue a query with a parameter of Q=4. The tags generate two random numbers, the first one ranging from zero and 65,535, and the second ranging from zero and 2 to the power of Q, minus 1. If Q is four, then 2 to the fourth power is 16, minus 1 equals 15.  So all tags choose a second random number ranging from zero and 15. The reader asks any tag that chose zero for their second random number to respond. If one tag has zero, then it responds with the first random number, between zero and 65,535, and the reader acknowledges it. Since the tag has now been singulated,the reader could simply count the tag as present ("I know a tag with a random number of 45,101 is in the field"). It could write an epc to the tag, if it doesn't have one, or it could ask tag 45,101 for its epc if it does have one. It then asks the remaining tags to subtract one from their second random number and singulates the next tag that has a zero, and it keeps doing that until all the tags are singulated. If no tags choose zero for their first random number, then the reader asks all the tags to decrement their random number by one, and it keeps doing that until a tag with zero responds. If two tags respond, the reader can't read either tag, so it issues a negative acknowledge, which tells the tags to wait for another query until they respond again. "This protocol makes it extremely unlikely that a reader will singulate two tags when it meant to only talk to one" . "
    The above mentioned is the match/criteria upon which Tag/s respond to the reader with the EPC, after which the reader can continue the flow.
    I suppose this should clear all your doubts.Let me know if still there are any.
    Thanks,
    Pawan

  • Why simple functions are not included in iPhone?

    My iPhone is a wonderful piece of equipment I can't leave home without (in addition of my Amex card :-)) But for the life of me, I can't understand why Apple could not include functions which are pretty much standard with all other inferior mobile phones. Simple functions such as bluetooth transfer between phone or just saving important sms from iPhone to computer. Nokia has a great Nokia PCSuite; Motorola has very useful MobileTools which allows full sync between mobile phone and computer. I got to ask the question ... WHY? WHY? WHY? Is there any apps developer out there that can develop an apps similar to Nokia PCSuite or MobileTools. I will be the first one to pay for it.

    Abbafan1972 wrote:
    1. A better camera. For the cost of the phone I would expect at least a 5mp one.
    Read about the megapixel myth. More megapixels does not mean a better camera.
    2. A camera flash.
    Let Apple know - http://apple.com/feedback
    3. The ability to use your own custom message tone.
    I hope not but see answer to number 2. People's ringtones in public can be annoying enough without giving them more choices to be annoying.
    4. The way text messages are organised are a bit ar$e about face, no folder for sent messages, they are just in a continuous thread.
    It's called a conversation.
    5. A quicker way of sending text messages to a group of people.
    Pretty quick after you create the initial group but see my answer to number 2.

  • Issue with Duplicate FUNCTION

    Hi Guys:
    I am experiencing some issue with DUPLIATE FUNCTION.  What happen is that I have create some BUTTONS on the stage that was used througth out difference scence.....those buttons has same action that point page to particular scence.  And this is when I found the DUPLICATE FUNCTION issue.
    I found that I could get away by changing the name of the FUNCTION, but as I have quite a lots of those buttons so I really don't think this method is very pratical and organized.  So does anyone have any better idea how this can be solved?
    Many Thanks!

    Thanks so much, this did solve the problem.  Studpid me that were trying to add same FUNCTION on each Scene that has the same button.  Initially I thought it's more complex in AS3, but seems AS3 is actually trying to make thing easier and more praticler.
    Not really good at previously AS, but decided to spend some time on learning AS3.0 now.  Hope I could help people like me on the forum with question about AS3.0 soon. Just like the favor you did for me.
    Many Thanks!!

Maybe you are looking for

  • When opening links in a new tab there used to be dots surrounding the link (made it easy to see your place on a list), this is gone in Firefox 4. Can it be restored or simulated?

    I open new tabs from a lot of links that are in lists. In Firefox the link would be surrounded by dots when I opened the new tab which made it easy to know where I was in the list if I had to get up or even look away from the screen. This is gone in

  • When free maps for N85??

    Why is N85 excluded from the free maps deal? I bought it less than a year ago, it was an expensive top-of-the-line phone. A much more expensive phone than the 5800 and many others that are already on the free list. We know turn by turn navigation wor

  • Left 4 Dead 2

    I recently purchased a 13" MacBook Pro. It is the 2.53 Ghz with 4 GB of RAM. If I install Windows XP using Bootcamp, will I be able play Left 4 Dead 2 on it?

  • Milestone trigger of Activity.

    Hello Friends, I have a Project definition says with header WBS and under which three more WBS (Assembly, Testing and Packing) with activities (Assembly, Testing and Packing) assigned to each WBS. In the activity Testing, I have attached a milestone

  • Edit Display Templates missing controls

    Hi, I'm having problems working with Search Display Templates on SharePoint Online. It started when I uploaded and published two new templates. When I edit the properties of a Search Results Web Part to use these templates, they are not appearing in