Sei sulla pagina 1di 6

- CLIST_P1.

DOC : 1 -
CLIST (I)

0.- Entradilla

El l enguaj e de CLI ST es un l enguaj e de pr ogr amaci n ms. Est a r azn, j unt o con
l as de senci l l ez, pot enci a y desconoci mi ent o ent r e l os pr ogr amador es, han
hecho que el aut or el i j a est e t ema par a comenzar l a secci n dedi cada a l os
Grandes Sistemas.

1.- Introduccin

Par a i ni ci ar est a nueva et apa, el aut or ha cr e do conveni ent e empezar t r at ando
el t ema CLI ST por que, ent r e ot r as cosas, en un Gran Sistema, son muchos l os
pr ogr amador es que asoci an el t er mi no CLI ST con el depar t ament o de si st emas, y
ya va si endo hor a de que desapar ezca ese t pi co, pues mi ent r as en el mundo del
PC, es el mi smo pr ogr amador el que gener a sus f i cher os . BAT que cont i enen l os
comandos necesar i os par a l a ej ecuci n de una apl i caci n, en el mundo de l os
Grandes Sistemas no ocur r e l o mi smo, ya que el pr ogr amador esper a que al gui en
del depar t ament o de si st emas l e codi f i que l a CLI ST cor r espondi ent e.

Una vez est abl eci da est a pr emi sa, cabe pr egunt ar se por qu cada desar r ol l ador
no se gener a sus pr opi as CLI ST par a si mpl i f i car esas t ar eas r ut i nar i as que ne-
cesi t a r et ecl ear t odos l os d as? A pr i or i , el aut or desconoce exact ament e l a
r espuest a a est a pr egunt a, per o si puede asegur ar que en par t e puede ser debi -
do a l a bar r er a que exi st e ent r e l os depar t ament os de desar r ol l o y de si st emas
en un CPD( Cent r o Pr oceso de Dat os) , y muy posi bl ement e por que t r adi ci onal ment e
est e l enguaj e ha si do usado por el depar t ament o de Si st emas par a mont ar sus
pr ocedi mi ent os, y si se conocen l as r egl as de est e l enguaj e se podr a segui r
el pr oceso que empl ea el depar t ament o de si st emas par a est abl ecer l os cont r o-
l es de segur i dad, ya que es un l enguaj e no compi l ado y, en consecuenci a, pue-
den segui r se sus f uent es.

2.- Lenguaje

En pr i nci pi o debe deci r se que el l enguaj e de CLI ST es un l enguaj e de comandos
( de ah su nombr e Command LI ST) donde l os comandos que se ej ecut an son pr eci -
sament e l os pr opi os comandos de TSO. Aquel l ect or acost umbr ado al uso del PC
ent ender per f ect ament e que el l enguaj e usado en l os f i cher os . BAT equi val e a
i r ej ecut ando cada uno de l os comandos del DOS desde el Pr ompt del si st ema.
Pues de i gual modo, una CLI ST es un conj unt o de sent enci as pr opi as del l engua-
j e y de comandos el ement al es de TSO ( Ti me Shar i ng Oper at i on) .

As , se ent i ende por CLI ST:

- Lenguaj e de al t o ni vel , i nt er pr et e de comandos pr opi os y de TSO.
- Fi cher o secuenci al que cont i ene el pr ocedi mi ent o, o conj unt o de
comandos a ej ecut ar .

Es pr obabl e que el l ect or de est a secci n est f ami l i ar i zado con l os J CLs ( J ob
Cont r ol Language) . Por eso el aut or se per mi t e acl ar ar que st e es un l enguaj e
que por su f unci onal i dad se par ece al J CL, en base a l a capaci dad que t i ene
par a hacer uso de l os r ecur sos del si st ema, per o se di f er enci a del J CL en que
par a su ej ecuci n no es necesar i o envi ar ni ngn t r abaj o a l as col as del J ES
( J ob Ent r y Syst em) , ya que l puede r eal i zar est e comet i do di r ect ament e, de
f or ma i nt er act i va, t r at ando l a i nf or maci n que i nt r oduce el usuar i o en el si s-
t ema y devol vi endo mensaj es al mi smo.

A modo de ej empl o, l a pr i mer a par t e de l a f i gur a 1 muest r a una CLI ST usada pa-
r a i mpr i mi r un f i cher o haci endo uso del pr ogr ama de ut i l i dad del si st ema I EB-
GENER, mi ent r as que l a segunda par t e muest r a un paso de un J CL que r eal i za el
mi smo comet i do con el mi smo pr ogr ama.

Como se ver a l o l ar go de st e y si gui ent es ar t cul os, el l enguaj e de CLI ST
es un l enguaj e senci l l o, per o no por el l o dej a de ser pot ent e. El ni co r eque-
r i mi ent o que i mpone est e l enguaj e es que par a poder ej ecut ar un pr ocedi mi ent o
de cl i st es necesar i o est ar en una sesi n de TSO, cosa l gi ca por ot r a par t e,
pues l os pr ocedi mi ent os hacen uso de t odos l os comandos de TSO. As mi smo,
t ambi n puede i nvocar se un pr ocedi mi ent o de CLI ST desde cual qui er l enguaj e de
pr ogr amaci n de apl i caci ones, COBOL o Nat ur al por ej empl o, si empr e que se est e
ej ecut ando esa apl i caci n baj o TSO.

Una combi naci n muy i nt er esant e es l a que i nt egr a est e l enguaj e con l os pane-
l es de I SPF par a cr ear di l ogos, t ema est e que t ambi n se t r at ar en pr xi mos
ar t cul os.

- CLIST_P1.DOC : 2 -
Por ot r a par t e, al ser un l enguaj e i nt r pr et e, no necesi t a de compi l aci n
pr evi a, por l o que una vez escr i t a l a secuenci a de comandos a ej ecut ar , est a
puede ej ecut ar se di r ect ament e.

Por ul t i mo, t ambi n cabe dest acar que est e l enguaj e de CLI ST se puede usar pa-
r a escr i bi r apl i caci ones, si bi en l as sent enci as par a l a mani pul aci n de da-
t os, o de bi f ur caci n no gozan de l a f l exi bi l i dad que t i enen en ot r os l engua-
j es or i ent ados al manej o de dat os.

3.- Libreras de CLISTs

Como ya se ha di cho en l a i nt r oducci n, una cl i st no es ms que un f i cher o se-
cuenci al , y en consecuenci a se al macena en el si st ema como t al . No obst ant e, y
con obj et o de f aci l i t ar gr andement e, ent r e ot r as, l as t ar eas mecni cas del de-
sar r ol l o, el si st ema ent i ende di st i nt os def ect os par a l a ej ecuci n de CLI STs.

El nombr e del f i cher o o dat aset que cont i ene l a cl i st , ya sea un f i cher o
PDS ( Par t i ci onat ed Dat a Set ) , o secuenci al , puede t ener hast a 44 car act er es, y
debe segui r l as r egl as gener al es par a l a const r ucci n de l os nombr es de f i che-
r os en el ent or no de MVS ( Mul t i pl e Vi r t ual St or age) .

Se r ecomi enda usar f i cher os par t i ci onados( PDS) par a al macenar CLI STs por l as
dos r azones si gui ent es:

a) Nor mal ment e l as CLI ST son f i cher os pequeos, y en consecuenci a, l a
gest i n de su al macenami ent o f si co es gest i onada mej or en una l i br er a que en
un f i cher o secuenci al .

b) Per mi t e l a agr upaci n l gi ca de CLI STs.

Por su par t e, el r egi st r o del f i cher o que cont enga una CLI ST, debe cumpl i r l os
si gui ent es r equi si t os:

- Si es de l ongi t ud f i j a: no puede super ar l os 255 byt es de l ongi t ud, r eser -
vando l os l t i mos 8 byt es par a el numer o de secuenci a.

- Si es de l ongi t ud var i abl e: como t i ene 4 byt es aadi dos a l a cabecer a
del r egi st r o par a especi f i car l a l ongi t ud del r egi st r o, st e puede t ener una
l ongi t ud de hast a 259 byt es, i ncl uyendo l os 4 de cabecer a, y, l a secuenci a,
que se especi f i ca en l os 8 byt es si gui ent es a l os de l ongi t ud.

En gener al , se r ecomi enda el uso del f or mat o de l ongi t ud f i j a, no por nada en
especi al , si no por que admi t e t ant o l os f i cher os numer ados ( NUMBER ON) como l os
no numer ados ( UNNUM) .


4.- Cmo invocar una CLIST

Una CLI ST puede i nvocar se por una de l as dos f or ma si gui ent es:

a) De forma explcita: I nvocando al pr ocedi mi ent o medi ant e l a pal abr a cl ave
EXEC, t al y como se muest r a en l os si gui ent es ej empl os:

COMMAND ===> t so ex ' J MPDES. cl i st ( l nat ddm) ' , ' t est '

En est e caso, se i nvoca una cl i st pasando como par met r o l a cadena TEST.

Los si gui ent es ej empl os muest r an cmo el pr opi o TSO nos i ndi ca cual es el
def ect o que ent i ende cuando se i nvoca una cl i st er r neament e.

COMMAND ===> t so ex ( l nat xxx)

I KJ 56520I MEMBER LNATXXX NOT I N DATASET J MPDES. CLI ST
***

En est e caso, el si st ema busca el dat aset ' J MPDES. CLI ST( LNATXXX) ' y como
no l e encuent r a, devuel ve el mensaj e que se acompaa.

COMMAND ===> tso ex clist.int(lnatddm)

I KJ 56228I DATA SET J MPDES. CLI ST. I NT. CLI ST NOT I N CATALOG OR CATALOG CAN
NOT BE ACCESSED
***

En est e ej empl o, al no haber encer r ado ent r e comi l l as el nombr e de l a CLI ST,
y, si en el per f i l del usuar i o f i gur a <PREFI X( j mpdes) >, se esper a que el si s-
- CLIST_P1.DOC : 3 -
t ema ant eponga el pr ef i j o del usuar i o, t al y como hace con cual qui er nombr e de
f i cher o, per o el r esul t ado es ot r o, ya que por def ect o el si st ema no sol o an-
t epone el pr ef i j o, si no que t ambi n pone como suf i j o de l a l i br er a que es i n-
vocada con EXEC l a cadena ' CLI ST' , con i ndependenci a de que se l l ame a un pr o-
cedi mi ent o que sea mi embr o de un Par t i ci onado, o que se encuent r e en un f i che-
r o secuenci al . El si gui ent e ej empl o i l ust r a est e caso:

COMMAND ===> t so ex J MP
COMMAND ===> t so ex ' J MPDES. J MP. CLI ST'

En ambos casos se est i nvocando al mi smo pr ocedi mi ent o, si empr e en el supues-
t o de que el usuar i o t enga def i ni do J MPDES como PREFI X en su per f i l .

Par a saber como se encuent r a def i ni do, ej ecut ar desde l nea de comando:
< TSO PROFI LE > y, si el par met r o que devuel ve es NOPREFI X, ej ecut ar < TSO
PROFI LE PREFI X( j mpdes) > y a par t i r de ese moment o, a cual qui er pr ocedi mi ent o
i nvocado si n comi l l as el si st ema l e ant epondr el pr ef i j o especi f i cado.

b) De forma implicita

La ot r a f or ma de i nvocar una CLI ST, consi st e en i nvocar pr ocedi mi ent os que se
encuent r an en l as l i br er as al ocadas par a t al ef ect o.

Par a poder ent ender est e concept o, el l ect or debe asi mi l ar pr evi ament e que el
entorno que t i ene asi gnado cada uno de l os pr ogr amador es de un gr an si st ema,
se l e def i ne expr esament e a cada uno cuando ej ecut a el pr ocedi mi ent o de LOGON
o conexi n al TSO. Est e ent or no se encuent r a compuest o por una ser i e de f i che-
r os l gi cos, no f si cos, que r eci ben el nombr e de Ddname ( Dat a Def i ni t i on Na-
me) . Cada Ddname t i ene asoci adas una ser i e de f i cher os o l i br er as f si cas, en
l as cual es el si st ema buscar a el el ement o que necesi t e en cada moment o. Est a
bsqueda l a r eal i zar a sol o en l a l i br er as asoci adas a l a Ddname cor r espon-
di ent e al t i po t r at ado. As , l os panel es de I SPF l es buscar a en l as l i br er as
asoci adas a l a Ddname I SPPLI B, l os mensaj es en l as l i br er as asoci adas a l a
Ddname I SPMLI B, y l os pr ocedi mi ent os de comandos o CLI ST se encuent r an asoci a-
dos a l a Ddname SYSPROC.

Una DDNAME es el nombre dado a un fichero lgico, no fsico, pero que tiene un
significado especial.

El t ener l o de est a f or ma est abl eci do per mi t e modi f i car l a l i st a de l i br er as
asoci adas a un nombr e l gi co o DDNAME si n necesi dad de r edef i ni r nuevos nom-
br es l gi cos de f i cher os. Est a modi f i caci n se r eal i za medi ant e el comando
ALLOC que se ver a en el si gui ent e apar t ado.

Pues bi en, TSO par a l a bsqueda del comando a ej ecut ar , exami na t odas l as l i -
br er as de CLI ST al ocadas en el si st ema, en el orden inverso al de su al oca-
ci on. Ent r e ot r as cosas, est e punt o est e punt o t i ene su i mpor t anci a, ya que
puede per mi t i r que se anul en l os ef ect os de una cl i st de uso gener al , cr eando
si mpl ement e ot r a cl i st con el mi smo nombr e que l a de uso gener al , per o i ncl u-
yndol a en l as ul t i mas l i br er as de l a l i st a asoci ada a SYSPROC, par a que de
est a f or ma, cuando se i nvoque di cho pr ocedi mi ent o encuent r e, y en consecuenci a
se ej ecut e, ant es l a par t i cul ar que l a gener al .

Cuando se desee ej ecut ar una cl i st si gui endo el or den di r ect o, se debe ant en-
poner al comando el s mbol o %

El si gui ent e ej empl o muest r a l a f or ma de i nvocar un pr ocedi mi ent o de
cl i st usando l a f or ma i mpl ci t a, y adems buscando sol o en l a l i br ar a
SYSPROC.

COMMAND ===> tso %NATDESA

Est e pr ocedi mi ent o est abl ece el ent or no de NATURAL- DESARROLLO y nos i nt r oduce
en el .

4.- libreras ALLOCADAS

Ant es de nada, el aut or qui er e pedi r di scul pas por el pal abr o ut i l i zado( l o
cual t ambi n es ot r o pal abr o) , per o al ser un t r mi no t an ut i l i zado en est as
i nst al aci ones ha l l egado a i ncor por ar se a su vocabul ar i o.

Real ment e el t er mi no pr ovi ene del comando de TSO ALLOC abr evi at ur a de ALLOCA-
TE, el cual si gni f i ca asi gnar al ent or no. No si gni f i ca r eser va de espaci o, con
el que se l e asoci a nor mal ment e, l o ni co que hace es i ncor por ar el nombre de
la librera que se especi f i que a l a Ddname que se i ndi que. Compar ando est e co-
- CLIST_P1.DOC : 4 -
mando con el DOS, se podr a deci r que alocar una librera si gni f i ca i ncl ui r
di cha l i br er a ( o di r ect or i o del DOS) en el PATH del si st ema, par a que pueda
l ocal i zar en t i empo de ej ecuci n cual qui er f i cher o si n necesi dad de que se en-
cuent r e en el mi smo di r ect or i o.

Par a conocer l as l i br er as que se encuent r an al ocadas, es deci r , def i ni das o
asi gnadas en el ent or no de cada usuar i o, se puede ej ecut ar el comando de TSO:
LI STALL con l a opci n STATUS.

l a f i gur a 2 muest r a el r esul t ado de di cha ej ecuci n, aunque, como puede obser -
var se, el r esul t ado necesi t a dos l neas por l i br er a. Concat enando ambas l -
neas, el r esul t ado ser i a el de l a f i gur a 3, l a cual muest r a ot r a f or ma de ver
l a mi sma l i st a de l i br er as al ocadas par a cada una de l as Ddnames que const i -
t uyen el ent or no del usuar i o, as como l a di sposi ci n que t i ene cada l i br er a
f si ca, per o de una f or ma al go mas i nt el i gi bl e.

As , l a Ddname I SPLLI B, l i br er a de mdul os ej ecut abl es de I SPF ( I SP- L- LI B)
t i ene dos l i br er as f si cas asi gnadas, mi ent r as que l os mensaj es que nos de-
vuel va el si st ema se pueden encont r ar en cual qui er a de l as 5 l i br er as asoci a-
das a l a Ddname I SP- M- LI B.

5.- Utilidad

Por ul t i mo, y par a cer r ar est a pr i mer a ent r ega, se acompaa el l i st ado de l a
pr i mer a par t e de una ut i l i dad que se ha di vi di do en dos par t es par a most r ar de
f or ma pr act i ca l as di st i nt as f or mas de i nvocar una CLI ST, i ncl uso desde ot r a
CLI ST.

En def i ni t i va, l a ut i l i dad que se acompaa, y cuyos f uent es se encuent r an en
el CD que acompaa a l a r evi st a, t i ene por nombr e J MP01, y al ser i nvocada de
f or ma expl i ci t a, per mi t e r ecoger y val i dar dos par met r os, compuest os por nom-
br e de l i br er a y posi ci n. Una vez val i dados est os par met r os, son pasados
t ambi n como par met r os a l a CLI ST J MP02, l a cual se encar ga de l eer del en-
t or no l as l i br er as asoci adas a l a Ddname SYSPROC. Y, a cont i nuaci n, i ncl uye
en l a posi ci n el egi da l a l i br er a r eci bi da, o l a el i mi na del ent or no si l a
posi ci n el egi da es l a 0.

En el pr xi mo ar t i cul o se t r at ar con mas det al l e l a si nt axi s de l as sent en-
ci as i ncl ui das en ambos pr ocedi mi ent os, per o se ha opt ado por i ncl ui r ambas
CLI ST en est a pr i mer a ent r ega a f i n de el l ect or pueda ej ecut ar l a ut i l i dad
nt egr ament e y hacer sus pr opi os pi ni t os, ya que ni cament e debe copi ar di chos
f uent es en el HOST medi ant e un si mpl e f i l e- t r ansf er par a t ener est a ut i l i dad
ej ecut abl e en su ent or no.
- CLIST_P1.DOC : 5 -

/ * ================ i mpr i mi r f i cher o con CLI ST ========== */
/ * */
ALLOC FI LE( SYSUT1) DATASET( ' J MPDES. TEMPORAL' ) SHR REUSE
ALLOC FI LE( SYSUT2) SYSOUT( X) DEST( RMT101) REUSE
ALLOC FI LE( SYSPRI NT) DUMMY REUSE
ALLOC FI LE( SYSI N) DUMMY REUSE
CALL ' SYS1. LI NKLI B( I EBGENER) '
FREE FI LE( SYSUT1 SYSUT2 SYSPRI NT SYSI N)

/ / ** - - - - - - - - - - - - - - i mpr i mi r f i cher o con J CL - - - - - - - - - - - - -
/ / PASO00 EXEC PGM=I EBGENER
/ / STEPLI B DD DSN=SYS1. LI NKLI B, DI SP=SHR
/ / SYSUT1 DD DSN=J MPDES. TEMPORAL, DI SP=SHR
/ / SYSUT2 DD SYSOUT=X, DEST=RMT101
/ / SYSPRNT DD DUMMY
/ / SYSI N DD DUMMY
Fi gur a 1


- - - - - - - - - - - - - - - - - - - - - - - I SPF/ PDF PRI MARY OPTI ON MENU - - - - - - - - - - - - - - - - - - - - - - -
OPTI ON ===> t so l i st a st at us
USERI D - J MPDES
0 I SPF PARMS - Speci f y t er mi nal and user par amet er s TI ME - 10: 43
1 BROWSE - Di spl ay sour ce dat a or out put l i st i ngs TERMI NAL - 3278
2 EDI T - Cr eat e or change sour ce dat a PF KEYS - 12
3 UTI LI TI ES - Per f or mut i l i t y f unct i ons
4 FOREGROUND - I nvoke l anguage pr ocessor s i n f or egr ound

Ent er END command t o t er mi nat e I SPF.

- - DDNAME- - - DI SP- -
LI BDES01. SI ST. I SPLLI B
I SPLLI B KEEP
LI BDES03. PALALI B. I SPLOAD
KEEP
LI BSYS05. I SPMLI B
I SPMLI B KEEP
I SP. SI SPMENU
KEEP
Fi gur a 2



- - - - - - - - - - - - - - - - - - - - - - - I SPF/ PDF PRI MARY OPTI ON MENU - - - - - - - - - - - - - - - - - - - - - - -
OPTI ON ===> t so l i st a st at us

- - DDNAME- - - DI SP- -
LI BDES01. SI ST. I SPLLI B I SPLLI B KEEP
LI BDES03. PALALI B. I SPLOAD KEEP
LI BSYS05. I SPMLI B I SPMLI B KEEP
I SP. SI SPMENU KEEP
I SF. SI SFMLI B KEEP
LI BDES03. PALALI B. I SPMLI B KEEP
LI BDES01. SI ST. I SPMLI B KEEP

Fi gur a 3


- CLIST_P1.DOC : 6 -

/ * <<<<<<<<<<<<<<<<<<<<<<<<< J MP01 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */ 00010009
/ *********************************************************************/ 00020009
/ ** **/ 00030009
/ ** NOMBRE : J MP01 **/ 00040009
/ ** **/ 00050009
/ ** FUNCI ON: ASI GNA O LI BERA DE FORMA DI NAMI CA LI BRERI AS DE CLI ST **/ 00060009
/ ** AL ENTORNO DEL USUARI O ( DDNAME SYSPROC) **/ 00070009
/ ** **/ 00080009
/ ** SI NTAXI S: J MP01 LI BRERI A( LI BRERI A) POSI CI ON( N) **/ 00090012
/ ** **/ 00100009
/ ** DONDE N ES UN NUMERO QUE ESPECI FI CA LA POSI CI ON EN **/ 00110009
/ ** LA QUE SE DEBE I NCLUI R LA LI BRERI A DENTRO DE **/ 00120009
/ ** LA LI STA DE LI BRERI AS ALOCADAS **/ 00130009
/ ** SI POSI CI ON = 0 SI GNI FI CA QUE DEBE BORRAR **/ 00140009
/ ** LA LI BRERI A DE LA LI STA CONCATENADA **/ 00150009
/ ** **/ 00160009
/ *********************************************************************/ 00170009
/ * */ 00180009
PROC 0 LI BRERI A( ) POSI CI ON( ) 00190011
/ * */ 00200009
SET TEST = TESTNO 00210012
I F &TEST = TEST THEN CONTROL SYMLI ST CONLI ST MSG 00220009
ELSE CONTROL NOSYMLI ST NOCONLI ST NOMSG 00230009
/ * */ 00240009
CONTROL END( END) 00250009
/ * */ 00260009
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 00270009
/ * SI NO SE RECI BE COMO PARAMETRO UNA LI BRERI A SE DEVUELVE MENSAJ E */ 00280009
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 00290009
/ * */ 00300009
I F &LI BRERI A = &STR( ) THEN - 00310009
DO 00320009
WRI TENR LI BRERI A DE CLI ST A ALLOCAR : 00330009
READ &LI BRERI A 00340012
I F &LI BRERI A = &STR( ) THEN - 00350012
DO 00360009
WRI TE PARA - ALLOCAR- UNA LI BRERI A DEBE ESPECI FI CARSE 00370009
GOTO FI N 00380009
END 00390009
END 00400009
/ * */ 00410009
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 00420009
/ * LA LI BRERI A DE CLI ST A ALLOCAR DEBE EXI STI R */ 00430009
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 00440009
/ * */ 00450009
I F &TEST = TEST THEN WRI TE &SYSDSN( ' &LI BRERI A' ) 00460012
I F &SYSDSN( ' &LI BRERI A' ) NE &STR( OK) THEN + 00461012
DO 00470009
WRI TE NO EXI TE LA LI BRERI A &LI BRERI A 00480009
GOTO FI N 00490009
END 00500009
/ * */ 00510009
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 00520009
/ * VALI DAR LA POSI CI ON ELEGI DA */ 00530009
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 00540009
/ * */ 00550009
POSI CI ON: + 00560012
I F &STR( &POSI CI ON) = FI N THEN GOTO FI N 00560113
/ * */ 00560212
I F &POSI CI ON GE 0 + 00561012
AND &POSI CI ON LE 99 + 00570009
THEN SET &POSI CI ON = &POSI CI ON 00580009
ELSE DO 00590009
WRI TE LA POSI CI ON ELEGI DA DEBE ESTAR EN EL RANGO 0- 99 00600012
WRI TE CON POSI CI ON = 0 SE I NDI CA QUE SE ELI MI NE DE LA +00600112
LI STA DE LI BRERI AS ALOCADAS 00600212
WRI TE CON POSI CI ON = 1 SE I NDI CA QUE SE DESEA POSI + 00600313
CI ONAR EN LA PRI MERA POSI CI ON 00600412
WRI TE CON POSI CI ON = 99 SE I NDI CA QUE SE DESEA POSI + 00600513
CI ONAR EN LA ULTI MA POSI CI ON 00600612
WRI TE CON POSI CI ON = FI N SE I NDI CA QUE SE DESEA + 00600713
ABORTAR EL PROCEDI MI ENTO 00600813
WRI TE . . . 00600914
WRI TE 00601013
WRI TENR POSI CI ON : 00601113
READ &POSI CI ON 00602012
GOTO POSI CI ON 00603012
END 00621012
/ * */ 00630009
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 00640009
/ * PASAR LI BRERI AS ALOCADAS EN EL ENTORNO DEL USUARI O A MEMORI A */ 00650009
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 00660009
/ * */ 00670009
J MP02 &LI BRERI A, &POSI CI ON 00680009
/ * */ 00690009
FI N: EXI T 00700009
/ * *00710009