Thursday, January 31, 2008

Campos y tablas


La mayoría de veces, cuando estamos programando, necesitamos buscar en que tablas existe un campo...Y otras veces necesitamos saber en que tablas se encuentra dicho campo...O lo que es mejor, es que tablas se encuentras dos campos.

El proceso normal y acostumbrado, es ir a la SE11 y hacer un Where-Used list...Lo cual obviamente nos garantiza una lista de tablas, en las cuales no necesariamente no van a estar los dos campos que necesitamos...Por eso, hice un pequeño programa que nos hace la vida un poco más sencilla -;)




REPORT ydummy_atg.

TABLES: dd03l.

TYPES: BEGIN OF ty_dd03l,
tabname TYPE dd03l-tabname,
fieldname TYPE dd03l-fieldname,
END OF ty_dd03l.

DATA: t_dd03l TYPE STANDARD TABLE OF dd03l,
t_dd03l_aux TYPE STANDARD TABLE OF dd03l.

DATA : field1(30).

FIELD-SYMBOLS: <fs_dd03l> LIKE LINE OF t_dd03l,
<fs_dd03l_aux> LIKE LINE OF t_dd03l.

SELECTION-SCREEN BEGIN OF BLOCK test.
PARAMETERS:
p_field1 TYPE dd03l-fieldname,
p_field2 TYPE dd03l-fieldname.
SELECTION-SCREEN END OF BLOCK test.

START-OF-SELECTION.

SELECT dd03l~tabname fieldname
INTO TABLE t_dd03l
FROM ( dd03l INNER JOIN dd02l
ON dd03l~tabname EQ dd02l~tabname )
WHERE tabclass IN ('TRANSP','VIEW')
AND fieldname EQ p_field1
OR fieldname EQ p_field2.

SORT t_dd03l.

LOOP AT t_dd03l ASSIGNING <fs_dd03l>.
IF <fs_dd03l>-fieldname EQ p_field1.
READ TABLE t_dd03l ASSIGNING <fs_dd03l_aux>
WITH KEY tabname = <fs_dd03l>-tabname
fieldname = p_field2.
IF sy-subrc EQ 0.
APPEND <fs_dd03l_aux> TO t_dd03l_aux.
ENDIF.
ELSE.
READ TABLE t_dd03l ASSIGNING <fs_dd03l_aux>
WITH KEY tabname = <fs_dd03l>-tabname
fieldname = p_field1.
IF sy-subrc EQ 0.
APPEND <fs_dd03l_aux> TO t_dd03l_aux.
ENDIF.
ENDIF.
ENDLOOP.

DELETE ADJACENT DUPLICATES FROM t_dd03l_aux
COMPARING tabname.

LOOP AT t_dd03l_aux ASSIGNING <fs_dd03l_aux>.
WRITE:/ <fs_dd03l_aux>-tabname.
ENDLOOP.

AT LINE-SELECTION.

SET PARAMETER ID 'DTB' FIELD sy-lisel+0(15).

CALL TRANSACTION 'SE11' AND SKIP FIRST SCREEN.


Saludos,

Blag.

Workarea vs. Field-Symbols


Como todos sabemos (O por lo menos todos deberíamos saberlo)...En ABAP ya no es recomendado utilizar tablas internas con cabecera...Por lo cual mucha gente utiliza los llamados Workareas...Aunque en lo personal yo prefiero utilizar Field-Symbols...Así que veamos cual de las dos es mejor en cuanto a performance.


REPORT ydummy_atg_2.

TYPES: BEGIN OF ty_data,
value TYPE string,
END OF ty_data.

DATA: t_data TYPE STANDARD TABLE OF ty_data,
w_data TYPE ty_data.

FIELD-SYMBOLS: <fs_data> LIKE LINE OF t_data.

DATA: rt_str TYPE i,
rt_end TYPE i,
run_time1 TYPE p DECIMALS 2,
run_time2 TYPE p DECIMALS 2.

DO 500000 TIMES.
w_data-value = sy-index.
APPEND w_data TO t_data.
ENDDO.

GET RUN TIME FIELD rt_str.
LOOP AT t_data INTO w_data.
ENDLOOP.
GET RUN TIME FIELD rt_end.
run_time1 = ( rt_end - rt_str ) / 1000000 .

WRITE: 'Runtime WORKAREA', run_time1.

*------------------------------------------------

GET RUN TIME FIELD rt_str.
LOOP AT t_data ASSIGNING <fs_data>.
ENDLOOP.
GET RUN TIME FIELD rt_end.
run_time2 = ( rt_end - rt_str ) / 1000000 .

WRITE: 'Runtime FIELD-SYMBOL', run_time2.


Este pequeño programa, carga 50,000 registros y luego hace un LOOP.

Este es el resultado de su ejecución...


Runtime WORKAREA 0.25 Runtime FIELD-SYMBOL 0.06


Como podemos ver, los Field-Symbols ganan de lejos a los Workareas -;)

Saludos,

Blag.

Tuesday, January 22, 2008

¿Qué es un Mentor SAP?

Como muchos de ustedes deben saber, soy un Mentor SAP...¿Pero que significa eso?

SAP_Mentor_Community_Mind_Space 

Cortesía de Nancy Marguiles.

Que es un Mentor SAP

  • Experto en un producto o servicio de SAP
  • Actitud colaboradora
  • Buen comunicador
  • Preferiblemente Partner o Empleado de SAP

Cuales son los beneficios de ser un Mentor SAP

  • Reconocimento con un experto de SAP
  • Invitación a eventos SAP
  • Acceso VIP a información de SAP
  • Foro especial para Mentores SAP
  • Entrada libre al Community Day
  • Acceso directo a desarrollos SAP (En un futuro...)

Quienes son Mentores

SAP Mentors

Cabe destacar que habemos solamente dos mentores para América Latina, Ignacio Hernández y yo, así que ya saben que estamos para servirlos -:)

Para terminar...Lo que seguro muchos de ustedes se preguntan...

Como ser un Mentor SAP

  • Solamente por invitación (Uno es Mentor por un año, con posibilidad de renovación no automática)
  • Nominación por otros Mentores, Empleados de SAP o miembros del SDN/BPX.

Saludos,

Blag.

Technorati Tags:

Wednesday, January 09, 2008

Viaje a la semilla...

El día de hoy le digo adios al mundo de la consultoría Freelance...Estuve conversando con mi buen amigo Ticiano Muñoz, Managing Director de TSNet Global.

Así que desde mañana me integro a la gran familia de TSNet.

Esta no es una nueva oportunidad para mi, puesto que fué en TSNet donde comencé mi carrera en el mundo de SAP.

Aunque si es una nueva oportunidad, puesto que voy a ampliar más mis conocimientos y voy a adentrarme en otros rumbos por los cuales aún no había transitado.

Saludos,

Blag.

Technorati Tags:

El Arte de Programar SAP NetWeaver

Después de un arduo trabajo, finalmente mi nuevo libro está disponible, como siempre en Lulu Press.

ArtePrograma_NetWeaver

Como mencioné en un post anterior, este nuevo libro es una recopilación del libro anterior más una gran cantidad de temas nuevos.

Son 551 páginas de puro ABAP.

Los temás más resaltantes (y nuevos) son:

  • ABAP Objects
  • ALV Grid, Tree y Object Model
  • XML y ABAP
  • SAPLink
  • Scripting in a Box
  • WebDynpro
  • SmartForms
  • BSP

Saludos,

Blag.

Technorati Tags:

Monday, January 07, 2008

Un poco de SilverLight...

Hace un par de días, escribí sobre Project Maestro y ese mismo día recibí un comentario de Rick Barraza, nada más y nada menos que el creador del proyecto.

Como dejó la dirección de su blog, decidí echarle un vistazo y realmente quedé impresionado con dos cosas...Primero con su trabajo que es realmente bueno y segundo con la cantidad de código que requiere SilverLight para hacer cualquier cosa...Mis amigos ya me habían dicho lo mismo, que SilverLight requiere líneas y más líneas para hacer cualquier cosa...Y es verdad, en todo caso, el resutado final es bastante impresionante...

Rick Barraza SilverLight UX Development

Saludos,

Blag.

Technorati Tags:

El Arte de Programar SAP NetWeaver

Desde hace algunas semanas, me encuentro trabajando en mi nuevo libro, El Arte de Programar SAP NetWeaver...Un remake extendido de El Arte de Programar SAP R/3.

Seguramente se preguntarán que tantos cambios hay entre versión y versión, pues bueno, esta nueva versión incluye lo siguiente (Adicional a lo que ya había claro está...)

  • Un promedio de 250 páginas más (Unas 530 páginas).
  • SmartForms
  • ABAP Orientado a Objetos
  • ALV Orientado a Objetos (Grid, Tree, Object Model) con validaciones y eventos.
  • Imágenes en Dynpros, PDF, ZIP, Control de Texto.
  • WebDynpro
  • BSP
  • ABAP y XML
  • Scripting in a Box
  • SAPLink
  • Más y mejores ejemplos...

 

El libro estará disponible hacia finales de este mes, y por supuesto, les informaré cuando puedan comprarlo.

Saludos,

Blag.

Technorati Tags:

Saturday, January 05, 2008

Ejemplo de programación en Bash

Me he dado cuenta de que mucha gente llega a mi post buscando un emulador de Bash para Windows...Pero también me di cuenta de que en dicho post no hay ningún código que demuestre que el emulador si funciona...Pues bueno, este es el primer y único ejemplo que hice el 13/10/2006...Hace ya buen tiempo...

 

#!/bin/bash

respuesta=s

while [ "$respuesta" != "n" ]
do
let valor_1=0
let valor_2=0

while((valor_1 <= 0))
do
read -p "Ingrese un numero mayor que cero (1): " valor_1
if((valor_1 < 0)); then
echo "El valor debe ser mayor que cero!"
fi
done

while((valor_2 <= 0 ))
do
read -p "Ingrese un numero mayor que cero (2): " valor_2
if((valor_2 < 0)); then
echo "El valor debe ser mayor que cero!"
fi
done

read -p "Ingrese la suma de los numero ingresados: " suma
let suma_valores=$valor_1+$valor_2
if(($suma_valores == suma)); then
echo "La suma es correcta"
else
echo "Error! La suma es" $suma_valores
fi
read -p "Desea continuar (s/n)? " respuesta
done
exit 0

codigo_bash

Saludos,

Blag.

Friday, January 04, 2008

Mi primer juego con JavaME

Recordarán que en un post pasado, les hablé de un juego que hice con JavaME...Pues bueno, como lo prometido es deuda, aquí les muestro un par de imágenes...Claro, el juego no es ninguna maravilla...Es en realidad un clon bastante humilde de un juego hecho en Flash. Pero lo que en realidad me gusta del juego, es todo lo que aprendí desarrollándolo...

Beer_Game_1 Beer_Game_2

El juego es tan simple, como que Cosmo tiene que llenar los vasos de cerveza, puesto que Vicky, Wanda o Timmy los tocan mientras están vacíos, perderemos una vida. No hay niveles, puntaje o cosas parecidas...Solo mucho trabajo de Photoshop...Y un poco de programación -;)

Saludos,

Blag.

Technorati Tags:

Android y NetWeaver

Android es la nueva plataforma web de Google orientada al desarrollo de aplicaciones móbiles. Aún cuando descargué el plug-in para Elipse hace bastante, debo decir con tristeza que hasta ahora no lo he utilizado...Felizmente, el gran Ignacio Hernández ya lo hizo, y nada menos que conectándolo con SAP NetWeaver.

Android and SAP NetWeaver

Saludos,

Blag.

Technorati Tags:

Project Maestro

Cynergy Labs, una compañía hasta ahora desconocida por mi, ha lanzado una herramienta bastante impresionante llamada Project Maestro.

Se trata de un touch screen sin el touch, es decir, como controlar un Nintendo Wii sin utilizar las manos.

Realmente el video que se muestra en la página de Cynergy es impresionante, pero si son seguidores de mi blog o están subscritos al SDN, recordarán que Dan McWeeney y Ed Herrmann lo hicieron primero en Majority que???...Majority Desk!

Saludos,

Blag.

Technorati Tags:

Thursday, January 03, 2008

Hyplet - Tu firma on-line

Hyplet es un servicio bastante intersante, que nos permite diseñar firmas, anuncios, pancartas y un gran número de panfletos on-line.

Utilizando tecnología Drag & Drop y un diseño visual bastante atractivo, podemos crear nuestra firma personalizada en unos cuantos segundos y publicarla en nuestro blog, página web o correo electrónico.

    

 

Mi crítica personal a GMail es que el espacio reservado para la firma solo soporta 1000 caracteres, por lo cual, me resulta imposible utilizar mi "firma on-line"...Ni modo, espero que cambien esto...

Saludos,

Blag.

Technorati Tags:

@eventtrack - Sigue a la gente en el momento

Craig Cmehil ha creado una herramienta muy interesante basada en Twitter, se trata de @eventtrack, un servicio que nos permite capturar eventos que son narrados en Twitter.

Es decir, por ejemplo yo estoy participando en el SAP TechEd 2008...entonces lo que debería de hacer es...

  • Enviar un Tweet @eventtrack start*teched2008
  • Escribir mis Tweets como siempre
  • Enviar un Tweet @eventtrack stop*teched2008

Con esto, todos mis Tweets serán grabados, categorizados y juntados con mis demás colegas que decidieron también utilizar el tag teched2008.

Esto es algo realmente bueno, porque como sabemos, los asiduos al Twitter, escribimos practicamente todo el día, por lo cual es un poco dificil llevar un control de todo lo que dicen los demás. Gracias a @eventtrack...Todo es posible -;)

Saludos,

Blag.

Technorati Tags:

Enviando mails desde el futuro...

Mi amiga Gali me mandó esta página por mail...Se trata de un servicio que nos permite enviar un mail en el furuto...Es decir, podemos escribir el mail y decidir que día queremos que sea enviado, aunque no sabemos en que momento del día será enviado.

Es un servicio extraño, pero creo que vale la pena darle un vistazo.

FutureMe

Saludos,

Blag.

Technorati Tags:

Quién quiere ser un Twit(terer)?

Dennis Howlett nos habla del "Modelo de Negocio" de Twitter.

Muy recomendado...

OK SAPpers, who wants to be a Twit(terer)?

Saludos,

Blag.

Technorati Tags:

Tuesday, January 01, 2008

Ocho cosas que (probablemente) no sabías acerca de mi...Eight things you (probably) didn't know about me.

Empiezo el 2008 con algo interesante...Mi amigo/mentor Craig Cmehil me hizo un tag para que les cuente ocho cosas que (probablemente) no saben acerca de mi...En realidad, ya hice lo mismo hace algún tiempo...5 Things you (probably) didn’t know about me por cortesía del buen Nigel James. Claro...en ese tiempo fueron 5...ahora son 8...en ese tiempo escribí el post en Inglés...ahora bilingüe...Así que disfrutenlo -:)

1.- En mis inicios en la programación, llegué a pensar que Visual Basic 6 era el mejor lenguaje del mundo...

2.- Una de mis metas era aprender todos los lenguajes de programación existentes...hasta que descubrí que eran más de 600...Hasta el momento he aprendido (O intentado) unos 15...

3.- He vivido en Perú, México y Bolivia. Además he visitado Estados Unidos y Chile.

4.- Soy fanático de los Comics, El Hombre Araña, Los Hombres X, etc.

5.- Tome el nick de "Blag" de Blag Dahlia vocalista del grupo Punk The Dwarves.

6.- Leí los 3 libros del Señor de los Anillos en una semana.

7.- Me encanta cocinar (Aunque se muy pocos platos).

8.- Mi comida favorita es la Mexicana (Chilaquiles verdes).

Ahora, quiero pasar el TAG a Daniel Panaro, Alberto García de Haro y Ryan Quackenboss.

Saludos,

Blag.

---------------------------------------------------------------------------------

I start 2008 with something interesting...My friend/mentor Craig Cmehil tag me so I tell you about eight things that you (probably) didn't know about me...Actually, I have done this before...5 Things you (probably) didn’t know about me thanks to my good friend Nigel James. Of course...in that time were only 5...now they are 8...in that time I wrote the post in English...now it bilingual...So enjoy -:)

1.- In my beginning on programming, I came to think that Visual Basic 6 was the best language in the world.

2.- One of my goals was to learn all the available programming languages...till I found that they were more than 600...Till now I have learned (Or try) like 15...

3.- I have lived in Peru, Mexico and Bolivia. Also I have visited United States and Chile.

4.- I'm a huge fan of Comic Books, Spider Man, X-Men and so on...

5.- I took my nickname of "Blag" from Blag Dahlia lead singer of the Punk rock band The Dwarves.

6.- I read the 3 Lord of the Rings books in just one week.

7.- I love cooking (Even when I only do a few dishes).

8.- My favorite type of food is the Mexican one (Green Chilaquiles).

Now, I want to TAG a Daniel Panaro, Alberto García de Haro and Ryan Quackenboss.

Greetings,

Blag.

Technorati Tags: