I don't think that follow-up was from Connor.
Anyway - if you must do this in Oracle 11.2, you can't use MATCH_RECOGNIZE. Please remember for yourself, and tell ten more people: ALWAYS, when you ask a question like you did, include your Oracle version!
Here is how you can do the same in SQL, using the start-of-group method. I agree with Connor that ideally you should upgrade your Oracle version. I also know that in practice there are even very large organizations in the U.S. that have not (as of now) upgraded from 11.2, for whatever reason. And the start-of-group method may be helpful in some problems even in newer versions of Oracle, so it's worth keeping it in the arsenal. Alas, the link Connor provided is to a different problem, which doesn't actually have a natural "pure SQL" solution in 11.2 (there are some hacks, but they are ugly and very inefficient). Your problem does.
I assume the EMP_CODE and the report date are given, as in your problem description (and I have them hard-coded, you can change to bind variables or procedure parameters or whatever you need; I don't illustrate that below). If you need to do this for all employees at the same time, you will need to modify the analytic functions to add PARTITION BY clause.
with
prep as (
select operation_code, operation_date, emp_code,
case when operation_code < lag(operation_code) over (order by operation_date)
then 1 end as flag
from hr_original_attendance
where emp_code = 4415 and operation_date >= date '2023-05-17'
and operation_date < date '2023-05-18'
)
, add_groups as (
select operation_code, operation_date, emp_code,
count(flag) over (order by operation_date) as grp
from prep
)
select emp_code,
min(case operation_code when 1 then operation_date end) as entrance,
max(case operation_code when 2 then operation_date end) as leave
from add_groups
group by grp, emp_code
order by entrance nulls first
;