How to get the reverse color of a color

how to get the reverse color of a color
thanks

int red = Math.abs(255 - oldColor.getRed());
int green = Math.abs(255 - oldColor.getGreen());
int blue = Math.abs(255 - oldColor.getBlue());
java.awt.Color inverseColor = new java.awt.Color(red, green, blue);
Where oldColor is a java.awt.Color object.
Hope this is want u need !!!

Similar Messages

  • How to get the itunes with those 3 colored buttons on top left corner ????ner ???

    Please help [humble request] ----
    I have 3 problems can u please help me out --
    1) How to get the itunes with the 3 colored buttons (i'm new to apple ,just 8 days so i dont know much stuff) on top left corner ,i've downloaded thrice from apple's site directly i everytime got the same sort of itunes with 'File' ,'Edit' ,'View' ,'Controls' ,'Store' ,'Adanced' ,'Help' on the top ,and also whenever i open the itunes store (in this itunes) only the app store opens ,now music albums ,movies ,tv shows nothing !!
    2) I dont know how to import video files from the computer to itunes
    3)i bought an app [fifa 11] ,n downloaded another 1 [contract killer] {ive deleted them and downloaded them thrice ,and they dont sync to my itouch it shows error (0xE800004C)
    Please please please help me im getting worried and frustrated
    please help me out with this

    but illaass
    i asked 2 of my frnds both of them have windows n not mac ,both of them are sayin dat they have the coloured buttons one , and i asked them dat how to access the itunes music store they said that when they kliked d itunes store option in the left side a screen appears where 6 -7 categories are there which are music store ,app store ,podcasts ,movies ,tv shows etc . bt when i open it it only shows d app store ,and on the bar only 4 options are ther the home icon , app store , podcasts and itunes u ,and when i klik movies ,tv shows on the left side ,there is an option "browse for movies in the itunes store" i klik it and only the app store opens and nothing else .
    and thanks now i know how to import videos
    and sigma 1337 ,
    ive downloaded the apps 4 -5 times now , still d same error mssg it comes like dis :-
    " Some of the apps in your iTunes library were not installed on the ipod "Shomik's ipod" because one or more errors occurred "
    please help me  im gettin frustrated

  • How to get the default selection color from JTable

    Hi, there,
    I have a question for how to get the default selection color from JTable. I am currently implementing the customized table cell renderer, but I do want to set the selection color in the table exactly the same of default table cell renderer. The JTable.getSelectionBackgroup() did not works for me, it returned dark blue which made the text in the table unreadable. Anyone know how to get the window's default selection color?
    Thanks,
    -Jenny

    The windows default selection color is dark blue. Try selecting any text on this page. The difference is that the text gets changed to a white font so you can actually see the text.
    If you don't like the default colors that Java uses then use the UIManager to change the defaults. The following program shows all the properties controlled by the UIManager:
    http://www.discoverteenergy.com/files/ShowUIDefaults.java
    Any of the properties can be changed for the entire application by using:
    UIManager.put( "propertyName", value );

  • How to get the silverish white color in Java

    Hi
    I want to know how to get the silver color in Java
    I am currently using
    R , G , B
    setBackground(new color(255,255,255));
    I am getting bright white color.
    How do I get the polished white(silverish white color) color.
    Thank You

    RGB Color Chart...
    http://www.htmlcenter.com/tutorials/tutorials.cfm/89/General/
    perhaps new Color(223,223,255) ???

  • How to get the "CMYK" Color percentages?

    Could you please advise me how to get the "CMYK" Color percentages of every pixel via scripting.

    You have to be patched to the 10.0.2 version of FM and you must use the CMYK option with SaveAsPDF. If thee colour is defined as Spot in the FM file, it should remain as a spot colour in th PDF. However, that being said, the CMYK route is still a bit wonky (even in FM12) and you may get odd results in your PDF.
    Alternatives are to make the fix in Acrobat with the Print Production tools (or even better to use a third-party tool like Enfocus Pro) or to use GrafikHuset's (now freebie) PubliPDF to convert FM's RGB postscript output to CMYK+Spot PDFs. Download at: http://design.grafikhuset.dk/index.php/kontakt/downloads/grafikhuset-publi-pdf and more details available at: http://www.grafikhuset.net/PubliPDF/

  • How to get the Swatch Options Color Type?

    How to get the Swatch Options Color Type name that is "Process Color" or "Spot Color" which shown in the Color Type via scripting..
    Thanks...

    Could you please provide any example for how to get the color type name that is process or spot. Thanks for looking into this.
    Advance thanks,
    Maria Prabudass

  • I have been charged 274.55 from 8-23-2013 - 8-26-2013. These are not my charges. I need to know how to get the charges reversed and put back on my account ASAP. Please confirm!

    I have been charged 274.55 from 8-23-2013 - 8-26-2013. These are not my charges. I need to know how to get the charges reversed and put back on my account ASAP. Please confirm!

    You can contact iTunes Support via this page (we are fellow users here on these forums) : http://www.apple.com/support/itunes/contact/ - click on Contact iTunes Store Support on the right-hand side of the page, then Purchases, Billing & Redemption

  • How to get the values of 2 dynamic comboboxes in one jsp to another jsp?

    I have 2 comboboxes and one submit button on my jsp page.I select a value in 1st combobox then the values in the second combobox populated from the database. next i select 2nd combobox and then submit the button.After submit the button call the next jsp page. In that page i want to display the values of two comboboxes. but my problem is , in that page only 2nd combobox value is displayed.1st combobox is displayed as null. plz tell me, how to get the values of two comboboxes at a time?
    Select.jsp:
    <%@ page language="java" import="java.sql.*" %>
    <%!
         Connection con = null;
         Statement  st  = null;
         ResultSet  rs  = null;
         String     sql = null;
         void addItems(javax.servlet.jsp.JspWriter out, String sql)
           try{     
              rs = st.executeQuery(sql);
              while( rs.next() )
                   out.println("<option>" + rs.getString(1) + "</option>");               
         }catch(Exception e)
                   System.out.println(e);
    %>
    <HTML>
    <HEAD>
    <TITLE>JSP WITH  MULTIPLE FORMS</TITLE>
    <script language="javascript">
              function checking()
                        form1.submit();
         </script>
    </HEAD>
         <body>
             <center>
             <b><font size="5" color="#333399">Staff ID:</font></b></center>
                     <FORM NAME="form1" METHOD="POST" ACTION="Select.jsp">
                         <p align=center>
                         Details of Staff :  
                       <SELECT 1 NAME="type" onchange="checking();">
                                    <option> Administrator </option>
                              <option> OfficeAssistent </option>
                              <option> Clerk </option>
                                  </SELECT 1>
                          </p>
    </FORM>
                      <FORM NAME="form2" METHOD="POST" action="welcome1.jsp">
                      <center>
                          <TABLE><TR><TD>Staff ID:</TD>
                                 <TD><SELECT 2 NAME="staff_id">
                    <%    
            String type = request.getParameter("type");
            try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection("jdbc:odbc:java","system","manager");
            catch (ClassNotFoundException ex) {
                   System.out.println(ex);
            catch (SQLException ex)
                System.out.println(ex);
         st  = con.createStatement();
         sql = "select staff_id from "+type+"";
         addItems(out, sql);
    %>
              </SELECT 2>
           </TD>
         </TR>
    </table></center>
    <h2> Details of <%= type + "s" %> </h2>
                         <center><input type=submit value=ok onclick="submit();"></center>
                  </FORM>
         </BODY>
    </HTML>
    welcome1.jsp
    <center><h1>WEL COME</h1></center>
    <%    
            String type = request.getParameter("type");
            String sid = request.getParameter("staff_id");
    %>
    <h2> Details of <%= type + "s" %> </h2>
    <h2> Details of <%= sid %> </h2>

    <SELECT 1 NAME="type" onchange="checking();">
                                    <option value = "0"> Administrator </option>
                              <option value = "1"> OfficeAssistent </option>
                              <option value = "2"> Clerk </option>
                                  </SELECT 1>

  • How to do the reverse po in this report

    Hi,   
          i have a one problem in this report . i don,t know how to display the
    reverse po in this report. reverse po should have a po history cat. 'N' (field is bewtp)
    i connect type 'Q' and the type 'E' but not been able to connect the 'N'. when i connect it will give me the wrong amount and some field should not been displayed. i will provide u the following code.
           please help me.
    Thanks
      dinesh
    *& Report  Z_MM_PURCHASE_REGISTER
    REPORT  Z_MM_PURCHASE_REGISTER.
      Short Description: Purchase Register
    TABLES                                                              *
    TABLES : ekko, taxcom, ekpo, ekbe,ekkn,konv,komv,t007s, j_1imovend, bseg .
    TYPE-POOLS: slis.
    TYPES: Begin with TY_                                               *
    TYPES : BEGIN OF  ty_ekko,
              BSART LIKE EKKO-BSART,
              KNTTP LIKE EKPO-KNTTP,
              ebeln LIKE ekko-ebeln,
              knumv LIKE ekko-knumv,
              lifnr LIKE ekko-lifnr,
              waers LIKE ekko-waers,
              kalsm LIKE ekko-kalsm,
              lands LIKE ekko-lands,
              ekorg LIKE ekko-ekorg,
              wkurs LIKE ekko-wkurs,
              bedat LIKE ekko-bedat,
              ebelp LIKE ekpo-ebelp,   "po line item
              mwskz LIKE ekpo-mwskz,   "tax code
              bukrs LIKE ekpo-bukrs,
              matkl LIKE ekpo-matkl,
              mtart LIKE ekpo-mtart,
             netpr LIKE ekpo-netpr,   "Net price in purchasing document
             meins LIKE ekpo-meins,   "unit
              menge LIKE ekpo-menge,   "quantity
              txz01 LIKE ekpo-txz01,   "material description
              txjcd LIKE ekpo-txjcd,   "tax jurisdiction code
              matnr LIKE ekpo-matnr,
              llief LIKE ekko-llief,
              meins LIKE ekpo-meins,
              bprme LIKE ekpo-bprme,
              netpr LIKE ekpo-netpr,
              peinh LIKE ekpo-peinh,
             lifnr like lfa1-lifnr,
              name1 like lfa1-lifnr,
              pstlz like lfa1-pstlz,
              stras like lfa1-stras,
              text1 like t007s-text1,
    END OF ty_ekko.
    TYPES : BEGIN OF ty_ekbe,
              ebeln LIKE ekbe-ebeln,    "po number
              ebelp LIKE ekbe-ebelp,    "po line item
              buzei LIKE ekbe-buzei,
              belnr LIKE ekbe-belnr,    "Number of material document
              budat LIKE ekbe-budat,    "Posting date in the document
              xblnr LIKE ekbe-xblnr,    "Reference document number
              werks LIKE ekbe-werks,    "plant
              matnr LIKE ekbe-matnr,    "material
              menge LIKE ekbe-menge,    "quantity
              peinh LIKE ekpo-peinh,
              dmbtr LIKE ekbe-dmbtr,    "Amount in local currency
              kalsm LIKE ekko-kalsm,    "Procedure (pricing)
              waers LIKE ekbe-waers,    "currency
              wrbtr LIKE ekbe-wrbtr,    "Amount in document currency
              bwtar LIKE ekbe-bwtar,    "Valuation type
              shkzg LIKE ekbe-shkzg,
              maktx LIKE makt-maktx,
              mwskz LIKE ekbe-mwskz,
              bldat LIKE ekbe-bldat,
              srvpos LIKE ekbe-srvpos,
              packno LIKE ekbe-packno,
              introw LIKE ekbe-introw,
              lfbnr  LIKE ekbe-lfbnr,
              bwart TYPE ekbe-bwart,
              budat1 TYPE ekbe-budat,
              belnr1 TYPE ekbe-belnr,
           END OF ty_ekbe.
    TYPES : BEGIN OF ty_display,
              BSART LIKE EKKO-BSART,
              KNTTP LIKE EKPO-KNTTP,
              lifnr(10) TYPE C,              " LIKE ekko-lifnr,
              ebeln LIKE ekko-ebeln,
              bedat LIKE ekko-bedat,
              budat LIKE ekbe-budat,
              matnr LIKE ekbe-matnr,
              maktx LIKE makt-maktx,
              belnr LIKE ekbe-belnr,
              bldat LIKE ekbe-bldat,
              menge LIKE ekpo-menge,
              peinh LIKE ekpo-peinh,
              dmbtr LIKE ekbe-dmbtr,
              shkzg LIKE ekbe-shkzg,
              custduty LIKE konv-kwert,
              bed LIKE konv-kwert,
              cvd LIKE konv-kwert,
              sertax LIKE konv-kwert,
              sereducess LIKE konv-kwert,
              surcharge LIKE konv-kwert,
              educess LIKE konv-kwert,
              insure LIKE konv-kwert,
              freight LIKE konv-kwert,
              octroi LIKE konv-kwert,
              kursf LIKE rbkp-kursf,
              grossamt LIKE konv-kwert,
              vat4 LIKE konv-kwert,
              vat8 LIKE konv-kwert,
              vat125 LIKE konv-kwert,
              INC LIKE KONV-KWERT,     "
              PF LIKE KONV-KWERT,
              CF LIKE KONV-KWERT,
              INS LIKE KONV-KWERT,
              cst LIKE konv-kwert,
              subdeb LIKE ekbe-dmbtr,
              netamt LIKE ekbe-dmbtr,
              cenvatcreditbed LIKE konv-kwert,
              cenvatcreditecc LIKE konv-kwert,
              vatcredit LIKE konv-kwert,
              bgcharges LIKE konv-kwert,
              srvpos LIKE ekbe-srvpos,
              ktext1 LIKE esll-ktext1,
              sertaxcredit LIKE konv-kwert,
              sereducesscredit LIKE konv-kwert,
              totaltaxbenefit LIKE konv-kwert,
              inventoryvalue LIKE konv-kwert,
              bwart TYPE ekbe-bwart,
              belnr1 TYPE ekbe-belnr,
              budat1 TYPE ekbe-budat,
              lfbnr TYPE ekbe-lfbnr,
              bprme LIKE ekpo-bprme,
              meins LIKE ekpo-meins,
              name1 like lfa1-name1,
              pstlz like lfa1-pstlz,
              stras like lfa1-stras,
              mwskz like ekpo-mwskz,
              text1 like t007s-text1,
              kalsm like t007s-kalsm,
              j_1icstno like j_1imovend-j_1icstno,
              hkont(10) TYPE C,       " like bseg-hkont,
              saknr like ska1-saknr,
              sakan like ska1-sakan,
              ktoks like ska1-ktoks,
              mcod1 like ska1-mcod1,
              WAERS LIKE EKKO-WAERS,
              bukrs like ekpo-bukrs,
              total LIKE ekbe-dmbtr,
            END OF ty_display.
    TYPES : BEGIN OF ty_services,
               ebeln LIKE ekpo-ebeln,
               ebelp LIKE ekpo-ebelp,
               lfbnr LIKE ekbe-lfbnr,
               packno LIKE esll-packno,
               sub_packno LIKE esll-sub_packno,
               srvpos LIKE esll-srvpos,
               ktext1 LIKE esll-ktext1,
               netwr LIKE esll-netwr,
               act_wert  LIKE esll-act_wert,
               menge LIKE esll-menge,
               bldat LIKE ekbe-bldat,
            END OF ty_services.
    TYPES :  BEGIN OF ty_konv,
               ebeln LIKE ekpo-ebeln,
               ebelp LIKE ekpo-ebelp,
               knumv LIKE konv-knumv,
               kposn LIKE konv-kposn,
               kschl LIKE konv-kschl,
               kwert LIKE konv-kwert,
               kbetr LIKE konv-kbetr,
             END OF ty_konv.
    TYPES : BEGIN OF ty_lfbnr,
              belnr TYPE ekbe-belnr,
              lfbnr TYPE ekbe-lfbnr,
            END OF ty_lfbnr.
    TYPES : BEGIN OF ty_miro,
             belnr1 TYPE ekbe-belnr,
             belnr TYPE ekbe-belnr,
             budat TYPE ekbe-budat,
    END OF ty_miro.
    types: begin of ty_lfa1,
           lifnr like lfa1-lifnr,
           name1 like lfa1-lifnr,
           pstlz like lfa1-pstlz,
           stras like lfa1-stras,
           end of ty_lfa1.
    types: begin of ty_t007s,
           mwskz like t007s-mwskz,
           text1 like t007s-text1,
           spras like t007s-spras,
           kalsm like t007s-kalsm,
           end of ty_t007s.
    types: begin of ty_j_1imovend,
           lifnr like j_1imovend-lifnr,
           j_1icstno like j_1imovend-j_1icstno,
           end of ty_j_1imovend.
    types: begin of ty_bseg,
           lifnr like bseg-lifnr,
           dmbtr like bseg-dmbtr,
           shkzg like bseg-shkzg,
           hkont like bseg-hkont,
           BELNR LIKE BSEG-BELNR,
           end of ty_bseg.
    types: begin of ty_ska1,
           saknr like ska1-saknr,
           sakan like ska1-sakan,
           ktoks like ska1-ktoks,
           mcod1 like ska1-mcod1,
           end of ty_ska1.
    DATA : it_lfbnr TYPE STANDARD TABLE OF ty_lfbnr,
           wa_lfbnr TYPE ty_lfbnr,
           it_lfa1 type standard table of ty_lfa1,
           wa_lfa1 TYPE ty_lfa1,
           it_t007s type standard table of ty_t007s,
           wa_t007s TYPE ty_t007s,
           it_j_1imovend type standard table of ty_j_1imovend,
           wa_j_1imovend TYPE ty_j_1imovend,
           it_bseg type standard table of ty_bseg,
           wa_bseg TYPE ty_bseg,
          it_ska1 type standard table of ty_ska1,
           wa_ska1 TYPE ty_ska1,
           it_miro TYPE STANDARD TABLE OF ty_miro,
           wa_miro TYPE ty_miro,
           w_belnr TYPE ekbe-belnr,
           w_lfbnr TYPE ekbe-lfbnr,
           w_belnr1 TYPE ekbe-belnr,
           w_budat TYPE ekbe-budat.
    CONSTANTS: Begin with C_                                            *
    DATA: Begin with W_                                                 *
    DATA :  w_flag TYPE c.
    INTERNAL TABLES: Begin with IT_                                     *
    DATA : it_ekko TYPE STANDARD TABLE OF ty_ekko WITH NON-UNIQUE KEY ebeln
                                                                ebelp,
          it_ekpo type standard table of ty_ekpo,
           it_ekbe TYPE STANDARD TABLE OF ty_ekbe,
           it_ekbe1 TYPE STANDARD TABLE OF ty_ekbe WITH NON-UNIQUE KEY ebeln
                                                                ebelp,
           it_display TYPE STANDARD TABLE OF ty_display,
           it_subdebit TYPE STANDARD TABLE OF ty_ekbe,
           it_services TYPE STANDARD TABLE OF ty_services,
           it_packno TYPE STANDARD TABLE OF ty_services,
           it_konv TYPE STANDARD TABLE OF ty_konv.
    DATA :  it_fieldcat TYPE slis_t_fieldcat_alv,
            it_layout TYPE slis_layout_alv,
            it_komv TYPE STANDARD TABLE OF komv WITH NON-UNIQUE KEY knumv
            kschl.
    WORKAREAS: Begin with WA_                                           *
    DATA : wa_ekbe TYPE ty_ekbe,
           wa_ekbe1 TYPE ty_ekbe,
           wa_ekko TYPE ty_ekko,
           wa_komv TYPE komv,
           wa_display TYPE ty_display,
          WA_LFA1 TYPE TY_LFA1,
          W_GROSS_AMT type KOMV-KWERT,
           wa_subdebit TYPE ty_ekbe,
           wa_packno TYPE ty_services,
           wa_services TYPE ty_services,
           wa_konv TYPE ty_konv,
           wa_taxcom TYPE taxcom,
           wa_ls_fieldcat TYPE slis_fieldcat_alv.
    FIELD-SYMBOLS: Begin with FS_                                       *
    FIELD-GROUPS: Begin with FG_                                        *
    CONTROLS:                                                           *
    SELECT-OPTIONS: Begin with SO_                                      *
    SELECT-OPTIONS : so_lifnr FOR ekko-lifnr ,
                    so_mtart FOR ekpo-mtart,
                     so_ebeln FOR ekbe-ebeln,
                     so_matnr FOR ekbe-matnr,
                    so_date FOR sy-datum no-display,
                     do_date for ekko-bedat,
                     tax_code for ekpo-mwskz,
                     mr_date for ekbe-budat,
                     mat_gr for ekpo-matkl,
                     mat_tp for ekpo-mtart,
                     pr_plant for ekbe-werks,
                     pr_ekorg for ekko-ekorg.
    PARAMETERS: Begin with PR_                                          *
    *PARAMETER : pr_plant LIKE ekpo-werks . "OBLIGATORY.
               pr_ekorg LIKE ekko-ekorg . "OBLIGATORY.
    SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001 .
    PARAMETER : pr_preg TYPE c  radiobutton group g1  default 'X',
                pr_ror TYPE c  RADIOBUTTON GROUP g1 .
    SELECTION-SCREEN : END OF BLOCK b1.
    START-OF-SELECTION                                                  *
    START-OF-SELECTION .
    *--- Get the data reguired--
      PERFORM f001-get_data.
    *-------Calculate the tax required -
      PERFORM f002-cal_taxes.
      PERFORM miro_get_data.
    END-OF-SELECTION                                                    *
    END-OF-SELECTION.
    *---Display the report--
      PERFORM f003-display_register.
    *&      Form  F001-GET_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM f001-get_data .
    Clear and Refresh all internal table and work area.
      REFRESH : it_ekko,
                it_ekbe,
                it_services,
                it_packno,
                it_konv,
                it_lfa1,
                it_komv.
      CLEAR   : wa_ekko,
                wa_ekbe,
                wa_services,
                wa_packno,
                wa_konv,
                wa_lfa1,
                wa_komv.
    Get the history records for all the selected PO. from table EKBE of
    type GR.
        IF pr_preg = 'X'.
    *Get Purchasing Document Number, Number of the document condition,
    *Vendor's accountNumber, Currency Key, Procedure , Country for Tax
    *ReturnPurchasing OrganizationExchange rate In an internal table it_ekko
    *break-point.
      SELECT pBSART qknttp pebeln pknumv plifnr pwaers pkalsm plands pekorg pwkurs
         wkurs pbedat  qebelp qbukrs qmatkl qmtart pllief qmeins qbprme
         qtxjcd qmwskz pwkurs qnetpr qmenge QPEINH
        INTO CORRESPONDING FIELDS OF TABLE it_ekko
        FROM   ekko AS p INNER JOIN ekpo AS q
               ON pebeln = qebeln
        WHERE   p~ekorg in pr_ekorg
                AND p~lifnr IN so_lifnr
            AND q~mtart IN so_mtart
                AND p~ebeln IN so_ebeln
                and p~bedat in do_date
                and q~mwskz in tax_code
                and q~matkl in mat_gr
                and q~mtart in mat_tp
                and kalsm = 'SIL000'
                AND EKORG = 'SDOP'.
           GET ALL THE PO FOR WHICH MIRO HAS BEEN DONE
      SELECT ebeln ebelp budat bldat werks
        INTO CORRESPONDING FIELDS OF TABLE it_ekbe1
        FROM ekbe
        FOR ALL ENTRIES IN it_ekko
        WHERE ebeln = it_ekko-ebeln
           AND ebelp = it_ekko-ebelp
           AND bewtp = 'Q'
           AND  werks in pr_plant
          AND budat IN so_date
          AND ( bwart = '101' OR bwart = '102'  ) "OR bwart = '105' OR bwart = '106' OR bwart ='')
           AND ebeln IN so_ebeln
           and budat in mr_date
           AND matnr IN so_matnr.
          AND ( BUDAT >= SO_DATE-low and BUDAT <= SO_DATE-high ).
    Check whether any records is present
      IF sy-subrc = 0.
          IF NOT it_ekbe1 IS INITIAL.
            SELECT ebeln ebelp buzei belnr budat xblnr werks matnr menge
                   dmbtr waers wrbtr bwtar shkzg dmbtr bldat srvpos
                   packno introw lfbnr bwart
                INTO CORRESPONDING FIELDS OF TABLE it_ekbe
                FROM  ekbe
                FOR ALL ENTRIES IN it_ekbe1
                WHERE      ebeln = it_ekbe1-ebeln
                        AND  ebelp = it_ekbe1-ebelp
                        and budat in mr_date
                       AND budat IN so_date
                 and  ( BUDAT >= SO_DATE-low and BUDAT <= SO_DATE-high )
                      AND  bewtp = 'Q'.
                    AND ( bwart = '101' OR bwart = '102' OR bwart = '103' OR bwart = '105' ). "OR bwart = '105' OR bwart = '106' OR bwart ='').
                     AND  bwart = '103'.
                 and  WERKS = PR_PLANT.
            IF sy-subrc = 0.
            ENDIF.
          ELSE.
            SELECT ebeln ebelp buzei belnr budat xblnr werks matnr menge
                  dmbtr waers wrbtr bwtar shkzg dmbtr bldat srvpos
                  packno introw lfbnr bwart
               INTO CORRESPONDING FIELDS OF TABLE it_ekbe
               FROM  ekbe
               FOR ALL ENTRIES IN it_ekbe1
               WHERE      ebeln = it_ekbe1-ebeln
                       AND  ebelp = it_ekbe1-ebelp
                       and budat in mr_date
                     AND budat IN so_date
                 and ( BUDAT >= SO_DATE-low and BUDAT <= SO_DATE-high )
                     AND  bewtp = 'Q'.
                    AND ( bwart = '101' OR bwart = '102' OR bwart = '103' OR bwart = '105' ) . "OR bwart = '105' OR bwart = '106' OR bwart ='').
                    AND  bwart = '102'.
                 and  WERKS = PR_PLANT.
            IF sy-subrc = 0.
            ENDIF.
            ENDIF.
        ENDIF.
    new code added
    *get the venor address
         select alifnr bname1 bpstlz bstras b~lifnr
         into corresponding fields of table it_LFA1
         from ekko as a inner join lfa1 as b
         on alifnr = blifnr
         for all entries in it_EKKO
         where  B~lifnr = it_EKKO-lifnr.
    ***tax code description added*******************
    select mwskz text1 spras kalsm
    from t007s
    into corresponding fields of table it_t007s for all entries in it_ekko
    where mwskz = it_ekko-mwskz and spras = 'E' and kalsm = 'TAXSIL'.
    *******vendor vat no. added*************
    select lifnr j_1icstno
    from j_1imovend
    into corresponding fields of table it_j_1imovend for all entries in it_ekko
    where lifnr = it_ekko-lifnr.
    **********gl code added******************************************
    *select lifnr shkzg dmbtr hkont
    *from bseg
    *into corresponding fields of table it_bseg for all entries in it_lfa1  " it_ekko
    *where  LIFNR = it_lfa1-LIFNR and shkzg = 'S'.
    *************gl code description added*******************************************
    *select saknr ktoks mcod1 sakan
    *from ska1
    *into corresponding fields of table it_ska1 for all entries in it_bseg
    *where sakan = it_bseg-hkont and ktoks = 'MAT'.
    Get the package number , service number , service text , net price ,
    accual amount , qty. etc
        IF NOT it_packno[] IS INITIAL.
          SELECT ppackno psrvpos pktext1 pnetwr pact_wert pmenge
              INTO CORRESPONDING FIELDS OF TABLE it_services
              FROM esll  AS p "inner join ESLL as Q
               on      PPLN_PACKNO = QPACKNO
                  and  PINTROW = QINTROW
              FOR ALL ENTRIES IN it_packno
              WHERE p~packno = it_packno-sub_packno.
          IF sy-subrc = 0.
          ENDIF.
        ENDIF.
    Get Number of the document condition ,line item number, Condition
    value for all selected PO.
        IF NOT it_ekko[] IS INITIAL.
          SELECT  knumv kposn kschl kwert
              INTO CORRESPONDING FIELDS OF TABLE it_konv
              FROM konv
              FOR ALL ENTRIES IN it_ekko
              WHERE  knumv = it_ekko-knumv.
          IF sy-subrc = 0.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    " F001-GET_DATA
    *&      Form  F002-CAL_TAXES
          text
    -->  p1        text
    <--  p2        text
    FORM f002-cal_taxes .
    Calculate taxes for all the PO.
      LOOP AT it_ekbe INTO wa_ekbe.
        CLEAR :  wa_display,
                 wa_ekko.
        READ TABLE it_ekko WITH TABLE KEY ebeln = wa_ekbe-ebeln
                                          ebelp = wa_ekbe-ebelp
                                          INTO wa_ekko.
        IF sy-subrc = 0.
        ENDIF.
        CLEAR wa_taxcom.
    Get the text for the Material.
        SELECT SINGLE maktx
          INTO wa_display-maktx
          FROM  makt
          WHERE     matnr = wa_ekbe-matnr
                AND spras = sy-langu.
        wa_taxcom-bukrs = wa_ekko-bukrs.
        wa_taxcom-budat = wa_ekbe-bldat.
        wa_taxcom-budat = wa_ekko-bedat." change by dinesh
        wa_taxcom-waers = wa_ekbe-waers.
        wa_taxcom-kposn = wa_ekbe-ebelp.
        wa_taxcom-mwskz = wa_ekko-mwskz.
        wa_taxcom-txjcd = wa_ekko-txjcd.
       taxcom-shkzg = 'H'.
        wa_taxcom-xmwst = 'X'.
       IF ekko-bstyp EQ bstyp-best.
        wa_taxcom-wrbtr = wa_ekko-netpr * wa_ekbe-menge * wa_ekko-wkurs.
         WA_TAXCOM-WRBTR = wa_ekbe-dmbtr.
       ELSE.
         taxcom-wrbtr = ekpo-zwert.
       ENDIF.
        wa_taxcom-lifnr = wa_ekko-lifnr.
        wa_taxcom-land1 = wa_ekko-lands.                              "WIA
        wa_taxcom-ekorg = wa_ekko-ekorg.
        wa_taxcom-hwaer = 'INR'.    "t001-waers.
        wa_taxcom-llief = wa_ekko-llief.
        wa_taxcom-bldat = wa_ekbe-bldat.
        wa_taxcom-matnr = wa_ekbe-matnr.         "HTN-Abwicklung
        wa_taxcom-werks = wa_ekbe-werks.          "pr_plant.
          taxcom-bwtar = ekpo-bwtar.
        wa_taxcom-matkl = wa_ekko-matkl.
        wa_taxcom-meins = wa_ekko-meins.
        wa_taxcom-ebeln = wa_ekbe-ebeln.
        wa_taxcom-ebelp = wa_ekbe-ebelp.
        wa_taxcom-mglme = wa_ekbe-menge.
        wa_taxcom-mtart = wa_ekko-mtart.
    *Call function module CALCULATE_TAX_ITEM--
        CALL FUNCTION 'CALCULATE_TAX_ITEM'
          EXPORTING
            i_taxcom     = wa_taxcom
            display_only = 'X'
           dialog       = diakz
          IMPORTING
            e_taxcom     = wa_taxcom
           nav_anteil   = hwert
          TABLES
            t_xkomv = it_komv
          EXCEPTIONS
            OTHERS       = 01.
        IF sy-subrc = 0.
        ENDIF.
        wa_display-bsart = wa_ekko-bsart.
        wa_display-knttp = wa_ekko-knttp.
        wa_display-bprme = wa_ekko-bprme.
        wa_display-meins = wa_ekko-meins.
        wa_display-lifnr = wa_ekko-lifnr.
        wa_display-ebeln = wa_ekbe-ebeln.
        wa_display-bedat = wa_ekko-bedat.
        wa_display-bwart = wa_ekbe-bwart.
        wa_display-budat = wa_ekbe-budat.
        wa_display-matnr = wa_ekbe-matnr.
        wa_display-belnr = wa_ekbe-belnr.
        wa_display-menge = wa_ekbe-menge.
        wa_display-PEINH = wa_ekko-PEINH.
        wa_display-dmbtr = ( wa_ekko-netpr * wa_ekbe-menge * wa_ekko-wkurs ) / wa_ekko-PEINH.
      WA_DISPLAY-DMBTR = WA_EKBE-DMBTR.
        wa_display-srvpos = wa_ekbe-srvpos.
        wa_display-mwskz = wa_EKKO-mwskz.
        wa_display-WAERS = wa_EKKO-WAERS.
    read table it_lfa1 into wa_lfa1 with key lifnr = wa_ekko-lifnr.
    wa_display-name1 = wa_lfa1-name1.
    wa_display-pstlz = wa_lfa1-pstlz.
    wa_display-stras = wa_lfa1-stras.
    read table it_t007s into wa_t007s with key mwskz = wa_ekko-mwskz.
    wa_display-text1 = wa_t007s-text1.
    read table it_j_1imovend into wa_j_1imovend with key lifnr = wa_ekko-lifnr.
    wa_display-j_1icstno = wa_j_1imovend-j_1icstno.
    read table it_bseg into wa_bseg with key LIFNR = wa_lfa1-lifnr.  " wa_ekKO-LIFNR .
    wa_display-HKONT = wa_bseg-HKONT.
    *read table it_ska1 into wa_ska1 with key sakan = wa_bseg-hkont.
    *wa_display-mcod1 = wa_ska1-mcod1.
        READ TABLE it_komv WITH KEY kschl = 'JCDB'
                                    kposn = wa_ekko-ebelp
                                    INTO wa_komv.
        IF sy-subrc = 0.
          wa_display-custduty = wa_komv-kwert .
        ELSE.
          READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_ekko-knumv
                                                   kposn = wa_ekko-ebelp
                                                   kschl = 'JCDB'.
          IF  wa_ekko-menge <> 0.
            wa_display-custduty = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
          ENDIF.
        ENDIF.
    Get the BED OR EXCISE DUTY
         CLEAR :  wa_komv , wa_konv.
        READ TABLE it_komv WITH KEY kschl = 'JMOP'
                                    kposn = wa_ekko-ebelp
                                    INTO wa_komv.
        IF sy-subrc = 0 .
          wa_display-BED = wa_komv-kwert .
        ELSE.
          READ TABLE it_komv WITH KEY kschl = 'JMOQ'
                                      kposn = wa_ekko-ebelp
                                      INTO wa_komv.
          IF sy-subrc = 0.
            wa_display-BED = wa_komv-kwert .
          ELSE.
            READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_ekko-knumv
                                                  kposn = wa_ekko-ebelp
                                                  kschl = 'JMOP'.
            IF sy-subrc = 0.
              IF  wa_ekko-menge <> 0.
                wa_display-BED  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
              ENDIF.
            ELSE.
              READ TABLE it_konv INTO wa_konv WITH KEY
                                                 knumv =  wa_ekko-knumv
                                                 kposn = wa_ekko-ebelp
                                                 kschl = 'JMOQ'.
              IF  wa_ekko-menge <> 0.
                wa_display-BED  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
    ******END OF EXCISE DUTY AND THE BED******************************************************
    Get the  EDUCATION CESS
        CLEAR :  wa_komv , wa_konv.
        READ TABLE it_komv WITH KEY kschl = 'JEC1'
                                    kposn = wa_ekko-ebelp
                                    INTO wa_komv.
        IF sy-subrc = 0 .
          wa_display-educess = wa_komv-kwert .
        ELSE.
          READ TABLE it_komv WITH KEY kschl = 'JESQ'
                                      kposn = wa_ekko-ebelp
                                      INTO wa_komv.
          IF sy-subrc = 0.
            wa_display-educess = wa_komv-kwert .
          ELSE.
            READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_ekko-knumv
                                                  kposn = wa_ekko-ebelp
                                                  kschl = 'JEC1'.
            IF sy-subrc = 0.
              IF  wa_ekko-menge <> 0.
                wa_display-educess  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
              ENDIF.
            ELSE.
              READ TABLE it_konv INTO wa_konv WITH KEY
                                                 knumv =  wa_ekko-knumv
                                                 kposn = wa_ekko-ebelp
                                                 kschl = 'JESQ'.
              IF  wa_ekko-menge <> 0.
                wa_display-educess  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
    *END OF EDUCATION CESS
    Get the SERVICE TAX
        clear : WA_KOMV , WA_KONV.
        read table IT_KOMV with key KSCHL = 'JSRT'
                                    KPOSN = WA_EKKO-EBELP
                                    into WA_KOMV.
        if SY-SUBRC = 0.
          WA_DISPLAY-SERTAX  = WA_KOMV-KWERT .
        else.
          read table IT_KONV into WA_KONV with key KNUMV = WA_EKKO-KNUMV
                                                   KPOSN = WA_EKKO-EBELP
                                                   KSCHL = 'JSRT'.
          WA_DISPLAY-SERTAX  = WA_KONV-KWERT * wa_ekko-WKURS.
        endif.
    END OF SERVICE TAX****************************************
    Get the  EDUCATION CESS ON SERVICE TAX************************
        clear : WA_KOMV , WA_KONV.
        read table IT_KOMV with key KSCHL = 'JEC5'
                                    KPOSN = WA_EKKO-EBELP
                                    into WA_KOMV.
        if SY-SUBRC = 0.
          WA_DISPLAY-SEREDUCESS  = WA_KOMV-KWERT .
        else.
          read table IT_KONV into WA_KONV with key KNUMV = WA_EKKO-KNUMV
                                                   KPOSN = WA_EKKO-EBELP
                                                   KSCHL = 'JEC5'.
          WA_DISPLAY-SEREDUCESS  = WA_KONV-KWERT * wa_ekko-WKURS.
        endif.
    ******END OF SERVICE TAX ON EDUCATION CESS************************************************
    Get the CVD
        CLEAR : wa_komv , wa_konv.
        READ TABLE it_komv WITH KEY kschl = 'JCV1'
                                    kposn = wa_ekko-ebelp
                                    INTO wa_komv.
        IF sy-subrc = 0.
          wa_display-cvd  = wa_komv-kwert .
        ELSE.
          READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_ekko-knumv
                                                   kposn = wa_ekko-ebelp
                                                   kschl = 'JCV1'.
          IF  wa_ekko-menge <> 0.
            wa_display-cvd  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
          ENDIF.
        ENDIF.
    Get the total INSURANCE
        CLEAR : wa_komv , wa_konv.
        READ TABLE it_komv WITH KEY kschl = 'ZIN1'
                                    kposn = wa_ekko-ebelp
                                    INTO wa_komv.
        IF sy-subrc = 0 .
          wa_display-insure = wa_komv-kwert .
        ELSE.
          READ TABLE it_komv WITH KEY kschl = 'ZIN2'
                                      kposn = wa_ekko-ebelp
                                      INTO wa_komv.
          IF sy-subrc = 0.
            wa_display-insure = wa_komv-kwert .
          ELSE.
            READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_ekko-knumv
                                                  kposn = wa_ekko-ebelp
                                                  kschl = 'ZIN1'.
            IF sy-subrc = 0.
              IF  wa_ekko-menge <> 0.
                wa_display-insure  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
              ENDIF.
            ELSE.
              READ TABLE it_konv INTO wa_konv WITH KEY
                                     

    Hi Ingo,
    Thanks for the reply. But let me rephrase my question.  In the Bex we get a extra row called overall result in the result set which gives the correct  count/total/average based on exception aggregation.  The question is how we show the overall result row in the crystal or rather how can we map it into crystal.  So i thought as of now we should create a formula to compute the overall result and display it.
    Hope I am clear this time in asking the right question.
    Many many thanks in advance for your reply.
    Kind regards,
    Shiva.

  • How to get the reference of the cell id in validate method in adf

    Hi All,
    I am using Jdeveloper 11.1.1.2 and i am using custom validator where i have registered the validator in facesconfig.xml.I need to know how can i get the ID of the inputtext box which is present in the hierarchy as Panel Header->Table->column->textbox :-
    Below is my custom validator class source , please tell me how to get the reference of the textbox which is present in such hierarchy.:-
    package validator;
    import java.io.Serializable;
    import java.util.Date;
    import javax.faces.application.FacesMessage;
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.validator.Validator;
    import javax.faces.validator.ValidatorException;
    import oracle.adf.view.rich.component.rich.input.RichInputDate;
    import oracle.adf.view.rich.component.rich.input.RichInputText;
    import oracle.adfinternal.view.faces.bi.util.JsfUtils;
    public class ValidateConversion implements Serializable, Validator {
    public ValidateConversion() {
    super();
    public void validate(FacesContext facesContext, UIComponent uIComponent,
    Object object) throws ValidatorException {
    System.out.println("*************");
    System.out.println((String)object);
    //get component id by get("AttributeName");
    String conversionComponentId = (String)uIComponent.getAttributes().get("UncommittedOrder_PH:t7:it14");
    System.out.println("conversionComponentId=" + conversionComponentId);
    RichInputText conversionComponent = (RichInputText)uIComponent.findComponent(conversionComponentId);
    Integer conversion = (Integer)conversionComponent.getValue();
    Integer quantityInBags = (Integer)object;
    //get labels from the two inputDate component.
    String conversionLabel = conversionComponent.getLabel();
    String quantityInBagsLabel = ((RichInputText)uIComponent).getLabel();
    Integer remainder = (quantityInBags % conversion);
    //throw error if valiation fails
    if (remainder > 0) {
    throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,
    "The " + quantityInBagsLabel + " should be in multiples of" + conversion +".",
    null));
    Thanks,
    Plese reply!!!

    Thanks Jabr,
    This is my jsff page source and i need to find the reference of it14 which is the textbox :-
    <af:panelGroupLayout id="pgl1" styleClass="AFStretchWidth">
    <af:panelHeader text="Results" id="Results_PH" size="1">
    <af:table value="#{bindings.queryProductResponseType.collectionModel}"
    var="row"
    rows="#{bindings.queryProductResponseType.rangeSize}"
    emptyText="#{bindings.queryProductResponseType.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.queryProductResponseType.rangeSize}"
    rowBandingInterval="1"
    filterModel="#{bindings.queryProductResponseTypeQuery.queryDescriptor}"
    queryListener="#{bindings.queryProductResponseTypeQuery.processQuery}"
    filterVisible="true" varStatus="vs" id="ResultTable_t"
    width="99%" partialTriggers="::cb1 ::cb2 ::cb3 it14"
    binding="#{viewScope.GrowerOrderBean.resultTable}"
    columnStretching="last" rowSelection="multiple"
    sortListener="#{viewScope.GrowerOrderBean.sortResultTable_action}"
    autoHeightRows="8" first="0"
    inlineStyle="height:196px;margin:10px"
    selectionListener="#{viewScope.GrowerOrderBean.resultRowSelect_action}">
    <af:column filterable="false" sortable="false" headerText="Select"
    id="c9" width="55" rendered="false"
    filterFeatures="caseInsensitive">
    <div align="center">
    <af:selectBooleanCheckbox value="#{row.bindings.booleanFlag.inputValue}"
    label="#{bindings.queryProductResponseType.hints.booleanFlag.label}"
    required="#{bindings.queryProductResponseType.hints.booleanFlag.mandatory}"
    shortDesc="#{bindings.queryProductResponseType.hints.booleanFlag.tooltip}"
    id="it19" autoSubmit="true">
    <f:validator binding="#{row.bindings.booleanFlag.validator}"/>
    </af:selectBooleanCheckbox>
    </div>
    </af:column>
    <!-- START of column created by SYSTIME -->
    <af:column sortProperty="quantity" headerText="Quantity in Bags" filterFeatures="caseInsensitive"
    id="c54" rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterable="true" sortable="true">
    <af:inputText label="Quantity in Bags" id="it14"
    partialTriggers="it19" autoSubmit="true"
    readOnly="#{row.activeYN == 'N' or row.availability &lt; 0 or row.availability ==0}"
    valueChangeListener="#{viewScope.GrowerOrderBean.compare}">
    <af:validateLongRange id="RangeCheck_Val1" minimum="1"
    maximum="#{row.availability * row.conversion}"
    messageDetailNotInRange="You have entered a quantity more than is available. Quantity entered must be in the range of {2} to {3}"
    messageDetailMinimum="Minimum {0} allowed is {2}"
    messageDetailMaximum="Maximum {0} allowed is {2}"
    hintNotInRange="#{'Quantity In Bags to Order'}"/>
    <af:validateRegExp pattern="^[1-9]+[0-9]*$"
    messageDetailNoMatch="Quantity In Bags must be in whole number format."/>
    <f:validator validatorId="custom.conversionValidator"/>
    </af:inputText>
    </af:column>
    <!-- END of column created by SYSTIME -->
    <af:column sortProperty="quantity" filterable="true"
    sortable="true" headerText="Quantity" id="c3"
    width="60"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" visible="false">
    <div align="center" >
    <af:inputText value="#{row.bindings.quantity.inputValue}"
    label="#{bindings.queryProductResponseType.hints.quantity.label}"
    required="#{bindings.queryProductResponseType.hints.quantity.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.quantity.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.quantity.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.quantity.tooltip}"
    id="it5" partialTriggers="it19"
    readOnly="#{row.activeYN == 'N' or row.availability &lt; 0 or row.availability ==0}">
    <f:validator binding="#{row.bindings.quantity.validator}"/>
    <af:validateLongRange id="RangeCheck_Val" minimum="1"
    maximum="#{row.bindings.availability.inputValue}"
    messageDetailNotInRange="You have entered a quantity more than is available. Quantity entered must be in the range of {2} to {3}"
    messageDetailMinimum="Minimum {0} allowed is {2}"
    messageDetailMaximum="Maximum {0} allowed is {2}"
    hintNotInRange="#{'Quantity to Order'}"/>
    <af:validateRegExp pattern="^[1-9]+[0-9]*$"
    messageDetailNoMatch="Quantity must be in whole number format."/>
    </af:inputText>
    </div>
    </af:column>
    <af:column sortProperty="brand" filterable="true" sortable="true"
    headerText="Brand" id="c10" width="80"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" displayIndex="-1">
    <af:inputText value="#{row.bindings.brand.inputValue}"
    label="#{bindings.queryProductResponseType.hints.brand.label}"
    required="#{bindings.queryProductResponseType.hints.brand.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.brand.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.brand.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.brand.tooltip}"
    id="it7" readOnly="true">
    <f:validator binding="#{row.bindings.brand.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="seedsz" filterable="true" sortable="true"
    headerText="Seed Size" id="c7" width="50"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.seedsz.inputValue}"
    label="#{bindings.queryProductResponseType.hints.seedsz.label}"
    required="#{bindings.queryProductResponseType.hints.seedsz.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.seedsz.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.seedsz.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.seedsz.tooltip}"
    id="it11" readOnly="true"
    contentStyle="text-transform:uppercase">
    <f:validator binding="#{row.bindings.seedsz.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="pckSize" filterable="true"
    sortable="true" headerText="Pkg Size" id="c11"
    width="50"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive"
    inlineStyle="#{row.conversion > 1 ? 'background-color:Yellow;' : 'background-color:White;'}">
    <af:inputText value="#{row.bindings.pckSize.inputValue}"
    label="#{bindings.queryProductResponseType.hints.pckSize.label}"
    required="#{bindings.queryProductResponseType.hints.pckSize.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.pckSize.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.pckSize.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.pckSize.tooltip}"
    id="it8" readOnly="true">
    <f:validator binding="#{row.bindings.pckSize.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="conversion" filterable="true"
    sortable="true" headerText="Conv" id="c4" width="50"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" displayIndex="-1">
    <af:inputText value="#{row.bindings.conversion.inputValue}"
    label="#{bindings.queryProductResponseType.hints.conversion.label}"
    required="#{bindings.queryProductResponseType.hints.conversion.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.conversion.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.conversion.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.conversion.tooltip}"
    id="conversion_it" readOnly="true">
    <f:validator binding="#{row.bindings.conversion.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="treatment" filterable="true"
    sortable="true" headerText="Treatment" id="c13"
    width="70"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.treatment.inputValue}"
    label="#{bindings.queryProductResponseType.hints.treatment.label}"
    required="#{bindings.queryProductResponseType.hints.treatment.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.treatment.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.treatment.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.treatment.tooltip}"
    id="it20" readOnly="true">
    <f:validator binding="#{row.bindings.treatment.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="availability" filterable="true"
    sortable="true" headerText="Availability" id="c15"
    width="60"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.availability> 500 ? '>=500': (row.availability> 100 and row.availability&lt;500 ? '100-500' : row.availability) }"
    label="#{bindings.queryProductResponseType.hints.availability.label}"
    required="#{bindings.queryProductResponseType.hints.availability.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.availability.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.availability.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.availability.tooltip}"
    id="it9" readOnly="true">
    <f:validator binding="#{row.bindings.availability.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="desiredDeliveryDate" filterable="true"
    sortable="true" headerText="Desired Delivery Month" id="c2"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" width="90">
    <af:selectOneChoice id="soc1" partialTriggers="it19"
    unselectedLabel="#{viewScope.GrowerOrderBean.desiredDeliveryDate}"
    value="#{row.bindings.desiredDeliveryDate.inputValue}"
    readOnly="#{row.activeYN == 'N'}">
    <af:forEach var="item"
    items="#{viewScope.GrowerOrderBean.selectItems}">
    <af:selectItem label="#{item.label}" value="#{item.value}"/>
    </af:forEach>
    </af:selectOneChoice>
    </af:column>
    <af:column sortProperty="maturity" filterable="true"
    sortable="true" headerText="Maturity" id="c5"
    width="60"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <div align="center">
    <af:inputText value="#{row.bindings.maturity.inputValue}"
    label="#{bindings.queryProductResponseType.hints.maturity.label}"
    required="#{bindings.queryProductResponseType.hints.maturity.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.maturity.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.maturity.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.maturity.tooltip}"
    id="it16" readOnly="true">
    <f:validator binding="#{row.bindings.maturity.validator}"/>
    </af:inputText>
    </div>
    </af:column>
    <af:column sortProperty="technology" filterable="true"
    sortable="true" headerText="Technology" id="c14"
    rendered="true" filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.technology.inputValue}"
    label="#{bindings.queryProductResponseType.hints.technology.label}"
    required="#{bindings.queryProductResponseType.hints.technology.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.technology.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.technology.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.technology.tooltip}"
    id="it15" readOnly="true">
    <f:validator binding="#{row.bindings.technology.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="prdLine" filterable="true"
    sortable="true" headerText="Product Line" id="c6"
    width="70"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.prdLine.inputValue}"
    label="#{bindings.queryProductResponseType.hints.prdLine.label}"
    required="#{bindings.queryProductResponseType.hints.prdLine.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.prdLine.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.prdLine.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.prdLine.tooltip}"
    id="it12" readOnly="true">
    <f:validator binding="#{row.bindings.prdLine.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="brandMktName" filterable="true"
    sortable="true" headerText="Marketing Brand" id="c8"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" width="80">
    <af:inputText value="#{row.bindings.brandMktName.inputValue}"
    label="#{bindings.queryProductResponseType.hints.brandMktName.label}"
    required="#{bindings.queryProductResponseType.hints.brandMktName.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.brandMktName.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.brandMktName.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.brandMktName.tooltip}"
    id="it17" readOnly="true">
    <f:validator binding="#{row.bindings.brandMktName.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="itemID" filterable="true" sortable="true"
    headerText="Item#" id="c1"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" width="60">
    <af:inputText value="#{row.bindings.itemID.inputValue}"
    label="#{bindings.queryProductResponseType.hints.itemID.label}"
    required="#{bindings.queryProductResponseType.hints.itemID.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.itemID.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.itemID.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.itemID.tooltip}"
    id="it6" readOnly="true">
    <f:validator binding="#{row.bindings.itemID.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="descp" filterable="true" sortable="true"
    headerText="Description" id="c17" width="105"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.descp.inputValue}"
    label="#{bindings.queryProductResponseType.hints.descp.label}"
    required="#{bindings.queryProductResponseType.hints.descp.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.descp.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.descp.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.descp.tooltip}"
    id="it10" readOnly="true">
    <f:validator binding="#{row.bindings.descp.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="primaryUOM" filterable="true"
    sortable="true"
    headerText="#{bindings.queryProductResponseType.hints.primaryUOM.label}"
    id="c16" rendered="false"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.primaryUOM.inputValue}"
    label="#{bindings.queryProductResponseType.hints.primaryUOM.label}"
    required="#{bindings.queryProductResponseType.hints.primaryUOM.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.primaryUOM.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.primaryUOM.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.primaryUOM.tooltip}"
    id="it18">
    <f:validator binding="#{row.bindings.primaryUOM.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="secondaryUOM" filterable="true"
    sortable="true"
    headerText="#{bindings.queryProductResponseType.hints.secondaryUOM.label}"
    id="c12" rendered="false"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.secondaryUOM.inputValue}"
    label="#{bindings.queryProductResponseType.hints.secondaryUOM.label}"
    required="#{bindings.queryProductResponseType.hints.secondaryUOM.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.secondaryUOM.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.secondaryUOM.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.secondaryUOM.tooltip}"
    id="it21">
    <f:validator binding="#{row.bindings.secondaryUOM.validator}"/>
    </af:inputText>
    </af:column>
    </af:table>
    <af:spacer width="10" height="5" id="s7"/>
    <af:toolbar id="t1">
    <af:commandButton id="AddToOrderButton2"
    actionListener="#{viewScope.GrowerOrderBean.addToOrder_action}"
    partialSubmit="true"
    styleClass="addToOrderButton">
    <af:clientListener method="setFocus" type="action"/>
    </af:commandButton>
    </af:toolbar>
    <f:facet name="context">
    <af:group id="g1">
    <af:spacer width="60" height="10" id="s1"/>
    <af:commandButton id="cb4"
    actionListener="#{viewScope.GrowerOrderBean.addToOrder_action}"
    partialSubmit="true"
    styleClass="addToOrderButton">
    <af:clientListener method="setFocus" type="action"/>
    </af:commandButton>
    </af:group>
    </f:facet>
    <f:facet name="info"/>
    <f:facet name="legend"/>
    <f:facet name="menuBar"/>
    <f:facet name="toolbar"/>
    </af:panelHeader>
    </jsp:root>
    Please reply !!
    Thanks.

  • How to get the parent of a component in fx?

    Here is an example:
    Index.fx:
    Stage {
        title: "Online book library";
        width: 1024
        height: 768
        scene:Scene {
        fill: Color.WHITE
        content: [
           banner ,
           login = Login{translateX:715 translateY:135}
    };Login.fx:
    var logOn : Button = Button {
            translateX:25 translateY: 170
            text: "Log On"
            font: Font {size:11 name: "Verdana Bold"}
            action: function() {
                showHello();
    function showHello(){
       // add a label in index.fx whose text is "welcome!";
        }I want to show something on the index.fx but I don't know how to get the parent from the child component?
    In Flex, we use parent or parentApplication, Is there a similar function in JavaFX?

    Reusing the same Tile example, I had no problems, I suppose I was doing wrong the first time:
    def IMAGES_WIDTH = 100;
    def IMAGES_HEIGHT = 100;
    var COLUMN_NB = 3;
    var ROW_NB = 3;
    var scene: Scene;
    var previews: Container;
    Stage
      title: "Test of Tile layout"
      scene: scene = Scene
        width: 500
        height: 500
        fill: Color.LAVENDER
        content:
          previews = Tile
            hgap: 10
            vgap: 10
            layoutX: bind (scene.width - previews.width) / 2
            layoutY: bind (scene.height - previews.height) / 2
            columns: COLUMN_NB
            content: for (i in [ 1 .. COLUMN_NB * ROW_NB ])
              ImageView
                id: "IV{i}"
                image: Image
                  url: "{__DIR__}clock.gif"
                  width: IMAGES_WIDTH
                  preserveRatio: true
                onMousePressed: Hide
    function Hide(evt: MouseEvent): Void
      println("{evt.node} ({evt.node.id}) - {evt.node.parent}");
      var nm: Node = evt.node.parent.lookup("IV5"); // Middle node
      nm.visible = false;
      var ntl: Node = evt.node.parent.lookup("IV1"); //Top left node
      (ntl as ImageView).viewport = Rectangle2D { height: IMAGES_WIDTH/2, width: IMAGES_WIDTH/2 };
      (evt.node.parent as Tile).hgap = 20; // Strange effect, but works
    }

  • How to get the value of String in integer type

    how to get the value of String in integer

    {color:#0000ff}http://java.sun.com/javase/6/docs/api/java/lang/Integer.html#parseInt(java.lang.String)
    http://java.sun.com/javase/6/docs/api/java/lang/Integer.html#valueOf(java.lang.String){color}

  • How to get the backup of photos from  i cloud id ?

    plz provide me the answers as soon as possible.

    BALAJI_PRASANNA wrote:
    Hello,
    I am very new to Labview. Í have an image of an LED and wanted to find the luminance value. I got the luminance image from the IMAQ ExtractSingleColorPlane but the value is not displaying. I just wanted to know how to get the value of luminance from the IMAQ ExtractSingleColorPlane. I have attached what i have done below.
    Thanks in advance.
    Before learning about LabVIEW, learn about images.  An Image (in LabVIEW) is a "representation of an image", that is, the wire itself doesn't really have a "value", but "points to" a collection of data that can be "imaged" (i.e. looked at as through it were a picture), "manipulated" (for example, extracting a color plane, basically getting the "red channel", an image looking as through it were viewed through a red filter), and possibly returning arrays of numbers representing the intensity of the light at a certain position in the picture.  
    BS

  • How to get the list of icc profile,which Photoshop loaded?

    I am developing a automation plugin,but I do not know how to get the list of icc profile,which photoshop loaded.
    I have read the log of "getter" and "Listener",and not find the way to get the list.

    Thank you for you answer.
    I find a icc profile has a "internal name" which show in the color setting menu in photoshop and a "external name" which is the file name. And the "internal name" maybe different with "external name".
    How I can get the "internal name" from the icc profile? I do not find the information in the ICC Profile Format Specification.
    Thank you very much!

  • How to get the link between mara, ausp, cawn and cawnt tables

    hello ABAPERS
    i have got a requiremet in that i have to get the relation .
    how to get the link between mara, ausp, cawn and cawnt tables and also type how can we get link between  char value and char description in cawn and cawnt tables through ausp and mara tables.
    I would be very thankful  for ur help in advance.
    Thanks & Regards.
    soni

    Hi,
    Sample report using the linkage between tables;
    report batch_char no standard page heading
                              line-size  132
                              line-count 58(1)
                              message-id mm.
           Report by Batch Characteristic                                *
    Description          : Report by Batch Characteristic                *
    Declaration for Tables
    tables: mara,    " Material Master
            mard,    " Storage Location Data for Material
            t001w,   " Plants/Branches
            t001l,   " Storage Locations
            cabn,    " Characteristics
            inob.    " Link between Internal Number and Object
    Declaration for Constants
    constants : c_klart like ausp-klart value '023',     " Class Type
                c_obtab like inob-obtab value 'MCH1',    " Database Table
                c_flag  type c          value 'X',       " Flag
                c_c23   type i          value '23',      " Ratio
    Constants for Ratio Categories
                c_13    type p decimals 2 value '13.00', " For Ratio 13
                c_1499  type p decimals 2 value '14.99', " For Ratio 14.99
                c_15    type p decimals 2 value '15.00', " For Ratio 15
                c_1699  type p decimals 2 value '16.99', " For Ratio  16.99
                c_17    type p decimals 2 value '17.00', " For Ratio 17
                c_1899  type p decimals 2 value '18.99', " For Ratio 18.99
                c_19    type p decimals 2 value '19.00', " For Ratio 19
                c_2099  type p decimals 2 value '20.99', " For Ratio 20.99
                c_21    type p decimals 2 value '21.00', " For Ratio 21
                c_2299  type p decimals 2 value '22.99', " For Ratio 22.99
                c_23    type p decimals 2 value '23.00', " For Ratio 23
                c_g23(4) type c value '>=23',            " For Ratio >=23
                c_ratio(5) value 'RATIO',                  " For Ratio
    Constants for Storing Selected item field information
                c_cursor1(15) value 'I_OUTPUT1-MEINS',   " For Selected Base
                                                         " Unit of Measure
                c_cursor2(15) value 'I_OUTPUT1-MATNR',   " For Selected Base
                                                         " Material Number
                c_cursor3(15) value 'I_OUTPUT1-MAKTX',   " For Selected Base
                                                         " Material Des.
                c_cursor4(15) value 'I_OUTPUT1-CLABS',   "For Selected Base
                                                         " Stock Value
                c_cursor5(15) value 'I_OUTPUT1-ATFLV',   " For Selected Base
                                                        " Char.Value (Ratio)
                c_cursor6(5) value 'C_G23'.
    Declaration for Global Variables
    data : g_exit  type c,                            " Flag
           g_clabs1(16) type c,                       " Quantity
           g_clabs(18)  type c,                       " Quantity
           g_cursor(15) type c,                       " Cursor field name
           g_matnr     type mara-matnr,               " Material Number
           g_werks     type mchb-werks,               " Plant
           g_atinn(30) type c.                        " Character.
    Declaration for Internal tables
    Internal table to hold Batch Stock data
    data : begin of i_mchb occurs 0,
             matnr like mchb-matnr,      " Material Number
             werks like mchb-werks,      " Plant
             lgort like mchb-lgort,      " Storage Location
             charg like mchb-charg,      " Batch Number
             clabs like mchb-clabs,      " Stock Value
             meins like mara-meins,      " Unit of measure
             atflo like ausp-atflv,      " Char.Value (Ratio)
             atflv like ausp-atflv,      " Char.Value (Ratio)
           end of i_mchb.
    Internal table to hold Secondary List data
    data : begin of i_mchb1 occurs 0,
             werks like mchb-werks,      " Plant
             matnr like mchb-matnr,      " Material Number
             lgort like mchb-lgort,      " Storage Location
             charg like mchb-charg,      " Batch Number
             atinn like ausp-atinn,      " Char.Value
             clabs like mchb-clabs,      " Stock Value
             atflo like ausp-atflv,      " Char.Value (Ratio)
             atflv like ausp-atflv,      " Char.Value (Ratio)
           end of i_mchb1.
    Internal table to get the Plant Name
    data : begin of i_plant occurs 0,
             werks like t001w-werks,     " Plant
             name1 like t001w-name1,     " Name
           end of i_plant.
    Internal table to get the Material Description
    data : begin of i_makt occurs 0,
             matnr like makt-matnr,      " Material
             maktx like makt-maktx,     " Description
           end of i_makt.
    Internal table to hold AUSP data
    data : begin of i_ausp occurs 0,
             objek like ausp-objek,      " Object No
             atinn like cabn-atinn,      " Characteric value
             atflv like ausp-atflv,      " Characteristic Value
           end of i_ausp.
    Internal table to hold output data
    data : begin of i_output occurs 0,
             atinn like cabn-atinn,      " Characteric value
             werks like mchb-werks,      " Plant
             matnr like mchb-matnr,      " Material Number
             atnam like cabn-atnam,      " Characteristic
             atflv like ausp-atflv,      " Char.Value (Ratio)
             name1 like t001w-name1,     " Plant Description
             maktx like makt-maktx,      " Material Description
             clabs like mchb-clabs,      " Stock Value
             meins like mara-meins,      " Base Unit of Measure
           end of i_output.
    Internal table to hold final Output data
    data : begin of i_output1 occurs 0,
             atinn like cabn-atinn,      " Characteric value
             werks like mchb-werks,      " Plant
             matnr like mchb-matnr,      " Material Number
             atnam like cabn-atnam,      " Characteristic
             atflv(32) type c,           " Char.Value (Ratio)
             name1 like t001w-name1,     " Plant Description
             maktx like makt-maktx,      " Material Description
             clabs like mchb-clabs,      " Stock Value
             meins like mara-meins,      " Base Unit of Measure
           end of i_output1.
           Selection screen
    selection-screen begin of block b1 with frame title text-001.
    select-options: s_werks for t001w-werks obligatory,  " Plant
                    s_lgort for t001l-lgort,             " Stor.Location
                    s_matnr for mara-matnr  obligatory,  " Material No
                    s_atinn for cabn-atinn.              " Character.
    selection-screen end of block b1.
    At selection screen
    at selection-screen.
    Validation of Selection Screen Fields
      perform validate_screen.
    Start of selection
    start-of-selection.
    Get the Material and Batch Stock data from MARA and MCHB Tables
      perform get_mat_stock_data.
    Get the Material Group Text and Plant Name from T023T and T001W Tables
      perform get_plant_grp_data.
    Append the data into final Output Internal Table after getting the
    Characteristic Values data from INOB and AUSP Tables
      perform append_final_data.
    Processing if the Characteristics contain 'RATIO'
      perform collect_ratio.
    End-of-Page
    end-of-page.
      write /1(125) sy-uline.
    End of selection
    end-of-selection.
      if g_exit <> c_flag.
    Display the Report Output data
        perform display_report.
      endif.
    Top-of-Page
    top-of-page.
    Write the Report and Column Headings
      perform get_headings.
    at line-selection
    at line-selection.
      if sy-lsind = 1.
        perform display_batch.
      endif.
    Top of page during line-selection
    top-of-page during line-selection.
      perform heading_seclist.
          Form validate_screen
    Validation of Selection Screen fields
    form validate_screen.
    Validation of Plant
      clear t001w.
      if not s_werks[] is initial.
        select werks
          into t001w-werks
          from t001w
          up to 1 rows
          where werks in s_werks.
        endselect.
        if sy-subrc <> 0.
          message e899 with 'Enter Valid Plant'(002).
        endif.
      endif.
    Validation of Material Number
      clear mara.
      if not s_matnr[] is initial.
        select matnr
          into mara-matnr
          from mara
          up to 1 rows
          where matnr in s_matnr.
        endselect.
        if sy-subrc <> 0.
          message e899 with 'Enter Valid Material'(003).
        endif.
      endif.
    Validation of Storage Location
      clear t001l.
      if not s_lgort[] is initial.
        select lgort
          into t001l-lgort
          from t001l
          up to 1 rows
          where lgort in s_lgort.
        endselect.
        if sy-subrc <> 0.
          message e899 with 'Enter Valid Storage Location'(004).
        endif.
      endif.
    Validation of Characteristic Value
      clear cabn.
      if not s_atinn[] is initial.
        select atinn
          into cabn-atinn
          from cabn
          up to 1 rows
          where atinn in s_atinn.
        endselect.
        if sy-subrc <> 0.
          message e899 with 'Enter Valid Characteristic Value'(005).
        endif.
      endif.
    Validation of Plant, Material and Storage Location
      clear mard.
      select matnr werks lgort
        into (mard-matnr, mard-werks, mard-lgort)
        from mard
        up to 1 rows
        where matnr in s_matnr and
              werks in s_werks and
              lgort in s_lgort.
      endselect.
      if sy-subrc <> 0.
        message e899 with 'No Data found for the Selection Criteria'(006).
      endif.
    endform.                          "validate_screen
    *&      Form  get_headings
    Write the Report and Column Headings
    form get_headings.
      data: l_repid type sy-repid.
      l_repid =  sy-repid.
      call function 'Y_STANDARD_HEADING'
           exporting
                repid    = l_repid
                heading1 = sy-title.
      write:/1(125) sy-uline.
      format color col_heading on.
      write : /1  sy-vline,  2(18)   'Material Number'(008) centered,
              20  sy-vline,  21(40)  'Material Description'(011) centered,
              61  sy-vline,  62(22)  'Ratio'(009) centered,
              84  sy-vline,  85(18)  'Quantity'(010) centered,
             103  sy-vline, 104(20)  'Base Unit of Measure'(015) centered,
             125  sy-vline.
      write:/1(125) sy-uline.
      format color off.
    endform.                    "get_headings
    *&      Form  get_mat_stock_data
    Get the Material and Batch Stock data from MARA and MCHB Tables
    form get_mat_stock_data.
      clear: i_mchb,i_output, i_output1.
      refresh: i_mchb,i_output, i_output1.
      select a~matnr       " Material Number
             b~werks       " Plant
             b~lgort       " Storage Location
             b~charg       " Batch Number
             b~clabs       " Stock Value
             a~meins       " Base Unit of Measure
          into table i_mchb
          from mara as a inner join mchb as b
          on amatnr eq bmatnr
          where b~matnr in s_matnr and
                b~werks in s_werks and
                b~lgort in s_lgort.
      if sy-subrc <> 0.
        g_exit = c_flag.
        message s899 with 'No Data found for the Selection Criteria'(006).
        stop.
      endif.
      sort i_mchb by matnr werks lgort charg.
    endform.                    " get_mat_stock_data
    *&      Form  get_plant_grp_data
    Get the Material Group Text and Plant Name from T023T and T001W
    form get_plant_grp_data.
      if not i_mchb[] is initial.
    Get the Plant Description from t001w Table
        clear i_plant.
        refresh i_plant.
        select werks      " Plant
               name1      " Name
          into table i_plant
          from t001w
          for all entries in i_mchb
          where werks = i_mchb-werks.
    Get the Material Description from MAKT Table
        clear i_makt.
        refresh i_makt.
        select matnr      " Material number
               maktx      " Material Description
          into table i_makt
          from makt
          for all entries in i_mchb
          where matnr = i_mchb-matnr and
                spras = sy-langu.
        sort i_plant by werks.
        delete adjacent duplicates from i_plant comparing werks.
        sort i_makt by matnr.
        delete adjacent duplicates from i_makt comparing matnr.
      endif.
    endform.                   "form get_plant_grp_data.
    *&      Form  append_final_data
    Append the data into final Internal Table
    form append_final_data.
      data : l_matbatch(28),
             l_tabix like sy-tabix.
      if not i_mchb[] is initial.
        loop at i_mchb.
          l_tabix = sy-tabix.
          clear l_matbatch.
          concatenate i_mchb-matnr i_mchb-charg into l_matbatch.
          move-corresponding i_mchb to i_output.
    Get the Plant Description from i_plant Table
            read table i_plant with key werks = i_mchb-werks binary search.
            if sy-subrc = 0.
              i_output-name1 = i_plant-name1.
            endif.
    Get the Material Description from i_makt Table
          read table i_makt with key matnr = i_mchb-matnr binary search.
          if sy-subrc = 0.
            i_output-maktx = i_makt-maktx.
          endif.
    Get the Characteristic Values data from INOB and AUSP Tables
          clear inob.
          select single cuobj from inob
              into inob-cuobj
              where klart = c_klart and
                    obtab = c_obtab and
                    objek = l_matbatch.
          if sy-subrc = 0.
            select objek
                   atinn
                   atflv
               from ausp
               into table i_ausp
               where objek = inob-cuobj and
                     atinn in s_atinn   and
                     klart = c_klart.
            sort i_ausp by objek atinn.
            loop at i_ausp.
              clear cabn.
              select single atinn atnam from cabn
                         into (cabn-atinn,cabn-atnam)
                         where atinn = i_ausp-atinn.
              if sy-subrc = 0.
    If the ratio value is between 13-14.99, display 13
                if cabn-atnam cs c_ratio.
                  if i_ausp-atflv between c_13 and c_1499.
                    i_mchb-atflo = i_ausp-atflv.
                    i_mchb-atflv = c_13.
    If the ratio value is between 15-16.99, display 15
                  elseif i_ausp-atflv between c_15 and c_1699.
                    i_mchb-atflo = i_ausp-atflv.
                    i_mchb-atflv = c_15.
    If the ratio value is between 17-18.99, display 17
                  elseif i_ausp-atflv between c_17 and c_1899.
                    i_mchb-atflo = i_ausp-atflv.
                    i_mchb-atflv = c_17.
    If the ratio value is between 19-20.99, display 19
                  elseif i_ausp-atflv between c_19 and c_2099.
                    i_mchb-atflo = i_ausp-atflv.
                    i_mchb-atflv = c_19.
    If the ratio value is between 21-22.99, display 21
                  elseif i_ausp-atflv between c_21 and c_2299.
                    i_mchb-atflo = i_ausp-atflv.
                    i_mchb-atflv = c_21.
    If the ratio value is greater than or equal to 23, display 23
                  elseif i_ausp-atflv >= c_23.
                    i_mchb-atflo = i_ausp-atflv.
                    i_mchb-atflv = c_23.
                  endif.           " Condition for RATIO values
                else.              " If characteristic does contain RATIO
                  i_mchb-atflv = i_ausp-atflv.
                endif.
                i_output-atinn = cabn-atinn.
                i_output-atnam = cabn-atnam.
                i_output-atflv = i_ausp-atflv.
                i_mchb1-matnr = i_mchb-matnr.
                i_mchb1-werks = i_mchb-werks.
                i_mchb1-lgort = i_mchb-lgort.
                i_mchb1-charg = i_mchb-charg.
                i_mchb1-clabs = i_mchb-clabs.
                i_mchb1-atinn = i_ausp-atinn.
                i_mchb1-atflo = i_mchb-atflv.
                i_mchb1-atflv = i_ausp-atflv.
                append : i_output, i_mchb1.
                clear i_mchb1.
                modify i_mchb index l_tabix transporting atflo atflv .
              endif.
            endloop.
          endif.
        endloop.
      endif.
    Checking whether the table is filled or not
      if not i_output[] is initial.
        sort i_output by atinn werks matnr atflv.
      else.
        g_exit = c_flag.
        message s899 with 'No Data found for the Selection Criteria'(006).
      endif.
    Delete the records where RATIO is less than 13.
      delete i_output where atnam cs c_ratio and atflv lt c_13.
    endform.                    "append_final_data
    *&      Form  display_report
    Display the Report Output data
    form display_report.
    data: l_tabix like sy-tabix.
      loop at i_output1.
        l_tabix = sy-tabix.
    At new Characteristic
         at new atinn.
          read table i_output1 index l_tabix.
          format color 1 intensified on.
          write: /1 sy-vline, 2(20) 'Characteristic Name:'(007),
                 23(40) i_output1-atnam,
                 125 sy-vline.
          format color off.
          format color 4 intensified on.
          write: /1 sy-vline, 2(20) 'Plant Name         :'(022),
                 23(4) i_output1-werks, 29(30) i_output1-name1,
                 125 sy-vline.
          format color off.
          write /1(125) sy-uline.
        endat.
        clear: g_clabs, g_clabs1.
        format color col_normal.
        write :/1 sy-vline,  2(18)   i_output1-matnr,
               20 sy-vline,  21(40)  i_output1-maktx,
               61 sy-vline.
        if i_output1-atflv = c_c23.
          write: 62(22)  c_g23 centered.
        else.
          shift i_output1-atflv left deleting leading space.
          write: 62(22)  i_output1-atflv centered.
        endif.
        write:  84     sy-vline,
               103     sy-vline,
               110(5)  i_output1-meins.
    If the quantity value is negative
        if i_output1-clabs ge 0.
          write: 85(18) i_output1-clabs unit i_mchb-meins,
                125     sy-vline.
        else.
          i_output1-clabs = - i_output1-clabs.
          write i_output1-clabs unit i_mchb-meins to g_clabs1.
          condense g_clabs1.
          concatenate '(' g_clabs1 ')' into g_clabs separated by space.
          write: 85(18) g_clabs right-justified,
               125 sy-vline.
        endif.
        format color off.
        hide : i_output1.
        new-line.
    At end of material
        at end of matnr.
          sum.
          move : i_output1-matnr to g_matnr.
          format color 3 intensified on.
          write /1(125) sy-uline.
          write :/1 sy-vline,  2(25) 'Total for Material      :'(012),
                 28(18) g_matnr.
          if i_output1-clabs ge 0.
            write: 85(18) i_output1-clabs  unit i_mchb-meins,
            125 sy-vline.
          else.
            i_output1-clabs = - i_output1-clabs.
            write i_output1-clabs unit i_mchb-meins to g_clabs1.
            condense g_clabs1.
            concatenate '(' g_clabs1 ')' into g_clabs separated by space.
            write: 85(18) g_clabs right-justified,
                 125 sy-vline.
          endif.
          write: 125 sy-vline.
          format color off.
          write /1(125) sy-uline.
        endat.
    At end of plant
        at end of werks.
          sum.
          move : i_output1-werks to g_werks.
          format color 3 intensified off.
          write :/1 sy-vline,  2(25) 'Total for Plant          :'(013),
                 28(4) g_werks.
          if i_output1-clabs ge 0.
            write:  85(18) i_output1-clabs  unit i_mchb-meins,
            125 sy-vline.
          else.
            i_output1-clabs = - i_output1-clabs.
            write i_output1-clabs unit i_mchb-meins to g_clabs1.
            condense g_clabs1.
            concatenate '(' g_clabs1 ')' into g_clabs separated by space.
            write: 85(18) g_clabs right-justified,
                 125 sy-vline.
          endif.
          format color off.
          write /1(125) sy-uline.
        endat.
    At end of  characteristic
        at end of atinn.
          read table i_output1 index l_tabix.
          sum.
          format color 3 intensified on.
          write :/1 sy-vline,  2(25) 'Total for Characteristic:'(014),
                 28(25) i_output1-atnam.
          if i_output1-clabs ge 0.
            write:  85(18) i_output1-clabs  unit i_mchb-meins,
            125 sy-vline.
          else.
            i_output1-clabs = - i_output1-clabs.
            write i_output1-clabs unit i_mchb-meins to g_clabs1.
            condense g_clabs1.
            concatenate '(' g_clabs1 ')' into g_clabs separated by space.
            write: 85(18) g_clabs right-justified,
                 125 sy-vline.
          endif.
          format color off.
          write /1(125) sy-uline.
        endat.
      endloop.
    endform.                    " display_report
    *&      Form  DISPLAY_BATCH
         Display the batch details for the seclected material            *
    form display_batch.
    Get the batch details for the selected material
      get cursor field g_cursor.
      if g_cursor = c_cursor1 or
         g_cursor = c_cursor2 or
         g_cursor = c_cursor3 or
         g_cursor = c_cursor4 or
         g_cursor = c_cursor5 or
         g_cursor = c_cursor6.
        format color 3.
        write: /1 sy-vline,
                2(17) 'Material Number :'(020),
               20(17) i_output1-matnr,
               94 sy-vline.
        format color off.
        write /1(94) sy-uline.
        loop at i_mchb1 where matnr = i_output1-matnr and
                              atinn = i_output1-atinn and
                              atflo = i_output1-atflv.
          format color col_normal.
          shift i_mchb1-charg left deleting leading '0'.
          write :/1 sy-vline,  2(16) i_mchb1-lgort centered,
                 18 sy-vline, 19(17) i_mchb1-charg centered,
                 36 sy-vline.
          if i_output1-atnam cs c_ratio.
            write: 37(29) i_mchb1-atflv
                           exponent 0 decimals 2 centered.
          else.
            write : 37(29) i_mchb1-atflv
                          exponent 0 decimals 0 centered.
          endif.
          write : 66 sy-vline, 67(27) i_mchb1-clabs unit i_mchb-meins,
                  94 sy-vline.
          format color off.
        endloop.
        write /1(94) sy-uline.
      else.
        message s899 with 'Invalid cursor position'(016).
        exit.
      endif.
    endform.                    " DISPLAY_BATCH
    *&      Form  HEADING_SECLIST
          Write the Column Headings for Interactive Report
    form heading_seclist.
      write /1(94) sy-uline.
      format color col_heading on.
      write :/1 sy-vline,  2(16) 'Storage Location'(021),
             18 sy-vline, 19(17) 'Batch Number'(017) centered,
             36 sy-vline, 37(29) 'Characteristic Value'(018) centered,
             66 sy-vline, 67(27) 'Quantity'(019) centered,
             94 sy-vline.
      write /1(94) sy-uline.
      format color off.
    endform.                    " HEADING_SECLIST
    *&      Form  COLLECT_RATIO
          Display the Characteristic ratio data
    form collect_ratio.
      loop at i_output.
        clear g_atinn.
        i_output1-atinn = i_output-atinn.
        i_output1-atnam = i_output-atnam .
        i_output1-werks = i_output-werks.
        i_output1-name1 = i_output-name1.
        i_output1-matnr = i_output-matnr.
        i_output1-maktx = i_output-maktx.
        i_output1-clabs = i_output-clabs.
        i_output1-meins = i_output-meins.
        call function 'CONVERSION_EXIT_ATINN_OUTPUT'
             exporting
                  input  = i_output-atinn
             importing
                  output = g_atinn.
        if g_atinn cs c_ratio.
    If the ratio value is between 13-14.99, display 13
          if i_output-atflv between c_13 and c_1499.
            i_output1-atflv = c_13.
    If the ratio value is between 15-16.99, display 15
          elseif i_output-atflv between c_15 and c_1699.
            i_output1-atflv = c_15.
    If the ratio value is between 17-18.99, display 17
          elseif i_output-atflv between c_17 and c_1899.
            i_output1-atflv = c_17.
    If the ratio value is between 19-20.99, display 19
          elseif i_output-atflv between c_19 and c_2099.
            i_output1-atflv = c_19.
    If the ratio value is between 21-22.99, display 21
          elseif i_output-atflv between c_21 and c_2299.
            i_output1-atflv = c_21.
    If the ratio value is greater than or equal to 23, display 23
          elseif i_output-atflv >= c_23.
            i_output1-atflv = c_23.
          endif.
          write i_output1-atflv to i_output1-atflv .
        else.
          write i_output-atflv to i_output1-atflv exponent 0 decimals 0.
        endif.
        collect i_output1.
        clear   i_output1.
      endloop.
      sort i_output1 by atinn werks matnr atflv.
    endform.                    " COLLECT_RATIO
    Reward if useful..
    Regards,
    Anji

Maybe you are looking for