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 25/02/08, 09:09:34
Mar_83 Mar_83 is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 33
decodificar parametro de entrada

Hola a tod@s!
Necesito hacer una funcion en la que me piden que decodifique un parametro de entrada, ya que contiene los datos necesarios para llamar a una funcion.
este parametro(id_proceso) es del tipo char50.
alguien puede ayudarme?
gracias.
Responder Con Cita
  #2  
Viejo 25/02/08, 09:24:42
Avatar de pirri
pirri pirri is offline
Senior Member
 
Fecha de Ingreso: dic 2006
Mensajes: 127
Pues así rápido lo más sencillo es crearte un registro con la codificación de los parametros (no sé si es lo que preguntabas).

por ejemplo y mal escrito:


parameter id(6).

DATA: BEGIN OF parametros.
DATA: a,
b(2),
c(3),
END OF parametros.

move id to parametros.

write:/ busca.
write:/ parametros-a,' ', parametros-b , ' ', parametros-c.

Y tendrías troceado el parametro del id del proceso. Si tienes que hacer transformaciones (fechas) ya lo haces sobre el trozo trozo. Creo que te podría servir.

Un saludo.
Responder Con Cita
  #3  
Viejo 25/02/08, 11:42:11
Mar_83 Mar_83 is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 33
nada asi no puedo.
a ver m explico bien.
tengo una funcion con una estructura como parametro de entrada, dentro de esa estructura hay varios campos y uno de esos campos (id_proceso) tiene a su vez varios datos:id, perfil,tratamiento,etc.
en tonces necesito saber como decodificar el id_proceso(char50).
he pensado hacer:
id_proceso(50)
id_ar=id_proceso(12)
perfil=id_proceso+12(8)
.....
el problema es que no se si están colocados así.
entonces kisiera saber otra forma de hacerlo, sin tener que saber la posición en la que están colocados.
Responder Con Cita
  #4  
Viejo 25/02/08, 15:06:21
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Una forma practica seria introducir valores de separacion y utilizar la orden split

Por ejemplo

ID_PROCESO: 01/12345/6789

split id_proceso at '/' into campo1 campo2 campo3

y tendrias que campo1 = 01
campo2 = 12345
campo3 = 6789
Responder Con Cita
  #5  
Viejo 25/02/08, 15:21:19
Mar_83 Mar_83 is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 33
claro xo yo es k no se k valores toman esos campos.
xke todos esos valores "supuestamente" los tengo k recoger en una select
Responder Con Cita
  #6  
Viejo 25/02/08, 16:07:54
Avatar de Floren
Floren Floren is offline
Senior Member
 
Fecha de Ingreso: abr 2006
Localización: Málaga/Barcelona/Madrid
Mensajes: 209
Hola,

Si no te dicen el "desglose" de esos 50 caracteres es imposible. Detalla un poquito más eso que dices del select.

Un saludo
__________________
Florentín Navarrete Moya
SAP HCM Consultant
Mail:
Blog:
Responder Con Cita
  #7  
Viejo 25/02/08, 16:12:13
Avatar de pirri
pirri pirri is offline
Senior Member
 
Fecha de Ingreso: dic 2006
Mensajes: 127
¡Intrigante!

De alguna manera el analista te debería concretar el formato y los valores de ese campo al no tener control sobre la entrada.

O bien te envían el campo con una estructura definida por tamaño o bien te lo envían con algún separador como comenta ballan.

Otra tercera opción, si varía según el select (que me intriga) podrías enviar un parámetro indicando una estructura en la que va el ID_PROCESO para luego poder separarlo o un código del tipo del registro que sea finito. Por ejemplo:


Tipo A: Llega ar(2), perfil(5), campo3(8), etc...
Tipo B: perfil(5), campo6(3), campo3(8), etc...

Aunque la estructura varie dentro del campo, deben conocer de que forma se ha creado.

Un saludo.
Responder Con Cita
  #8  
Viejo 25/02/08, 16:13:48
Mar_83 Mar_83 is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 33
mira te copio un poco el enunciado.
tengo que crear una funcion, en la que me dan como parametros de entrada:
*registro_error (estructura zmteia):
-cod_intf
-id_proceso
-....
entonces m piden:que decodifique el id_proceso recibido como parametro de entrada que contiene:
*id ar(12 char)
*perfil ar(8char)
*....
y eso es lo que no se como hacerlo.
se que el id_proceso es un char50.
Responder Con Cita
  #9  
Viejo 25/02/08, 16:26:05
Mar_83 Mar_83 is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 33
ok muxas gracias a todos, xfin ya me han explicado!
he tenido que declarar la variable id_proceso type char50
y desde ahi he exo id_ar = id_proceso(12)
perfil_ar = id_proceso+12(8)
....
porque me han dicho que si está colocado en ese orden.
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 20:36:27.


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