Mover un archivo en el Servidor

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • fcovargasc
    Junior Member
    • jul
    • 6

    #1

    Mover un archivo en el Servidor

    Estimados
    Necesito Mover un archivo de una carpeta a otra, para esto cree un comando cmd en SM69, pero cuando lo llamo con la funcion SXPG_CALL_SYSTEM como puedo insertarle el nombre del archivo por parametro

    alguien conoce otra forma efectiva para mover un archivo a otra carpeta en el servidor????


    gracias Estimados
    Editado por última vez por fcovargasc; 20/12/2010, 19:44:33.
  • ppchico
    Senior Member
    • oct
    • 144

    #2
    Yo lo suelo hacer con comandos en este caso sería el comando MV. Prueba lo Siguiente:

    Por ejemplo, puedes hacerlo así:

    Código:
    
    
    CONCATENATE 'MV' p_directorio1 into l_comando.
    l_cadena = p_directorio2.
    
    CALL FUNCTION 'RZL_START_PROGRAM_REMOTE'
    EXPORTING
    cmd = l_comando
    cmd_arguments = l_cadena.
    Con esto debería valerte para mover el fichero entre directorios del servidor.

    Suerte!

    Comentario

    • fcovargasc
      Junior Member
      • jul
      • 6

      #3
      Hola, Primero muchas gracias por reponder
      segundo probe lo que me indicas pero me entrega e siguiente mensaje cuando lo ejecuto.

      *P_PATHIN url donde se encuentra archivo
      *mover a carpeta de error XMLERR\

      CONCATENATE P_PATHIN 'XMLERR\' INTO l_urldes.

      CONCATENATE 'MV' P_PATHIN FILENAME into l_comando.

      CALL FUNCTION 'RZL_START_PROGRAM_REMOTE'
      EXPORTING
      cmd = l_comando
      cmd_arguments = l_urldes.


      mensaje final "Función no implementada en esta plataforma"


      Originalmente publicado por ppchico
      Yo lo suelo hacer con comandos en este caso sería el comando MV. Prueba lo Siguiente:

      Por ejemplo, puedes hacerlo así:

      Código:
      
      
      CONCATENATE 'MV' p_directorio1 into l_comando.
      l_cadena = p_directorio2.
      
      CALL FUNCTION 'RZL_START_PROGRAM_REMOTE'
      EXPORTING
      cmd = l_comando
      cmd_arguments = l_cadena.
      Con esto debería valerte para mover el fichero entre directorios del servidor.

      Suerte!

      Comentario

      • ppchico
        Senior Member
        • oct
        • 144

        #4
        Originalmente publicado por fcovargasc
        Hola, Primero muchas gracias por reponder
        segundo probe lo que me indicas pero me entrega e siguiente mensaje cuando lo ejecuto.

        *P_PATHIN url donde se encuentra archivo
        *mover a carpeta de error XMLERR\

        CONCATENATE P_PATHIN 'XMLERR\' INTO l_urldes.

        CONCATENATE 'MV' P_PATHIN FILENAME into l_comando.

        CALL FUNCTION 'RZL_START_PROGRAM_REMOTE'
        EXPORTING
        cmd = l_comando
        cmd_arguments = l_urldes.


        mensaje final "Función no implementada en esta plataforma"
        Se me olvidó poner SEPARATED BY SPACE. de modo que según tu código sería de la siguiente manera:

        Código:
        *P_PATHIN url donde se encuentra archivo
        *mover a carpeta de error XMLERR\
        
        CONCATENATE P_PATHIN 'XMLERR\'  INTO l_urldes.
        
        DATA: L_AUXILIAR TYPE STRING.
        
        CONCATENATE P_PATHIN FILENAME INTO L_AUXILIAR.
        
        CONCATENATE 'MV' l_auxiliar into l_comando separated by space.
        
        CALL FUNCTION 'RZL_START_PROGRAM_REMOTE'
        EXPORTING
        cmd           = l_comando
        cmd_arguments = l_urldes.
        De esta forma, imagina la siguiente situación:

        PATH Inicio: /PATH1/SUBCARPETA2/FICHERO.TXT
        PATH Fin: /PATH1/SUBCARPETA2/FICHERO.TXT

        Entonces tendrías que estar pasando lo siguiente:

        CMD = "MV [SPACIO] /PATH1/SUBCARPETA/FICHERO.TXT"
        CMD_ARGUMENTS = "/PATH1/SUBCARPETA2/FICHERO.TX"

        Así, ejecutará el comando entero
        MV [SPACIO] /PATH1/SUBCARPETA/FICHERO.TXT1 [SPACIO] /PATH1/SUBCARPETA2/FICHERO.TXT

        Nótese que no tiene que poner [SPACIO] sino que se trata de el caracter espacio (Barra espaciadora).

        Prueba de nuevo y me cuentas!!
        Un Saludo,
        Javier.

        Comentario

        • fcovargasc
          Junior Member
          • jul
          • 6

          #5
          Función no implementada en esta plataforma

          cmd :MV \\LDCTES76\DATOSSAP\CLNT600\SOC5000\INTERFACES\ENT RADA\DTEXML\XMLOK\EDTE_3A1BD485FFF34C769A037F13C6B 25EC0_1.XML

          cmd_arguments :\\LDCTES76\DATOSSAP\CLNT600\SOC5000\INTERFACES\EN TRADA\DTEXML\XMLERR\
          --------------------------------------------------------------------------
          Función no implementada en esta plataforma

          cmd :MV \\LDCTES76\DATOSSAP\CLNT600\SOC5000\INTERFACES\ENT RADA\DTEXML\XMLOK\EDTE_3A1BD485FFF34C769A037F13C6B 25EC0_1.XML

          cmd_arguments :\\LDCTES76\DATOSSAP\CLNT600\SOC5000\INTERFACES\EN TRADA\DTEXML\XMLERR\EDTE_3A1BD485FFF34C769A037F13C 6B25EC0_1.XML


          en ambas situaciones me da ese mensaje, esta funcion es de unix, el server es win 2003 nt.

          Comentario

          Trabajando...