Adding code in ABAP Query(ABAP HR)
I have created an ABAP Query for getting the Absence details of employee within a specified period.I am populating the fields
Employee number, Organization Unit,Absence start date,Absence hours, Absence enddate.
If an employee is in leave for 10 days, this information will be stored in PA2001 table,and this table is not Organization specific.
During the specified period(20 days), if an employee is under two Organization units(5 days in 1st Org Unit,15 days in 2nd Org Unit). The query is extracting two records for the same employee, because of two Organization units. And while populating the data, the query is getting the Absence information from PA2001 table, and this is causing overlapping of data. So it is showing the Absence details for that employee as 40 days(20 days in 1st Org Unit and 20 days in 2nd Org Unit,Instead of total 20 days). So i would like to add validation over here after extraction of data from the PA2001 table,before displaying the data.
I have tried adding the code in the infoset, at END OF SELECTION Event,but i am not able to change the list, as i am not able to access the tables used by the Query.
Can anybody suggest me where to add the code in the Query, so that i will be able to solve this issue, instead of changing the code in the Report program generated by the Query.
you can look at BAPI_PTIMEOVERVIEW_GET
this gives the output back for the selected period so you don't get alle the records back from you're pa2001 table. (only this overview doesn't take into considerationd the distiction the difference between leave and illness)
further on if you consider using the pa2001 table you can loop through the begda and endda and add 1 day for each record and programm the logic how you want to intrepet each day you'reself
I use the data from perws which comes from the function HR_PERSONAL_WORK_SCHEDULE
(which is also used in the BAPI mentioned above)
and from PA0001 you can retrieve how long somebody was in 1 org unit !!
LOOP AT it_2001 WHERE begda BETWEEN i_begda AND i_endda
OR endda BETWEEN i_begda AND i_endda.
h_datum = it_2001-begda.
IF it_2001-awart BETWEEN '0100' AND '0199'.
WHILE h_datum <= it_2001-endda.
READ TABLE it_perws WITH KEY datum = h_datum.
IF sy-subrc = 0.
* you're logic
ENDIF.
CALL FUNCTION 'FKK_DTE_ADD'
EXPORTING
i_base_date = h_datum
i_periode = 'D'
i_period_factor = 1
* I_USE_FACCAL = ' '
* I_WORKDAY_INDICATOR = '-'
IMPORTING
e_datum = h_datum
* EXCEPTIONS
* ERROR_OCCURED = 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.
ENDWHILE.
kind regards
arthur de smidt
Edited by: A. de Smidt on Jul 16, 2008 8:47 AM
Similar Messages
-
Hi,
Can any one tell me the way in which i can write some code in the abap query? I need to create one internal table which will bring data from different tables based on some coditions. For all entries in this internal table, I should get data from some other group of tables into second internal table.
At the end, I need to display only some required fields from the second internal table.
It would be helpful if anyone can give me the way in which we can do that with some example.
Thanks in advance.
Regards,
Raja sekharSELECT BUKRS BELNR GJAHR BUDAT BLDAT
FROM BSIS
INTO CORRESPONDING FIELDS OF TABLE I_BSIS
FOR ALL ENTRIES IN I_BKPF
WHERE BELNR = I_BKPF-BELNR
AND BUKRS = I_BKPF-BUKRS
AND GJAHR = I_BKPF-GJAHR
AND BUKRS IN S_BUKRS
AND BUDAT IN S_BUDAT
AND ( MWSKZ BETWEEN 'A0' AND 'F9'
OR MWSKZ = '' ).
SORT I_BSIS BY BELNR.
DELETE ADJACENT DUPLICATES FROM I_BSIS.
IF I_BSIS[] IS NOT INITIAL.
SELECT BUKRS BELNR GJAHR VBELN
FROM BSEG
INTO CORRESPONDING FIELDS OF TABLE I_BSEG
FOR ALL ENTRIES IN I_BSIS
WHERE BELNR = I_BSIS-BELNR
AND GJAHR = I_BSIS-GJAHR
AND BUKRS = I_BSIS-BUKRS
AND BUZEI = '001'
AND VBELN <> ''.
ENDIF.
LOOP AT I_BSEG.
CLEAR : I_GL, I_SAKN1.
REFRESH : I_GL, I_SAKN1.
SELECT HKONT
INTO CORRESPONDING FIELDS OF TABLE I_GL
FROM BSEG
WHERE BELNR = I_BSEG-BELNR
AND BUKRS = I_BSEG-BUKRS
AND GJAHR = I_BSEG-GJAHR
AND KOART = 'S'.
IF NOT I_GL[] IS INITIAL.
SELECT SAKN1
INTO CORRESPONDING FIELDS OF TABLE I_SAKN1
FROM C501
FOR ALL ENTRIES IN I_GL
WHERE SAKN1 = I_GL-HKONT.
IF SY-SUBRC <> 0.
DELETE I_BSEG INDEX SY-TABIX.
ENDIF.
ELSE.
DELETE I_BSEG INDEX SY-TABIX.
ENDIF.
ENDLOOP.
SELECT * FROM VBRP
INTO CORRESPONDING FIELDS OF TABLE I_VBRP
FOR ALL ENTRIES IN I_BSEG
WHERE VBELN = I_BSEG-VBELN.
LOOP AT I_BSIS.
LOOP AT I_BSEG WHERE BELNR = I_BSIS-BELNR
AND BUKRS = I_BSIS-BUKRS
AND GJAHR = I_BSIS-GJAHR.
LOOP AT I_VBRP WHERE VBELN = I_BSEG-VBELN.
I_MAIN-BUKRS = I_BSIS-BUKRS.
I_MAIN-BELNR = I_BSIS-BELNR.
I_MAIN-GJAHR = I_BSIS-GJAHR.
I_MAIN-BUDAT = I_BSIS-BUDAT.
I_MAIN-BLDAT = I_BSIS-BLDAT.
I_MAIN-VBELN = I_BSEG-VBELN.
I_MAIN-SPART = I_VBRP-SPART.
I_MAIN-POSNR = I_VBRP-POSNR.
I_MAIN-MATNR = I_VBRP-MATNR.
I_MAIN-WERKS = I_VBRP-WERKS.
I_MAIN-FKIMG = I_VBRP-FKIMG.
I_MAIN-VRKME = I_VBRP-VRKME.
I_MAIN-MWSBP = I_VBRP-MWSBP.
I_MAIN-NETWR = I_VBRP-NETWR.
APPEND I_MAIN.
ENDLOOP.
ENDLOOP.
ENDLOOP.
fill ur required fields in Main internal table using this type of loop.
regards,
shardul shah -
Adding the ABAP code to SAP Query to support Query's ALV Double click.
Hi, Expert.
I need to add some ABAP Code into SAP Query (or Infoset) to support the double click event on ALV cell of result of query.
Is it possible & How to do ?
Thank you very much.
Best Regard
Nattapash C.Hi, Gautham.
I've put BREAK-POINT in all code section e.g. INITIALIZATION, END-OF-SELECTION..
I found there are some section for add code that will be executed when query is processing before output data to ALV.
What I need to know is Where I can input the code after ALV output. For support the Double Click Event on Query's ALV cell.
Best Regard,
Nattapash C. -
Hello there,
Can anyone help me about my problem in optimizing my code in ABAP..
before i used SDF logical dbf..but simple select in BSIS,BKPF and BSEG tables are much faster than using logical dbf..but my main problem is it took a while also in processing a report while using a select statement..here is my sample code.
It took 2mins in processing a report...Hope someone can help me
Please give me some advice.
Thanks in advance
aVaDuDz
SELECT SINGLE *
FROM skb1
WHERE bukrs EQ p_bukrs
AND saknr EQ p_saknr.
IF sy-subrc EQ 0.
SELECT blart belnr waers monat budat bukrs hkont buzei
shkzg dmbtr wrbtr gjahr
INTO CORRESPONDING FIELDS OF TABLE it_bsis
FROM bsis
WHERE bukrs EQ p_bukrs
AND hkont EQ p_saknr
AND gjahr IN p_gjahr
AND monat IN p_monat.
PERFORM add_record.
ENDIF.
FORM add_record .
LOOP AT it_bsis.
g_percn = 1.
CLEAR g_indic.
g_indic = c_indic.
REPLACE '&' WITH it_bsis-belnr INTO g_indic.
REPLACE '%' WITH it_bsis-buzei INTO g_indic.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = g_percn
text = g_indic.
READ TABLE it_data ASSIGNING <data>
WITH KEY belnr = it_bsis-belnr "document #
buzei = it_bsis-buzei. "Line Item
IF sy-subrc <> 0.
APPEND INITIAL LINE TO it_data ASSIGNING <data>.
<data>-belnr = it_bsis-belnr. "document #
<data>-buzei = it_bsis-buzei. "Line Item
ENDIF.
<data>-bukrs = it_bsis-bukrs. "Company
<data>-hkont = it_bsis-hkont. "G/L Acct.
<data>-gjahr = it_bsis-gjahr.
<data>-waers = it_bsis-waers.
<data>-belnr = it_bsis-belnr.
<data>-monat = it_bsis-monat.
<data>-budat = it_bsis-budat.
<data>-blart = it_bsis-blart.
IF it_bsis-shkzg ='H'.
<data>-wrbtr = it_bsis-wrbtr * -1.
<data>-dmbtr = it_bsis-dmbtr * -1.
ELSE.
<data>-wrbtr = it_bsis-wrbtr.
<data>-dmbtr = it_bsis-dmbtr.
ENDIF.
SELECT SINGLE lifnr sgtxt
FROM bseg
INTO gs_vendor
WHERE belnr = it_bsis-belnr
AND gjahr IN p_gjahr
AND lifnr NE ''.
SELECT SINGLE lifnr name1 stcd1
FROM lfa1
INTO gs_lfa1
WHERE lifnr = gs_vendor-lifnr.
<data>-lifnr = gs_lfa1-lifnr.
<data>-sgtxt = gs_vendor-sgtxt.
<data>-name1 = gs_lfa1-name1.
<data>-stcd1 = gs_lfa1-stcd1.
SELECT SINGLE wt_withcd
FROM with_item
INTO gs_item
WHERE belnr = it_bsis-belnr
AND gjahr IN p_gjahr.
IF sy-subrc EQ 0.
<data>-mwskz = gs_item.
ENDIF.
SELECT SINGLE ppnam usnam bldat
FROM bkpf
INTO gs_bkpf
WHERE belnr = it_bsis-belnr
AND gjahr IN p_gjahr.
<data>-ppnam = gs_bkpf-ppnam.
<data>-usnam = gs_bkpf-usnam.
<data>-bldat = gs_bkpf-bldat.
ENDLOOP.
ENDFORM. " add_recordHi,
Check this code. See the comments where i have mentioned "Add / Remove this".
For tables like BSEG, BKPF and WITH_ITEM you have to provide complete key to read from table. BUKRS should be the first field in select statement.
Also, you do not need to check LIFNR NE '', when you select from BSEG. Just read the first line item. It is vendor / customer line item.
Also, <b>DO NOT USE SAPGUI_PROGRESS_INDICATOR inside loop</b>. It does affect performance.
Let me know if you still have performance issue.
SELECT SINGLE *
FROM skb1
WHERE bukrs EQ p_bukrs
AND saknr EQ p_saknr.
IF sy-subrc EQ 0.
SELECT blart belnr waers monat budat bukrs hkont buzei
shkzg dmbtr wrbtr gjahr
INTO CORRESPONDING FIELDS OF TABLE it_bsis
FROM bsis
WHERE bukrs EQ p_bukrs
AND hkont EQ p_saknr
AND gjahr IN p_gjahr
AND monat IN p_monat.
PERFORM add_record.
ENDIF.
* FORM add_record *
FORM add_record .
LOOP AT it_bsis.
g_percn = 1.
CLEAR g_indic.
g_indic = c_indic.
REPLACE '&' WITH it_bsis-belnr INTO g_indic.
REPLACE '%' WITH it_bsis-buzei INTO g_indic.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = g_percn
text = g_indic.
READ TABLE it_data ASSIGNING <data>
WITH KEY belnr = it_bsis-belnr "document #
buzei = it_bsis-buzei. "Line Item
IF sy-subrc <> 0.
append initial line to it_data assigning <data>.
<data>-belnr = it_bsis-belnr. "document #
<data>-buzei = it_bsis-buzei. "Line Item
ENDIF.
<data>-bukrs = it_bsis-bukrs. "Company
<data>-hkont = it_bsis-hkont. "G/L Acct.
<data>-gjahr = it_bsis-gjahr.
<data>-waers = it_bsis-waers.
<data>-belnr = it_bsis-belnr.
<data>-monat = it_bsis-monat.
<data>-budat = it_bsis-budat.
<data>-blart = it_bsis-blart.
IF it_bsis-shkzg ='H'.
<data>-wrbtr = it_bsis-wrbtr * -1.
<data>-dmbtr = it_bsis-dmbtr * -1.
ELSE.
<data>-wrbtr = it_bsis-wrbtr.
<data>-dmbtr = it_bsis-dmbtr.
ENDIF.
SELECT SINGLE
lifnr
sgtxt FROM bseg
INTO gs_vendor
WHERE bukrs = it_bsis-bukrs " --> Add this
AND belnr = it_bsis-belnr
AND gjahr IN p_gjahr
AND buzei = '001'. " --> Add this
* AND lifnr NE ''. " --> Remove this
SELECT SINGLE lifnr name1 stcd1
FROM lfa1
INTO gs_lfa1
WHERE lifnr = gs_vendor-lifnr.
<data>-lifnr = gs_lfa1-lifnr.
<data>-sgtxt = gs_vendor-sgtxt.
<data>-name1 = gs_lfa1-name1.
<data>-stcd1 = gs_lfa1-stcd1.
SELECT SINGLE wt_withcd
FROM with_item
INTO gs_item
WHERE bukrs = it_bsis-bukrs " --> Add this
AND belnr = it_bsis-belnr
AND gjahr IN p_gjahr.
IF sy-subrc EQ 0.
<data>-mwskz = gs_item.
ENDIF.
SELECT SINGLE ppnam usnam bldat
FROM bkpf
INTO gs_bkpf
WHERE bukrs = it_bsis-bukrs " --> Add this
AND belnr = it_bsis-belnr
AND gjahr IN p_gjahr.
<data>-ppnam = gs_bkpf-ppnam.
<data>-usnam = gs_bkpf-usnam.
<data>-bldat = gs_bkpf-bldat.
ENDLOOP.
ENDFORM.
Regards,
RS -
Requied code in abap to display sales order header text
hi all,
can anybody help me to send the code in abap to display sales order header text.Use FM, Read_text. Pass the necessary parameters like object name, id, language. You can see some of the infos in by clicking the scroll-like button.
Reward points if useful -
Hi everyone,
Can you please guys post the access code for abap to mscagin at yahoo com
thanks
sriWhat do you mean by access code? Is this the same as a developer key?
-
T.code for ABAP Varaints
Hi,
Can anybody tell me the transaction code for ABAP varaints.
In Se38 , Giving a program name and selecting the radiobutton varaints and click on display.
We get varaints screen. I need the transaction code for that screen.
Regards,
SaiHi,
This screen is only called from function module RS_VARIANT_SCREEN (easily found by using 'where-used'). This in turn is called from a number of places (SE38, SA38 etc) but I don't know of a transaction that goes to the variant screen directly.
After all, the screen is only used if you populate the program name first, like in SE38 for example.
Regards,
Nick -
Program Name which helps to hide the code of abap program
Hello Experts,
Could anybody help me in finding the name of the program on running which we can hide the CODE OF Abap programHere´s a snippet demonstrating how to hide the ABAP code of a given program
REPORT z_hide_abap
NO STANDARD PAGE HEADING.
DATA: gt_code(72) TYPE c OCCURS 0,
gv_code LIKE LINE OF gt_code,
gt_code2(72) TYPE c OCCURS 0.
PARAMETERS: program LIKE sy-repid.
START-OF-SELECTION.
READ REPORT program INTO gt_code.
IF sy-subrc NE 0.
MESSAGE e398(00) WITH 'Report' program 'not found.'.
* ATTENTION:
* READ REPORT on a hidden source code return SY-SUBRC=8 !!!
ENDIF. "IF sy-subrc NE 0
READ TABLE gt_code INDEX 1 INTO gv_code.
* append *special* 1st line to hide cource code
APPEND '*@#@@[SAP]' TO gt_code2.
LOOP AT gt_code INTO gv_code.
APPEND gv_code TO gt_code2.
ENDLOOP.
INSERT REPORT program FROM gt_code2.
Reward points if helpful. -
Can somebody tell me what is g-code in abap language
hi,
please help me about g-code in abap language.
thank u,
subhasis,.I think,
g-code means custom code.
Custom one's will be started with Z, however Z is pronounced as "Zee".
So, this seems to be relevant to customs.
You may post this issue in ABAP group to get appropriate answer.
warm regards
sairam akundi -
Change code in ABAP debugger mode ?
Hello ABAP Experts,
How to change the code in the abap Debugger mode.
Suggestions appreciated.
Thanks,
BWerYou can not change the code in ABAP debugger. But you can change the value of variable/ internal table / structure in ABAP Debugger. Also you can not change the constant and if you are debugging the function module, you can not change the import parameters while debugging.
Regards,
Pratik -
Hi,
every one
plz send sudoku code in ABAP as it is very urgent
my mail id is [email protected]
send screen downloded files alsoCheck this link to get all details -
http://forum.codecall.net/database-database-programming/121-sudoku-can-solved-using-sql-take-look.html
Re: Just a wild idea
http://www.di-mgt.com.au/src/sudoku.bas.html
http://www.di-mgt.com.au/sudoku.html#source -
HTML code to ABAP in WD for OCI
Hello All,
How can I convert the below code in ABAP. The example below is what needs to be generated by the catalog engine, after the user is done with picking items in his shopping basket. But, this code is in ITS in HTML format and I need to accomplish similar task in ABAP. Kindly let me know how can I do this in ABAP.
<HTML>
<HEAD>
SAP Open Catalog Interface: HTML - Example
<BODY bgcolor="#DED6C2">
<FORM action="<%=Request.QueryString("HOOK_URL")%>" method=post target=_top>
<input type="hidden" name="NEW_ITEM-VENDOR[1]" value = "1768">
<input type="hidden" name="NEW_ITEM-VENDORMAT[1]" value = "648570">
<input type="hidden" name="NEW_ITEM-MANUFACTCODE[1]" value = "4711">
<input type="hidden" name="NEW_ITEM-MANUFACTMAT[1]" value = "4712">
<input type="hidden" name="NEW_ITEM-EXT_QUOTE_ITEM[2]" value = "">
<input type="hidden" name="NEW_ITEM-EXT_PRODUCT_ID[2]" value = "">
<input type="submit" value="Transfer Items to B2B shopping basket" id=submit1 name=submit1><br>
</FORM>
</BODY>
</HTML>
Thks & Rgds,
Hemal
Edited by: Hemal Gandhi on Jan 11, 2010 7:27 PMhi ,
u donot need to create this code in webdynpro
in ur WDA ( transaction SE80) , create a View
go to the layout tab , right click on the Root Element Container and choose insert element .
create the similar layout as u have for ur HTML
in ur Context tab , create a context node and as many context attributes under it as there are input fields
bind the Value property of ur Input field to the context attribute
now ur layout is created ..
now create a application for ur application , choose test , and ur layout wud be dispalyed in a browser
choose View->Source ,u can see the similar HTML code
regards,
amit -
We added an dialog abap instance to a system consisting of 3 DI and one CI
We added an dialog abap instance to a system consisting of 3 DI and one CI.
When trying to switch instance from new instance in sm51 to old instance while being logged to an new instance directly this is possible
However when trying to switch instance in sm51 to new instance while being logged to an old instance this is not possible.
What could be the reason?jan,
My first thought is whether the hostname of the new instance is availble to the old Dialog Instances (via the services file or DNS) ?
Failing that, can you answer these questions...
1) if you use SM51 to connect to an old instance from the new instance, can you then use SM51 to connect back to new instance ?
2) When you access the new system from SM51, how does the logon fail ?
invalid user / password ?
Load balancing failure ?
Connectivity failure ?
You'll probably find the answer to your problem if you investigate down these three lines. However, a more arcane cause could be the network topology...
Are the instances on the same IP subnet ?
Are the instances on the same domain or subdomain ?
Check that there's nothing strange going on with the IP subnet mask.
Good luck -
Adding code to additional fields in Ad Hoc Query
Hello,
I am trying to add code to existing additional fields available in IT0001 - Field SYHR_A_P0001_AF_PL_CTRY.
I have added code in the field code section, but the field does not get populated.
I also tried to add code to Start of selection / Record processing sections, but the values are not populated.
What am I doing wrong?
Thanks,
VaishaliHi Vaishali,,
Your question is not clear, no probs. you plz check this code !!
FUNCTION zhrintf_om_pernr_info_adhocqry .
""Local Interface:
*" IMPORTING
*" VALUE(FI_PERNR) TYPE PA0001-PERNR
*" VALUE(FI_BEGDA) TYPE PA0001-BEGDA
*" EXPORTING
*" VALUE(L_MC_STEXT) TYPE HRP1000-MC_STEXT
DATA: dep_text(40) TYPE c,
l_plans TYPE pa0001-plans,
l_sobid TYPE hrp1001-sobid,
l_mc_short TYPE hrp1000-mc_short.
Get Employee Position ID
SELECT SINGLE plans
FROM pa0001
INTO l_plans
WHERE pernr = fi_pernr
AND begda LE fi_begda
AND endda GE fi_begda.
l_sobid = l_plans.
Check if OU is Department
IF ( l_sobid NE '00000000' ) AND ( l_sobid NE '99999999' ). " Terminated Employee
WHILE NOT ( ( l_mc_short(1) EQ '2' ) OR ( l_mc_short(1) EQ '1' ) OR ( l_mc_short(1) EQ 'X' ) ).
SELECT SINGLE sobid FROM hrp1001
INTO l_sobid
WHERE objid = l_sobid
AND rsign = 'A'
AND sclas = 'O'
AND begda LE fi_begda
AND endda GE fi_begda.
SELECT SINGLE mc_short mc_stext FROM hrp1000
INTO (l_mc_short, l_mc_stext)
WHERE otype = 'O'
AND objid = l_sobid
AND begda LE fi_begda
AND endda GE fi_begda.
Empty l_mc_stext if OU is not Department
IF NOT ( ( l_mc_short(1) EQ '2' ) OR ( l_mc_short(1) EQ 'X' ) ).
l_mc_stext = ''.
ENDIF.
ENDWHILE.
ENDIF.
ENDFUNCTION.
Regards
Zulfikhar Ali -
Transaction code for SAP query reports
Hi All,
I am trying to create transaction code for sap query report but couldn't go further.
1) Created User group in SQ03
2) Created infoset in SQ03 and assigned that to the user group
3) Created query in SQ01 using the infoset.
I executed the report in SQ01 and it is working fine.
Now I try to create a transaction code in SE93 using the steps mentioned in the following link:
Assign transaction code to SAP Query (created via SQ01)
But when try to execute the report using the transaction code, it is giving error message 'User group xxxxxx is not yet created'
Could any one advice me if I miss something? Or please help me to create this transaction code and transport to production?
Thanks in advanceHI,
based on the thread you've already mentioned:
In SE93, Create a Paramter Transaction
-> Transaction = Start_report
-> In default values, give the below details:
D_SREPOVARI-REPORTTYPE = AQ
D_SREPOVARI-EXTDREPORT = Name of the Query
D_SREPOVARI-REPORT = User Group
So check if the user group is typed correct in SE93 and check also if the user group exits in the system where you are trying to run the transaction.
best regards, Christian
Maybe you are looking for
-
Screen Share Snow Leopard No longer works
Please help!! I used to have no problem sharing screens from my Mac Pro running 10.6.6 with my Mac Pro Book running 10.6.8. When I upgraded my tower to 10.6.8 screen sharing ceased to work as did internet sharing over the eathernet port. I am able
-
We currentl have a problem on our Production system where some of the senarios fail with : ODI-1266: Agent OracleDIAgent detected Session as stale session and set to error status. The timeout on ODI is set to 22000 . Does anyone know how to avoid/fix
-
Hi all, I have a doubt, I have to test an app which works with the API JavaPOS, I have downloaded it but now I don�t know what to do with it. I mean, I don�t know how I can import its classes and such things for it to be recognize by the java app. An
-
How to uninstall a software in mac os x 10.8
how to uninstall a software in mac os x 10.8
-
Question about downloading iOS 5.1
When I try to download iOS 5.1 on my iPad 2 it says there was an error downloading iOS 5.1, what should I try?