Hi nedash,
To avoid the error specifying TOP would be one possibility.
ALTER PROCEDURE [dbo].[Select_DocTopicMain]
AS
BEGIN
SET NOCOUNT ON
SELECT DISTINCT Topic,TopicId
FROM (
SELECT TOP 100 PERCENT Topic,TopicId,Preference
FROM Documentry_Info
WHERE Topic IS NOT NULL
ORDER BY Preference ASC
) a
END