Sorting and null for monetary values in a report

All,
I think this should be an easy one, and I've just missed something obvious.
I have a standard report in APEX 3.2.1 that includes a column with a monetary amount in it. I want the column to show the UK Pound sign, be sortable, and show nulls where appropriate.
The issue I have is I can't find a way to achieve all 3 in a satisfctory way. As I see it the options would be:
1) In the SQL for the report, concat the pound sign to the column required, e.g. SELECT '£'||amount FROM....
The issue is that this makes this field a CHAR field, so sorting would not sort in the same way as for a number field.
2) Use the Number format FML999...etc. in the Column Attribute.
The problem with this is that this is a multi-country database, and the default monetary unit is set to the US dollar.
3) Use the HTML expression box in the Column attribute to display £#COL#
This fulfills the pound sign and retaining the number format, but unfortunately a null value is displayed as a £ sign with no numbers. I can't think how to get it to leave that value in the report as completely blank.
As I said, I'm sure I've missed soemthing obvious. If anyone can spot how to achieve this it'd be much appreciated.
Regards,
Jon.

>
2) Use the Number format FML999...etc. in the Column Attribute.
The problem with this is that this is a multi-country database, and the default monetary unit is set to the US dollar.
>
The NLS currency symbol can be modified on the fly if you have some means of identifying user location/preference: {thread:id=990848} (ignore the last post)
However, it probably doesn't make sense to do that—£100 ≠ $100 (at least I hope not!)—unless there's some kind of conversion occurring in the report? Is there a currency stored along with the amount?
>
3) Use the HTML expression box in the Column attribute to display £#COL#
This fulfills the pound sign and retaining the number format, but unfortunately a null value is displayed as a £ sign with no numbers. I can't think how to get it to leave that value in the report as completely blank.
>
Use 2 columns, one for the amount, and one for the currency, with a switch to include or exclude the latter as necessary:
select
          ename
        , comm amount
        , nvl2(comm, '£', null) currency
from
          emp
where
          job in ('SALESMAN', 'MANAGER')
ENAME      AMOUNT                 CURRENCY                        
ALLEN      300                    £                               
WARD       500                    £                               
JONES                                                             
MARTIN     1400                   £                               
BLAKE                                                             
CLARK                                                             
TURNER     0                      £                                Then use both columns in the Amount HTML Expression:
#CURRENCY##AMOUNT#

Similar Messages

  • Sorting and Grouping by multi-value Choice columns - any options?

    I found out the hard way that SharePoint doesn't support sorting or grouping lists by Choice columns that are set to "Allow Multiple Values." I'm stunned by this missing capability, and my project has come to a complete halt without it. It's like Microsoft only implemented hafl the feature -- you can put data in, but then you can't do anything with it. You can't even use the column in a formula in another column, so you can't parse it.
    I'm not posting just to gripe though. Does anyone have any suggestions for alternatives? What do you do when you need to let people make multiple selections, and then you want to sort or group by those values? Are there any add-on products that allow this? At this point my only option seems to be to not allow multiple choices, but that's taking away a rather significant feature.
    Thanks for any ideas,
    Steve

    Hi Paul,
    Thank you for the reply and the additional questions. For my situation I want to use the multi-value choice to indicate a "belongs to" relationship, as in "this item belongs to projectA, projectB, and project C. Because there are more than 10 projects, I didn't want to create a separate Yes/No checkbox for each one.
    For viewing the information, I'm looking primarily for a "group by" function.  So if an item belongs to projectA, projectB, and projectC, it would appear three times, once under the grouping for each project. What I don't want is for a row that only belongs to projectA to be grouped separately from a row that belongs to both projectA and projectB. I want to see all the rows that belong to projectA grouped together, regardless of whether they also belong to other projects.
    I'll look into using a grid control, but if you have any other suggestions I'll certainly listen.
    Steve

  • How does Java Handle String Literals Setting to Null for Identical Values ?

    Suppose,
    String s1="Java";
    String s2="Java";
    Now if i am not wrong only one value(bit pattern) "Java" exists in the heap and both s1 and s2 are pointing to it.
    If i set s1 to null,
    s1=null;
    Won't s2 be affected (it is not getting affected actually..)
    What could be the cause for this ?
    Thanks in Advance.

    amtidumpti wrote:
    So is it something like ....
    Variable         Memory Address   Value
    s1                      0234234           "Java"
    s2                      0234235           "Java"
    is s1 is set to null :
    Variable         Memory Address   Value
    s1                      0234234           null
    s2                      0234235           "Java"
    No. In your model here, a variable's value is a String object. It's as if your entire house exists on my s1 paper, and an exact duplicate house with all the same contents exists on my s2 paper. In Java, no variable or expression ever holds an object. No value is ever an object.
    It's more like this:
    Variable         Memory Address         Value
    s1                      0234234           11223344
    s2                      0234235           11223344
    is s1 is set to null :
    Variable         Memory Address         Value
    s1                      0234234           null
    s2                      0234235           11223344and 11223344 is, roughly speaking, the "address" where the String object holding "Java" is stored.
    And in both your model and mine, "Memory Address" is not the address that the variable holds. Rather, it is the address that corresponds to what we humans have named s1 and s2 for our convenience.
    Edited by: jverd on Apr 10, 2009 11:43 AM

  • Recieve a value and search for a value greater than item

    is this code correct if i wanted to recieve a single argument item and search the list for a value greater than item
    public boolean greaterFound(Comparable item)
         int index = 0;
      while (index < numItems && listItems[index].compareTo(item) != 0)
          index++;
      return ((index-1) < (index));
    }

    Okay here are all the errors piece by piece.
    public boolean greaterFound(Comparable item)
         int index = 0;Well to start with this is not an error per se. But I would just return true if I found a match and false otherwise. There may be some who think that is terrible... I disagree.
      while (index < numItems && listItems[index].compareTo(item) != 0)What is numItems?
    That if is shady.
    What you are checking for is flat out wrong.
          index++;I'd be returning true here
    return ((index-1) < (index));This is just nonsense. As it stands will always return true and invalidates the rest of your code.

  • Color for negative Values in ALV Report

    I want to change the color for negative values displayed in ALV list diplay report. Eg. -5 in Quantity should be changed to orange. Kindly help me
    Thanks

    Check the below program and bold one are important ( which is similar to MD05 Traffic lights )
    REPORT ZWM_BIN_STOCK_REQ no standard page heading
                        message-id zwave.
    D A T A   D E C L A R A T I O N ****************************
    Tables
    tables :zpwvbap,
             mara,
             marc,
             makt,
             vbap,
             zshift,
             marm,
             lqua.
    TYPE-POOLS: SLIS.
    Internal Table for Sales order
    data : begin of i_vbap occurs 0,
           matnr like zpwvbap-matnr," Material #
           ZZCUTOFF like zpwvbak-ZZCUTOFF," Cutoff Time
           vlpla like zpwvbap-vlpla,
           kwmeng like zpwvbap-kwmeng," Quantity
           vrkme  like zpwvbap-vrkme, " Sales Unit
           meins like zpwvbap-meins, " Unit of measure
           end of i_vbap.
    Internal Table for final Processing
    data : begin of i_final occurs 0,
           date(8) type c,
           matnr like zpwvbap-matnr," Material #
           zzshift like zshift-zzshift, " Wave Drop
           maktx like makt-maktx," Desc
           lgpla like lagp-lgpla, " Pick Bin
           pverme like lqua-verme," Stock at Pick Bin
           prverme like lqua-verme," Stock at Prod Bin
           kwmeng like zpwvbap-kwmeng," Requiremnet from Wave Drop
           vrkme  like zpwvbap-vrkme, " Sales Unit
          meins like zpwvbap-meins," Unit of measure
           end of i_final.
    Internal Table for Output
    data : begin of i_output occurs 0,
         <b>  field type c, " Traffic Lights</b>     
          zzshift like zshift-zzshift, " Wave Drop
           matnr like zpwvbap-matnr," Material #
           maktx like makt-maktx," Desc
           lgpla like lagp-lgpla, " Pick Bin
           pverme like lqua-verme," Stock at Pick Bin
           prverme like lqua-verme," Stock at Prod Bin
           kwmeng like zpwvbap-kwmeng," Requiremnet from Wave Drop
           vrkme like zpwvbap-vrkme," Sales Unit
          meins like zpwvbap-meins," Unit of measure
           diff like zpwvbap-kwmeng, " Diffrence
           end of i_output.
    Work Area for Final Internal Table
    data wa_final like i_final.
    data :  w_zzcutoff(12) TYPE c,
            v_date type sy-datum,
            v_time(4) type c,
            v_fldate(12) type c,
            v_fhdate(12) type c,
            v_pverme like lqua-verme,
            v_prverme like lqua-verme,
            v_diff like zpwvbap-kwmeng.
    Variables for new check box
    data : v_nverme like lqua-verme.
    Internal Table for Pick Bin
    data : begin of i_verme occurs 0,
           verme like lqua-verme,
           end of i_verme.
    Internal table for Prod Bin
    data : begin of i_pverme occurs 0,
           verme like lqua-verme,
           end of i_pverme.
    Variables for ALV
    DATA: FIELDCAT           TYPE SLIS_T_FIELDCAT_ALV,
          FIELDCAT_LN        LIKE LINE OF FIELDCAT,
          SORTCAT            TYPE SLIS_T_SORTINFO_ALV,
          SORTCAT_LN         LIKE LINE OF SORTCAT,
          EVENTCAT           TYPE SLIS_T_EVENT,
          EVENTCAT_LN        LIKE LINE OF EVENTCAT,
          LAYOUT             TYPE SLIS_LAYOUT_ALV,
          C_TOP_OF_PAGE      TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
          g_user_command TYPE slis_formname VALUE 'USER_COMMAND',
          GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    DATA: COL_POS TYPE I,
          P_LIGNAM TYPE SLIS_FIELDNAME VALUE  'FIELD'.
    DATA : V_REPID LIKE SY-REPID,
           flag type c.
    S E L E C T I O N - S C R E E N *************************
    selection-screen : begin of block blk with frame title text-001.
    parameter : p_plant like marc-werks obligatory default '1000'.
    select-options : s_date for sy-datum obligatory ,
                     s_shift for zshift-zzshift,
                     s_matnr for mara-matnr,
                     s_dept for zpwvbap-zzdept,
                     s_pdept for marc-ZZPRODDEPT.
    selection-screen: end of block blk.
    parameters : p_check as checkbox ."default 'X'.
    ranges r_cutoff for  w_zzcutoff.
    I N I T I A L I Z A T I O N ****************************
    initialization.
      V_REPID = SY-REPID.
      s_date-low = sy-datum + 1.
      append s_date.
    S T A R T - O F - S E L E C T I O N  ***********************
    start-of-selection.
    Get the Shift Data.
      PERFORM GET_SHIFT_DETAILS.
    Get the data from ZPWVBAP Table
      PERFORM GET_DATA_VBAP.
    E N D - O F - S E L E C T I O N **********************
    end-of-selection.
      if not i_output[] is initial.
        sort i_output by field zzshift matnr.
    Reset the all Fiedcatlog.
        PERFORM RESETVALUES.
    Traffic Lights
        PERFORM BUILD_LAYOUT.
    Fill the fieldcatlog values
        PERFORM FILL_FIELDCATLOG.
    Call the List Function module
        PERFORM CALL_lIST.
      endif.
    *&      Form  GET_SHIFT_DETAILS
          Get the Cutoff Time.
    FORM GET_SHIFT_DETAILS.
      clear : v_fldate,
              v_fhdate.
      if not s_shift-low is initial.
        clear: v_time,
               v_date.
        if s_shift-low = '1'.
          v_time = '2000'.
        elseif s_shift-low = '2'.
          v_time = '2300'.
        endif.
        v_date = s_date-low - 1.
        concatenate v_date v_time into v_fldate.
      endif.
      if not s_shift-high is initial.
        clear : v_date,
                v_time.
        if s_shift-high = '1'.
          v_time = '2000'.
        elseif s_shift-high = '2'.
          v_time = '2300'.
        endif.
        if not s_date-high is initial.
          v_date = s_date-high - 1.
        else.
          v_date = s_date-low - 1.
        endif.
        concatenate v_date v_time into v_fhdate.
      endif.
      if not v_fhdate is initial.
        r_cutoff-low = v_fldate.
        r_cutoff-high = v_fhdate.
        r_cutoff-sign = 'I'.
        r_cutoff-option = 'BT'.
        append r_cutoff.
      endif.
    ENDFORM.                    " GET_SHIFT_DETAILS
    *&      Form  GET_DATA_VBAP
          Get the data from ZPWVBAP Table
    FORM GET_DATA_VBAP.
    Get the data from ZPWVBAP and ZPWVBAK Table
      if not v_fhdate is initial.
        select matnr ZZCUTOFF  vlpla sum( kwmeng ) vrkme meins
                     into table i_vbap
                     from zpwvbap as a inner join zpwvbak as b on
                                   a~vbeln = b~vbeln
                                   where a~werks = p_plant
                                   and   a~matnr in s_matnr
                                   and b~vdatu in s_date
                                   and a~zzdept in s_dept
                                   and b~zzcutoff in r_cutoff
                                  group by matnr zzcutoff vlpla vrkme meins.
      elseif not v_fldate is initial.
        select matnr ZZCUTOFF vlpla sum( kwmeng ) vrkme meins
                           into table i_vbap
                           from zpwvbap as a inner join zpwvbak as b on
                                   a~vbeln = b~vbeln
                                   where a~werks = p_plant
                                   and   a~matnr in s_matnr
                                   and b~vdatu in s_date
                                   and a~zzdept in s_dept
                                   and b~zzcutoff = v_fldate
                               group by matnr zzcutoff vlpla vrkme meins.
      else.
        select matnr ZZCUTOFF vlpla sum( kwmeng ) vrkme meins
                              into table i_vbap
           from zpwvbap as a inner join zpwvbak as b on
                                   a~vbeln = b~vbeln
                                   where a~werks = p_plant
                                   and   a~matnr in s_matnr
                                   and b~vdatu in s_date
                                   and a~zzdept in s_dept
                                   and b~zzcutoff in r_cutoff
                                group by matnr zzcutoff vlpla vrkme meins .
      endif.
      if sy-subrc ne 0.
        message i000(zwave) with 'No data found for given selection'.
        stop.
      endif.
      sort i_vbap by zzcutoff matnr.
      loop at i_vbap.
        clear : v_pverme,
                v_prverme.
    Compare the data with pick method
        select single zzpick from marc into marc-zzpick
                             where matnr = i_vbap-matnr
                             and   werks = p_plant
                             and   zzpick = '01'.
        if sy-subrc ne 0.
          continue.
        endif.
    Compare the data from MARC Table with Production Department
        select single zzPRODdept from marc into marc-zzPRODdept
                             where matnr = i_vbap-matnr
                             and werks = p_plant
                             and  zzPRODdept in s_pdept.
        if sy-subrc ne 0.
          continue.
        endif.
    Get the Material Description from MAKT Table
        Select single maktx from makt into makt-maktx
                            where matnr = i_vbap-matnr
                            and   spras = 'E'.
        if sy-subrc eq 0.
          i_final-maktx = makt-maktx.
        endif.
    Get the Pick Bin
        i_final-lgpla = i_vbap-vlpla.
        refresh i_verme.
        clear i_verme.
    Get the stock at Pick bin
        select verme  from lqua into table i_verme
                            where lgpla = i_vbap-vlpla
                            and   matnr = i_vbap-matnr
                            and   LGNUM = '100'.
        if sy-subrc eq 0.
          loop at i_verme.
            v_pverme = v_pverme + i_verme-verme.
          endloop.
          if sy-subrc eq 0.
            i_final-pverme = v_pverme.
          endif.
        endif.
        refresh i_pverme.
        clear i_pverme.
    Get the stock at Production bin
        select  verme from lqua into table i_pverme
                           where matnr = i_vbap-matnr
                           and   LGNUM = '100'
                       and ( lgpla = '9595959595' or
                             lgpla = '2222222222' or
                             lgpla = '5555555555' or
                             lgpla = '3232323232' or
                             lgpla = '8080808080' or
                             lgpla = '4040404040' or
                             lgpla = '9090909090' ).
        if sy-subrc eq 0.
          loop at i_pverme.
            v_prverme = v_prverme + i_pverme-verme.
          endloop.
          if sy-subrc eq 0.
            i_final-prverme = v_prverme.
          endif.
        endif.
    Compare the unit of measure and sales unit
        if i_vbap-vrkme ne i_vbap-meins.
    Get the data from MARM Table ( Unit of measure )
          select single * from marm into marm
                               where matnr = i_vbap-matnr
                               and   meinh = i_vbap-vrkme.
          if sy-subrc eq 0.
            i_final-pverme = ( i_final-pverme * marm-umren ) / marm-umrez.
          endif.
        endif.
    Material #
        i_final-matnr = i_vbap-matnr.
    Quantity from ZPWVBAP
        i_final-kwmeng = i_vbap-kwmeng.
    Unit of Measure
       i_final-meins = i_vbap-meins.
    Sales Unit
        i_final-vrkme = i_vbap-vrkme.
    Wave Drop
        if i_vbap-ZZCUTOFF+8(4) = '2000' .
          i_final-zzshift = '1'.
        endif.
        if i_vbap-zzcutoff+8(4) = '2300'.
          i_final-zzshift = '2'.
        endif.
        i_final-date = i_vbap-zzcutoff+0(8).
        append i_final.
        clear : i_final,
                i_vbap.
    **Difference
       i_output-diff = i_output-pverme - i_vbap-kwmeng.
    Traffic Lights Depends on value
       if i_output-pverme > i_output-kwmeng.
         i_output-field = '3'.
       elseif i_output-pverme < i_output-kwmeng.
         i_output-field = '1'.
       elseif i_output-pverme = i_output-kwmeng.
         i_output-field = '2'.
       endif.
       append i_output.
       clear : i_output,
               i_vbap.
      endloop.
      refresh i_vbap.
      sort i_final by date matnr zzshift.
    Processing the internal table to get same material with pick quantity
    deduction even it for 2nd shift
      loop at i_final.
    Move the data into work area in order remove #
        move i_final to wa_final.
        clear : flag.
        at new matnr.
          move : wa_final-matnr to i_output-matnr," Material #
                 wa_final-maktx to i_output-maktx," Desc
                 wa_final-lgpla to i_output-lgpla," Pick Bin
                 wa_final-kwmeng to i_output-kwmeng," Order qty
                 wa_final-zzshift to i_output-zzshift," Shift
                 wa_final-pverme to i_output-pverme, " Pick bin qty
                 wa_final-vrkme  to i_output-vrkme," Sales Unit
                 wa_final-prverme to i_output-prverme. " Prod Bin Qty
    Difference
          i_output-diff = i_output-pverme - i_output-kwmeng.
    New logic for Only HMR Department
        <b>  if p_check = 'X'.
            if i_output-pverme < i_output-kwmeng.
              v_nverme = i_output-pverme + i_output-prverme.
              if v_nverme > i_output-kwmeng.
               if i_output-pverme < i_output-kwmeng.
               i_output-field = '2'.
                else.
    Traffic Lights Depends on value
                i_output-field = '3'.
                endif.
              elseif v_nverme < i_output-kwmeng.
                i_output-field = '1'.
              elseif v_nverme = i_output-kwmeng.
                i_output-field = '2'.
              endif.
            elseif i_output-pverme > i_output-kwmeng.
              i_output-field = '3'.
            elseif i_output-pverme = i_output-kwmeng.
              i_output-field = '3'.
            endif.
          else.
    Traffic Lights Depends on value
            if i_output-pverme > i_output-kwmeng.
              i_output-field = '3'.
            elseif i_output-pverme < i_output-kwmeng.
              i_output-field = '1'.
            elseif i_output-pverme = i_output-kwmeng.
              i_output-field = '2'.
            endif.
          endif.
          move i_output-diff to v_diff.
          flag = 'X'.
        endat.</b>
        if flag ne 'X'.
          move : wa_final-matnr to i_output-matnr," Material #
                 wa_final-maktx to i_output-maktx," Desc
                 wa_final-lgpla to i_output-lgpla," Pick Bin
                 wa_final-kwmeng to i_output-kwmeng," Order qty
                 wa_final-zzshift to i_output-zzshift," Shift
                 wa_final-vrkme  to i_output-vrkme," Sales Unit
                 wa_final-prverme to i_output-prverme. " Prod Bin Qty
      Move Diffrence value
          move v_diff to i_output-pverme.
          clear: v_diff.
    New logic for Only HMR Department
    New logic for Only HMR Department
          if p_check = 'X'.
            if i_output-pverme < i_output-kwmeng.
              v_nverme = i_output-pverme + i_output-prverme.
              if v_nverme > i_output-kwmeng.
              if i_output-pverme < i_output-kwmeng.
               i_output-field = '2'.
                else.
    Traffic Lights Depends on value
                i_output-field = '3'.
                endif.
    Traffic Lights Depends on value
               i_output-field = '3'.
              elseif v_nverme < i_output-kwmeng.
                i_output-field = '1'.
              elseif v_nverme = i_output-kwmeng.
                i_output-field = '2'.
              endif.
            elseif i_output-pverme > i_output-kwmeng.
              i_output-field = '3'.
            elseif i_output-pverme = i_output-kwmeng.
              i_output-field = '3'.
            endif.
    i_output-diff = i_output-pverme - i_output-kwmeng.
          else.
    Difference
            i_output-diff = i_output-pverme - i_output-kwmeng.
    Traffic Lights Depends on value
            if i_output-pverme > i_output-kwmeng.
              i_output-field = '3'.
            elseif i_output-pverme < i_output-kwmeng.
              i_output-field = '1'.
            elseif i_output-pverme = i_output-kwmeng.
              i_output-field = '2'.
            endif.
          endif.
        endif.
        append i_output.
        clear : i_output,
                wa_final,
                i_final,
                 v_nverme.
      endloop.
      sort i_output by field zzshift matnr.
    ENDFORM.                    " GET_DATA_VBAP
    *&      Form  RESETVALUES
          Reset the all fieldcatlogs
    FORM RESETVALUES.
      FIELDCAT_LN-KEY = SPACE.
      FIELDCAT_LN-DO_SUM = SPACE.
      FIELDCAT_LN-NO_OUT = SPACE.
      FIELDCAT_LN-QFIELDNAME = SPACE.
      FIELDCAT_LN-HOTSPOT = SPACE.
      FIELDCAT_LN-OUTPUTLEN = '0'.
      CLEAR: fieldcat_ln-seltext_l, fieldcat_ln-seltext_m,
             fieldcat_ln-seltext_s, fieldcat_ln-reptext_ddic.
    ENDFORM.                    " RESETVALUES
    *&      Form  FILL_FIELDCATLOG
          Fill the Fieldcatlog values
    FORM FILL_FIELDCATLOG.
      DATA: ls_fieldcat TYPE slis_fieldcat_alv.
    Trafiic Light
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'FIELD'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 7.
      LS_FIELDCAT-col_pos    = '1'.
      ls_fieldcat-seltext_L = 'Lights'.
      ls_fieldcat-seltext_s = 'Lights'.
      ls_fieldcat-seltext_m = 'Lights'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    Wave Drop
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ZZSHIFT'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 9.
      LS_FIELDCAT-col_pos    = '2'.
      ls_fieldcat-seltext_L = 'Wave Drop'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    Material
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MATNR'.
      LS_FIELDCAT-ref_fieldname = 'MATNR'.
      LS_FIELDCAT-ref_tabname = 'MARA'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 18.
      LS_FIELDCAT-col_pos    = '3'.
      ls_fieldcat-seltext_L = 'Material'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    Description
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MAKTX'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 40.
      LS_FIELDCAT-col_pos    = '4'.
      ls_fieldcat-seltext_L = 'Description'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    Pick Bin
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'LGPLA'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-col_pos    = '5'.
      ls_fieldcat-seltext_L = 'Pick Bin'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    Trafiic Light
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PVERME'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 16.
      LS_FIELDCAT-col_pos    = '6'.
      ls_fieldcat-seltext_L = 'Stock at Pick Bin'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    Stock at Prod Bin
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PRVERME'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 16.
      LS_FIELDCAT-col_pos    = '7'.
      ls_fieldcat-seltext_L = 'Stock at Prod Bin'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    Req from wave drop
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'KWMENG'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 23.
      LS_FIELDCAT-col_pos    = '8'.
      ls_fieldcat-seltext_L = 'Requirement from Wave Drop'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    Sales Unit
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'VRKME'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 12.
      LS_FIELDCAT-col_pos    = '9'.
      ls_fieldcat-seltext_L = 'Sales Unit'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    Unit of Measure
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MEINS'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 9.
      LS_FIELDCAT-col_pos    = '10'.
      ls_fieldcat-seltext_L = 'UNIT'.
      ls_fieldcat-no_out = 'X'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    Diffference
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DIFF'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      LS_FIELDCAT-OUTPUTLEN    = 12.
      LS_FIELDCAT-col_pos    = '11'.
      ls_fieldcat-seltext_L = 'Difference'.
      APPEND LS_FIELDCAT TO FIELDCAT.
    ENDFORM.                    " FILL_FIELDCATLOG
    *&      Form  CALL_lIST
          Use ALV Function module to display output
    FORM CALL_lIST.
    Top - of - Page
      PERFORM COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                =
      I_BUFFER_ACTIVE                   = ' '
          I_CALLBACK_PROGRAM                = V_REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
        I_CALLBACK_USER_COMMAND           = g_user_command
          I_CALLBACK_TOP_OF_PAGE            = C_TOP_OF_PAGE
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
          IS_LAYOUT                         = LAYOUT
          IT_FIELDCAT                       = FIELDCAT
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      IT_ALV_GRAPHICS                   =
      IT_ADD_FIELDCAT                   =
      IT_HYPERLINK                      =
      I_HTML_HEIGHT_TOP                 =
      I_HTML_HEIGHT_END                 =
      IT_EXCEPT_QINFO                   =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          T_OUTTAB                          = I_OUTPUT
       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.
    ENDFORM.                    " CALL_lIST
    *&      Form  BUILD_LAYOUT
          text
    FORM BUILD_LAYOUT.
      LAYOUT-GET_SELINFOS = 'X'.
    Now we want a traffic light to say if the Truck is deleted
    the variable p_lignam contains the name in IREPO which stores the
    value for the traffic light
      LAYOUT-LIGHTS_FIELDNAME = P_LIGNAM.
      layout-HEADER_TEXT = 'Lights'.
      LAYOUT-LIGHTS_CONDENSE =  'X'.
    ENDFORM.                    " BUILD_LAYOUT
    *&      Form  COMMENT_BUILD
          text
         -->P_GT_LIST_TOP_OF_PAGE[]  text
    FORM COMMENT_BUILD USING    LT_TOP_OF_PAGE TYPE
                                            SLIS_T_LISTHEADER.
      data : v_day(2) type c,
             v_mon(2) type c,
             v_year(4) type c,
             v_ldate(10) type c,
             v_hdate(10) type c.
      DATA: LS_LINE TYPE SLIS_LISTHEADER.
      data: d_date like sy-datum.
      clear : v_ldate,
              v_hdate.
    Header Information.
    LIST HEADING LINE: TYPE H
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
    LS_LINE-KEY:  NOT USED FOR THIS TYPE
      LS_LINE-INFO = 'Bin Replenishment report for HMR'.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
    STATUS LINE: TYPE S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = TEXT-003.
    LS_LINE-INFO = TEXT-003.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
    STATUS LINE: TYPE S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
    LS_LINE-KEY  = TEXT-003.
    LS_LINE-INFO = TEXT-003.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
    Get the data ( s_date_low) into proper format.
      v_year = s_date-low+0(4).
      v_mon = s_date-low+4(2).
      v_day = s_date-low+6(2).
      concatenate v_mon '/' v_day '/' v_year into v_ldate.
      clear : v_mon,
              v_year,
              v_day.
    Get the data ( s_date_high) into proper format.
      v_year = s_date-high+0(4).
      v_mon  = s_date-high+4(2).
      v_day  = s_date-high+6(2).
      concatenate v_mon '/' v_day '/' v_year into v_hdate.
      clear : v_mon,
              v_year,
              v_day.
    Delivery date
      if not s_date-low is initial .
        if not s_date-high is initial.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Delivery date From:'.
          LS_LINE-INFO = v_ldate.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Delivery date To :'.
          LS_LINE-INFO =  v_hdate.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
        endif.
      endif.
      if not s_date-low is initial.
        if  s_date-high is initial.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Delivery date :'.
          LS_LINE-INFO = v_ldate.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
        endif.
      endif.
    Wave Drop
      if not S_SHIFT-LOW is initial.
        if not S_SHIFT-high is initial.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Wave Drop From :'.
          LS_LINE-INFO = s_shift-low.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Wave Drop to :'.
          LS_LINE-INFO = s_shift-high.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
        endif.
      endif.
      if not S_SHIFT-LOW is initial.
        if S_SHIFT-high is initial.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Wave Drop :'.
          LS_LINE-INFO = s_shift-low.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
         CLEAR LS_LINE.
         LS_LINE-TYP  = 'S'.
         LS_LINE-KEY  = 'Wave Drop to :'.
         LS_LINE-INFO = s_shift-high.
         APPEND LS_LINE TO LT_TOP_OF_PAGE.
        endif.
      endif.
    Department
      if not s_dept-low is initial .
        if not s_dept-high is initial.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Department From :'.
          LS_LINE-INFO = s_dept-low.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Department to :'.
          LS_LINE-INFO = s_dept-high.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
        endif.
      endif.
      if not s_dept-low is initial .
        if  s_dept-high is initial.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Department :'.
          LS_LINE-INFO = s_dept-low.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
        endif.
      endif.
    Production Department
      if not S_PDEPT-LOW is initial.
        if not S_PDEPT-high is initial.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Production Department From :'.
          LS_LINE-INFO = S_PDEPT-LOW.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Production Department to :'.
          LS_LINE-INFO = S_PDEPT-high.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
        endif.
      endif.
      if not S_PDEPT-LOW is initial.
        if  S_PDEPT-high is initial.
          CLEAR LS_LINE.
          LS_LINE-TYP  = 'S'.
          LS_LINE-KEY  = 'Production Department :'.
          LS_LINE-INFO = S_PDEPT-LOW.
          APPEND LS_LINE TO LT_TOP_OF_PAGE.
        endif.
      endif.
    ENDFORM.                    " COMMENT_BUILD
          FORM TOP_OF_PAGE                                              *
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY       = GT_LIST_TOP_OF_PAGE
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
    ENDFORM.
          FORM USER_COMMAND                                             *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                rs_selfield TYPE slis_selfield.                 "#EC CALLED
      CASE R_UCOMM.
        WHEN '&IC1'.
          read table i_output index rs_selfield-tabindex.
          SET PARAMETER ID 'MAT' FIELD i_output-matnr.
          SET PARAMETER ID 'WRK' FIELD p_plant.
          if not i_output-matnr is initial.
            call transaction 'MD04' and skip first screen.
          endif.
      ENDCASE.
    ENDFORM.
    the above code i mentioned 1,2 ,3 values  ,1 will have green color,2 will have yellow color,3 will have red color.
    Thanks
    Seshu

  • Getting wrong values  for decimal value in Bex report

    Hi,
         I am getting some problem in Bexreport decimal values.
       In ODS i am able to look the values for this key figure
      (Total PO Release Val)= 140.692,00,the same value in Bex report looks like this $ 140,692.00.
         Here one calculation is going with these above values
       % Used = 'Total PO Release Val' / 'Target Value' * 100
        as per ODS value calculation  it is correct = 140.692/1000 * 100 =14.692
       as per Bex  it is coming like this = 140,692.00/1000 *100 = 142.692.
        in Bex report Percentage valus is not considering value is taking as 140,692.00 rather than 140.692.I mean to say decemal values are ignoring while calculation in Bexreport.can you any please advice me how to comeout of this problem.Appreciate your help.
    Regards
    Ramesh

    <i> "(Total PO Release Val)= 140.692,00,the same value in Bex report looks like this $ 140,692.00."
    </i>
    How do you check the ODS value? The amount will only have two decimal places after it, so you can't have a value like 140.692,00. It seems to be an issue of user's decimal notation (where decimal is represented by comma, and thousand seperator by '.'). Go to user profile, change this setting (in default tab) to correct one (ie decimal being represented by '.') and login again and check it. The value that you see in ODS is 'one hundred forty thousand six hundred ninety two, the same that you get in Bex, only the representation is different).

  • Tool Tip Text for field values in ALV report

    Hi,
    How to get the tool tip text for the field values in ALV report.
    Thanks & Regards,
    Pallavi.

    Hi,
    In fieldcatalog specify the TOOLTIP.
    <b>
    LVC_S_FCAT-TOOLTIP
    </b>
    In this speicfyteh tooltip you want.
    Then append this to the fieldcatalog.
    Hope this solves ur problem.

  • Validation at "Save and Send for approval" in Create Expense Report

    Hello gurus,
    I have an issue where in at Create Expense report we have two options:
    1. Save
    2. Save and Send for Approval.
    When this trip is SAVED and SEND FOR APPROVAL the validation should trigger and error message should appear if expense type XXXX is used in any of the line item of the trip.
    I have been told that this can be done by  user exit at the backend level. But, at the frontend we will have to make some changes as well.
    I know WD JAVA, but a little short on knowledge in WD ABAP.
    Could you please help me by telling me as to how to do a validation in this scenario or even if its necessary to do it ?? I mean, is it possible that the backend validation will hold true if someone will create a expense report from the frontend as well ??
    Please explain me ...

    Hello friend,
    Its easy to handle this problem,
    To know how you can use the message effectively see this details about the interface,
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/6c/7aae42cd7fb611e10000000a155106/content.htm
    For clear understanding about the steps for creating messages see the code below,
    http://e-university.wisdomjobs.com/sap-abap-web-dynpro/chapter-105-274/messages-exceptions-and-web-dynpro-abap.html
    I think you will be clear after reading this code. Any queries please revert back to me.
    Thanks,
    Sri Hari

  • Multiple Rows for Same Value in Matrix Report

    Hello
    I am trying to create a matrix report that shows different page for each Category. Report looks like follows:
    Page1( for Category '1')
    Agent |
    Calls |
    Sales
    TestAgent1 18
    3
    TestAgent1 5
    1
    Page2( for Category '2')
    Agent |
    Calls |
    Sales
    TestAgent1 26
    5
    TestAgent1 13
    2
    The issue is as you can see in above table, that i am getting repeated rows for same agents. I have tried making a parent group on Agent but it would still keep showing multiple rows. Ideally, it should show each agent only once in each page.
    Any help would be appreciated.
    PS: I am new to SSRS and this is my first time on microsoft blog, so i apologize if i wasn't able to follow the protocols/culture here.
    Thanks

    Hi M Adnan,
    According to your description, you want to show a total Calls and total Sales for same agent so that it has only one row for each agent in your category group. Right?
    In this scenario, if you only have a row group for category, it will show all “detail rows” in this groups even the agent of these rows are same one. So we can add a row group, set those detail rows group by agent and use Sum function to get the total Calls
    and Sales. It looks like below:
    If we want to display each Page in horizontal, we just need one Category column group for grouping rows and use sum function to get total Calls and Sales for each agent. It looks like below:
    Reference:
    Understanding Groups (Report Builder and SSRS)
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou
      

  • SpinnerNumberModel and null or empty values

    Hello,
    I have a GUI which is used to enter data which will be stored in the database. Some of these fields are JSpinners. Most of them are representing integers (the column in the database is also an integer).
    The user should have the possibility for some JSpinners to not fill it in. Then this is translated to <null> in the database. But my JSpinners are using the SpinnerNumberModel and by default '0' is shown. When you empty this field then '0' is automatically filled in, because a null value is not supported by the SpinnerNumberModel.
    I have searched this forum and apparently I should make a custom model that supports null values. I have tried that but without succes because I couldn't find an example.
    Is this a possible solution and if it is, does someone has an example of a custom spinnermodel which supports null values?
    Thx,
    Mynca

    http://java.sun.com/docs/books/tutorial/uiswing/components/spinner.html#model
    Might be a good start.

  • Using @ILSIBLINGS and @ACCUM for YTD values

    Hi all,
    So I'm attempting to use @ACCUM to get year-to-date values of a measure member called TransactionAmt. What I have so far is:
    (Sorry for my bad text-based outline)
    <tt>
    --Outline: simple (Active Alias Table: Default)
    +-Measures (Accounts) <3> (Label Only)
    | -TransactionAmt ()
    | +-Balance (~) [Formula: @ACCUM(TransactionAmt);]
    | +-YTDBalance (~) [Formula: @ACCUM (TransactionAmt, @ILSIBLINGS (@CURRMBR (Dates)));]
    +-Dates (Time) <2>
    | -2008 () <3>
    | | -2008-10 ()
    | | -2008-11 ()
    | | -2008-12 ()
    | -2009 () <2>
    | | -2009-1 ()
    | | -2009-2 ()
    +-Accts
    -a1 ()
    -a2 ()
    -a3 ()
    </tt>
    After filling the db with some fake data and running the default CALC ALL, I get data that is not quite correct (compare the YTDBalances):
    WHAT IT IS
    <pre>
              TransactionAmt     Balance     YTDBalance
    a1     2008-10     10          10     40
         2008-11     20          30     60
         2008-12     30          60     30
         2009-1     40          100     90
         2009-2     50          150     50
    a2     2008-10     2          2     7
         2008-11     3          5     10
         2008-12     5          10     5
         2009-1     7          17     18
         2009-2     11          28     11
    a3     2008-10     3          3     7
         2008-11     1          4     8
         2008-12     4          8     4
         2009-1     1          9     6
         2009-2     5          14     5
    </pre>
    WHAT IT SHOULD BE:
    <pre>
              TransactionAmt     Balance     YTDBalance
    a1     2008-10     10          10     10
         2008-11     20          30     30
         2008-12     30          60     60
         2009-1     40          100     40
         2009-2     50          150     90
    a2     2008-10     2          2     2
         2008-11     3          5     5
         2008-12     5          10     10
         2009-1     7          17     7
         2009-2     11          28     18
    a3     2008-10     3          3     3
         2008-11     1          4     4
         2008-12     4          8     8
         2009-1     1          9     1
         2009-2     5          14     6
    </pre>
    I'm new to calc scripts so I might be missing something that is obvious to you experts out there. @ILSIBLINGS is behaving as though the last member in the list is the first member. Does anybody know why this is or how I can fix it?
    Cheers,
    Marty

    You may have already tried this but if you use @ISIBLINGS instead of @ILSIBLINGS inside your @ACCUM statement it will work.
    Edited by: PTBurke on Mar 16, 2010 6:35 PM

  • How to hide a varible that is ready for input and personalized for a value

    Hi All,
    Is there anyway to hide a variable in variable screen selection which is ready for input and its personalized value is stored in the ODS.
    Any help greatly appreciated.
    Suresh.

    Hi Roberto,
    Is there anyway to hide that variable from the variable screen(with still option being selected as ready for input).I ried all the options such as replacemetn type & copy from another variable.Always it appears in the varaible screen.
    I don't want user to change the value of this variable.
    Cheers,
    Suresh.

  • Search row and column for return value

    Dear Sir/Madam,
                               I have a problem for searching spreadsheet and hope you can help me out a bit.  Im pretty new to Labview and Im currently using Labview 8.0.  My task is to search the spreadsheet I have attached in row and column-wise, then return the corresponding value out.  I had an attempt in doing this as you can see from the vi that i have attached.  I try inputting the 'read from measurement file' into an array and using delete, index and search array I will be able to find the index value for the relevant row and column that i searched for by inputting them into an index array with the orginal array from the 'read from measurement file'.
                              So ultimately, when i enter a row value of 0.5 and a column value of 0.3, my output will be 1.688.
                              I can't see any mistakes in my logic but I getting really strange results, like I can read my data has been entered into an array but when i try deleting the first column and put it into another array, the orginal array with nothing deleted is outputted hence making my search to give out -1 value. So could you take a look please and give me any suggestion that can solve my problem or enhance the code a bit.  Thank you for your time.
    Best Regards,
    Coato
    P.s for some reason i can't attached the .lvm file of my data hence i have attached the excel version but i think you need to convert it back to .lvm for the 'read from measurement file' function to work.
    Attachments:
    Backswing compensation.csv ‏10 KB
    Backswing comnpensation2.vi ‏109 KB

    Your VI makes absolutely no sense to me, but maybe I don't understand what you are trying to do.
    You seem to have dynamic data with 6 signals and 48 points/channel. Now you reshape this into an array of dynamic data with 4x13 elements from which you slice out one row or column, resp. "delete from array" is NOT the correct tool to do this, use "Index array" with one index unwired to get a row or column as 1D array.
    So you end up with two 1D arrays of dynamic data that you search for DBL. It is difficult to understand how you want to search for an array element that corresponds to a scalar DBL value of 0.1. Your array elements are NOT DBLs but dynamic data, each containing many signals!
    There are two elements on all your data that are "3", the rest are zero. You will never find anything that is 0.1.
    Maybe you can convert your original dynamic data to a 2D array with "rows are signals" using "convert from dynamic data", then operate on the 2D array.
    Coato wrote:
                              So ultimately, when i enter a row value of 0.5 and a column value of 0.3, my output will be 1.688.
    Sorry, Please explain.
    Please make a VI containing a simple 2D aray as diagram constant that contains e.g. 5x5 typical values. Let us know what kind of result you expect from your algorithm..
    LabVIEW Champion . Do more with less code and in less time .

  • EL and quotes for input value

    In my Tomcat 6.0.20 container, I have a form value that works great except if the user enters quotes in the form input. Anything in quotes wont show up.
    For example if they enter: Here is the "info"
    The form value would only show: Here is the
    Input example that wont work with quotes:
    <input type="text" name="city" value="${dataBean.city}" />If I use tick instead of quotes it works and shows anything in quotes:
    <input type="text" name="city" value='${dataBean.city}' />Please advise why this is happening and if there is an alternate solution to this issue?

    Evergrean wrote:
    In my Tomcat 6.0.20 container, I have a form value that works great except if the user enters quotes in the form input. Anything in quotes wont show up.
    For example if they enter: Here is the "info"
    The form value would only show: Here is the
    Input example that wont work with quotes:
    <input type="text" name="city" value="${dataBean.city}" />If I use tick instead of quotes it works and shows anything in quotes:
    <input type="text" name="city" value='${dataBean.city}' />Please advise why this is happening Check the generated html page source code.It should explain the behavior.
    and if there is an alternate solution to this issue?Try using out tag. For eg:
       <input type="text" name="city" value='<c:out value="${dataBean.city}"/>' />

  • Please tell basic difference between "" and null  for String  variable.

    1.What is difference between String strRemitInfo = "" and String strRemitInfo = null?
    2. Which one is good practice while coding ?

    1.What is difference between String strRemitInfo = ""
    and String strRemitInfo = null?Emptry string and nul reference
    >
    2. Which one is good practice while coding ?Depends on what you want to do.

Maybe you are looking for