MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Formularios - SAPScript - Smartforms
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 28/08/08, 14:42:48
razapo razapo is offline
Junior Member
 
Fecha de Ingreso: abr 2007
Mensajes: 21
Aclaración sobre Smartforms

hola a todos, os estaría muy agradecido si alguien me pudiera explicar brevemente como es la mecanica de los smartforms, comprendo su significado pero no mecanica, es decir un programa llama a un formulario el cual llama a una serie de tablas para recoger información y plasmarla, no?, estoy equivocado?
Lo siento mucho pero estoy un poco perdido en este tema y no tengo otra salida que aprender por mi mismo.

Por otro lado los smartforms son dependientes de mandante o independiente?

Un saludo a todo el foro un millón de gracias
Responder Con Cita
  #2  
Viejo 28/08/08, 22:10:31
Avatar de Alfredosite
Alfredosite Alfredosite is offline
Senior Member
 
Fecha de Ingreso: jul 2007
Localización: Lima-Perú
Mensajes: 135
Exclamation RE:Explicacion basica

En el programa principal haces las rutinas necesarias para obtener los datos que deseas visualizar en el Smartform. Imagínate que la tabla gt_datos tengo todo lo que quiero mostrar por ejemplo datos de los trabajadores de una empresa pero algo muy importante debes de crear la estructura de la tabla a enviar al smartform en la transacción SE11 ahí armas tus campos a mostrar imagínate que solo quiera enviar código de trabajador y nombre. Tienes que armar la estructura con los campos y atributos de los mismos.

Nombre estructura : ZHRSMDATOS
Campo Tipo de datos Tamaño
Codigo INT 4
nombre CHAR 80

Una vez creada esta estructura declara que tu tabla gt_datos tenga la estructura creada ZHRSMDATOS.
Lo puedes hacer de esta manera : (Ojo esto en el TOP (declaración de tablas globales))
TYPES: BEGIN OF gt_datos.
INCLUDE STRUCTURE ZHRSMDATOS.
TYPES: END OF gt_datos.

2.- Luego haces tu lógica para obtener los datos que quieres mostar en tu programa principal (ZXXX)
Cuerpo del Programa
------
-----
------
(n-líneas código)
------
------
Append gt_datos.
-----

2.- Una vez cargados en esa tabla gt_datos, esta tabla debe ser enviada al Smartform , ojo no solamente se pueden enviar tablas sino también variables, etc. Por ejemplo enviar variables y otras tablas que obtuviste en tu código principal.

3.- Este envío se hace a través de una función la forma mas común de enviarla es de esta manera: Por ejemplo

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = “Ingresa aqui el nombre de tu smartform”
IMPORTING
fm_name = v_func. (v_func es un parámetro de salida que devuelve el smartform con nombre de function)

Ahora acá v_func se convierte en función y en mi caso le envío la tabla gt_datos adicionalmente le envío parámetros que tu mismo creas por ejemplo le envío un parámetro v_titulo (lo obtuve de mi programa y para mi esta llenado con un texto que quiero mostrar en el titulo por ejemplo, ojo no solo eso puedes enviarle lo que se te ocurra)

CALL FUNCTION v_func
EXPORTING
v_titulo = v_titulo_smart
TABLES
t_datos = gt_datos.

4.-Bueno una vez dentro del smartform recibes lo que enviaste desde tu programa pero ojo ahora ya no lo recibirás como gt_datos sino como t_datos nombre que decidimos ponerle para que reciba el smartform.

Bueno y ya dentro del smartforms debes recibir la tabla buscando en tu arbol a la derecha de la pantalla (Interfase de formulario) y en la pestaña tablas poner el nombre t_datos que es el mismo nombre con que lo enviaste …y bueno dentro del smart puedes hacer loop, o escribir líneas de código para poder leer esa tabla que enviaste de tu programa principal, ETC.
Bueno ya el tratamiento dentro del smartform es otro tema ahí te recomendaría buscar una manual para ver como va.
Pero básicamente es así como trabaja espero si hay algún termino no claro o en algo haya errado me sepan corregir.

Saludos.

Pdta: te recomiendo revises otros smartforms ya hechos para que entiendas el funcionamiento, para ello puedes escribir esto :
break-point.
En uno de las línea de programa dentro del smartform para que puedas debuggear y entiendas mas o menos como llega tu tabla
Responder Con Cita
  #3  
Viejo 29/08/08, 21:57:28
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Si sabes jugar con WRITE y LOOP junto con los quiebres del LOOP ya sabes el 80% de un smartforms ... no lei la nota de alfredo (ta larga ), pero los smartforms son independientes de mandante ^^
__________________
David Carballido Córdova
Responder Con Cita
  #4  
Viejo 01/09/08, 09:51:52
razapo razapo is offline
Junior Member
 
Fecha de Ingreso: abr 2007
Mensajes: 21
aclaración smartforms

hola Alfredosite y Davidxd_xd,

lo primero gracias por vuestro interes, evidentemente teneis mucho más nivel que yo y algunas cosas se me escapan, pero esto no se aprende de la noche al día.
Os explico la situación, tengo que retocar o modificar la forma en que salen las facturas, cambiar algunos campos y añadir información o quitar, depende del cliente.
Mi idea es copiar los smartforms existentes a un mandante de pruebas, medianate la SE71 y desde allí modifcarlos y ver que como resulta, creeis que es una buena idea?
Una cosa que no entiendo es el uso de LOOP, es una orden para leer la tabla o que es?

Gracias por vuestra paciencia y un saludo
Responder Con Cita
  #5  
Viejo 01/09/08, 16:38:20
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola ... bueno en el caso de los smartforms lo haces a partir de la transaccion SMARTFORMS y si me parece una excelente idea copiar el smartforms q vas a modificar para que no malogres el original hasta q todos los puntos los tengas claros ... y con respecto al LOOP tiene el mismo mecanismo q en codigo, te barre cada registro de una tabla interna ... puede ser una q definas dentro del smartform como tbm una q pasaste como parametro
__________________
David Carballido Córdova
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 22:27:22.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web