#1
|
|||
|
|||
carga lotes de pago rfkkze00
buenos dias a todos.
resulta que estoy utilizando el programa estandar rfkkze00 para cargar unos lotes de pagos despues de un tratamiento, esto lo realizo sin problemas, sin embargo luego de que este programa se ejecuta con un submit, no regresa al codigo donde lo llame, lo que necesito es que luego de que se ejecute el programa rfkkze00 y que el usuario ingrese unos datos, se continue ejecutando el codigo de mi prograama inicial, estodeberia ser sencillo simplemente con un return, pero esto no me funciona. aqui les envio la manera como llamo al programa: SUBMIT rfkkze00 VIA SELECTION-SCREEN WITH as_fname EQ dsn1 AND RETURN. si alguien tiene una solucion , le estare eternamente agradecido. |
#2
|
|||
|
|||
que tal, por si todavia te sirve esto.
en mi caso usamos un job para la ejecucion del programa y me continuo con el resto del programa. gv_jobname = 'Z_RFKKZE00_'. UNPACK gv_lotcount TO gv_jobname+11(4). CHECK flag-test = co_off. CALL FUNCTION 'JOB_OPEN' EXPORTING jobname = gv_jobname IMPORTING jobcount = gv_jobcount EXCEPTIONS cant_create_job = 1 invalid_job_data = 2 jobname_missing = 3 OTHERS = 4 . IF sy-subrc <> 0. CASE sy-subrc. WHEN 1. MESSAGE e000(38) WITH 'JOB OPEN: No se puede crear el job'. WHEN 2. MESSAGE e000(38) WITH 'JOB OPEN: Datos de job inválidos'. WHEN 3. MESSAGE e000(38) WITH 'JOB OPEN: Nombre de job erróneo'. WHEN OTHERS. MESSAGE e000(38) WITH 'JOB OPEN: ERROR'. ENDCASE. STOP. ENDIF. SUBMIT rfkkze00 VIA JOB gv_jobname NUMBER gv_jobcount WITH as_fname = i_dsn "Filename WITH p_runid = gv_keyz1 "Payment lot WITH r_norm = co_yes "Elaborate file WITH p_xbuch = pa_stbu "Post payment lot WITH p_xclos = pa_stcl "Close payment lot WITH p_xprot = co_yes "Detailed protocoll WITH p_xsofst = co_yes "Start immediately AND RETURN. CALL FUNCTION 'JOB_CLOSE' EXPORTING jobcount = gv_jobcount jobname = gv_jobname strtimmed = co_yes EXCEPTIONS cant_start_immediate = 1 invalid_startdate = 2 jobname_missing = 3 job_close_failed = 4 job_nosteps = 5 job_notex = 6 lock_failed = 7 OTHERS = 8. IF sy-subrc <> 0. CASE sy-subrc. WHEN 1. MESSAGE e000(38) WITH 'JOB CLOSE: no puede comenzar de inmediato'. WHEN 2. MESSAGE e000(38) WITH 'JOB CLOSE: fecha de inicio inválida'. WHEN 3. MESSAGE e000(38) WITH 'JOB CLOSE: nombre de job erróneo'. WHEN 4. MESSAGE e000(38) WITH 'JOB CLOSE: falló cierre de job'. WHEN 5. MESSAGE e000(38) WITH 'JOB CLOSE: job sin pasos'. WHEN 6. MESSAGE e000(38) WITH 'JOB CLOSE: job sin texto'. WHEN 7. MESSAGE e000(38) WITH 'JOB CLOSE: falló bloqueo'. WHEN OTHERS. MESSAGE e000(38) WITH 'JOB CLOSE: ERROR'. ENDCASE. STOP. ELSE. CONCATENATE 'JOB' gv_jobname 'creado' INTO gv_msgtxt SEPARATED BY space. WRITE: /10 gv_msgtxt COLOR 6 INVERSE. SKIP. ENDIF. Yo tengo el problema que bajo ciertas circunstancias no se ejecuta el programa correctamente por el siguiente log que veo en el job. "Se esta utilizando la clave de reconciliacion en otra 'PY0108389' funcion". Sabras algo de esto? |
Herramientas | Buscar en Tema |
Desplegado | |
|
|