Hola, estoy necesitando que en un campo que es carácter de longitud 12, luego que coloque el texto que es de longitud 8 me respete los 4 caracteres restante con espacios en blanco, mi codigo lo tengo actualmente así pero no lo hace:
DATA: BEGIN OF ti_mercantil_header,
reg_type(1) TYPE n VALUE '1', " Tipo Registro
group_code(12) TYPE c,
END OF ti_mercantil_header.
G_CODE = 'BAMRVECA'.
V_LEN = STRLEN( G_CODE ).
DESCRIBE FIELD G_CODE LENGTH V_LONG IN CHARACTER MODE.
V_LEN = V_LONG - V_LEN.
DO V_LEN TIMES.
CONCATENATE G_CODE ' ' INTO G_CODE RESPECTING BLANKS.
ENDDO.
ti_mercantil_header-group_code = G_CODE.
@aalvarez2605 mira antes me toco hacer exactamente lo mismo, te tocar hacer una conversión Hexadecimal.
* DEFINICIÓN DE CONSTANTES ----------------------------------------------------------------------
CONSTANTS:
l_cte_space TYPE syhex02 VALUE ‘00a0’. " Value for space ----------------------------------------------------------------------
DEFINICIÓN DE ESTRUCTURAS
----------------------------------------------------------------------
DATA:
l_es_caracter LIKE LINE OF g_r_caracteres. ----------------------------------------------------------------------
DEFINICIÓN DE VARIABLES
----------------------------------------------------------------------
DATA:
l_i_cantidad TYPE i,
l_s_space TYPE string,
l_i_pos TYPE i. ----------------------------------------------------------------------
Definición de Field Symbol
----------------------------------------------------------------------
FIELD-SYMBOLS <l_fs_linea> TYPE zttplano.
*…Se obtiene el formato del espacio
l_s_space = cl_abap_conv_in_ce=>uccp( l_cte_space ).
DO l_i_cantidad TIMES.
<l_fs_linea>+l_i_pos(1) = l_s_space.
*…Se aumenta la posición
l_i_pos = l_i_pos + 1.
ENDDO.
Dentro del DO se agrega los espacios en blanco necesarios
Muchas Gracias a todos, por su apyo, al final lo resolvi, agregando 4 campos type c (1 por cada espacio que necesitaba) en mi estructura de mi tabla. Quedando como lo necesitaba: el campo texto de 8 long y luego los 4 campos de q caracter almacenadno en mi estructura de salida.
DATA: BEGIN OF ti_mercantil_header,
reg_type(1) TYPE n VALUE ‘1’, " Tipo Registro
group_code(8) TYPE c VALUE ‘BAMRVECA’ , " Identificación del Banco
space1 TYPE c,
space2 TYPE c,
space3 TYPE c,
space4 TYPE c,
END OF ti_mercantil_header.