Negative Values  - in Red Font

Hi SDNers,
We are on BI 7.0 SP 16.
We have created custom Web Templates for our customer and are using Portal Themes to control the "look & feel" of the Web Reports, which are presented via the Consumer portal (not BI Portal but EP Portal).
My Question is : Is there a way to show negative values in Red Font color (we are not talking about background cell colour for negative values as RED which can be acheived by exception reporting).
The Reports are presented on WEB via EP Portal ,so no excel here...
Any suggestions will be appreciated.
Thanks
TC

Hi Tony,
Suggestion of code in method DATA_CELL will be below:.  The only thing is that below code is doing a left justification instead of displaying in red. You will need to find out how to display in red in HTML and replace it in the codes.  Hope it help.
        l_value type i,
        l_replace type string,
        l_new  type string,
        l_txt(20),
        l_valn(20).
  move i_value to l_value.
  if  l_value lt 0.
    write l_value to l_valn left-justified.
    concatenate '>' l_valn '<' into l_replace.
    condense l_replace no-gaps.
    concatenate 'style="float:left;" ' '>' l_txt '<' into l_new.     " replace value and left justify text
    condense l_new no-gaps.
    replace l_replace in c_cell_content with l_new.
  endif.
Regards
Kate

Similar Messages

  • Negative  values in red and Positive values in black CONDITIONAL FORMATTING

    Hi ... Everyone
    I have to show Negative values in red and Positive values in black in one of my report.
    i tried these conditions
    1. <?if:GAIN<0.00?><?attribute@inlines:color;'red'?><?end if?>
    but it shows negative values only in red ,positive values in black are missing
    2. <?if:GAIN<0.00?><?attribute@incontext:color;'red'?><?end if?><?if:GAIN>0.00?><?attribute@incontext:color;'black'?><?end if?>
    This gives the exact result what i wanted ...but the problem is i have five tables in my report ... so the above condition only allow changes in ONE TABLE ONLY. :(
    Plzzzz anyone who can help me to sort out my problem or else SUGGEST ANOTHER WORKING CONDITION
    Regards
    Subham Mittal

    Subham,
    This should not be difficult and moreover the BI Publisher Desktop installation comes with a set of examples:
    Start -> Programs -> BI Publisher Desktop -> Samples -> RTF Templates -> Advanced -> Conditional
    There you can find two templates with the exact same situation like yours, highlighting either the foreground color or background color.
    regards
    Jorge

  • APEX 4 Interactive Report set font color of negative values to red

    I have an interactive report with several columns containing numerical values. If the value is negative, I want the font color to be red. Can someone help me with this process please.
    Application Express 4.1.1.00.23
    Thanks!
    Chris

    Hi,
    Use build in highlight
    http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21674/ir_using.htm#sthref1343
    Then save report default layout
    http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21674/ir_using.htm#CHDDDBCG
    Regards,
    Jari
    My Blog: http://dbswh.webhop.net/dbswh/f?p=BLOG:HOME:0
    Twitter: http://www.twitter.com/jariolai

  • Set Negative values in red color

    Hi, i want to set the negative values in the table in the red color.I have created the table dynamically.So i have created a context node called "ColorData" and in that i created a context attribute "grossSemantic". I have set the type of this attribute as "com.sap.ide.webdynpro.uielementdefinitions.TextViewSemanticColor" .And i have written the below code.
    But there is no effect at all. Where am i going wrong? Please suggest.
    String color = "ColorData";
    IPrivate<ViewName>.IColorDataNode colorNode = wdContext.nodeColorData();
    IPrivate<ViewName>.IColorDataElement colorElem = colorNode.createColorDataElement();
    for(int flag = 0; flag < wdContext.node<BapiNodeName>.size(); flag++){
    IPrivate<ViewName>.I<BapiNodeElement> tableElem = bapiNode.get<BapiElement>(flag);
    if(tableElem.get<ColumnName()>.signum() == -1){
    editor.bindDesign(color "." "grossSemantic");
    colorElem.setGrossSemantic(WDTextViewSemanticColor.NEGATIVE);
    column.setTableCellEditor(editor);
    Regards,
    Padmalatha.K

    Say the table data source is named "Rows".
    Add a calculated context attribute "color" of type TextViewSemanticColor to node "Rows" (or an 1:1 subnode if needed).
    Bind the table cell editor (TextView) property "semanticColor" to attribute "color".
    Implement calculated attribute as
    WDTextViewSemanticColor getRowsColor(..., IRowsElement element)
      return element.getSign() == -1 : WDTextViewSemanticColor.NEGATIVE : WDTextViewSemanticColor.STANDARD; 
    Armin

  • Need pattern to display negative value in red

    I am having one xdp form which contains multiples objects having some textfields mapped with some xsd.
    requirement is if values is negative need to display it in red color as  "-$18,970.50"
    currently it is getting displayed as   "$-18,970.50"
    I have used pattern num{$z,zzz,zz9.99}
    Is any ready made format available for this?

    Your requirement ("-$18,970.50") is not so common and may have to do major changes to meet this....I will start using a textField rather than a NumberField and Format using scripting not using out of box functionality. Changing text color to red is easy and can be easily done using scripting again.
    I am sure you can try your self if you have some idea about JS or FC scripting....I can help you if you post additional requirements.....like...
    1. Is the value prefilled / keyed in / calculated from other fields or combination of one or more?
    2. Max and Min value allowed/ expected.
    3. Any involvement of user actions there on?

  • Analyser: Presenting negative key figures in red font

    I need to show negative key figures with a red font within Analyser. I have got as far as creating a template workbook and in there changing the SAPBExStdData style to include number formatting that has red negatives. When I create a workbook based on this template and check the style of one of the negative values, then it is picking up my modified style. However, the style is not actually being applied unless I select each cell, open the style dialog and click OK! Even if I do this the colour reverts back to black at the first refresh. Any ideas?

    I solved the requirement with the following code, this retains the formatting (currency etc) applied by BEx and also checks to see that the cell background is not set to red (for example by an exception).
    Sub SAPBEXonRefresh(queryID As String, resultArea As Range)
        Dim negColour As String
        ' loop through all cells in the results area
        For Each c In resultArea.Cells
            ' ignore cells with no number formatting at all
            If c.NumberFormat > "" Then
                ' make sure that the number formatting includes actual numbers
                If InStr(c.NumberFormat, "0") > 1 Then
                    ' if the background is red then use white to colour negative values
                    If c.Interior.ColorIndex = 3 Then
                        negColour = "[White]"
                    ' otherwise use red text for negatives
                    Else
                        negColour = "[Red]"
                    End If
                    ' if the number format is already split for negative values
                    If InStr(c.NumberFormat, ";") > 1 Then
                        ' insert just the negative colour formatting
                        c.NumberFormat = Replace(c.NumberFormat, ";", ";" & negColour)
                    ' otherwise the split and formatting need to be added
                    Else
                        c.NumberFormat = c.NumberFormat & ";" & negColour & "-" & c.NumberFormat
                    End If
                End If
            End If
        Next
    End Sub

  • Red color for negative values with $ symbol in Excel

    Hi All,
    We have a custom XML Publisher Report developed using XML rtf template. There is a number field in that template and the field is number formatted with $. i.e. output will look like this.
    $100
    $200 ...
    the issue which we are facing is when that number field is having negative value, then it is displayed in red color.
    and the client dont want that red color to appear in excel.
    ex:
    -($100) is displayed in red color in the excel output. This should be displayed in black color.
    Can anyone help me on this..
    Thanks
    gtungala

    In excel, under format cells, under category -> Number, look under Negative Numbers to see if the selected option is a number format in red. I think selecting a regular format (in black) should fix the issue..
    Thanks!

  • Display Display value in Red Color in Pop Up List of value Item

    Dear All,
    i have created an Pop up List of Value item.I need to display Display value in Red Color in Pop Up List of value Item.
    What should i pass in HTML Form Element Attributes .I have try using
    style="font-color:red";That code.
    How can i display Display Value in Red Color.
    Thanks

    Is this what you are looking for?
    http://apex.oracle.com/pls/apex/f?p=42778:12
    If so..
    * Go to Shared Components -> Templates -> Select Type as "Popup List of Values"
    * Edit Popup LOV template
    * See the class name being used for div under Result Set section. In My case, its t1PopupBody
    * Under Page Attributes -> Page HTML Head section append following CSS
    <style>.t1PopupBody a{color:red;}</style>* Apply Changes
    If its not working, then inspect the pop-up lov with firebug and update CSS definition accordingly.
    Regards,
    Hari

  • Numbers do not accept negative values after upgrading to Snow Leopard

    I have iWork 9 installed in Leopard, and after upgrading to Snow Leopard, Numbers don't accept negative values, e.g. -141. They are defined as text and are aligned left in the cell, even if the cell is defined for numbers. Positive values are defined as numbers and aligned right.
    All my statistics are wrong now. I don't where to find a sollution. Need to fix this asap.

    I may guarantee that the cell contains a standard minus symbol.
    I entered in the Index.xml to see if something was odd.
    All is perfect.
    I can't imagine that the OP replaced deliberately a wrong char by a correct one before sending the file to my mailbox.
    And I repeat,
    (1) in the file which I received, the cell was really treated as a text one.
    (2) on my machine, on the OP's alternate machine, on the OP's alternate user account, resetting the cell's status to numbers apply well.
    So, if a third party component is the culprit, it would be easy to identify: it must be in one of the user account able to receive third party items which means
    <userAccount>:Applications
    <userAccount>:Library:Address Book Plug-Ins
    <userAccount>:Library:Fonts
    <userAccount>:Library:Contextual Menu Items
    <userAccount>:Library:LaunchAgents
    <userAccount>:Library:PreferencesPanes
    <userAccount>:Library:Scripting Additions
    <userAccount>:Library:Services
    <userAccount>:Library:Widgets
    But from my point of view it would be more efficient to try to search a culprit in the
    <userAccount>:Library:Caches folder.
    An efficient tip would be to compress every subfolder of this folder as a .zip file and trash the original file.
    Reboot so that the account restarts without the caches.
    If th account continue to fail, my idea was bad.
    If it behaves well, the culprit was one of the caches.
    unpack them one by one so you will get the wrongdoer.
    Yvan KOENIG (VALLAURIS, France) mardi 8 septembre 2009 18:50:27

  • How to show a negative value in diffenet color in af:inputText inlineStyle

    Hi Friends,
    i am facing a problem with <af:inputText /> in Jheadstart.
    i want to show a value in red color, if that value get's into the negative value in <af:inputText />.
    I was tyring with following code using inlineStyle attribute in af:inputText />
    inlineStyle="color:#{ (bindings.EmployeesAmount.inputValue) < 0 ? 'red':'black'}"
    it's not working....
    is there any other solution other then inlineStyle attribute, please suggest me.
    can you please help in solving this issue.
    Thanks in advance,
    Rahul

    hi,
    This is not jheadstart problem.
    Your code should be like this:
    inlineStyle="#{bindings.EmployeesAmount.inputValue lt 0 ? (' color:red;'):(' color:black; ')}"
    I suggest to use this:
    inlineStyle="#{row.EmployeesAmount lt 0 ? (' color:red;'):(' color:black; ')}"

  • Supress negative values

    Dear Experts,
    I want to supress all amounts with negative values. How to do that in Cross Tab Report or can you help me in making the right formula for it.
    Regards,
    Kamlesh

    Hi Kamlesh,
    I can reproduce Your Problem,
    Which is becouse of Cross-tab is not accepting single Data Selection. If we apply Suppress, All datas got suppressed if any of the one has negative value.
    I have one workaround to solve this issue through "Highlighting Expert", But i dont know its a right way or not..
    Right Click on field>Highlighting Expert>Create New Condition-->In Item Editor,
    Value of "This Field is Less than 0.00"
    And make the font Color As "White"-->OK
    Thiis will works. it may be a wrong way . But what to do?.. No other options blinking in my brain now. LOL
    Do wait for others reply.
    Regads,
    Salah

  • 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

  • MC.9 - Negative value

    Hi Sapians,
    While running MC.9 report we are getting negative value for a particular stock even when there is a positive stock. But in MB5B we are getting the correct output.
    By debugging we found that there is a negative value in S032 table. But we could not understand how we got negative value in S032.
    Could any one through some light on where it could went wrong?
    Thanks,
    Sukumaran.E

    Hi Sukumaran,
    Negative stocks in your case is due to inconsistencies in the Info structure tables.
    The report from MC.9 is calculated on runtime, taking the current stock position from stock database tables and adjusting the goods receipts and issues backwards. The goods movement data are from the info-structure tables. If there are inconsistencies in this data, you get negative stock figures or different figures compared to MB5B report. (MB5B runs the same way but uses MSEG table instead of ifo structure tables). This explanation is for understanding the cause of the problem.
    The remedy is, updating the info structure table. This update is for correcting the data in info-structure tables. You can delete the entries in these tables and re-build them. It has to be done during a period when there are no material movement postings happening - like after office hours or holidays.
    You can refer to SAP note 79083 for detailed step by step procedure for updating info structure tables.
    Hope you are able to correct the inconsistencies!!
    Best Regards,
    Siva

  • Stock Posting List - Negative Value when Different Currency in PO

    Hi experts,
    We would like your help on the following scenario.
    A Purchase Goods Receipt PO and a Purchase Invoice are added in SAP 9.0, on the same date, in a different currency from the system's currency; system's is Euro and Purchase documents are added in JPY (Japanese xen), i.e. 300 JPY. When checking the "Stock Posting List" report for a number of goods that were purchased with the above documents, the report presents the line of the Goods Receipt PO with the value of 270 JPY, and the line of the Purchase Invoice with  a negative value, i.e.-15 Euro.
    Has anyone faced the same issue?
    Thank you in advance.
    Kind Regards,
    Vassilis Korolis

    Both queries have the default value of  "Only Posted Values for Navigation".
    As I was looking at this, I did realize the following though.
    Remember, I mentioned that my zcurrency_mand field has a Reference Characteristic of 0currency.
    Query 1:  The key figure that is being converted is tied to 0currency in the back end. (this is the query that works).
    Query 2:  The key figure that is being converted is tied to 0inv_curr in the back end.
    Both of the currency conversions are using zcurrency_mand.  Should query 2 be using a new variable similar to zcurrency_mand, but with a Reference Characteristic of 0inv_curr?
    If the answer is yes, I tried creating ZINV_CURR_MAND with Reference Characteristic of 0inv_curr, but am getting the following error when I try to save the changes to Query 2
    [E117(BRAIN)] Errors: Variable ZINV_CURR_MAND2 is not permitted for the target currency. 
    Thanks,
    Jennifer

  • How to enter negative value in a currency field

    Hi Experts,
    Please help me how to allow to enter negative value in a field on report selection.
    I created a currency field on a report selection using PARAMETERS.
    I can enter positive value in the field. But, I cannot enter negative value.
    SAP shows an error message 00 126 "Specify positive values only".
    I know I can place check ON at "with sign" option of the field in case I create the screen by myself.
    However, I cannot do it on screen 1000 created by report program.
    Thanks,
    George

    Hi ,
    I know I can place check ON at "with sign" option of the field in case I create the screen by myself.
        Prabhu--> Just Create a new Domain( select "WITH SIGN") and date elemet,And Use Data Element in your report.
    regards
    Prabhu

Maybe you are looking for