Why ?= used in wide casting

in wide casting , if we are assigning super class object2 to super class object1 using '?='. having the same effect as '='. so y we need to add '?' in wide casting.
class lcl_super DEFINITION.
   PUBLIC SECTION.
   METHODS method1.
  ENDCLASS.
  CLASS lcl_super IMPLEMENTATION.
    method method1.
      write : 'super class method'.
      ENDMETHOD.
      ENDCLASS.
  class lcl_sub DEFINITION INHERITING FROM lcl_super.
    PUBLIC SECTION.
    methods : method1 REDEFINITION,
              method2.
    ENDCLASS.
    CLASS lcl_sub IMPLEMENTATION.
      method method1.
        write ' subclass method1'.
        ENDMETHOD.
        method method2.
          write 'subclass method2'.
          ENDMETHOD.
      ENDCLASS.
data: obj1 type REF TO lcl_super,
       obj2 type REF TO lcl_sub.
START-OF-SELECTION.
create OBJECT obj1.
CREATE OBJECT obj2.
obj1 = obj2.                                     "Narrrowing casting
CALL METHOD obj1->method1.
data obj3 type REF TO lcl_super.
create OBJECT obj3.
obj1 ?= obj3.   or obj1 = obj3             "   is having same effect  in Widecasting,  so why need '?'
obj1->method1( ).

Hi vijay,
in addition to what Rudiger said, to know what ?= means, refer to this link: http://help.sap.com/abapdocu_70/en/ABAPMOVE.htm
In the next example, ?= is needed:
DATA:  obj_struct  TYPE REF TO cl_abap_structdescr.
obj_struct ?= cl_abap_structdescr=>describe_by_name( 'DDTAB_NAME' ).
Regards,
Angelo.

Similar Messages

  • Why narrow casting is must before doing wide casting

    Hi everyone,
    I know the concept of wide casting ( assign/pass super class instances to subclass instances). So then why we need to do narrow casting before doing wide casting in our logic. I am just struggling into this concept from last 3 days. I have read many thread and blog but did not get satisfactory answer.
    Regards,
    Seth

    Hello Seth
    You do not need to do narrow casting. But, if you assign an instance of a super class to variable of subclass and try to run a subclass' method on that instance (of superclass) you will get an exception. Because super class does not have a mentioned method.
    Example:
    CLASS lcl_vehicle DEFINITION.
    ENDCLASS.
    CLASS lcl_car DEFINITION INHERITING FROM lcl_vehicle.
      DATA engine TYPE string VALUE 'has_engine'.
    ENDCLASS.
    DATA:
      lo_vehicle TYPE lcl_vehicle,
      lo_car TYPE lcl_car.
    CREATE OBJECT lo_vehicle.
    CREATE OBJECT lo_car.
    WRITE lo_car->engine.
    lo_car ?= lo_vehicle.
    WRITE lo_car->engine.
    regards

  • How important it is to understand Concept of Narrow & Wide casting in ABAP Objects

    Hi Friends,
    I Understood that, it is very important to understand the concept of "Casting ( Narrow Casting & Wide Casting )" properly.
    Let us see the following cases where the concept of "Casting ( Narrow Casting & Wide Casting )" comes into the picture in various practices of Abap, Webdynpro abap and FPM.
    1. ABAP:-
    When we are working with RTTS in abap it is very much important we must know the Casting Techniques. Without knowledge of the Casting of objects, there will be a lot of trouble we may faces.
    Mainly RTTS offers Runtime Type Services, means RTTS Programming enables us to find the type of the particular data obejct or data type or data reference in the run time.
    RTTS also enables us to create the data in the run time very dynamically.
    So, in the run time when we finding the type of the data objects or creation of data objects in the run time, We must do the Wide casting and Narrow casting also some times on the references provided by SAP Dynamically.
    So, here we go to have knowledge on Casting is mandatory.
    2. WEBDYNPRO ABAP:-
    The another point where the concept of casting comes into picture is , When we working with the ALV Reports and Dynamic programming of WEBDYNPRO. Here also we should posses good casting skills.
    3. FPM:-
    The major use of casting comes in hand is none other than FPM. When we working with certain Floor Plans or when we woking with Feeder Class concept of FPM, Casting comes into picture again.
    Along with Casting ( Narrow casting & Wide casting ), We must have the knowledge of 'Field Symbols' and 'Data References (known & Unknown)' to work with our all complex scenarios of Webdynpro and FPM and all.
    So guys, please have Knowledge on the following, befor you master on advanced techniques of WEBDYNPRO and FPM etc.
         1. Field Symbols
         2. Data References (known & unknown)
         3. Casting (Narrow casting & Wide casting)
         4. Brief Idea about RTTS
    All the above 4 concepts will definitely make our life easy when dig more into WEBDYNPRO ABAP and FPM.
    Thank You.
    Please share your comments on the same.

    Hi Shankar,
    It's really good to know.
    It could be great if you can share few technicalities for the concepts explained.
    Regards,
    Rafi

  • Best way to configure Photoshop workflow settings when source photos are shot in AdobeRGB, edited using a wide gamut display, and output to sRGB?

    Being able to quickly produce finished photos is of importance with the majority of my photography work. Therefore I shoot, process, and deliver JPEG files. For this time sensitive workflow there is no benefit to my clients by my shooting RAW. I do want to be able to accommodate any possible future uses of the photos, so I shoot using the Adobe RGB color space. The output for my clients are JPEG images for use on the Web, therefore sRGB. I currently used a wide gamut display (NEC PA302W) with a 24-bit graphics card. (I plan on upgrading to a 30-bit card sometime in the future.)
    I've noticed that in Internet Explorer the reds in my finished photos are overly intense on my display. My photos look fine in other web browsers on my display. This situation has me concerned as I do not know exactly why it is happening since my photos have the sRBG color profile embedded and IE supports embedded color profiles. If anything, I would think the reds would be overly intense in other applications that do not support embedded color profiles.
    Please let me know if my workflow can be improved, outside of shooting RAW and using a 30-bit display:
    Shoot JPEG photos in Adobe RBG color space
    Edit photos in Photoshop using wide gamut display, 24-bit
    Color Settings: Monitor Color (Monitor RGB -  PA302W, calibrated)
    Save for Web, JPEG, Embed Color Profile, Convert to sRGB
    While working in Photoshop the reds appear fine. When saving for the Web and previewing 'Monitor Color' the reds are intense, when previewing 'Internet Standard RGB (No Color Management)' the reds appear fine. The final saved images look fine with the exception of when displayed in IE, which supports embedded color profiles- Color Management.

    You're rapidly making a mess out of this. Stop, sit back, and stop thinking there's a "problem" to "fix". There isn't - you just need to use software that is color managed. That disqualifies IE right off. Stop using it, throw it away. It's useless with wide gamut displays. Use Firefox, which has proper color management.
    OK. Save For Web in sRGB, embed profile. So far so good. But:
    Don't ! set your working space to Monitor Color!. That turns off display color management which is the very last thing you want with a wide gamut monitor. You could sort of get away with that with a standard gamut monitor, because it's not all that different from sRGB anyway. So you wouldn't notice the difference (but it's there). The fact that your Adobe RGB files look right in Photoshop is purely coincidental. Any other profile will look wrong.
    With a wide gamut display you absolutely and unconditionally need a fully color managed pipeline. That means 1. an embedded document profile, 2. a valid display profile (Spectraview or other calibrator), and 3. an application that reads both profiles and does the conversion from one to the other as the image is sent to the display.
    See, it's not just the document profile. That's half of it. The other half is the display profile. IE doesn't use the display profile, instead substituting sRGB. And that's very wrong with that monitor. Firefox is fully color managed if there is an embedded document profile. But it can be configured to color manage even if the image is untagged (and a lot of material on the web is untagged). It does this by assigning sRGB to the image.
    To configure this - and you really need that with a wide gamut monitor - type "about:config" without the quotes in the address bar and hit reload. Scroll down to gfx.color_management.mode, and change it from 2 to 1. Relaunch. All web material will now appear correctly regardless.

  • Cannot use Intel widi with my Satellite L50-A-11T

    Hi,
    I have a Satellite L50-A-11T and i've tried to use Intel widi with Windows 8.1 and doesn't work, it says that the system is not compatible.
    With Windows 8 it was ok and worked fine, but in the instruccions for upgrading it said to remove Intel widi.
    Why is that?
    Thanks in advance.

    You misunderstood this info.
    Intel WiDi isnt supported in Win 8.1 on Toshiba notebooks BUT instead of Intel WiDi you can use Miracast.
    But Intel WiDi is not Miracast.
    Intel WiDi was developed by Intel.
    Miracast is an standard supported by developed by WiFi Allianz and Intel is a part of this Allianz
    Windows 8.1 as well as Android 4.2 support the Miracast standard.
    But this does not mean that you can use it always you need the compatible hardware parts.
    In case your TV would not support Miracast standard, you will not be able to use it

  • Narrow casting vs wide casting

    Hello All,
    I have small requriemn..
    I have a super class A and a sub class B.
    In both the classes I have a method XYZ.
    So, A has the following methods
    ABC
    XYZ
    B has the following methods
    XYZ
    Now I have want to access the sub class methods from super class...i.e., in my example...Method XYZ of B class needs to be accessed from method ABC or XYZ or A.
    How do I do?
    And more over..what is the difference between Narrow Casting and Wide casting?
    Kalyan

    Hi Priya,
    Consider the below Example for accessing the subclass method from Superclass:
    CLASS LCL_SUPERCLASS DEFINITION.
       PUBLIC SECTION.
           METHODS: ABC, XYZ.
    ENDCLASS.
    CLASS LCL_SUPERCLASS IMPLEMENTATION.
      METHOD ABC.
       CALL METHOD ME->XYZ.
      ENDMETHOD.
      METHOD XYZ.
      ENDMETHOD.
    ENDCLASS.
    CLASS LCL_SUBCLASS DEFINITION
           INHERITING FROM LCL_SUPERCLASS.
       PUBLIC SECTION.
          METHODS XYZ REDEFINITION.
    ENDCLASS.
    CLASS LCL_SUBCLASS IMPLEMENTATION.
      METHOD XYZ.
      ENDMETHOD.
    ENDCLASS.
    START-OF-SELECTION.
    DATA: O_SUPER TYPE REF TO LCL_SUPERCLASS,
               O_SUB     TYPE REF TO LCL_SUBCLASS.
    CREATE OBJECT: O_SUPER, O_SUB.
    CALL METHOD O_SUPER->ABC.
    CALL METHOD O_SUB->ABC.
    In the above example, When you call the superclass method ABC using CALL METHOD O_SUPER->ABC, as you see in the implementation part of the Method it will inturn call the Superclass method XYZ.
    Here ME will point to the instance of the Superclass.
    But the CALL METHOD O_SUB->ABC will call the method ABC ( this is inherited from Superclass to Subclass )and inturn it calls the method XYZ of the SUbclass since ME now points to the object O_SUB of the Subclass.
    Hope this is clear.
    Regards,
    Nirupamaa.

  • Wide casting

    Hi all,
    Can anybody please tell the usuage of wide casting.
    preferable with simple code.
    Anirban Bhattacharjee

    Hi,
    1. Wider/up casting :
    This means a ref object used is of a parent. Now here technically speaking you can only call the methods of the parent class and not of the child class. Even if the parent object is referencing to a child object at runtime, the compiler does not allow you to call the child method.
    Wide casting does not have run-time errors as the compiler is able to identify the error at compile time only.
    Wide casting is helpful when you want to have a generic parameter as the importing parameter in OOPs.
    For eg.
    Class p1
    method x.
    Class c1 parent p1
    method y.
    Class c2 parent p1
    method z.
    In the above example both class c1 and c2 are subclasses of p1 and therefore has method x.
    Now let us say the user at runtime can pass object of c1,c2 or p1 and method x has to be capable of receiving all these, then in such case you can assign reference object of parent to method x.
    So method x can be defined as follows
    Class p1
    method x importing p  -
    > where p is type ref to p1.
    I hope this explains your query.
    Regards,
    Saurabh

  • Wide casting problem

    Hi All,
    Can u explain Wide casting in detail ? already i gone through sdn links but still i didnt get clear .  please go through the follwing code snippet and explain where i made mistake in order to getting wide casting.. my problem is as wide casting i want to access the base class methods with reference of sub class when the base class methods are redefined in sub class(actually sub class reference access the  subclass methods only if we have same methods in base and as well as sub class) in my program after performing wide cast also it is accessing sub class methods only please send the answer.
    REPORT  ZNARROW_WIDE.
    CLASS C1 DEFINITION.
    PUBLIC SECTION.
    METHODS:M1,M2.
    ENDCLASS.
    CLASS C1 IMPLEMENTATION.
    METHOD M1.
    WRITE:/ ' THIS IS SUPER CLASS METHOD M1'.
    ENDMETHOD.
    METHOD M2.
    WRITE:/ ' THIS IS SUPER CLASS METHOD M2'.
    ENDMETHOD.
    ENDCLASS.
    CLASS C2 DEFINITION INHERITING FROM C1.
    PUBLIC SECTION.
    METHODS:M1 REDEFINITION.
    METHODS:M2 REDEFINITION,
                      M3.
    ENDCLASS.
    CLASS C2 IMPLEMENTATION.
    METHOD M1.
    WRITE:/ ' THIS IS SUB CLASS METHOD M1'.
    ENDMETHOD.
    METHOD M2.
    WRITE:/ ' THIS IS SUBCLASS METHOD M2'.
    ENDMETHOD.
    METHOD M3.
    WRITE:/ ' THIS IS SUB CLASS METHOD M3'.
    ENDMETHOD.
    ENDCLASS.
    DATA:O_SUPER TYPE REF TO C1,
         O_SUB TYPE REF TO C2.
    START-OF-SELECTION.
    CREATE OBJECT O_SUPER.
    CREATE OBJECT O_SUB.
    CALL METHOD O_SUPER->M1.
    CALL METHOD O_SUPER->M2.
    CLEAR O_SUPER.
    O_SUPER = O_SUB.
    CALL METHOD O_SUPER->('M3').
    SKIP 5.
    ULINE 1(80).
    CLEAR O_SUB.
    O_SUB ?= O_SUPER.
    CALL METHOD O_SUB->M1.
    CALL METHOD O_SUB->M2.
    CALL METHOD O_SUB->M3.
    Thanks in advance.
    sreenivas P

    Hi,
    consider the following sample code:
    REPORT  ZA_TEST93.
    class class_super definition.
      public section.
        data: var_area type i.
        methods:
        area importing length type i breadth type i.
    endclass.
    class class_super implementation.
      method area.
        var_area = length * breadth.
        write:/ 'Area of rectangle = '.
        write: var_area.
      endmethod.
    endclass.
    class class_sub definition inheriting from class_super.
      public section.
      data:height type i.
      methods:
      area redefinition.
    endclass.
    class class_sub implementation.
      method area.
        var_area = 6 * length * breadth * height.
        write:/ 'Area of the cube ='.
        write: var_area.
      endmethod.
    endclass.
    start-of-selection.
    data: object_superclass type ref to class_super,
          object_subclass type ref to class_sub,
          object2_superclass type ref to class_super.
    create object object_superclass.
    create object object2_superclass.
    create object object_subclass.
    call method object_superclass->area exporting length = 10 breadth = 5.
    "Narrow casting
    object_subclass->height = 10.
    object_superclass = object_subclass.
    call method object_superclass->area exporting length = 10 breadth = 10.
    "Wide casting
    object_superclass ?= object2_superclass.
    call method object_superclass->area exporting length = 10 breadth = 5.
    Explanation:
    In the above code, consider the super class named 'class_super'.
    This class has a method called 'area' which is used to calculate the area of a rectangle.
    Consider the subclass 'class_sub', which inherits all the attributes and methods of super class 'class_super'.
    Now we want to use the same method of super class 'class_super', 'area', but this time we want it to calculate the area of a cube.
    For this purpose we use the 'redefinition' keyword in the definition part of 'class_sub' and enter the code for cube area calculation in the 'area' method body in the implementation part of 'class_sub'.
    From the above code, consider the following code snippet:
    create object object_superclass.
    create object object2_superclass.
    create object object_subclass.
    call method object_superclass->area exporting length = 10 breadth = 5.
    Explanation: Two objects of the superclass and one object of the subclass are created and the 'area' method of the superclass is called to compute the area of a rectangle.
    Now consider what comes next:
    "Narrow casting
    object_subclass->height = 10.
    object_superclass = object_subclass.
    call method object_superclass->area exporting length = 10 breadth = 10.
    Explanation:
    We assign a value of 10 to the 'height' instance variable of the subclass object.
    Then we perform narrow casting in the next line(object_superclass = object_subclass.).
    Now the instance of the superclass(object_superclass) now points or refers to the object of the subclass, thus the modified method 'area' of the subclass is now accessible.
    Then we call this method 'area' of the subclass to compute the area of the cube.
    Moving on to the final piece of code:
    "Wide casting
    object_superclass ?= object2_superclass.
    call method object_superclass->area exporting length = 10 breadth = 5.
    Explanation:
    The object 'object_superclass' now refers to the object of the subclass 'object_subclass'.
    Thus the 'area' method of the superclass cannot be called by this object.
    In order to enable it to call the 'area' method of the superclass, wide casting has to be perfomed.
    For this purpose, the RHS of the wide casting must always be an object of a superclass, and the LHS of the wide casting must always be an object reference declared as 'type ref to' the superclass(objectsuperclass ?= object2_superclass.)._
    Otherwise a runtime error will occur.
    Finally the 'area' method of the superclass can now be called once again to compute the area of the rectangle.
    The output of the above example program is as follows:
    Area of rectangle =          50
    Area of the cube =      6,000
    Area of rectangle =          50
    Also note that wide casting cannot be performed on subclass objects, wide casting can only be performed on superclass objects that have been narrow cast.
    Hope my explanation was useful,
    Regards,
    Adithya.
    Edited by: Adithya K Ramesh on Dec 21, 2011 11:49 AM
    Edited by: Adithya K Ramesh on Dec 21, 2011 11:51 AM

  • Why use Oracle 8.1.5 for Linux?

    Dear,
    If it is really pain in the ass to install Oracle on Linux, why
    use it? I have spent more than 4 full days (more than what I
    excepted) to try to install Oracle on a Linux box.
    I guess I will go for mySQL since I can just install the RPM
    package and do not have to worry those critical issues.
    Just a note for Oracle, please design a better Installer next
    time which is going to work! Thank you.
    Best Regards,
    Alex Yu
    null

    I have some sympathy for your plight. I have 8.0.5 installed on
    RedHat Linux. Apart from patching the Pro*C configuration file,
    everything is fine.
    It does seem 8.1.5 is more problematic. If you're purely
    evaluating Oracle, maybe you should consider 8.0.5 until 8i
    stabilises unless you really are gagging for some 8i feature.
    Alex Yu (guest) wrote:
    : Dear,
    : If it is really pain in the ass to install Oracle on Linux, why
    : use it? I have spent more than 4 full days (more than what I
    : excepted) to try to install Oracle on a Linux box.
    : I guess I will go for mySQL since I can just install the RPM
    : package and do not have to worry those critical issues.
    : Just a note for Oracle, please design a better Installer next
    : time which is going to work! Thank you.
    : Best Regards,
    : Alex Yu
    null

  • Why Using Top Link is best in DB Adapter?

    Hi All,
    Can any one suggest , Why Using Top Link (Build-in Insert, Select etc. operation) is best in DB Adapter over using custom query?
    Thanks

    Hi Vikky,
    for insert/select it depends on what kind of user you are. TopLink lets you browse and click on a tables and have everything generated for you. If you are more a DBA or show me the SQL type then you can just type SQL directly.
    Some advantages of TopLink would be:
    -The range of SQL generated by TopLink is limited, but if you hard code complex SQL into your service you need to maintain it.
    -TopLink can generate at runtime the correct SQL for a given database, making switching from say DB2 to Oracle easy.
    -The merge operation will compare the input XML to the columns on the database and update only what has changed. It can also do a sparse merge. If only 4 columns in the XML were set, only those 4 columns in the database will be updated.
    -For inbound polling the strategy used (LogicalDelete, Sequencing Table, etc) is a configuration property and then at runtime multiple SQL statements are generated. The SQL also takes advantage of advanced syntax like the Oracle-only FOR UPDATE SKIP LOCKED, writing it all yourself may be tedious and error prone.
    -The main benefit of TopLink is when you go beyond thinking about a single table. If you import multiple related tables at once, TopLink will generate the SQL to select from and maintain multiple tables, establish a commit order, and generate a hierarchical XSD. With custom SQL the matching XSD is always flat. I.e. if you just need to insert an emp you could get away with custom SQL. If you need to insert a dept and emps, I would use TopLink.
    -This is also when the intermediary abstraction of an object/table makes more sense, as you only need to import a complex relational schema once, then generate inserts, selects, etc.
    So I hope that helps. They are each equally viable and can do something that the other can't. Where you see an overlap I would go with personal preference.
    Thanks
    Steve

  • Why use interlaced ?

    We shoot with DVCpro50 at 24p.
    A few questions.
    1. Is there anytime that there is an advantage, or a time when you have to use field dominance ?
    Interlaced footage looks like crap. Stills look horrible in an interlaced timeline - why ever use it ?
    It seems I can just switch the field dominance from "lower/even" to "none" and everything looks 10 times better on computer and NTSC monitor.
    2. Is there anytime that there is a disadvantage to removing the pulldown and editing in 24fps. It looks 10 times better without the screwd up "B/C & C/D" frames if you leave it in and edit at 29.97fps.
    3. is there any advantage or quality enhancement by removing the pulldown in "Shake" rather than letting FCP do it while capturing. And after removing, should your sequence timeline be set to 24fps or 23.98fps and why ?
    4. Have G5, OSX 10.4.8, AJA IO hooked up to NTSC monitor, and can't view 24fps timeline on external NTSC monitor - only frames when parked - is that because these monitors will only accept 29.97 field dominated footage ?

    Fist off - thanks for the help on part 4.
    I know how TV works and why NTSC was invented over a half century ago.
    Now that I can monitor on the external I will always edit in 24. I'm only the editor - they shoot with a SPX900 in 24p - if you don't remove the pulldown, frames 3 & 4 out of the 5 frame cycle combined with the interlacing gives really bad results. So out of curiosity I switched the sequence dominance setting from "lower/even" to "none" - at this point is ii still treated as interlaced or if it is set to "none" is it now progressive, like when you are editing in 24 and the field dominance window is greyed out. I would think that this would look jittery on a TV because the field order isn't right - but it doesn't - I can make DVD, VHS(not sure why), and monitor and the only difference is that the stills look incredibly better - there's no banding and stair stepping on the shoulders- on either the computer monitor or the NTSC monitor. And with it set to "lower/even" the bigger the computer or TV screen the worse it looks - but with it set to "none" the stills just get softer as you view them on bigger screens as if the right amount of gaussian blur was being added automatically - Isn't that wht you want ?
    So that was why I ask "why use interlace" if you have a choice?
    I'm not trying to be cool - these are ligitimate questions. I consider this doing my homework - isn't that what forums are for - I help people with answers all of the time.
    As for part 3 - Does "standard pulldown" refer to going back & forth between 24fps (film) and 29.97 (video) and "advanced pulldown" from 23.98 to 29.97 ?
    Are all of these modern video cameras actually shooting at 23.98 ?
    2 G5s 1.8Ghz single & 2.7Ghz Dual (PPC)   Mac OS X (10.4.8)   FCP Studio 5.0.4, Shake 4.1, AJA IO, 1.5G RAM & 3G RAM
    2 G5s 1.8Ghz single & 2.7Ghz Dual (PPC)   Mac OS X (10.4.8)   FCP Studio 5.0.4, Shake 4.1, AJA IO, 1.5G RAM & 3G RAM

  • Why use symbol {   } in the following script?

    Why use symbol *{   }* in the following script?
    <read-write-backing-map-scheme>
    <scheme-name>SampleDatabaseScheme</scheme-name>
    <internal-cache-scheme>
    <local-scheme>
    <scheme-ref>SampleMemoryScheme</scheme-ref>
    </local-scheme>
    </internal-cache-scheme>
    <cachestore-scheme>
    <class-scheme>
    <class-name>com.tangosol.examples.coherence.DBCacheStore</class-name>
    <init-params>
    <init-param>
    <param-type>java.lang.String</param-type>
    *<param-value>{cache-name}</param-value>*
    </init-param>
    </init-params>
    </class-scheme>
    </cachestore-scheme>
    </read-write-backing-map-scheme>
    Thank you very much
    Edited by: jetq on Jun 24, 2009 6:26 PM

    Hi Frank,
    In the example, the "{cache-name}" is supposed to be replaced by the database's table or view name that will be queried for the data to be cached. It's purpose is demonstrate how to pass parameters to the class constructor.
    Regards,
    Harv

  • Why use layer masks and adjustment layers?

    I've been using PSE and CS successfully for years.
    One thing I have never understood is: why use layer masks and adjustment layers, instead of simply creating a copy of the subject layer (the one I want to make changes to) and experimenting with that?  It's quick (Ctrl-J), I can do it as many times as I want, I'm not affecting my Background layer.  If I like the changes, I can keep them.  I can switch the copy on and off to compare with the Background layer.  I can do any type of blend or combination I desire.  I can insert Gradient layer(s), select any part of the copy and (Ctrl-J) create a new layer containing only the selected part.  I can adjust size, rotate, do anything.
    It almost seems that "layer mask" and "adjustment layer" are mainly another layer of terminology; can anyone explain (preferably in 50 words or less) how they are intrinsically different from or superior to working with copies of the Background layer?  What can be done with them that can't be done simply using copies of the Background layer?

    Here's a very basic example of the advantage of using a layer mask.
    I have this picture of a sunflower and I want to convert the background to black & white, leaving just the flower in color.  I duplicated the Background layer, converted it to B&W and proceeded to use the Eraser to uncover the flower color. But I made a mistake and erased outside the flower.  There is no way to correct this other than deleting the layer and starting again.
    Now let's use a layer mask on the B&W layer. Set the Foreground/Background colors to the defaults black/white. Using the Brush tool paint on the mask with black to reveal the color.  Here I painted too far, revealing a green leaf in the background.  No need to start over.  Simply switch to white and paint the excess to convert back to the B&W.
    Tip: while painting you can type "X" to toggle between black and white.
    You could also select the flower using the various selection tools and then fill the selection with black. If it turns out the selection was not 100% accurate you can then fine-tune the result by painting on the mask with black or white as necessary.

  • Connecting Laptop to TV using Intel WIDI to watch Sky

    Has anyone connected their laptop using Intel WIDI to a smart TV to watch Sky?I am continually getting an error and it looks like its being blocked by Sky.Using Amazon Prime or IPlayer and Netflix works fine, so i know teh SW and HW are functioning.If HDMI is used it works fine but i dont want to use a cable.

    Only HDMI will carry the Aduio and Video together, if you use VGA, a audio cable is still required in the headphone jack to carry the sound to the TV.

  • Why using workarea for internal table is better in performance

    Please tell me
    why using workarea for internal table is better in performance

    Hi Vineet ,
      Why would we choose to use an internal table without a header line when it is easier to code one  with a header line?
    it has following reason.
    1)Separate Internal Table Work Area:
         The work area (staging area) defined for the internal table   is not limited to use with just one internal table.
    take ex-
    Suppose you want two internal tables for EMPLOYEE – one to contain all records and one to contain only those records where country = ‘USA’.  You could create both of these internal tables without header lines and use only one work area to load data into both of them. You would append all records from the work area into the first internal table.  You would conditionally append the ‘USA’ records from the same work area into the second internal table.
    2)  Performance Issues:  Using an internal table without a header line is more efficient than one  with a header line
    3) Nested Internal Tables:  If you want to include an internal table within a structure or another   internal table, you must use one without a header line.
    If this one is helpful ,then rewards me
    Regards
    Shambhu

Maybe you are looking for

  • My mac is no longer recognizing my phone and I cannot manage the music on my phone. What can I do?

    My mac is no longer recognizing my phone and I can no longer manage my music. How can I change this? I cannot upload IOS 7 because I have too much music on my phone and not enough space, but I cannot delete music on my phone because my computer will

  • How to obtain programatically the Vendor's contact in a BID ? :-(

    Hi guys, With fm BBP_PD_PO_DOC_FLOW I can obtain the Bids related to my PO.   Now I want to obtain the vendor's contact name, email, etc. asociated to that winner bid. I have the partner no., partner guid, etc for vendor's contact.   But..I dont know

  • Flex Developer in Alpharetta,GA

    I am looking for a seasoned Flex/RIA developer to join my team on a green-field development project. This is a contract or full-time position. We are a small agile development team and will be developing a diagnostic and provision system for cable ne

  • This computer's local hostname is already in use on this network

    has anyone else experienced this issue? The iMac will display the following error message on the screen every day or so (with the host number incresing by 1 digit each time): This computer's local hostname "MacName.local" is already in use on this ne

  • Russian SAPscript/printing Cyrillic Font

    I have been tasked with looking at the SAPscript side of a Russian implementation. We are using standard HP printers and have a considerable amount of beposke forms from other country implementations to convert to Russian use. I have scoured the web