Please explain followin in convert datetime case.

hi,
Q1)followng is from https://msdn.microsoft.com/en-IN/library/ms187928.aspx?f=255&MSPPError=-2147217396
please explain "1 These
style values return nondeterministic results. Includes all (yy) (without century) styles and a subset of (yyyy) (with century) styles."
Q2) please explain with ex
Styles greater than 100 are deterministic, except for styles 106, 107, 109 and 113.
yours sincerley

Non deterministic means the result of the function can depend on something other than the input to the function.  So for styles of 100 or greater the result is non deterministic if that style returns the month as text (because different language settings
return different abbreviations for the month name.  Kalman gave you an example of that.
The styles with 2 digit years are non deterministic because the result returned depends on the value of the "two digit year cutoff" option.  See
https://msdn.microsoft.com/en-us/library/ms191004.aspx for a discussion of that option.  SQL uses that option when you convert a two digit year into a date.  So changing that option
can cause the result to change.  For example suppose you convert '350517' using style 1.  With the default two digit year cutoff of 2049, CONVERT() of '350517' using style 1 will return 2035-05-17, but if you change the two digit year cutoff to 2030,
CONVERT() of '350517' using style 1 will return 1935-05-17.
If you want to play with changing the cutoff date the above link tells you how to change it.  But if you do, be very careful and do NOT change it on a production server.  Changing that option will affect every connection to every database on that
server instance.  You can easily break running code.
Tom

Similar Messages

  • In Data Quality transform please explain Associate transform with the help of any example.

    In Data Quality transform please explain Associate transform with the help of any example.

    Hi Neha,
    If we are using multiple match transforms and consolidate the final output we will use associate transform .
    Let me explain with one example based on data quality blue prints for USA .
    We have customer/vendor data .     We need to find the duplicates .
    1. First  we will find the duplicates  on   Name and Address
    2. Second  we will find the duplicates on Name and Email
    3. Third we will find the duplicates on Name and Phone
    Here why we need to find the duplicates in multiple stages . If we are finding the duplicates on combination of  Name, Address, Email and Phone  we may not get proper duplicates   as we are finding the potential duplicates . That's why we are finding the duplicates on different combinations .
    In this case we will get the different group numbers for each match combination . Each combination name is there .
    We want to consolidate and give the group number to the whole set of duplicates . We will pass these  3 match groups to associative transform and generate the  consolidated match group for the input data.
    I hope you understand the concept .
    Thanks & Regards,
    Ramana.

  • Please Explain how to use extensions..

    We are using Agile D2R PIP, we do have some cutomizations. to enable the Extensions, we need change the following extensions to True.
    <Property name="ABCSEXTENSION.PREPROCESSABM">false</Property>
    <Property name="ABCSEXTENSION.POSTPROCESSABM">false</Property>
    <Property name="ABCSEXTENSION.PREPROCESSEBM">false</Property>
    <Property name="ABCSEXTENSION.POSTPROCESSEBM">false</Property>
    My question is to extend the Provider ABCS service, i will prefer set true for PREPROCESSEBM and POSTPROCESSABM.
    But In Environment A we have the properties like below
    <Property name="ABCSEXTENSION.PREPROCESSABM">false</Property>
    <Property name="ABCSEXTENSION.POSTPROCESSABM">true</Property>
    <Property name="ABCSEXTENSION.PREPROCESSEBM">true</Property>
    <Property name="ABCSEXTENSION.POSTPROCESSEBM">false</Property>
    In Environment B the properties are like below,
    <Property name="ABCSEXTENSION.PREPROCESSABM">true</Property>
    <Property name="ABCSEXTENSION.POSTPROCESSABM">true</Property>
    <Property name="ABCSEXTENSION.PREPROCESSEBM">true</Property>
    <Property name="ABCSEXTENSION.POSTPROCESSEBM">false</Property>
    But the functionality on both Environments is same. Can you please explain me how really extension processes works in the two cases..?
    Thanks
    SK

    Please refer to:
    http://docs.oracle.com/cd/E20713_01/doc.11112/e17364.pdf
    13.1.2. Introduction to Enabling Provider ABCS for Extension
    http://docs.oracle.com/cd/E23549_01/doc.1111/e17363/chapter06.htm#BABEAIFG
    6.5 Process Extensions
    As 'ABCSEXTENSION.PREPROCESSABM' is different, compare input/output payload of ABCS extension service in both environment for the difference.
    Also check PreprocessABMSequence in ABCS and what's done inside your ABCS extension service.
    What's the Prov ABCS service you r referring to?
    Regards,
    Faiz

  • Could Somebody Please Explain....

    Could somebody please explain what this section of code is doing with the StopTime? There is plenty more code where that came from, but as I can see it, it is being put into a vector in another section of code as endTime, the vector pdmlist, which I think is where or hows its stored in the vector is being set to null? Then pdmlist is using EndTime value? The StopTime is then being set to a string.
    StopTime is then set to blank, then the DateDataFormat is being used. The pdmlist comes back into play, then the df (date format) comes back and it gets converted to uppercase and finally outputted using the outStream.write method to the log file that is created (earlier).
    So my quest, as per the other mail, why wont the DB query and order by, order it for the output to the log file. What is the vector doing to it to unsort it? How can I order it?
    Vector pdmList = null;
    this.setCursor( Cursor.WAIT );
    if ( radioAllTime.getChecked() )
    pdmList = pdmHelper.buildPDMList( ctx, null, null );
    else
    pdmList = pdmHelper.buildPDMList( ctx, dateBeginTime.getValue(), dateEndTime.getValue() );
              this.setCursor( Cursor.DEFAULT );
    //If nothing was found, then display a message,
              //and return.
              if ( pdmList == null )
                   MessageBox.show( "No parametric data found. Log file not generated." , this.getText() );
                   return;
    if ( pdmList.size() == 0 )
                   MessageBox.show( "No parametric data found. Log file not generated." , this.getText() );
                   return;
              String Temp;
    String Board; // Prodid
    String StartTime;
    String StopTime;
    String Part;
    String BoardStatus;
    String Actual;
    String LoLim;
    String HiLim;
    String MeasStatus;
    String PartType;
    String PartNumber;
    boolean BoardStatusContext = false;
    boolean OneMeasureFailed = false;
    java.util.Hashtable htFiles = new Hashtable(10,10);
    FileWriter outStream = null;
    try
    for ( int idx = 0; idx < pdmList.size(); idx++ )
                        //Reset the flags
                        BoardStatusContext = false;
                        OneMeasureFailed = false;
    Board = ""; StartTime = ""; StopTime = ""; Part = ""; BoardStatus = ""; Actual = "";
    LoLim = ""; HiLim = ""; MeasStatus = ""; PartType = ""; PartNumber = "";
    com.ms.wfc.data.DateDataFormat df = new com.ms.wfc.data.DateDataFormat( com.ms.wfc.data.DateFormat.CUSTOM,
    "dd-MMM-yy hh:mm:ss" );
    // get root context
    PDMContext context = ((PDM)pdmList.elementAt(idx)).getContext();
    //Make the filename
    String fileName = context.getProductName();
    if ( fileName == null || fileName.length() == 0 )
    fileName = "UNKNOWN";
    // Eliminate not allowed characters from the file name
    fileName = fileName.replace('\\','_');
    fileName = fileName.replace('/','_');
    fileName = fileName.replace(':','_');
    fileName = fileName.replace('*','_');
    fileName = fileName.replace('?','_');
    fileName = fileName.replace('\"','_');
    fileName = fileName.replace('<','_');
    fileName = fileName.replace('>','_');
    fileName = fileName.replace('|','_');
    fileName += ".log";
    if ( htFiles.containsKey( fileName ) )
    outStream = (FileWriter)htFiles.get( fileName );
    else
    File theFile = new File( fileName );
    statusBar.getPanels()[0].setText( "File: " + theFile.getAbsolutePath() );
    /* if ( ! theFile.canWrite() )
    statusBar.getPanels()[0].setText( "Failed: " + theFile.getAbsolutePath() );
    MessageBox.show( theFile.getAbsolutePath() + " can not be writen!",
    this.getText() );
    outStream = new FileWriter( theFile.getAbsolutePath(), false );
    htFiles.put( fileName, outStream );
    // start writing the log file...
    outStream.write( "./" );
    StartTime = ((String)df.format( null, context.getStartTime() )).toUpperCase();
    StopTime = ((String)df.format( null, context.getStopTime() )).toUpperCase();
    Board = context.getProductName();
    if ( Board.length() == 0 )
    Board = "UNKNOWN";
    outStream.write( Board + ".obc[" + StartTime + "\r\n\r\n" );
    Sorry the mail is so long. I tried books, but vectors were hard to come by? I've searched through the database on this site too, there are plenty of stuff about sorting and vectors but its hard to use somebody elsed situation for my own circumstances as a guide.
    Hope somebody could just shed a bit of light.
    Thanks in advance.
    Mark.
    PS. I will give duke points (when I work out how to add them, but I only have 5....sorry)

    Does anybody have any ideas as to what is happening.
    Mark.

  • Please explain to me why the glass and digitizer have to be replaced together ?

    I do not understand why the glass and digitizer have to be replaced together. My Ipad works fine with cracked glass, so the digitizer must be perfectly fine. Why can't I just replace the glass ? Please explain to me the mechanical function of the digitizer and glass connection ?

    Apple doesn't repair your iPad in any case. They'll replace it, either under warranty if the problem is a defect or for a fixed fee if the unit has been damaged. So the whys and wherefores are really irrelevant.
    If you're working with a third-party repair service, get them to explain their charges and the repair they propose. Most likely the glass and digitizer are bound together and cannot be replaced separately, but I don't know for sure.
    Regards.

  • Please explain the query?

    hello all,
    please explain below query used in solution below, thanks in advance!
    ELECT MAX(P1.ET) AS ST, P2.ST AS ET
    FROM XYZ AS P1
    INNER JOIN XYZ AS P2 ON (P1.ST < P2.ST)
    GROUP BY P2.ST
    HAVING MAX(P1.ET) < P2.ST
    IF OBJECT_ID('XYZ') IS NOT NULL
    DROP TABLE XYZ
    GO
    CREATE TABLE XYZ
    id int identity(1,1),
    ST smalldatetime NOT NULL,
    ET smalldatetime NOT NULL
    GO
    INSERT INTO XYZ (ST, ET)
    VALUES ('2010-01-01 9:00AM', '2010-01-01 10:00AM')
    INSERT INTO XYZ (ST, ET)
    VALUES ('2010-01-01 9:00AM', '2010-01-01 12:00PM')
    INSERT INTO XYZ (ST, ET)
    VALUES ('2010-01-01 1:00PM', '2010-01-01 2:00PM')
    INSERT INTO XYZ (ST, ET)
    VALUES ('2010-01-01 3:00PM', '2010-01-01 5:00PM')
    INSERT INTO XYZ (ST, ET)
    VALUES ('2010-01-01 11:00AM', '2010-01-01 12:00PM')
    GO
    WITH Gaps(Gap) AS
    SELECT COALESCE(SUM(DATEDIFF(MINUTE,ST,ET)), 0)
    FROM (
    SELECT MAX(P1.ET) AS ST, P2.ST AS ET
    FROM XYZ AS P1
    INNER JOIN XYZ AS P2 ON (P1.ST < P2.ST)
    GROUP BY P2.ST
    HAVING MAX(P1.ET) < P2.ST
    ) gaps
    SELECT (
    COALESCE(DATEDIFF(MINUTE, MIN(ST), MAX(ET)), 0)
    - (SELECT Gap FROM Gaps)
    ) / 60.0 TotalHrs
    FROM XYZ

    SELECT MAX(P1.ET) AS ST, P2.ST AS ET
    FROM XYZ AS P1
    INNER JOIN XYZ AS P2 ON (P1.ST < P2.ST)
    GROUP BY P2.ST
    HAVING MAX(P1.ET) < P2.ST
    Finds all of the gaps (that is time that is not in any interval in your original data.  To see how it works, let's look at an example.  I'm going to use data that is a little different than your original data because your data has no gaps. 
    The query still works if you have no gaps, but it is easier to see what it is doing if the data has some gaps.  Also, I'm going to explicitly set the id column instead of making it an identity.  This will make it a little easier to identify each
    row in the following explanation. So the data I'm going to work with is
    CREATE TABLE XYZ
    id int,
    ST smalldatetime NOT NULL,
    ET smalldatetime NOT NULL
    GO
    INSERT INTO XYZ (id, ST, ET)
    VALUES (1, '2010-01-01 9:00AM', '2010-01-01 10:00AM')
    INSERT INTO XYZ (id, ST, ET)
    VALUES (2, '2010-01-01 9:00AM', '2010-01-01 12:00PM')
    INSERT INTO XYZ (id, ST, ET)
    VALUES (3, '2010-01-02 1:00PM', '2010-01-02 2:00PM')
    INSERT INTO XYZ (id, ST, ET)
    VALUES (4, '2010-01-03 3:00PM', '2010-01-03 5:00PM')
    INSERT INTO XYZ (id, ST, ET)
    VALUES (5, '2010-01-03 7:00PM', '2010-01-03 9:00PM')
    Notice that the gaps here are from row 2 to row 3 (12PM on the 1st to 1PM on the 2nd) and row 3 to row 4 (2PM on the 2nd to 3PM on the 3rd) and row 4 to row 5 (5PM on the 3rd to 7PM on the 3rd).  So that's what the above subquery should be finding for
    us.
    To see what a query you don't understand is doing, simplify it to the smallest part you can and see what it returns and then build it up to the final query.  So the simplest thing we can do is just the from clause.  That gives us
    SELECT *
    FROM XYZ AS P1
    INNER JOIN XYZ AS P2 ON (P1.ST < P2.ST)
    /* That gives us the result
    1 2010-01-01 09:00:00 2010-01-01 10:00:00 3 2010-01-02 13:00:00 2010-01-02 14:00:00
    2 2010-01-01 09:00:00 2010-01-01 12:00:00 3 2010-01-02 13:00:00 2010-01-02 14:00:00
    1 2010-01-01 09:00:00 2010-01-01 10:00:00 4 2010-01-03 15:00:00 2010-01-03 17:00:00
    2 2010-01-01 09:00:00 2010-01-01 12:00:00 4 2010-01-03 15:00:00 2010-01-03 17:00:00
    3 2010-01-02 13:00:00 2010-01-02 14:00:00 4 2010-01-03 15:00:00 2010-01-03 17:00:00
    1 2010-01-01 09:00:00 2010-01-01 10:00:00 5 2010-01-03 19:00:00 2010-01-03 21:00:00
    2 2010-01-01 09:00:00 2010-01-01 12:00:00 5 2010-01-03 19:00:00 2010-01-03 21:00:00
    3 2010-01-02 13:00:00 2010-01-02 14:00:00 5 2010-01-03 19:00:00 2010-01-03 21:00:00
    4 2010-01-03 15:00:00 2010-01-03 17:00:00 5 2010-01-03 19:00:00 2010-01-03 21:00:00
    Now we want to Group by P2.ST and get the MAX(P1.ET) and P2.ST, so that gives us
    SELECT MAX(P1.ET) AS ST, P2.ST AS ET
    FROM XYZ AS P1
    INNER JOIN XYZ AS P2 ON (P1.ST < P2.ST)
    GROUP BY P2.ST
    /* Result is
    2010-01-01 12:00:00 2010-01-02 13:00:00
    2010-01-02 14:00:00 2010-01-03 15:00:00
    2010-01-03 17:00:00 2010-01-03 19:00:00
    Now with this sample data there are no rows in the output with MAX(P1.ET) > P2.ST.  But if there was one, you would not want that row because it is not a real gap (obviously, a gap can't start today and end yesterday).  (If you want to see how
    you could get a case like that, add a row 6 to the sample data with a ST of 2010-01-01 7:00PM and an ET of 2010-01-03 9:00PM.)
    So we add a HAVING MAX(P1.ET) < P2.ST to remove those cases.
    That leaves us with all of the gaps.  So then with
    SELECT COALESCE(SUM(DATEDIFF(MINUTE,ST,ET)), 0)
    FROM (
    SELECT MAX(P1.ET) AS ST, P2.ST AS ET
    FROM XYZ AS P1
    INNER JOIN XYZ AS P2 ON (P1.ST < P2.ST)
    GROUP BY P2.ST
    HAVING MAX(P1.ET) < P2.ST
    ) gaps
    we get the total amount of time in all gaps.  Then the final result is just the time from the earliest ST to the latest ET minus the total time from the gap.
    Tom

  • Please explain what are the various procedures to find user-eixts

    Hi,
    Please explain what are the various procedures to find user-eixts ?
    Ramana

    Hi,
    1. By executing this Program.
    *& Report  ZFIND_EXIT
    REPORT  ZFIND_EXIT.
    *report zbadi_find .
    tables : tstc,
    tadir,
    modsapt,
    modact,
    trdir,
    tfdir,
    enlfdir,
    sxs_attrt ,
    tstct.
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    parameters : p_tcode like tstc-tcode,
    p_pgmna like tstc-pgmna .
    data wa_tadir type tadir.
    start-of-selection.
    if not p_tcode is initial.
    select single * from tstc where tcode eq p_tcode.
    elseif not p_pgmna is initial.
    tstc-pgmna = p_pgmna.
    endif.
    if sy-subrc eq 0.
    select single * from tadir
    where pgmid = 'R3TR'
    and object = 'PROG'
    and obj_name = tstc-pgmna.
    move : tadir-devclass to v_devclass.
    if sy-subrc ne 0.
    select single * from trdir
    where name = tstc-pgmna.
    if trdir-subc eq 'F'.
    select single * from tfdir
    where pname = tstc-pgmna.
    select single * from enlfdir
    where funcname = tfdir-funcname.
    select single * from tadir
    where pgmid = 'R3TR'
    and object = 'FUGR'
    and obj_name eq enlfdir-area.
    move : tadir-devclass to v_devclass.
    endif.
    endif.
    select * from tadir into table jtab
    where pgmid = 'R3TR'
    and object in ('SMOD', 'SXSD')
    and devclass = v_devclass.
    select single * from tstct
    where sprsl eq sy-langu
    and tcode eq p_tcode.
    format color col_positive intensified off.
    write:/(19) 'Transaction Code - ',
    20(20) p_tcode,
    45(50) tstct-ttext.
    skip.
    if not jtab[] is initial.
    write:/(105) sy-uline.
    format color col_heading intensified on.
    Sorting the internal Table
    sort jtab by object.
    data : wf_txt(60) type c,
    wf_smod type i ,
    wf_badi type i ,
    wf_object2(30) type c.
    clear : wf_smod, wf_badi , wf_object2.
    Get the total SMOD.
    loop at jtab into wa_tadir.
    at first.
    format color col_heading intensified on.
    write:/1 sy-vline,
    2 'Enhancement/ Business Add-in',
    41 sy-vline ,
    42 'Description',
    105 sy-vline.
    write:/(105) sy-uline.
    endat.
    clear wf_txt.
    at new object.
    if wa_tadir-object = 'SMOD'.
    wf_object2 = 'Enhancement' .
    elseif wa_tadir-object = 'SXSD'.
    wf_object2 = ' Business Add-in'.
    endif.
    format color col_group intensified on.
    write:/1 sy-vline,
    2 wf_object2,
    105 sy-vline.
    endat.
    case wa_tadir-object.
    when 'SMOD'.
    wf_smod = wf_smod + 1.
    select single modtext into wf_txt
    from modsapt
    where sprsl = sy-langu
    and name = wa_tadir-obj_name.
    format color col_normal intensified off.
    when 'SXSD'.
    For BADis
    wf_badi = wf_badi + 1 .
    select single text into wf_txt
    from sxs_attrt
    where sprsl = sy-langu
    and exit_name = wa_tadir-obj_name.
    format color col_normal intensified on.
    endcase.
    write:/1 sy-vline,
    2 wa_tadir-obj_name hotspot on,
    41 sy-vline ,
    42 wf_txt,
    105 sy-vline.
    at end of object.
    write : /(105) sy-uline.
    endat.
    endloop.
    write:/(105) sy-uline.
    skip.
    format color col_total intensified on.
    write:/ 'No.of Exits:' , wf_smod.
    write:/ 'No.of BADis:' , wf_badi.
    else.
    format color col_negative intensified on.
    write:/(105) 'No userexits or BADis exist'.
    endif.
    else.
    format color col_negative intensified on.
    write:/(105) 'Transaction does not exist'.
    endif.
    at line-selection.
    data : wf_object type tadir-object.
    clear wf_object.
    get cursor field field1.
    check field1(8) eq 'WA_TADIR'.
    read table jtab with key obj_name = sy-lisel+1(20).
    move jtab-object to wf_object.
    case wf_object.
    when 'SMOD'.
    set parameter id 'MON' field sy-lisel+1(10).
    call transaction 'SMOD' and skip first screen.
    when 'SXSD'.
    set parameter id 'EXN' field sy-lisel+1(20).
    call transaction 'SE18' and skip first screen.
    endcase.
    2. . Go to the screen>System>Status-->Program (Double
    click this program. It will take you to the program.
    2. Now, Goto-->Object Directory Entry.
    3. Make a note the package name.
    4. Now run the transactions SMOD, press F4 and enter the
    above noted package, press enter.
    5. It will display list of Exits.
    6. Now go back to the initial screen SMOD.
    7. Specify the exit name here and select the radio button
    Components.
    8. It will display four group boxes one for FM, second
    for Fcodes, thrid for Screen areas and last for
    includes.
    9. Goto transaction CMOD, create a new project, and
    click the button "Enhancement assignments" and
    specify your enhancements that you got in SMOD.
    10. Now bouble clikc the enhancement, it will take you to editor with some includes starting with Z, double clikc the include you want to edit and proceed.
    3. 1. in se11, goto table MODSAP
    View table contents
    in Type field, enter
    'E' (for user exit / Function Exit)
    OR 'S' (for screen exit)
    4. Calling Customer- fucntion in Main Program
    Thanks,
    Anitha

  • Could you please explain about the  chain and end chain and module

    hi experts
    could you please explain about the  chain and end chain and module keywords?

    Hi Naresh,
    Conditions for Multiple Screen Fields
    To ensure that one or more PAI modules are only called when several screen fields meet a particular condition, you must combine the calls in the flow logic to form a processing chain. You define processing chains as follows:
    CHAIN.
    ENDCHAIN.
    All flow logic statements between CHAIN and ENDCHAIN belong to a processing chain. The fields in the various FIELD statements are combined, and can be used in shared conditions.
    CHAIN.
    FIELD: <f1>, <f 2>,...
    MODULE <mod1> ON CHAIN-INPUT|CHAIN-REQUEST.
    FIELD: <g1>, <g 2>,...
    MODULE <mod2> ON CHAIN-INPUT|CHAIN-REQUEST.
    ENDCHAIN.
    The additions ON CHAIN-INPUT and ON CHAIN-REQUEST work like the additions ON INPUT and ON REQUEST that you use for individual fields. The exception is that the module is called whenever at least one of the fields listed in a preceding FIELD statement within the chain meets the condition. So <mod1> is called when one of the fields <fi> meets the condition. <mod2> is called when one of the fields <f i> or <g i> meets the condition.
    Within a processing chain, you can combine individual FIELD statements with a MODULE statement to set a condition for a single field within the chain:
    CHAIN.
    FIELD: <f1>, <f 2>,...
    FIELD <f> MODULE <mod1> ON INPUT|REQUEST|*-INPUT
    |CHAIN-INPUT|CHAIN-REQUEST.
    MODULE <mod2> ON CHAIN-INPUT|CHAIN-REQUEST.
    ENDCHAIN.
    The module <mod1> is called when screen field <f> meets the specified condition for individual fields. <mod2> is called when one of the fields <fi> or <f> meets the condition. If you use the addition ON CHAIN-INPUT or ON CHAIN-REQUEST with FIELD <f>, the condition also applies to the entire chain and module <mod1> and <mod2> are both called.
    In cases where you apply conditions to various combinations of screen fields, it is worth setting up a separate processing chain for each combination and calling different modules from within it.
    The functions of the FIELD statement for controlling data transport also apply when you use processing chains. Within a processing chain, screen fields are not transported until the FIELD statement. Processing chains also have another function for the FIELDS statements that they contain. This is described in the section on validity checks.
    Ex:
    PROCESS AFTER INPUT.
    MODULE CANCEL AT EXIT-COMMAND.
    CHAIN.
    FIELD: INPUT1, INPUT2.
    MODULE MODULE_1 ON CHAIN-INPUT.
    FIELD INPUT3 MODULE MODULE_* ON *-INPUT.
    MODULE MODULE_2 ON CHAIN-REQUEST.
    ENDCHAIN.
    FIELD INPUT1 MODULE C1 AT CURSOR-SELECTION.
    CHAIN.
    FIELD: INPUT2, INPUT3.
    MODULE C2 AT CURSOR-SELECTION.
    ENDCHAIN.
    MODULE CURSOR AT CURSOR-SELECTION.
    Regards,
    Sunil

  • CONVERT(DATETIME,REPLACE({$p_input_date}, \'-\', \'.\'), 120)

    Can any body please let me know any error in this syntax
      $v_txn_id=sql('Datastore name','SELECT min(TRANSACTION_ID) FROM "XXXXX"
         where (erp_last_update_date) >= CONVERT(DATETIME,REPLACE({$p_input_date}, \'-\', \'.\'), 120)
        and (PRODUCT_CODE) is null ');

    in same error i am facing
    3240
    8124
    DBS-070401
    7/7/2014 10:10:08 AM
    ODBC data source <10.2.13.138> error message for operation <SQLExecute>: <[Microsoft][SQL Server Native Client 11.0][SQL

  • Class is a BLACK BOX ? Please explain

    Hi,
    I have a query regarding the a class being compared to a Black Box.
    'A Java class is compared to a BLACK BOX,and the users of this class
    use it via its methods that act as its public interfaces
    and they need not understand the class complexities'.
    Now,put this aside for the moment.
    I just wrote an Oracle function called sExtract(param p1,param2).
    The user just calls this function, and is returned back a value.
    Now, the user doesnt need to know the complexities I had to undergo
    to code this procedure.
    How is this function different from a class then ?
    Both have functionality not exposed to the user.
    I can write an Oracle package,consisting of multiple functions,
    and invoke each function as and when required.
    Package.function1()
    The same goes for a Java class too.
    className.method1()
    Please explain the difference to me..

    In both cases, "black box" is really saying that clients of your Java class or Oracle package should be able to use it without having to look at the source code. It's part of programming by contract: you tell users what they have to supply, you tell them what your method will do, what it'll return, and what exceptions if any will be raised. That and enough documentation (e.g., javadocs) to find the method should be all they need.
    The idea is no different between objects and packages. Oracle packages, if I understand them correctly, are a pseudo-object-oriented way to group stored procedures together, almost as if a package mapped to an "object". There's no inheritance or polymorphism, but stored procedures as functions and tables as data grouped together in packages has a feel of encapsulation and abstract data types to me.
    %

  • Enqueue and Dequeue consept----Please explain urgent

    hi all,
    i want to use sap locking mechanisn (Enqueue and dequeue consept) while updating database table....please explain how to use this while updating a database table.
    Thanks in advance
    Nandha kumar

    Nandha,
    Good document on this concept..
      Activating a lock object in the ABAP Dictionary automatically creates function modules for setting (ENQUEUE_<lock object name>) and releasing (DEQUEUE_<lock object name>) locks.
    The generated function modules are automatically assigned to function groups. You should not change these function modules and their assignment to function groups since the function modules are generated again each time the lock object is activated.
    Never transport the function groups, which contain the automatically generated function modules. The generated function modules of a lock object could reside in a different function group in the target system. Always transport the lock objects. When a lock object is activated in the target system, the function modules are generated again and correctly assigned to function groups.
    Parameters of the Function Modules
    Field Names of the Lock Object
    The keys to be locked must be passed here.
    A further parameter X_<field> that defines the lock behavior when the initial value is passed exists for every lock field <field>. If the initial value is assigned to <field> and X_<field>, then a generic lock is initialized with respect to <field>. If <field> is assigned the initial value and X_<field> is defined as X, the lock is set with exactly the initial value of <field>.
    Parameters for Passing Locks to the Update Program
    A lock is generally removed at the end of the transaction or when the corresponding DEQUEUE function module is called. However, this is not the case if the transaction has called update routines. In this case a parameter must check that the lock has been removed.
    Parameter _SCOPE controls how the lock or lock release is passed to the update program (see The Owner Concept for Locks). You have the following options:
    _SCOPE = 1: Locks and lock releases are not passed to the update program. The lock is removed when the transaction is ended.
    _SCOPE = 2: The lock or lock release is passed to the update program. The update program is responsible for removing the lock. The interactive program with which the lock was requested no longer has an influence on the lock behavior. This is the standard setting for the ENQUEUE function module.
    _SCOPE = 3: The lock or lock release is also passed to the update program. The lock must be removed in both the interactive program and in the update program. This is the standard setting for the DEQUEUE function module.
    Parameters for Lock Mode
    A parameter MODE_<TAB> exists for each base table TAB of the lock object. The lock mode for this base table can be set dynamically with this parameter. Valid values for this parameter are S (shared), E (exclusive) and X (exclusive but not cumulative).
    The lock mode specified when the lock object for the table is created is the default value for this parameter. This default value can however be overridden as required when the function module is called.
    If a lock set with a lock mode is to be removed by calling the DEQUEUE function module, this call must have the same value for the parameter MODE_<TAB>.
    Controlling Lock Transmission
    Parameter _COLLECT controls whether the lock request or lock release should be performed directly or whether it should first be written to the local lock container. This parameter can have the following values:
    Initial value: The lock request or lock release is sent directly to the lock server.
    X : The lock request or lock release is placed in the local lock container. The lock requests and lock releases collected in this lock container can then be sent to the lock server at a later time as a group by calling the function module FLUSH_ENQUEUE.
    Behavior for Lock Conflicts (ENQUEUE only)
    The ENQUEUE function module also has the parameter _WAIT. This parameter determines the lock behavior when there is a lock conflict.
    You have the following options:
    Initial value: If a lock attempt fails because there is a competing lock, the exception FOREIGN_LOCK is triggered.
    X : If a lock attempt fails because there is a competing lock, the lock attempt is repeated after waiting for a certain time. The exception FOREIGN_LOCK is triggered only if a certain time limit has elapsed since the first lock attempt. The waiting time and the time limit are defined by profile parameters.
    Controlling Deletion of the Lock Entry (DEQUEUE only)
    The DEQUEUE function module also has the parameter _SYNCHRON.
    If X is passed, the DEQUEUE function waits until the entry has been removed from the lock table. Otherwise it is deleted asynchronously, that is, if the lock table of the system is read directly after the lock is removed, the entry in the lock table may still exist.
    Exceptions of the ENQUEUE Function Module
    FOREIGN_LOCK: A competing lock already exists. You can find out the name of the user holding the lock by looking at system variable SY-MSGV1.
    SYSTEM_FAILURE: This exception is triggered when the lock server reports that a problem occurred while setting the lock. In this case, the lock could not be set.
    If the exceptions are not processed by the calling program itself, appropriate messages are issued for all exceptions.
    Reference Fields for RFC-Enabled Lock Objects
    The type of an RFC-enabled function module must be completely defined. The parameters of the generated function module therefore have the following reference fields for RFC-enabled lock objects:
    Parameters
    Reference fields
    X_<field name>
    DDENQ_LIKE-XPARFLAG
    _WAIT
    DDENQ_LIKE-WAITFLAG
    _SCOPE
    DDENQ_LIKE-SCOPE
    _SYNCHRON
    DDENQ_LIKE-SYNCHRON
    Pls. reward if useful

  • Please Explain the sequencer ( J2EE Code )

    Hi,
    The following code is a part of Dao, I could understand the flow of the Dao classes but I really could not make out why this sequencer program is used.
    Please explain and send any URL which will help.
    Comments Plz.
    package lrnsource.src.com.lrn.dao.common;
    import java.sql.Connection;
    import java.sql.SQLException;
    * The Sequencer class represents the oracle
    * implementation of Sequencer.
    public interface Sequencer {
         * Gets the next number in sequence for the given entity.
         * @param entity the given entity.
         * @param con the connection object.
         * @return Returns the next number in sequence.
         * @exception throws SQLException when some problem with DB.
         public long getNextSequenceNumber(String entityName, Connection con) throws SQLException;
         * Gets the current number in sequence for the given entity.
         * @param entity the given entity.
         * @param con the connection object.
         * @return Returns the current number in sequence.
         * @exception throws SQLException when some problem with DB.
         public long getCurrentSequenceNumber(String entityName, Connection con) throws SQLException;
    package lrnsource.src.com.lrn.dao.common;
    import com.lrn.common.CommonConstants;
    * This class provides instance of sequencer
    public class SequencerFactory {
         * Public method which gets the runtime implementation class
         * for implementing the sequence generation related functions
         * @Param          seqType the sequencer type.
         * @return Sequencer interface, the type of implementation class.     
         public static Sequencer getSequencer(int seqType){
              Sequencer sequencer = null;
              switch (seqType) {
                   case CommonConstants.ORACLE_SEQUENCER:                    
                        sequencer = new GemsOracleSequencer();                          
              return sequencer;                    
    package lrnsource.src.com.lrn.common;
    * This class contains the constants used across lrn.
    * <p>
    public class CommonConstants {     
         public static final int ORACLE_PERSISTENCE                    = 1;
         public static final int ORACLE_SEQUENCER                    = 1;
         public static final String DATASOURCE_JNDI                    = "java:/comp/env/jdbc/GemsDB";
         public static final String ERROR_MESSAGES                    = "";
         public static final String CERTIFICATION_SERVICE          = "java:/comp/env/ejb/certification";
         public static final String QUESTION_SERVICE                    = "java:/comp/env/ejb/question";
         public static final String REGISTRY_SERVICE                    = "java:/comp/env/ejb/registry";
         public static final String ADMIN_USER                         = "ADMIN";
    }

    dear friend,
    please look here:
    http://help.sap.com/saphelp_47x200/helpdata/EN/c1/416a55de2a11d3b4ff006094b9b9dd/frameset.htm
    regards,

  • Hi Do we have tables for SAP BPC EPM Comments ? if we have what are they could you please explain some one.

    Hi Do we have tables for SAP BPC EPM Comments ? if we have what are they could you please explain some one.

    Hi Narahari,
    Yes, we have tables for SAP BPC EPM comments and it is stored in backend BW.
    Please follow the below steps to see it -
    1. Go to RSA1 and find the infoprovider name for the application/cube that contains the comments For example, the infoprovider name is /CPMB/VZIKG4O
    2.  Then Go to SE16 and enter the comment table name.  The comment tables are generated tables.  You can determine there name by using the following rules:
      a.  The table name always starts with '/1CPMB/'
      b.  The rest of the name is derived from the infoprovider name - it is the first two characters after the second '/' + the fourth, fifth and sixth characters + CMT (for comments) or CMTA (for archived comments). In my case the comments table name would be "/1CPMB/VZKG4CMT" and the archived comments table would be "/1CPMB/VZKG4CMTA".
    3.  Hit 'F7' or click the table contents button.
    4.  Enter the criteria for the comments you wish to export.
    Hope this helps.

  • In our enterprise MPLS network we are using 192.168.20.0/24 subnet, in this subnet we have not assigned the IP 192.168.20.200/30 & 204/30, But still these subnets are reachable . Are these NNI IP ...Please explain.

    In our enterprise MPLS network we are using 192.168.20.0/24 subnet, in this subnet we have not assigned the IP 192.168.20.200/30 & 204/30, But still these subnets are reachable . Are these NNI IP ...Please explain.

    I have checked with ISP, there response is like below:
    Those are the NNI to GBNET IPs for Dominican Republic. They are Network IPs. You should be able to ping them-that means they are working.
    WANRT01#show  ip route | include 192.168.20.20
    B        192.168.20.200/30 [20/0] via 192.168.20.226, 02:18:29
    B        192.168.20.204/30 [20/0] via 192.168.20.226, 02:18:29
    Here its shows from any of our MPLS site we are able to trace the IP and it seems like, 192.168.20.204/30 is one more site but in actual its not.
    INMUMWANRT01#ping 192.168.20.205
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 192.168.20.205, timeout is 2 seconds:
    Success rate is 100 percent (5/5), round-trip min/avg/max = 224/232/260 ms
    INMUMWANRT01#trace              
    INMUMWANRT01#traceroute 192.168.20.205
    Type escape sequence to abort.
    Tracing the route to 192.168.20.205
    VRF info: (vrf in name/id, vrf out name/id)
      1 192.168.20.226 24 msec 24 msec 24 msec
      2 192.168.20.206 [AS 8035] 232 msec 232 msec 252 msec
      3 192.168.20.205 [AS 8035] 224 msec 224 msec *

  • Please i have ordered for Bottom Case of white macbook for over 2 months now and the repair status is still processing. is dat normal

    please i have ordered for Bottom Case of white macbook (late 2009)for over 2 months now and the repair status is still processing. is dat normal? i really need the bottom case asap, how can i get it

    Call Apple.  Contact Apple for support and service
    This is a user to user forum, we don't work for Apple.

Maybe you are looking for

  • What is the Oracle equivalent of the Microsoft Access FIRST function?

    Using: Oracle 10gR2 RAC on SUSE Linux 9 (10.2.0.3) In the process of converting a Microsoft Access database to Oracle, an Access query is using the FIRST function. What is the Oracle equivalent of the Microsoft Access FIRST function? In the attempt t

  • Payment proposal issue

    Hi, I have an issue in payment proposal, where invoice value is getting reduced by 0.01 USD which has credit memo linked to it. Assume there are invoices for vendor and a credit memo and this credit memo need to be linked to the invoices, when you ru

  • How to create employee BP role in PCUI.

    Dear Experts,                     We are trying to maintain case mangement system for employees in CRM  but how to create BP with employee role in PCUI. In standard structure only Customer,Prospect,Consumer,& Competitor roles are available. Is there

  • How to upload into import archive

    How to import the XSL mapping and JCO LOOK UPS int to import archive archive  should i import java file or class file in look ups part , what abt the XSLT mappimg part, then i want to test the mapping part will you please tell me how to copy the alre

  • After I created a PDF file can I add documents to it? How?

    After I created a PDF file how can I add more documents ot it?