#1
|
|||
|
|||
Variable Compuesta
Hola
Si por favor alguien me puede orientar de como se estructura una variable que me traiga solo algunos caracteres de otras variables,es decir necesito que la variable x de solo 12 caracteres este compuesta por Inicial del nombre, codigo de empleado y el resto con el apellido, ejemplo: ISandov15830, que hace referencia a Nombre: Ignacio, Apellido: Sandoval, Codigo: 15830 saludos y mil gracias |
#2
|
||||
|
||||
hola, podes usar una tabla interna.
ejemplo data: begin of t_persona occurs 0, inicial type c, codigo(6) type c, apellido(6) type c, end of t_persona. t_persona-inicial = 'I'. t_persona-codigo = 'Sandov'. t_persona-apellido = '15830'. append t_persona. |
#3
|
|||
|
|||
Hola Irua... Mira... lo que tienes que hacer es lo siguente... La instrucción genérica para obtener caracteres de una cadena es: destino = origen+a(b). donde: 'origen' es la cadena de donde quieres obtener los caracteres. 'destino' es la cadena donde quieres depositar tu subcadena. 'a' es la posición inicial desde donde quieres obtener los caracteres. 'b' es el número de caracteres a extraer. Para tu caso, el código sería algo así: DATA: v_nombre TYPE STRING, v_inicial TYPE C, v_apellido TYPE STRING, v_ap_corto(5) TYPE C, v_codigo(5) TYPE C, v_x(12) TYPE C. v_nombre = 'Ignacio'. v_apellido = 'Sandoval'. v_codigo = '15830'. v_inicial = v_nombre+0(1). v_ap_corto = v_apellido+0(5). CONCATENATE v_inicial v_ap_corto v_codigo INTO x. Espero haya sido de tu ayuda... Saludos...
__________________
Miguel Ángel Garcés Ramírez |
#4
|
|||
|
|||
gracias funciono perfecto
|
#5
|
|||
|
|||
otra variable
Estoy tratando de realizar otra variable compuesta, tomando los datos de otra tabla o variable, es decir de la variable o del campo de la tabla x solo quiero el primer caracter, se que la sintaxis
DATA: BEGIN OF T_PA0002 OCCURS 0, T_NACHN LIKE PA0002-NACHN, T_PERNR LIKE PA0002-PERNR, T_VORNA LIKE PA0002-VORNA, T_inicial = T_NACHN+0(1). END OF T_PA0002. pero me da error gracias |
#6
|
|||
|
|||
Lo que pasa es que abap no permite asignar ningún valor a una varible en su declaración. Lo que deberías hacer es lo siguiente: * Declaración de la tabla DATA: BEGIN OF T_PA0002 OCCURS 0, T_NACHN LIKE PA0002-NACHN, T_PERNR LIKE PA0002-PERNR, T_VORNA LIKE PA0002-VORNA, T_inicial TYPE C, END OF T_PA0002. * Luego debes llenar la tabla interna con los datos correspondientes excepto T_inicial que la llenarás después... * Después debes hacerle un LOOP a la tabla interna... LOOP AT T_PA0002. T_inicial = T_NACHN+0(1). MODIFY T_PA0002 INDEX sy-tabix. ENDLOOP. Saludos...
__________________
Miguel Ángel Garcés Ramírez |
#7
|
|||
|
|||
Muchas Gracias Miguel Me Sacaste De Un Apuro
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|