PDA

Ver la Versión Completa : Llenar tabla pediendo lo datos al usuario


MetalGod
27/06/12, 15:23:46
Hola gente. recien me inicio en la programacion ABAP y quiero saber como llenar una tabla con datos que el usuario ingresa, me gustaria practicar haciendo yo una transaccion y una pantalla, alguien tendria un tutorial o me explica cuales son los pasos a seguir para realizar esto? desde ya muchas gracias.

La tabla podria ser una tabla Z o una tabla interna

romyggar
29/06/12, 20:42:36
@MetalGod, para llenar una tabla Z manualmente puedes hacerlo de varias maneras, pero yo solo he utilizado 3 formas:

1 - Mediante una carga de archivo
Esto es un programa Z, que consiste en cargar un archivo (.txt, .csv, .xls) y cargarlo en una tabla interna, y de ahí a una tabla Z.

2 - Mediante una Vista de Actualización o "Manteinance View".
Sobre este encontré un tutorial paso a paso con imágenes.

Algo que debes tener en cuenta es que al crear una tabla Z, en la pestaña "Entrega y Actualización", en el campo "Browser datos/Actual.vista tabla" debes poner la opción "Visual./Actual.permitida", porque de lo contrario no podrás completar a satisfacción el tutorial que mencioné arriba.

3 - Mediante una interfaz y un ciclo (una dynpro)
También es un reporte, consiste en crear una imagen o dynpro, con todos los campos de la tabla Z a llenar, y una vez el usuario este satisfecho, presiona un botón y el programa hace un "update" a la base de datos.

En general, estos 3 métodos sirven, pero me parece a mi que el mas eficiente es la vista de actualización, ya que SAP genera todo el código necesario, crea las rutinas de validación, etc. Los otros métodos son mas engorrosos y los recomiendo solamente para aprender a usar los diferentes recursos que tiene SAP (funciones de carga, programación de diálogo, dynpro processing, etc).

También es de notar el 1 y el 3 sirven para cargar tablas internas (son un paso intermedio para alcanzar las tablas Z)

Por el momento no tengo suficiente tiempo para pasarte el código, pero con mas calma podríamos ir paso a paso para ayudarte con cada método que expuse aquí.

Salu2

MetalGod
29/06/12, 20:52:25
muchisimas gracias por tu respuesta y el orden en que pusiste las cosas, asi queda mas claro las cosas que se pueden hacer, muchas gracias e ire probando, mas que nada el caso 3, ya que hace poco empece a trabajar en SAP y quiero ir practicando este lenguaje y las cosas que se pueden hacer, desde ya muchas gracias

romyggar
29/06/12, 21:41:34
muchisimas gracias por tu respuesta y el orden en que pusiste las cosas, asi queda mas claro las cosas que se pueden hacer, muchas gracias e ire probando, mas que nada el caso 3, ya que hace poco empece a trabajar en SAP y quiero ir practicando este lenguaje y las cosas que se pueden hacer, desde ya muchas gracias

De nada amigo, cuando comiences a hacer tu reporte, no dudes en seguir posteando en este hilo, para que te pueda seguir ayudando si tienes dudas. :rolleyes:

MetalGod
02/07/12, 18:39:54
De nada amigo, cuando comiences a hacer tu reporte, no dudes en seguir posteando en este hilo, para que te pueda seguir ayudando si tienes dudas. :rolleyes:


te cuento que mi reporte es una practica de las cosas que voy aprendiendo, para no quedarme en el trabajo y a parte con cosas que me surjan, lo voy haciendo, lo del tema de la carga de datos, ya lo hice mediante un archivo de excel, lo de cargar mediante lo que un usuario ingrese por teclado, lo hice facil:



DATA linea TYPE ZVUELOS. "Cabecera donde voy a meter los datos que se
"ingresen por teclado

PARAMETER: compania TYPE ZVUELOS-COMPANIA,
tipo TYPE ZVUELOS-TIPO
fecha TYPE ZVUELOS-FECHA
precio TYPE ZVUELOS-PRECIO
omce TYPE ZVUELOS-OMCE
peso TYPE ZVUELOS-PESO


FORM cargar.
linea-Compania = compania.
linea-tipo = tipo.
linea-fecha = fecha.
linea-precio = precio.
linea-omce = omce.
linea-peso = peso.
MODIFY ZVUELOS FROM linea.
ENDFORM.

asi hago que lo que ingresa el usuario se cuarde en una estructura del mismo tipo que la tabla y despues agrego esa linea con datos a la tabla Z

ahora la estoy complicando mas, y con el mismo programa, lo que estoy haciendo es mediante dympros, pero estoy bastante complicado, he hecho consultas en el foro sobre algunas dudas, porque quiero hacer varias dympros, o sea una principal donde se elija de acuerdo a un radio butto y aparezca la subscreen correspondiente, pero no logro hacerlo, no se como ponerle condiciones, para que no me aparzcan todas las pantallas

kibo
02/07/12, 19:30:45
No entiendo que queres hacer pero bueno, te tiro dos opciones:

1- Podes hacer tabs, que en la pantalla principal tenes una dynpro con distintas pestañas (en lugar de tener distintos campos de seleccion dependiendo del radio button)

2- Si a partir de una pagina principal queres enviarlo a distintas pantalla dependiendo del radio button, tenes que hacer con el set screen <numero de dynpro>, en el user_command chequeando cual esta marcado