
 
								Weil der Aufruf mittels BSP-Seiten als Frontend aus einem anderen SystemKrueger hat geschrieben:Warum willst Du einen RFC im eigenen System programmieren???!!!???
Massenverarbeitung geht auch mit einem ganz normalen Fuba.
Schreib doch einfach einen normalen Report und drücke <F9>.
 
								Ich möchte aber sicherstellen, dass der Prozess im Batch läuft und nicht mitKrueger hat geschrieben:Bau in den RFC ein "Commit work" ein... :idea:
 
								Genau das habe ich ja oben bereits gefragtKrueger hat geschrieben:Dann bau Dir einen RFC, der ein Program (das was der eigentliche RFC im Batch machen soll) im Batch aufruft. :idea:
 
  
								 , hoffe ist das was du suchst....
 , hoffe ist das was du suchst....Code: Alles auswählen.
data: JOBNUMMER type TBTCJOB-JOBCOUNT,
      JOBNAME   type TBTCJOB-JOBNAME,
      STRTIMMED        type BTCH0000-CHAR1,
      JOB_WAS_RELEASED type BTCH0000-CHAR1.  
***#############################################
JOBNAME = 'Mein name für den Job'.
***#############################################
* Anlegen eines Hintergrundjobs
  call function 'JOB_OPEN'
    exporting
      DELANFREP        = ' '
      JOBGROUP         = ' '
      JOBNAME          = JOBNAME
    importing
      JOBCOUNT         = JOBNUMMER
    exceptions
      CANT_CREATE_JOB  = 01
      INVALID_JOB_DATA = 02
      JOBNAME_MISSING  = 03.
  if SY-SUBRC = 01 or SY-SUBRC = 02.
    message I460(MA).
    leave program.
*   Hintergrundjob konnte nicht angelegt werden
  elseif SY-SUBRC = 03.
    message I461(MA).
    leave program.
*   Hintergrundjob hat keinen Namen
  endif.
  submit 'MEIN_ZU_STARTENDER_REPORT'
     user SY-UNAME                " Benutzername
     via job JOBNAME              " JOBNAME, d.h. TEXT
         number JOBNUMMER         " JOBNUMMER
        with S_tab1 in R_tab1     "Übergabe Selektionstabelle
        with P_var1  = Px_var1    "Übergabe Parameter
        and return.
  if SY-SUBRC <> 0.
* Löschen des Hintergrundjobs, da er nicht eingeplant werden kann
    call function 'BP_JOB_DELETE'
      exporting
        FORCEDMODE = 'X'
        JOBCOUNT   = JOBNUMMER
        JOBNAME    = JOBNAME.
    message E460(MA).
  endif.
  move 'X'      to STRTIMMED.  "immediatly
  call function 'JOB_CLOSE'
    exporting
      JOBCOUNT             = JOBNUMMER
      JOBNAME              = JOBNAME
      STRTIMMED            = STRTIMMED  "immediatly
    importing
      JOB_WAS_RELEASED     = JOB_WAS_RELEASED
    exceptions
      CANT_START_IMMEDIATE = 01
      INVALID_STARTDATE    = 02
      JOBNAME_MISSING      = 03
      JOB_CLOSE_FAILED     = 04
      JOB_NOSTEPS          = 05
      JOB_NOTEX            = 06
      LOCK_FAILED          = 07.
***
  if SY-SUBRC <> 0.
* Löschen des Hintergrundjobs, da er nicht eingeplant werden kann
    call function 'BP_JOB_DELETE'
      exporting
        FORCEDMODE = 'X'
        JOBCOUNT   = JOBNUMMER
        JOBNAME    = JOBNAME.
    message E460(MA).
  else.
* Hintergrundjob wurde erfolgreich eingeplant
    message S000(FB) with TEXT-201 JOBNAME TEXT-202.
  endif.