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 |