Complete Differences

Hi,
Please provide me all possible differences between...
1). Prepared Statement and Callable Statement
2). Abstract Class and Interface
Thanks,
R S

See this
http://www.javaworld.com/javaworld/javaqa/2001-04/03-qa-0420-abstract.html

Similar Messages

  • Version Difference in SRM 4.0 and SRM 5.0

    hi guys,
    Can someone tell me the upgrades that has been done in SRM 5.0 from SRM 4.0 ?
    Regards,
    Sree

    Hi
    Please go through the SAP official website to get the complete differences in the Release Notes (RIN).
    <b>Here is the link for the same -></b>
    <u>http://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000429834&_SCENARIO=01100035870000000202&</u>
    Do let me know.
    Regards
    - Atul

  • MAIN DIFFERENCES BETWEEN PARALLEL AND SEQUENTAIL PRCESSING???

    HI PALS,
    I WANT THE COMPLETE DIFFERENCES BETWEEN PARALLEL AND SEQUENTIAL PROCESSING!
    IN THE CONTEXT OF RFC.

    Hi
    Parallel Processing
    To achieve a balanced distribution of the system load, you can use destination additions to execute function modules in parallel tasks in any application server or in a predefined application server group of an SAP system.
    Parallel-processing is implemented with a special variant of asynchonous RFC. Itu2019s important that you use only the correct variant for your own parallel processing applications: the CALL FUNCTION STARTING NEW TASK DESTINATION IN GROUP keyword. Using other variants of asynchronous RFC circumvents the built-in safeguards in the correct keyword, and can bring your system to its knees
    Details are discussed in the following subsections:
    ·        Prerequisites for Parallel Processing
    ·        Function Modules and ABAP Keywords for Parallel Processing
    ·        Managing Resources in Parallel Processing
    Prerequisites for Parallel Processing
    Before you implement parallel processing, make sure that your application and your SAP system meet these requirements:
    ·        Logically-independent units of work:
    The data processing task that is to be carried out in parallel must be logically independent of other instances of the task. That is, the task can be carried out without reference to other records from the same data set that are also being processed in parallel, and the task is not dependent upon the results of others of the parallel operations. For example, parallel processing is not suitable for data that must be sequentially processed or in which the processing of one data item is dependent upon the processing of another item of the data.
    By definition, there is no guarantee that data will be processed in a particular order in parallel processing or that a particular result will be available at a given point in processing. 
    ·        ABAP requirements:
    ¡        The function module that you call must be marked as externally callable. This attribute is specified in the Remote function call supported field in the function module definition (transaction SE37).
    ¡        The called function module may not include a function call to the destination u201CBACK.u201D
    ¡        The calling program should not change to a new internal session after making an asynchronous RFC call. That is, you should not use SUBMIT or CALL TRANSACTION in such a report after using CALL FUNCTION STARTING NEW TASK.  
    ¡        You cannot use the CALL FUNCTION STARTING NEW TASK DESTINATION IN GROUP keyword to start external programs. 
    ·        System resources: 
    In order to process tasks from parallel jobs, a server in your SAP system must have at least 3 dialog work processes. It must also meet the workload criteria of the parallel processing system: Dispatcher queue less than 10% full, at least one dialog work process free for processing tasks from the parallel job.
    Function Modules and ABAP Keywords for Parallel Processing
    You can implement parallel processing in your applications by using the following function modules and ABAP keywords:
    ·        SPBT_INITIALIZE: Optional function module. 
    Use to determine the availability of resources for parallel processing. 
    You can do the following:
    ¡        check that the parallel processing group that you have specified is correct.
    ¡        find out how many work processes are available so that you can more efficiently size the packets of data that are to be processed in your data.
    ·        CALL FUNCTION Remotefunction STARTING NEW TASK Taskname DESTINATION IN GROUP:
    With this ABAP statement, you are telling the SAP system to process function module calls in parallel. Typically, youu2019ll place this keyword in a loop in which you divide up the data that is to be processed into work packets. You can pass the data that is to be processed in the form of an internal table (EXPORT, TABLE arguments). The keyword implements parallel processing by dispatching asynchronous RFC calls to the servers that are available in the RFC server group specified for the processing.
    Note that your RFC calls with CALL FUNCTION are processed in work processes of type DIALOG. The DIALOG limit on processing of one dialog step (by default 300 seconds, system profile parameter rdisp/max_wprun_time) applies to these RFC calls. Keep this limit in mind when you divide up data for parallel processing calls. 
    ·        SPBT_GET_PP_DESTINATION: Optional function module. 
    Call immediately after the CALL FUNCTION keyword to get the name of the server on which the parallel processing task will be run. 
    ·        SPBT_DO_NOT_USE_SERVER: Optional function module. 
    Excludes a particular server from further use for processing parallel processing tasks. Use in conjunction with SPBT_GET_PP_DESTINATION if you determine that a particular server is not available for parallel processing (for example, COMMUNICATION FAILURE exception if a server becomes unavailable).
    ·        WAIT: ABAP keyword
    WAIT UNTIL
    Required if you wish to wait for all of the asynchronous parallel tasks created with CALL FUNCTION to return. This is normally a requirement for orderly background processing. May be used only if the CALL FUNCTION includes the PERFORMING ON RETURN addition.
    ·        RECEIVE: ABAP keyword
    RECEIVE RESULTS FROM FUNCTION Remotefunction
    Required if you wish to receive the results of the processing of an asynchronous RFC. RECEIVE retrieves IMPORT and TABLE parameters as well as messages and return codes.
    Managing Resources in Parallel Processing
    You use the following destination additions to perform parallel execution of function modules (asynchronous calls) in the SAP system:
    In a predefined group of application servers:
    CALL FUNCTION Remotefunction STARTING NEW TASK Taskname
    DESTINATION IN GROUP Groupname
    In all currently available and active application servers:
    CALL FUNCTION Remotefunction STARTING NEW TASK Taskname
    DESTINATION IN GROUP DEFAULT
    Sequential Processing
    In the following cases, the system chooses sequential (non-parallel) processing:
    ●      In table RSADMIN, entry QUERY_MAX_WP_DIAG has value (column value) 1.
    ●      The entire query consists of one sub-access only.
    ●      The query is running in a batch process.
    ●      The query was started from the query monitor (transaction RSRT) using various debug options (for example, SQL query display, execution plan display). See, Dividing a MultiProvider Query into Sub-Queries.
    ●      The query requests non-cumulative key figures.
    ●      Insufficient dialog processes are available when the query is executed. These are required for parallel processing.
    ●      The query is configured for non-parallel processing.
    ●      You want to save the result of the query in a file or a table.
    In Release SAP NetWeaver 7.0, the system can efficiently manage the large intermediate results produced by parallel processing. In previous releases, the system terminated when it reached a particular intermediate result size and proceeded to read data sequentially. This is no longer the case. Therefore, the RSADMIN parameter that was used in previous releases for reading a MultiProvider sequentially is no longer used.
    Reward If Helpfull,
    Naresh

  • Initialization & at selection-screen output difference

    i think what we are handling in INITIALIZATION also we can handle same in  AT SELECTION SCREEN OUTPUT also. can any one give example where we can handle things only in INITIALIZATION instead of AT SELECTION-SCREEN OUTPUT.

    hi
    good
    INITIALIZAION->
    This event occurs before the standard selection screen is called. During this event block, the input fields of the standard selection screen can only be initialized once after the program has been started.
    INITIALIZATION.
      airp_fr-sign = 'I'.
      airp_fr-option = 'EQ'.
      airp_fr-low = 'JFK'.
      APPEND airp_fr.
      airp_to-sign = 'I'.
      airp_to-option = 'EQ'.
      airp_to-low = 'FRA'.
      APPEND airp_to.
      carrid-sign   = 'I'.
      carrid-option = 'BT'.
      carrid-low    = 'AA'.
      carrid-high   = 'LH'.
      APPEND carrid.
      datum+6(2) = '01'.
    AT SELECTION-SCREEN OUTPUT->
    In the PBO of the selection screen, the
    AT SELECTION-SCREEN OUTPUT
    event is triggered. This event block allows you to modify the selection screen and its fields directly before it is displayed.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF screen-group1 = 'SC1'.
          screen-intensified = '1'.
          MODIFY SCREEN.
          CONTINUE.
        ENDIF.
        IF screen-group1 = 'SC2'.
          screen-intensified = '0'.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    if you go through this you ll find both are completely difference and they do different job at different point.
    thanks
    mrutyun^

  • Adobe Photo Downloader has encountered a problem and needs to close. We are sorry for the inconvenience.  Error Code: c0000005  Address: 76f73ac3     I clicked on the OK button and the downloader closed.     I then tried to download from the organizer. I

    Photoshop Elements 12
    Adobe Photo Downloader has encountered a problem and needs to close. We are sorry for the inconvenience.
    Error Code: c0000005
    Address: 75e32f71
    I clicked on the OK button and the downloader closed.
    I did a search on this error code (c0000005) and there seems to be a workaround but no solutions, why is this? I ask that because this problem seems to be years and years old, going back to at least 2005 (do the math that is 10 years).
    I don't even have the Camera hooked up and I get this error on download.  I redownloaded everything and reinstalled.  I allso saw the AVI issues reported with this proble so i updated Quicktime though without the camera being hooked up when I get this error I didn't expect that to work.  I tried support and they wouldn't help because I bought it in March this year.  Pretty frustrating as I have re-purchased Elements about every 2 years.  I think I might need a new CODEC?   I had this problem on an Earlier version And I seem to remember that being the Fix but this may be something completely different

    I finally found that it was missing a picture so the Catalog was "corrupted".  I just deleted the picture and it started working.
    I hate Adobe and their total lack of support - thanks for nothing Adobe .  Also get this - they offered me to upgrade to 13.0 ( My 12.0 is only 6 months old  but they still don't support it on errors.  Only install errors!
    I have upgrade and repurchase this product 4 times now.  I will find something else next time!

  • SUBMIT rkaep000 in background

    Hi Guru's,
    I've created a selection wirh differents parameters :
    1)Controlling area - KOKRS
    2)Partner Object -PAROB
    3)Posting date - BUDAT
    4)Debit TYPE-BELTP
    5)Business Transaction - VRGNG
    I try to pass those parameters in background to the report rkaep000  but the names in this reports are completely differents.
    For the Controlling area, posting date and the cost it is ok but not for the others. I don't find them.
    *  "Partner Object
      LOOP AT s_parob.
        CLEAR wa_p.
        wa_p-selname = 'PAROB1'.
        wa_p-kind = 'S'.
        wa_p-sign = s_parob-sign.
        wa_p-option = s_parob-option.
        wa_p-low = s_parob-low.
        wa_p-high = s_parob-high.
        APPEND wa_p TO i_tab.
      ENDLOOP.
    *  "Posting Date
      LOOP AT s_budat.
        CLEAR wa_p.
        wa_p-selname = 'R_BUDAT'.
        wa_p-kind = 'S'.
        wa_p-sign = s_budat-sign.
        wa_p-option = s_budat-option.
        wa_p-low = s_budat-low.
        wa_p-high = s_budat-high.
        APPEND wa_p TO i_tab.
      ENDLOOP.
    *  "Debit Type
    *  CLEAR wa_p.
    *  wa_p-selname = 'BELTP'.
    *  wa_p-kind = 'P'.
    *  wa_p-sign = 'I'.
    *  wa_p-option = 'EQ'.
    *  wa_p-low = p_beltp.
    *  APPEND wa_p TO i_tab.
    *  "Bus. Transaction
    *  LOOP AT s_vrgng.
    *    CLEAR wa_p.
    *    wa_p-selname = 'VRGNG'.
    *    wa_p-kind = 'S'.
    *    wa_p-sign = s_vrgng-sign.
    *    wa_p-option = s_vrgng-option.
    *    wa_p-low = s_vrgng-low.
    *    wa_p-high = s_vrgng-high.
    *    APPEND wa_p TO i_tab.
    *  ENDLOOP.
        SUBMIT rkaep000
          WITH p_tcode = 'KSB1'
         WITH SELECTION-TABLE i_tab
           TO SAP-SPOOL
             SPOOL PARAMETERS print_parameters
             ARCHIVE PARAMETERS archi_parameters
             WITHOUT SPOOL DYNPRO
             VIA JOB w_name NUMBER w_number
           AND RETURN.
    Anybody could help me please?
    Regards,
    Mohamed.

    Of course but the problem it is it doesn't help me.
    I tried also to expand the submit but I don't for which of those fields I have to enter the parameters.
    SUBMIT rkaep000
            with aufgr ...
            with aufnr ...
            with f_belnr ...
            with gr_wrttp ...
            with g_tname ...
            with g_values ...
            with i_kstrg ...
            with i_matnr ...
            with i_posnr ...
            with i_procnr ...
            with i_salor ...
            with i_werks ...
            with koagr ...
            with kostl ...  * Cost Center
            with kstar ...
            with kstgr ...
            with przgr ...
            with prznr ...
            with p_actvrs ...
            with p_afabe ...
            with p_arobj ...
            with p_aufnr ...
            with p_disvar ... * Layout
            with p_fixvar ...
            with p_gesw ...
            with p_infsys ...
            with p_item ...
            with p_kokrs ... * COntrolling Area
            with p_maxsel ...
            with p_obj ...
            with p_open ...
            with p_tcode ...
            with p_usear ...
            with p_usedb ...
            with p_usegrd ...
            with p_valtyp ...
            with r_arsel ...
            with r_awvrs ...
            with r_belnr ...
            with r_budat 
            with r_budat1 ...
            with r_budat2 ...
            with r_gjahr ...
            with r_gjahr1 ...
            with r_gjahr2 ...
            with r_obdat ...
            with r_perio ...
            with r_perio1 ...
            with r_versa ...
            with r_versn ...
    But I don't know where are the Partner Object (PAROB), Business Transaction (VRGNG) and the Debit Type (BELTP).

  • Set G/L Accounts By: Warehouse o

    Hi,
    Can any one please explain me the complete difference between setting G/L Account By Item Group, Item Level and Warehouse? I would be very convinced if the journals are explained and the effects on the G/L Account posting listed discretely. Which is a regular practice in India?
    Regards
    Sudatta Mohanty

    Hi Sudatta Mohanty,
    G/L setting by item groups facilitates you to get your accounts hit as per your item grouping. Let suppose you have two item groups, finished goods and raw materials and you set G/L account by Item Group. Now in the inventory account of Finished goods your G/L A/C related to finished goods would be mapped and G/L A/C for raw material in the Raw material's inventory A/C if you maintain G/L inventory value separately. Now whenever you will purchase something in finished goods, your finished goods A/C would be DR and any relevant clearing A/C would be CR with the purchased amount. The simplest G/L determination is by warehouse and then by Item Group. If you have very complex G/L posting requirements then you have to choose G/L setting by Items (which is vevry rarely used, only in mid to large account organizations).
    I hope it would help you.
    Regards,
    /Siddiq

  • Qemu - Bridged networking with wireless adapter

    How can I use bridged networking with wireless on Qemu virtual machine? With virtualbox it can be easily done. I don't why in Qemu it is so complicated, maybe virtualbox have completely difference mechacnism on this. I've read the wiki, it looks like impossible to use wireless for bridged networking. If it is really impossible, why virtualbox can do it?
    And, in arch wiki's qemu manual, i didn't see how to use NetworkManager there to do bridged networking. Since, I use NetworkManager and disable the others (like netct and dhcpcd), it make it even more complicated. But, maybe it's because me that don't understand. Maybe someone experienced here can give me a way around this?

    bagol wrote:How can I use bridged networking
    It's up to you to set up the bridged network - or use TAP, e.g.:
    ip tuntap add dev <devname> mode tap user <youruser>
    ip lin set <devname> up
    ip route ...
    ... and proxy_arp
    ... and iptables forwarding & masquerade
    It's a good learning experience, to set up the network yourself, rather than have VirtualBox do similar things by *magic*

  • Seriously! I can't rotate photos 90 degrees with a two finger gesture?

    I received a mms from my momz and the picture is sideways. I went to rotate the photo with the two finger gesture just like on my mac in iphoto and it didn't work. Why would they leave this out? Seriously I can't do this on the Iphone 4S!? If you know of any way to do it on the phone it would be greatly appreciated. Otherwise I still have to tilt the phone a bit so it goes into landscape orientation then tilt my head to line up so I can get the same relative view as if it were right side up.

    Different interface? Not completly. Touchpad...Touchscreen... What is the difference? Not really a complete difference. The touchpad is not on top of the screen and the same size (two differences there but the process is the same).  I should be able to use the same gesture whether on my macpro touchpad or the touchscreen of my iphone to do the same thing with photos. They are both touch based devices. Placing two fingers on the touchpad (macPro) or the touchsreen (Iphone 4S) and then rotating each finger in the same orbit should rotate the photo.  Works in Iphoto so the same should work for photos on the Iphone.

  • Process Version 2010

    I'm just curious how many other people out there are like me and still use Process Version 2010?  I find that I cannot achieve the same quality results using PV 2012 - those controls simply do not offer me the flexibilty and overal tonal control that I have with PV2010.  I shoot and edit fashion photography professionally, and I have very specific needs regarding tonality adjustments. I find I am reliant on Recovery, Fill Light, Blacks and Brightness sliders in order to fine tune lighting falloff on skin and clothing.  I have tried numerous times to use PV2012 but the results are far inferior to PV2010 for my needs.  Anyone else out there feel the same?  In case you're wondering, you can see examples of my PV 2010 work on pretty much all the photos on my website (davidwalden dot com). I just can't get these results with PV2012. 
    Out of curiosity, is there a technical reason why Adobe can't combine both process version controls, and offer all sliders from both versions in one layout?
    thanks,
    d

    trshaner wrote:
    Combining PV2012's and PV2010's controls would be like adding a 10-band audio frequency equalizer to your sound system and then still using the Bass and Treble controls. They simply wouldn't play (pun) together very well and would make PV2012 even more difficult to use.
    That's one way of looking at it, but I don't think the difference is that straighfroward. It's more like they've replaced some controls with other controls that they deem "superior", but honestly the 2 sets of controls yield completely difference results.  Based on the results that you want, you might prefer one set of controls over the other.  I definitely do not think that having both sets in one interface would make it more difficult - it would be the best solution.  That would be the 10-band equalizer you mentioned
    Highlights and Whites is supposed to be a more refined version of Recovery. I get that, and probably in some situations it is superior (architecture and nature photography). Btw, I looked at the Siggraph paper and yes, once again they are using architecture and naturally lit environments to show how much detail can be recovered.  Recovering detail, in a very basic sense, is only one (limited) use of a photo editing toolset.  Another (more important imho) use is controlling color and contrast on human skin at different tonality ranges.  This is my primary concern during photo editing, and architecture and nature photo editing does not address these concerns. I find that the contrast that I get in highlight regions using Recovery gives me better results. Also, I use this in combination with the ToneCurve - Lights and Highlights sliders - to tweak the highlight ratios.
    It is interesting that the 2012 Basic controls nearly mirror the ToneCurve sliders - Highlights, Lights, Darks and Shadows.  Now we have 2 sets of controls in 2012 - Basic and ToneCurve - that affect similar regions.  Is this redundant at all?  Perhaps.  I find that the ToneCurve and 2010 Basic controls actually compliment each other better, because they have distinct functional differences.   For example, the Blacks slider is more akin to setting a black points using a Levels adjustment in Photoshop.  This is different from using the Shadows slider in the ToneCurve, and different from setting the ToneCurve black point manually - these things yield different results. From my experience it is better to use the Blacks slider for this, and then tweak the value using the ToneCurve black point manually (although I typically use the the manual ToneCurve points for adjusting contrast, not for setting black points - that's why an additional Levels adjustment widget would be a superior solution imho).
    Also, getting back to my earlier point about contrast at different tonalities, one thing that I have historically used Blacks and Fill Light in PV2010 is for adding/controlling *mid-tone* contrast.  Increasing these together has the effect of increasing contrast in mid-tonal regions where previously no contrast was perceptible. This is an important part of color correction process. I have tried to replicate this effect in PV2012, but the mid-tones loose the contrast and detail. Adjusting the PV2012 Shadows and Blacks sliders from my experience produces "smooth" results, but not "desireable" results. Meaning that, the darker tonalities are lifted, but the contrast and detail is lost.
    I will try to post one or more examples showing some of these concerns.  I appreciate all the feedback you guys give.
    -d

  • Z10 Automatic Contact Linking

    Hi,
    I have a Z10 that is setup with my Work's BES server for Email/Contacts as well as having my yahoo contacts.
    It seems that once both contacts lists are populated they are automatically linked based on similarities that don’t make sense. Ei) All my family members with same last name get linked under one contact, so in effect only one name pop’s up as being a contact in my phone. Where as some contacts are linked that are completely difference names.
    I have tried wiping the phone and re-adding my contacts lists but it continues to link contacts together based on random criteria.
    My questions are:
    Is there a way to disable automatic linking of contacts?
    What criteria cause contacts to link?
    Is this an indication of a faulty device?
    Cheers,

    This might help:  Plug the charger in the phone and outlet, leave for 10 minutes. With charger still connected to phone and outlet remove the battery for a few minutes then reinstall the battery

  • Substitution vs bind variable

    Hi,
    Can you please give me the differences between substitution vs bind variables? I have done many searches and I am lost. Any examples would be great.
    Thanks.
    -U

    Perhaps what is needed is a simple example of both.
    h2. Substitution Variables
    The clue here is in the name... "substitution". It relates to values being substituted into the code before it is submitted to the database. These substitutions are carried out by the interface being used. In this example we're going to use SQL*Plus as our interface...
    So let's take a bit of code with substitution variables:
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace function myfn return varchar2 is
      2    v_dname varchar2(20);
      3  begin
      4    select dname
      5    into   v_dname
      6    from   dept
      7    where  deptno = &p_deptno;
      8    return v_dname;
      9* end;Now when this code is submitted...
    SQL> /SQL*Plus, parses the code itself, and sees the "&" indicating a substitution variable.
    SQL*Plus, then prompts for a value for that variable, which we enter...
    Enter value for p_deptno: 20
    old   7:   where  deptno = &p_deptno;
    new   7:   where  deptno = 20;... and it reports back that it has substitution the &p_deptno variable for the value 20, actually shoing us the whole line of code with it's value.
    This code is then submitted to the database. So if we look at what the code is, now created on the database we see...
    SQL> select dbms_metadata.get_ddl('FUNCTION', 'MYFN', USER) from dual;
    DBMS_METADATA.GET_DDL('FUNCTION','MYFN',USER)
    CREATE OR REPLACE FUNCTION "SCOTT"."MYFN" return varchar2 is
      v_dname varchar2(20);
    begin
      select dname
      into   v_dname
      from   dept
      where  deptno = 20;
      return v_dname;
    end;The database itself knows nothing about any substitution variable... it just has some fixed code with the value we supplied, that SQL*Plus substituted when we compiled it.
    The only way we can change that value is by recompiling the code again, and substituting a new value for it.
    Also, with substitution variables we don't necessarily have to use them just for 'values' (though that it typically what they're used for)... we can use them to substitute any part of the code/text that we are supplying to be compiled.. e.g.
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace function myfn(x in number, y in number) return number is
      2  begin
      3    return &what_do_you_want_to_return;
      4* end;
    SQL> /
    Enter value for what_do_you_want_to_return: y*power(x,2)
    old   3:   return &what_do_you_want_to_return;
    new   3:   return y*power(x,2);
    Function created.
    SQL> select dbms_metadata.get_ddl('FUNCTION', 'MYFN', USER) from dual;
    DBMS_METADATA.GET_DDL('FUNCTION','MYFN',USER)
    CREATE OR REPLACE FUNCTION "SCOTT"."MYFN" (x in number, y in number) return number is
    begin
      return y*power(x,2);
    end;It really does substitute the substitution variable, with whatever text you type.
    So, that's substitution variables. In summary they are variables that the user interface detects and prompts for text to substitute into the code before submitting it to the database.
    h2. Bind Variables
    Bind variables are a completely difference concept to substitution variables.
    Bind variables typically relate to SQL queries, and are a placeholder for values within the query. Unlike substitution variables, these are not prompted for when you come to compile the code.
    Now there are various ways of supplying bind variables, and I'll use a couple of examples, but there are more (such as binding when creating queries via the DBMS_SQL package etc.)
    In the following exaxmple:
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace function myfn(p_deptno in number) return varchar2 is
      2    v_dname varchar2(20);
      3    v_sql   varchar2(32767);
      4  begin
      5    v_sql := 'select dname from dept where deptno = :1';
      6    execute immediate v_sql into v_dname using p_deptno;
      7    return v_dname;
      8* end;
    SQL> /
    Function created.The ":1" is the bind variable in the query.
    If you examine queries running in the database you will typically see bind variables represented as :1, :2, :3 and so on, though it could be anything preceded by a ":" such as :A, :B, :C, :X, :FRED, :SOMETHING etc.
    When the query is passed to the SQL engine (in this case by the EXECUTE IMMEDIATE statement), the query is parsed and optimised and the best execution plan determined. It doesn't need to know what that value is yet to determine the best plan. Then when the query is actually executed, the value that has been bound in (in this case with the USING part of the execute immediate statement) is used within the execution of the query to fetch the required data.
    The advantage of using bind variables is that, if the same query is executed multiple times with different values being bound in, then the same execution plan is used because the query itself hasn't actually changed (so no hard parsing and determining the best plan has to be performed, saving time and resources).
    Another example of using bind variable is this:
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace function myfn(p_deptno in number) return varchar2 is
      2    v_dname varchar2(20);
      3  begin
      4    select dname
      5    into   v_dname
      6    from   dept
      7    where deptno = p_deptno;
      8    return v_dname;
      9* end;
    SQL> /
    Function created.Now, this isn't immediately obvious, but what we have here is the ability of the PL langauge to seamlessly integrate SQL within it (giving us PL/SQL). It looks as though we just have an SQL statement in our code, but in reality, the PL engine parses the query and supplies the query to the SQL engine with a bind variable placeholder for where the PL variable (parameter p_deptno in this case) is within it. So the SQL engine will get a query like...
    select dname
    from   dept
    where  deptno = :1and then the PL engine will handle the binding of the value (p_deptno) into that query when it executes it, as well as dealing with the returning value being put INTO the PL variable v_dname. Again the SQL supplied to the SQL engine can be optimised and re-used by code because it isn't hard coded with values.
    So, here, the binding of values is implicit because the PL engine is removing the need for us to have to code them explicitly.
    The other advantage of using bind variables is that you don't have to worry about the datatypes.
    Often we see people creating code such as this (going back to a similar dynamic SQL example)...
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace function myfn(p_hiredate in date) return number is
      2    v_empno number;
      3    v_sql   varchar2(32767);
      4  begin
      5    v_sql := 'select empno from emp where hiredate = to_date('||to_char(p_hiredate,'DD/MM/YYYY')||',''DD/MM/YYYY'')';
      6    execute immediate v_sql into v_empno;
      7    return v_empno;
      8* end;
    SQL> /
    Function created.... where the developer is trying to concatenate in a date or varchar variable with the appropriate single quotes and formatting required to make the SQL make sense. Not only does that prevent the SQL explain plan from being re-used with different values, but it makes the code hard to maintain and get right in the first place (as well as leaving things open to SQL injection)
    But, with bind variable, that's not necessary... simply doing...
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace function myfn(p_hiredate in date) return number is
      2    v_empno number;
      3    v_sql   varchar2(32767);
      4  begin
      5    v_sql := 'select empno from emp where hiredate = :1';
      6    execute immediate v_sql into v_empno using p_hiredate;
      7    return v_empno;
      8* end;
    SQL> /
    Function created.... is all that is needed.
    The SQL engine knows that it is expecting a DATE datatype for the value because of what it's being compared against, and the USING statement is supplying a value of DATE datatype. No messy need to play with date formats or quotes etc. it just simply works. (and the same with other datatypes).
    So, that's bind variables. In summary they are placeholders in queries that allow SQL queries to be soft parsed rather than hard parsed when the query is re-used, help prevent SQL injection, and allow for the values to be supplied easily and seamlessly by the issuing code.

  • Data Provider

    Hi,
         1.What are the data providers in WEBI.
        2.WEBI&DESKI. which one is better to use?
                    Please any one help me....

    Hi,
    1.What are the data providers in WEBI.
    To create reports in webintelligence, can use only UNIVERSE as a dataprovider.  Web Intelligence supports only Universe.
    Desk top Intelligence supports differnt type of data providers.
    1.Universe
    2.Free Hand SQL
    3.Stored Procedure
    4.Personal data file(like excel, doc)
    5.XML and
    6.VB application Procedures
    2.WEBI & DESKI. which one is better to use?
    Deski Reports: These are standard .rep files created from the full client (Desktop Intelligence) and these reports can be built using all the tools/options available in BO.
    These deski reports can be viewed in the Infoview/Web Intelligence but cannot be modified.
    Webi Reports:These are .wid files created using the WEBI XI, and these reports can use limited tools/options available in BO(ref. comparison document on the BO website for complete difference on Webi and Deski reports).These reports can be built and viewed and modified/created using Infoview/Web Intelligence.
    My opinion is webi is better to use.
    Thank you.

  • Very wierd flash problem

    Hi today i came back to my pc after leaving it to defrag over night, when i went on to youtube earlier it informed me that i didn't have flash installed when i know for a fact i did, so i went into add/remove programs and the flash activex and the plugin were not there! Last night there was Air/Flash ActiveX/Flash Plugin and Reader. The activex and plugin have just uninstalled themselves! When i look in program files there is "C:\Program Files\Adobe\Flash Player\AddIns\airappinstaller\" in that folder there is adobe air installer and a digest.s file, flash player folder is empty except addins folder and that folder is empty except for airappinstaller folder. Also in "C:\WINDOWS\system32\Macromed\Flash" there is Flash10n.ocx file ActiveX Control. WTH! Now this gets even better. When i go to get.adobe.com/flashplayer and download the file i get "install_flashplayer10_chrd_aih.exe" and it says "Description: Adobe Flash Player Installer, Company: Solid State Networks" When i downloaded the 11 beta i got "flashplayer11_b1_install_win_pi32_071311.exe" Description: Adobe® Flash® Player Installer/Uninstaller 11.0 d1, Company: Adobe Systems Inc.
    What the hell is going on here? i uploaded the "solid state networks" file to virustotal none of the scanners flagged it but there is community members who say it is malware. Sorry if i'm going a bit in circles i'm just completely stunned as to what's just happened this has never happened before. I really hope i can get some help on this, thank you very much.
    Also the icons for the files are completely different

    I have my theory as for how your Flash Player got uninstalled.  Do you have automatic updates (Flash Player) enabled?
    It would also be interesting to know the contents of FlashInstall.log in C:\Windows\system32\Macromed\Flash
    As already indicated in the other topic, it would be best if you uninstalled the current Flash Player completely using http://kb2.adobe.com/cps/141/tn_14157.html and reinstall the latest version from http://www.adobe.com/products/flashplayer/fp_distribution3.html

  • Migrate jobs from one OEM instance to another

    Hi,
    We have an OEM 11g dev server, where we are testing and creating many job definitions.
    We also have an OEM 10g prod server, that we will soon upgrade to 11g.
    Is there a way or a tool to migrate all jobs from the OEM 11g dev server to the OEM 11g prod server?
    thanks

    It might be benefiicial to list more detail. What versions of OEM, assuming 10.2.0.5? What version of DB, in our case it was 10.1.0.4.0.
    Our path was to export 10.1.0.4 into 11.1.0.7.0, then upgrade to 11.2.0.3.0 which all of our DB's are.
    However, from Collaborate and from forums/communities, the consensus was it was better to install OEM 12c from scratch and skip 11g all-together.
    So that's where we are. Installed OEM 12c on another server (we wanted to decommision our 10g server anyway).
    Running OEM 10g/12c Parallel (Agents on different ports). Configuring as we go. OEM 12c I will say, at least IMHO (In My Humble Opinion) is a a complete difference from OEM 10g (rule-wise). Not that there are no similarities, just how you get there is a lot different.
    Anyway hope this helps!

Maybe you are looking for