MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
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 26/11/12, 21:14:24
Andres1225 Andres1225 is offline
Junior Member
 
Fecha de Ingreso: oct 2012
Localización: Medellín
Mensajes: 10
Cargar texto de inputField - BSP

Hola a todos,

Estoy en aprendizaje de desarrollo de aplicaciones BSP (con el Modelo Vista Controlador),

Lo que pasa es que estoy intentando realizar un Insert a una tabla de BD desde inputField (textbox),

¿Cómo podria cargar el dato que tenga el parámetro a una variable y luego mandarla a la tabla interna que realiza el insert?

1. El inputField lo nombro de la siguiente manera:

<htmlb:inputField id = "IDNUMBER"
invalid = "false"
required = "true"
maxlength = "60"
value = "<%= idnumber %>" />


2. Para mandarlo a una variable asi:

data ?= cl_htmlb_manager=>get_data( request = runtime->server->request
name = 'inputField'
id = 'IDNUMBER' ).

idnumber = data->value.
ls_infobp-idnumber = idnumber.


3. Al realizar la ejecución me sale el siguiente texto de error:

Access via 'NULL' object reference not possible.



¿A qué se debe esto?

Muchas Gracias por su ayuda, o si hay alguna manera de cargar el inputField a una variable de una manera más sencilla, les agradeceria que la compartieran.

De antemano, Muchísimas Gracias.
__________________
Andrés Felipe Hernández!
Responder Con Cita
  #2  
Viejo 28/11/12, 16:11:22
K-MUS K-MUS is offline
Member
 
Fecha de Ingreso: feb 2006
Localización: Capital Federal
Mensajes: 87
Hola Andres,

Por empezar si estas comenzando con BSP te aconsejo que primero veas algo de "Flow logic" y luego pases a MVC.

No se que tanto estás al tanto de BSP pero hay dos metodologías

Flow Logic y MVC (Model View Controller).

"idnumber" lo tenes que tener declarado como atributo de la página. seguramente te esté faltando eso.

En Flow logic (Pagina con lógica de proceso) lo que queres hacer sería así:

En la vista .htm - Layout

<htmlb:inputField id = "IDNUMBER"
invalid = "false"
required = "true"
maxlength = "60"
value = "<%= idnumber %>" />

En la vista . htm Atributos Página
idnumber TYPE STRING

El nombre tiene que ser igual al "<%= idnumber %>"

En la vista htm - Control eventos -> OnInputProcessing

DATA: event TYPE REF TO CL_HTMLB_EVENT.
DATA: l_idnumber TYPE STRING.

event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).

***** BOTON BUSCAR
IF event->name = 'button' AND
event->id = 'buscar'.
l_idnumber = request->get_form_field( 'idnumber' ).

* Al darle al boton buscar en la variable l_idnumber tenes el valor ingresado
ENDIF.


Ahora MVC es un poco más complicado de explicar por aca, a una vista (propiamente dicho) sin lógica de proceso vas a ver que le falta la solapa de Control de Eventos. Esto es porque la lógica ahora pasa a estar en el controlador, independizandose de la vista (justamente es la finalidad de MVC) tener objetos independientes bien marcados.

En MVC la parte del layout y el atributo de página es igual. Pero ahora en lugar de usar el control de eventos tenes que crear un controlador .do que herede de "CL_BSP_CONTROLLER2" dicho controlador va a tener prácticamente los mismos "eventos" por así decirlo que en flow logic...en los métodos ves por ejemplo:

DO_INIT : Para inicializar valores
DO_REQUEST: Para definir que pagina vas a mostrar
DO_HANDLE_DATA: Para mapear los datos
DO_HANDLE_EVENT: Para atajar eventos

Tenes que redefinir el método que quieras, en DO_REQUEST vas a tener que asignar y disparar la vista que desees, en handle_data tenes como parámetro "form_fields" que tiene los valores ingresados en la vista. Aca podes asignarle el valor del htm a un atributo de la clase controlador y en el handle_event como el valor ya lo tenes a nivel atributo de la clase ya lo vas a tener disponible con tan solo

me->atributo


Saludos
Responder Con Cita
  #3  
Viejo 29/11/12, 13:56:02
Andres1225 Andres1225 is offline
Junior Member
 
Fecha de Ingreso: oct 2012
Localización: Medellín
Mensajes: 10

Muchas Gracias amigo, me fue perfecta tu ayuda

Me hacia falta implementar el método DO_HANDLE_DATA, hicé lo que me indicaste y funcionó bien...

De nuevo Gracias
__________________
Andrés Felipe Hernández!
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 19:44:16.


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