Das ist eine ganz kritische Formulierung. Eine Modifikation der Tabelle ist etwas vollkommen anderes als das, was du beschreibst. Du änderst Werte in der Tabelle per Update.Kerstin hat geschrieben:Tabelle TBTCP modifiziert.
Code: Alles auswählen.
*&---------------------------------------------------------------------*
*&
*& Modifikation von Jobparametern
*& Tabelle TBTCP
*&---------------------------------------------------------------------*
REPORT zh_mod_jobparameter.
TABLES: tbtcp.
DATA: p_alt(40), p_neu(40) .
PARAMETERS: r_rec RADIOBUTTON GROUP 1 DEFAULT 'X'.
SELECT-OPTIONS: p_rec_a FOR tbtcp-prrec DEFAULT 'PA*'. "Empfänger alt
SELECT-OPTIONS: p_rec_n FOR tbtcp-prrec DEFAULT 'HR*'. " neu
PARAMETERS: r_abt RADIOBUTTON GROUP 1.
SELECT-OPTIONS: p_abt_a FOR tbtcp-prabt DEFAULT 'KP*', "Abteilung alt
p_abt_n FOR tbtcp-prabt DEFAULT 'KP*'. " neu
******************************************************************
CLEAR: p_alt,p_neu.
CASE 'X'.
WHEN r_rec.
UPDATE tbtcp SET prrec = p_rec_n-low
WHERE prrec = p_rec_a-low.
p_alt = p_rec_a-low.
p_neu = p_rec_n-low.
WHEN r_abt.
UPDATE tbtcp SET prabt = p_abt_n-low
WHERE prabt = p_abt_a-low.
p_alt = p_abt_a-low.
p_neu = p_abt_n-low.
ENDCASE.
******************************************************************
WRITE:/ 'Es wurden', sy-dbcnt, 'Zeilen der Tabelle TBTCP geändert'.
SKIP.
WRITE:/ 'Alter Wert:', p_alt.
WRITE:/ 'Neuer Wert:', p_neu.
*******************************************************************
Code: Alles auswählen.
data: jobh1 type tbtcjob.
data: jobh2 type bpjobhead.
data: msg type string.
data: recipient type bapixmrecip.
data: bpjobhmsk type bpjobhmsk.
CALL FUNCTION 'BP_JOB_READ'
EXPORTING
JOB_READ_JOBCOUNT = jobcount
JOB_READ_JOBNAME = jobname
JOB_READ_OPCODE = '19'
* JOB_STEP_NUMBER =
IMPORTING
JOB_READ_JOBHEAD = jobh1
* JOBLOG_ATTRIBUTES =
* EPP_ATTRIBUTES =
* TABLES
* JOB_READ_STEPLIST =
* SPOOL_ATTRIBUTES =
* CHANGING
* RET =
EXCEPTIONS
INVALID_OPCODE = 1
JOB_DOESNT_EXIST = 2
JOB_DOESNT_HAVE_STEPS = 3
OTHERS = 4.
move-corresponding jobh1 to jobh2.
move abap_true to bpjobhmsk-reciplnt. "!!!!!!
move sy-uname to recipient-RECIPIENT.
move 'O' to recipient-REC_TYPE.
CALL FUNCTION 'BP_JOB_HEADER_MODIFY'
EXPORTING
JOBNAME = jobname
JOBCOUNT = jobcount
JOB_HEADER = jobh2
DONT_RELEASE = abap_true
MASK = bpjobhmsk
* JOBCLASS =
RECIPIENT = recipient
IMPORTING
SO_MESSAGE = msg
EXCEPTIONS
JOB_DOES_NOT_EXISTS = 1
CANT_READ_JOBDATA = 2
INVALID_NEW_JOBDATA = 3
NO_MODIFY_PRIVILEGE_GIVEN = 4
NO_RELEASE_PRIVILEGE_GIVEN = 5
CANT_ENQ_JOB = 6
CANT_RELEASE_JOB = 7
JOB_NOSTEPS = 8
JOBCOUNT_MISSING = 9
JOBNAME_MISSING = 10
INVALID_TARGET = 11
CANT_START_JOB_IMMEDIATELY = 12
INVALID_STARTDATE = 13
JOB_NOT_MODIFIABLE_ANYMORE = 14
NO_AUTHORITY = 15
OTHERS = 16.