Ingeniero Técnico en Informática de Sistemas


Llenguatge CLP


1.- Creeu un programa c4exe01 que visualitzi la fila d´espera de missatges indicada pels paràmetres FILA i BIB.

· La funció F12 posa a blanc els dos camps.

· La funció F· permet sortir del programa.

· Nota: Solament podreu fer la prova sobre la vostra fila ja que no teniu drets

sobre les altres.

1.1.- Pantalla.

9:17:18 S4468517

23/11/99 Visualitzar missatges DPA04

Entra el nom de la Biblioteca: DPA04

Entra el nom de la fila d´espera: DPA04

F3:Sortir F12:Zones en blanc

1.3.- Programa.

PGM

DCLF C3PANTA04 RCDFMT(PANTA04)

BUCLE:

SNDRCVF RCDFMT(PANTA04)

IF &IN12 GOTO BLANCS

IF &IN03 GOTO FI

DSPMSG MSGQ(&BIBLIOTECA/&FILAESPERA)

GOTO BUCLE

BLANCS:

CHGVAR &BIBLIOTECA ' '

CHGVAR &FILAESPERA ' '

GOTO BUCLE

FI:

ENDPGM

2.- Mitjançant la pantalla CPANTA01, creeu un programa en llenguatge CLP que respongui als càlculs demandats per les tecles de funció.

· F3: Sortir del programa.

· F10, F11, F12, F13: Suma, resta, multiplicació i divisió dels dos operadors OP1

i OP2.

· Cal també mostrar el rètol de la operació efectuada (recordeu de fer-ho

mitjançant indicadors sobre la propietat `Non Affichable' de cada rètol).

2.1.- Pantalla.

23/11/99

9:16:33 CALCULS SENZILLS

SISTEMA: S4468517

UTILITZADOR: DPA04

Suma

Operand 1: 34.00

Operand 2: 89.00

Resultat: 123.00

F3:Sortir F10:Suma F11:Resta F12:Multi F13:Divi

2.2.- Programa.

PGM

DCLF C3PANTA01 RCDFMT(FORMAT1)

BUCLE:

SNDRCVF RCDFMT(FORMAT1)

IF &IN10 GOTO SUMA

IF &IN11 GOTO RESTA

IF &IN12 GOTO MULTI

IF &IN13 GOTO DIVI

IF &IN03 GOTO FI

GOTO BUCLE

SUMA:

CHGVAR &RES (&OP1+&OP2)

CHGVAR &IN45 '1'

CHGVAR &IN46 '0'

CHGVAR &IN47 '0'

CHGVAR &IN48 '0'

GOTO BUCLE

RESTA:

CHGVAR &RES (&OP1 - &OP2)

CHGVAR &IN45 '0'

CHGVAR &IN46 '1'

CHGVAR &IN47 '0'

CHGVAR &IN48 '0'

GOTO BUCLE

MULTI:

CHGVAR &RES (&OP1*&OP2)

CHGVAR &IN45 '0'

CHGVAR &IN46 '0'

CHGVAR &IN47 '1'

CHGVAR &IN48 '0'

GOTO BUCLE

DIVI:

CHGVAR &RES (&OP1 / &OP2)

CHGVAR &IN45 '0'

CHGVAR &IN46 '0'

CHGVAR &IN47 '0'

CHGVAR &IN48 '1'

GOTO BUCLE

FI:

ENDPGM

3.- Mitjançant la pantalla SDA C3PANTA02 (joc de formats sobreposats), feu un programa CLP C4EXE02 amb les característiques següents:

· Al posar-lo en marxa, mostra la capçalera, les funcions (sense F12 IN52) i

Pantalla0. Després espera un valor vàlid (1 o 2) per OPCIÓ i mostra la pantalla

corresponent (Pantalla1 o Pantalla2).Mitjançant F12 podem tornar a Pantalla0.

3.3.- Programa.

PGM

DCLF C3PANTA02

PRINCIPAL:

CHGVAR &IN52 '0'

SNDF RCDFMT(CAPCAL)

SNDF RCDFMT(FUNCIONS1)

SNDRCVF RCDFMT(PANTALLA0)

IF &IN03 GOTO FI

IF (&OPCIO=1) GOTO PANTA1

IF (&OPCIO=2) GOTO PANTA2

PANTA1:

CHGVAR &IN52 '1'

SNDF RCDFMT(CAPCAL)

SNDF RCDFMT(FUNCIONS1)

SNDRCVF RCDFMT(PANTALLA1)

IF &IN12 GOTO PRINCIPAL

IF &IN03 GOTO FI

PANTA2:

CHGVAR &IN52 '1'

SNDF RCDFMT(CAPCAL)

SNDF RCDFMT(FUNCIONS1)

SNDRCVF RCDFMT(PANTALLA1)

IF &IN12 GOTO PRINCIPAL

IF &IN03 GOTO FI

FI:

ENDPGM

4.- Dissenyeu una pantalla SDA C4PANTA04 amb l´aspecte següent.

· Al iniciar el programa Usuari val DU01 i F13: primer, F11: Anterior has

d´estar desactivats i amagats (mitjançant indicadors).

· Quan ens situem a l´últim usuari, les opcions F10 i F12 queden desactivades i amagades.

· Si fem enter, envia el missatge al destinatari corresponent (manament SNDMSG).

4.1.- Pantalla.

Enviar Missatges

Missatge : ADIOS AS400!!!

Usuari : DPA04

F3:Sortir F10:Següent F11:Anterior F12:Últim F13:Primer

4.3.- Programa.

PGM

DCLF C4PANTA04 RCDFMT(PANTA)

DCL VAR(&CONTALFA) TYPE(*CHAR) LEN(1)

DCL VAR(&CONTNUM) TYPE(*DEC) VALUE(1)

BUCLE:

IF (&CONTNUM=1) THEN(DO)

CHGVAR &IN21 '0'

CHGVAR &IN23 '0'

CHGVAR &IN20 '1'

CHGVAR &IN22 '1'

ENDDO

ELSE DO

IF (&CONTNUM=9) THEN(DO)

CHGVAR &IN20 '0'

CHGVAR &IN21 '1'

CHGVAR &IN22 '0'

CHGVAR &IN23 '1'

ENDDO

ELSE DO

CHGVAR &IN20 '1'

CHGVAR &IN21 '1'

CHGVAR &IN22 '1'

CHGVAR &IN23 '1'

ENDDO

ENDDO

CHGVAR VAR(&CONTALFA) VALUE(&CONTNUM)

CHGVAR &USU ('DPA0' *TCAT &CONTALFA)

SNDRCVF RCDFMT(PANTA)

IF &IN03 GOTO FI

IF &IN10 GOTO SEG

IF &IN11 GOTO ANT

IF &IN12 GOTO ULT

IF &IN13 GOTO PRIM

SNDMSG MSG(&MIS) TOMSGQ(&USU/&USU)

GOTO BUCLE

SEG:

IF (&CONTNUM<9) THEN(DO)

CHGVAR &CONTNUM (&CONTNUM+1)

ENDDO

GOTO BUCLE

ANT:

IF (&CONTNUM>1) THEN(DO)

CHGVAR &CONTNUM (&CONTNUM-1)

ENDDO

GOTO BUCLE

ULT:

CHGVAR &CONTNUM 9

GOTO BUCLE

PRIM:

CHGVAR &CONTNUM 1

GOTO BUCLE

FI:

ENDPGM

5.- Dissenyeu la pantalla SDA C4PANTA05.

· La variable NUM (tipus 6) indica el número de programa (1..3).+

· Les variables VAR1P1 i VAR2P2 (+B(3)) son les variables que ens serviran

per al pas de paràmetres entre els programes (C4EXE05, C4EXE051,

C4EXE052).

· L´objectiu d´aquest exercici es verificar el tema estudiat referent al CALL, TFRCTL i pas de paràmetres.

5.1.- Pantalla.

Estic en el programa 1

Variable 1 de Programa 1: 12

F3:Sortir

Estic en el programa 2

Variable 1 de Programa 1: 12

Variable 2 de Programa 2: 69

F3:Sortir

Estic en el programa 3

Variable 1 de Programa 1: 12

Variable 2 de Programa 2: 69

F3:Sortir

5.3.1- Programa C4EXE05.

PGM

DCLF C4PANTA05 RCDFMT(PANTA)

BUCLE:

CHGVAR &IN40 '0'

CHGVAR &NUM 1

SNDRCVF RCDFMT(PANTA)

IF &IN03 GOTO FI

CALL C4EXE051 PARM(&VAR1P1 &VAR2P2)

GOTO BUCLE

FI:

ENDPGM

5.3.2- Programa C4EXE051.

PGM PARM(&VAR1P1 &VAR2P2)

DCLF C4PANTA05 RCDFMT(PANTA)

BUCLE:

CHGVAR &NUM 2

CHGVAR &IN40 '1'

SNDRCVF RCDFMT(PANTA)

IF &IN03 GOTO FI

TFRCTL C4EXE052 PARM(&VAR1P1 &VAR2P2)

GOTO BUCLE

FI:

ENDPGM

5.3.3- Programa C4EXE052.

PGM PARM(&VAR1P1 &VAR2P2)

DCLF C4PANTA05 RCDFMT(PANTA)

BUCLE:

CHGVAR &NUM 3

CHGVAR &IN40 '1'

SNDRCVF RCDFMT(PANTA)

IF &IN03 GOTO FI

GOTO BUCLE

FI:

ENDPGM

6.- Recupereu l´exercici (C4EXE01 amb C4PANTA01) i transformeu-lo (C5EXE01 amb C5PANTA01) per tal de controlar els errors amb MONMSG.

· Provoqueu els errors per tal de poder esbrinar els números de missatge i

controlar-los a nivell de línia (activitat indicadors que informin del tipus

d´error).

6.3.- Programa.

PGM

DCLF C5PANTA01 RCDFMT(PANTA04)

MONMSG MSGID(CPF0000) EXEC(GOTO ERROR)

BUCLE:

SNDRCVF RCDFMT(PANTA04)

IF &IN12 GOTO BLANCS

IF &IN03 GOTO FI

DSPMSG MSGQ(&BIBLIOTECA/&FILAESPERA)

GOTO BUCLE

BLANCS:

CHGVAR &BIBLIOTECA ' '

CHGVAR &FILAESPERA ' '

GOTO BUCLE

ERROR:

SNDPGMMSG MSG('ERROR, EN LA BIBLIO O LA FILA DE ESPERA!)

GOTO BUCLE

FI:

ENDPGM

7.- Dissenyeu una pantalla SDA (C5PANTA02). El programa ha de recuperar (RTVJOBA) el nom d´usuari actual i l´estat de la cua d´espera de missatges en el USRPRF (RTVUSRPRF).

· Mitjançant F10, el programa canvia l´estat de la cua d´espera en els estats

(NOTIFY, HOLD, BREAK) successivament.

· F3 Permet sortir del programa.

7.1.- Pantalla.

Canvi de estat per cua espera usuari

Usuari: DPA04 Modo en USRPRF: *NOTIFY

Pantalla: QPADEV0001 Modo actual: *NOTIFY

F3:Sortir F10:Canvi

7.3.- Programa.

PGM

DCLF C5PANTA02 RCDFMT(PANTA)

DCL VAR(&CONT) TYPE(*DEC) LEN(2 0) VALUE(1)

CHGVAR &MODO *NOTIFY

BUCLE:

CHGMSGQ MSGQ(DPA04/DPA04) DLVRY(&MODO)

RTVJOBA JOB(&PANTA) USER(&USU)

RTVUSRPRF DLVRY(&USR2)

SNDRCVF RCDFMT(PANTA)

IF &IN10 GOTO CASE

IF &IN03 GOTO FI

GOTO BUCLE

CASE:

IF (&MODO=*NOTIFY) DO

CHGVAR &MODO *HOLD

ENDDO

ELSE DO

IF (&MODO=*HOLD) DO

CHGVAR &MODO *BREAK

ENDDO

ELSE DO

CHGVAR &MODO *NOTIFY

ENDDO

ENDDO

GOTO BUCLE

FI:

ENDPGM

8.- Recupereu l´exercici C4EXE01 (visualitzar missatges d´usuaris) i C3PANTA01 (càlculs aritmètics) i afegiu-hi el control d´errors MONMSG i SNDPGMMSG.

· Nota, per cada exercici cal pensar en quins errors es poden produir a l´execució del programa per tal de poder, en cada cas, controlar i informar a l´usuari del error produït. (recordeu el número de missatge i si tractar-ho local o global).

8.3.- Programa.

PGM

DCLF C3PANTA04 RCDFMT(PANTA04)

MONMSG MSGID(CPF0000) EXEC(GOTO ERROR)

BUCLE:

SNDRCVF RCDFMT(PANTA04)

CHGVAR &MERROR ' '

IF &IN12 GOTO BLANCS

IF &IN03 GOTO FI

DSPMSG MSGQ(&BIBLIOTECA/&FILAESPERA)

GOTO BUCLE

BLANCS:

CHGVAR &BIBLIOTECA ' '

CHGVAR &FILAESPERA ' '

GOTO BUCLE

ERROR:

CHGVAR &MERROR 'CAMPS INCORRECTES|'

GOTO BLANCS

FI:

ENDPGM

9.- Ens proposem de fer un entorn integrat que permeti treballar amb totes les característiques dels missatges. Dissenyeu una pantalla SDA (C5PANTA04).

· Quant s´executa el programa, la pantalla presenta les información (nom de la

pantalla, usuari, i estat actual del mode de recepció dels missatges en USRPRF)

recuperades de la descripció del treball i del perfil d´usuari (RTVJOBA i

RTVUSRPRF).

· MODO= `INTERRUPTIU'

· LLOC='PANTALLA:'

· Funcions:

· F10: Envia el missatge amb les opcions actuals.

· F05: Canvia el mode d´espera de la cua de missatges d´usuari amb els

valors (NOTIFY, BREAK, HOLD).

· F06: El mateix amb la cua de missatges de pantalla.

· F07: Canvia el tipus de missatge, (INFO o INQ).

· F08: Canvia el rètol (LLOC) amb els valors USUARI: o PANTALLA:

(recordeu d´imedir, quan es tracte d´usuari el mode *BREAK).

· F09: Canvia el mode d´enviar misstages (Iterruptiu o no, BREAK o NOBREAK) i actualitza el rètol MODO amb el valor corresponent.

· F12: Posa a blanc el camp de missatge.

· F03: Surt del programa.

· Cal detectar els possibles errors per tal de poder controlar-los (MONMSG).

· Es valorarà qualsevol iniciativa de millorar l´aspecte, les proteccions,

etc...

9.1.- Pantalla.

Usuari: DPA04 23/11/99

Pantalla: QPADEV0001 Missatges 9:27:42

Entra el text del missatge:

ADIOS AS400!

Destinatari: Tipus de missatge

PANTALLA: QPADEV0001 *INFO

Biblio: DPA04

Modo enviar missatge

INTERRUPTIU

Estat actual de la fila d espera Accions

Pantalla: *NORMAL F10:Enviar F08:Modo

Usuari: *NOTIFY F05:Canvi de mode per usuari

F06:Canvi de mode per pantalla

F07:Tipus de missatge

F12:Reset F03:Sortir

F09:Canvi modo enviar

Usuari: DPA04 23/11/99

Pantalla: QPADEV0001 Missatges 9:30:53

Entra el text del missatge:

ADIOS AS400!

Destinatari: Tipus de missatge

USUARI: DPA04 *INFO

Biblio: DPA04

Modo enviar missatge

NO INTERRUPTIU

Estat actual de la fila d espera Accions

Pantalla: *NORMAL F10:Enviar F08:Modo

Usuari: *HOLD F05:Canvi de mode per usuari

F06:Canvi de mode per pantalla

F07:Tipus de missatge

F12:Reset F03:Sortir

F09:Canvi modo enviar

9.3.- Programa.

PGM

DCLF C5PANTA04 RCDFMT(PANTA)

MONMSG MSGID(CPF0000) EXEC(GOTO ERROR)

CHGVAR &TIPO *INFO

CHGVAR &MODO 'INTERRUPTIU'

CHGVAR &LLOC 'PANTALLA:'

RTVUSRPRF DLVRY(&USU)

BUCLE:

RTVJOBA JOB(&PANTALLA) BRKMSG(&PANTALLA3)

SNDRCVF RCDFMT(PANTA)

IF &IN10 GOTO ENVIAR

IF &IN08 GOTO MODO

IF &IN05 GOTO MODOUSU

IF &IN06 GOTO MODOPANTA

IF &IN07 GOTO TIPO

IF &IN12 GOTO RESET

IF &IN09 GOTO MODOENVIO

IF &IN03 GOTO FI

GOTO BUCLE

RESET:

CHGVAR &MIS ' '

GOTO BUCLE

ENVIAR:

IF (&MODO='INTERRUPTIU') DO

SNDBRKMSG MSG(&MIS) TOMSGQ(&PANTALLA2)

ENDDO

ELSE DO

IF (&LLOC='PANTALLA') DO

SNDMSG MSG(&MIS) MSGTYPE(&TIPO) TOMSGQ(&PANTALLA2)

ENDDO

ELSE DO

SNDMSG MSG(&MIS) MSGTYPE(&TIPO) TOUSR(&PANTALLA2)

ENDDO

ENDDO

GOTO BUCLE

MODOENVIO:

IF (&MODO='INTERRUPTIU') DO

CHGVAR &MODO 'NO INTERRUPTIU'

ENDDO

ELSE DO

IF (&LLOC='PANTALLA:') DO

CHGVAR &MODO 'INTERRUPTIU'

ENDDO

ENDDO

GOTO BUCLE

TIPO:

IF (&TIPO=*INFO) DO

CHGVAR &TIPO *INQ

ENDDO

ELSE DO

CHGVAR &TIPO *INFO

ENDDO

GOTO BUCLE

MODOUSU:

IF (&USU=*NOTIFY) DO

CHGVAR &USU *HOLD

ENDDO

ELSE DO

IF (&USU=*HOLD) DO

CHGVAR &USU *BREAK

ENDDO

ELSE DO

CHGVAR &USU *NOTIFY

ENDDO

ENDDO

CHGMSGQ MSGQ(DPA04/DPA04) DLVRY(&USU)

GOTO BUCLE

MODO:

MODOPANTA:

IF (&LLOC='PANTALLA:') DO

IF (&MODO='NO INTERRUPTIU') DO

CHGVAR &LLOC 'USUARI:'

ENDDO

ENDDO

ELSE DO

CHGVAR &LLOC 'PANTALLA:'

ENDDO

GOTO BUCLE

ERROR:

SNDBRKMSG MSG('Hi ha un error en la adreça') +

TOMSGQ(&PANTALLA)

GOTO BUCLE

FI:

ENDPGM

10.- Ens proposem de fer un menú AS400 en CLP.

· Cada opció executa un programa o menú.

· Cal posar ajuda per cadascuna de les opcions.

10.1.- Pantalla.

MENU1 Menu MENU1

23/11/99

Choisir une des options suivantes : 9:32:41

1. Enviar Missatge

2. Canvi del mode de recepció

3. Visualitzar Missatges

4. Menu SDAPR

5. Menu Principal AS/400

Option ou commande

===>

F3=Exit F4=Invite F9=Rappel F12=Annuler

F13=Informations techniques F16=Menu principal AS/400

10.3.- Programa.

PGM PARM(&NOMMENU &BIBLIO &ACCIO)

DCL &NOMMENU *CHAR 10

DCL &BIBLIO *CHAR 10

DCL &ACCIO *CHAR 2

DCLF CLMENUS RCDFMT(MENU1)

BUCLE:

SNDRCVF RCDFMT(MENU1)

IF &IN01 CHGVAR &ACCIO VALUE(X'FFFC')

ELSE IF &IN03 CHGVAR &ACCIO VALUE(X'FFFF')

ELSE IF &IN12 CHGVAR &ACCIO VALUE(X'FFFE')

ELSE CHGVAR &ACCIO VALUE(X'0000')

IF (&LINEA='1') DO

CALL C4EXE04

ENDDO

IF (&LINEA='2') DO

CALL C4EXE01

ENDDO

IF (&LINEA='3') DO

DSPMSG (&BIBLIO)

ENDDO

IF (&LINEA='4') DO

GO MIQUELV/SDAPR

ENDDO

IF (&LINEA='5') DO

GO MAIN

ENDDO

ENDPGM

11.- Crear un segon menú.

· Cada opció executa un programa o menú.

· Cal posar ajuda per cadascuna de les opcions.

11.1.- Pantalla.

MENU2 Menu MENU2

Choisir une des options suivantes :

Menu 2

1. Menu Missatgeria

2. PDM

3. Editor SEU

4. Visualitzar fila espera OUTQ

5. SDAPR

6. Menu Principal

Option ou commande

===>

F3=Exit F4=Invite F9=Rappel F12=Annuler

F13=Informations techniques F16=Menu principal AS/400

11.3.- Programa.

PGM PARM(&NOMMENU &BIBLIO &ACCIO)

DCL &NOMMENU *CHAR 10

DCL &BIBLIO *CHAR 10

DCL &ACCIO *CHAR 2

DCLF CLMENUS RCDFMT(MENU2)

BUCLE:

SNDRCVF RCDFMT(MENU2)

IF &IN01 CHGVAR &ACCIO VALUE(X'FFFC')

ELSE IF &IN03 CHGVAR &ACCIO VALUE(X'FFFF')

ELSE IF &IN12 CHGVAR &ACCIO VALUE(X'FFFE')

ELSE CHGVAR &ACCIO VALUE(X'0000')

IF (&LINEA='1') DO

CALL C5EXE04

ENDDO

IF (&LINEA='2') DO

STRPDM

ENDDO

IF (&LINEA='3') DO

STRSEU

ENDDO

IF (&LINEA='4') DO

DSPMSG (DPA04)

ENDDO

IF (&LINEA='5') DO

GO MIQUELV/SDAPR

ENDDO

IF (&LINEA='6') DO

GO MAIN

ENDDO

ENDPGM

12.- Dissenyeu un manament que visualitzi els objectes de la nostra biblioteca.

12.1.- Programa CLP.

PGM

WRKOBJ OBJ(DPA04/*ALL) OBJTYPE(*ALL)

ENDPGM

12.2.- Programa CMD.

CMD PROMPT('PRIMER MANAMENT')

13.- Dissenyeu un manament que netegi les cues d´espera (sortida i missatges).

13.1.- Programa CLP.

PGM

CLRMSGQ MSGQ(DPA04) CLEAR(*ALL)

ENDPGM

13.2.- Programa CMD.

CMD PROMPT('MANAMENT DOS')

14.- Dissenyeu un manament que permeti fer un FTP en el servidor Linux de l´escola.

14.1.- Programa CLP.

PGM

FTP RMTSYS('125.0.0.99')

ENDPGM

14.2.- Programa CMD.

CMD PROMPT('FTP...')

15.- Dissenyeu un manament amb pas de paràmetres que permeti visualitzar un membre font (manament DSPPFM).

15.1.- Programa CLP.

PGM PARM(&BIBLIO &FITXER &MEMBRE)

DCL &BIBLIO *CHAR 10

DCL &FITXER *CHAR 10

DCL &MEMBRE *CHAR 10

DSPPFM FILE(&BIBLIO/&FITXER) MBR(&MEMBRE)

ENDPGM

15.2.- Programa CMD.

CMD PROMPT('VISUALITZAR MEMBRE FONT')

PARM KWD(BIBLIO) TYPE(*CHAR) +

PROMPT('NOM BIBLIOTECA:')

PARM KWD(FITXER) TYPE(*CHAR) +

PROMPT('NOM FITXER:')

PARM KWD(MEMBRE) TYPE(*CHAR) +

PROMPT('NOM MEMBRE:')

16.- Dissenyeu un manament que permeti el canvi d´estat d´una cua d´espera de missatges.

16.1.- Programa CLP.

PGM PARM(&BIBLIO &FILA &MODO)

DCL &BIBLIO *CHAR 10

DCL &FILA *CHAR 10

DCL &MODO *CHAR 10

CHGMSGQ (&BIBLIO/&FILA) DLVRY(&MODO)

ENDPGM

16.2.- Programa CMD.

CMD PROMPT('CANVI QUA ESPERA MISSATGES')

PARM KWD(FILA) TYPE(*CHAR) DFT(DPA04)

PARM KWD(BIBLIO) TYPE(*CHAR) DFT(DPA04)

PARM KWD(MODO) TYPE(*CHAR) DFT(*SAME)

17.- Dissenyeu un manament que permeti enviar un missatge de tipus BREAK. (cal prestar atenció als paràmetres).

17.1.- Programa CLP.

PGM PARM(&MIS &USU)

DCL &MIS *CHAR 50

DCL &USU *CHAR 10

SNDBRKMSG MSG(&MIS) TOMSGQ(&USU)

ENDPGM

17.2.- Programa CMD.

CMD PROMPT('MISSATGE BREAK')

PARM KWD(MIS) TYPE(*CHAR)

PARM KWD(USU) TYPE(*CHAR)

18.- Dissenyeu un manament que permeti enviar un missatge de tipus no BREAK.

18.l.- Programa CLP.

PGM PARM(&MIS &USU)

DCL &MIS *CHAR 50

DCL &USU *CHAR 10

SNDMSG MSG(&MIS) TOMSGQ(&USU/&USU)

ENDPGM

18.2.- Programa CMD.

CMD PROMPT('MISSATGE NO BREAK')

PARM KWD(MIS) TYPE(*CHAR)

PARM KWD(USU) TYPE(*CHAR)




Descargar
Enviado por:Josep Ribó
Idioma: catalán
País: España

Te va a interesar