Please see the following two examples that demonstrate the same results with and without break. I assume that you don't want to use break because you are not excecuting from SQL*Plus. If you are executing in pl/sql prior to version 9i of Oracle you will have to execute it dynamically, because, prior to that, the analytic functions were only available in SQL, not PL/SQL. The same may apply if you are executing from some other calling environment.
scott@ORA92> -- with break:
scott@ORA92> BREAK ON deptno ON job
scott@ORA92> SELECT deptno, job, ename
2 FROM emp
3 ORDER BY deptno, job, ename
4 /
DEPTNO JOB ENAME
---------- --------- ----------
10 CLERK MILLER
MANAGER CLARK
PRESIDENT KING
20 ANALYST FORD
SCOTT
CLERK ADAMS
SMITH
MANAGER JONES
30 CLERK JAMES
MANAGER BLAKE
SALESMAN ALLEN
MARTIN
TURNER
WARD
14 rows selected.
scott@ORA92> -- without break:
scott@ORA92> CLEAR BREAKS
scott@ORA92> SELECT DECODE (deptno_rn, 1, deptno, NULL) AS deptno,
2 DECODE (job_rn , 1, job , NULL) AS job,
3 ename
4 FROM (SELECT deptno, job, ename,
5 ROW_NUMBER () OVER
6 (PARTITION BY deptno
7 ORDER BY job, ename) AS deptno_rn,
8 ROW_NUMBER () OVER
9 (PARTITION BY deptno, job
10 ORDER BY ename) AS job_rn
11 FROM emp
12 ORDER BY deptno, job, ename)
13 /
DEPTNO JOB ENAME
---------- --------- ----------
10 CLERK MILLER
MANAGER CLARK
PRESIDENT KING
20 ANALYST FORD
SCOTT
CLERK ADAMS
SMITH
MANAGER JONES
30 CLERK JAMES
MANAGER BLAKE
SALESMAN ALLEN
MARTIN
TURNER
WARD
14 rows selected.