Splitting the internal table values
I have a internal table with say 10000 lines i want to split it as 5000 and 5000 lines.How to code it?
Moderator message: please try solving this yourself before asking, e.g. by studying the options of the LOOP statement.
Edited by: Thomas Zloch on Nov 24, 2010 4:20 PM
e.g.:
loop at itab.
add 1 to count.
if count <= 500.
move-corresponding itab to itab2.
collec titab2.
else.
move-corresponding itab to itab3.
collec titab3.
endloop.
Similar Messages
-
Summing the internal table values
Hi Experts,
I have requirement in report to add the values in the internal table based on document no.
for example
Document no date Amount Exchange Rate
190000012 05.04.2009 100 1
190000012 05.04.2009 200 1
190000012 05.04.2009 300 1
190000013 05.04.2009 100 1
190000013 05.04.2009 200 1
190000014 05.04.2009 100 1
If i use Collect or On change statements , the exchange rate is also adding
Document no date Amount Exchange Rate
190000012 05.04.2009 600 3
190000013 05.04.2009 300 2
190000014 05.04.2009 100 1
But i want to add only the amount field not the exchange rate .Please suggest me the best solutions.
I want to display as
Document no date Amount Exchange Rate
190000012 05.04.2009 600 1
190000013 05.04.2009 300 1
190000014 05.04.2009 100 1
Thanks in advance
satishhi,
check this
Sort itab by documentno.
Loop at itab1.
on change of itab1-dcno.
clear total.
move itab1-docno to itab2-docno.
itab2-total = itab-amont.
move itab1-total to itab2-total.
move itab1-date to itab2-date.
move itab1-rate to itab2-rate.
flag = ' '.
append itab2.
clear itab2.
else.
itab2-total = itab2-total + itab-amont.
endon
Endloop.
it will work for adjest append statement according to the out put .
~linganna -
Can't get the internal table values
hi all,
i have created a report in which i have DISPLAY EKPO-BANFN and EKKO-EBLEN.For this reason i have created an internal table gi_final,in which my values of both table are coming through.Following are the codes and structure of internal table:
BEGIN OF gi_final OCCURS 0,
matnr LIKE ekpo-matnr,
ematn LIKE ekpo-ematn, "Material Number
txz01 LIKE ekpo-txz01, "Mareial Description
ktmng LIKE ekpo-ktmng, "Quantity
netpr LIKE ekpo-netpr, "Rate
anfnr LIKE ekpo-anfnr, "RFQ No.
banfn LIKE ekpo-banfn, "Purchase Requisition Number
ebeln LIKE ekko-ebeln, "Purcahse Order
ekorg LIKE ekko-ekorg,
bstyp LIKE ekko-bstyp, "Purchasing Document Category
submi LIKE ekko-submi, "Collective Number
lifnr LIKE ekko-lifnr, "Vendor Number
bedat LIKE ekko-bedat, "Purchase Order Date
END OF gi_final.
select ekko~ebeln ematn txz01 ktmng banfn
from
ekpo
inner join ekko on
ekpo~ebeln eq ekko~ebeln
into
corresponding fields of table gi_final
where
ekko~ekorg in s_ekorg and
ekko~ebeln in s_ebeln and
ekko~submi in s_submi and
ekko~lifnr in s_lifnr.
READ TABLE gi_final WITH KEY ebeln = gi_final-ebeln.
MOVE gi_final-banfn to gi_detail-banfn.
MOVE lv_netpr to gi_detail-netpr.
MOVE gi_final-ematn TO gi_detail-ematn.
MOVE gi_final-txz01 TO gi_detail-txz01.
MOVE gi_final-ktmng TO gi_detail-ktmng.
Probelm is that when i execute it with Debugger my internal table can't get the values of EBELN and BANFN.
Thanks & Regards,
sapabappk
Edited by: sapabappk on Sep 26, 2010 10:32 AMHI ,
BEGIN OF gi_final OCCURS 0,
matnr LIKE ekpo-matnr,
ematn LIKE ekpo-ematn, "Material Number
txz01 LIKE ekpo-txz01, "Mareial Description
ktmng LIKE ekpo-ktmng, "Quantity
netpr LIKE ekpo-netpr, "Rate
anfnr LIKE ekpo-anfnr, "RFQ No.
banfn LIKE ekpo-banfn, "Purchase Requisition Number
ebeln LIKE ekko-ebeln, "Purcahse Order
ekorg LIKE ekko-ekorg,
bstyp LIKE ekko-bstyp, "Purchasing Document Category
submi LIKE ekko-submi, "Collective Number
lifnr LIKE ekko-lifnr, "Vendor Number
bedat LIKE ekko-bedat, "Purchase Order Date
END OF gi_final.
select ekko~ebeln ematn txz01 ktmng banfn
from
ekpo
inner join ekko on
ekpoebeln eq ekkoebeln
into
corresponding fields of table gi_final
where
ekko~ekorg in s_ekorg and
ekko~ebeln in s_ebeln and
ekko~submi in s_submi and
ekko~lifnr in s_lifnr.
READ TABLE gi_final WITH KEY ebeln = gi_final-ebeln.
MOVE gi_final-banfn to gi_detail-banfn.
MOVE lv_netpr to gi_detail-netpr.
MOVE gi_final-ematn TO gi_detail-ematn.
MOVE gi_final-txz01 TO gi_detail-txz01.
MOVE gi_final-ktmng TO gi_detail-ktmng.
Why you are reading gi_final table and comparing same table field gi_final-ebeln ?
how is gi_detail table declared ?
just do like this
loop at gi_final .
MOVE gi_final-banfn to gi_detail-banfn.
MOVE gi_final-ematn TO gi_detail-ematn.
MOVE gi_final-txz01 TO gi_detail-txz01.
MOVE gi_final-ktmng TO gi_detail-ktmng.
append gi_detail .
clear gi_detail
endloop.
and From where you are getting value of lv_netpr
MOVE lv_netpr to gi_detail-netpr.
then you will get data in gi_detail
Regards
Deepak. -
Hi,
Good day guys
hope every one doing well.. i have problem with smart form.. I developed the smart form.. Data will be pulling from zprogramme.
in the final internal table is having top 20 customers by branch wise which is 17 branches..
Its like One-by-ne branch data....
In the form level.. i need to desing the data.. Every page should come two branches..
now iam getting the problem.. first page getting Two branches.. but rest of the pages will get the 2 and half branches data like
so... can any one advice me..
regardsHi,
So you can do one thing. Store data for 2 brnaches in one internal table and pass that to fisrt page. then for second page take data for next 2 branches in another internal table and display it.
I think it should solve your problem.
Thanks,
Archana -
Hi experts,
I have intenal table like...
aa 10 20
bb 11 21
cc 13 30
aa 22 33
bb 45 22
cc 12 22
here i want to add the same record in one line like...
aa 10 20 22 33
bb 11 21 45 22
cc 13 30 12 22
Plese help me........jst copy paste n execute.......
types : begin of ty_tab,
f1 type char2,
f2 type char2,
f3 type char2,
f4 type char2,
f5 type char2,
End of ty_tab.
data : itab type ty_tab occurs 0 with header line.
data : itab1 type ty_tab occurs 0 with header line.
data : var1 type char2.
itab-f1 = 'aa'.
itab-f3 = '10'.
itab-f2 = '20'.
append itab.
itab-f1 = 'bb'.
itab-f3 = '11'.
itab-f2 = '21'.
append itab.
itab-f1 = 'cc'.
itab-f3 = '12'.
itab-f2 = '22'.
append itab.
itab-f1 = 'bb'.
itab-f3 = '11'.
itab-f2 = '21'.
append itab.
itab-f1 = 'aa'.
itab-f3 = '30'.
itab-f2 = '40'.
append itab.
itab-f1 = 'bb'.
itab-f3 = '31'.
itab-f2 = '41'.
append itab.
itab-f1 = 'bb'.
itab-f3 = '32'.
itab-f2 = '42'.
append itab.
sort itab by f1.
loop at itab .
if var1 is initial.
var1 = itab-F1.
itab1-F1 = itab-F1.
itab1-F2 = itab-F2.
itab1-F3 = itab-F3.
Elseif var1 <> itab-F1.
append itab1.
var1 = itab-F1.
itab1-F1 = itab-F1.
itab1-F2 = itab-F2.
itab1-F3 = itab-F3.
Elseif var1 = itab-F1.
itab1-F4 = itab-F2.
itab1-F5 = itab-F3.
endif.
Endloop. -
Mail to all the employess in the internal table.
Hi Experts,
I have a internal table where the employee IDs are saved.. I need to send a mail to all the employees in the internal table. How will i be able to send a mail from the function module SAP_WAPI_START_WORKFLOW? where will i pass the internal table values and what need to be put in the mail recepient part?
Regards,
LavanyaFirst, if you are ONLY sending e-mails, you need to look into solutions other than workflow.
Still, since you already have the workflow, you can pass an internal table with a list of all e-mail addresses to the workflow:
- Define a multiline container element (import parameter) in the workflow. You could utilize the current e-mail address field (just mark it as multiline.
- Pass that multiline element as the recipient of the e-mail (you can click F4 on the recipient field and then select the blue-looking table field). -
Value not moved to work are of the internal table
HI
I have one internal table declared with occurs 2500.
i am selecting the values from a z table into this internal table.
now i want to move the values in the table to another internal table for download.here except one field all the other fields are moving to the new internal table.When i debugged i could see the value in the internal table but its not getting moved to work area of that internal table (or the header line).
I could not see the value when i use itab[]-field in debugger mode instead when i use itab[1]-field i could see that field value.
please do suggest.There is no need to move your data from one internal table to another with fixed structure. All you need to do is take each row's components skipping the column you don't want to download and concatenate this to some string. Then append to string table and download it. Sample:
"let's say your column is on 3rd place in the table
data l_row_string type string.
data lt_string_tab type table of string.
Loop at itab assigning <wa>.
do.
check sy-index ne 3. "skip this column
assign component sy-index of structure <wa> to <comp>.
if sy-subrc = 0.
CONCATENATE l_row_string <comp> INTO l_row_string SEPARATED BY cl_abap_char_utilities=>horizontal_tab.
else.
"no more component in row
append l_row_string to lt_string_tab.
clear l_row_string.
exit.
endif.
enddo.
endloop.
Now all you need is to downlaod your lt_string_tab as your text file (extension TXT).
Regards
Marcin -
Number of entries in the internal table for perticular field value
hi All,
Is this possible to get the count of records from the internal table for a perticular field value.
currently my requirement is to get the entries from the internal table which does not have two records for perticular field value (say a = 123) whose status is active (say b = 'X').
also suggets should use LOOP or DELETE or DESCRIBE for a internal table to ful fill this requirement.
Thanks in advance.
PradeepTry like this..
Create another table itab2 with same structure as itab1 & move the contents of itab1 to itab2
ITAB2[] = ITAB1[].
Then delete entries from itab2
Delete itab2 whete a = '123' and b = 'X'
Then use Describe statement to get the no of entries
Describe table itab2 lines v_lines.
Hope this helps... -
Submititng the program to another program using internal table values
Hi All,
How to Submit from one program to another program using internal table values minimum 7 int tables without using the seletion screen
thanks
rajHi All,
Thank you very much for your inputs.
i am facing another issue:
For each 10,000 records it should trigger a job (we are trying to call a program) were the validation will be done only through the other program.
please find the code mentioned below :
TABLES : but000.
DATA: int_bp LIKE but000 OCCURS 0 WITH HEADER LINE.
data released like BTCH0000-CHAR1.
DATA: jobnumber LIKE tbtcjob-jobcount, " Job ID and
jobname LIKE tbtcjob-jobname, " job name.
startdate LIKE tbtcjob-sdlstrtdt, " Start-time
starttime LIKE tbtcjob-sdlstrttm, " window specs.
laststartdate LIKE tbtcjob-laststrtdt,
laststarttime LIKE tbtcjob-laststrttm,
job_released LIKE btch0000-char1. " JOB_CLOSE: Was job released?
DATA : l1 TYPE i,
b_size TYPE i,
b_cursor TYPE cursor.
INITIALIZATION.
b_size = 5000.
START-OF-SELECTION.
OPEN CURSOR WITH HOLD b_cursor
FOR
SELECT *
FROM but000
WHERE bpkind = 'AA'.
IF sy-subrc = 0.
DO.
FETCH NEXT CURSOR b_cursor INTO TABLE int_bp
PACKAGE SIZE b_size.
Note : here in this point we are getting a dump for the second job trigger.
IF sy-subrc = 0.
CLEAR jobname.
CONCATENATE sy-repid sy-datum sy-uzeit INTO jobname.
export int_bp to memory id 'ABC'.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = jobname
IMPORTING
jobcount = jobnumber.
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4
CALL FUNCTION 'JOB_SUBMIT'
EXPORTING
authcknam = sy-uname
jobname = jobname
jobcount = jobnumber
report = 'YTEST_RRR'.
variant = lv_variant.
SUBMIT ytest_rrr
VIA JOB jobname NUMBER jobnumber
AND RETURN.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
event_periodic = 'X'
jobcount = jobnumber
jobname = jobname
strtimmed = 'X'
IMPORTING
job_was_released = released
else.
EXIT.
ENDIF.
ENDDO.
calling program :
REPORT YTEST_RRR .
data itab1 like but000 occurs 0 with header line.
data l type i.
import itab1 from memory id 'ABC' .
describe table itab1 lines l.
free memory id 'ABC'.
write:/ 'total records are:', l.
Please give your suggestion why its going for dump in the second iteration.
thanks in advance. -
Conversion of a string output and store them into the internal table fields
Hi,
I'm writing a program in which I'm populating the values generated in TCODE- 'AL11' I'm able to retrieve the data in string format but I've to break the string and put the values in an internal table. The internal table has fields of various lengths and no specific position where I can use a delimiter and use the Split command.
Kindly provide me suggestions how I can break the string and assign the values in the fields of the internal table.
Regards,
Sreedhar.Hi,
Take the screen fields length and create an internal table.
loop the internal table and first split the string at delimeter( use cl_abap_char_utilities)
CONSTANTS:
c_delimiter TYPE c VALUE
cl_abap_char_utilities=>horizontal_tab,
c_delimiter_enter TYPE c VALUE
cl_abap_char_utilities=>cr_lf.
loop at itab into fs.
SPLIT w_str AT c_delimiter_enter INTO w_str w_dummy .
" SPLITTING AT 'ENTER KEY'
SPLIT w_str AT c_delimiter INTO
" SPLITTING AT 'TAB'
fs-f1,
fs-f2.
append fs to itab.
clear fs.
endloop. -
Totals for the internal table field in alv
Hi Gurus,
I have an issue in displaying the totals in alv.
I have an internal table with the three fields like below.
scrap_code_001 like afru-xmnga, " Scrap Reason Qty.
scrap_code_002 like afru-xmnga, " Scrap Reason Qty.
scrap_code_003 like afru-xmnga, " Scrap Reason Qty.
In the output table which i am passing to the fieldcatlog is having the three above fields with values 10,3,4 respectively.
I am looping at the internal table
loop at gt_grund.
gv_tabix = sy-tabix.
i_fieldcat-no_zero = gc_x.
i_fieldcat-do_sum = gc_x.
perform assign_alv_qty_format.
if gt_grund-grund is initial.
gt_grund = 'NONE'.
gv_text = gt_grund.
else.
gv_text = gt_grund-grdtx.
endif.
gv_tabixn = gv_tabix.
gv_scrap_code+11(03) = gv_tabixn.
gv_fieldname = gv_scrap_code.
translate gv_fieldname to upper case.
perform bild_fieldcat using
gv_fieldname 'GT_REPORT' 'AFRU' gv_text 'QUAN' '12' ' ' .
endif.
endloop.
But in the output I am getting the totals but it displays totals for all the three columns as 17,17,17 (summing 10,3,4).
How do I display total as 10,3,4 for each column separately.
I appreciate you help and award points for the answerHi,
Please check if value fields i_fieldcat-ref_fieldname and i_fieldcat-ref_tabname regard to numc or curr type.
EX: i_fieldcat-ref_fieldname = 'WRBTR'
I_fieldcat-ref_tabname = 'BSEG'.
Regards,
Fernando -
Data overflow in the internal table
Hi Friends,
I am hitting table CDHDR and getting a huge data based on date range and the problem is the internal table is not able to hold the entire data selected and hence it is going for run time error. Could you please suggest an idea to overcome this?
Thanks in advance,
RamHi,
here is the code i have written...
Get all changes to materials in the given date range
SELECT objectclas " Object Class
objectid " Object Value
changenr " Change Document Number
udate " Changed Date
utime " Changed Time
FROM cdhdr
INTO TABLE gt_cdhdr
WHERE objectclas EQ c_clas_material
AND udate IN s_date.
Regards,
Ram -
To split the payment document value as per the line items of the P O
To split the payment document value as per the line items of the purchase order in the period of payment, so that the payment amounts are measured against the Capex order assigned as account assignment in the purchase order.(Account assignment tab for the individual line item in the PO.
Example:
Inputs:
Purchase Order 3100012345, line item 10 value 6000 line item 20 value 4000
VAT @10% , account assignment for PO line item 10(Internal Order no 10001) & line item 20 Internal Order 10002) G/ R no 5105105101 for Rs10,000.
The I/R doc 501501501 appears as follows: (MIRO)
Line 10: Value Rs 6,000
20: Value Rs 4,000
VAT Rs 600
Rs 400
Total Rs11, 000
Withholding Tax Rs 1,100
The accounting entry for MIRO happens as follows: doc 2102102101
GR/IR Dr Rs 10,000
VAT Dr Rs 1.000
Vendor Cr Rs9, 900
TDS due Cr Rs1, 100
The business expects the payment report as follows:payment doc 2001200101
PO Line item Internal Order MIRO Invoice Payment Payment period Amount
A/c doc number doc number
3400012345 10 10001 5605605601 2102102101 2001200101 001/2009 5940
3400012345 20 10002 5605605601 2102102101 2001200101 001/2009 3960
Currently we are able to show the amounts as Rs 6000 for line item 10 & Rs 4000 for line item 20.
The problems faced.
1. The VAT line items are auto created, hence the reference of purchase order number and line item are not available. So the VAT portion which is part of payment liability does not get reflected against the PO.(not able to show the VAT portion , when we try to show the payment amount per PO line item.)
2. The withholding tax is also a problem; WHT is not calculated and assigned per line item. It is calculated on the total amount of basic and VAT. Because of these reasons, the payment could not be shown properly according to the line item of the purchase order.
3. When part payment is made, against invoices, there is no provision to assign a payment amount against a particular line item. Further, when final payment is made in different period, the clearing document will get generated. That adds to the complexity of differentiating full payments and part payments final clearing.
4. When residual payment is made, a new line item is created. Here assignment of Purchase order line item against payment for residual items become a problem.
5. Many a times advance payments are made. Later the invoice is created and balance payment is made. In those situations, the clearing document creates one more line item and makes payment for the balance item. This adds complexity in bringing balance payment alone and to split as per the purchase order line item. The clearing document number system is multi dimensional. It creates two line items for the same item (one at the time of advance and another the time of clearing.)
6. When full payment is made, the payment document number and clearing document numbers are same. In cases of subsequent or partial or residual payment, the document numbers are different. Because of this, the part payment amounts are shown in the period, where the final payment and clearing are made.
Please suggest a way to split the payment amount in the exact posting period with all the considerations given above.
Regards
Sundararajan
Edited by: Sundarajan Venkatachari on Sep 30, 2009 11:04 AMHi,
See Note 301077 - User exits for the interface to accounting, although I think that there isn't this kind of option. Note 429117 - Collective note advice note SD-FI interface will be useful too.
I think that SAP Note 1085921 - Document split perhaps will help you
Regards
Eduardo -
Creating MS- Access data base from the Internal tables data of an ABAP Prog
Hi,
I have a requirement where I have to create Access tables from the Internal tables of ABAP program.
The tables are like Project systems Header data, WBS elements data, Netwrok data, Activity data, Milestone data and Project revunes. I will have the internal tables for these. I want to transfer these tables data into MS-Access tables onto Users desktop.
Please adivce me how to do this.
Thanks,
PrabhakarHI,
I am trying to create a DB table in the access but I am not successful. The following is the format of the table needs to be created from the ABAP program.
I have created a table with the following format in MS-Access with the name tblHeader. Is it neccessary to create a DB table ( MS-Access) in advance or by using the FM STRUCTURE_EXPORT_ TO_MSACCESS we need to create a structure in MS-Access?
False tblHeader
Field Name Type Length
ProjectDef Text 255
ProjectDes Text 255
Created Text 50
Change Text 50
RespPerson Text 255
Profile Text 255
Plant Text 255
ObjNo Text 255
OverheadKey Text 255
I have created a Z table ZTAB1 with the same format from the SAP fields.
MS-Access Table name : tblHeader
ABAP program Internal table : t_tblheader
Z table Name : ZTAB1.
First I am trying to create a structure in MS-Access with the following FM.
CALL FUNCTION 'STRUCTURE_EXPORT_ TO_MSACCESS'
EXPORTING
dbname = 'D:\test\db2'
LANGU = SY-LANGU
dest = 'PS_ACCESS_1'
TABLES
tabname = ttblheader
EXCEPTIONS
system_failure = 1
comm_failure = 2
OTHERS = 3
Table ttblheader type is DFIES and I am filling the table with only one record and one field i.e TABNAME and the value is ZTAB1.
The source code of the FM is using another FM
CALL FUNCTION 'MSACCESS_STRUCT_ EXPORT_RFC' DESTINATION DEST
Here I am getting the Error message Object required. I can't able to create a table structure in MS-Access.
Next I am going to Use the FM
'TABLE_EXPORT_ TO_MSACCESS'
and it will create the records in the MS-access table.
CALL FUNCTION 'TABLE_EXPORT_ TO_MSACCESS'
EXPORTING
dbname = 'D:\test\db2'
langu = sy-langu
dest = 'PS_ACCESS_2'
tabname = 'ZTAB1'
reftable = 'tblheader'
FLG_NO_DOWNLOAD = ' '
FLG_APPEND = ' '
FLG_POPUP = ' '
TABLES
dtab = t_tblheader
here t_tblheader is the internal table.
Reftable = tblheader is the table which i have created in advance. ( not by using the First FM)
In this FM i am getting a error message : Unable to connect to Database D:\test\db2.
Please help me how to create the MS-Access database. -
How to Pass the Internal table of a report to Smart Form
Hi Experts,
I have one report in which from selection screen i am getting the values from the users, and upon that values i am filling data in to the internal table.
Now i want to pass that internal table data to the smart form
and print that data in the smart form.
So could you pls give me some pseudo code or any steps to achieve it.
Thanks & Regards,
DSHi DS,
First of all you need to create a SF and then need to call the FM generated by the FM in your report.
In the SF in the form interface>tables tab>mention the name of the table and its type structure.
Pls note that a new structure has to be created as the same type of your internal table which holds the data.
And the import and export parameters as just the same as in a FM.
Now after you create and activate your SF a FM will be generated (wen u execute your SF you will be taken to this SE37 screen with the name of FM so no probs..)
You can call this FM in your report. Hope this helps.
Ex:
say itab has your final data, and you also want to export a variable var1 to the SF.
after your normal report operations end, call the FM and pass on these data.
say your FM name is FM1.
call function FM1
exporting
var1 = var1
tables
itab1 = itab1.
pls note that in the SF also i gave the same names, it is not mandatory to give the same names.
and as you want to print a table in the smartforms, you need to create a table in the smart forms and then display the data which is quite simple.
Hope this helps...
if you need any further explanations, pls revert...
Regards,
Narendra.
Reward points if helpful!!!
Maybe you are looking for
-
I have been generally quite happy with my access to and use of Aperture 3.2.2 (recently purchased) for import and manipulation of photos and movies, etc.I am using Aperture on a MacBook Pro OSX 10.6.8. However I have been unable to print high quality
-
How to create a custom query button in Portal?
Hello, I have a requirement. In the portal form developed on a table, I have a EmpCD field which is a LOV. when I select a empcd from the LOV, I want to display that empcd details like EmpName, EmpDept, etc. Is is possible to auto-refresh the page wi
-
Payment advice (Invoice no. & FCN No.)
Hi, At my client payers send ERA (instead of payment advice). In ERA they send us our invoice number as well their internally generated FCN no. (These no they use to keep track of our invoices in their system ). If we want to give them credit memo th
-
User-defined object dll saving.
Hi Experts, we have successfully created a User-defined object and we have registered it. When we try to save a dll we have created by code we get an error," invalid path" any ideas what will cause such an error. Urgent help to solve this will be app
-
Scandisk or defrag fail to recognize hd volume
hello all, and happy holidays. i've had this issue b4 but didnt pay too much attention to it, but now it has happened again so i am a bit bothered. i have seagate 7200.7 120GB sata drive with ncq hooked to the nvidia sata controller #2. The drive has