Iniciar Sesión

Ver la Versión Completa : [Sintaxis] Obtener los parámetros pasados ​​al ejecutar


diegodm
18 de mayo de 2020, 22:32
En Java puedo obtener los parámetros pasados ​​al ejecutar. ¿Cómo me subo a Cobol?
Ej: app.exe "p1" "p2" "p3"
¿Obtener los parámetros p1 p2 y p3 dentro de Cobol?

Português Brasil
No java consigo pegar os parâmetros passado ao executar. Como faço para pegar no Cobol?
Ex: app.exe "p1" "p2" "p3"
Pegar os parametros p1 p2 e p3 dentro do Cobol?

JCantero
23 de mayo de 2020, 15:28
La cuestion que propones la planteas para NetCobol y no se si funcionara igual que en rm/cobol

Yo utilizo estos metodos:

Cuando quieres pasar parametros a un programa cobol desde un script o linea de comandos se lo hago asi:


runcobol programa-cobol -a="parametro1; parametro2; parametro3"



Y desde un programa java llamo a programas cobol asi:



String parametrosx="-a="+parametro1+";"+parametro2+";"+parametro3;

try {
String [] cmd = {"runcobol", "programacobol", parametrosx};

Process p = Runtime.getRuntime().exec(cmd);

if(!p.waitFor(180, TimeUnit.SECONDS)) {
p.destroy();
}


} catch (IOException | InterruptedException ioe) {
System.out.println (ioe);


Y controlando siempre todas las excepciones.

Kuk
23 de mayo de 2020, 20:00
@JCantero, yo creo que @diegodm quiere saber cómo recuperar los parámetros en el programa Cobol. Y esto, creo que depende del fabricante.

JCantero
23 de mayo de 2020, 21:46
@Kuk, puede ser que si.

Para capturar los parametros pasados desde un script o un programa que llama a un programa de rm/cobol o acucobol seria asi:



* Se define los parametros a capturar
01 datos-parametros.
05 parametro1 pic x(20).
05 parametro2 pic x(20).
05 parametro3 pic x(20).



*se define el paso de parametros
linkage section.
01 lk-parametros.
03 lk-long-param pic s9(4) binary.
03 lk-misdatos.
05 lkcaracter pic x occurs 0 to 400 times
depending on lk-long-param.


procedure division using lk-parametros.
------*
programa section.

programa-prin.
* aqui se capturan los parametros
unstring lk-misdatos delimited by ';'
into lk-parametro1
lk-parametro2
lk-parametro3