Ver Mensaje Individual
  #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