Secuenciar variable de caracteres.
Buenos dias a todos.
La cosa en principio es muy sencilla y aunque se puede programar supongo que sap tendra algo ya echo. Lo que estoy buscando es una funcion o comando al que si yo le paso una 'A' me devuelva 'B'. si le paso 'B' devuelva 'C'. Etc. La variable sera tipo char de 4 y el rango menos sera 'A' y el mayor 'ZZZZ'. ¿Alguna forma limpia y eficiente de hacerlo sin tener que llenar el codigo de if, case, etc.? gracias, un saludo. |
Hasta donde yo se las tipicas funciones de CHR (le das un codigo ascii y te devuelve el caracter) y ASC(le das un caracter y te devuelve el codigo ascii) que tienen todos los lenguajes ABAP no las tiene, tendras que hacerlo por medio de field-symbols, por ejemplo
FIELD-SYMBOLS: <ascii> type x. data: lv_caracter type c value 'A'. assign lv_caracter to <ascii> CASTING. *ahora en <ascii> tendrias el codigo hexadecimal de la 'A', es decir un 41 Tb podrias hacerlo al contrario FIELD-SYMBOLS: <caracter> type c. data: lv_ascii type x value '41'. assign lv_ascii to <caracter> CASTING. *ahora en <caracter> tendrias el caracter correspondiente al codigo ascii 65 (41 en hexadecimal) quicir la 'A'. Luego es cuestion de jugar con esto, espero que te ayude EDITO: Se me acaba de ocurrir ahora que tb dispones de la variable de sistema SY-ABCDE que almacena 26 letras del alfabeto en orden asi que tb podrias jugar con esta variable, por ejemplo la 'A' seria el sy-abcde+0(1), la 'B' el sy-abcde+1(1), etc.. |
Buenos dias.
Muchas gracias por ambas soluciones, al final lo solucione de una forma similar a la que me comentas pero es bueno saber lo del codigo ASCII para futuro. ;-) Data: cadena(26) type c VALUE 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. data:off TYPE I. READ TABLE it_ziaviacionc INDEX 1. * Buscamos en la cadena la posición de la letra FIND letra IN cadena MATCH OFFSET off. off = off + 1. * Asignamos la siguiente a nuestro documento letra = cadena+off(1). |
Husos Horarios son GMT. La hora en este momento es 06:12:37. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web