Ich erzeuge einen Job mit den Funktionsbaustein JOB_OPEN und benutze die Anweisung SUBMIT, JOB_CLOSE.
In den meisten Fällen läuft der Job Problemlos durch.
Aber gelegentlich der Job ohne Grund auf geplant stehen.
Der User hat die Berechtigung Jobs anzulegen !
Wo könnte die Ursache liegen ?
Genau dieses Coding arbeitet ca. 100 mal korrekt, aber von Zeit zu Zeit bleibt der Job auf geplant stehen.
DATA: it_sel_table TYPE TABLE OF rsparams,
l_number TYPE tbtcjob-jobcount,
l_jobname TYPE tbtcjob-jobname VALUE 'STATUS &1 ABGLEICHEN(JOB LOESCHEN)',
l_print_parameters TYPE pri_params.
REPLACE '&!' with IN_VBELN INTO l_jobname .
CALL FUNCTION 'JOB_OPEN'
EXPORTING
JOBNAME = l_jobname
JOBCLASS = 'C'
CHECK_JOBCLASS = 'X'
IMPORTING
JOBCOUNT = l_number.
submit ZSD_DIREKTEINGABE_STATUS_NS
USER 'BN-BATCH' " Start Batch
TO SAP-SPOOL WITHOUT SPOOL DYNPRO
VIA JOB l_jobname NUMBER l_number
with P_vbeln = IN_VBELN
and RETURN.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
JOBCOUNT = l_number
JOBNAME = l_jobname
STRTIMMED = 'X'
DIRECT_START = 'X'
EXCEPTIONS
OTHERS = 01.
commit WORK AND WAIT.
Moin.
Ich vermute eine fehlende Berechtigung, die eine Freigabe verhindert.
gruß Jens
<:: XING-Gruppe Tricktresor::> Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
Hi,
Wie sieht die Servergruppe aus - sind alle eingetragenen Server in dem Zeitraum auch verfügbar gewesen ?
(Gruppe - Tab TSRVGRP, Zuordnung der Server zu Gruppe Tab TSRVLST)
JOB_CLOSE liefert noch JOB_WAS_RELEASED='X' zurück, falls der Job gestartet wurde,
das solltest Du danach auch noch abfragen und die ganzen EXCEPTIONS abfangen evtl. bringt Dich das weiter.
Ich hatte bei Load-Balancing aber auch ab und an Probleme mit dem Anlaufen der Jobs, meistens wenn die Systeme sehr unter Last standen und zu wenige BTC Prozesse frei waren.
/Edwin
Hi,
deshalb habe ich Dir ja vorgeschlagen zuerst die Exceptions abzufangen und den Rückgabewert zu prüfen,
evtl gibt Dir das einen Hinweis. Zusätzlich schaue Dir in der fraglichen Zeit mal die Systemlogs an, vielleicht gibt es da einen Hinweis.
/Edwin
Ich vermute, dass liegt am Parameter STRTIMMED.
Zum Startzeitpunkt scheinen ab und zu keine Ressourcen verfügbar zu sein.
Nehme mal das 'X' bei DIRECT_START raus.
Dieser verhindert die Umwandlung des Job-Starts in einen zeitbasierten Job wenn keine
Ressourcen verfügbar sind.
Die Folge ist, dass der Job auf "geplant" stehen bleibt.
Ohne "DIRECT_START" sollte der Job ausgeführt werden, sobald wieder Ressourcen verfügbar sind.