If you want to strip the trailing space from the output then you can use:
SELECT emplid as SHRQPNM_PIDM,
REGEXP_SUBSTR(
listagg(SSR_transcript_txt) WITHIN GROUP (ORDER BY text_seq_nbr),
'(.{1,60})( |$)',
1,
1,
NULL,
1
) AS part1,
REGEXP_SUBSTR(
listagg(SSR_transcript_txt) WITHIN GROUP (ORDER BY text_seq_nbr),
'(.{1,60})( |$)',
1,
2,
NULL,
1
) AS part2,
REGEXP_SUBSTR(
listagg(SSR_transcript_txt) WITHIN GROUP (ORDER BY text_seq_nbr),
'(.{1,60})( |$)',
1,
3,
NULL,
1
) AS part3,
REGEXP_SUBSTR(
listagg(SSR_transcript_txt) WITHIN GROUP (ORDER BY text_seq_nbr),
'(.{1,60})( |$)',
1,
4,
NULL,
1
) AS part4,
to_char(sysdate, 'YYYYMMDD') SHRQPNM_ACTIVITY_D
FROM PS_TSCRPT_TEXT
GROUP BY emplid, print_loc_SEQ
order by emplid, print_loc_SEQ;
Which, for the sample data:
CREATE TABLE ps_tscrpt_text (emplid, ssr_transcript_txt, text_seq_nbr, print_loc_seq) AS
SELECT 1,
'DOCTORAL THESIS',
1,
1
FROM DUAL UNION ALL
SELECT 1,
' -A MEASUREMENT OF DISTORTION PRODUCT OTOACOUSTIC EMISSIONS WHILE ATTENDINGTO FAMILIAR AND UNFAMILIAR VISUAL STIMULATION|',
2,
1
FROM DUAL;
Outputs:
SHRQPNM_PIDM |
PART1 |
PART2 |
PART3 |
PART4 |
SHRQPNM_ACTIVITY_D |
1 |
DOCTORAL THESIS -A MEASUREMENT OF DISTORTION PRODUCT |
OTOACOUSTIC EMISSIONS WHILE ATTENDINGTO FAMILIAR AND |
UNFAMILIAR VISUAL STIMULATION |
|
null |
If you want to include the trailing space in the output (and have a maximum of 60 characters) then:
SELECT emplid as SHRQPNM_PIDM,
REGEXP_SUBSTR(
listagg(SSR_transcript_txt) WITHIN GROUP (ORDER BY text_seq_nbr),
'(.{1,59})( |$)',
1,
1
) AS part1,
REGEXP_SUBSTR(
listagg(SSR_transcript_txt) WITHIN GROUP (ORDER BY text_seq_nbr),
'(.{1,59})( |$)',
1,
2
) AS part2,
REGEXP_SUBSTR(
listagg(SSR_transcript_txt) WITHIN GROUP (ORDER BY text_seq_nbr),
'(.{1,59})( |$)',
1,
3
) AS part3,
REGEXP_SUBSTR(
listagg(SSR_transcript_txt) WITHIN GROUP (ORDER BY text_seq_nbr),
'(.{1,59})( |$)',
1,
4
) AS part4,
to_char(sysdate, 'YYYYMMDD') SHRQPNM_ACTIVITY_D
FROM PS_TSCRPT_TEXT
GROUP BY emplid, print_loc_SEQ
order by emplid, print_loc_SEQ;
db<>fiddle here