MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 16/06/08, 17:44:47
Avatar de Alfredosite
Alfredosite Alfredosite is offline
Senior Member
 
Fecha de Ingreso: jul 2007
Localización: Lima-Perú
Mensajes: 135
Exclamation Ayuda-Manipulacion de strings

FORM top_of_page. "#EC CALLED
DATA: d_line TYPE slis_listheader,
v_empresatxt(120) TYPE C,
n TYPE I,
m TYPE I. "Contador

REFRESH gt_heading.

CLEAR d_line.
d_line-typ = 'H'.
d_line-info = text-101.
APPEND d_line TO gt_heading.

CLEAR d_line.
d_line-typ = 'S'.
d_line-key = 'USUARIO'.
d_line-info = sy-uname.
APPEND d_line TO gt_heading.


CLEAR d_line.
d_line-typ = 'S'.
d_line-key = 'SOCIEDAD(es)'.

DESCRIBE TABLE r_empresa LINES N.
*Rutina para mostrar descripcion mas de una sociedad en ALV
LOOP AT r_empresa.
m = m + 1.
* primero
if m = 1.
v_empresatxt = r_empresa-low.
else.
* ultimo
if m = n.
concatenate v_empresatxt r_empresa-low INTO v_empresatxt
separated by ' y '.
else.
concatenate v_empresatxt r_empresa-low INTO v_empresatxt
separated by ' , '.
endif.
endif.
ENDLOOP.
d_line-info = v_empresatxt.
APPEND d_line TO gt_heading.

Hola amigos tengo este codigo en el cual me sirve para mostrar als descripciones de varias sociedades en la cabecera de un ALV, acumulandolas en una variable...por ejemplo esta variable deberia cargar.

v_empresatxt = Albacea S.A., Transportes Maritimos S.A, Compañia Nuevo Mundo S.A. y Corporacion Wong.

Bueno el tema es que esa variable es de mas 120 caracteres para que entre todas y se le asigna a mi variable d_line-info el cual es del tipo slis_listheader que asu vez sap le da a info el type slis_entry(60) type c.

Como ven ese campo info viene a ser solo de 60 caracteres definido asi por sap...
Mi pregunta es como puedo hacer que esa variable de caracteres pueda reconocer que cuando tenga maximo 60 caracteres lo pase a una segunda linea o si fuese mejor logre darse cuenta de capturar el nombre completo de una sociedad sin comerse el texto asi haya completado los 60 caracteres...
Por ejemplo:
Cargado COn:
v_empresatxt = Albacea S.A., Transportes Maritimos S.A, Compañia Nuevo Mundo S.A. y Corporacion Wong.
Que no haga esto(no coma texto parte del ultimo nombre que lo mande a la segunda linea)
v_empresatxt = Albacea S.A., Transportes Maritimos S.A, Compañia Nuevo --------------> ((se comio) ....Mundo S.A. y Corporacion Wong.)
Lo ideal:
v_empresatxt = Albacea S.A., Transportes Maritimos S.A,
Compañia Nuevo Mundo S.A. y Corporacion Wong.(Nueva linea)


Se podra realizar esto??
O en todo caso que instrucciones(manipulacion strings) puedo usar para que me ayude en algo
Responder Con Cita
  #2  
Viejo 16/06/08, 17:52:27
Avatar de frankmerlos
frankmerlos frankmerlos is offline
Member
 
Fecha de Ingreso: oct 2006
Localización: San Salvador, El Salvador
Mensajes: 51
Hola.

La verdad si se puede hacer, llevar un contador de caracteres y si tiene X cantidad pasarlo a otra variable y es algo complicado.

Yo te aconsejo y creo que seria la manera mas facil es que hagas un loop de las sociedades y escribas una linea por cada sociedad.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 17:52:43.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web