QUANTITY field Validation

Hi,
I have a field lw_bfquant , once the user enters a value for quantity on the screen, I want to check that this field is not zero, not negative and doesnot have decimals .what code should I write for this?
<REMOVED BY MODERATOR>
Thanks.
Deepti.
Edited by: Alvaro Tejada Galindo on Feb 11, 2008 4:50 PM

Try this:
REPORT ztest LINE-SIZE 80 MESSAGE-ID 00.
PARAMETERS bfquant TYPE erfmg.
DATA: rem(5) TYPE p DECIMALS 3.
* No need to check for negative - not allowed in ERFMG
IF NOT bfquant > 0.
  MESSAGE e001 WITH 'Quantity must be greater than 0'.
ENDIF.
rem = bfquant MOD '1'.
IF rem <> 0.
  MESSAGE e001 WITH 'No decimals allowed'.
ENDIF.
I think all the other solutions only work for character fields. You can only enter numerics into quantity fields, so you don't have to check that..
Rob
Edited by: Rob Burbank on Feb 11, 2008 4:33 PM

Similar Messages

  • Validation of a quantity Field gives a run time dump

    I have an upload file which provide me with a quantity input field which i needs to validate for non characters and special characters.
    I have used a code which does a validation for the character or special character entry in the field but i am not able to check for '.' in the entry.
    the problem is if the user by mistake enters two decimal point which should only be one; the program goes for a dump.
    the below given code is what i have used for validation of the quantity field.
      IF NOT wa_final-actual_quan IS INITIAL.
        MOVE wa_final-actual_quan TO l_fld_quantity.
        TRANSLATE l_fld_quantity TO UPPER CASE.
        IF l_fld_quantity CA sy-abcde OR
                          l_fld_quantity CA '!~@#$%^&*"?><`|}{[]()+-='.
         *giving an error message
          v_flag1 = c_x.
        ELSE.
          CLEAR: l_fld_quantity1,l_fld_quantity2.
          SPLIT l_fld_quantity AT '.' INTO
                                      l_fld_quantity1 l_fld_quantity2.
          CONDENSE l_fld_quantity1.
          l_len = strlen( l_fld_quantity1 ) .
          IF l_len LE 10.
            IF NOT l_fld_quantity2 IS INITIAL.
              l_len1 = strlen( l_fld_quantity2 ).
              IF l_len1 LT 2.
              CONCATENATE l_fld_quantity2 '0' INTO l_fld_quantity2.
              ENDIF.
              CONCATENATE l_fld_quantity1 '.'  l_fld_quantity2(2)
                                          INTO l_fld_quantity3.
              CONDENSE l_fld_quantity3.
            ELSE.
              CONCATENATE l_fld_quantity1 '.' '00'
                                          INTO l_fld_quantity3.
            ENDIF.
            wa_zphyin-acqty = l_fld_quantity3.
    the requirement is that if the user enters the input for quantity it should only accept one decimal place in the field and if by mistake he enters 2 decimal points it should give an error stating :- invalid input for quantity.
    experts please guide as to how i can overcome the problem.
    helpfull amswers will be rewarded.

    Use try..catch..endtry block to handle the error.
    REPORT  Z_TEST2.
    data: l_num type p decimals 2.
    parameter: p_value type char10.
    start-of-selection.
    try.
    l_num = p_value.
    catch cx_root.
    write: 'Not numeric'.
    exit.
    endtry.
    write: 'Numeric'.
    Regards,
    Joy

  • Regarding Editable Quantity field in ALV Grid

    Hi Experts,
    I need your advice in this 2 scenarios.
    1.I have a scenario where quantity field in output is editable and the user wants the quantity field printed without thousand separator. If i take a char field and display the field is editable then user may mistakenly type a,bcd...z/ special characters which it should not capture. Is there any char data type data element which accepts only integers. Because after that i need to save that value in z database table quantity field.
    2. when there i raised an error message after validation of that editable field in alv output(by events), the user wants all other rows in that grid as uneditable except the row which has got error till this error is solved. Is this possible. If yes how.
    Please share your valuable suggestions.

    Hi abilash n      
    as in dictionary, all quantity fields should have a reference to the unit field which then defines the number of decimals.
    The rest is done automatically as long as you do it standard way. In field catalog you have to set the fcat-qfieldname to the name of the field that has the unit.
    If you do so, also totals will be grouped by unit.
    SAP has really done a great thing by inventing  units for quantities (and currency keys for currency amounts). Only developers do not understand and thus refuse to use it.
    Regards,
    Clemens

  • Purpose of Entry/Check Table and Currency Quantity Fields...!

    Hi......!,
    I want to know what is the purpose of this   Entry/Check Table and Currency Quantity Fields, while creating a table in DDIC .
    give me a clear explanation .....!
    best answers would be rewarded.
    thanks
    prasad

    Hi Prasad,
    All the Modules in SAP are inter related,
    So their Tables also must be related and must be valid
    and they are related to foreign key relation ships
    and also we can provide the list of input values using search helps
    to know what the search helps and check tables are assigned to the particular  field they provided the tab
    In the currency fields or quanitiy fields we only enter the amount but not the units,
    so the units are assigned if we provide the reference field and table , and so that tab is provided to check what are reference fields and tables and also to assign new fields
    hope I am clear
    Reward if helpful
    prasanth

  • Quantity fields not getting displayed in the second total row

    Hi,
    As per the requirement I have to display 2 total rows for an ALV report using CL_GUI_ALV_GRID. I am able to get the first total row properly using method get_subtotal(). However for the next total row only the character fields are getting displayed and the quantity fields are coming blank.
    The second total row will have different values based on a formula.
    Please help me out in resolving the issue.
    Thanks,
    Abhishek

    You can provide first row as the SUBTOTAL and next row as the TOTAL.
    Get one extra column on which you can do the SUBTOTAL.
    Regards,
    Naimesh Patel

  • How can we remove the following zeros from quantity field ?

    Hi All.
    how can we remove the following zeros from quantity field while populating ALV by using FM REUSE_ALV_GRID_DISPLAY ?
    eg:getting output zqty = 2.000
    but i need           zqty = 2.
    help me to reslove this issue.
    Regards.
    jay

    Hi,
      While populating the field catlog do the following thing to   avoid zeros.
      wa_fieldcat-tabname = 'I_OUTPUT'.    " Curr
      wa_fieldcat-fieldname = 'FWAER'.
      wa_fieldcat-seltext_l = text-023.
      wa_fieldcat-no_zero = 'X'.
      APPEND wa_fieldcat TO i_fieldcat.
      CLEAR  wa_fieldcat.
    Thanks,
    Khushbu.

  • Make quantity field of Free goods as non-editable.

    Hie!
    I have free goods scheme of 9 + 1 .If quantity of main material is 10 then it will split into 9 + 1 where 1 is free of cost.
    While making the sales order the free goods quantity field is editable. So the users are able to change the free goods quantity. I want to make this field as non-editable.
    Please suggest how to do this.
    Thankyou.

    Hi Pallavi
    If you change the manual qty which is automatically determined by the system then there will be a message thrown by the system
    Suppse in your case if 9+1 you change the qty manually to 2 from 1 there is a message V1 no 737 thrown by the system
    You need to change the message class thro ABAP development only not possible thro customization
    Not only this in delivery also it is possible to change the free qty and this also has to be controlled by the ABAPer only
    Regards
    Raja

  • Trying to create a Field Validation Expression and need help

    I have a picklist field and another field that are in question. I want to set some sort of rule that forces the second field to be populated only If specific values are selected from the picklist field.
    I was going the route of a field validation Rule, but everything i've tried so far does not produce the results i am trying to achieve.
    The first type of expression i tried was:
    ([<plProduction_Print_Account_Category_ITAG>] <> LookupValue("OCC_CUST_LOV_ACCOUNT_1", "No Production Print") AND ([<stSIC_Code_ITAG>] IS NULL))
    This is generating the field validation error message when i select any of the correct values from the picklist. the problem is still the second field, which will generate the error if a value is entered into the second field, regardless of the picklist value selected. Switching the "IS NULL" to "IS NOT NULL" only reverses the problem on the second field, causing the error to generate when the second field is updated to a NULL or blank value.
    I also tried :
    = 'No Production Print' AND [<stSIC_Code_ITAG>] IS NOT NULL
    and got similar results.
    ([<plProduction_Print_Account_Category_ITAG>] = LookupValue("OCC_CUST_LOV_ACCOUNT_1", "No Production Print"))
    Similar results as well.
    Does this need to be an IIF statement? Do I need to make this a workflow expression instead? i could really use some help as I have tried everything i can think of and admit, i'm not the expression guru!!!. Any assistance would be appreciated.
    TeknoMan

    Yes we have the same request and we used the following expression. Example we have a field "Método de pago" ( [<plMtodo_de_pago_ITAG<]), it's values are "CHEQUE and DEPOSITO" if we select DEPOSITO three more fields were requiered Route, Sucursal de banco and Clabe so we have to put this validation in the four fields including Metodo de pago.
    [<plMtodo_de_pago_ITAG>] <> "DEPOSITO" OR ([<Route>] IS NOT NULL AND [<nSucursal_de_banco_ITAG>] IS NOT NULL AND [<stCLABE_ITAG>] IS NOT NULL)
    well in the field CLABE we put the following [<plMtodo_de_pago_ITAG>] <> "DEPOSITO" OR ([<Route>] IS NOT NULL AND [<nSucursal_de_banco_ITAG>] IS NOT NULL AND [<stCLABE_ITAG>] IS NOT NULL AND Len([<stCLABE_ITAG>])=18) this was because the len of the value must be 18 characters.
    I hope this works for you
    Regards Catalina Valadez
    Edited by: CatalinaV on 12/03/2009 10:54 AM
    Edited by: CatalinaV on 12/03/2009 10:55 AM

  • ALV QUANTITY field Geting converted into decimals ?

    Hi All ,
    I have developed an alv report .In that the quantity field is made editable after editing the quantity when i save it .It gets converted into decimals.Suppose if i give 77 its getting reflected as .077 all the field name ,table name ,reference field name, reference table name, quantity field data type has been passed but the problem persists.If there is any one whos has come across this kind of scenario please share your thoughts on this.
    Best Regards,
    Sreeram

    Hi Sreeram,
    I am not gettin this issue. See below code :
    If you are gettiing the same issue with the below code then it has something to do with your user settings.
    Go to Menu Item System -> User Profile -> Own Data -> Defaults ->Decimal Notation.
    Set it to 1,234,567.89 and save. Now try the program again.
    REPORT z_test.
    TYPE-POOLS: slis.
    TYPES : BEGIN OF ty_ekpo,
              ebeln TYPE ebeln,
              ebelp TYPE ebelp,
              ktmng TYPE ktmng,
              menge TYPE bstmg,
            END OF ty_ekpo.
    DATA: it_ekpo TYPE TABLE OF ty_ekpo,
          it_fieldcat TYPE slis_t_fieldcat_alv.
    SELECT ebeln ebelp ktmng menge
      FROM ekpo
      INTO TABLE it_ekpo
      UP TO 20 ROWS.
    PERFORM add_fieldcat USING 'EBELN'.
    PERFORM add_fieldcat USING 'EBELP'.
    PERFORM add_fieldcat USING 'KTMNG'.
    PERFORM add_fieldcat USING 'MENGE'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       i_callback_program                = sy-repid
       it_fieldcat                       = it_fieldcat
      TABLES
        t_outtab                          = it_ekpo
    EXCEPTIONS
       program_error                     = 1
       OTHERS                            = 2
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    FORM add_fieldcat  USING  p_fieldname TYPE slis_fieldcat_alv-fieldname.
      DATA: wa_fieldcat TYPE slis_fieldcat_alv.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname = p_fieldname.
      wa_fieldcat-tabname = 'IT_EKPO'.
      wa_fieldcat-ref_fieldname = p_fieldname.
      wa_fieldcat-ref_tabname = 'EKPO'.
      IF p_fieldname EQ 'KTMNG'.
        wa_fieldcat-edit = 'X'.
      ENDIF.
      APPEND wa_fieldcat TO it_fieldcat.
    ENDFORM.                    " ADD_FIELDCAT
    Regards,
    Jovito

  • Quantity field in ALV

    Hello All,
          I am using OO - ALV in which I am displaying a quantity field.This field is an editable field and if user tries to change the value and SAVE , it is taking some wrong values.
    Say suppose I am having 1.000 as the initial value and if user changes it to 2.000 and saves it is converted to .002.
    I tried with qfieldname , ref_fieldname of fieldcat but of no use. Anything apart from this will be highly appreciated.
    Regards,
    Dhwani

    User might be changing the value to only 2 and you might have declared the fieldcat with 2-3 decimal places. If you enter value with decimals say 2.001 it will take.
    Otherwise you need to replace it with char value as Nanda has suggested.
    Hope it helps.
    Thanks,
    Jayant

  • Quantity field in ALV Grid

    I am using KWMENG data element in my ALV grid which is a quantity field. In normal dialog programming this field does not allows entering characters in editable cells. But in ALV grid I am not able to restrict it from entering characters.
    Eg: In VA01 if we try to enter any character "ABC...Z" then it wouldn't be typed in the screen. But when using the same data element in ALV grid iot allows to enter alphanumeric values. Since it's a quantity field so character value gives a short dump. I know I can restrict the dump by using "NA" in comparing string but I want to knw is there a way by which I restrict character field entry in alv grid, the same way this field works in VA01. I checked with a simple dialog prog and in that also it doesn not allows character typing in editable fields.

    simple solution
    mention the ref_fieldname and ref_tablename in the fieldcatalog for that column.
    ex:
    fieldcat-ref_fieldname = 'KWMENG'.
    fieldcat-ref_tablename = 'VBAP'.

  • Quantity field in alv display

    Hi all.
    we are phasing a  problem.
    I am using alv to display in output.
    I am using a Quantiti field (BDMNG),.
    in this field if nodata is there then it is showing 0.000(that is the default value).
    I don't want those zeros.I want only space(blank only).
    Can any body help me to solve this issue.
    Thanks in advance
    Eswar.

    Hai,
         While building field catalog For quantity field Set the NO-ZERO attribute to 'X'.
         Or you can change the quantity filed to character in the alv display.
    Mark points if helpful.
    Regards,
    Umasankar

  • Is is possible to display quantity field in FBU3?

    Hi,
    Is it possible to display the quantity field in FBU3? We have activated the quantity field for FBL3N but not able to find the configuration to do it for FBU3.
    Please guide.

    Good Morning Everybody,
    The above question still continues...
    {Please Answer}

  • How can I do field validation on the last two characters of a text field?

    I have a text field. The user is required to enter the last two characters as numbers. I want to apply validation on this field. How can i achieve the same?
    EX: If the user enter ABCDE, an error messgae stating the last two digit should be numeric.
    I tried using the below in the field validation which did not work.
    (0+Right([<ExternalSystemId>],2)) > 0 AND (0+Right([<ExternalSystemId>],2)) < 99.
    Any ideas would help?

    Try this-
    FindOneOf(Right([<Field1>],"2"),"abcdefghijklmnopqrstuvwxyz")=0
    rgds,
    Amit

  • Mandatory field validation on Page links.

    We have created a Portal application where we included different applications as taskflows. We have also created a tabbed interface which helps us to communicate from one task flow to another taskflow. When we are in one page of taskflow and try to move to another page of different taskflow using tabbed interface we receive mandatory field validation error which prevents us to move to any other page until we fill all the mandatory fields. We need to move to different page of taskflow by using the tabbed interface even without filling all the necessary mandatory fields. Can anyone help us to resolve this issue as this is very important for our project.

    <b>Layout</b>
    <%@page language="abap" %>
    <%@extension name="htmlb" prefix="htmlb" %>
    <htmlb:content design="design2003" >
      <htmlb:page title="Check Pernr " >
        <htmlb:form>
          <htmlb:textView text   = "Personnel No."
                          design = "EMPHASIZED" />
          <htmlb:inputField id    = "pernr"
                            value = "<%= lv_pernr %>" />
    <%
    if lv_no_pernr = 'X'.
    %>
    <script language="Javascript">
    alert ("Personnel no. is not Valid")
    </script>
    <%endif.%>
       </htmlb:form>
      </htmlb:page>
    </htmlb:content>
    <b>ONINPUTPROCESSING</b>
    DATA: l_pernr TYPE persno.
      DATA: data TYPE REF TO cl_htmlb_inputfield.
      data ?= cl_htmlb_manager=>get_data( request = runtime->server->request
                                             name     = 'inputField'
                                             id       = 'pernr' ).
      IF data IS NOT INITIAL.
        l_pernr = data->value.
      ENDIF.
    CLEAR lv_no_pernr.
    SELECT SINGLE pernr FROM pa0000 INTO l_pernr WHERE pernr EQ lv_pernr.
    IF sy-subrc NE 0.
      lv_no_pernr = 'X'.
    ENDIF.
    <b>PAGE ATTRIBUTES</b>
    lv_no_pernr     TYPE     FLAG
    lv_pernr     TYPE     PERSNO
    hope this helps.
    A

Maybe you are looking for

  • Problem in collect stmt

    hi all, I am doing report in which there is opening stock , closing stock and all movement wise stock. i am able to do all this for one material but when i am try for more than one material then value of last material is overwrite on other material.

  • Asp requests download instead of opening document in new window

    I go to certain websites with the new FF 4 and attempt to access a document that uses asp and FF downloads it instead of opening it. Works fine in Safari, Chrome, Opera but not in FF.

  • How to control HP8350B with HP83592A and HP8757A

    I want to control HP8350B with plug in HP83592A and HP8757A by NI GPIB,using Labview language and print out HP8757A screen chart to printer, but when I sent command to HP8757A according to HP8350B manual ,such as "PT19",the instrument has no response

  • Windows 7 - sounds menu control panel

    %hi, ,my x-fi is not being detected in the sounds menuas a selectable device, the recording menu shows the devices listed but not in sounds. i reinstalled and repaired and got new drivers, nothing works, need this for music xenofear

  • Hearing Audio from placed background movie

    I am trying to line up my audio from a FCP .mov file. When I play my movie...the video plays fine in LType but there is no audio that plays. Is there a setting Im missing? This has worked before for me where I can hear my audio adjust the graphics an