lunes, 24 de diciembre de 2018

Cuando SAP comprueba si IF 1 = 2

Hoy toca una pequeña pildorita para ABAP. Bueno, no es una pildorita, es más un descubrimiento que he hecho, pero que seguro que todos vosotros ya sabíais y no me habíais contado. ¡Me siento como el Hulk Hogan de Muchachada Nuí! ¿No me lo podíais haber dicho antes?

Y es que, muchas veces, cuando debuggeaba código estándar de SAP, descubría bloques raros condicionales en los que se comprobaba si 1 era igual a 2.

¿Cómo? ¿Pero esa locura a qué viene? La verdad es que nunca le había hecho caso, no me había molestado en ver el contenido. Siempre había supuesto que era código de prueba al que incorporaban un IF cuando ya no querían usarlo, para que nunca se ejecutase. No sé, habría sido más lógico comentarlo, pero tampoco le quise dar más vueltas.

Que sí, que sí, que SAP comprueba si 1 es igual a 2

Entonces, un día, por casualidad, se me encendió la bombillita. Ya estaba harto de realizar búsquedas de mensajes sin obtener ningún resultado. ¿Sabéis el incordio que supone encontrar el mensaje que salta ante un determinado error, por ejemplo el 011 de la clase de mensajes PEPITO, pero no poder encontrarlo porque no te saltan referencias?

Así que hace poco que pensé, ¡anda, a ver si ese IF 1 = 2 es para poder meter el mensaje dentro, que no se ejecute, pero que sí que me permita encontrarlo por referencia! Porque claro, el MESSAGE no va a funcionar en una Web Dynpro (por ejemplo), pero sí que quiero poder guardarlo para mostrarlo más adelante y, además, poder buscarlo cuando lo necesite.

Efectivamente, si accedemos a la SE91 para buscar el mensaje de la imagen anterior, nos va a encontrar la referencia que hay dentro del IF, pero no la que hay en el post_message.

Buscando referencias a ese mensaje

¡Eureka! Encuentra la referencia anterior (y la que he añadido en un report cutrecillo a tal efecto).


Lo dicho, muchos pensaréis "pues eso yo ya lo sabía"... y yo repito, ¿por qué nadie me lo había dicho? :'(

Pero ojo, que no siempre va a encontrar referencias. No sé por qué, pero también me he encontrado con ésta, pero no he conseguido encontrarla por búsqueda :( ... habrá que descubrir el porqué.



No hay comentarios:

Publicar un comentario