Bad Order By Detection
Hello all
This thread is the follow-through from another:
Dodgy Order By detection
There is a problem in APEX to do with it's detection of the "order by" clause.
If an SQL query has the string "order by" (case-insensitive) in it, then APEX will not allow you to use column sorts in reports.
Example of a query that you CAN use column sorts with:
select name, points
from tableExample of a query that you CANNOT use column sorts with:
select name, points
from table
order by pointsThat makes sense, as you shouldn't be able to sort an already sorted result set.
What doesn't make sense is this...
Example of a query that you CAN (but SHOULDN'T) use columns sorts with:
select name, points
from table
order
by points(line break between order and by)
or
select name, points
from table
order by points(2 spaces between order and by)
APEX is simply checking for the presence of the string "order<space>by".
This is, obviously, incorrect.
Example of a problem case:
A query that has...
select row_number() OVER (order by q.value desc) rank, q.*You should be able to sort this, but you cannot...
Unless you put 2 spaces between the order and by words.
Bug :)
A way around this is to create a view:
create or replace view vw_your_table as
select row_number() OVER (order by q.value desc) rank, q.*
from your_table qand select from the view.
Mike
Similar Messages
-
I was looking at the "Find my iPhone" app and I have a doubt regarding how it works for the macbook. In order to detect the location, the macbook should remain signed into iCloud. What if the person who has stolen my macbook logs out of iCloud.
It should work fine for iPhone/iPad because we can enable "Restrictions" to prevent the user from signing out of iCloud. Do we have simialr settings for the macbook?
Thanks,If it's not on the device list, it indicates that someone has gone to Find My iPhone on icloud.com and manually deleted it from the device list (as explained here: http://help.apple.com/icloud/#mmfc0eeddd), and it has not gone back online since (which would cause it to reappear on the device list; Find My iPhone has been turned of in settings on the device; the iClolud account has been deleted from the device; or the entire devices has been erased and restored.
Unfortunately, there's no other way to track the phone other than through Find My iPhone. You could call your carrier and see if they would blackliste it so at least the theif couldn't use it. -
Change item condition in BADI order save with crm_order_maintain
Hi all,
i could update conditions in report but not successful in BADI order save, below is my code in BADI...
what is the problem maybe ? Ths
* Get order info.
CALL FUNCTION 'CRM_ORDER_READ'
EXPORTING
it_header_guid = lt_header_guid
it_requested_objects = lt_requested_objects
IMPORTING
et_ORDERADM_I = lt_ORDERADM_I
ET_TEXT = lt_text
ET_STATUS = lt_status
et_pridoc = et_pridoc
EXCEPTIONS
DOCUMENT_NOT_FOUND = 1
ERROR_OCCURRED = 2
DOCUMENT_LOCKED = 3
NO_CHANGE_AUTHORITY = 4
NO_DISPLAY_AUTHORITY = 5
NO_CHANGE_ALLOWED = 6
OTHERS = 7.
read table lt_ORDERADM_I into ls_ORDERADM_I with key ITM_TYPE = 'YTS1'.
if sy-subrc = 0.
read table et_pridoc INTO es_pridoc index 1.
LOOP AT es_pridoc-pric_cond into es_pric_cond where kposn = ls_ORDERADM_I-guid.
clear is_cond_chg.
move-corresponding es_pric_cond to is_cond_chg.
clear is_cond_chg-kbetr. " clear the amount
INSERT is_cond_chg INTO TABLE is_pridoc-cond_change.
endloop.
CLEAR: lt_input_field_names.
ls_input_field_names-fieldname = 'COND_CHANGE'.
INSERT ls_input_field_names INTO TABLE lt_input_field_names.
CLEAR: cs_input_fields, ct_input_fields.
cs_input_fields-ref_guid = ls_ORDERADM_I-guid.
cs_input_fields-ref_kind = 'B'.
cs_input_fields-objectname = 'PRIDOC'.
cs_input_fields-field_names = lt_input_field_names.
INSERT cs_input_fields INTO table ct_input_fields.
is_pridoc-ref_guid = ls_ORDERADM_I-guid.
is_pridoc-ref_kind = 'B'.
INSERT is_pridoc INTO it_pridoc INDEX 1.
endif.
CALL FUNCTION 'CRM_ORDER_MAINTAIN'
EXPORTING
it_pridoc = it_pridoc
CHANGING
ct_input_fields = ct_input_fields
EXCEPTIONS
error_occurred = 1
document_locked = 2
no_change_allowed = 3
no_authority = 4
OTHERS = 5.Try this Function Modul after Order_Maintain
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait =
IMPORTING
return = .
Edited by: Richard Brünning on Nov 12, 2009 1:55 PM -
Hi all
Just found an annoying bug in Oracle.
(perhaps I should say that the bug is most likely more in Oracle clients, like TOAD and APEX).
I'm not sure if this has been pointed out already, but it's really quite poor.
Say you have a query, like this:
select member_name, member_points
from member_tableIn TOAD or APEX you can then sort the columns however you want (not using an order by, but by using their in-built sort functions).
Now, if you include an order by...
select member_name, member_points
from member_table
order by member_pointsYou can no longer do a column sort in TOAD or APEX.
This seems to make sense, given the results are already sorted.
And the only method used to detect if results can be sorted or not is by the presence or absence of the "order by" clause.
Now, normally that would be fine - if your query orders it's results, then you probably don't want to sort them, right?
The problem?
Instead of analysing the query properly, all that's done is that the exact string "order by" (not case-sensitive) is checked.
If this string is in your query, you cannot sort your results.
Example:
If you have the following query:
select member_name "Member Name", member_points "Order By"
from member_tableYou cannot sort your results.
This is obviously completely stupid, as the "order by" string is only being used as a title!!
In fact, the detection is so bad that while this won't work...
select member_name, member_points
from member_table
order by member_pointsThis will...
select member_name, member_points
from member_table
order
by member_pointsor this...
select member_name, member_points
from member_table
order by member_points(2 spaces between "order" and "by")
Buggy!
Anyone else encountered this problem?
So far it happens in TOAD and APEX.Not an Oracle RDBMS bug, but an APEX bug. (and no, I do not give a damn for TOAD ;-) ).
The problem as you've identified is caused by APEX scanning the SQL, detecting an "ORDER BY" clause, and then assuming the results are already sorted and not allowing you enable APEX's column sort feature on the results.
I ran into it using analytical SQL. My work around is to simply add gunk in between the ORDER and BY tokens.. e.g. (actual snippet from an APEX report query)
row_number() over (order /*--*/ by SUM(bytes) desc) as ORDER_BY_BYTES,
This results in the APEX parser not thinking that the result set is sorted.
You should however raise this issue on the APEX forum here - not really applicable to PL/SQL or SQL or the Oracle RDBMS at all. -
Bad order of a columnin a grid
Hi,
I've a Grid that I populate with a user query, using ExecuteQuery method
form.DataSources.DataTables.Item(idTabella).ExecuteQuery(query)
All is ok, but the order of the column is not correct. For example, if my query is 'Selecr A,B,C from mytable', the column of my Grid are B,C,A.
Every time i need to click 'Form settings' and 'Restore Default'. After this step, all my column is correctly ordered.
There is a table or a config file where Sap write this information?
Thank you
MarcoHi,
check table CPRF and column VisualIndx.
hope it helps
Petr -
CRM Header data not getting refreshed in BADI when clicked in New order
We have used a ORDERADM_H BADI, header badi to populate some custom field values.
Step 1) While creating sales order in CRM(CRMD_ORDER), we are giving inputs such as sold to party , material etc.
Step 2) Before actually saving the order, we found that we dont need this order to be created and again click on create new button in the transaction. In order header BADI, order data for the previous order is not getting refreshed. The previous GUID is still there and function module CRM_ORDER_READ still retrieves the old order values which was cancelled in the previous step. It is causing lot of issues and finally giving dump.
basically the previous GUID is not getting refreshed. Please suggestPls send the code that you have in the Badi. Did you actually compare the GUIDs manually ? Instead of CRM_ORDER_READ have you tried using CRM_ORDER_READ_OW ?
-
both my iphone or ipod is not detected by itunes unless itunes is updated/reinstalled. however whenever i restart my computer it seems itunes uninstalls itself or something and in order to detect my phone it needs to be reinstalled all over again. why is itunes uninstalling itself on my mac when it is restarted?
snow leopard.
Okay. In that case try the following document:
Mac OS X v10.6: iOS device not recognized in iTunes after restart -
CreateStatement() doesn't detect conn reset by peer
Hi to all. Well... it's almost explained in the subject. I am trying to recycle bad connections in a connection pool, so I use createStaement() in order to detect if the connection is valid (I previously tried with isClosed(), but it catches even less bad connections). The problem is that eventually the createStatement() doesn't fail while testing, although the connection is closed, so wen I try to use it... boom. This occurs (sometimes, not always) after the database is shut down and restarted by night for maintainance purposes. But notice that when the db is shutting down, or restarting, then I receive the corresponding SQLException, but it seems that when it is working again, createStatement() is ok (I check it every 60 seconds), but some condition may have occur that makes the connection JUST OPENED by the pool to be bad. The error I receive when using the conn is Connection reset by peer. I guess that the error is related to communications, but can't identify it, because it seems to be random.
Anybody can help me?
Thanks in advance
PS: I know there are other topics in the forum related to Connection reset by peer error, but I have not found my problem.A blast-from-the-past thread...
I have my own connection pool implementation; I don't know how easy this is to add on to an existing pool. (Which is a big reason why I have my own pool code.) You'll need some way to get each connection from the pool in turn; a basic pool may not support that. You'll need to be suitably careful to synchronize so that you don't ping the connection while another thread is using the same connection.
I have a background thread ("PoolManager") which does in pseudocode:
while (true) {
sleep 10 minutes;
foreach pool {
log pool statistics, e.g. pool size, number of open connections, number of fetched connections;
foreach connection in the pool {
synchronize (connection) {
log connection's last use time, how many times used, etc;
if (connection not currently in use) {
if (auto-close old connections configured &&
now > last use time + 20 minutes) {
close connection;
continue;
if (now > last use time + 10 minutes)
// To make auto-close work, this execute doesn't update the last use time.
// Exceptions during this close the connection.
execute "select 42 from dual" on the connection;
}"long last_use_time" is stored for each connection, and set to currentTimeMillis() when the connection is fetched from the pool. The "10 minutes" etc times are configurable, and the dummy ping statement is per-pool configurable. -
Interrupted OSX install on drive and now it's full of bad blocks?
So yesterday I was installing OSX Tiger on an external drive in order to run Disk Warrrior and I decided half thru installation that I'd rather partition the drive and only use up a portion instead so I cancelled the installation by hard reset and now the hard drive won't initialize in Disk Utility and so far the surface scan test reports 28000+ bad blocks. What is the likelihood that my actions could have caused this?
According to the tech from MicroMat, this is not necessarily true.
Interesting. I've been told that there is no way the OS can tell the drive to map out some specific physical block, only that it wants to read or write to some logical sector, which the drive translates to the cooresponding physical one. If the drive detects that the physical one is bad, it maps the logical sector to a spare if it can. This map is kept in the drive's firmware & generally cannot be accessed or changed short of factory-type procedures -- for all practical user purposes, it is a permanent change.
The various tech responses in the URL you mentioned seem to imply this is true. At one point he mentions that TTP's surface scan should not turn up the same bad block more than once, since once accessed the drive will not access that (physical) block again. It also appears that TTP & similar utilities can't actually mark blocks bad either, they instead mark ones they judge marginal as used in the file system, which is no more permanent than the file system itself. (The mention of Intech's SpeedTools Media Scanner somehow getting around this was interesting, though.)
I think what the tech meant about zeroing out data permanently remapping a bad block was in reference to this (the file system map vs. the firmware one), but I'm by no means certain. However, what he said about a multipass zero erase being no better than a single pass one makes me believe the only "miss" involved is for (physical) blocks not yet accessed by the drive.
Certainly, that will delete the partion information ...
I guess I wasn't being clear either. There are partitions that don't store regular data but metadata about the drive format itself, for example if uses an Apple or PC partition scheme. I do not believe such partitions are "zeroed out" with any "Erase" tab option of Disk Utility, although they may be written to, for instance to update the fact that only one Mac volume exists after a 'whole disk' erase.
To sum up, what I'm trying to say is that the drive has to access a sector to detect & map a bad one to a spare. If the drive doesn't do that, no utility will either. They are useful to monitor the rate of bad block creation/detection, but that is primarily a check of the drive's health, not a way to avoid problems resulting from bad blocks themselves. -
Detect potential duplicate vendor master records
Hi all,
Our external auditor has the following comment:
'Match codes and message control can be used to help identify duplicate vendor records. Fields such as Name, Address and Country can be set as searchable fields in order to detect potential duplicate vendor records. The message control (with identifier 144) in SAP can give a message prompt when duplicate vendors are identified.
We noted that your system had not been configured to display a warning message if the name or address, etc of a new record is identical to an existing vendor record.'
Any idea to implement this?
I searched for message 144 and found that there is a similar message in message class F2: 'Vendors found with same address; check', but I cannot find where to trigger this error message.
Please help.
Best Regards,
Chris.Goto SPRO-Financial accounting-Accounts Receivable and Accounts Payable
-vendro account-master data- Preparations for Creating Vendor Master Data
- Change Message Control for Vendor Master Data
here you can maekk the messge 144 to Error -
Detect customers without credit limit
Hi,
in my firm we use credit control for customers in the EXP market.
In SE16N when I go to table KNKK I can pull a list of all customers with credit limits -- they have value "EXP" in field KKBER or no. of credit (equal to customer no.) in field KNKLI.
However I noted that were several customers in table KNA1 that belonged to account group (field KTOKD) no. 0001 or 0003 and technically are part of EXP market, hence should have credit limit, but I cannot find them in table KNKK.
Why is that? When master record is set up it's another process to set credit control for the customer?
Also, I'd like to pull a list of all customers from table KNA1 that belong to EXP market and cross-match them to table KNKK in order to detect if they do not exist in KNKK, i.e. do not have credit control.
How can I do it?
Would appreciate your response. RegardsHi,
Try the T-Code F.32
In this T-code you will get the list of all the customers whose credit limit is not maintained in FD32.
Thanks and regards,
Amitesh Anand -
we have two views with equal key fields which perform very good (order less than 1 second).
Both views give extra fields from data sets.
I want to combine those extra fields in one record with equal key values. Because some key combinations can miss in either one of both sets, I make an extra view with a union only on the keyfields of both views and use this view as driver for the combination, so I join both original views open with this driver. When I now query the resultview the performance is bad (order 3.5 minutes).
(This is independent of the number of result records)
Explain plan shows no full table scans.
Any suggestions to improve this construction??I have split the two parts of the union query, and analysed both parts separately, see below.
The subviews perform as follows:
c_contr_opb_CD with restriction on contract_no 7 rows in 0:02 seconds
without restrictions 2216 records in 3:34 minutes
c_contr_opb_B with restriction on contract_no 5 rows in 0:01 seconds
without restrictions 1567 records in 0:05 minutes
(in both views are 1332 records with common keys)
When I make the view over an open join of both views and I use the
c_contr_opb_B as driver then it performs with and without restriction
on contract_no the same, suggesting it performs the 'group by'-clause in
the view c_contr_opb_CD before applying the restriction.
When, on the other hand I use the view c_contr_opb_CD as driver it seems to
apply the restriction before the 'group by'-clause in the view.
Is there a way to always apply the restriction berore the 'group by' clause
select tB.Contract_no
, tB.agc
, tB.salesgroup
, tB.B_pricing
, tB.B_No_of_elements
, tB.B_m3_elements
, tB.C_complete
, tCD.C_pricing
, tCD.C_No_of_elements
, tCD.C_m3_elements
, tCD.D_pricing
, tCD.D_No_of_elements
, tCD.D_m3_elements
from c_contr_opb_CD tCD
, c_contr_opb_B tB
where (tCD.Contract_no(+) = tB.Contract_no
and tCD.agc(+) = tB.agc
and tCD.salesgroup(+) = tB.salesgroup)
and tB.contract_no=lpad('20042002',20);
query in 3:40 minutes, result 5 records
Options Object Operation
SELECT STATEMENT
OUTER MERGE JOIN
JOIN SORT
C_CONTR_OPB_B VIEW
GROUP BY SORT
VIEW
UNION-ALL
NESTED LOOPS
UNIQUE SCAN PK_CMHD INDEX
BY INDEX ROWID CMMT TABLE ACCESS
RANGE SCAN PK_CMMT INDEX
NESTED LOOPS
UNIQUE SCAN PK_CMHD INDEX
BY INDEX ROWID CMSV TABLE ACCESS
RANGE SCAN PK_CMSV INDEX
JOIN SORT
C_CONTR_OPB_CD VIEW
GROUP BY SORT
VIEW
UNION-ALL
NESTED LOOPS
RANGE SCAN X_SHP_CM INDEX
BY INDEX ROWID CMMT TABLE ACCESS
RANGE SCAN PK_CMMT INDEX
NESTED LOOPS
RANGE SCAN X_SHP_CM INDEX
BY INDEX ROWID CMSV TABLE ACCESS
RANGE SCAN PK_CMSV INDEX
28 rows selected.
select tCD.Contract_no
, tCD.agc
, tCD.salesgroup
, tB.B_pricing
, tB.B_No_of_elements
, tB.B_m3_elements
, tB.C_complete
, tCD.C_pricing
, tCD.C_No_of_elements
, tCD.C_m3_elements
, tCD.D_pricing
, tCD.D_No_of_elements
, tCD.D_m3_elements
from c_contr_opb_B tB
, c_contr_opb_CD tCD
where (tB.Contract_no(+) = tCD.Contract_no
and tB.agc(+) = tCD.agc
and tB.salesgroup(+) = tCD.salesgroup)
and tCD.contract_no=lpad('20042002',20);
query in 0:05 minutes, result 7 rows
Options Object Operation
SELECT STATEMENT
OUTER MERGE JOIN
JOIN SORT
C_CONTR_OPB_CD VIEW
GROUP BY SORT
VIEW
UNION-ALL
NESTED LOOPS
UNIQUE SCAN PK_CMHD INDEX
BY INDEX ROWID CMMT TABLE ACCESS
RANGE SCAN PK_CMMT INDEX
NESTED LOOPS
UNIQUE SCAN PK_CMHD INDEX
BY INDEX ROWID CMSV TABLE ACCESS
RANGE SCAN PK_CMSV INDEX
JOIN SORT
C_CONTR_OPB_B VIEW
GROUP BY SORT
VIEW
UNION-ALL
NESTED LOOPS
RANGE SCAN X_SHP_CM INDEX
BY INDEX ROWID CMMT TABLE ACCESS
RANGE SCAN PK_CMMT INDEX
NESTED LOOPS
RANGE SCAN X_SHP_CM INDEX
BY INDEX ROWID CMSV TABLE ACCESS
RANGE SCAN PK_CMSV INDEX
create or replace view c_contr_opb_B as
select Contract_no
, agc
, salesgroup
, min(C_complete) C_complete
, sum(B_pricing) B_pricing
, sum(B_No_of_elements) B_No_of_elements
, sum(B_m3_elements) B_m3_elements
from ( select h.cm_num Contract_no
, ms.agc
, ms.sales_group salesgroup
, decode(ms.closed_reason,'C001','*',' ') C_complete
, ms.unit_price*ms.ord_qty B_pricing
, decode(ms.agc,'PROJ',fnc_struct_m3(ms.ccn,ms.structure_id,ms.structure_rev)
,0)*ms.ord_qty B_m3_elements
, ms.ord_qty B_No_of_elements
from cmmt ms
, cmhd h
where ms.ccn = h.ccn
and ms.cm_num = h.cm_num
and ms.price_bucket = 'B'
and ms.closed_reason in ('C001',' ')
and h.ccn = 'SPAN'
UNION ALL
select h.cm_num Contract_no
, ms.agc
, ms.sales_group salesgroup
, decode(ms.closed_reason,'C001','*',' ') C_complete
, ms.unit_price*ms.ord_qty B_pricing
, 0 B_m3_elememts
, ms.ord_qty B_No_of_elements
from cmsv ms
, cmhd h
where ms.ccn = h.ccn
and ms.cm_num = h.cm_num
and ms.price_bucket = 'B'
and ms.closed_reason in ('C001',' ')
and h.ccn = 'SPAN'
) group by Contract_no
, agc
, salesgroup
create or replace view c_contr_opb_CD as
select Contract_no
, agc
, salesgroup
, sum(C_pricing) C_pricing
, sum(C_No_of_elements) C_No_of_elements
, sum(C_m3_elements) C_m3_elements
, sum(D_pricing) D_pricing
, sum(D_No_of_elements) D_No_of_elements
, sum(D_m3_elements) D_m3_elements
from ( select h.cm_num Contract_no
, ms.agc
, ms.sales_group salesgroup
, ms.unit_price*ms.ord_qty C_pricing
, ms.ord_qty C_No_of_elements
, decode(ms.agc,'PROJ',fnc_item_m3(ms.ccn,ms.item,ms.revision),0)
*ms.ord_qty C_m3_elements
, ms.unit_price*ms.ord_qty D_pricing
, decode(ms.agc,'PROJ',fnc_item_aantal_D(ms.ccn,ms.item,ms.revision),0)
D_No_of_elements
, decode(ms.agc,'PROJ',fnc_item_m3_D(ms.ccn,ms.item,ms.revision),0)
* decode(ms.agc,'PROJ',fnc_item_aantal_D(ms.ccn,ms.item,ms.revision),0)
D_m3_elements
from cmmt ms
, cmhd h
where ms.ccn = h.ccn
and ms.cm_num = h.cm_num
and ms.price_bucket = 'C'
and ms.closed_reason in ('F001','F003',' ')
and h.ccn = 'SPAN'
UNION ALL
select h.cm_num Contract_no
, ms.agc
, ms.sales_group salesgroup
, ms.unit_price*ms.ord_qty C_pricing
, ms.ord_qty C_No_of_elements
, 0 C_m3_elememts
, ms.unit_price*ms.ord_qty D_pricing
, 0 D_No_of_elements
, 0 D_m3_elements
from cmsv ms
, cmhd h
where ms.ccn = h.ccn
and ms.cm_num = h.cm_num
and ms.price_bucket = 'C'
and ms.closed_reason in ('F001','F003',' ')
and h.ccn = 'SPAN'
) group by Contract_no
, agc
, salesgroup -
Problem with BPC 10 REST SERVICE. (Write-Back BAdI)
Hello!
We have implemented a Write-Back BAdI order to write values to a parent and copy those values to their children in the hierarchy. Proper operation.
Then through the Default Logic we are making various calculations (many to be honest), based on the data recorded with the Write-Back BADI.
The problem arises when we try to write in a parent hierarchy with many children.
We receive the following message in Excel.
We have configured the service as follows
The transaction st22 says nothing about our problem.
If I go to log the EPM Add-in for Excel see the following. A problem with REST service (I think that is the PROBLEM)
Write-Back BAdI writes values properly.
Thank you!Thanks for answering.
Yes, if I try to write in a parent without Default.lgf there is no problem. I performed the test to the parent node of all hierachy.
I send the Default.lgf and the others scripts .
I think the problem is that the communication between BPC and Netweaver is lost, which is done through the REST service??
thank you very much. -
How to detect wi-fi segnal strenght?
Hi,
i was wandering if there is an AIR API in order to detect how many wi-fi segnals mobile phone's detecting, and how much strenght they are.
ThanksI should have mentioned that you can submit and vote for features at http://ideas.adobe.com
-
Purchase Orders replicated in BE with wrong number
Hello,
Recently we've observed that in our dev system Purchase Orders are being replicated from SRM to R/3 System with numbers used for POs created in R/3,
Let say, for example, that in SRM the PO number starts with 33 and once the PO is replicated it's created with a number that starts with 45.
Once POs are replicated, there are no links between this PO and the one in SRM shown in bbp_pd.
So we want to know what checks (transactions) we must check in order to detect what could the reason for this behaviour.
Any advice is welcome.Dear Elias,
please check number ranges which was defined in SRM for PO's.
The number ranges for PO's in SRM should be defined as internal, the same number range should be define as external in R/3.
The number ranges for PO's in SRM which was defined in SRM already defined in R/3 previously and in use.
Regards
vasanth
Maybe you are looking for
-
How to store an excel sheet in oracle database
How can I store excel sheet into oracle.
-
Hi i just retired to iPhone 6 but my apps are not working please help
apps are not working on my new iPhone 6
-
Audio playback during preview mode, where does it go and how to get it back
O.K so after many pain staking hours, spending $300 bucks on a DV to analog converter box (I know, but I just did not want to use my camera) I finally get real time video playback on my NTSC monitor. Now I can't hear any audio. I know I can set video
-
I had to reset my phone and now when I text my contacts are not showing up
I had to reset my phone and now when I send and receive text messages it is not showing the contact name only the phone number. Help.
-
Is it possible to record directly from a turntable with a moving coil cartridge in Audition 3. I am able to record directly from my cassette tape deck