Zwei Programme im Hintergrund vergleichen

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Zwei Programme im Hintergrund vergleichen

Beitrag von kalle_pohl (ForumUser / 1 / 0 / 0 ) »
Hallo Leute,
ich habe folgendes Problem:

Ich möchte zwei Programme, die auf zwei verschiedenen Systemen liegen, vergleichen. (Quellcode)
Wie in der Versionsverwaltung der Remote-Vergleich.

Gibt es da ein Programm, welches genau das macht oder müsste man sich da selber etwas zusammenbasteln?

Viele Grüße
Kalle

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Zwei Programme im Hintergrund vergleichen

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin kalle,
Programmvergleich im Vordergrund geht natürlich via SE38 -> Versionsverwaltung, aber im Hintergrund geht folgendes :

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  YBC_SOURCE_COMPARE                                          *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ybc_multi_source_compare.
TABLES tnapr.

DATA lt_abaptxt255_1 TYPE TABLE OF abaptxt255 WITH HEADER LINE.
DATA lt_abaptxt255_2 TYPE TABLE OF abaptxt255 WITH HEADER LINE.

DATA lt_res TYPE TABLE OF rsedcresul WITH HEADER LINE.
DATA lv_diff(1).
DATA lv_rep1 TYPE tnapr-pgnam.

DATA: BEGIN OF lt_prog OCCURS 0,
      name TYPE syst-repid,
      END OF lt_prog.

DATA rc TYPE i.

START-OF-SELECTION.

  SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-001.
  SELECT-OPTIONS p_rep FOR tnapr-pgnam OBLIGATORY DEFAULT 'YTEST1'.

  PARAMETERS des1 TYPE rfcdes-rfcdest OBLIGATORY DEFAULT 'NONE'.
  SELECTION-SCREEN END OF BLOCK b.

  SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-002.
  PARAMETERS des2 TYPE rfcdes-rfcdest OBLIGATORY DEFAULT 'NONE'.
  SELECTION-SCREEN END OF BLOCK a.

END-OF-SELECTION.

  SELECT name FROM trdir INTO TABLE lt_prog WHERE
  name IN p_rep AND
  cnam NE 'SAP' AND
  unam NE 'SAP'.

  LOOP AT lt_prog INTO lv_rep1.
    CLEAR rc.
    PERFORM read_d1 CHANGING rc.
    PERFORM read_d2 CHANGING rc.

    IF rc IS INITIAL.

      PERFORM compare_d1_d2.

      IF NOT lv_diff IS INITIAL.
        MESSAGE s014(fmcy).
      ELSE.
*        PERFORM dbg2(zdeb00) USING sy-repid 'LT_res'.
*
* IN DER Tabelle LT_RES ist das Ergebnis (aufbereitet) falls Differenzen !!!
*
      ENDIF.

    ENDIF."rc

  ENDLOOP.

  EXIT.

*&---------------------------------------------------------------------*
*&      Form  read_d1
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->RC         text
*----------------------------------------------------------------------*
FORM read_d1 CHANGING rc TYPE i.
  DATA ls_pginfo TYPE rpy_prog.
  DATA msg_text(80).

  DATA lt_rpy_repo TYPE TABLE OF rpy_repo WITH HEADER LINE.
  DATA lt_abapsource TYPE TABLE OF abapsource WITH HEADER LINE.
  DATA lt_textpool TYPE TABLE OF textpool WITH HEADER LINE.

  CALL FUNCTION 'RPY_PROGRAM_READ' DESTINATION des1
    EXPORTING
*   LANGUAGE                  = SY-LANGU
      program_name              = lv_rep1
*   WITH_INCLUDELIST          = 'X'
*   ONLY_SOURCE               = ' '
*   ONLY_TEXTS                = ' '
*   READ_LATEST_VERSION       = ' '
*   WITH_LOWERCASE            = ' '
   IMPORTING
     prog_inf                  = ls_pginfo
   TABLES
     include_tab               = lt_rpy_repo
     SOURCE                    = lt_abapsource
     source_extended           = lt_abaptxt255_1
     textelements              = lt_textpool
   EXCEPTIONS
     cancelled                 = 1
     not_found                 = 2
     permission_error          = 3
     communication_failure     = 4 MESSAGE msg_text
     system_failure            = 5 MESSAGE msg_text
     OTHERS                    = 6.

  IF sy-subrc <> 0.
    rc = sy-subrc.
  ENDIF.



ENDFORM.                                                    "read_d1

*&---------------------------------------------------------------------*
*&      Form  read_d2
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->RC         text
*----------------------------------------------------------------------*
FORM read_d2 CHANGING rc TYPE i.
  DATA ls_pginfo TYPE rpy_prog.
  DATA msg_text(80).

  DATA lt_rpy_repo TYPE TABLE OF rpy_repo WITH HEADER LINE.
  DATA lt_abapsource TYPE TABLE OF abapsource WITH HEADER LINE.
  DATA lt_textpool TYPE TABLE OF textpool WITH HEADER LINE.
  DATA lv_rep2 TYPE tnapr-pgnam .

  lv_rep2 = lv_rep1.

  CALL FUNCTION 'RPY_PROGRAM_READ' DESTINATION des2
    EXPORTING
*   LANGUAGE                  = SY-LANGU
      program_name              = lv_rep2
*   WITH_INCLUDELIST          = 'X'
*   ONLY_SOURCE               = ' '
*   ONLY_TEXTS                = ' '
*   READ_LATEST_VERSION       = ' '
*   WITH_LOWERCASE            = ' '
   IMPORTING
     prog_inf                  = ls_pginfo
   TABLES
     include_tab               = lt_rpy_repo
     SOURCE                    = lt_abapsource
     source_extended           = lt_abaptxt255_2
     textelements              = lt_textpool
   EXCEPTIONS
     cancelled                 = 1
     not_found                 = 2
     permission_error          = 3
     communication_failure     = 4 MESSAGE msg_text
     system_failure            = 5 MESSAGE msg_text
     OTHERS                    = 6.

  IF sy-subrc <> 0.
    rc = sy-subrc.
  ENDIF.

ENDFORM.                                                    "read_d2

*&---------------------------------------------------------------------*
*&      Form  compare_d1_d2
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM compare_d1_d2.
  DATA t1 TYPE rswsourcet.
  DATA t2 TYPE rswsourcet.

  DATA x TYPE string.

  LOOP AT lt_abaptxt255_1 INTO x.
    APPEND x TO t1.
  ENDLOOP.

  LOOP AT lt_abaptxt255_2 INTO x.
    APPEND x TO t2.
  ENDLOOP.

*    *** Die einzelnen Flags ***
*' '
*'M', " So stehts in Liste
*'U', " So stehts im Delta
*'I',
*'D',
*'E'. "eingefügte Leerzeil"HT001

  CLEAR lv_diff.

  CALL FUNCTION 'RS_CMP_COMPUTE_DELTA'
    EXPORTING
      compare_mode            = '1'
      flg_ext_ignore          = ' '
      ignore_case_differences = 'X'
      flg_wb99                = ' '
    IMPORTING
      flg_equal               = lv_diff
    TABLES
      text_tab1               = t1
      text_tab2               = t2
      text_tab_res            = lt_res
    EXCEPTIONS
      parameter_invalid       = 1
      difference_not_found    = 2
      OTHERS                  = 3.

  IF sy-subrc <> 0.
  ENDIF.

ENDFORM.                    "compare_d1_d2
diese Idee hatte ich wohl auch schon mal :D
gruß TRon
<:: 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.

Re: Zwei Programme im Hintergrund vergleichen

Beitrag von ralf.wenzel (Top Expert / 3831 / 188 / 269 ) »
Wieso fangen denn die Namen der globalen Felder mit "l" an?


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

9
Antw.
3090
Views
Vergleichen zwei Ausdrücke
von Nadine_2706 » 01.09.2011 07:41 • Verfasst in ABAP® für Anfänger
3
Antw.
2379
Views
Zwei Spalten aus unterschidlichen Tabellen vergleichen
von robin1at » 27.01.2006 12:05 • Verfasst in ABAP® für Anfänger
4
Antw.
2075
Views
cl_salv_table zwei Felden vergleichen und markieren
von autohandel7 » 26.01.2016 11:52 • Verfasst in ABAP® für Anfänger
3
Antw.
6103
Views
Werte aus zwei unterschiedlichen Tabellen vergleichen
von blaah » 14.07.2010 10:56 • Verfasst in ABAP® für Anfänger
1
Antw.
7243
Views
Nützliche Programme, TC
von [MOB]Snake » 19.01.2005 09:55 • Verfasst in Tips + Tricks & FAQs

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Vererbung abstrakte Klassen
vor 3 Stunden von rob_abc 5 / 80
Neue Themen als SAP Entwickler
vor 13 Stunden von msfox 91 / 8997

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Vererbung abstrakte Klassen
vor 3 Stunden von rob_abc 5 / 80
Neue Themen als SAP Entwickler
vor 13 Stunden von msfox 91 / 8997