Repositorio de Campos html

Los “campos” (datos que teclea el usuario final, tal como inputs, hidden, etc) que se definen en las páginas html deben definirse en un repositorio de datos de as400 para que el Sistema los “conozca” y empareje. Esto se hace con una simple línea con el proceso cwCvtDB.

Cuando un programa de RPG For Web lee una página html que tiene diversos “campos” de entrada, es necesario que cada campo de la página web sea conocido por el programa con un nombre de campo.

Este se hace con una función que “empareja” los campos por su nombre.

El repositorio es un simple miembro dds donde por cada campo se define el nombre y sus atributos (longitud y tipo).

Puede verse un ejemplo en cpiweb/qinclude (miembro cwbase) o cpiweb/qddssrc (wfile1).

Crear las dds del "Fichero" repositorio/diccionario

· Vamos a tomar unas dds base:

· WRKMBRPDM FILE(CPIWEB/QINCLUDE) MBR(CWBAS*)

· en el miembro CWBASE opción 3 (copiar) a la biblioteca y fichero de destino deseado.

· Ahora editar el nuevo miembro dds copiado, que tendrá sólo los campos obligatorios de R4W.

· WRKMBRPDM library/QDDSSRC

· Añadir los campos necesarios para los programas. Por cada campo sólo es necesario dar un nombre de campo y la longitud/decimales.

Compilación/Creación del repositorio

Como cualquier fichero PF, pero sin miembros, ya que en los programas se hace una mención a este “fichero” como una dtaara.

  • En el PDM simplemente dar un 14 y F4, teclear mbr(*NONE) y si acaso Aut(*ALL).
  • tambien puede usar @CHKPFM si tiene ADP o Power400 de CPI Software.

Ejemplo de cómo usar el repositorio de campos en un programa

  • Se destacan las lineas que realmente importan para este cometido (dos lineas!!!)
H DFTACTGRP(*NO) BNDDIR('CWBIND')
 *Prototipos
/COPY CPIWEB/QSRVSRC,P.xxx
 *Estructura para campos con mismo-nombre que en la html
D cwDS          E DS                  EXTNAME(WFILE1)       <--------☚
 *constantes para siempre
/COPY CPIWEB/QINCLUDE,cwCpyCons
 *parametros de entrada siempre (DS + Entry-Plist)
/COPY CPIWEB/QINCLUDE,cwCpyParm
 *Leer campos del browser y moverlos a los campos homonimos dtaara...
C                   Eval      cwDS=cwCvtDB(prmInput:'WFILE1':'xxxLib')   <----------★
  • la primera línea solo se utiliza para tener la lista de los campos que queremos usar.
  • la segunda linea (cwCvtDB) lee todos los campos (uno o treinta!!!) y los pone en los campos normales de 400 para que sean tratados por el programa.

Ejemplo de repositorio de Campos

En el repositorio (ejem, un simple fichero) deben estar, además de los campos necesarios en cada página web, una serie de campos base del sistema R4W (prefijos cwz)

A          R RWFILE1                                        
 *reserved fields - campos reservados R4W (estos campos van en todos los repo's)
A            CWZAPL        10
A            CWZTRN        15
A            CWZTRNS        5  0
A            CWZERR1        1                   
A            CWZUSER       20
A            CWPASSW       15
A            CWZSTATUS     30
A            CWZERR7        7
A            CWZERR256    256
A            CWZERROR     256
A            CWZBUTTON      2
A            CWZROW         5  0
 *user fields - campos de usuario
A            NOMBRE        20
A            APELLIDOS     30    
A            POBLACION     45
A            CODPOS         5    
A            CODPRO         2  0
A            ARGUM         12

En la página HTMl existirán “campos” de entrada con el mismo nombre, tal como se hace con el SDA:

<input type="text" name="APELLIDOS" maxlength="30" />
....etc
 
/kunden/homepages/8/d674751560/htdocs/cpies/doc/data/pages/rpgforweb/repositorio.txt · Última modificación: 4/04/2017 06:31 (editor externo)
[unknown button type]
 
Excepto donde se indique lo contrario, el contenido de este wiki esta bajo la siguiente licencia: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki