Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
Jdonis2002
Explorer

Buenas tardes amigos,

He visto algunos que algunos preguntan sobre cómo crear un campo adicional en SQ02 o como llenar el valor del mismo, por lo que quiero compartir mi experiencia con el mismo.

El requerimiento del cliente fue que pudiera presentar el nombre de un empleado o candidato dependiente del dato ingresado en una tabla personalizada.   Este nombre debería estar concatenado y quitando todos los posibles espacios en blanco entre nombres y apellidos.   Esto debido a que ocasionalmente ingresaban espacios entre los campos de la tabla o ingresaban más de un nombre en el mismo.

Les comparto como lo realicé yo.   No quiere decir que sea la única forma ni la mejor.   Fue lo que realicé en su momento.

Los pasos a continuación.

  1. Estando sobre el menú principal ingresamos a la opción de detalle (F5).

     2. Seleccionamos la hoja de crear.

     3. Indicamos un nombre y la clase de objeto que estamos creando.  Para este caso un campo adicional.

     4.- Indicamos las características del campo adicional que se está creando.

     5.- Seleccionamos el campo adicional creado y presionamos el código para edición del código.

6. Edito el código de acuerdo a lo requerido.

No explicaré a detalle el código porque es bastante legible, pero a groso modo diré que verifico si tengo algún valor en el campo de candidato o de empleado.

Dependiendo de eso busco y lleno el campo “nombrecompleto”. Proceso el campo para validar y quitar espacios adicionales entre los nombre y presento el resultado final.

adjunto el código...

clear nombrecompleto.
data: tga_02 like pa0002 occurs 1 with header line.
data: tgb_02 like pb0002 occurs 1 with header line.
data: nombre1(50) type c.
data: nombre2(50) type c.
data: nombre3(50) type c.
data: nombre4(50) type c.
data: nombre5(50) type c.
data: nombre6(50) type c.
if zhrrc_tt_genprop-codcandidato <> 0 and zhrrc_tt_genprop-codempleado = 0.
SELECT * into tgb_02 FROM  PB0002
WHERE  PERNR  = zhrrc_tt_genprop-codcandidato .
concatenate tgb_02-vorna '.' tgb_02-midnm '.' tgb_02-rufnm '.'
tgb_02
-nachn '.' tgb_02-name2 '.' tgb_02-nach2 into nombrecompleto.
ENDSELECT.
elseif zhrrc_tt_genprop-codcandidato = 0 and zhrrc_tt_genprop-codempleado <> 0.
SELECT * into tga_02 FROM  PA0002
WHERE  PERNR  = zhrrc_tt_genprop-codempleado .
concatenate tga_02-vorna '.' tga_02-midnm '.' tga_02-rufnm '.'
tga_02
-nachn '.' tga_02-name2 '.' tga_02-nach2 into nombrecompleto.
ENDSELECT.
endif.
translate nombrecompleto using ' |'.
translate nombrecompleto using '. '.
split nombrecompleto at space into nombre1 nombre2 nombre3 nombre4 nombre5 nombre6.
condense nombre1 no-gaps.
condense nombre2 no-gaps.
condense nombre3 no-gaps.
condense nombre4 no-gaps.
condense nombre5 no-gaps.
condense nombre6 no-gaps.
concatenate nombre1 '.' nombre2 '.' nombre3 '.' nombre4 '.' nombre5 into nombrecompleto.
translate nombrecompleto using '. '.
translate nombrecompleto using '| '.
condense nombrecompleto.

Espero a alguien le sirva de ayuda o referencia.

Saludos,

4 Comments