Type range of

Hi,
    I am trying to create a range object using type range of decalration in a class, but when trying to select data using the range object as one of the condition the program throws an error stating "The in operator with it_pernr-low is followed be neither by an internal table nor by a value list".Listed below is the sample code
data: it_pernr type range of p0001-pernr,
        wa_pernr like line of it_pernr.
wa_pernr-low = '343243'.
wa_pernr-sign  = 'I'.
wa_pernr-option = 'EQ'.
append wa_pernr to it_pernr.
wa_pernr-low = '12343'.
append wa_pernr to it_pernr.
select * from pa0001
            into table it_p0001
           where pernr in it_pernr.
If I cannot use the "in it_pernr"  because it does not have a header line then what would be the alternative efficient solution. All answers wud be awarded suitably.
Thanks
Vick
This is a duplicate post, I accidentally posted it in the wrong place. Will close both the posts once answered
Edited by: vick vennav on Jan 2, 2008 10:58 PM

Actually Vick, I'm having no problem whatsoever using the TYPE RANGE OF within a method.  Not sure what you are doing wrong.  Here is my example code.
REPORT  rich_0001.
*       CLASS lcl_app DEFINITION
CLASS lcl_app DEFINITION.
  PUBLIC SECTION.
    DATA: it_t000 TYPE TABLE OF t000.
    DATA: it_mandt TYPE RANGE OF t000-mandt,
          wa_mandt LIKE LINE OF it_mandt.
    METHODS : test.
ENDCLASS.                    "lcl_app DEFINITION
*       CLASS lcl_app IMPLEMENTATION
CLASS lcl_app IMPLEMENTATION.
  METHOD test.
    wa_mandt-low = '100'.
    wa_mandt-sign = 'I'.
    wa_mandt-option = 'EQ'.
    APPEND wa_mandt TO it_mandt.
    wa_mandt-low = '200'.
    APPEND wa_mandt TO it_mandt.
    SELECT * FROM t000
            INTO TABLE it_t000
                   WHERE mandt IN it_mandt.
  ENDMETHOD.                    "test
ENDCLASS.                    "lcl_app IMPLEMENTATION
DATA: o_ref TYPE REF TO lcl_app.
START-OF-SELECTION.
  CREATE OBJECT o_ref.
  o_ref->test( ).
Regards,
Rich Heilman

Similar Messages

  • Errors in Data Type Range

    As per the Java Complete Reference Book, long Data Types Range is -9223372036854775808 to 9223372036854775807.
    Ex. long l = 9223372036854775807;
    I got an error message while compiling this above statement.The Error message is : "integer number too large: 922337203685477580"
    Why the above error is coming?

    type
    long l = 9223372036854775807L;

  • Selection Screen - Wage Type Ranges

    Dear Experts,
    I am in the process to prepare functional specifications for the custom reports on payroll.  we need to maintain fields to select  wage type ranges from and to with F4 option.
    Iam preparing the FS for this selecton screen, now i need to specify from where (which table) the system should fetch (show) all the wage types if the user click on the F4 button to choose the wage type ranges in the selection screen
    Based on this wage type ranges only the custom program should show the results from RT.
    Please advice me asap
    Regards,
    Siri

    Hi Anil ,
    Type M are module pool programs.
    For these you have to create you screen and then determine their flow in your program.
    These are executed by transactions.
    Search tutorials on module pool program .
    Hope its help you

  • HTML5 Photoshop Extension won't correctly render input type="range" element (missing handle)

    I'm working on an HTML5 extension for Photoshop. When I include the HTML5 "range" element (i.e. a slider):
    <input type="range" min="0" max="10"/>
    ...it doesn't render the handle of the slider at all. It's just a horizontal bar. I disabled any extra CSS that's being added just in case that was the issue and it doesn't seem to be. The JavaScript console reports that Chrome v27 is being used inside Photoshop (via Chromium Embedded Framework) and I've verified that that version of chrome supports the range input type.
    Any ideas?
    Screenshot:

    According to Davide Barranca on Twitter, this is a known bug without an ETA fix. The slider has to be styled explicitly.
    Conversation here: Davide Barranca on Twitter: "@nselikoff @fenomas about the slider: known bug, it needs to be styled explicitly (e.g. wit…
    You can use topcoat's explicit styling to make the slider show up: range/desktop-light.css at master · topcoat/range · GitHub

  • Need help with specifying type range in dynamic text box

    is it possible to specify my type range in a dynamic text box
    that is loading images as well as type? Everytime i specify the
    range flash quits. if i take out the image loading actionscript
    then it's fine. grrrrr

    I assume that you have added this field to the field catalog, so make sure that the name in the field catalog is exactly the same as in the internal table which holds your data, and make sure that you are filling the field name as uppercase.
    Regards,
    RIch Heilman

  • How to declare a param. of type RANGE OF in a method (or function module)?

    Hello,
    I've got a following problem.
    I want to pass a value of type RANGE OF to a method declared in
    an interface (the interface is built using Class Builder). I don't know
    how to do that and I did not manage to find a solution using both
    SAP help and google.
    Did anybody have the same problem before?
    Best regards
    Pawel

    Ok, I find a workaround. Maybe it will be useful for somebody in the future.
    Declare the parameter type as ANY TABLE and then cast it to the expected type
    in the body of the method.
    So for example.
    Parameter          Type        Typing Method        Associated Type     
    I_RNG_DATUM Importing Type                         ANY TABLE
    In the body of the method.
    TYPES:
        erdat_range TYPE RANGE OF erdat.
      FIELD-SYMBOLS:
        <l_fs_rng_erdat> TYPE erdat_range.
      DATA:
        l_ref_to_range TYPE REF TO data.
      GET REFERENCE OF i_rng_datum INTO l_ref_to_range.
      ASSIGN l_ref_to_range->* TO <l_fs_rng_erdat> CASTING.
    However, if somebody know how to pass type RANGE OF
    explicitely, the right answer is still welcome.
    Best regards
    Pawel

  • How to mantain restriction on condition type range

    Hi,
    Our sd consultant want to make restriction  on condition type on discount range,
    under VA01 when we create the sales order, there we give discount, which should fall under some range , say about 1 to 15 not beyond that,
    please assist how to go about it.
    Regards,
    SM

    hello, friend.
    when you create condition records for prices and discounts using VK11 or VK31, you can define upper and lower limits for your condition type.  in the FAST ENTRY screen, just highlight the condition type and click on DETAILS.  you will be brought to another screen where you can enter the limits.
    there are also settings in IMG.  will give you more details if this is helpful.  also, please do reward if so.
    regards.

  • Bug: integral type range error not indicated

    JDeveloper 11.1.2.3.0
    If short s3=32768; is specified a error in the margin indicates "constant 32768 wider than type short"
    But, if int i4=2147483648; is specified an error in the margin is not displayed. The permissible range for int is -2147483648 to 2147483647, inclusive.
    If the class with the statement int i1=-2147483649; is compiled the compiler error is "Error : integer number too large: -2147483649". Actually, the error should be that the
    Error : integer number too small: -2147483649 or Error : integer number out of range: -2147483649
    Also, for type long, range is from -9223372036854775808 to 9223372036854775807, inclusive.
    But, error is generated for values within range.
    Error : integer number too large: -9223372036854775808
    Error : integer number too large: 9223372036854775807
    Edited by: dvohra16 on Mar 18, 2013 2:33 PM
    Edited by: dvohra16 on Mar 18, 2013 2:37 PM
    Edited by: dvohra16 on Mar 18, 2013 5:07 PM

    Thanks Frank. The other bugs do apply, the int type out of range values are not indicated as error in the margin and the long type are indicated as error (when compiled) even when not.
    Edited by: dvohra16 on Mar 19, 2013 5:18 PM

  • Problem with primitive data types range

    long longVal = 9898989898L x 9898989898L x 9898989898L;
    System.out.println("Calculation Long Value :-- "+longVal);
    print ans : -6203015489226638616
    but right ans : 970002030010999083816674818792
    please help me how to calculate this equation.
    Edited by: mylocosoft on Aug 23, 2009 11:53 PM

    Note: This thread was originally posted in the Concurrency forum, but moved to this forum for closer topic alignment.

  • Range type in ABAP OO.

    Hi,
    Having problem in ABAP OO.
    I have defined a working range. (r_vkorg)
    But what kind of associated type should I use for this in my method.
    In other words: what type should "vkorg_in" be ?
    DATA r_vkorg TYPE RANGE OF A004-vkorg.
    data: wa_vkorg like line of r_vkorg.
    case werks_in.
      when 3100.
      wa_vkorg-sign = 'I'.
      wa_vkorg-option = 'EQ'.
      wa_vkorg-low = '2000'.
      append wa_vkorg to r_vkorg.
      wa_vkorg-sign = 'I'.
      wa_vkorg-option = 'EQ'.
      wa_vkorg-low = '3000'.
      append wa_vkorg to r_vkorg.
      when 4100.
      wa_vkorg-sign = 'I'.
      wa_vkorg-option = 'EQ'.
      wa_vkorg-low = '4000'.
      append wa_vkorg to r_vkorg.
      when others.
      exit.
    endcase.
    call method me->getpricecondition
      exporting
        vkorg_in    = r_vkorg   ' PROBLEM
        date_in     = sy-datum
      changing
        price_inout = i_PriceTab.
    //Martin

    Hello Martin,
    Obviously, R_VKORG is an internal table. So VKORG_IN should be an internal table too.
    The line type can be something like : VORG_RANGE or VKO_RANGE.
    You can also refer it to a table type defined in the ABAP Dictionary like, GDS_SELRANGE_VKORG_TAB.
    Finallly, you can have a local types declaration for the class, with the suitable structure.
    Regards,
    Anand Mandalika.

  • Passing of selectoptions values to a range field

    Hi
    can we pass values of select option field to a variable defined as range ?
    If yes then pls tell me how?
    Thanks in advance

    just write the
    APPEND LINES OF <SELECT-OPTION FILED > TO <RANGE FIELD>.
    Ref to below code
    data : rmatnr type range of mara-matnr.
    select-options : S_MATNR for mara-matnr.
    append lines of s_matnr to rmatnr.

  • How can I pass a range to a form?

    In my program I have three ranges defined, with the syntax:
    RANGES: range1 for abc,
                    range2 for abc,
                    range3 for abc.
    I would like to pass range1 to a form declared in this program.
    How can I do this?
    Thank you!

    I found this solution:
    REPORT YRT_TEST4.
    data: r_range type range of matnr.
    perform test changing r_range.
    *& Form test
    form test changing p_r_range like r_range.
    endform. " test
    REgards,
    Ravi

  • Creating new info type in HR module

    Hi all,
    My requirement is to resave 0000 info type as 0001 on certain condition, can I do that?
    Or is it the case that for creating custom info types range should be greater than 9000.
    Thanks and regards,
    Ridhima

    Hi,
    Yes infotype can be 9nnn not less than that.
    anyhow here are the steps.
    ) Go to Transaction PM01.
    2) Enter the custom Infotype number which you want to create (Should be a 4 digit number, start with 9).
    3) Select the ‘Employee Infotype’ radio button.
    4) Select the ‘PS Structure Infotype’.
    5) Click on Create… A separate table maintenance window appears…
    6) Create a PS structure with all the fields you want on the Infotype
    7) Save and Activate the PS structure
    8) Go back to the initial screen of PM01.
    9) Click on ‘All’ push button. It takes a few moments.
    10) Click on ‘Technical Characteristics’. Infotype list screen appears
    11) Click on ‘Change’(pencil) button
    12) Select your Infotype and click on ‘Detail’ (magnifying glass) button
    13) Give ‘T591A’ as subtype table
    14) Give ‘T591S’ as subtype txt tab
    15) Give your subtype field as subtype field
    16) Save and come back to PM01 initial screen
    17) Click on ‘Infotype Characteristics’ … Infotype list screen appears
    18) Click on ‘Change’ (pencil) button
    19) Click on ‘New Entries’
    20) Enter your Infotype number and short text
    21) Here we have to set different Infotype Characteristics as per the requirement. (Better open another session with some standard Infotype’s infotype characteristics screen and use as the reference to fill yours)
    22) Save your entries.
    23) Now the Infotype is created and ready to use.
    24) If you want to change the layout of the Infotype as per your requirement…
    25) In the PM01 initial screen…Select ‘Screen’ radio button and give 2000 as the screen name, then click on edit.
    26) In the next screen.. Select ‘Layout Editor’ and click ‘Change’.
    27) Screen default layout appears…here you can design/modify the screen..change the attributes of the fields..etc.
    28) Save and activate. (Don’t forget to ‘Activate at every level)
    Feel free to revert back.
    --Ragu

  • Ranges in a class

    Hi,
    We need to buid  a range in a loop for some field. I declare the syntax as done in the report programe. But it throwing the error as the ranges cannt be used in class.
    Suggestion from system as use data type/like.
    Thanks in advance.
    Mohinder Singh Chauhan

    DATA: my_range TYPE RANGE OF spfli-carrid.
    matt

  • Passing select-options parameters type to the class

    Hi All,
    I am creating one class and I want to pass the select-options parameters directly to it like s_plant,s_mtart etc .
    So while specifying these as paramters what type I should give them?
    Rgds,
    Madhuri

    Whatever you finally decide upon, you must have a Data Dictionary definition. So either create one for each type (bukrs, vkorg, etc.) or use a general one like RSELOPTION. However with the general one you have to put extra code in the class to convert back from a CHAR 45 field to your special field.
    Anyway, using the Data Dictionary is fun! So go create as many new tables as you need. In the long term, the work you do in the Data Dictionary is never wasted and it may save you time in the future when you need that structure / table again for a different program.
    Creating these structures and tables is easy if you use shortcuts. For example in local definitions in your program you can code...
    data range1 type range of bukrs.
    or
    data wa_bukrs type bukrs.
    ranges range1 for wa_bukrs.
    either of these gives you the structure... no need to manually type sign, option, low, high...
    What about Global (data dictionary) definitions? yes, there are also shortcuts...
    start transaction SE11, enter range table name in the 'Data' field (e.g. ZMYRANGETAB), Hit Create, choose to create a Table Type... now you are on the blank new Maintain Table Type screen. enter a short text for your new table, then choose
    Edit->Define as ranges table type
    next enter your data element (e.g. BUKRS) under 'data element', hit Save and activate. You just created your range table without manually entering sign, option, low, high...
    But wait there's more... on the same screen you can now (after saving the range table) also enter a structure name such as ZMYRANGE in the field 'structured row type'. Hit Create and you are taken to the Maintain Structure screen where the sign, option, low and high are already populated... add a short description and save and activate... you just created a workarea for your range table.
    You just created a table type ZMYRANGETAB and a structure ZMYRANGE with minimal effort.

Maybe you are looking for