PDA

Ver la Versión Completa : Crear Jobs


sanangie
15/07/09, 14:22:25
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
15/07/09, 17:06:06
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.

robert_milan
15/07/09, 20:35:58
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...

RAMONES
15/07/09, 20:42:55
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!

sanangie
15/07/09, 22:47:35
Muchas gracias a los 3...... RAMONES, porfa si pudieras mandarme el ejemplo del código, estoy un poco perdida :confused:

RAMONES
16/07/09, 13:48:58
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

sanangie
16/07/09, 14:30:53
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!!!