Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

using JOB_OPEN, SUBMIT, CLOSE

Former Member
0 Likes
549

Hi,

I have a report:

data: sdate type sy-datum,

stime type sy-uzeit,

jobcount like tbtcjob-jobcount,

jobname like tbtcjob-jobname.

jobname = 'my_name'.

call function 'JOB_OPEN'

exporting

jobname = jobname

importing

jobcount = jobcount.

CALL FUNCTION 'JOB_SUBMIT'

exporting

authcknam = SY-UNAME

jobcount = jobcount

jobname = jobname

REPORT = 'my_report'.

sdate = sy-datum.

stime = sy-uzeit + 30.

call function 'JOB_CLOSE'

exporting

jobcount = jobcount

jobname = jobname

sdlstrtdt = sdate

sdlstrttm = stime.

I'm getting error

'Printer not suitable for job step. Automatic printing not possible.'

I have no idea what i'm doing wrong.

Can I use these FMs to set and call my report in a job.

What has to do with printing?

I would be grateful for any help.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
430

Hello,

Check this report:


*&---------------------------------------------------------------------*
*& 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

2 REPLIES 2
Read only

Former Member
0 Likes
431

Hello,

Check this report:


*&---------------------------------------------------------------------*
*& 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

Read only

0 Likes
430

I have checked it...

And it helped

Thank You

Points given.