Fill the default value in ranges internal table

ranges: rg_ord for vbap-vbeln.
      REFRESH rg_ord[].
      SELECT vbeln AS low
      INTO CORRESPONDING FIELDS OF TABLE rg_ord
      FROM vbap
      WHERE vbeln . . . . some condition.
      IF rg_ord[] IS NOT INITIAL.
        LOOP AT rg_ord.
          rg_ord-sign = 'I'.
          rg_ord-option = 'EQ'.
          MODIFY rg_ord TRANSPORTING sign option.
        ENDLOOP.
        CONCATENATE cond_syntax ' vbap~vbeln in rg_ord'
        INTO cond_syntax SEPARATED BY space.
      ENDIF.
<b>IS there anyway i can avoid the loop</b>. I can think of modifying the sql like this
     SELECT
      vbeln AS low
      'I' as sign
      'EQ' as option
     INTO CORRESPONDING FIELDS OF TABLE rg_ord
     FROM vbap
     WHERE vbeln . . . . some condition.
but regrettably open sql is not allowing literals into the select list.

Hi,
I think you only to sign to be 'I' and option to be 'EQ'.
your code should be..
if not rg_ord[] is initial.
       rg_ord-sign = 'I'.
       rg_ord-option = 'EQ'.
       MODIFY rg_ord TRANSPORTING sign option where value ne space.
*here since you are not modifying the value,the value remains the same
endif.
You cannot code as you stated in SQL.
If you make your code as
SELECT
      vbeln  INTO CORRESPONDING FIELDS OF TABLE rg_ord
     FROM vbap
     WHERE vbeln in rg_ord.
will handle the for the condition you specified.
Kindly reward points by clicking the star on the left of reply,if it helps.
Message was edited by: Jayanthi Jayaraman

Similar Messages

  • The default value as "None" for the report filter which is Value List type?

    Hello,
    I want to know is it possible to make the default value as "None" for the report filter which is Value List data type?
    For example:The Project Classification Value List value type which have many value like "Supplier Rationalization" "Category Sourcing" "Contract Regegotiation" etc, and the value "Supplier Rationalization" is in the frist positon in the value list. When i use "Project Classification " as a report filter, the value "Supplier Rationalization" displayed as default value. And in the value list box in report filter of Project Classification , there is a value "None" which should be added automatically by system. So i manually filled the default value with "None" in Filter Prompt screen, but it does not work. After i display the report ,the Project Classification filter still use the ""Supplier Rationalization" as the default value.
    My current ESO version is 5.1. I tried other ESO version like 5.15, if i manaully give a default value "None" in Filter Prompt screen for filter Project Classification, then the default value is "None". It works well.
    Does anybody know if it's possible to do the same thing in ESO 5.1?
    Thanks & Regards,
    David
    Edited by: David Gao on Aug 11, 2010 4:06 AM

    Hi David -
    This is possible, but the technique is not too obvious...
    To make "None" be the default choice for a query definition filter parameter of type value list type, you need to set the default value of the filter parameter to the following:
    <internal id of value list type>:616:NULL
    For example, I believe you will see that the internal id of the Project Classification value list type is 51, so the default value of the filter parameter would be:
    51:616:NULL
    I hope this helps.
    Regards,
    Rob

  • Check the range of values of an internal table with the statement IN

    Hi,
    I'd like to know how to check if the current contents of a field are in the set described by an internal table.
    I know I have to use the statement <b>IN</b>, but I don't know exactly how to define the internal table. In my case, I have a single field (<i>tipo_doc</i>) in my internal table which stores 4 different values: C, I, K, L.
    I want to use the statement <b>IN</b> as shown next:
    SELECT * FROM VBFA APPENDING CORRESPONDING FIELDS OF TABLE it_flujo_docs WHERE ( VBELN = it_total_fact-vbeln )
                          AND ( VBTYP_V <b>IN</b> itab).
    Then I'd like to know how the internal table <i>itab</i> should be defined. It should be something like this I think, but it doesn't work:
    DATA: BEGIN OF itab OCCURS 0,
            tipo_doc LIKE zpedidos-tipo_doc,
            tipo_doc-sign = 'I',
            tipo_doc-option = 'EQ',
            tipo_doc-low = C,
            tipo_doc-high = L,
        END OF it_tipo_doc_ped.
    I'd appreciate if someone could tell me the proper way to define it.
    Thanks in advance,
    Gerard

    Hi,
    Please follow this.
    RANGES R_VBTYP FOR VBFA-VBTYP_V.
    R_VBTYP-SIGN = 'I'.
    R_VBTYP-OPTION = 'EQ'.
    R_VBTYP-LOW = 'C'.
    CLEAR R_VBTYP-HIGH.
    APPEND R_VBTYP.
    Do the same for value 'I', 'K' and 'L'.
    Now in the SELECT statement replace the following
    VBTYP_V IN itab
    with
    VBTYP_V IN R_VBTYP.
    Thanks
    Vinod

  • Want to remove the default value of a column in a table

    HI
    I have a table called User_ind. This table columns have default values as 'n' like
    create table user_ind(
    ind_num varchar2(1)
    ,group_allowed varchar2(1) default 'y'
    ,view_allowed varchar2(1) default 'y'
    now i want to remove the default values How can i procede with this.
    Urgent .
    Thanks in advance.
    Chaitanya.

    In Oracle 9i you cannot remove the DEFAULT, you can only change it to null:
    alter table user_ind modify group_allowed varchar2(1) default null
    You can check it using this one:
    select table_name,column_name,data_default
    from user_tab_columns
    where table_name = 'USER_IND'
    Best Regards
    Krystian Zieja / mob

  • Cannot set the default value of an item in the detailed table

    Hi,
    I have Master-Detail group, both are Table formats.
    I need to set the default value of an item in the details row to the value of an item in the selected row in the Master table.
    I tried Default Display Value=#{row.MasterItem}, but it seems it is trying to access current details row instead of the Master.
    I tried #{bindings.MasterGroupColumnName.inputValue}, but it does not work.
    Any ideas
    Thanks in advance
    Mohamed

    I think I now what I'm doing differently, I had the "New Rows" JHS property of the detailed table group "empty" instead of the default "2" value.
    It seems that "Default Display Value" expression works only for the new records specified in the "New Rows" property. But when I try to "Add" new record using the "Add Row" button, the new record inserted does not have the default values generated, only has values populated for the items of the FK (in the view link) but not the ones set through the property.
    I guess in a nutshell, how I can get the details item to behave like the FK columns?
    Thanks much
    Mohamed

  • SRM 4.0- How to set the default values for product type (01) only for SC

    The radio button “Service” should not be visible.
    Also for search help (e.g. search for internal products) where a search should only be possible for product type 01 (goods). The system should not display the product type and internally always search for goods only.
    How to set the default values for product type (01) only for SC
    We needs to use Search help BBPH_PRODUCT which having parameter PRODUCT_TYPE
    Here we can set defalut value 01 but it is not correct one since same search help is using several places.
    We need to limit the search help results only for SC.
    Kindly help out me ASAP.

    The easiest way to set defautl values is to edit the batch class.
    Goto the characteiristic and go to update values.
    In here you probably have something like 0 - 100 as a spec range.
    On the next line enter the default value within this range.  At the end of the line, click in the box in the column labelled "D".  This indicates the defautl value for the characteristic.
    If you need to you can do this in the material classification view as well.
    Just to be clear, these values will only show up in the batch record.  You can not have defautl values in resutls recording screens.
    FF

  • Reading the data from field symbol internal table //

    Hi,
    There are 2 internal tables defined as Fieldsymbols (type any) and I need to retrive data from second internal table based on a field value in first internal table.
    Let's assue the name internal table 1 is <it_itab1>, 2nd internal table name is <it_itab2> and the work areas are <wa_itab1> and <wa_itab2>.
    The existing logic :
    LOOP at <it_itab1> ASSIGNING <wa_itab1>.
      ASSIGN COMPONENT 'XYZ' OF STRUCTURE <wa_itab1> TO l_field6.
      LOOP AT <it_itab2> ASSIGNING <wa_itab2>.
        ASSIGN COMPONENT 'XYZ' OF STRUCTURE <wa_itab2> TO <p_field7>.
        IF <p_field7> = l_field6.
    do the required business.
        ELSE.
          *     do the required business.
        ENDIF.
      ENDLOOP.
    ENDLOOP.
    The requirement of reading second internal table was achieved by putting loop on the internal table but its giving considerable effect on performance !!
    Is there any way to use READ statement in my case OR any way of putting WHERE condition on loop statement of second internal table ??
    Thank you !!

    Use the below Logic.
    Loop at Itab1 into wa_itab1.
        Loop at itab2 into wa_itab2 where p_field7 = wa_itab1-xyz or I_field6.
    do the required business.
        endloop.
        Loop at itab2 into wa_itab2 where p_field7 <> wa_itab1-xyz or I_field6.
    do the required business.
        endloop.
    endloop.
    Hope it is useful...

  • How to download values in an internal table into an excel file

    is there any fn module to download the values in an internal table into an excel file..

    hi
    the function module "GUI_DOWNLOAD"  downloads the data from
    an internal table into a file (can be xl, dat ,doc etc) .
    Plz follow the usage below ;
    Parameters : pa_pfile LIKE rlgrap-filename OBLIGATORY.
    Data : lv_filename TYPE STRING.
    lv_filename = pa_pfile.
    CALL FUNCTION 'GUI_DOWNLOAD'
       EXPORTING
       BIN_FILESIZE                  =
         FILENAME                      = lv_filename
         FILETYPE                      = 'ASC'
       APPEND                        = ' '
        WRITE_FIELD_SEPARATOR         = 'X'
       HEADER                        = '00'
       TRUNC_TRAILING_BLANKS         = ' '
       WRITE_LF                      = 'X'
       COL_SELECT                    = ' '
       COL_SELECT_MASK               = ' '
       DAT_MODE                      = ' '
       CONFIRM_OVERWRITE             = ' '
       NO_AUTH_CHECK                 = ' '
    IMPORTING
       FILELENGTH                    =
       TABLES
         DATA_TAB                      = tb_download         " table data to b downlaoded
      EXCEPTIONS
        FILE_WRITE_ERROR              = 1
        NO_BATCH                      = 2
        GUI_REFUSE_FILETRANSFER       = 3
        INVALID_TYPE                  = 4
        NO_AUTHORITY                  = 5
        UNKNOWN_ERROR                 = 6
        HEADER_NOT_ALLOWED            = 7
        SEPARATOR_NOT_ALLOWED         = 8
        FILESIZE_NOT_ALLOWED          = 9
        HEADER_TOO_LONG               = 10
        DP_ERROR_CREATE               = 11
        DP_ERROR_SEND                 = 12
        DP_ERROR_WRITE                = 13
        UNKNOWN_DP_ERROR              = 14
        ACCESS_DENIED                 = 15
        DP_OUT_OF_MEMORY              = 16
        DISK_FULL                     = 17
        DP_TIMEOUT                    = 18
        FILE_NOT_FOUND                = 19
        DATAPROVIDER_EXCEPTION        = 20
        CONTROL_FLUSH_ERROR           = 21
        OTHERS                        = 22
    IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Regards
    Pankaj

  • How to set the default value of a database column to NULL

    Hello,
    I want to set the default value of a column (VARCHAR2(20) to NULL, nut I cannot figure out to do this. I tried the following editing the offline table with JDeveloper:
    Default Value : <empty> -> On database NULL
    Default Value: '' -> On database ''
    When I create a new column, there is no default value on the database side and when I open the tabe properties in the database navigator I can see that the default value is (null). This is what I want to see in the other column as well. I don't know why sometimes a default value is visible on the database side (when generating form offline tables to database tables) and sometimes not.
    Perhaps sombody can bring some light in this issue.
    Thanks Thomas

    Hello Shay,
    I have the impression that you don't understand my problem. So here step by step:
    1. Create a offline Table TEST with one column TEST: VARCHAR2(20). nullable=true, no default value.
    2. Generate the table to the database
    3. When you look at the table properties (columns) with the database navigator the following information is displayed (sorry for the formatting):
    Column Name | Data Type | Nullable | Data Default | COLUMN ID| Primary Key | COMMENTS
    TEST | VARCHAR2(20 BYTE | Yes | (null) | 1 | (null) | (null)
    4. Now set the default value for the column TEST in the offline table for example to 'Test'
    5. Generate the table to the database.
    6. When you have a look at the database table, the default value is now 'Test' (as expected)
    7. Now remove the default value of the column TEST in the offline table
    8. Generate the table to the database
    9. When you have a look at the database table, the default value is now NULL (in uppercase letters without parenthesis)
    And this is where the problem starts!
    When you generate the table again with the options "Alter/Manual Reconcile" the default value of the column test is considered to be different! But in fact it should'nt be different because nothing has been changed.
    Best regards Thomas
    Edited by: thmayr on May 28, 2009 9:05 AM
    Edited by: thmayr on May 28, 2009 9:31 AM

  • How can I validate a dropdown box to NOT accept the default value?

    I have a fillable form where I need the user to select their "Number of Employees". I have added several ranges as their options in a dropdown box (1-10, 11-25, 26-50, 50+). My issue is the "defult value" is set to "1-10" and people submit it without changing it to the correct value.
    I have changed the default value to "--Select One--", but it still lets them submit the form with that value entered.
    I am assuming I need some sort of validation script that will basically say - "If the value in this field is --Select One-- do not submit the form, but give an error that says 'please select your number of employees" or something along those lines.
    Basically I just want them to pick something as opposed to just submiting it with the default value.
    I have looked all over and am not very good with JS.

    You can not have the default value set to a real possible value. You need a value that should be selected.
    Then for your submit script you need to test all of your required fields to make sure they are not at the default value.
    You make a variable that assumes all the required fields are completed and then check each field and if any one still has the default value you set your variable to "false" and then when you have checked all the fields you test your variable's value and only if it is true to you submit the form.
    var bSumbit = ture; // logical variable for submission test
    // test drop down # of employess
    this.getField("Number of Employees".).required = false; // clear required property
    if(this.getField("Number of Employees".).value == "--Select One--") {
    bSubmit = false;
    this.getField("Number of Employees".).required = true; // set required property
    if(bSubmit) {
    // your submit acation;
    } else {
    app.alert("Not all required fields properly completed", 0, 1);

  • How can I search the last line in an internal table?

    How can I search the last line in an internal table?
    With a describe?? If it is , how can I do that?
    Thanks!!

    Hi shilpa,
    it seems to be you are NEW to SDN. welcome. if you want to get solutions to your Questions, you have to post a NEW thread.dont use the existing thread to post your question.
    any way i am giving you the solution for your question
    LOOP AT ITAB WHERE F1 = <SOME VALUE>
                       F2 = <SOME VALUE>.
    ENDLOOP.
    IF SY-SUBRC = 0.
      ITAB WILL HAVE THE LAST RECORD which satisfying the given criteria in WHERE clause of LOOP.
      write itab <--this ITAB will have the last record.
    ENDIF.
    regards,
    Srikanth.
    Message was edited by: Srikanth Kidambi

  • To add the multiline data into an internal table from TextEdit

    Hello Experts,
    I have one requirement that I have to use the TextEdit field. and put the values into an internal table.
    can you help me. with some sample code.
    Thanks in Advance
    Kuldeep

    The problem is solved by using the following code
    DATA: data TYPE REF TO CL_HTMLB_TEXTEDIT.
    Data itab1 type itab.
    data ?= CL_HTMLB_MANAGER=>GET_DATA(
                                    request = runtime->server->request
                                     name    = 'textEdit'
                                     id      = 'txt1'
    data text type string.
    IF data IS NOT INITIAL.
      text = data->text.
    ENDIF.
    SPLIT text AT CL_ABAP_CHAR_UTILITIES=>CR_LF INTO
          TABLE itab1.
    Kuldeep

  • Passing '**********' to screen field value instead of internal table value

    Hi All,
    I have written BDC, in which when i pass value for second screen "Description type field"  it's passing '*************************' instead of internal table value.
    It's picking correct value for first internal table value. Could anyone please give an idea why it's happening?
    Please find the code:
    LOOP AT it_record.
    header data for BDC
       AT NEW CLASS.
        IF sy-tabix <> 1.
            perform bdc_dynpro      using 'SAPLCLMO' '7777'.
            perform bdc_field       using 'BDC_OKCODE'
                                    '=SAVE'.
            CALL TRANSACTION 'CLWM' USING bdcdata
                          MODE p_mode
                          UPDATE 'S'
                          MESSAGES INTO messtab.
            clear : bdcdata[],bdcdata.
        ENDIF.
        perform bdc_dynpro      using 'SAPLCLMO' '0200'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RMCLM-CLASS'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'RMCLM-CLASS'
                                      it_record-class.
        perform bdc_dynpro      using 'SAPLCLMO' '7777'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RMCLM-KLBEZ'.
        perform bdc_field       using 'RMCLM-KLBEZ'
                                      it_record-klbez.
        perform bdc_field       using 'RMCLM-STATU'
                                      '1'.
        perform bdc_dynpro      using 'SAPLCLMO' '7777'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=MERK'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RMCLM-KLBEZ'.
        perform bdc_field       using 'RMCLM-KLBEZ'
                                      it_record-klbez.
        perform bdc_field       using 'RMCLM-STATU'
                                      '1'.
        MOVE 1 TO IDX.
        ENDAT.
    line item data for BDC
            perform bdc_dynpro      using 'SAPLCLMO' '7777'.
            perform bdc_field       using 'BDC_OKCODE'
                                       '/00'.
            perform bdc_field       using 'BDC_CURSOR'
                                        'RMCLM-RELEV(02)'.
            CONCATENATE 'RMCLM-MERKMA(' IDX ')' INTO FNAM.
            perform bdc_field       using FNAM
                                        it_record-merkma.
            CONCATENATE 'RMCLM-RELEV(' IDX ')' INTO FNAM.
            perform bdc_field       using   FNAM
                                       it_record-relev.
            IDX = IDX + 1.
      ENDLOOP.
    Thanks,
    Ujjwal

    Hi Ujjwal
    The reason behind this is that you are using AT NEW.... ENDAT block in your coding.
    When you use AT NEW field statements, the fields in the work area after the field get converted into ********.
    Check values in your work area I_RECORD in debugging inside AT NEW statement and you will understand what I am saying.
    In your case all the fields from header line of I_RECORDS which come after field CLASS are getting converted into *******,
    hence the error.
    Try using a temporary work area, say w_record. Pass value of I_record to w_record before AT NEW statement.
    And use w_record-fields instead of I_record-fields. And your program should work.

  • Initializing values in an internal table

    hi
    how to initialize values in a internal table
    according to my requirement i need to initialize (both character and currency) values present in the internal table based on certain conditions
    vamsi

    hi
    As i understood you want to clear only selected fileds not the complet record..
    create a Field symobl the loop at the table.. inside the loop check the condtion the just clear the filed.
    example: you have itab type mara.
    then
    FIELD-SYMOBOLS <FS_WA_ITAB> TYPE MARA.
    LOOP AT ITAB ASSIGNING <FS_WA_ITAB>.
    IF X = XXX (YOUR CONDITION)
    CLEAR: <FS_WA_ITAB>-FIELD2,
                 <FS_WA_ITAB>-FIELD3. (If u want to clear only filed2 and field3)
    clear <FS_WA_ITAB>. (if you want to cleatr the complete record)
    ENDIF.
    ENDLOOP.
    Why iam suggestin the filed-symobol is.. it is direcltly work on internal table body so u no need to update the table agian
    Please Close this thread.. when u r problem is solved
    Reward if Helpful
    Regards
    Naresh Reddy K

  • How to check a field value within an Internal table

    Hi Friends,
    My requirement is:
    I have a line item of PO records, in that each line item of Plant field should not diffe with other line items. If it differs or say the records have different plant values line items, then I have to throw an error message.
    Below example for better understanding.
    lineitem Plant
    010       ABC
    020       ABC
    030       XYZ
    040       LKG
    So, my report will throw an error like "All line items must be identical'.
    How to do proceed it.Please advise.
    Thanks & Regards
    Sankar.

    Hi Sankar
    first you need to fetch all the values in one internal table from your PO.
    After that create an internal table with only plant field and move all the plan values in this table.
    let assume ITAB is a table with all the values. and ITAB1 with plant only.
    wa_itab is the work area for ITAB and wa_itab1 is WA for ITAB1.
    ITAB has all the values and ITAB1 has all the values only for plant.
    delete adjacent duplicate from itab1 compairing plant.
    loop at itab1 into wa_itab1. " this will fetch all the plant values in workarea.
    read table itab into wa_itab where wa_itab-plant = wa_itab1-plant.  " this will fetch only the values matching to the table itab1
    if su-subrc <> 0.       
    message 'plants are not similar' TYPE 'E'.
    elseif sy-subrc = 0.
    write your code*.
    endif.
    endloop.
    hope this will help you.
    Thanks
    Lalit Gupta

Maybe you are looking for