3 respuestas

  1. Antonio Jesus Balboa Tome
    8 abril, 2014

    Tambien puedes usar lo siguiente:

    Eval Mandato=’OVRPRTF FILE(QSYSPRT) ‘
    C +’OUTQ(‘+ImpPdf+’) DEVTYPE(*AFPDSLINE) ‘
    C +’PAGDFN(PDFFAC) FORMDF(PDFFAC) ‘
    C +’FORMTYPE(*STD) ‘
    C +’USRDTA(‘+VrcSer+NumPdf+’)’
    C callp cmd(Mandato:%len(mandato))

    Con esto no haces la llamada con la longitud completa, sino con la exacta que tenga la variable mandato. No es gran cosa, pero por aprender…

    Responder

  2. Angel
    24 junio, 2015

    Pregunta: desde un programa en sqlrpg, puedo ejecutar el comando (QCMDEXC) para hacer una actualizacion a un archivo con una sentencia (SQL) update *libl/archivo set campo1 = cambio1 where campo2 =variable2

    o este comando solo sirve para hacer (delete-cpyf-etc.etc.)

    gracias por su respuesta

    Responder

    • JoBenCa
      24 junio, 2015

      Buenos días Angel.
      El mandato QCMDEXC solo sirve para ejecutar directamente mandatos del iSeries.

      Para hacer lo que tu pretendes yo me crearía un programa RPGSQL con los parámetros necesarios y un mandato que lo llame y desde el programa RPGSQL solo tendrías que llamar a ese mandato que has creado.

      También, en las ultimas versiones existe en mandato RUNSQL donde puedes ejecutar directamente una sentencia SQL.
      Aquí el problema está en el paso de parámetros, por lo que tendrías que crearte una CL con el parámetro que montase una variable con la sentencia completa que ejecuta el RUNSQL.

      No sé si te soluciono el problema, pero si quieres más información de alguna de estas dos opciones no dudes en preguntar.

      Saludos

      Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Volver arriba
móvil escritorio