Sei sulla pagina 1di 5

Facultad de Ingeniera de Sistemas

PRACTICA DIRIGIDA
OBJETIVO.- Establecer conexiones remotas entre el servidor as/400 y un
lenguaje visual
Para realizar consultas a travs de un formulario y aplicar las instrucciones del
RPG que realizan estas operaciones.
Se tiene Las siguientes tablas de un sistema de FACTURAS
TABCLI PF
R REGC
CODCLI
5A
NOMCLI
30 A
RUCCLI
11 A
K CODCLI

TABFAC PF
R REGF
NROFAC
CODCLI
FECFAC
K NROFAC

TABDETA PF
R REGD
NROFAC
6A
CODPRO
5A
CANPED
4S 0

TABPRO PF
R REGA
CODPRO
NOMPRO
PREUNI
K CODPRO

6A
4A
10A

5 A
25A
6 S0

En base a las tablas crear :


1.- Realizar la siguiente consulta:

REPORTE DE FACTURAS POR CLIENTE


CODCLI XXXXXXXX (se ingresa por teclado)
Nombre del Cliente xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Factura Fecha
XXXXX
XXXXXXXXX

Numero de Facturas => 99


Total A pagar

=> 999,999.99

a) No debe emplear lgico de unin.

Ing. Alberto Moreno C.

RUC

Facultad de Ingeniera de Sistemas

2) Reporte de facturas( quiebre por numero de factura( quiebres por numero de factura)

REPORTE DE FACTURAS CON SU DETALLE

Factura Nro: XXXXXXXX


(se ingresa por teclado)
Nombre del Cliente xxxxxxxxxxxxxxxxxxxxxxxxxxxxx Fecha
Codpro Descripcion

PrecioUnitario Cantidad

Total

Xxxxx

999999

9999.99

xxxxxxxxxxx

999

Subtotal => 999999.99

Son variables de Programa

Uso del chain.-: Busqueda directa,se realiza siempre y cuando el


archivo fsico o lgico tiene campo clave y solamente se puede buscar
por dicho campo, por ejemplo si se desea buscar una factura del archivo
TABFAC PF

Ing. Alberto Moreno C.

Facultad de Ingeniera de Sistemas

Primero hay que declarar el archivo fisico


FTABFAC IF

DISK

REMOTE

A
B
C
D
E
F
A=archivo de datos
B= I=indica solo lectura F=FULL trabajar en su totalidad cuando es
lectura
C=formato externo
D= el archivo tiene Campo Clave
E= Dispositivo Disco donde est alojado la informacin
F=a nivel de Funcin conexin remota
Caso 1.- buscar la factura F0006

CHAIN

Siempre debe ir un indicador


del 01-99 en HI (>) como
indicador de respuesta , y
cuando se opera debe ser como
*IN75 EL cual puede estar
*off=1 o on=0

FAC1

OPER

FAC2

F00006

CHAIN

TABFAC

IF

*IN75=0

EVAL

MEN=SI EXISTE

CHAIN

TABFAC

F00077

Ing. Alberto Moreno C.

RESL

HI
75

66

LO

EQ

Facultad de Ingeniera de Sistemas

READ .- se emplea para una lectura secuencial debe estar asociada a un indicador en la
columna EQ(=) este indicador se activa cuando no se puede leer el registro
FAC1

OPER

FAC2

READ

TABFAC

DOW

*IN66=0

RESL

HI

LO

EQ
66

<PROCESO A REALIZAR , Calculos,


READ

TABFAC

66

ENDDO

Tiene que volver a leer el registro con


el mismo nmero de indicador
asignado inicialmente , porque de lo
contrario entrara a un bucle sin fin.
Generalmente ubicar el puntero al
inicio(*START) SETLL

READ

READP.- realiza una lectura en


retroceso, pero antes se debe
colocar el puntero al final del
archivo (*END) SETGT

READP

Sintaxis del ReadP

FAC1

OPER

FAC2

*END

SETGT

TABFAC

READP

TABFAC

DOW

*IN55=0

RESL

HI

LO

EQ

55

<Proceso a ejecutar>

READP
ENDDO

Ing. Alberto Moreno C.

TABFAC

55

Facultad de Ingeniera de Sistemas

READE .-Lee registro con clave igual , cuando encuentra un valor distinto al campo buscado ,
automticamente el indicador asociado al READE se activa., la sintaxis:
FAC1

OPER

FAC2

CAMPO

READE

TABLA

RESL

HI

LO

EQ
IND

POR ejemplo en la tabla de datos que se muestra, es la unin de varias tablas observe
que el nmero de factura se repite, esto quiere decir que una factura puede tener uno
o varios detalles, si desea mostrar en un subarchivo el detalle de la factura F0010, el
procedimiento seria:
a) Primero ubicar el puntero en el registro pedido (CHAIN)
b) El segundo paso leer las siguientes facturas con clave igual (READE), note que
solo se puede hacer esta bsqueda y lectura siempre que tenga el lgico o el
fsico el campo clave indicado.( K NROFAC)

CHAIN

READE

FAC1

OPER

FAC2

F00010

CHAIN

TABFAC

DOW

*IN77=0

RESL

HI

LO

EQ

77

<Proceso a ejecutar>
F00010

READE
ENDDO

Ing. Alberto Moreno C.

TABFAC

77