Simple PLSQL Help

Hi Need to create a function that loops through a cursor and
that brings back the value which is the highest based on conditions
3 columns
level -------------- Name ----------------------- Pay
1 roger 20
2 mike 30
3 roy 25
4 john 10
5 joy 20
I need the lowest level where the pay is greater than 20 in this case it would be 2 mike....
Edited by: Sharky on Mar 24, 2009 9:07 AM

Sharky wrote:
As you can see i need to return the lowest hierarchy level..... that meets the conditions...The data you provided us with is not hierarchical.
Be clear in what your starting data is and what you expect as output and the logic behind getting from one to the other.
When you post code or data put the text.. {noformat}{noformat} ..before _and_ after your code/data so that it retains it's formatting on the forum.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Similar Messages

  • Hi when i send imessages it keeps showing up as my email address on the receiving device. I know its something simple! Help please.

    Hi when i send imessages it keeps showing up as my email address on the receiving device. I know its something simple! Help please.

    Hi Megamanfx,
    If you are having issues with the Sent From settings in iMessage on your iPhone, you may find the following article helpful:
    iOS 6 and OS X Mountain Lion: Link your phone number and Apple ID for use with FaceTime and iMessage
    http://support.apple.com/kb/HT5538
    Regards,
    - Brenden

  • Simple query help in plsql - help

    oracle version : 10gR2
    indexes are created on each column, is there anyway to make them used while searching for the records rewriting the following query to test given data in any case (lower ,upper)...
    SELECT * FROM TX_USERS
    WHERE userid like decode( UPPER('Md'),null,userid, UPPER( 'MD')||'%' ) and
    first_name like decode(UPPER('Na'),null, first_name, UPPER( 'NA')||'%' ) AND
    LAST_name like decode(('Ra'),null, LAST_name, UPPER('RA')||'%' )
    -- list goes on..
    UPPER('Md') -- is the input values comes from form.. for example i_userid.. this query works fine .. is there anyway of getting indices used without using functional based indexing when we rewrite query like shown below??? input parameter valeus can be anything and table column values can be anything i.e. anycase (upper or lower or mix of both)..
    actual code would be
    upper(userid) like decode( UPPER(i_userid),null,userid, UPPER( i_userid)||'%' ) and
    upper(first_name) like decode(UPPER(i_first_name),null, first_name, UPPER( i_firstname)||'%' )
    if we put upper(userid) then index not used ..........anyway of rewriting using it or any other technique... or any other new way

    No, its not working... see the below..
    create table test5 as select owner, object_name, subobject_name, object_type from all_objects;
    create unique index test5_i5 on test5 (owner, object_name, subobject_name, object_type);
    select * from test5 where owner like 'SCOTT' AND OBJECT_NAME LIKE 'EMP';
    INDEX RANGE SCAN| TEST5_I5 | 4 | 248 | 1 (0)| 00:00:01 |
    but when i use
    select * from test5 where UPPER(OWNER) LIKE 'SCOTT%' AND UPPER(OBJECT_NAME) LIKE 'EMP%';
    TABLE ACCESS FULL| TEST5 | 3 | 186 | 65 (5)| 00:00:01 |
    i know it goes to full scan, i want to know is there any other way to make index used .. without using functional based indx...
    the reason is user can search any one of the column data and data is mixed case in table columns and/or conditions specified in query..
    .. any help...
    not sure how to use 'NLS_SORT=BINARY_CI' on multicolumn index and enable index used in search operation.. ANY OTHER WAY OF DOING THIS...
    requirements is
    mixed (lower,upper) data stored in db columns and mixed case data searched, 5 columns specified in where condition, data may be provided in search conditon to one or two or to all 5 columns in mixed case... matching records need to be returned.. suggest a good way of doing this... thnx

  • Simple button help needed!

    I want to make a simple round button that glows when you
    mouse over it and depresses when you click it.
    Apparently to do this I need to use Filters to make the glow
    and bevels. But Filtersonly work on movie clips, buttons and text.
    So I make a circle and convert it into a button symbol
    (Btn1). Then I make another button symbol (Btn2) and use the first
    button symbol (Btn 1) on the Up Over and Down frames of Btn 2.
    Assorted Filters are applied to Btn 1 on the Up Over and Down
    frames to get the effects I want.
    I test the button (Btn2) using Enable Simple Buttons. It
    works perfectly - glows on mouse over and depresses on click. Then
    I try Test Movie -- and the button doesn't work!!!
    Not does it work when exported as a SWF file!!!
    I watched a tutorial video that came with my Flash Pro 8
    Hands-On-Training (HOT) book and he used pretty much the same
    technique -- except he only tested his button with Enable Simple
    Buttons. I'll bet my house his didn't work with Test Movie either!
    The stupid thing, is I was just able to achieve exactly what
    I wanted very quickly using LiveMotion 2!
    What is wrong here? Why is it so impossible to create a glow
    button in Flash? Why has it been easy in Live Motion for years?
    All help appreciated!
    Thanks
    craig

    I thought the nesting button situation might be the problem
    BUT there is no other way to apply Filters to Up, Down, etc. Also,
    a freaking tutorial book described that as a valid method, but
    obviously it ain't.
    I tried using movieclips as well but basically had the same
    problem.
    I mentioned LiveMotion 2 because that ancient program can do
    easily what Flash Pro 8 seems incapable of.
    What is the logic behind not allowing Filters to be applied
    to simple graphics? It's absurd!
    There's got to be a way...

  • Simple Button Help

    Hi
    I am new to flash and having a bit of trouble. All I would
    like to do is be able to create a button and have that button
    navigate to a frame.
    What I am doing now is:
    Insert - New Symbol - Button and name the button (ex: about)
    Go through the up/over/down/hit steps and return to scene 1
    I then drag the about button onto the stage
    I give the about button the instance name of about_btn
    In the action layer, I enter the following code:
    stop();
    _root.about_btn.onRelease = function(){
    gotoAndStop("about");
    "about" being the keyframe I would like to go to
    When I test the button, I get error 1120: "Access of
    undefined property onrelease".
    I am working on adobe flash cs3 on a pc. I know this is a
    very simple issue and any help would be greatly appreciated.
    Thank you.

    what have you done so far? what don't you know how to do?
    where are you stuck at? need way more detail to help any
    further.

  • Both side chatting with simple GUI ,,helps pls?

    guys I'm Java application programmer i don't have well knowledge in network programing ,,my question ,,,from where should i start to design a simple GUI client*s* server chat program ,i mean some thing like simple yahoo messenger the program should include also adding contact and make that contact appears ON if he login or OFF if he sign out like red color for ON-line contact and and white color for off-line contact ...........
    another thing that chat system should include shared folder all the contact can enter it and upload file or download file ...
    please guys i run to you to help me i have 2 weeks only to do that thing please don't let me down i need your help ....TIPS,code,any thing full code :) ,,any thing will be really appreciated .
    guys for more information the program includes only the chat of course its both sides chat between the clients and these is no conference room
    or audio or video nothing ,,just text only nothing else except the folder shearing service and the colors of the contacts for login or not .
    guys once more help me give me codes or any thing useful i count on you guys.
    thx a lot in advance
    RSPCPro
    Edited by: RSPCPRO on Oct 3, 2008 6:25 PM

    RSPCPRO wrote:
    Dude , u r right ,,,but still its simple GUI issueI'm not sure why you are getting this impression. It's not a simple "GUI issue." Yes, you can simply create the GUI for this, but will it be functional? No. Furthermore, if it was so simple, why are you posting asking for help?
    For an instant message chat program, in addition to GUI programming, you need to know how client / server systems work and you need to implement one. A server should be running on one system and the client(s) will connect to it. The server usually maintains the buddy list and passes the messages to/from different clients. This presents several problems that you will need to solve:
    1. How will you develop a protocol between the client / server for communication?
    2. How will you authenticate users?
    3. How will you maintain the buddy list on the server (data structure, database, file)?
    4. How will you pass messages from one client to another (simple string message, serialized data object, etc.)?
    5. etc.
    Now, I'm not saying this is "impossible" so please don't take it that way. I'm simply trying to help you realize that there are a lot of factors to consider when developing this type of application.
    RSPCPRO wrote:
    and for the "FTP?" ,,,its folder shearing as i said earlier every one of your friends can access it not FTP .....Talking about "folder sharing" is a whole other issue. What I meant by saying "FTP?" is, how do you plan on implementing "folder sharing" remotely? One option is FTP. How would you do it?
    RSPCPRO wrote:
    and one thing please don't assume any thing u don't knowIf you ask a very broad question and ask for code, I can only assume one thing.
    RSPCPRO wrote:
    be cooler with others and u will get what u want.I agree. You should take your own advice. I'm not the one looking for help, you are.
    RSPCPRO wrote:
    thx dude for ur advice and for the link have a good day.You're welcome, and good luck.

  • Simple viewer help

    Hi all, I need your help. I have created my website, and I'm linking it to mobile me galleries. (no problem). But-- instead of mobile me galleries I would like to link to Simple Viewer.
    No problem creating the SV galleries in iphoto , but getting them on my site is baffeling.
    I have read all the posts, and have had no success. I am a novice and the nominclature is rough
    As I said , I created the gallery folder and placed it in the sites folder on my idisk. when I click on the index folder within the gallery appears and the address is file:///Volumes/rgardnerimages/Web/Sites/slideshoe/index.html nothing I do is linking it to a web page. Any help in simple language would be helpful.
    My website is http://www.richardgardnerphotography.com/RichardGardner/richard_gardnerhome.html
    Thanks in advance
    Richard

    Its so long since I did this that I to look back and see where my files were uploaded and how they are organized.
    Its seems I have the following files uploaded to the main folder on my server:
    flash_detect.js
    image data.xml
    images
    PostCard.html
    thumbs
    viewer.swf
    PostCard.html is the index.html file renamed so that it doesn't conflict with the index.html file generated by iWeb.
    If you are using MobileMe to publish you can upload these files to the Finder/Go/iDisk/My iDisk/Web/Sites folder and the URL will be..
    http://web.me.com/username/PostCard.html
    Its probably better to upload them to your website folder. The path is Finder/Go/iDisk/My iDisk/Web/Sites/WebsiteName folder and the URL for the link to it will be ....
    http://web.me.com/username/WebsiteName/PostCard.html
    These uploads are done by drag and drop. Follow the path from the Finder/Go menu or do Shift - Command - I from any Finder window and then double click the Web then the Sites folders to get to your actual website folder.

  • Simple - plsql query

    I am new to plsql and want to do following in plsql code:
    code start select max(col1) from table1;
    -- and save the max value in variable VAR1
    select COL1, case COL2 when VAR1 THEN 'VALUE ONE'
    ELSE 'VALUE ELSE'
    END
    from table1
    -- I want to see the o/p of second select on the screen
    code ends how can i write the above plsql code.

    No, its not working... see the below..
    create table test5 as select owner, object_name, subobject_name, object_type from all_objects;
    create unique index test5_i5 on test5 (owner, object_name, subobject_name, object_type);
    select * from test5 where owner like 'SCOTT' AND OBJECT_NAME LIKE 'EMP';
    INDEX RANGE SCAN| TEST5_I5 | 4 | 248 | 1 (0)| 00:00:01 |
    but when i use
    select * from test5 where UPPER(OWNER) LIKE 'SCOTT%' AND UPPER(OBJECT_NAME) LIKE 'EMP%';
    TABLE ACCESS FULL| TEST5 | 3 | 186 | 65 (5)| 00:00:01 |
    i know it goes to full scan, i want to know is there any other way to make index used .. without using functional based indx...
    the reason is user can search any one of the column data and data is mixed case in table columns and/or conditions specified in query..
    .. any help...
    not sure how to use 'NLS_SORT=BINARY_CI' on multicolumn index and enable index used in search operation.. ANY OTHER WAY OF DOING THIS...
    requirements is
    mixed (lower,upper) data stored in db columns and mixed case data searched, 5 columns specified in where condition, data may be provided in search conditon to one or two or to all 5 columns in mixed case... matching records need to be returned.. suggest a good way of doing this... thnx

  • Simple Java help

    OK, I'm new to Java programming and have a project due in class next week. I'm writing a simple gradebook program that takes a grade for a term paper and a pass/fail for two essays and computes the result. I know that the visual portion of this works so I won't bore you all with that. I think the problem is somewhere in the syntax of my actionPerformed function. Here it is
    String essayResult1 = essayBox1.getSelectedItem();
    String essayResult2 = essayBox2.getSelectedItem();
    int essayPoints1, essayPoints2, termPoints;
    if(essayResult1.equals("Pass")) essayPoints1=15;
    if(essayResult2.equals("Pass")) essayPoints2=15;
    Character letterGrade = termField.getText();
    if(letterGrade.equals("A")) termPoints=70;
    else if(letterGrade.equals("B")) termPoints=60;
    else if(letterGrade.equals("C")) termPoints=50;
    else if(letterGrade.equals("D")) termPoints=40;
    else if(letterGrade.equals("F")) termPoints=0;
    else {
    outputField.setText("Error");
    return;}
    String finalScore=new String("" + (essayPoints1+essayPoints2+termPoints));
    outputField.setText("Done");
    I would appreciate any help you experienced programers have. Even a hint as to which lines I'm mangling would be of great help.

    If you could put [code] and [/code] tags around your code it would be much more readable.
    So what is wrong? Do you get a compiler error? Does it give you incorrect results? Do you receive a run-time error?

  • Simple Recursion help!

    i know this is trivial code, that is simple yet i cant get it
    i have the following method
    public static void let(char x){
    if (x == 'a')
    return;
    x = (char) ((int) let('a' + 1));
    System.out.print(x + " ");
    here is the error i get
    "let(char) in lab7 cannot be applied to (int)
    any help will be appreciatied and i will award duke dollars to it
    thank you

    One more thing: the call let('a'+1);
    You are adding a char (16-bit) to an int (32-bit), so the result will be int. That's why the error message says "let(char) cannot be applied to (int)".
    To avoid it, do a cast: let((char)('a'+1));

  • Simple animation help

    Hi all wonder if someone can help. I'm creating a simple board game and i want to slide a character (a image) from one position to another position. So for example if i had a 10x10 grid, i may want to slide from square 2 to square 4 or slide diagonally say from square 8 to square 26. What would be the best way to do this? I've been able to move the character once it reaches a certain square by setting the co-ordinates of the new square to move to, but this instantaneously moves from the square reached to the target square, what i want is a sliding effect, so you visually see the character sliding. Any ideas? Any source would be helpful as well, as there doesn't seem to be much about on this topic on the web!

    Search the forum. "Animation" would be a good keyword to use. The suggestions will involve using a Swing Timer so you just calculate each interval location from A to B to set the position of the object as it moves.

  • Starting game, debugging simple things: help =]

    Hi, this is my first post here and I've been playing around with Java for a little less than a year now. I'm trying to create a simple 2d game and need some help in the basics, such as the listeners and double-buffering.
    So far I've tried implementing keylistener and using another method but neither are working. When I type space, c = 32 for the scope of keyTyped(), but in the switch of the thread "game," c = 0. So I can't transition form the intro/splash screen into the game.
    Also when I skip to case 0, the double-buffering is horrible, it doesn't seem like there is any. On my computer the fillOval() and drawString() keep flickering.
    Thanks for the help.
    The following is my code in entirety (short but growing):
                TC STUDIOS PRESENTS
    ||_ \  ||- ]  ][  ||\/||   ][  ']['  ][  \\  //  ||--/
    ||__/  || \\    \\    //  //-\\    ||- ]  \\//   ||-
    ||               \\/\//  ADVANCED  || \\         ||__|
    import java.awt.*;
    import java.awt.image.*;
    import java.awt.event.*;
    import java.applet.*;
    <applet code="pwGUI" width = 500 height = 400>
    </applet>
    public class pwGUI extends Applet implements Runnable, MouseMotionListener //,KeyListener
         int gamestate;
         int mouseX, mouseY;
         char c;
         int pressedKey;
         Thread game, ai;
         //boolean splash;
         Image offscreen;
         Graphics buffer;
         public void init(){
              setBackground(Color.black);
              offscreen = createImage(500,400);
              buffer = offscreen.getGraphics();
    //          addKeyListener(this);
              addMouseMotionListener(this);
              //splash = true
              gamestate = -2;
              //load graphics
              resize(500,400);
         public void run(){
              //reset ints
              while(game!=null){
                   switch(gamestate){
                        case -2:
                             showStatus("game menu");
                             buffer.setColor(Color.red);
                             buffer.drawString("PRIMITIVE WARS ADVANCED", 150, 50);
                             buffer.drawString("Press SPACE to start",160,70);
                             //splash == false;
                             gamestate = -1;
                             break;
                        case -1:
    //                         showStatus(String.valueOf((int)c));
    //                         showStatus("start" + (char)0 + "end");
                             if(pressedKey == ' ')
                                  showStatus("c is: start" + (char)c + "end");
                             if(pressedKey == ' '){
                                  gamestate = 0;
                                  showStatus("gamestate");
                             break;
                        case 0: // Prepare for new game
                             //showStatus("Start game");
                             buffer.clearRect(0,0,500,400);
                             buffer.setColor(Color.red);
                             buffer.fillOval(mouseX, mouseY, 20,20);
                             buffer.drawString("Playing game",10,10);
                             break;
                   buffer = offscreen.getGraphics();
                   repaint();
         public void start(){
              showStatus("hello");
              if(game == null){
                   game = new Thread(this, "game");
                   game.start();
                   showStatus("Starting thread");
         public boolean keyDown(java.awt.Event evt, int key)
              pressedKey=key;
              return true;
         public boolean keyUp(java.awt.Event evt, int key)
              pressedKey=0;
              return true;
         /** Handle the key typed event from the text field. */
    /*     public void keyTyped(KeyEvent e) {
              char c = e.getKeyChar();
              showStatus(String.valueOf((int)c));
              //if(c == ' ')
              //     showStatus("typed space2");
         /** Handle the key pressed event from the text field. */
    /*     public void keyPressed(KeyEvent e) {
    //          showStatus(String.valueOf((int)c));
    //          showStatus("pressed");
    //          displayInfo(e, "KEY PRESSED: ");
         /** Handle the key released event from the text field. */
    /*     public void keyReleased(KeyEvent e) {
    //          showStatus(String.valueOf((int)c));
    //          displayInfo(e, "KEY RELEASED: ");
         public void mouseMoved(MouseEvent me){
              mouseX = me.getX();
              mouseY = me.getY();
              showStatus("moved " + mouseX + ", " + mouseY);
         public void mouseDragged(MouseEvent evt){
         public void loadMap(int mapnum){ //maybe instead param (string map)
         public void paint(Graphics g){
               g.drawImage(offscreen,0,0,this);
         public void update(Graphics g){
              paint(g);
    }

    You problem with keyTyped is scope problem.
    Because you declare char c inside keyTyped, it masks the declaration of char c that has class instance scope.
    All you need to do in keyTyped() is remove the char in front of the declaration to unmask the instance variable.
         public void keyTyped(KeyEvent e) {
    // should be          char c = e.getKeyChar();
              c = e.getKeyChar(); // this line uses c declared above
              showStatus(String.valueOf((int)c));
              //if(c == ' ')
              //     showStatus("typed space2");
         }� {�                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Simple transitions help for an FCP newbee

    Am moving from iMovie6 to Final Cut Pro 5 as I didn't like iMovie8 and there's been a lot of talk on the iMovie board about how FCP will probably work better for people like me...
    I'm a real newbee to FCP so I'm going to embarrass myself here and ask a really simple question that I can't for the life of me get an answer to.
    How do you add a simple fade up to the start of a clip? It would seem that the Fade in-Fade out Dissolves in Effects is designed to join two different clips. I have a clip that cuts to black and the next clip I want to start on a fade up from black.
    How do I do this?
    Also, how do I do a really simple fade to black???
    Forgive me for asking such a dumb question but I just can't find the answer in the Help file (guess the question is way too simple!).
    Thanks!

    I just tried ramping the clips opacity and I got my fade in just fine, but in order to get the clip fading in from black, I had to go back to the rushes, reselect the clip I wanted and then when the cursor was at the start of the clip, open the opacity and adjust it to go from 0 to 100 in 12 frames. Then I added this clip to my timeline via overwrite, thereby overwriting the same (old) clip that didn't have the fade in. However, I'm not quite ready to mark this question as answered as how do I now add a fade in on a clip that is already in my timeline? Do I have to make the transition decision before I add the clip to the time line or is there some clever way of adjusting the opacity of the clip once it is in the time line and therefore in the edit?
    Thanks!

  • PLSQL help needed

    I have a table orders which looks like below
    Order_date order_by order_amount
    01-01-11 A 100
    01-02-11 B 50
    01-03-11 A 100
    01-04-11 A 100
    02-01-11 A 100
    02-02-11 B 50
    02-25-11 B 200
    My requirement is I have to have a table total_orders which has to provide me the month name, order made by the person name and total order made by the individual for every month under total_amount.It has to calculate from the table Orders and provide the output in total_orders table.
    So the table_orders should like like below
    Order_month order_by total_amount
    Jan A 300
    Jan B 50
    Feb A 100
    Feb B 250
    PS: I am just a beginner to pl/sql. If you can help me how to write a simple code with this scenario I will be more than happy.

    declare
    cursor order_cursor is select order_month, order_by, sum(orders) total_amount from (
            with the_orders as (
                select to_date('01-01-11', 'MM-DD-YY') ord_date, 'A' order_by, 100 orders from dual union all
                select to_date('01-02-11', 'MM-DD-YY')ord_date, 'B' order_by, 50  orders from dual union all
                select to_date('01-03-11', 'MM-DD-YY')ord_date, 'A' order_by, 100  orders from dual union all
                select to_date('01-04-11', 'MM-DD-YY')ord_date, 'A' order_by, 100  orders from dual union all
                select to_date('02-01-11', 'MM-DD-YY')ord_date, 'A' order_by, 100  orders from dual union all
                select to_date('02-02-11', 'MM-DD-YY')ord_date, 'B' order_by, 50  orders from dual union all
                select to_date('02-25-11', 'MM-DD-YY')ord_date, 'B' order_by, 200   orders from dual
            select to_char(ord_date, 'Mon') order_month, order_by, orders from the_orders
            ) t
        group by order_month, order_by;
    begin
       dbms_output.put_line('Order Month            Order By               Total Amount ');
       for rec in order_cursor
       loop
           dbms_output.put_line(rec.order_month||'                       '||rec.order_by||'                          '||rec.total_amount);
       end loop;   
    end;
    Order Month            Order By               Total Amount
    Jan                    A                      300
    Jan                    B                      50
    Feb                    A                      100
    Feb                    B                      250Edited by: user130038 on Aug 30, 2011 12:17 PM

  • Should be simple, pls help - selectOneChoice valueChangeEvent not fired

    Hi all, please help! This should be so simple and just work, but I couldn't get it after hours!
    I have a simple selectOneChoice tag in my jspx page, with two selectItems with static values - nothing fancy. I just couldn't get the valueChangeEvent associated to it to fire. I have read many posts here, some say that's how it works if the backing bean scope is request because it's got reset back to the default value each time so value never got changed. Yes my backing bean is set to request scope, but it didn't look like it tried to set the default value every time I submit the form, when I tried to set the value to a variable in the backing bean and its getter didn't get called after the form is submitted (it got called the first time the page loaded). For other reasons, I can not set the bean scope other than Request. Please help if you have an idea -
    <tr:selectOneChoice label=""
    binding="#{backing_eef_expenseapprove.selectOneChoice1}"
    id="selectOneChoice1"
    unselectedLabel="#{resources['ets.select']}"
    valuePassThru="true"
    value=""
    autoSubmit="true"
    valueChangeListener="#{backing_eef_expenseapprove.valueChangeApprove}">
    <f:selectItem binding="#{backing_eef_expenseapprove.selectItem3}"
    id="selectItem3"
    itemValue="1"
    itemLabel="Approve"/>
    <f:selectItem binding="#{backing_eef_expenseapprove.selectItem4}"
    id="selectItem4"
    itemValue="2"
    itemLabel="Reject"/>
    </tr:selectOneChoice>
    By the way, I used JavaScript alert to test the values are actually changed every time I switch the dropdown.
    Just in case you are wondering, the application was a 10g ADF app, migrated to 11g, all components are now Trinidad. As far as I can tell, that shouldn't matter.

    Basic troubleshooting from the User's Guide is reset, restart, restore (first from backup then as new).  Try each of these in order until the issue is resolved.
    If basic troubleshooting fails to resolve the issue, the next step is to take the device to Apple or an Apple Authorized Service Provider for evaluation.
    Apple does not repair devices.
    iDevices are not user servicable.
    Any attempt by a 3rd party to repair the device will void the warranty and all rights to support from Apple and these forums.

Maybe you are looking for