Crear Jobs

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • sanangie
    Junior Member
    • abr
    • 28

    #1

    Crear Jobs

    Buen día abaperos!!

    Estoy retomando esto de programar en abap después de casi 2 años de haberlo dejado, tengo una preguntita....... Necesito hacer un programita que cada cierto tiempo me esté monitoreando la llegada de archivos a una ruta del srv de aplicación, me podrían dar una idea por donde empezar?? Muchisisimas gracias!!!
  • ifloresb
    Junior Member
    • dic
    • 29

    #2
    Saludos,
    A lo mejor podrías tratar esto con alguien que sepa unix, en alguna ocasión tuvimos que hacer algo asi, y optamos por la opción de hacer un shell para que cada 10 min. revise si el archivo llego y lo ejecutamos por medio de un job que se programo con este evento, el evento debe llevar un parametro donde le especifiques el archivo a recibir mediante un archivo de control.

    Espero haberme explicado.

    Comentario

    • robert_milan
      Senior Member
      • jun
      • 315

      #3
      Holaaaaaaaaaaaaaaaaaa

      Originalmente publicado por sanangie
      Buen día abaperos!!

      Estoy retomando esto de programar en abap después de casi 2 años de haberlo dejado, tengo una preguntita....... Necesito hacer un programita que cada cierto tiempo me esté monitoreando la llegada de archivos a una ruta del srv de aplicación, me podrían dar una idea por donde empezar?? Muchisisimas gracias!!!

      Se me ocurre un programa Z que vaya y lea el fichero en el servidor...

      existe una funcion que lee si puede abrir el fichero...

      ahora no estoy en el trabajo.. pero mañana te lo puedo postear...
      Un Huevon No Inútil


      Solo di lo que piensas, a la mejor tienes la mejor respuesta....

      Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

      Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

      Consultor FI jr/ABAP Sr.

      Comentario

      • RAMONES
        Member
        • mar
        • 69

        #4
        Te dejo esta funcion que uso yo para leer archivos del server, despues podes tratarlas en una tabla interna y hacer lo que debas hacer, yo paso por parametros tanto la ruta del server...


        "Ler todos os arquivo do diretório c_dir_novos e gravar na
        "tabela interna it_arquivos
        CALL FUNCTION 'RZL_READ_DIR'
        EXPORTING
        name = c_dir_novos
        TABLES
        file_tbl = it_archivos
        EXCEPTIONS
        argument_error = 1
        not_found = 2
        send_error = 3
        OTHERS = 4.

        IF sy-subrc IS INITIAL.


        despues el job lo podes programar por la SM36 o lo haces por codigo, si queres el codigo tambien te lo paso, avisame y lo pego aca, espero te sirva, a mi me sirve mucho...

        Saludos!
        El mundo es Redondo y de Ricota......

        Comentario

        • sanangie
          Junior Member
          • abr
          • 28

          #5
          Muchas gracias a los 3...... RAMONES, porfa si pudieras mandarme el ejemplo del código, estoy un poco perdida

          Comentario

          • RAMONES
            Member
            • mar
            • 69

            #6
            te paso un codigo que use yo para crear un job desde codigo..


            FORM criar_job.
            DATA:
            vc_jobname LIKE tbtcjob-jobname, " Nome do job
            vc_jobcount LIKE tbtcjob-jobcount, " Número do job
            vc_rele LIKE btch0000-char1. " Indica se o job foi liberado

            vc_jobname = 'I0002'.

            CALL FUNCTION 'JOB_OPEN'
            EXPORTING
            jobgroup = 'INTERFACE'
            jobname = vc_jobname
            IMPORTING
            jobcount = vc_jobcount
            EXCEPTIONS
            OTHERS = 1.

            IF sy-subrc IS INITIAL.
            SUBMIT (sy-repid)
            USER sy-uname
            VIA JOB vc_jobname NUMBER vc_jobcount
            WITH cb_job = 'X'
            AND RETURN.

            IF vn_uzeit <= sy-uzeit AND vn_datum = sy-datum.

            CALL FUNCTION 'JOB_CLOSE'
            EXPORTING
            jobcount = vc_jobcount
            jobname = vc_jobname
            strtimmed = 'X'
            targetsystem = ''
            IMPORTING
            job_was_released = vc_rele
            EXCEPTIONS
            OTHERS = 1.
            ELSE.

            IF sy-uzeit >= c_dat1.
            vn_datum = sy-datum + 1.
            vn_uzeit = sy-uzeit + 900.
            ELSE.
            vn_datum = sy-datum .
            vn_uzeit = sy-uzeit + 600.
            ENDIF.


            CALL FUNCTION 'JOB_CLOSE'
            EXPORTING
            jobcount = vc_jobcount
            jobname = vc_jobname
            sdlstrtdt = vn_datum
            sdlstrttm = vn_uzeit
            targetsystem = ''
            IMPORTING
            job_was_released = vc_rele
            EXCEPTIONS
            OTHERS = 1.
            ENDIF.

            IF NOT sy-subrc IS INITIAL.
            MESSAGE s043 WITH vc_jobname.
            ENDIF.
            ELSE.
            MESSAGE s043 WITH vc_jobname.
            ENDIF.
            ENDFORM. " CRIAR_JOB
            Editado por última vez por RAMONES; 16/07/2009, 13:52:21.
            El mundo es Redondo y de Ricota......

            Comentario

            • sanangie
              Junior Member
              • abr
              • 28

              #7
              Hola!! Muchas gracias, fue de mucha utilidad sus comentarios. Haré el programa q lea el archivo y posteriormente lo asociaré a mi job creado por la SM36. Saludos!!!

              Comentario

              Trabajando...