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

submit key word

Former Member
0 Likes
974

Hi all,

I submitted a program to background . I need to get spool list for that job how can i get that one?

SUBMIT ZFWATCH6 WITH P_EVNTID = IT_FILEDIR-ZEVENT

WITH P_EVNTPM = IT_FILEDI-ZPARAMETER

TO SAP-SPOOL

SPOOL PARAMETERS PRIPAR

WITHOUT SPOOL DYNPRO AND RETURN.

This is my code . is there anything wrong with my code.

Thanks

Hi all,

I submitted a program to background . I need to get spool list for that job how can i get that one?

SUBMIT ZFWATCH6 WITH P_EVNTID = IT_FILEDIR-ZEVENT

WITH P_EVNTPM = IT_FILEDI-ZPARAMETER

TO SAP-SPOOL

SPOOL PARAMETERS PRIPAR

WITHOUT SPOOL DYNPRO AND RETURN.

This is my code . is there anything wrong with my code.

Thanks

7 REPLIES 7
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
938

In order to read the list back from the submitted job, you need to EXPORT to memeory. Please see the following example.




report zrich_0003 .

data: begin of listout occurs 0,
      line(1024) type c,
      end of listout.

* Submit the report and export list to memory
submit z_your_report exporting list to memory
            and return.

* Get list from memory and convert to ascii
perform retrieve_list_from_memory tables listout.

loop at listout.
  write:/ listout.
endloop.

************************************************************************
* RETRIEVE_LIST_FROM_MEMORY
************************************************************************
form retrieve_list_from_memory tables reportlines.

  data: list like abaplist occurs 0 with header line.
  data: txtlines(1024) type c occurs 0 with header line.

  clear list.  refresh list.
  clear reportlines. refresh reportlines.

  call function 'LIST_FROM_MEMORY'
       tables
            listobject = list
       exceptions
            not_found  = 1
            others     = 2.

  check sy-subrc = 0.

  call function 'LIST_TO_ASCI'
       tables
            listobject         = list
            listasci           = txtlines
       exceptions
            empty_list         = 1
            list_index_invalid = 2
            others             = 3.

  check sy-subrc = 0.

  reportlines[] = txtlines[].

  call function 'LIST_FREE_MEMORY'.

endform.

REgards,

Rich Heilman

Read only

0 Likes
938

Hi rich ,

Iam talking about the icon which is in sm37 spool . after execution of my job if click on that i should get some message but now iam not getting any message .Iam using job open jobsubmit job-close f.m. in my code .

Read only

0 Likes
938

I see. If you are using the WRITE statement in your submitted program, then you should get a spool. Are you sure that the submitted program is creating output?

REgards,

Rich Heilman

Read only

0 Likes
938

Yes there is a write statement in my submit program.

Read only

0 Likes
938

FORM CHECK_FIRST.

SELECT * FROM ZFILEDIR INTO TABLE IT_FILEDIR .

LOOP AT IT_FILEDIR.

CLEAR :ZJOB, P_DIR, P_FILE, STATUS.

FREE FILE.

SELECT SINGLE * FROM ZFILEEVENT WHERE FILENAME = IT_FILEDIR-FILENAME

AND UCRDATE = P_DATE

AND ZJFLAG = 'X'.

IF SY-SUBRC = 0.

*skip event raise, get next file name.

CONTINUE.

ELSE.

*check file in app.server

CONCATENATE '/export/SAPtf/dlcinc/' IT_FILEDIR-ZDIRECT INTO P_DIR.

CONCATENATE P_DIR '/' IT_FILEDIR-FILENAME INTO P_FILE.

CALL FUNCTION 'SXPG_COMMAND_EXECUTE'

EXPORTING

COMMANDNAME = 'ZREADFILES'

ADDITIONAL_PARAMETERS = P_FILE

OPERATINGSYSTEM = 'UNIX'

  • TARGETSYSTEM = SY-HOST

  • DESTINATION =

  • STDOUT = 'X'

  • STDERR = 'X'

  • TERMINATIONWAIT = 'X'

  • TRACE =

IMPORTING

  • STATUS = STATUS

EXITCODE = STATUS

TABLES

EXEC_PROTOCOL = FILE

EXCEPTIONS

NO_PERMISSION = 1

COMMAND_NOT_FOUND = 2

PARAMETERS_TOO_LONG = 3

SECURITY_RISK = 4

WRONG_CHECK_CALL_INTERFACE = 5

PROGRAM_START_ERROR = 6

PROGRAM_TERMINATION_ERROR = 7

X_ERROR = 8

PARAMETER_EXPECTED = 9

TOO_MANY_PARAMETERS = 10

ILLEGAL_COMMAND = 11

WRONG_ASYNCHRONOUS_PARAMETERS = 12

CANT_ENQ_TBTCO_ENTRY = 13

JOBCOUNT_GENERATION_ERROR = 14

OTHERS = 15

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

IF STATUS <> 0.

*if file not found ,get next file

CONTINUE.

ELSE.

  • if file found , raise event and insert record zfileevent table

SUBMIT ZFWATCH6 WITH P_EVNTID = IT_FILEDIR-ZEVENT

WITH P_EVNTPM = IT_FILEDIR-ZPARAMETER

AND RETURN .

DATA : PRIPAR LIKE PRI_PARAMS .

CONCATENATE IT_FILEDIR-ZDIRECT IT_FILEDIR-OLD_SID INTO ZJOB.

ZFILEEVENT-ZDIRECT = P_DIR.

ZFILEEVENT-FILENAME = IT_FILEDIR-FILENAME.

ZFILEEVENT-UCRDATE = P_DATE.

ZFILEEVENT-ZJFLAG = 'X'.

ZFILEEVENT-OLD_SID = IT_FILEDIR-OLD_SID.

ZFILEEVENT-ZJOB = ZJOB.

MODIFY ZFILEEVENT.

CLEAR IT_FILEDIR.

ENDIF.

ENDIF.

ENDLOOP.

ENDFORM.

*----


*--


FORM CHECK_TIME--

----


FORM CHECK_TIME.

STIME = SY-UZEIT + 9.

IF STIME < TIME.

*raise file look job for every 15 mins.

PERFORM RAISE_JOB.

ELSE.

*daily job is runing at 00:01:00

*P_DATE = SY-DATUM + 1.

*STIME = '000100'.

*PERFORM RAISE_JOB.

ENDIF.

ENDFORM.

*----


*--


FORM RAISE_JOB--

----


FORM RAISE_JOB.

CALL FUNCTION 'JOB_OPEN'

EXPORTING

  • DELANFREP = ' '

  • JOBGROUP = ' '

JOBNAME = 'FILEEVENT'

SDLSTRTDT = P_DATE

SDLSTRTTM = STIME

JOBCLASS = 'A'

IMPORTING

JOBCOUNT = COUNT

  • CHANGING

  • RET =

  • EXCEPTIONS

  • CANT_CREATE_JOB = 1

  • INVALID_JOB_DATA = 2

  • JOBNAME_MISSING = 3

  • OTHERS = 4

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'JOB_SUBMIT'

EXPORTING

  • ARCPARAMS =

AUTHCKNAM = sy-uname

  • COMMANDNAME = ' '

  • OPERATINGSYSTEM = ' '

  • EXTPGM_NAME = ' '

  • EXTPGM_PARAM = IT_EVENT

  • EXTPGM_SET_TRACE_ON = ' '

  • EXTPGM_STDERR_IN_JOBLOG = 'X'

  • EXTPGM_STDOUT_IN_JOBLOG = 'X'

  • EXTPGM_SYSTEM = ' '

  • EXTPGM_RFCDEST = ' '

  • EXTPGM_WAIT_FOR_TERMINATION = 'X'

JOBCOUNT = COUNT

JOBNAME = 'FILEEVENT'

  • LANGUAGE = SY-LANGU

  • PRIPARAMS = IT_EVENT

REPORT = 'ZFL_DLC_FILEEVENT'

VARIANT = 'ALLJOBSEVENTS'

  • IMPORTING

  • STEP_NUMBER =

  • 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.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'JOB_CLOSE'

EXPORTING

  • AT_OPMODE = ' '

  • AT_OPMODE_PERIODIC = ' '

  • CALENDAR_ID = ' '

  • EVENT_ID = ' '

  • EVENT_PARAM = ' '

  • EVENT_PERIODIC = ' '

JOBCOUNT = COUNT

JOBNAME = 'FILEEVENT'

  • LASTSTRTDT = NO_DATE

  • LASTSTRTTM = NO_TIME

  • PRDDAYS = 0

  • PRDHOURS = 0

  • PRDMINS = 0

  • PRDMONTHS = 0

  • PRDWEEKS = 0

  • PREDJOB_CHECKSTAT = ' '

  • PRED_JOBCOUNT = ' '

  • PRED_JOBNAME = ' '

SDLSTRTDT = P_DATE

SDLSTRTTM = STIME

  • STARTDATE_RESTRICTION = BTC_PROCESS_ALWAYS

  • STRTIMMED = ' '

  • TARGETSYSTEM = ' '

  • START_ON_WORKDAY_NOT_BEFORE = SY-DATUM

  • START_ON_WORKDAY_NR = 0

  • WORKDAY_COUNT_DIRECTION = 0

  • RECIPIENT_OBJ =

  • TARGETSERVER = ' '

  • DONT_RELEASE = ' '

  • TARGETGROUP = ' '

  • DIRECT_START =

  • IMPORTING

  • JOB_WAS_RELEASED =

  • CHANGING

  • RET =

  • EXCEPTIONS

  • CANT_START_IMMEDIATE = 1

  • INVALID_STARTDATE = 2

  • JOBNAME_MISSING = 3

  • JOB_CLOSE_FAILED = 4

  • JOB_NOSTEPS = 5

  • JOB_NOTEX = 6

  • LOCK_FAILED = 7

  • INVALID_TARGET = 8

  • OTHERS = 9

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM.

This is my code

.

Read only

0 Likes
938

your submit:

<b>SUBMIT ZFWATCH6 WITH P_EVNTID = IT_FILEDIR-ZEVENT

WITH P_EVNTPM = IT_FILEDIR-ZPARAMETER

AND RETURN .</b>

is not using a JOB.

You need theses additions:

  • VIA JOB us_work-jobname

  • NUMBER us_work-jobcount

The submit must be done AFTER your job had opened and before it is closed.

eg,

PERFORM call_job_open.

SUBMIT ZFWATCH6 WITH P_EVNTID = IT_FILEDIR-ZEVENT

WITH P_EVNTPM = IT_FILEDIR-ZPARAMETER

AND RETURN

VIA JOB p_jobsub NUMBER w_jobno.

PERFORM call_job_close.

&----


*& Form call_job_open

&----


  • Open a batch job

----


  • --> p1 text

  • <-- p2 text

----


FORM call_job_open .

CALL FUNCTION 'JOB_OPEN'

EXPORTING

jobname = p_jobsub

jobclass = p_jobcls

IMPORTING

jobcount = w_jobno

EXCEPTIONS

cant_create_job = 1

invalid_job_data = 2

jobname_missing = 3

OTHERS = 4.

IF sy-subrc <> 0.

MESSAGE a735 WITH p_jobsub sy-subrc.

ENDIF.

ENDFORM. " call_job_open

&----


*& Form call_job_close

&----


  • Close selected job name

----


  • --> p1 text

  • <-- p2 text

----


FORM call_job_close .

CALL FUNCTION 'JOB_CLOSE'

EXPORTING

jobcount = w_jobno

jobname = p_jobsub

strtimmed = c_x

targetserver = p_server

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.

MESSAGE a736 WITH p_jobsub w_jobno sy-subrc.

ENDIF.

ENDFORM. " call_job_close

Read only

0 Likes
938
Hi Priya

   Can you try this way and see if it works.

<b>DATA: PRIPAR TYPE PRI_PARAMS,
      ARCPAR TYPE ARC_PARAMS,
      LAY    TYPE PRI_PARAMS-PAART.

CALL FUNCTION 'GET_PRINT_PARAMETERS'
 EXPORTING
   DESTINATION                  = 'LOCL'
   NO_DIALOG                    = 'X'
 IMPORTING
   OUT_ARCHIVE_PARAMETERS       = ARCPAR
   OUT_PARAMETERS               = PRIPAR
   VALID                        = VAL
 EXCEPTIONS
   ARCHIVE_INFO_NOT_FOUND       = 1
   INVALID_PRINT_PARAMS         = 2
   INVALID_ARCHIVE_PARAMS       = 3
   OTHERS                       = 4.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.</b>


CALL FUNCTION 'JOB_SUBMIT'
 EXPORTING
* ARCPARAMS =
  AUTHCKNAM = sy-uname
* COMMANDNAME = ' '
* OPERATINGSYSTEM = ' '
* EXTPGM_NAME = ' '
* EXTPGM_PARAM = IT_EVENT
* EXTPGM_SET_TRACE_ON = ' '
* EXTPGM_STDERR_IN_JOBLOG = 'X'
* EXTPGM_STDOUT_IN_JOBLOG = 'X'
* EXTPGM_SYSTEM = ' '
* EXTPGM_RFCDEST = ' '
* EXTPGM_WAIT_FOR_TERMINATION = 'X'
  JOBCOUNT = COUNT
  JOBNAME = 'FILEEVENT'
* LANGUAGE = SY-LANGU
  <b>PRIPARAMS = PRIPAR</b>
  REPORT = 'ZFL_DLC_FILEEVENT'
  VARIANT = 'ALLJOBSEVENTS'
* IMPORTING
* STEP_NUMBER =
<b> 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.</b>
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Kind Regards
Eswar