PDA

Ver la Versión Completa : Duda conceptos


carcaharas
06/01/09, 09:02:34
HOla muy buenas, estoy preparando el examen de la certificación de ABAP y quiero preguntaros alguna dudilla de conceptos que tengo a ver si me podeis ayudar. Ahí van:
¿Se pueden crear TABLAS INTERNAS en la SE11?
Exactamente para que puede valer el COLLECT?
Tengo una lista con tres niveles, para pasar de la lista básica a la lista de nivel 1 uso HIDE y si quiero pasar de la lista de nivel 1 a la lista de nivel 2, ¿tambien puedo usar HIDE?
Cuando en un grupo de funcion declaramos algún dato, ¿es global para todos los módulos de función?¿El dato es modificable por los módulos de funcion?
¿Qué diferencia hay entre subrutina y módulos de funcion?
Muchas gracias de ante mano. Un saludo

sconoredhot
06/01/09, 11:01:54
Hola, soy desarrollador ABAP hace ya un año,
nunca cursé la certificación de ABAP, todo mi conocimiento lo adquirí
en el día a día, y te puedo contestar alguna de tus preguntas,
lo que no se si lo que te conteste yo es la forma de contestar esperada,
para lo que tu necesitas.

No se pueden crear tablas internas en la SE11, se pueden crear tablas
transparentes, tipo tablas y tipos de datos. Las tablas internas se
utilizan INTERNAMENTE dentro de un programa.

El collect justamente va colectando distintos valores que se le vaya
asignando.

Si el dato es declarado como global dentro de un grupo de funciones, si,
es global para todos los modulos de funcion, tambien puedes declarar algun
dato como local para un modulo especifico. el valor puede ser modificado
por los modulos de funcion.

una subrutina es simplemente un trozo de código que puede ir dentro de un
programa o una funcion y puede ser reutilizado cuantas veces se necesite.
Pero siempre va a ser utilizado dentro de ese mismo programa.

Un modulo de funcion es un trozo de codigo al que se le pasan parametros
de entrada y salida y puede ser utilizado dentro de cualquier programa
o funcion que se requiera. Puede ser Z o standard.

Espero que te sirva.

Saludos

Mauricio Hidalgo
06/01/09, 13:01:35
¿Se pueden crear TABLAS INTERNAS en la SE11?

No. Lo que puedes crear en la se11 es un tipo de datos del tipo Tabla. Ejemplo de ello es por ejemplo el tipo tabla MARC_TT.

a nivel de programas tu puedes crear una tabla interna con ella. es decir algo así como
data mitabla type MARC_TT.

Exactamente para que puede valer el COLLECT?

Para ir generando una tabla de resumenes. Es como hacer una append a una tabla interna pero con la diferencia que según la llave de la tabla, si ya existe un registro con esa clave los valores numericos que existan se iran acumulando.


Tengo una lista con tres niveles, para pasar de la lista básica a la lista de nivel 1 uso HIDE y si quiero pasar de la lista de nivel 1 a la lista de nivel 2, ¿tambien puedo usar HIDE?

HIDE es una sentencia que te permite asignarle a la linea (del list processing) un llave de acceso para el siguiente nivel. No es que te llevé al siguiente nivel, tan solo con ello le das cierta información a la linea para que cuando hagas doble click en ella, tengas los datos más relevantes de ella como por ejemplo hacer un list processing de otro nivel.


Cuando en un grupo de funcion declaramos algún dato, ¿es global para todos los módulos de función?¿El dato es modificable por los módulos de funcion?

Un grupo de funciones tiene uno y solo un include que regularmente tiene la estructura de nombre siguiente siguiente XXXXTOP (termian en TOP) ese include tiene las declaraciones que son globales a todo el Grupo de funciones y por ende a todos los objetos que lo componen.
Y sí, el dato es modificable, salvo que sea una constante, por todos los objetos del grupo de función.

¿Qué diferencia hay entre subrutina y módulos de funcion?

Hay varias diferencia y similitudes por nombrar algunas:

1. Una subrutina es visible sólo en el programa en el cual fue creada. Alguien puede decir, no po si igual yo la puedo llamar desde otro programa. Y si es cierto la puede llamar, pero tiene que indicar en que programa/ está esa subrutina igualmente.

2. Un Modulo de funciones es accesible desde cualquier objeto de SAP, ya que existe o fue creada en el repositorio SE37.

3. En cuanto a la interfaz de usuario ambas manejan parámetros de entrada de salida, de modificación, paso de tablas. Pero una subrutina no tiene un manejo de errores como lo tiene un Modulos de función.

4. Una subrutina no puede ser ejecutada de forma remota (fuera de sap), un módulo de funciones correcctamnete configurado sí.

Eso te podría comentar.

Espero te aclare las dudas.

DavidXD_XD
06/01/09, 13:49:18
Muy buenas respuestas ;)

sconoredhot
06/01/09, 15:24:50
Mucho mejores que las mías... jejeje

pero bueno la intencion estuvo

saludos

carcaharas
07/01/09, 06:58:09
Muchisimas gracias a todos. Me habeis aclarado todo a la perfección.
Gracias