Saltar al contenido

usando JOB_OPEN, ENVIAR, CERRAR

Un Usuario hizo la siguiente pregunta

Hola,

Tengo un informe:

detalles: sdate tipo sdate,

tipo sy-uzeit de lima,

número de trabajos como tbtcjob-jobcount,

nombre del trabajo como tbtcjob-job name.

jobname = «my_name».

llamar a la función ‘JOB_OPEN’

exportar

nombre del trabajo = nombre del trabajo

importar

jobcount = número de trabajos.

FUNCIÓN DE APLICACIÓN ‘JOB_SUBMIT’

exportar

authcknam = SY-UNAME

jobcount = número de trabajos

nombre del trabajo = nombre del trabajo

INFORME = ‘my_report’.

sdate = sy-datum.

stime = sy-uzeit + 30.

llamar a la función ‘JOB_CLOSE’

exportar

jobcount = número de trabajos

nombre del trabajo = nombre del trabajo

sdlstrtdt = sdate

sdlstrttm = aol.

Obtengo un error

“La impresora no es adecuada para la etapa de trabajo. No es posible la impresión automática. ‘

No tengo idea de lo que estoy haciendo mal.

¿Puedo usar estos FM para configurar mi informe y llamar a una publicación?

¿Qué pasa con la impresión?

Apreciaría cualquier ayuda.

1 respuesta

  • Ex miembro

    Hola,

    Consulte este informe:

    *&---------------------------------------------------------------------*
    *& Report  ZYTEST31                                                    *
    *&                                                                     *
    *&---------------------------------------------------------------------*
    *&                                                                     *
    *&                                                                     *
    *&---------------------------------------------------------------------*
    
    REPORT  zytest31                      .
    
    
    DATA : v_jobhead LIKE tbtcjob.
    *DATA : v_jobname LIKE tbtcjob-jobname.
    DATA : v_jobcount LIKE tbtcjob-jobcount.
    DATA : v_eventparm LIKE tbtcjob-eventparm.
    DATA : v_flg_released TYPE c.
    DATA: e_error.
    DATA: running LIKE tbtcv-run.
    
    TYPES: esp1_boolean LIKE boole-boole.
    
    CONSTANTS: esp1_false TYPE esp1_boolean VALUE ' ',
               esp1_true  TYPE esp1_boolean VALUE 'X'.
    
    CONSTANTS: true  TYPE boolean VALUE esp1_true,
               false TYPE boolean VALUE esp1_false.
    
    PARAMETERS: v_jobnam LIKE tbtcjob-jobname,
                v_report LIKE sy-repid,
                v_varian LIKE  raldb-variant,
                v_uname  LIKE sy-uname.
    
    *data: date like sy-datum. " value '20030101'. "syst-datum.
    *data: p_time like sy-uzeit.
    *data: p_date_dif type p.
    START-OF-SELECTION.
    *break shirt.
    *
    *      p_time="00:00:01".
    *      CALL FUNCTION 'SD_DATETIME_DIFFERENCE'
    *        EXPORTING
    *          DATE1                  = date "wa_eket-eindt
    *          TIME1                  = p_time
    *          DATE2                  = date "i_mkpf-budat
    *          TIME2                  = p_time
    *        IMPORTING
    *          DATEDIFF               = p_date_dif
    **         TIMEDIFF               =
    **         EARLIEST               =
    *       EXCEPTIONS
    *         INVALID_DATETIME       = 1
    *         OTHERS                 = 2.
    
    *exit.
    
    * add the new job
      CALL FUNCTION 'JOB_OPEN'
           EXPORTING
    *            delanfrep        = 'X'
                jobname          = v_jobnam
           IMPORTING
                jobcount         = v_jobcount
           EXCEPTIONS
                cant_create_job  = 1
                invalid_job_data = 2
                jobname_missing  = 3
                OTHERS           = 4.
      IF sy-subrc <> 0.
        e_error = true.
      ELSE.
        CALL FUNCTION 'JOB_SUBMIT'
             EXPORTING
                  authcknam               = v_uname
                  jobcount                = v_jobcount
                  jobname                 = v_jobnam
                  report                  = v_report
                  variant                 = v_varian
             EXCEPTIONS
                  bad_priparams           = 1
                  bad_xpgflags            = 2
                  invalid_jobdata         = 3
                  jobname_missing         = 4
                  job_notex               = 5
                  job_submit_failed       = 6
                  lock_failed             = 7
                  program_missing         = 8
                  prog_abap_and_extpg_set = 9
                  OTHERS                  = 10.
        IF sy-subrc <> 0.
          e_error = true.
        ELSE.
          CALL FUNCTION 'JOB_CLOSE'
               EXPORTING
    *               EVENT_ID                    = IC_WWI_WORKPROCESS_EVENT
    *               EVENT_PARAM                 = V_EVENTPARM
    *               EVENT_PERIODIC              = 'X'
                    jobcount                    = v_jobcount
                    jobname                     = v_jobnam
                    strtimmed                   = 'X'
               IMPORTING
                    job_was_released            = v_flg_released
               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.
            e_error = true.
          ELSE.
            DO.
              CALL FUNCTION 'SHOW_JOBSTATE'
                EXPORTING
                  jobcount               = v_jobcount
                  jobname                = v_jobnam
    *            IMPORTING
    *         ABORTED                =
    *         FINISHED               =
    *         PRELIMINARY            =
    *         READY                  =
    *              running                =
    *         SCHEDULED              =
               EXCEPTIONS
                 jobcount_missing       = 1
                 jobname_missing        = 2
                 job_notex              = 3
                 OTHERS                 = 4.
    
              IF sy-subrc <> 0.
                e_error = true.
                MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
              ENDIF.
              IF running = space.
                EXIT.
              ELSE.
                break shirt.
              ENDIF.
            ENDDO.
          ENDIF.
        ENDIF.
      ENDIF.
    

    Vasanth