I want to get total to state wise

Hi ,
i am geting total of tax to ALL jusdiction codes of all states .but i want total tax to indiviual state.
can any body tell .
what is the logic ,i have to use...
thanks,
aravind.

Hi,
you have to use control break statements.
check this sample prog and work out similarly
tables:mara.
select-options:s_matnr for mara-matnr.
data:begin of itab occurs 0,
matnr like mara-matnr,
mtart like mara-mtart,
ntgew like mara-ntgew,
end of itab.
data:v_ntgew like mara-ntgew.
select matnr mtart ntgew
from mara
into table itab
where matnr in s_matnr.
<< sorting the table by material type and for every material type,i am summing the net weight>>
sort itab by mtart.
loop at itab.
at new mtart.
clear v_ntgew.
endat.
write:/ itab-matnr,itab-mtart,itab-ntgew.
v_ntgew = v_ntgew + itab-ntgew .
at end of mtart. 
write:/50 v_ntgew.
endat.
endloop.
Regrds,
Sowjanya.

Similar Messages

  • SSRS - how to get total by state

    Hi, I have a tablix that has employee info listed by state it also has there salary. I am grouped on the state and on the employee and I have totals for the salary at the bottom of the tablix. Now I need to somehow get the total salary by state. How can
    I do that?

    Hi rqwew,
    Just as Visakh and Ione suggested, we always use the steps below to add totals for a group:
    In the tablix data region row (column) group area, right-click a cell in the row (column) group area for which you want totals.
    Point to Add Total, and then click Before or After.
    Then a new row (column) outside the current group is added to the data region, and then a default total is added for each numeric field in the row (column). For more details, please see:
    http://technet.microsoft.com/en-us/library/dd239342.aspx
    If this issue is still existed, please post the screenshots about your current situation and the expected result. Then we can make further analysis.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Reg: i want to get total qty of partculary month

    Hi All,
    i have developed a report
    the output fields are material,plant and qty.
    my requirment is for that material and plant what is the total qty in that month
    who to sum the qty?
    example is
    material       plant      qty
    10000023    4210       1
    10000023    4210       2
    10000023    4210       3
    But i want get like this
    material       plant      qty
    10000023    4210      6
    please can you help
    thanks
    kavi

    Try this sample code..
          Sort I_ZQMBW_FUJ_VENDQFR by MATNR PLANT
          LOOP AT I_ZQMBW_FUJ_VENDQFR INTO WA_DATA.
            AT END OF MATNR.
              LOOP AT I_ZQMBW_FUJ_VENDQFR INTO WA_DATA WHERE LIFNR = WA_DATA-MATNR.
                V_COUNT = V_COUNT + 1.
                AT END OF PLANT.
                  WA_DATA-TOTAL_QFR = V_COUNT.
                  MODIFY I_ZQMBW_FUJ_VENDQFR FROM WA_DATA  TRANSPORTING TOTAL_QFR   
                                                                    WHERE MATNR = WA_DATA-MATNR
                                                                       AND   MTH = WA_DATA-MTH.
                  CLEAR V_COUNT.
                ENDAT.
              ENDLOOP.
            ENDAT.
          ENDLOOP.
    Hope this helps...

  • How to get total ?

    Hello  friends,
    I have one internal table which contains following reords
    MATNR  WERKS   STLNR       IDNRK    MENGE
    97131     TX02       00000522    99208A    16.000
    97131     TX02       00000523    99208A    16.000
    97141     TX02       00000570    99207A     6.000
    97141     TX02       00000570    99207A    10.000
    97141     TX02       00000570    99207A     4.000
    I want to get total of MENGE for same MATNR, WERKS,STLNR and IDNRK. and append in to the another table.
    So above result will be
    97131     TX02       00000522    99208A    16.000
    97131     TX02       00000523    99208A    16.000
    97141     TX02       00000570    99207A    20.000
    Please give me example.
    Regards,
    Ronny

    Hi Ronny Hanks,
    Insted of Append you need to write Collect.
    See this example program for collect statement.
    DATA: BEGIN OF LINE,
            COL1(3) TYPE C,
            COL2(2) TYPE N,
            COL3    TYPE I,
          END OF LINE.
    DATA ITAB LIKE SORTED TABLE OF LINE
              WITH NON-UNIQUE KEY COL1 COL2.
    LINE-COL1 = 'abc'. LINE-COL2 = '12'. LINE-COL3 = 3.
    COLLECT LINE INTO ITAB.
    WRITE / SY-TABIX.
    LINE-COL1 = 'def'. LINE-COL2 = '34'. LINE-COL3 = 5.
    COLLECT LINE INTO ITAB.
    WRITE / SY-TABIX.
    LINE-COL1 = 'abc'. LINE-COL2 = '12'. LINE-COL3 = 7.
    COLLECT LINE INTO ITAB.
    WRITE / SY-TABIX.
    LOOP AT ITAB INTO LINE.
      WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
    ENDLOOP.
    <REMOVED BY MODERATOR>
    Mahi.
    Edited by: Alvaro Tejada Galindo on Feb 18, 2008 9:39 AM

  • How to get total in ALV report in same Internal table?

    Data : Begin of it_data,
            kunnr type kunnr,
            name1 type name1,
            amt1  type btrt01, " CURR 15,2
           end of it_data.
    loop at it_data into wa_data
    endloop.      
    Hello friends,
    I am developing one ALV report with 20 rows.
    I have filled one internal table with some fileds like amount.
    I want to get total of all amount1 in AMT1 field.
    So, How to get total of amount in same internal table in ALV report ?
    It is ok if i get duplicate rows in internal table.
    Points 'll be awarded soon.
    Regards,
    NVM

    Hi Ronny,
    the alv output will display the sum at the last row.
    for this functionality u have do this logic.
    data: lw_fcat type slis_fieldcat_alv.
    data: lt_fcat type slis_t_fieldcat_alv/
    wa_fcat-fieldname = 'AMT1'.
    wa_fcat-tabname = 'ITAB'.
    wa_fcat-do_sum = 'X'.
    append wa_fcat to lt_fcat.
    and then pass it to reuse_alv_grid_display function,
    regards,
    Santosh Thorat

  • Get total in ALV report

    Data : Begin of it_data,
    kunnr type kunnr,
    name1 type name1,
    amt1 type btrt01, " CURR 15,2
    end of it_data.
    loop at it_data into wa_data
    endloop.
    Hello friends,
    I am developing one ALV report with 20 rows.
    I have filled one internal table with some fileds like amount.
    I want to get total of all amount1 in AMT1 field.
    So, How to get total of amount in same internal table in ALV report ?
    It is ok if i get duplicate rows in internal table.
    note : i need not data in field catlog
    Points 'll be awarded soon.
    Regards,

    Hai,
    While Defining Field Catalog,Specify do_sum = 'X' for the field which you want the Total.Before that u have to sort that Values.
    JUST CHECK THIS SAMPLE PROG
    TABLES : STKO,STPO,MAKT,MAST.
    TYPE-POOLS : SLIS.
    DATA : BEGIN OF ISTKO OCCURS 0,
    STLNR LIKE STKO-STLNR,
    DATUV LIKE STKO-DATUV,
    MATNR LIKE MAST-MATNR,
    BMENG LIKE STKO-BMENG,
    BMEIN LIKE STKO-BMEIN,
    END OF ISTKO.
    DATA : BEGIN OF ISTPO OCCURS 0,
    STLNR LIKE STPO-STLNR,
    IDNRK LIKE STPO-IDNRK,
    MENGE LIKE STPO-MENGE,
    MEINS LIKE STPO-MEINS,
    MAKTX LIKE MAKT-MAKTX,
    END OF ISTPO.
    DATA : BEGIN OF IMAKT OCCURS 0,
    MATNR LIKE MAKT-MATNR,
    MAKTX LIKE MAKT-MAKTX,
    END OF IMAKT.
    DATA : BEGIN OF IMAST OCCURS 0,
    MATNR LIKE MAST-MATNR,
    STLNR LIKE MAST-STLNR,
    END OF IMAST.
    DATA : IFIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    WFIELDCAT TYPE SLIS_FIELDCAT_ALV,
    ILAYOUT TYPE SLIS_LAYOUT_ALV,
    IKEYINFO TYPE SLIS_KEYINFO_ALV,
    IEVENT TYPE SLIS_T_EVENT,
    WEVENT TYPE SLIS_ALV_EVENT,
    ISORT TYPE SLIS_T_SORTINFO_ALV,
    WSORT TYPE SLIS_SORTINFO_ALV.
    PARAMETERS : P_NUM TYPE I DEFAULT 10.
    START-OF-SELECTION.
    PERFORM GETDATA.
    PERFORM GETHEADERMAT.
    PERFORM GET_MAT_DESC.
    PERFORM BUILD_FCAT_HEAD.
    PERFORM BUILD_FCAT_ITEM.
    PERFORM BUILD_KEYINFO.
    PERFORM BUILD_EVENT_TAB.
    PERFORM BUILD_SORT_TAB.
    PERFORM BUILD_LAYOUT.
    PERFORM DISPLAY_DATA.
    *& Form GETDATA
    text
    --> p1 text
    <-- p2 text
    FORM GETDATA .
    SELECT STLNR DATUV BMENG BMEIN INTO CORRESPONDING FIELDS OF TABLE ISTKO
    FROM STKO UP TO P_NUM ROWS.
    IF NOT ISTKO[] IS INITIAL.
    SELECT STLNR IDNRK MENGE MEINS INTO TABLE ISTPO FROM STPO FOR ALL ENTRIES IN ISTKO
    WHERE STLNR = ISTKO-STLNR AND POSTP = 'L'.
    ENDIF.
    ENDFORM. " GETDATA
    *& Form BUILD_FCAT_HEAD
    text
    --> p1 text
    <-- p2 text
    FORM BUILD_FCAT_HEAD .
    WFIELDCAT-TABNAME = 'ISTKO'.
    WFIELDCAT-FIELDNAME = 'STLNR'.
    WFIELDCAT-SELTEXT_L = 'BOM no'.
    WFIELDCAT-OUTPUTLEN = 15.
    APPEND WFIELDCAT TO IFIELDCAT.
    CLEAR WFIELDCAT.
    WFIELDCAT-TABNAME = 'ISTKO'.
    WFIELDCAT-FIELDNAME = 'DATUV'.
    WFIELDCAT-SELTEXT_L = 'BOM date'.
    WFIELDCAT-OUTPUTLEN = 15.
    APPEND WFIELDCAT TO IFIELDCAT.
    CLEAR WFIELDCAT.
    WFIELDCAT-TABNAME = 'ISTKO'.
    WFIELDCAT-FIELDNAME = 'MATNR'.
    WFIELDCAT-SELTEXT_L = 'Header mat no'.
    WFIELDCAT-OUTPUTLEN = 18.
    APPEND WFIELDCAT TO IFIELDCAT.
    CLEAR WFIELDCAT.
    WFIELDCAT-TABNAME = 'ISTKO'.
    WFIELDCAT-FIELDNAME = 'BMENG'.
    WFIELDCAT-SELTEXT_L = 'Base qty'.
    WFIELDCAT-OUTPUTLEN = 15.
    APPEND WFIELDCAT TO IFIELDCAT.
    CLEAR WFIELDCAT.
    WFIELDCAT-TABNAME = 'ISTKO'.
    WFIELDCAT-FIELDNAME = 'BMEIN'.
    WFIELDCAT-SELTEXT_L = 'UOM'.
    WFIELDCAT-OUTPUTLEN = 3.
    APPEND WFIELDCAT TO IFIELDCAT.
    CLEAR WFIELDCAT.
    ENDFORM. " BUILD_FCAT_HEAD
    *& Form BUILD_FCAT_ITEM
    text
    --> p1 text
    <-- p2 text
    FORM BUILD_FCAT_ITEM .
    WFIELDCAT-TABNAME = 'ISTPO'.
    WFIELDCAT-FIELDNAME = 'STLNR'.
    WFIELDCAT-SELTEXT_L = 'BOM no'.
    WFIELDCAT-NO_OUT = 'X'.
    *WFIELDCAT-HOTSPOT = 'X'.
    WFIELDCAT-OUTPUTLEN = 10.
    APPEND WFIELDCAT TO IFIELDCAT.
    CLEAR WFIELDCAT.
    WFIELDCAT-TABNAME = 'ISTPO'.
    WFIELDCAT-FIELDNAME = 'IDNRK'.
    WFIELDCAT-SELTEXT_L = 'Material no'.
    *WFIELDCAT-HOTSPOT = 'X'.
    WFIELDCAT-OUTPUTLEN = 18.
    APPEND WFIELDCAT TO IFIELDCAT.
    CLEAR WFIELDCAT.
    WFIELDCAT-TABNAME = 'ISTPO'.
    WFIELDCAT-FIELDNAME = 'MAKTX'.
    WFIELDCAT-SELTEXT_L = 'Material desc'.
    WFIELDCAT-JUST = 'C'.
    WFIELDCAT-OUTPUTLEN = 30.
    APPEND WFIELDCAT TO IFIELDCAT.
    CLEAR WFIELDCAT.
    WFIELDCAT-TABNAME = 'ISTPO'.
    WFIELDCAT-FIELDNAME = 'MENGE'.
    WFIELDCAT-SELTEXT_L = 'Item qty'.
    WFIELDCAT-OUTPUTLEN = 15.
    WFIELDCAT-DO_SUM = 'X'.
    APPEND WFIELDCAT TO IFIELDCAT.
    CLEAR WFIELDCAT.
    WFIELDCAT-TABNAME = 'ISTPO'.
    WFIELDCAT-FIELDNAME = 'MEINS'.
    WFIELDCAT-SELTEXT_L = 'UOM'.
    WFIELDCAT-OUTPUTLEN = 3.
    APPEND WFIELDCAT TO IFIELDCAT.
    CLEAR WFIELDCAT.
    ENDFORM. " BUILD_FCAT_ITEM
    *& Form BUILD_KEYINFO
    text
    --> p1 text
    <-- p2 text
    FORM BUILD_KEYINFO .
    IKEYINFO-HEADER01 = 'STLNR'.
    IKEYINFO-ITEM01 = 'STLNR'.
    ENDFORM. " BUILD_KEYINFO
    *& Form DISPLAY_DATA
    text
    --> p1 text
    <-- p2 text
    FORM DISPLAY_DATA .
    CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_CALLBACK_PROGRAM = SY-REPID
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = 'USER_COM'
    IS_LAYOUT = ILAYOUT
    IT_FIELDCAT = IFIELDCAT[]
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
    IT_SORT = ISORT
    IT_FILTER =
    IS_SEL_HIDE =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    I_DEFAULT = 'X'
    I_SAVE = ' '
    IS_VARIANT =
    IT_EVENTS = IEVENT[]
    IT_EVENT_EXIT =
    I_TABNAME_HEADER = 'ISTKO'
    I_TABNAME_ITEM = 'ISTPO'
    I_STRUCTURE_NAME_HEADER =
    I_STRUCTURE_NAME_ITEM =
    IS_KEYINFO = IKEYINFO
    IS_PRINT =
    IS_REPREP_ID =
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE =
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB_HEADER = ISTKO
    T_OUTTAB_ITEM = ISTPO
    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. " DISPLAY_DATA
    *& Form GET_MAT_DESC
    text
    --> p1 text
    <-- p2 text
    FORM GET_MAT_DESC .
    IF NOT ISTPO[] IS INITIAL.
    SELECT MATNR MAKTX INTO TABLE IMAKT FROM MAKT FOR ALL ENTRIES IN ISTPO
    WHERE MATNR = ISTPO-IDNRK.
    ENDIF.
    LOOP AT ISTPO.
    READ TABLE IMAKT WITH KEY MATNR = ISTPO-IDNRK.
    IF SY-SUBRC = 0.
    ISTPO-MAKTX = IMAKT-MAKTX.
    ENDIF.
    MODIFY ISTPO.
    ENDLOOP.
    ENDFORM. " GET_MAT_DESC
    *& Form BUILD_LAYOUT
    text
    --> p1 text
    <-- p2 text
    FORM BUILD_LAYOUT .
    ILAYOUT-ZEBRA = 'X'.
    ILAYOUT-COLWIDTH_OPTIMIZE = 'X'.
    ENDFORM. " BUILD_LAYOUT
    *FORM USER_COM USING PUCOM LIKE SY-UCOMM PSELFIELD TYPE SLIS_SELFIELD.
    *CASE PUCOM.
    *WHEN '&IC1'.
    SET PARAMETER ID 'MAT' FIELD PSELFIELD-VALUE.
    CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
    *ENDCASE.
    *ENDFORM.
    *& Form BUILD_EVENT_TAB
    text
    --> p1 text
    <-- p2 text
    FORM BUILD_EVENT_TAB .
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    I_LIST_TYPE = 0
    IMPORTING
    ET_EVENTS = IEVENT
    EXCEPTIONS
    LIST_TYPE_WRONG = 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.
    READ TABLE IEVENT INTO WEVENT WITH KEY NAME = 'TOP_OF_PAGE'.
    IF SY-SUBRC = 0.
    WEVENT-FORM = 'TOPOFPAGE'.
    MODIFY IEVENT FROM WEVENT INDEX SY-TABIX.
    ENDIF.
    ENDFORM. " BUILD_EVENT_TAB
    *& Form TOPOFPAGE
    text
    FORM TOPOFPAGE.
    DATA : ILISTHEAD TYPE SLIS_T_LISTHEADER,
    WLISTHEAD TYPE SLIS_LISTHEADER.
    WLISTHEAD-INFO = 'Its a test hierarchical sequential alv dispaly'.
    WLISTHEAD-TYP = 'H'.
    APPEND WLISTHEAD TO ILISTHEAD.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    IT_LIST_COMMENTARY = ILISTHEAD
    I_LOGO = ''
    I_END_OF_LIST_GRID =
    ENDFORM.
    *& Form GETHEADERMAT
    text
    --> p1 text
    <-- p2 text
    FORM GETHEADERMAT .
    IF NOT ISTKO[] IS INITIAL.
    SELECT MATNR STLNR INTO TABLE IMAST FROM MAST FOR ALL ENTRIES IN ISTKO
    WHERE STLNR = ISTKO-STLNR.
    ENDIF.
    LOOP AT ISTKO.
    READ TABLE IMAST WITH KEY STLNR = ISTKO-STLNR.
    IF SY-SUBRC = 0.
    ISTKO-MATNR = IMAST-MATNR.
    ENDIF.
    MODIFY ISTKO.
    ENDLOOP.
    ENDFORM. " GETHEADERMAT
    *& Form BUILD_SORT_TAB
    text
    --> p1 text
    <-- p2 text
    FORM BUILD_SORT_TAB .
    WSORT-FIELDNAME = 'STLNR'.
    WSORT-TABNAME = 'ISTPO'.
    WSORT-UP = 'X'.
    WSORT-SUBTOT = 'X'.
    WSORT-GROUP = 'UL'.
    APPEND WSORT TO ISORT.
    ENDFORM. " BUILD_SORT_TAB

  • Want to get my new HP-ENVY-k073 Back to Clean PC State

    I don't like Windows, except for Win2kPro, and the more they change it, the less I like it.  When I first got this laptop, which is last week, it drove me crazy with the rapid shifts from one view to another, and it is a hard drive hog, so I decided to replace it with Ubuntu 14.04, which being a variation on Linux, is completely free.  I use it sucessfully on my older but less capable laptop and desktop.  So I booted from an external usb DVD/CD drive to a LiveCD (actually a LiveDVD) image I had downloaded and burned to a DVD, and got Ubuntu installed in place of Windows 8.1.  I was able to boot up and run Ubuntu fine. But then I needed to copy a usb HDD drive's contents to the new laptop's HDD so as to free up the usb HDD to allow me to reformat it as an ext4 drive, and replace the corrupted NTFS file system on it.  The only tool that would tackle the NTFS drive was chkdsk.exe, and I had to run that off my wife's laptop with Win7 on it.   Win8.1 proved too difficult to work with, which is why I gave up on trying to run chkdsk.exe from it when I first got the new laptop.  Chkdsk.exe "fixed" some file and folder issues, but finally failed when it ran out of clusters to remap the drive's contents to.  At least it appeared to give me back access to the dtored folders and files there, but appearances can be misleading.  There was a lot of cross-threading there that spoiled things going forward. So, using a terminal in Ubuntu on the new laptop, I made some command line entries:     mkdir ~/tmpdrive:    sudo cp -rfp /media/oldefoxx/My\ Passport/* ~/tmpdrive/ The My\ Passport drive had already been mounted by clicking on it under Places in the GUI.  So it started copying all the folders and files from the "My Passport" (usb HDD ) to the new /home/oldefoxx/tmpdrive folder, a process that would take hours.  So I set it aside and went on to other things with my older laptop.  And then I slept. The sudo statement?  Gave me super-user powers for that one command.  Dealt with any folders and files that I, oldefoxx, might not have access to otherwise. The cp command?  Unix shorthand for the word "copy".  I could have used mv ("move") in its place, but I allow for human error and leave the original in its place for later efforts in case something goes wrong. The -rfp flags on the cp command?  r means reiterate (repeat) for each subfolder and file found within.  f means force the replacement of any filder or file that has the same name on the destination end.  p means preserve the owner/group/user flagged bits associated with the different folders and files being dealt with. Otherwise, everything gets reflagged as being "root" (what my temporary super-user status marks me as). On reviving the darkened screen (happens after a certain timeout period), I was unpleasently surprized to see I had completely run out of hard drive space on my new laptop, so the copy over was incomplete.  Run out of hard drive space?  No way!.  I had a bit over 620GB of contents on that usb HDD, and way more than that on my new laptop!  What went wrong?  Two things: (1)  Unfortunately, instead of just manually deleting and recreating my new ext4 and swap partitions, I had left it to the installer to do it for me, and with Ubuntu 14.04, it now recommends using a LV approach, which is suppose to simplify future partitions moves and relocations.  So I allowed this, and that made the new format more bulky than I had allowed for.  I won't make that mistake again. (2)  The real space eater though turned out to be that chkdsk.exe had cross-threaded files and folders among each other, so that both folders and files were showing up all over the map of the usb HDD drive.  The total apparent drive space required to hold all these as separate entities must have been not only gigantic (multi-Gs) but possibly tremendous (into the T's).    No wonder I had not only run out of destination drive space, but had reaced zero bytes left. I had access to Ubuntu's GUI still,  but with no drive space left, there was nothing I could do.   To see if it would help, I decided to first do a reboot.  Ubuntu came up, but gave me no login screen.  So I decided to reboot to a LiveCD.  But that didn't work, because the LiveCD has to build some temporary map structures somewhere, and apparently instead of using a temporary RAM (Random Access Memory) structure in memory, it must go to the internal hard drive, which at this point is so full that it won't permit this.  So the LiveCD approach failed.  I decided to just try and recover part of what I had had already copied over later, and just go ahead and wipe the My Passport drive of its contents and use my older laptop to run LiveCD and install Ubuntu to it, along with a complete reformat of the drive as ext4.  I did that, but this effort was flawed in two respects: (1)  I got the install done okay, but the install made the usb HDD the primary boot drive for GRUB2, while GRUB2 did not allow for the fact that a usb HDD is non-permanent.  My old laptop lost the ability to boot when the usb HDD drive was not connected, and the usb HDD drive did not have GROB2 on it to serve as a stand-alone bootable device.  I had to use two new sets of terminal commands to take carfe of this.  With the usb HDD drive attached, I booted up on my old laptop,and did this in the terminal window:    sudo grub-install /dev/sda    sudo update-grub    sudo grub-install /dev/sdb    sudo update-grub That took care of it.  With or without my usb HDD being attached to my old laptop, it is now bootable.  the /dev/sda is how my first internal hard drive is identified.  Since I only have one internal drive, my usb HDD drive becomes the next lettered drive, or /dev/sdb.  Haf I two internal drives, it would be /dev/sdc, and so on.  In Unix and Linux, drives are treated as folders under the /dev folder (dev being shorthand for devices).  When a user mounts a device, it is added to the mounted devices list kept under /media/[username] folder.  When a user is created, they get a new folder under /home and a new one under /media (in earlier times, they used /mnt instead of /media, and mnt stands for mount). There is a file named /etc/fstab that identifies what devices are mounted sutomatically whenever the system boots up.As super-user, you can make changes to this table file, but screw up, and you can make your system unbootable. All this seems aside from the point of this post.  At some point, my new HP ENVY 17-k073 became unbootable.  I can't get to it any more, though I;ve tried F9 (select boot device), F10 *BIOS Setup), ESC, and every other function key to try and make progress.  EXC brings up a mini-grub, but I don;t know how to use it.  I can type in help but the list seems endless, and I can't see most od it before it goes off screen.  Working with the part I can see, I can see what a few commands say, but in most cases I don;t have enough insight to know what parameter(s) to supply.  It does tell me that hd0 (hdo,msdos) has errors, but so apparently do the internal and usb CD drives.  If I want to do a boot, I have to load the kernel first, but it doesn't tell me how to load the kernel.  There is a lot I am missing here, and this might be the one tool at my disposal to deal with it, and I don't know how. Under F9, of devices I can pick from, is listed my old My Passport designation, but that's no longer available.  I see no way to add usb-ext4 as a choice to this brief list.  None of the choices shown are bringing my new laptop to life again.  The one I really haven't explored at length involves the internal CD-ROM drive, for two reasons:  (1)  It is extremely difficult to get the drive tray to extend.  Probably the flimiest thing on this Laptop, aside from getting the battery pack to properly latch in and not drop out.  (2)  When I could get the tray to extend and put a LiveCD in it, the PC refused to boot from it.  I' can use this LiveCD elsewhere and it does it's thing, but on this laptop, it won't.  I've tried other LiveCDs with no better success.  But it did finally read from the usb DVD/CD RW frive for my initial install of Ubuntu.  I wonder id I have a bad DVD/CD RW drive in this thing?  What can I do about that?  I've only had this HP EMVY 17-K073 drive three days now, taking delivery on this last Thursday, and it is now only Sunday. Anyway, I'm in a tight spot here, and want to get back to one of a few possible states here.  The first one is my first choice: (1) Be able to boot from my usb-connected usb-ext4 HDD so that I can recover my transferred folders and files from the crammed-full 17-K073 drive first. (2)  Be able to reboot from my externally-connected DVD/CD RW drive so that I can reattempt a complete reinstall of Ubuntu, even though this means losing my hord of stored folders and files in the process. (3)               

    I appreciate the thought.  But as you say, that means getting into the guts of the laptop, and that should not be necessary.  No, the real trick is to get the PC back into boot form somehow. I spent quite a bit of time on a support chat session last night, and though reluctant to help me at first (I had wiped out Windows 8.1, and they were disinclined to deal with a 3rd party OS), I convenced them it was now a hardware issue.  That is, how to get the PD to recognize one of three boot sources if it was not going to boot up to the internal hard drive.  It had to be something related to using F9 and/or F10 function keys.  So we went through some of the functions of the function keys during the black screen phase of the boot process.  I found out that F1 gives you information about this particular laptop, including the derial number, that F2 allows me to test memory, check the hard drive, or pick a different language. F9 lets you select a specific device to use during bootup.  The oriblem was, F9 was showing the usb hdd selection as being specific to my wd (Western Digital) My Passport 0748 drive, and it now had a different name and assigned UUID due to having been reformatted from NTFS to ext4.  I had to get rid of that specific drive reference, and F9 gave me no way to do it.  It had to be somewhere in the Systems Settings, which are accessed via the F10 key.  But I had already looked at the boot device order in the Systems Settings, and it was okay, and tried both with and without the legacy boot option.  Still no go.  Support gave me a few more ideas to try, but it was real late, I was tired, so I elected just to use F3 and text the built-in SSHD during my rest period (SSHD stands for Solid State Hard Drive, which is an excellent feature of this laptop, as mechanical hard drives wear out and develop problems over time). So when I woke up today, I hoped the changes made earlier would help.  They didn't.  I turned Legacy support back on, and tried to get the LiveCD to load properly from thr internal DVD/CD drive.  This time it worked.  I'm up running on the LiveCD, and tried an install, but somehow that got hung, so I just rebooted back to the LiveCD and went into Try mode, which is much like the real thing, but mostly isolated from the existing hard drives.  I had to figure out how to look for any existing files on my internal HDD so that I could copy them back to the reformatted My Passport drive, now renamed usb-ext4.   The search for existing hard drives under Ubuntu begins under /dev,  but the LiveCD treats the devices there somewhat differently than normal.  It adds a subfolder /mapper in which it keeps files that somehow manage the process, and I don;t have a clue as to how to use those files myself. But I know Ubuntu well enough to know that there is a folder named /media under which a logged in user appears by name, and when I checked with a "dir /media/" command, the LiveCd had me down as being "ubuntu".  That was my username when using the LiveCD.  When I did a "dir /media/ubuntu/", I saw four listings.  Two were HDDs that were being identified via their UUIDs, so had about 16 mixed characters that uniquely identify each.  And I had cdrom and usr-ext4. I did a change directory to the first long UUID name by typing in "cd /media/ubuntu/" then doing a screen copy-and-paste to put one of the UUIDs after the last slash ("/").  In terminal mode, copy-and-paste are slightly different than found in similar operations else where.  First, what gets copued has to be highlighted with the mouse and left button held down.  When you have the exact area you want to go to the clipboard highlighted, you hold down the Ctrl+Shft keys together and press the "C" key.  Now it is in the clipboard.  Then you use Ctrl+Shft again and press the "V" key.  The copied text in the clipboard is then copied to the place on the command line where the cursor sits.   Press Enter, and you have changed directories to that point.  A '"dir" commanf now shows you the contents of the root folder on that drive.  The contents of the first drive were not what I needed, so I repeated this process to get to the root of the 2nd HDD.  This had the recognizable folders for Ubuntu in it, so this was the drive I had installed Ubuntu to, and I then used a repeat of the "dir" and "cd" commands ro walk up the home > username > foldersought > folderfilestore, where rhe username, foldersought, filderfilestore are simply representing the actual names used. When I got to folderfilestore, I was refused oermisson to enter.  This happened in the GUI as well.  Well, where the users may be balked, root or super-user have no problem.  LiveCD does not permit you to log in as root, but in Terminal mode, you can become super-user by typing in :sudo -s" or "sudo su" and pressing Enter.  From the LiveCD, you don;t even have to enter a password.  I mean you are just there.  To avoid further folder and file disputes over priveleges, I used the following command:  "chown -R nobody:nogroup " and stuck the name of the folderfile store on the end.  In a few moments, that folder and everything it contained had all priveleges revoked.  Now I could selectively go through this folder from the GUI and eliminate needless or unwanted folders and files, while merging the remaining on the separate storage partition I had previously formatted on the externally connected HDD that had been My Passport. Why am I going into such detail?  Because this is what you can do with a LiveCD of any distro of Linux, and you can do it all with free software that you download off the internet.  I just prefer Ubuntu, because it is widely supported and most like Windows in terms of its Gnome or KDE GUIs.  That means less relearning.  Anf the magic that Linux is, is (1) Better, faster, smaller than Windows,  (2) Completely free,  (3) able to work with Microsoft volume and file formats so you don't lose everything you already have, and (4)  Even run some MSDOS and Windows programs via an add-in named Wine, which is also free.  You can get recovery disks for Windows, but I find having a LiveCD another effective way to deal with lots of problems.  Like now, I am using it to work around a crammed hard drive problem so that I can reformat the internal drive, reinstall Ubuntu from the same LiveCD, and keep on going.  I can reinstall from a Live CD without disturbing my existing account or the files already there.  Or I can take over the whole drive and erase everything on it.  Or I can install Ubuntu along side the existing operating system (no me though.  I have no use or regard for any Windows version pass XP).  Or you can install Ubuntu to run as a client of Windows (some like it this way).  Or you can install a VM in your existing OS and install Ubuntu in a Virtual Machine client, which isolates it pretty well from the external world. To a lot of people, Windows is it.  You need go no further, except to buy the next major release coming out of Microsoft.  The biggest part of MS' profits is not enhancing existing Windows, but coming up with something a bit newer, better, or offering more features than is already on the streeets in the form of an earlier version of windows.  That is profiting off ofr having created a large worldwide dependency on Windows, and just catering to people's desire to do more and more things, like fingerprint recognition, touchscreen, webcam, and playing DVDs on your PC instead of via a player attached to your TV.  You can even attach your PC to the TV via a an HDML port to turn your PC into a media center.  I mean this is all do-able, but why would you want to?   What you are really buying into is the idea that the PC can do anything, but it takes Windows to make it happen.  So you have to buy newer, faster, bigger PCs as Windows gets bigger, more bloated, and more demanding on storage space and required memory. If I buy a PC, (and this new laptop qualifies), I don't pay attention to whether it comes with Eindows 7 Pro, Windows 8, 8,2, or 8.3.  I'm going to trash all that anyway.  And MS' enticement, that I can have a free upgrade to Windows 10 is not something I need to hear.  The ubuntu (and other Linux distros) community is worldwide and people help each other through forums.  Support for Windows is not so lavished, and while some of it is free to visit and download from, you find that technical support is of the pay-extra kind or of the as covered by the warrantee nature. I won't close this thread yet.  I'm at the start of a lengthy copy-reformat-reinstall-recopy effort, and just because I can boot up from a LiveCD and do some of it does not mean that I will find the PC able to boot from the internal drive when the reinstall is complete.  Until then, it is a play it by ear effort still.  

  • Can I reload a totally "clean" version with nothing brought forward from the past. I was hacked and don't want to get Vorstan automatically on my system? Thanks

    I got infected with Vorstran (or Vorstan?) many months ago. I'd love to reload Firefox now that I have everything straightened out on my computer, but in the past when I had to reload Firefox, all my old book marks, came back. (They must be saved to load for me the next time I heed to reload??) Not wanting to get Vorstran back on a reload, I have hesitated to try to reload as when it comes in, it infects all browsers, overwrites my backups and generally locks itself in the system Can I get a totally clean version of Firefox to load to completely start over?? I don't want to bring anything forward from the past at all. No book marks, favorites, folders, nothing. Can that be done somehow so I can finally again use my favorite browser? My old email that is now closed, was "[email protected]". I had to change it to the current one "[email protected]" How would I go about getting a totally clean version of firefox? Thanks
    Dennis Bloomquist
    <sub>edit: removed personal information for your protection. (philipp)</sub>

    Hi
    if you are absolutely, 100%, completely certain that you want to start from scratch (after having made sure that your system is clean of the malware);
    To completely remove your old profile, you must manually delete the Firefox folder;
    # Click the Windows Start button, and select Run….
    # Type in %APPDATA% in the Run prompt then click OK.
    # Open the Mozilla folder.
    # Delete the Firefox folder.
    Next, install a clean copy of Firefox from ([https://www.mozilla.org/en-GB/firefox/new/ link]).
    Welcome back, we've missed you.

  • I bought an iphone 4, but then exchanged it for a 4s. When they exchanged it they put the refund of the 4 onto a gift card and then i payed the outstanding balance with my bankers card, if i want to get a total refund will they split it?

    I bought an iphone 4, but then exchanged it for a 4s. When they exchanged it they put the refund of the 4 onto a gift card and then i payed the outstanding balance with my bankers card, if i want to get a total refund will they split it between a gift card and my bankers card?

    Expanding on what Tim said to make sure it's clear, only the carrier to which the iPhone is locked can authorize unlocking. If Optus is the original carrier, as would seem to be the case, O2 would not be able to unlock it. Only Optus can authorize the unlock, so you'll need to contact them. They say, though, that only the account holder can apply for unlocking, so you might not be able to get it unlocked and will have to work through the person from whom you bought the iPhone.
    For more information, see the Optus FAQ on unlocking.
    Regards.

  • How do I turn off hierarchical keywording in LR 5?  The interface preference for auto complete is off and I still get California United State Country.  I just want Caliofrnia.

    How do I turn off hierarchical key wording in Lightroom?  The Interface Preference for Auto Complete is already turned off, but I still get California>United States>North America when all I need is California.

    You need to be signed in order to reply to posts.
    One reason why you may see the hierarchical type format for the keywords is that you have keyword 'California' duplicated in your keyword list.
    Lightroom will display them with "< Parent-keywords" appended to the end.
    ie California < State < Country  and California < United States
    If you re-keyword the photos so they only use one version and then delete the duplicate keyword from your keyword list then it will display just "California".
    Bruce

  • How to get total sum of big filtered table?

    Hello
    I'm using JDeveloper 11.1.1.3.0
    I have an af:table with big data source (100 000 rows). The table have filters.
    I want to display total count of the filtered rows and total sum by the one of column of the filtered rows in the footer of the table.
    In my backing bean I can get a Map with all filter values:
    Map<String, Object> filters = ((FilterableQueryDescriptor)table.getFilterModel()).getFilterCriteria();And, in this case, I may create the method for getting sum I need on my own.
    In this method I may create SQL Query dynamically, because I have to process all filter values with different types
    It is possible, but, maybe, there is a more easy way to do it?
    Anatolii

    Hi, sanchezis
    Code example.
    In the jsp:
                    <af:column sortProperty="Sumv" sortable="true" filterable="false" align="end" width="125px"
                               headerText="#{bindings.TransactionView1.hints.Sumv.label}" id="c16">
                      <af:outputText value="#{row.Sumv}" id="qt4">
                        <af:convertNumber maxFractionDigits="2" minFractionDigits="2"/>
                      </af:outputText>
                      <f:facet name="footer">
                          <af:panelGroupLayout id="pg41" halign="right"
                                               layout="vertical">             
                        <af:outputText value="#{backing_reptransactions.tableTransactionTotalSumV}" id="ot44">
                          <af:convertNumber maxFractionDigits="2" minFractionDigits="2"/>
                        </af:outputText>
                        </af:panelGroupLayout>
                      </f:facet>
                    </af:column>In the backing bean:
        public double getTableTransactionTotalSumV() {
            DCIteratorBinding iter =
                binding.findIteratorBinding("TransactionView1Iterator");
            TransactionViewImpl vo = (TransactionViewImpl)iter.getViewObject();
            return vo.getFilteredTotalSumV();
        }In the ViewImpl (TransactionViewImpl) class.
        public double getFilteredTotalSumV() {
            double sumV = 0d;
            DBTransaction dbTransaction = getDBTransaction();
            ResultSet rs = null;
            String query = "SELECT SUM(SumV) sumvtotal FROM (" + getQuery() + ")";
            String str1 = "WHERE ROWNUM < :Bind_RangePage_High";
            String str2 = "WHERE Z_R_N > :Bind_RangePage_Low";
            int i = query.indexOf(str1);
            if (i > 0) {
                query = query.substring(0, i) + " " + query.substring(i + str1.length());
            i = query.indexOf(str2);
            if (i > 0) {
                query = query.substring(0, i) + " " + query.substring(i + str2.length());
            PreparedStatement st = dbTransaction.createPreparedStatement(query, 0);
            try {
                Object[] params = this.getWhereClauseParams();
                int index = 0;
                for (Object avalue : params) {
                    String key = (String)((Object[])avalue)[0];
                    if ((!key.equals("Bind_RangePage_High")) &&
                        (!key.equals("Bind_RangePage_Low"))) {
                        Object value = ((Object[])avalue)[1];
                        index++;
                        if (value instanceof Integer) {
                            st.setInt(index, (Integer)value);
                        } else if (value instanceof oracle.jbo.domain.Date) {
                            st.setDate(index,
                                       ((oracle.jbo.domain.Date)value).dateValue());
                        } else if (value instanceof java.sql.Date) {
                            st.setDate(index, (Date)value);
                        } else {
                            st.setString(index, (String)value);
                rs = st.executeQuery();
                if (rs.next()) {
                    sumV = rs.getDouble("sumvtotal");
            } catch (SQLException e) {
                throw new JboException(e);
            } finally {
                if (st != null) {
                    try {
                        st.close();
                    } catch (SQLException e) {
            return sumV;
        public long getFilteredTotalCount() {
            return this.getEstimatedRowCount();
        }But, you need to know that in the TransactionView in the "General" - "Tuning" I set up next values:
    "All rows",
    "As needed",
    "Fill Last Page of Rows when Paging through Rowset",
    "Passivate State(..."
    Access Mode - "Range Paging Incremental"
    Range Size - 160
    Range Paging Cache Factor - 3
    If you have other values, then your SQL request may be different, so, you will have to rewrite it.
    I talk about
    "WHERE ROWNUM < :Bind_RangePage_High",
    "WHERE Z_R_N > :Bind_RangePage_Low",
                    if ((!key.equals("Bind_RangePage_High")) &&
                        (!key.equals("Bind_RangePage_Low")))If you have other solution, please, tell me.
    Anatolii

  • How to get total number of result count for particular key on cluster

    Hi-
    My application requirement is client side require only limited number of data for 'Search Key' form total records found in cluster. Also i need 'total number of result count' for that key present on the custer.
    To get subset of record i'm using IndexAwarefilter and returning only limited set each individual node. though i get total number of records present on the individual node, it is not possible to return this count to client form IndexAwarefilter (filter return only Binary set).
    Is there anyway i can get this number (total result size) on client side without returning whole chunk of data?
    Thanks in advance.
    Prashant

    user11100190 wrote:
    Hi,
    Thanks for suggesting a soultion, it works well.
    But apart from the count (cardinality), the client also expects the actual results. In this case, it seems that the filter will be executed twice (once for counting, then once again for generating actual resultset)
    Actually, we need to perform the paging. In order to achieve paging in efficient manner we need that filter returns only the PAGESIZE records and it also returns the total 'count' that meets the criteria.
    If you want to do paging, you can use the LimitFilter class.
    If you want to have paging AND total number of results, then at the moment you have to use two passes if you want to use out-of-the-box features because LimitFilter does not return the total number of results (which by the way may change between two page retrieval).
    What we currently do is, the filter puts the total count in a static variable and but returns only the first N records. The aggregator then clubs these info into a single list and returns to the client. (The List returned by aggregator contains a special entry representing the count).
    This is not really a good idea because if you have more than one user doing this operation then you will have problems storing more than one values in a single static variable and you used a cache service with a thread-pool (thread-count set to larger than one).
    We assume that the aggregator will execute immediately after the filter on the same node, this way aggregator will always read the count set by the filter.
    You can't assume this if you have multiple client threads doing the same kind of filtering operation and you have a thread-pool configured for the cache service.
    Please tell us if our approach will always work, and whether it will be efficient as compared to using Count class which requires executing filter twice.
    No it won't if you used a thread-pool. Also, it might happen that Coherence will execute the filtering and the aggregation from the same client thread multiple times on the same node if some partitions were newly moved to the node which already executed the filtering+aggregation once. I don't know anything which would even prevent this being executed on a separate thread concurrently.
    The following solution may be working, but I can't fully recommend it as it may leak memory depending on how exactly the filtering and aggregation is implemented (if it is possible that a filtering pass is done but the corresponding aggregation is not executed on the node because of some partitions moved away).
    At sending the cache.aggregate(Filter, EntryAggregator) call you should specify a unique key for each such filtering operation to both the filter and the aggregator.
    On the storage node you should have a static HashMap.
    The filter should do the following two steps while being synchronized on the HashMap.
    1. Ensure that a ConcurrentLinkedQueue object exists in a HashMap keyed by that unique key, and
    2. Enqueue the total number count you want to pass to the aggregator into that queue.
    The parallel aggregator should do the following two steps while being synchronized on the HashMap.
    1. Dequeue a single element from the queue, and return it as a partial total count.
    2. If the queue is now empty, then remove it from the HashMap.
    The parallel aggregator should return the popped number as a partial total count as part of the partial result.
    The client side of the parallel aware aggregator should sum the total counts in the partial result.
    Since the enqueueing and dequeueing may be interleaved from multiple threads, it may be possible that the partial total count returned in a result does not correspond to the data in the partial result, so you should not base anything on that assumption.
    Once again, that approach may leak memory based on how Coherence is internally implemented, so I can't recommend this approach but it may work.
    Another thought is that since returning entire cached values from an aggregation is more expensive than filtering (you have to deserialize and reserialize objects), you may still be better off by running a separate count and filter pass from the client, since for that you may not need to deserialize entries at all, so the cost on the server may be lower.
    Best regards,
    Robert

  • HOW TO GET TOTAL BEFORE DISCOUNT AMOUNT IN MARKETING DOCUMNET

    HI.
    I need one requirement in this,
    i need to capture the Total before discount amount at A/R invoice.
    i checked in tables Discount and Discount amount will be come below Total before Discount amount
    but Total Before Discount Amount i am not able to get it from the Database.
    Any information plz Update me.

    Hi Srinivas,
    As already answered by Seniors that you have to apply Formula to get Total before Discount. Please check below
    Total Before Discount =  ( DocTotal + DiscSum - VatSum )
    If you want to put FMS then please try below FMS for Header Level
    SELECT ( $[OINV.DocTotal] + $[OINV.DiscSum] - $[OINV.VatSum] )
    Hope this helps
    Regards::::
    Atul Chakraborty

  • My friend wanted to get some of the music off my itunes. when syncing it needed to udate her phone which it did - now all her photos are gone. and the last back up was from when she used my itunes 6  ago. How can we get back her photos :(Please help

    My friend wanted to get some music off my itunes - when syncing it it said she had to update her phone software first - which it did. Now all her photos are gone. When we tried to restore the last back up - the only one was from when she used my itunes 6 months ago which was from her old iphone. So now it has put all her photos from her old phone onto her new iphone and deleted all the new ones. We cannot find her new photos. Please help and there was 100 new pics. Is there any way we can get them back. I already have the program Asoftech - but it doesnt seem to register the iphone only C and D drive. Please help!

    bechosken wrote:
    My friend wanted to get some music off my itunes
    This is called "stealing". You do not have the legal right to give her the music you have in your iTunes library unless you are the copyright holder.
    when syncing it it said she had to update her phone software first
    That's not quite what it said.  Someone should have paid more attention to the great big warning about the possibility of losing data if the phone wasn't backed up.
    We cannot find her new photos. Please help and there was 100 new pics. Is there any way we can get them back. I already have the program Asoftech - but it doesnt seem to register the iphone only C and D drive. Please help!
    It restored the backup that was made on your computer 6 months ago, which did not contain those photos. You're wasting your time trying to find them on the phone. They don't exist.
    Hopefully, your friend syncs her phone to her own computer on a regular basis. She needs to plug her phone into her computer and restore it from her last backup. That will restore it to the state it was in when the backup was made.
    She also needs to get in the habit of extracting the photos on a regular basis, like she would from any other digital camera.

  • Can't Figure Out If My Macbook Can Upgrade , currently running 10.6.8 and wanted to get latest version os but can't upgrade current os Please Help !!!!

    Can't Figure Out If My Macbook Can Upgrade , currently running 10.6.8 and wanted to get latest version os but can't upgrade current os Please Help !!!! Hardware Overview:
      Model Name: MacBook Air
      Model Identifier: MacBookAir3,1
      Processor Name: Intel Core 2 Duo
      Processor Speed: 1.4 GHz
      Number of Processors: 1
      Total Number of Cores: 2
      L2 Cache: 3 MB
      Memory: 2 GB
      Bus Speed: 800 MHz
      Boot ROM Version: MBA31.0061.B01
      SMC Version (system): 1.67f4
      Serial Number (system): C0*******DQX
    processor 1.4 ghz
    mem 2gb 1067 mhz ddr3
    startup disk Macintosh HD
    <Edited by Host>

    You can upgrade to Mountain Lion
    Upgrading from Snow Leopard to Mountain Lion
    You can upgrade to Mountain Lion from Lion or directly from Snow Leopard. Mountain Lion can be downloaded from the Mac App Store for $19.99.
    If you sign into the App Store and try to purchase Mountain Lion but the App Store says your computer is not compatible then you may still be able to upgrade to Lion per the following information.
    Upgrading to Mountain Lion
    To upgrade to Mountain Lion you must have Snow Leopard 10.6.8 or Lion installed. Purchase and download Mountain Lion from the App Store. Sign in using your Apple ID. Mountain Lion is $19.99 plus tax. The file is quite large, over 4 GBs, so allow some time to download. It would be preferable to use Ethernet because it is nearly four times faster than wireless.
         OS X Mountain Lion - System Requirements
           Macs that can be upgraded to OS X Mountain Lion
             1. iMac (Mid 2007 or newer) - Model Identifier 7,1 or later
             2. MacBook (Late 2008 Aluminum, or Early 2009 or newer) - Model Identifier 5,1 or later
             3. MacBook Pro (Mid/Late 2007 or newer) - Model Identifier 3,1 or later
             4. MacBook Air (Late 2008 or newer) - Model Identifier 2,1 or later
             5. Mac mini (Early 2009 or newer) - Model Identifier 3,1 or later
             6. Mac Pro (Early 2008 or newer) - Model Identifier 3,1 or later
             7. Xserve (Early 2009) - Model Identifier 3,1 or later
    To find the model identifier open System Profiler in the Utilities folder. It's displayed in the panel on the right.
         Are my applications compatible?
             See App Compatibility Table - RoaringApps.
         For a complete How-To introduction from Apple see Upgrade to OS X Mountain Lion.

Maybe you are looking for