Hola Rossi
Gracias por la ayuda, esto funciona para mí.
De nuevo, mi error, en realidad no quiero codificar el valor 4, esto vendrá de alguna tabla. El siguiente código funciona para mí sin codificación.
Data: lv_leng type string.
lv_leng = ls_zfi-start_length.
CONCATENATE '[^\d\w](\d{' lv_leng '})[^\d\w]' into DATA(lv_regx).
FIND REGEX lv_regx IN gs_data-payadd_info SUBMATCHES DATA(lv_val).