Muchas gracias Ignacio pero no puedo utilizar RPG (ya me gustaría).
Lo necesito en COBOL400.

Un saludo.
Juanra

El 17 de septiembre de 2014, 14:58, Tellez Alvarado, Ignacio Andres <
[email protected]> escribió:

>
>
> Juan,  y aquí va el comando…(lo olvide).
>
>
>
> Ignacio
>
>
>
>
>
> /* COMPILAR CON PARAMETRO ALLOW(*IPGM *BPGM)
> */
>
>              CMD        PROMPT('Genera Numeros
> Aleatoreos')
>
>              PARM       KWD(RANNBR) TYPE(*DEC) LEN(9) RTNVAL(*YES)
> +
>
>                           MIN(1) PROMPT('Numero Aleatoreo
> DEC(9)')
>
>              PARM       KWD(LOVAL) TYPE(*DEC) LEN(9) PROMPT('Valor
> +
>
>                           Minimo
> DEC(9)')
>
>              PARM       KWD(HIVAL) TYPE(*DEC) LEN(9) PROMPT('Valor
> +
>
>                           Maximo
> DEC(9)')
>
>              PARM       KWD(PGMEND) TYPE(*CHAR) LEN(4)
> +
>
>                           PROMPT('Finaliza')
>
>
>              PARM       KWD(STRVAL) TYPE(*DEC) LEN(9) PROMPT('Valor
> +
>
>                           Inicial
> DEC(9)')
>
>
>
> *De:* Tellez Alvarado, Ignacio Andres
> *Enviado el:* miércoles, 17 de septiembre de 2014 9:56
> *Para:* forum.help400
> *Asunto:* RE: Números aleatorios en COBOL400
>
>
>
> Juan:
>
> No es en Cobol400…  alguien me lo envió, no sé de donde salió, pero sirve.
>
> Saludos
>
> Ignacio T
>
>
>
> 0001.00      C           *ENTRY
> PLIST
>
> 0002.00      C                     PARM           RANNBR
> 90
>
> 0003.00      C                     PARM           LOVAL
> 90
>
> 0004.00      C                     PARM           HIVAL
> 90
>
> 0005.00      C                     PARM           PGMEND
> 4
>
> 0006.00      C                     PARM           STRVAL
> 90
>
> 0007.00      C           LOVAL     IFLT
> 0
>
> 0008.00      C                     SETON
> H1
>
> 0009.00      C                     GOTO
> BADEND
>
> 0010.00      C
> END
>
> 0011.00      C           HIVAL     IFLE
> LOVAL
>
> 0012.00      C                     SETON
>     H2
>
> 0013.00      C
> END
>
> 0014.00      C           PGMEND    IFNE
> '*YES'
>
> 0015.00      C           PGMEND    ANDNE'*NO
> '
>
> 0016.00      C                     SETON
> H3
>
> 0017.00      C                     GOTO
> BADEND
>
> 0018.00      C
> END
>
> 0019.00      C           FSTTIM    IFEQ '
> '
>
> 0020.00      C                     TIME           TIME
> 60
>
> 0021.00      C                     Z-ADDTIME      BGNVAL
> 90
>
> 0022.00      C           PGMEND    IFEQ
> '*YES'
>
> 0023.00      C           HIVAL     SUB  LOVAL
> NBR1
>
> 0024.00      C           NBR1      IFLE
> 1
>
> 0025.00      C                     MOVE TIME      DEC1
> 10
>
> 0026.00      C           1         ADD  NBR1      RANGE
> 30
>
> 0027.00      C                     Z-ADDDEC1
> RANNBR
>
> 0028.00      C           NBR1LP
> TAG
>
> 0029.00      C           RANNBR    IFGE
> RANGE
>
> 0030.00      C                     SUB  RANGE
> RANNBR
>
> 0031.00      C                     GOTO
> NBR1LP
>
> 0032.00      C                     END
>
>
> 0033.00      C                     ADD  LOVAL
> RANNBR
>
> 0034.00      C                     GOTO
> ENDPGM
>
> 0035.00      C                     END
>
>
> 0036.00      C
> END
>
> 0037.00      C           STRVAL    IFEQ
> 0
>
> 0038.00      C
> ELSE
>
> 0039.00      C                     Z-ADDSTRVAL
> BGNVAL
>
> 0040.00      C
> END
>
> 0041.00      C                     MOVE 31415     PI
> 54
>
> 0042.00      C           BGNVAL    MULT PI        NBR1
> 90
>
> 0043.00      C                     MOVE 'X'       FSTTIM
> 1
>
> 0044.00      C
> END
>
> 0045.00      C           HIVAL     SUB  LOVAL     MAX
> 134
>
> 0046.00      C                     ADD  1
> MAX
>
> 0047.00      C                     SUB  DECVAL
> MAX
>
> 0048.00      C                     MOVE 314159265 PI2
> 98
>
> 0049.00      C           NBR1      MULT PI2       NBR2
> 157
>
> 0050.00      C           NBR2      DIV  17        NBR3
> 154
>
> 0051.00      C                     Z-ADDNBR3      NBR4   153
>
>
> 0052.00      C                     MOVE NBR4      DEC4
> 44
>
> 0053.00      C           PGMEND    IFEQ
> '*YES'
>
> 0054.00      C                     MOVE NBR3      DEC5
> 53
>
> 0055.00      C                     ADD  DEC5
> NBR4
>
> 0056.00      C
> END
>
> 0057.00      C                     MOVE DEC4      DECVAL
> 66
>
> 0058.00      C                     MOVE NBR4      NBR5
> 90
>
> 0059.00      C           NBR5      DIV  MAX       NBR6
> 150
>
> 0060.00      C                     MVR            RANNBR
> 90
>
> 0061.00      C                     ADD  LOVAL
> RANNBR
>
> 0062.00      C           ENDPGM
> TAG
>
> 0063.00      C           PGMEND    IFEQ '*NO
> '
>
> 0064.00      C                     MOVE NBR2      WRK1   101
>
>
> 0065.00      C                     ADD  WRK1
> NBR1
>
> 0066.00      C                     MOVE NBR3      WRK2
> 112
>
> 0067.00      C                     ADD  WRK2
> NBR1
>
> 0068.00      C
> ELSE
>
> 0050.00      C           NBR2      DIV  17        NBR3
> 154
>
> 0051.00      C                     Z-ADDNBR3      NBR4
> 153
>
> 0052.00      C                     MOVE NBR4      DEC4
> 44
>
> 0053.00      C           PGMEND    IFEQ
> '*YES'
>
> 0054.00      C                     MOVE NBR3      DEC5
> 53
>
> 0055.00      C                     ADD  DEC5
> NBR4
>
> 0056.00      C
> END
>
> 0057.00      C                     MOVE DEC4      DECVAL
> 66
>
> 0058.00      C                     MOVE NBR4      NBR5
> 90
>
> 0059.00      C           NBR5      DIV  MAX       NBR6
> 150
>
> 0060.00      C                     MVR            RANNBR
> 90
>
> 0061.00      C                     ADD  LOVAL
> RANNBR
>
> 0062.00      C           ENDPGM
> TAG
>
> 0063.00      C           PGMEND    IFEQ '*NO
> '
>
> 0064.00      C                     MOVE NBR2      WRK1
> 101
>
> 0065.00      C                     ADD  WRK1
> NBR1
>
> 0066.00      C                     MOVE NBR3      WRK2
> 112
>
> 0067.00      C                     ADD  WRK2
> NBR1
>
> 0068.00      C
> ELSE
>
> 0069.00      C                     SETON
> LR
>
> 0070.00      C
> END
>
> 0071.00      C
>                 RETRN
>
> 0072.00      C           BADEND    TAG
>
>
>
>
> *De:* [email protected] [
> mailto:[email protected]
> <[email protected]>] *En nombre de *Juan Ramón
> Garcia
> *Enviado el:* miércoles, 17 de septiembre de 2014 9:25
> *Para:* [email protected]; forum.help400
> *Asunto:* Re: Números aleatorios en COBOL400
>
>
>
> Muchas gracias Marcelo pero busco algo un poco más elaborado.
>
>
>
> El 17 de septiembre de 2014, 14:14, Marcelo Diaz <[email protected]>
> escribió:
>
> Hice una rutina que tomaba la datetime y agarraba los ultimos 6 digitos ...
>
>
>
> El 17 de septiembre de 2014, 9:01, Juan Ramón Garcia <
> [email protected]> escribió:
>
> Hola a tod@s:
>
> Tengo un pequeño problemilla, necesito generar un nº aleatorio en COBOL400
> (NO ILE) y no puedo utilizar CEERAN0.
>
> He encontrado varios ejemplos en San Google pero ninguno me funciona, o
> son para COBOL-II o para ILE o simplemente no funcionan.
>
> ¿Alguien tiene una rutinilla en COBOL400 que calcule números aleatorios?
>
> Muchas gracias.
>
> Un saludo.
>
>
>
> Juanra
>
> El iSaurio RpgEro que se convirtió en CobolEro ;-)
>
>
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
>
>
>
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
>
>
>
> -----------------------------------------------------------------
> Notice of Confidentiality: The information transmitted is intended only
> for the sender and person or entity to which it is addressed and may
> contain confidential and/or privileged material. Any review,
> e-transmission, dissemination or other use of, or taking of any action in
> reliance upon, this information by persons or entities other than the
> intended recipient is prohibited.
> If you received this in error, please contact the sender immediately by
> return electronic transmission and then immediately delete this
> transmission, including all attachments, without copying, distributing or
> disclosing same.
> ------------------------------------------------------------------
> Aviso de Confidencialidad: Este correo electrónico y/o el material adjunto
> es para uso exclusivo del emisor y la persona o entidad a la que
> expresamente se le ha enviado, y puede contener información confidencial o
> material privilegiado. Si usted no es el destinatario legítimo del mismo,
> por favor repórtelo inmediatamente al remitente del correo y bórrelo.
> Cualquier revisión, retransmisión, difusión o cualquier otro uso de este
> correo, por personas o entidades distintas a las del destinatario legítimo,
> queda expresamente prohibido. Este correo electrónico no pretende ni debe
> ser considerado como constitutivo de ninguna relación legal, contractual o
> de otra índole similar.
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
>
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a