Varianten auf andere Reports übertragen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Varianten auf andere Reports übertragen

Postby Laureen5398 » Fri Aug 08, 2003 10:56 am

Problem: Nach Put von 40B auf 46C sind einige Reports durch andere ersetzt worden. Da für die alten Reports recht viele Varianten existieren und die User natürlich keine Lust haben, diese manuell zu übertragen, überlege ich mir eine ABAP-Lösung.
Gibts schon sowas? Ist recht eilig, weil ich nächste Woche auch mal Urlaub machen will ;-))
Laureen5398
...
...
 
Posts: 335
Joined: Thu Jul 31, 2003 10:47 am

Postby Laureen5398 » Fri Aug 08, 2003 1:29 pm

Hab schon ne Lösung, für alle die es interessiert, kurze Beschreibung:

1. Daten für alten Report aus Tabellen VARI, VARID, VARIT und VARIS für neuen Report anlegen (Coding siehe unten)

2. Report RSVARDOC für die Varianten des neuen Reports auführen (siehe OSS)

3. Report RSGETVARISBACK ebenfalls zu diesem Zweck ausführen.

Anschließend standen die Varianten wieder zur Verfügung und (oh Überraschung) obwohl das Selektionsbild sehr viele Änderungen erfahren hat.

Ach ja noch was, kann natürlich keine Garantie übernehmen, das bei allen Report funktioniert. Hier betroffen war die Transaktion MB51. Es gab keine Systemvarianten. Dafür sind u.U. noch weitere Schritte erforderlich und weitere Tabellen zu pflegen.


Hier noch das Coding für Punkt 1.
Das DELETE zu Beginn war nur erforderlich, weil ich ein paar mal probieren musste, bis alles glatt war ;-)))


REPORT ZZ_VARIANTEN_UEBERTRAGUNG .


*----------------------------------------------------------------------*
* Typen *
*----------------------------------------------------------------------*
types: t_vari type vari,
t_varid type varid,
t_varit type varit,
t_varis type varis.



*----------------------------------------------------------------------*
* Arbeitsbereiche *
*----------------------------------------------------------------------*
data: w_vari type t_vari,
w_varid type t_varid,
w_varit type t_varit,
w_varis type t_varis.


*----------------------------------------------------------------------*
* Selektionsbildschirm *
*----------------------------------------------------------------------*
parameters: s_oldrep like w_vari-report obligatory,
s_newrep like w_vari-report obligatory.

parameters: s_delent as checkbox.


*----------------------------------------------------------------------*
start-of-selection.
*----------------------------------------------------------------------*

if s_delent = 'X'.
delete from vari where report = s_newrep.
delete from varid where report = s_newrep.
delete from varit where report = s_newrep.
delete from varis where report = s_newrep.
endif.


select * from vari into w_vari
where report = s_oldrep.
w_vari-report = s_newrep.
insert vari from w_vari.
endselect.

if sy-subrc ne 0.
write: / 'Report', s_oldrep, 'existiert nicht oder enthält keine',
'Varianten.'.
exit.
endif.

select * from varid into w_varid
where report = s_oldrep.
w_varid-report = s_newrep.
insert varid from w_varid.
endselect.

select * from varit into w_varit
where report = s_oldrep.
w_varit-report = s_newrep.
insert varit from w_varit.
endselect.

select * from varis into w_varis
where report = s_oldrep.
w_varis-report = s_newrep.
insert varis from w_varis.
endselect.
Laureen5398
...
...
 
Posts: 335
Joined: Thu Jul 31, 2003 10:47 am


Return to ABAP® Core

Who is online

Users browsing this forum: No registered users and 12 guests

cron