See, this is all wrong. I wouldn't go about retrieving scalar values through a DataSet. Try the DataReader or one of its derivative classes like SqlDataReader.
you would do something like this:
Command = new SqlCommand();
Command.Connection = Connection;
Command.CommandType = CommandType.StoredProcedure;
Command.CommandText = "abc";
Command.Parameters.Add(new SqlParameter("@pcode", SqlDbType.VarChar,5000));
Command.Parameters.Add(new SqlParameter("@RETURNVALUE", SqlDbType.Int));
Command.Parameters["@pcode"].Value = abcValue.pcode;
Command.Parameters["@RETURNVALUE"].Direction = ParameterDirection.Output;
if (Command.Connection.State != ConnectionState.Open)
Command.Connection.Open();
Command.ExecuteNonQuery();
return (int)Command.Parameters["@RETURNVALUE"].Value;