#1
|
||||
|
||||
Duda con valores de tabla interna
Buenas tardes aquí con una duda.
No sé como realizar una inversión de valores. Si tengo un campo fname que tiene un valor de 6412345 y quiero que quede 2345641 ¿Cómo hacerlo? solo encuentro como invertir la cadena... (5432146) Gracias de antemano.
__________________
Los escritores somos seres heridos por ello creamos otra realidad |
#2
|
|||
|
|||
Buenas tardes.
Hacé: DATA variable TYPE string. CONCATENATE fname+3 fname(3) INTO variable. |
#3
|
||||
|
||||
Muchas gracias por la respuesta.
__________________
Los escritores somos seres heridos por ello creamos otra realidad |
#4
|
|||
|
|||
En este caso hay que mover a la izquierda tres posiciones. Así entonces sería
<tu_variable> = '6412345'. SHIFT <tu_variable> LEFT BY 3 PLACES CIRCULAR. Si el largo es variable deberás calcular cuantos lugares aplicar en el SHIFT. Saludos |
#5
|
||||
|
||||
Muchas gracias por la respuesta; abusando de tu amabilidad, tengo otra pequeña duda. Si quiero formar una cadena con el valor del campo de una tabla interna. ¿Cómo se hace?; es decir. Si tengo una constante = /ruta/.. y una variable que me guarda la fecha. Concatenate contante 'CCCVVV' v_fecha into ...variable. CCCVVV es un valor que contiene una tabla interna. (fname = 123456), ¿Cómo pongo ese valor del 'Concatenate' ?
__________________
Los escritores somos seres heridos por ello creamos otra realidad |
#6
|
|||
|
|||
No hay problema, sería algo así:
CONCATENATE contante <tabla_interna>-fname v_fecha into variable. Tienes algún problema de sintaxis ?..si es así, muestra la declaración de tu tabla interna y como la estás accesando. Saludos |
#7
|
||||
|
||||
De hecho si, lo había hecho como lo mencionas, pero me manda un error
__________________
Los escritores somos seres heridos por ello creamos otra realidad |
#8
|
|||
|
|||
Prueba con MOVEs
Prueba a meter los campos que te den error en variables char de la long necesaria. No se cual de los campos de dará error, peor prueba con los 3 si fuera necesario. La idea es esta...
DATA: var_aux1(mete aqui la longitud necesaria) TYPE c, var_aux2(mete aqui la longitud necesaria) TYPE c. MOVE constante TO var_aux1. MOVE <tabla_interna>-fname TO var_aux2. CONCATENATE var_aux1 var_aux2 v_fecha into variable. No se si sera necesario hacerlo tambien con la variable v_fecha, pero inténtalo tambien Ya nos dirás Un saludo Úlima edición por Spainnavar fecha: 10/04/14 a las 10:09:59. |
#9
|
||||
|
||||
Ya había intentado hacerlo con Move, creo que el problema reside en que el <fs_cnst> -fname contiene más de un valor... es decir 123456, 2233456 ejemplos. Quizá si solo se apunte al primer valor o genere la cadena en cuanto a todos los valores que posea...ósea
constante.. fname(123456) fecha constante...fname (2233456) fecha... algo así...
__________________
Los escritores somos seres heridos por ello creamos otra realidad |
Herramientas | Buscar en Tema |
Desplegado | |
|
|