[55728] in SAPr3-news

home help back first fref pref prev next nref lref last post

=?iso-8859-1?q?ABAP_Toolprogramme_/_Modifikationsfreies_=E4ndern_von_SAP_Standard_F1_Hilfen?=

daemon@ATHENA.MIT.EDU (volker_korrmann@web.de)
Tue Oct 18 12:06:51 2005

To: sapr3-news@mit.edu
Date: 18 Oct 2005 09:06:36 -0700
From: volker_korrmann@web.de
Message-ID: <1129651596.274855.220090@g43g2000cwa.googlegroups.com>

Hallo Leute,

mit nur einer einzigen Modifikation im SAP Standard kann man beliebig
viele F1 Hilfetexte durch Kommentare erweitern oder auch die F1 Hilfen
komplett ersetzen.

Viele Gr=FC=DFe

Volker Korrmann





*&---------------------------------------------------------------------*
*& Report  ZCMS_F1
*&
*&---------------------------------------------------------------------*
*&
*& (C) 12.10.2005  by Volker Korrmann (C1 FinCon)
*&
*&
*& Mit Hilfe einer Modifikation im Funktionsbaustein:
*&                                                 DOCU_GET_FOR_F1HELP
*&
*& werden die hier gepflegten Texte anstelle der eigentlichen F1
Hilfstexte
*& eingeblendet.
*&
*& In dieser Anwendung k=F6nnen einzelne "Kundenhilfen" de- und
aktiviert
*& werden. Es wird zudem das "Original" bei der Erstanlage gespeichert,
um
*& im Releasewechselfall Abgleiche zu erm=F6glichen.
*&
*& Es ist jedoch auch m=F6glich einfach nur einen Kommentar zu erfassen,
welcher
*& am Anfang der SAP Hilfe eingebaut wird, anstatt die SAP F1 Hilfe
komplett durch eine
*& Kundenhilfe zu ersetzen,.
*&
*& F=FCr solche Kommentare werden keine Kopien des Originaltextes
angelegt.
*&
*&
*& Der Objektname wird =FCber eine Parameter-ID beim Aufruf der F1 Hilfe
*& f=FCr den User global hinterlegt.
*&
*& Um eine Hilfe zu =E4ndern also einfach diese F1 Hilfe einmal
aufrufen,
*& und danach erst diesen Report starten. Der Objektname ist somit
*& schon richtig vorbelegt.
*& Die SAP Hilfe wird zudem bei Textersetzungen automatisch als
Vorschlagwert vorgegeben
*&
*& Alternativ kann man sich auch =FCber den Button
*& Objektliste auf der Selektionsmaske (Buttonleiste) die vorhandenen
*& Objekte aussuchen (Doppelklick in Liste).
*&
*& Bei jeder =C4nderung werden die n=F6tigen Eintr=E4ge im Transportsystem
angelegt.
*&
*& Die Standardtexte k=F6nnen zus=E4tzlich auch in Masse mit Hilfe des
Programms: RSTXTRAN
*& transportiert werden. Dazu bitte folgende Selektionsmaske verwenden:
*&
*&
*&  Name der Korrektur/Reparatur      CMEK911420  (z.B.)
*&  Textschl=FCssel - Objekt            TEXT
*&  Textschl=FCssel - Name              Z*
*&  Textschl=FCssel - Id                ZF1
*&  Textschl=FCssel - Sprache           *
*&
*&  (F8 / Alle Selektieren Button dr=FCcken /  Return / Button "Texte in
Korr.=FCbern." )
*&
*&
*&
*&                                     Installationsanleitung
*&                                     ----------------------
*& Selektionstexte:

*ID	       Dokumentenklasse
*LANGU	       Sprachenschl=FCssel
*OBJECT	Doku-Objekt
*P_AKTIV	Eigenen Text aktivieren
*P_DELE	Objekt l=F6schen
*P_ERS	       Hilfe komplett ersetzen
*P_HOLD	Typ beibehalten /def.Kommentar
*P_KOM	       Nur Kommentar hinzuf=FCgen
*P_ORIG	Original neu ziehen (Rel.we.).

*&
*&  Bitte f=FCgen Sie am Ende des SAP Funktionsbausteins:
DOCU_GET_FOR_F1HELP
*&  den folgenden Include Aufruf ein:

***{   INSERT         CMEK911454
1
***
*** WICHTIG: =C4nderung am Standard
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
***
*** Ansprechpartner: Volker Korrmann (C1-FinCon)
***                  SAP CMS Team    (Mail SAP-CMS)
***
*** Mit Hilfe dieser Erweiterung k=F6nnen kundeneigene Texte zu SAP
Standardhilfstexten hinzugef=FCgt werden.
*** (REPORT: ZCMS_F1)
*** IM SPAU Abgleich bitte unbedingt wieder mit hinzuf=FCgen !!!!!
***

*include zcms_incl_f1.

***}   INSERT
***ENDFUNCTION.



*&
*& Der Include ist mit dem folgenden Sourcecode anzulegen:
*&
*&
*&---------------------------------------------------------------------*
*&  Include           ZCMS_INCL_F1
*&---------------------------------------------------------------------*

*DATA: l_stxh LIKE stxh.
*DATA: l_name(200).
*DATA: l_id      LIKE  thead-tdid,
*      l_langu   LIKE  thead-tdspras,
*      l_name2   LIKE  thead-tdname,
*      l_object  LIKE  thead-tdobject.
*DATA: lt_lines2 TYPE STANDARD TABLE OF tline WITH HEADER LINE.
*
*
*
*SET PARAMETER ID 'ZF1OBJ' FIELD object.
*
*
*
*l_name =3D 'ZA_'.
*l_name+3 =3D object.
*
*CLEAR l_stxh.
*SELECT SINGLE * FROM stxh INTO l_stxh
*                          WHERE tdobject =3D 'TEXT' AND
*                                tdname   =3D l_name AND
*                                tdid     =3D 'ZF1'  AND
*                                tdspras  =3D langu.
*
*IF sy-subrc <> 0.
*  l_name(3) =3D 'ZK_'.
*  SELECT SINGLE * FROM stxh INTO l_stxh
*                            WHERE tdobject =3D 'TEXT' AND
*                                  tdname   =3D l_name AND
*                                  tdid     =3D 'ZF1'  AND
*                                  tdspras  =3D langu.
*ENDIF.
*
*IF NOT l_stxh IS INITIAL.
*
*  l_id =3D 'ZF1'.
*  l_langu =3D langu.
*  l_name2 =3D l_name.
*  l_object =3D 'TEXT'.
*
*  CALL FUNCTION 'READ_TEXT'
*    EXPORTING
**   CLIENT                        =3D SY-MANDT
*      id                            =3D l_id
*      language                      =3D l_langu
*      name                          =3D l_name2
*      object                        =3D l_object
**   ARCHIVE_HANDLE                =3D 0
**   LOCAL_CAT                     =3D ' '
** IMPORTING
**   HEADER                        =3D
*    TABLES
*      lines                         =3D lt_lines2
*   EXCEPTIONS
*     id                            =3D 1
*     language                      =3D 2
*     name                          =3D 3
*     not_found                     =3D 4
*     object                        =3D 5
*     reference_check               =3D 6
*     wrong_access_to_archive       =3D 7
*     OTHERS                        =3D 8
*            .
*  IF sy-subrc <> 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*  ENDIF.
*
*
*  IF NOT lt_lines2[] IS INITIAL.
*
*    IF l_name2(3) =3D 'ZK_'.
*      LOOP AT line INTO lt_lines2.
*        APPEND lt_lines2.
*      ENDLOOP.
*    ENDIF.
*    REFRESH line.
*    CLEAR line.
*    LOOP AT lt_lines2.
*      APPEND lt_lines2 TO line .
*    ENDLOOP.
*
*  ENDIF.
*
*ENDIF.



*&
*&---------------------------------------------------------------------*

REPORT  zcms_f1.

TYPE-POOLS: trwbo .
TYPE-POOLS: slis.
DATA:
       lt_alv_cat  TYPE TABLE OF lvc_s_fcat,
       ls_alv_cat  LIKE LINE OF lt_alv_cat.

DATA: alv_cat     TYPE slis_t_fieldcat_alv
      WITH HEADER LINE.


DATA: BEGIN OF it_flist OCCURS 0,
      name    LIKE stxh-tdname,
      name2   LIKE stxh-tdname,
      name3   LIKE stxh-tdname,
      tdspras LIKE stxh-tdspras,
      ka      LIKE stxh-tdhyphenat,
      ki      LIKE stxh-tdhyphenat,
      ea      LIKE stxh-tdhyphenat,
      ei      LIKE stxh-tdhyphenat,
      tdluser LIKE stxh-tdluser,
      tdldate LIKE stxh-tdldate,
      tdltime LIKE stxh-tdltime,
      END OF it_flist.

DATA: BEGIN OF it_flist2 OCCURS 0,
      name    LIKE stxh-tdname,
      name2   LIKE stxh-tdname,
      name3   LIKE stxh-tdname,
      tdspras LIKE stxh-tdspras,
      ka      LIKE stxh-tdhyphenat,
      ki      LIKE stxh-tdhyphenat,
      ea      LIKE stxh-tdhyphenat,
      ei      LIKE stxh-tdhyphenat,
      tdluser LIKE stxh-tdluser,
      tdldate LIKE stxh-tdldate,
      tdltime LIKE stxh-tdltime,
      tdformat LIKE tline-tdformat,
      tdline  LIKE tline-tdline,
      valexi  LIKE stxh-tdhyphenat,
      END OF it_flist2.


DATA: g_layout TYPE slis_layout_alv.



TABLES: stxh.
DATA:   g_name(100).
DATA:   l_header  TYPE  thead.
DATA:   l_header2 TYPE  thead.
DATA:   l_id      LIKE  thead-tdid,
        l_langu   LIKE  thead-tdspras,
        g_name2   LIKE  thead-tdname,
        l_object  LIKE  thead-tdobject,
        l_control LIKE  itced,
        i         TYPE  i.
DATA:  l_function(50) TYPE c,
       l_result LIKE  itcer.
DATA: it_e071    TYPE STANDARD TABLE OF ko200 WITH HEADER LINE.
DATA: it_e071k   TYPE STANDARD TABLE OF e071k WITH HEADER LINE.
DATA: it_e071_2  TYPE STANDARD TABLE OF ko200 WITH HEADER LINE.
DATA: it_e071k_2 TYPE STANDARD TABLE OF e071k WITH HEADER LINE.
DATA: text(200) TYPE c.
DATA: g_trnr(20) TYPE c VALUE 'ZTRNR0001'.
DATA: g_order LIKE  e070-trkorr.

DATA: gt_lines  TYPE STANDARD TABLE OF tline WITH HEADER LINE.
DATA: gt_lines2 TYPE STANDARD TABLE OF tline WITH HEADER LINE.


PARAMETERS:  object LIKE dokhl-object MEMORY ID ZF1OBJ,
             langu  LIKE sy-langu DEFAULT sy-langu,
             id     LIKE dokhl-id DEFAULT 'DE',

             p_aktiv AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN SKIP.
PARAMETERS:  p_ers RADIOBUTTON GROUP g1,
             p_kom RADIOBUTTON GROUP g1,
             p_hold RADIOBUTTON GROUP g1 DEFAULT 'X'.

SELECTION-SCREEN SKIP.
PARAMETERS:  p_ORIG AS CHECKBOX DEFAULT ' '.
PARAMETERS:  p_dele AS CHECKBOX DEFAULT ' '.


* Anfang: Behandlung der Buttonleiste auf dem Selektionsschirm
TABLES: sscrfields.
SELECTION-SCREEN FUNCTION KEY 1.
SELECTION-SCREEN FUNCTION KEY 2.
SELECTION-SCREEN FUNCTION KEY 3.


INITIALIZATION.

  sscrfields-functxt_01 =3D 'Objektliste'.
  sscrfields-functxt_02 =3D 'Texteliste'.
  sscrfields-functxt_03 =3D 'Releasewechselkontrolle'.
  "Buttendefinition


AT SELECTION-SCREEN.
  CASE sy-ucomm.
    WHEN 'FC01'.
      PERFORM objektliste.
    WHEN 'FC02'.
      PERFORM textliste.
      PERFORM ausgabe_textliste.

    WHEN 'FC03'.
      PERFORM relkon.
      PERFORM ausgabe_textliste.


    WHEN OTHERS.
  ENDCASE.




START-OF-SELECTION.

  IF p_dele =3D 'X'.

    CALL FUNCTION 'POPUP_TO_CONFIRM'
      EXPORTING
        titlebar                    =3D 'Kundenhilfstext l=F6schen'
*    DIAGNOSE_OBJECT             =3D ' '
        text_question               =3D 'Wollen Sie diesen Hilfstext
wirklich l=F6schen ?'
*    TEXT_BUTTON_1               =3D 'Ja'(001)
*    ICON_BUTTON_1               =3D ' '
*    TEXT_BUTTON_2               =3D 'Nein'(002)
*    ICON_BUTTON_2               =3D ' '
        default_button              =3D '2'
        display_cancel_button       =3D 'X'
*    USERDEFINED_F1_HELP         =3D ' '
*    START_COLUMN                =3D 25
*    START_ROW                   =3D 6
*    POPUP_TYPE                  =3D
*    IV_QUICKINFO_BUTTON_1       =3D ' '
*    IV_QUICKINFO_BUTTON_2       =3D ' '
      IMPORTING
        answer                      =3D text
*  TABLES
*    PARAMETER                   =3D
     EXCEPTIONS
       text_not_found              =3D 1
       OTHERS                      =3D 2
              .
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    IF text =3D '1'.

      g_name(3) =3D 'ZA_'.
      g_name+3 =3D object.

      l_id =3D 'ZF1'.
      l_langu =3D langu.
      g_name2 =3D g_name.
      l_object =3D 'TEXT'.


      CALL FUNCTION 'DELETE_TEXT'
        EXPORTING
          id              =3D l_id
          language        =3D l_langu
          name            =3D g_name2
          object          =3D l_object
          savemode_direct =3D 'X'
        EXCEPTIONS
          not_found       =3D 1
          OTHERS          =3D 2.
      IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      ENDIF.

      g_name2(3) =3D 'ZI_'.
      CALL FUNCTION 'DELETE_TEXT'
        EXPORTING
          id              =3D l_id
          language        =3D l_langu
          name            =3D g_name2
          object          =3D l_object
          savemode_direct =3D 'X'
        EXCEPTIONS
          not_found       =3D 1
          OTHERS          =3D 2.
      IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      ENDIF.

      g_name2(3) =3D 'ZK_'.
      CALL FUNCTION 'DELETE_TEXT'
        EXPORTING
          id              =3D l_id
          language        =3D l_langu
          name            =3D g_name2
          object          =3D l_object
          savemode_direct =3D 'X'
        EXCEPTIONS
          not_found       =3D 1
          OTHERS          =3D 2.
      IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      ENDIF.

      g_name2(3) =3D 'ZN_'.
      CALL FUNCTION 'DELETE_TEXT'
        EXPORTING
          id              =3D l_id
          language        =3D l_langu
          name            =3D g_name2
          object          =3D l_object
          savemode_direct =3D 'X'
        EXCEPTIONS
          not_found       =3D 1
          OTHERS          =3D 2.
      IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      ENDIF.

      g_name2(3) =3D 'ZO_'.
      CALL FUNCTION 'DELETE_TEXT'
        EXPORTING
          id              =3D l_id
          language        =3D l_langu
          name            =3D g_name2
          object          =3D l_object
          savemode_direct =3D 'X'
        EXCEPTIONS
          not_found       =3D 1
          OTHERS          =3D 2.
      IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      ENDIF.



    ENDIF.
    EXIT.
  ENDIF.

  REFRESH: it_e071, it_e071k.

  CALL FUNCTION 'DOCU_GET_FOR_F1HELP'
    EXPORTING
      id             =3D id
      langu          =3D langu
      object         =3D object
      typ            =3D ' '
* IMPORTING
*   DOKSTATE       =3D
*   HEAD           =3D
    TABLES
      line           =3D gt_lines
   EXCEPTIONS
     ret_code       =3D 1
     OTHERS         =3D 2.


  IF p_ers =3D 'X'.
    PERFORM ersetzen.
  ELSEIF p_kom =3D 'X'.
    PERFORM kommentar.
  ELSE.

    g_name =3D 'ZA_'.
    g_name+3 =3D object.

    CLEAR stxh.
    SELECT SINGLE * FROM stxh WHERE tdobject =3D 'TEXT' AND
                                    tdname   =3D g_name AND
                                    tdid     =3D 'ZF1'  AND
                                    tdspras  =3D langu.
    IF sy-subrc <> 0.
      g_name(3) =3D 'ZI_'.
      SELECT SINGLE * FROM stxh WHERE tdobject =3D 'TEXT' AND
                                      tdname   =3D g_name AND
                                      tdid     =3D 'ZF1'  AND
                                      tdspras  =3D langu.
    ENDIF.


    IF stxh IS INITIAL.
* Wenn nicht ersetzen, dann immer als Kommentar !!!
      PERFORM kommentar.
    ELSE.
      PERFORM ersetzen.
    ENDIF.
  ENDIF.

  EXIT.





*&--------------------------------------------------------------------*
*&      Form  ersetzen
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM ersetzen.

  g_name =3D 'ZA_'.
  g_name+3 =3D object.

  CLEAR stxh.
  SELECT SINGLE * FROM stxh WHERE tdobject =3D 'TEXT' AND
                                  tdname   =3D g_name AND
                                  tdid     =3D 'ZF1'  AND
                                  tdspras  =3D langu.
  IF sy-subrc <> 0.
    g_name(3) =3D 'ZI_'.
    SELECT SINGLE * FROM stxh WHERE tdobject =3D 'TEXT' AND
                                    tdname   =3D g_name AND
                                    tdid     =3D 'ZF1'  AND
                                    tdspras  =3D langu.
  ENDIF.


  IF stxh IS INITIAL.
* Das Objekt mu=DF ganz neu angelegt werden
    gt_lines2[] =3D gt_lines[].

  ELSE.
* Das Objekt kann direkt ge=E4ndert werden.


    l_id =3D 'ZF1'.
    l_langu =3D langu.
    g_name2 =3D g_name.
    l_object =3D 'TEXT'.

    CALL FUNCTION 'READ_TEXT'
      EXPORTING
*   CLIENT                        =3D SY-MANDT
        id                            =3D l_id
        language                      =3D l_langu
        name                          =3D g_name2
        object                        =3D l_object
*   ARCHIVE_HANDLE                =3D 0
*   LOCAL_CAT                     =3D ' '
* IMPORTING
*   HEADER                        =3D
      TABLES
        lines                         =3D gt_lines2
     EXCEPTIONS
       id                            =3D 1
       language                      =3D 2
       name                          =3D 3
       not_found                     =3D 4
       object                        =3D 5
       reference_check               =3D 6
       wrong_access_to_archive       =3D 7
       OTHERS                        =3D 8
              .
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

  ENDIF.


  IF p_aktiv =3D 'X'.
    g_name(3) =3D 'ZA_'.
  ELSE.
    g_name(3) =3D 'ZI_'.
  ENDIF.
  DESCRIBE TABLE gt_lines2 LINES i.
  l_header-tdobject =3D 'TEXT'.
  l_header-tdname =3D  g_name.
  l_header-tdid =3D    'ZF1'.
  l_header-tdspras =3D langu.
  l_header-tdfuser =3D sy-uname.
  l_header-tdfdate =3D sy-datum.
  l_header-tdftime =3D sy-uzeit.
  l_header-tdluser =3D sy-uname.
  l_header-tdform  =3D 'SYSTEM'.
  l_header-tdlinesize =3D 132.
  l_header-tdtxtlines =3D i.

  CLEAR l_control.
  l_control-changemode =3D 'X'.


  CALL FUNCTION 'EDIT_TEXT'
    EXPORTING
    display             =3D ' '
*   EDITOR_TITLE        =3D ' '
      header              =3D l_header
*   PAGE                =3D ' '
*   WINDOW              =3D ' '
    save                =3D 'X'
    line_editor         =3D ' '
    control             =3D l_control
*   PROGRAM             =3D ' '
*   LOCAL_CAT           =3D ' '
   IMPORTING
     function            =3D l_function
     newheader           =3D l_header2
     RESULT              =3D l_result
   TABLES
      lines               =3D gt_lines2
   EXCEPTIONS
     id                  =3D 1
     language            =3D 2
     linesize            =3D 3
     name                =3D 4
     object              =3D 5
     textformat          =3D 6
     communication       =3D 7
     OTHERS              =3D 8
            .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


  IF l_function =3D 'U' OR l_function =3D 'I'.


* Wenn das Objekt gespeichert wurde, und vorher keine Version vorhanden
war,
* dann das "Original" noch einmal ablegen!!!
* Dazu auch den aktuellen Stand als ZO_... ablegen
(Releasewechselunterst=FCtzung)
    IF ( stxh IS INITIAL or p_ORIG =3D 'X' ) AND NOT gt_lines[] IS
INITIAL.
      g_name(3) =3D 'ZO_'.
      l_header-tdobject =3D 'TEXT'.
      l_header-tdname =3D  g_name.
      l_header-tdid =3D    'ZF1'.
      l_header-tdspras =3D langu.
      l_header-tdfuser =3D sy-uname.
      l_header-tdfdate =3D sy-datum.
      l_header-tdftime =3D sy-uzeit.
      l_header-tdluser =3D sy-uname.

      CALL FUNCTION 'SAVE_TEXT'
        EXPORTING
*   CLIENT                =3D SY-MANDT
          header                =3D l_header
*   INSERT                =3D ' '
*   SAVEMODE_DIRECT       =3D ' '
*   OWNER_SPECIFIED       =3D ' '
*   LOCAL_CAT             =3D ' '
* IMPORTING
*   FUNCTION              =3D
*   NEWHEADER             =3D
        TABLES
          lines                 =3D gt_lines
       EXCEPTIONS
         id                    =3D 1
         language              =3D 2
         name                  =3D 3
         object                =3D 4
         OTHERS                =3D 5
                .
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDIF.





***************************************************************
* L=F6schen einer evtl. vorhandenen aktiven bzw. inaktiven Version

    IF p_aktiv =3D 'X'.
      g_name(3) =3D 'ZI_'.
    ELSE.
      g_name(3) =3D 'ZA_'.
    ENDIF.

    l_id =3D 'ZF1'.
    l_langu =3D langu.
    g_name2 =3D g_name.
    l_object =3D 'TEXT'.


    CALL FUNCTION 'DELETE_TEXT'
      EXPORTING
*   CLIENT                =3D SY-MANDT
        id                    =3D l_id
        language              =3D l_langu
        name                  =3D g_name2
        object                =3D l_object
        savemode_direct       =3D 'X'
*   TEXTMEMORY_ONLY       =3D ' '
*   LOCAL_CAT             =3D ' '
     EXCEPTIONS
       not_found             =3D 1
       OTHERS                =3D 2
              .
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.



* Transporteintr=E4ge erstellen



    CLEAR: it_e071, it_e071k.
    g_name(3) =3D 'ZI_'.
    CONCATENATE 'TEXT,' g_name ',ZF1,' langu INTO text.

    it_e071-pgmid    =3D 'R3TR'.
    it_e071-object   =3D 'TEXT'.
    it_e071-obj_name =3D text.
    it_e071-objfunc     =3D ' '.
    it_e071-as4pos      =3D it_e071-as4pos + 1.
    APPEND it_e071.

    g_name(3) =3D 'ZA_'.
    CONCATENATE 'TEXT,' g_name ',ZF1,' langu INTO text.
    it_e071-obj_name =3D text.
    APPEND it_e071.

    g_name(3) =3D 'ZO_'.
    CONCATENATE 'TEXT,' g_name ',ZF1,' langu INTO text.
    it_e071-obj_name =3D text.
    APPEND it_e071.


*  it_e071k-pgmid    =3D 'R3TR'.
*  it_e071k-object   =3D 'TABU'.
*  it_e071k-objname  =3D tabname.
*  it_e071k-mastertype =3D 'TABU'.
*  it_e071k-mastername =3D tabname.
*  it_e071k-sortflag   =3D '2'.
*  it_e071k-tabkey =3D text(anz).
*  it_e071k-as4pos     =3D it_e071-as4pos .
*
*  APPEND it_e071k.

    COMMIT WORK.
    PERFORM tr_send.
    COMMIT WORK.


  ENDIF.

ENDFORM.                    "ersetzen










*&--------------------------------------------------------------------*
*&      Form  tr_send
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM tr_send.
  DATA: we_task LIKE  e070-trkorr.
  DATA: es_request_header TYPE  trwbo_request_header,
        et_task_headers   TYPE  trwbo_request_headers.
  DATA: lt_req            TYPE  trwbo_requests WITH HEADER LINE.
  DATA: lw_obj            LIKE LINE OF lt_req-objects.
  DATA: l_dialog TYPE c.


  l_dialog =3D 'X'.

  IMPORT g_order FROM MEMORY ID g_trnr.
  IF NOT g_order IS INITIAL.


    CALL FUNCTION 'TR_READ_REQUEST_WITH_TASKS'
      EXPORTING
        iv_trkorr                =3D g_order
     IMPORTING
*       ET_REQUEST_HEADERS       =3D
       et_requests              =3D lt_req[]
     EXCEPTIONS
       invalid_input            =3D 1
       OTHERS                   =3D 2
              .
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    LOOP AT lt_req.
      IF l_dialog =3D ''. EXIT. ENDIF.
      LOOP AT lt_req-objects INTO lw_obj WHERE pgmid =3D 'R3TR' AND
object =3D 'TEXT'.
        IF lw_obj-obj_name CS g_name+3.
          CLEAR l_dialog. EXIT.
        ENDIF.
      ENDLOOP.
    ENDLOOP.


  ENDIF.


*
*  CALL FUNCTION 'TR_INSERT_REQUEST_WITH_TASKS'
*    EXPORTING
*      iv_type                 =3D 'C'
*      iv_text                 =3D 'F1 Hilfetexte'
*      iv_owner                =3D sy-uname
*      iv_target               =3D 'CMK'
**   IT_ATTRIBUTES           =3D
**   IT_USERS                =3D
**   IV_TARDEVCL             =3D
**   IV_DEVCLASS             =3D
**   IV_TARLAYER             =3D
*   IMPORTING
*      es_request_header       =3D es_request_header
*      et_task_headers         =3D et_task_headers
*   EXCEPTIONS
*     insert_failed           =3D 1
*     enqueue_failed          =3D 2
*     OTHERS                  =3D 3
*            .
*  IF sy-subrc <> 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*  ENDIF.



  CALL FUNCTION 'TR_EDIT_CHECK_OBJECTS_KEYS'
   EXPORTING
     wi_order                             =3D es_request_header-trkorr
      wi_with_dialog                       =3D 'R'
*   WI_OBJ_CATEGOGY_MIX                  =3D 'X'
*   WI_SEND_MESSAGE                      =3D 'X'
*   IV_NO_SHOW_OPTION                    =3D ' '
*   IV_NO_STANDARD_EDITOR                =3D ' '
*   IV_EXTERNALPS                        =3D ' '
*   IV_EXTERNALID                        =3D ' '
*   IV_NO_PS                             =3D ' '
*   IV_READ_ACTIVITY_FROM_MEMORY         =3D 'X'
    iv_append_to_order                   =3D ' '
* IMPORTING
*   WE_ORDER                             =3D
*   WE_TASK                              =3D
*   WE_OBJECTS_APPENDABLE                =3D
*   EV_ERRNUM                            =3D
*   EV_OBJECT_UNLOCKED                   =3D
    TABLES
      wt_e071                              =3D it_e071
      wt_e071k                             =3D it_e071k
*   WT_TADIR                             =3D
   EXCEPTIONS
     cancel_edit_append_error_keys        =3D 1
     cancel_edit_append_error_objct       =3D 2
     cancel_edit_append_error_order       =3D 3
     cancel_edit_but_se01                 =3D 4
     cancel_edit_no_header_object         =3D 5
     cancel_edit_no_order_selected        =3D 6
     cancel_edit_repaired_object          =3D 7
     cancel_edit_system_error             =3D 8
     cancel_edit_tadir_missing            =3D 9
     cancel_edit_tadir_update_error       =3D 10
     cancel_edit_unknown_devclass         =3D 11
     cancel_edit_unknown_objecttype       =3D 12
     show_only_closed_system              =3D 13
     show_only_consolidation_level        =3D 14
     show_only_ddic_in_customer_sys       =3D 15
     show_only_delivery_system            =3D 16
     show_only_different_ordertypes       =3D 17
     show_only_different_tasktypes        =3D 18
     show_only_enqueue_failed             =3D 19
     show_only_generated_object           =3D 20
     show_only_ill_lock                   =3D 21
     show_only_lock_enqueue_failed        =3D 22
     show_only_mixed_orders               =3D 23
     show_only_mix_local_transp_obj       =3D 24
     show_only_no_shared_repair           =3D 25
     show_only_object_locked              =3D 26
     show_only_repaired_object            =3D 27
     show_only_show_client                =3D 28
     show_only_tadir_missing              =3D 29
     show_only_unknown_devclass           =3D 30
     cancel_edit_no_check_call            =3D 31
     cancel_edit_category_mixture         =3D 32
     show_only_closed_client              =3D 33
     show_only_closed_ale_object          =3D 34
     show_only_unallowed_superuser        =3D 35
     cancel_edit_custom_obj_at_sap        =3D 36
     cancel_edit_access_denied            =3D 37
     show_only_no_repair_system           =3D 38
     show_only_no_license                 =3D 39
     show_only_central_basis              =3D 40
     show_only_user_after_error           =3D 41
     cancel_edit_user_after_error         =3D 42
     show_only_object_not_patchable       =3D 43
     OTHERS                               =3D 44
            .
  IF sy-subrc <> 0.
*    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.


  IF l_dialog =3D 'X'.
    CALL FUNCTION 'TR_EDIT_CHECK_OBJECTS_KEYS'
      EXPORTING
        wi_order                             =3D es_request_header-trkorr
         wi_with_dialog                       =3D 'X'
*   WI_OBJ_CATEGOGY_MIX                  =3D 'X'
*   WI_SEND_MESSAGE                      =3D 'X'
*   IV_NO_SHOW_OPTION                    =3D ' '
*   IV_NO_STANDARD_EDITOR                =3D ' '
*   IV_EXTERNALPS                        =3D ' '
*   IV_EXTERNALID                        =3D ' '
*   IV_NO_PS                             =3D ' '
*   IV_READ_ACTIVITY_FROM_MEMORY         =3D 'X'
       iv_append_to_order                   =3D ' '
     IMPORTING
       we_order                             =3D g_order
       we_task                              =3D we_task
*   WE_OBJECTS_APPENDABLE                =3D
*   EV_ERRNUM                            =3D
*   EV_OBJECT_UNLOCKED                   =3D
       TABLES
         wt_e071                              =3D it_e071
         wt_e071k                             =3D it_e071k
*   WT_TADIR                             =3D
      EXCEPTIONS
        cancel_edit_append_error_keys        =3D 1
        cancel_edit_append_error_objct       =3D 2
        cancel_edit_append_error_order       =3D 3
        cancel_edit_but_se01                 =3D 4
        cancel_edit_no_header_object         =3D 5
        cancel_edit_no_order_selected        =3D 6
        cancel_edit_repaired_object          =3D 7
        cancel_edit_system_error             =3D 8
        cancel_edit_tadir_missing            =3D 9
        cancel_edit_tadir_update_error       =3D 10
        cancel_edit_unknown_devclass         =3D 11
        cancel_edit_unknown_objecttype       =3D 12
        show_only_closed_system              =3D 13
        show_only_consolidation_level        =3D 14
        show_only_ddic_in_customer_sys       =3D 15
        show_only_delivery_system            =3D 16
        show_only_different_ordertypes       =3D 17
        show_only_different_tasktypes        =3D 18
        show_only_enqueue_failed             =3D 19
        show_only_generated_object           =3D 20
        show_only_ill_lock                   =3D 21
        show_only_lock_enqueue_failed        =3D 22
        show_only_mixed_orders               =3D 23
        show_only_mix_local_transp_obj       =3D 24
        show_only_no_shared_repair           =3D 25
        show_only_object_locked              =3D 26
        show_only_repaired_object            =3D 27
        show_only_show_client                =3D 28
        show_only_tadir_missing              =3D 29
        show_only_unknown_devclass           =3D 30
        cancel_edit_no_check_call            =3D 31
        cancel_edit_category_mixture         =3D 32
        show_only_closed_client              =3D 33
        show_only_closed_ale_object          =3D 34
        show_only_unallowed_superuser        =3D 35
        cancel_edit_custom_obj_at_sap        =3D 36
        cancel_edit_access_denied            =3D 37
        show_only_no_repair_system           =3D 38
        show_only_no_license                 =3D 39
        show_only_central_basis              =3D 40
        show_only_user_after_error           =3D 41
        cancel_edit_user_after_error         =3D 42
        show_only_object_not_patchable       =3D 43
        OTHERS                               =3D 44
               .

    IF sy-subrc <> 0.
*    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

  ENDIF.

  EXPORT g_order TO MEMORY ID g_trnr.

  es_request_header-trkorr =3D g_order.
  LOOP AT it_e071.
    it_e071-trkorr =3D es_request_header-trkorr.
    MODIFY it_e071.
  ENDLOOP.

  LOOP AT it_e071k.
    it_e071k-trkorr =3D es_request_header-trkorr.
    MODIFY it_e071k.
  ENDLOOP.



  CALL FUNCTION 'TR_EDIT_CHECK_OBJECTS_KEYS'
   EXPORTING
     wi_order                             =3D es_request_header-trkorr
      wi_with_dialog                       =3D ' '
*   WI_OBJ_CATEGOGY_MIX                  =3D 'X'
*   WI_SEND_MESSAGE                      =3D 'X'
*   IV_NO_SHOW_OPTION                    =3D ' '
*   IV_NO_STANDARD_EDITOR                =3D ' '
*   IV_EXTERNALPS                        =3D ' '
*   IV_EXTERNALID                        =3D ' '
*   IV_NO_PS                             =3D ' '
*   IV_READ_ACTIVITY_FROM_MEMORY         =3D 'X'
    iv_append_to_order                   =3D ' '
  IMPORTING
    we_order                             =3D g_order
    we_task                              =3D we_task
*   WE_OBJECTS_APPENDABLE                =3D
*   EV_ERRNUM                            =3D
*   EV_OBJECT_UNLOCKED                   =3D
    TABLES
      wt_e071                              =3D it_e071
      wt_e071k                             =3D it_e071k
*   WT_TADIR                             =3D
   EXCEPTIONS
     cancel_edit_append_error_keys        =3D 1
     cancel_edit_append_error_objct       =3D 2
     cancel_edit_append_error_order       =3D 3
     cancel_edit_but_se01                 =3D 4
     cancel_edit_no_header_object         =3D 5
     cancel_edit_no_order_selected        =3D 6
     cancel_edit_repaired_object          =3D 7
     cancel_edit_system_error             =3D 8
     cancel_edit_tadir_missing            =3D 9
     cancel_edit_tadir_update_error       =3D 10
     cancel_edit_unknown_devclass         =3D 11
     cancel_edit_unknown_objecttype       =3D 12
     show_only_closed_system              =3D 13
     show_only_consolidation_level        =3D 14
     show_only_ddic_in_customer_sys       =3D 15
     show_only_delivery_system            =3D 16
     show_only_different_ordertypes       =3D 17
     show_only_different_tasktypes        =3D 18
     show_only_enqueue_failed             =3D 19
     show_only_generated_object           =3D 20
     show_only_ill_lock                   =3D 21
     show_only_lock_enqueue_failed        =3D 22
     show_only_mixed_orders               =3D 23
     show_only_mix_local_transp_obj       =3D 24
     show_only_no_shared_repair           =3D 25
     show_only_object_locked              =3D 26
     show_only_repaired_object            =3D 27
     show_only_show_client                =3D 28
     show_only_tadir_missing              =3D 29
     show_only_unknown_devclass           =3D 30
     cancel_edit_no_check_call            =3D 31
     cancel_edit_category_mixture         =3D 32
     show_only_closed_client              =3D 33
     show_only_closed_ale_object          =3D 34
     show_only_unallowed_superuser        =3D 35
     cancel_edit_custom_obj_at_sap        =3D 36
     cancel_edit_access_denied            =3D 37
     show_only_no_repair_system           =3D 38
     show_only_no_license                 =3D 39
     show_only_central_basis              =3D 40
     show_only_user_after_error           =3D 41
     cancel_edit_user_after_error         =3D 42
     show_only_object_not_patchable       =3D 43
     OTHERS                               =3D 44
            .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.


  REFRESH: it_e071, it_e071k.
  COMMIT WORK.

  CALL FUNCTION 'TR_SORT_AND_COMPRESS_COMM'
    EXPORTING
      iv_trkorr                            =3D es_request_header-trkorr
*   IV_DIALOG                            =3D ' '
* IMPORTING
*   ES_REQUEST                           =3D
   EXCEPTIONS
     trkorr_not_found                     =3D 1
     order_released                       =3D 2
     error_while_modifying_obj_list       =3D 3
     tr_enqueue_failed                    =3D 4
     no_authorization                     =3D 5
     OTHERS                               =3D 6
            .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.


ENDFORM.                    "TRANSPORT_ERSTELLEN








*&--------------------------------------------------------------------*
*&      Form  Kommentar
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM kommentar.

  g_name =3D 'ZK_'.
  g_name+3 =3D object.

  CLEAR stxh.
  SELECT SINGLE * FROM stxh WHERE tdobject =3D 'TEXT' AND
                                  tdname   =3D g_name AND
                                  tdid     =3D 'ZF1'  AND
                                  tdspras  =3D langu.
  IF sy-subrc <> 0.
    g_name(3) =3D 'ZN_'.
    SELECT SINGLE * FROM stxh WHERE tdobject =3D 'TEXT' AND
                                    tdname   =3D g_name AND
                                    tdid     =3D 'ZF1'  AND
                                    tdspras  =3D langu.
  ENDIF.


  IF stxh IS INITIAL.
* Das Objekt mu=DF ganz neu angelegt werden
    REFRESH gt_lines.
    gt_lines2[] =3D gt_lines[].

  ELSE.
* Das Objekt kann direkt ge=E4ndert werden.


    l_id =3D 'ZF1'.
    l_langu =3D langu.
    g_name2 =3D g_name.
    l_object =3D 'TEXT'.

    CALL FUNCTION 'READ_TEXT'
      EXPORTING
*   CLIENT                        =3D SY-MANDT
        id                            =3D l_id
        language                      =3D l_langu
        name                          =3D g_name2
        object                        =3D l_object
*   ARCHIVE_HANDLE                =3D 0
*   LOCAL_CAT                     =3D ' '
* IMPORTING
*   HEADER                        =3D
      TABLES
        lines                         =3D gt_lines2
     EXCEPTIONS
       id                            =3D 1
       language                      =3D 2
       name                          =3D 3
       not_found                     =3D 4
       object                        =3D 5
       reference_check               =3D 6
       wrong_access_to_archive       =3D 7
       OTHERS                        =3D 8
              .
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

  ENDIF.


  IF p_aktiv =3D 'X'.
    g_name(3) =3D 'ZK_'.
  ELSE.
    g_name(3) =3D 'ZN_'.
  ENDIF.
  DESCRIBE TABLE gt_lines2 LINES i.
  l_header-tdobject =3D 'TEXT'.
  l_header-tdname =3D  g_name.
  l_header-tdid =3D    'ZF1'.
  l_header-tdspras =3D langu.
  l_header-tdfuser =3D sy-uname.
  l_header-tdfdate =3D sy-datum.
  l_header-tdftime =3D sy-uzeit.
  l_header-tdluser =3D sy-uname.
  l_header-tdform  =3D 'SYSTEM'.
  l_header-tdlinesize =3D 132.
  l_header-tdtxtlines =3D i.

  CLEAR l_control.
  l_control-changemode =3D 'X'.


  CALL FUNCTION 'EDIT_TEXT'
    EXPORTING
    display             =3D ' '
*   EDITOR_TITLE        =3D ' '
      header              =3D l_header
*   PAGE                =3D ' '
*   WINDOW              =3D ' '
    save                =3D 'X'
    line_editor         =3D ' '
    control             =3D l_control
*   PROGRAM             =3D ' '
*   LOCAL_CAT           =3D ' '
   IMPORTING
     function            =3D l_function
     newheader           =3D l_header2
     RESULT              =3D l_result
   TABLES
      lines               =3D gt_lines2
   EXCEPTIONS
     id                  =3D 1
     language            =3D 2
     linesize            =3D 3
     name                =3D 4
     object              =3D 5
     textformat          =3D 6
     communication       =3D 7
     OTHERS              =3D 8
            .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


  IF l_function =3D 'U' OR l_function =3D 'I'.

***************************************************************
* L=F6schen einer evtl. vorhandenen aktiven bzw. inaktiven Version

    IF p_aktiv =3D 'X'.
      g_name(3) =3D 'ZN_'.
    ELSE.
      g_name(3) =3D 'ZK_'.
    ENDIF.

    l_id =3D 'ZF1'.
    l_langu =3D langu.
    g_name2 =3D g_name.
    l_object =3D 'TEXT'.

    COMMIT WORK AND WAIT.

    CALL FUNCTION 'DELETE_TEXT'
      EXPORTING
*   CLIENT                =3D SY-MANDT
        id                    =3D l_id
        language              =3D l_langu
        name                  =3D g_name2
        object                =3D l_object
        savemode_direct       =3D 'X'
*   TEXTMEMORY_ONLY       =3D ' '
*   LOCAL_CAT             =3D ' '
     EXCEPTIONS
       not_found             =3D 1
       OTHERS                =3D 2
              .
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.



* Transporteintr=E4ge erstellen



    CLEAR: it_e071, it_e071k.
    g_name(3) =3D 'ZN_'.
    CONCATENATE 'TEXT,' g_name ',ZF1,' langu INTO text.

    it_e071-pgmid    =3D 'R3TR'.
    it_e071-object   =3D 'TEXT'.
    it_e071-obj_name =3D text.
    it_e071-objfunc     =3D ' '.
    it_e071-as4pos      =3D it_e071-as4pos + 1.
    APPEND it_e071.

    g_name(3) =3D 'ZK_'.
    CONCATENATE 'TEXT,' g_name ',ZF1,' langu INTO text.
    it_e071-obj_name =3D text.
    APPEND it_e071.


*  it_e071k-pgmid    =3D 'R3TR'.
*  it_e071k-object   =3D 'TABU'.
*  it_e071k-objname  =3D tabname.
*  it_e071k-mastertype =3D 'TABU'.
*  it_e071k-mastername =3D tabname.
*  it_e071k-sortflag   =3D '2'.
*  it_e071k-tabkey =3D text(anz).
*  it_e071k-as4pos     =3D it_e071-as4pos .
*
*  APPEND it_e071k.

    COMMIT WORK.
    PERFORM tr_send.
    COMMIT WORK.


  ENDIF.

ENDFORM.                    "Kommentar



*&--------------------------------------------------------------------*
*&      Form  Feldauswahl
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM objektliste.
  DATA:
          lt_alv_cat  TYPE  slis_t_fieldcat_alv,
          ls_alv_cat  LIKE LINE OF lt_alv_cat.


*DATA: begin of it_flist occurs 0,
*      name    like stxh-TDNAME,
*      tdspras like stxh-tdspras,
*      KA      like stxh-TDHYPHENAT,
*      KI      like stxh-TDHYPHENAT,
*      EA      like stxh-TDHYPHENAT,
*      EI      like stxh-TDHYPHENAT,
*      end of it_flist.


  PERFORM flist_erstellen.

*  DATA: t_fields TYPE STANDARD TABLE OF dynpread WITH HEADER LINE.
*
*  DATA: BEGIN OF l_f OCCURS 0,
*         feld(200) TYPE c,
*         END OF l_f.
*
*  CLEAR t_fields.
*  t_fields-fieldname =3D 'TABELLE'. APPEND t_fields.
*
*  CALL FUNCTION 'DYNP_VALUES_READ'
*    EXPORTING
*      dyname                         =3D sy-repid
*      dynumb                         =3D '1000'
**     TRANSLATE_TO_UPPER             =3D ' '
**     REQUEST                        =3D ' '
**     PERFORM_CONVERSION_EXITS       =3D ' '
**     PERFORM_INPUT_CONVERSION       =3D ' '
**     DETERMINE_LOOP_INDEX           =3D ' '
*    TABLES
*      dynpfields                     =3D t_fields
*   EXCEPTIONS
*     invalid_abapworkarea           =3D 1
*     invalid_dynprofield            =3D 2
*     invalid_dynproname             =3D 3
*     invalid_dynpronummer           =3D 4
*     invalid_request                =3D 5
*     no_fielddescription            =3D 6
*     invalid_parameter              =3D 7
*     undefind_error                 =3D 8
*     double_conversion              =3D 9
*     stepl_not_found                =3D 10
*     OTHERS                         =3D 11
*            .
*  IF sy-subrc <> 0.
*    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
*  ENDIF.
*
*
*  LOOP AT t_fields.
*  ENDLOOP.
*  tab2 =3D t_fields-fieldvalue.
*  PERFORM strukturinfo.
*

  DATA: titel TYPE lvc_title
  VALUE 'Liste der kundeneigenen F1 Hilfetexte'.
  DATA: is_variant     LIKE  disvariant.
  DATA: l_user_command TYPE  slis_formname.
  DATA: it_exits       TYPE slis_t_event_exit WITH HEADER LINE.


  is_variant-report =3D sy-repid.
  is_variant-handle =3D '0001'.
  is_variant-username =3D sy-uname.
  l_user_command =3D 'USER_COMMAND2'.
  it_exits-ucomm =3D '&IC1'.
  it_exits-before =3D ''.
  it_exits-after =3D 'X'.
  APPEND it_exits.


  CLEAR g_layout.
  g_layout-zebra =3D 'X'.
  g_layout-colwidth_optimize =3D 'X'.
*  g_layout-key_hotspot =3D 'X'.
*  g_layout-box_fieldname =3D 'VALEXI'.



** Markierungen setzen!!!
*
*  SPLIT p_fields AT ' ' INTO TABLE l_f.
*  SORT l_f.
*
*  CLEAR g_felder.
*  LOOP AT it_dfies.
*    READ TABLE l_f WITH KEY feld =3D it_dfies-fieldname BINARY SEARCH.
*    IF sy-subrc =3D 0.
*      it_dfies-valexi =3D 'X'.
*    ELSE.
*      it_dfies-valexi =3D ' '.
*    ENDIF.
*    MODIFY it_dfies.
*  ENDLOOP.



  REFRESH: lt_alv_cat, alv_cat .


  alv_cat-fieldname         =3D 'NAME'.
  alv_cat-ref_fieldname     =3D 'TDNAME'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Objektname'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'TDSPRAS'.
  alv_cat-ref_fieldname     =3D 'TDSPRAS'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Sprache'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'KA'.
  alv_cat-ref_fieldname     =3D 'TDHYPHENAT'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Kommentar'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'KI'.
  alv_cat-ref_fieldname     =3D 'TDHYPHENAT'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Kommentar inaktiv'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'EA'.
  alv_cat-ref_fieldname     =3D 'TDHYPHENAT'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Ersetzung'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'EI'.
  alv_cat-ref_fieldname     =3D 'TDHYPHENAT'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Ersetzung inaktiv'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.


  alv_cat-fieldname         =3D 'TDLUSER'.
  alv_cat-ref_fieldname     =3D 'TDLUSER'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Letzter =C4nderer'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'TDLDATE'.
  alv_cat-ref_fieldname     =3D 'TDLDATE'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D '=C4nd.Datum'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'TDLTIME'.
  alv_cat-ref_fieldname     =3D 'TDLTIME'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D '=C4nd.Zeit'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.





  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*   I_INTERFACE_CHECK                 =3D ' '
*   I_BYPASSING_BUFFER                =3D ' '
*   I_BUFFER_ACTIVE                   =3D ' '
      i_callback_program                =3D sy-repid
*   I_CALLBACK_PF_STATUS_SET          =3D ' '
    i_callback_user_command           =3D l_user_command
*   I_CALLBACK_TOP_OF_PAGE            =3D ' '
*   I_CALLBACK_HTML_TOP_OF_PAGE       =3D ' '
*   I_CALLBACK_HTML_END_OF_LIST       =3D ' '
*    i_structure_name                  =3D 'DFIES'
*   I_BACKGROUND_ID                   =3D ' '
      i_grid_title                      =3D titel
*   I_GRID_SETTINGS                   =3D
    is_layout                         =3D g_layout
    it_fieldcat                       =3D alv_cat[]
*      IT_FIELDCAT                       =3D lt_alv_cat
*   IT_EXCLUDING                      =3D
*   IT_SPECIAL_GROUPS                 =3D
*   IT_SORT                           =3D
*   IT_FILTER                         =3D
*   IS_SEL_HIDE                       =3D
*   I_DEFAULT                         =3D 'X'
      i_save                            =3D 'B'
      is_variant                        =3D is_variant
*   IT_EVENTS                         =3D
    it_event_exit                     =3D it_exits[]
*   IS_PRINT                          =3D
*   IS_REPREP_ID                      =3D
*   I_SCREEN_START_COLUMN             =3D 0
*   I_SCREEN_START_LINE               =3D 0
*   I_SCREEN_END_COLUMN               =3D 0
*   I_SCREEN_END_LINE                 =3D 0
*   IT_ALV_GRAPHICS                   =3D
*   IT_HYPERLINK                      =3D
*   IT_ADD_FIELDCAT                   =3D
*   IT_EXCEPT_QINFO                   =3D
*   I_HTML_HEIGHT_TOP                 =3D
*   I_HTML_HEIGHT_END                 =3D
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =3D
*   ES_EXIT_CAUSED_BY_USER            =3D
    TABLES
      t_outtab                          =3D it_flist
   EXCEPTIONS
     program_error                     =3D 1
     OTHERS                            =3D 2
            .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.


* Neue Markierungen hinzuf=FCgen

* Markierungen setzen!!!

* clear p_fields.
*  LOOP AT it_dfies WHERE valexi =3D 'X'.
*      CONCATENATE p_fields it_dfies-fieldname INTO p_fields
*       SEPARATED BY ' '.
*  ENDLOOP.


ENDFORM.                    "ALV_Qlist




*&--------------------------------------------------------------------*
*&      Form  user_command
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->R_UCOMM    text
*      -->RS_SELFIELDtext
*---------------------------------------------------------------------*
FORM user_command2  USING r_ucomm LIKE sy-ucomm
                                   rs_selfield TYPE slis_selfield.

  DATA: BEGIN OF l_f OCCURS 0,
        feld(200) TYPE c,
        END OF l_f.

  DATA: i TYPE i.
  DESCRIBE TABLE it_flist LINES i.

  IF r_ucomm =3D '&IC1'.  "Doppelklick auf eine Zeile
    IF rs_selfield-tabindex <> 0 AND i >=3D rs_selfield-tabindex.

      READ TABLE it_flist INDEX rs_selfield-tabindex.

      object =3D it_flist-name.
      langu  =3D it_flist-tdspras.

      SET SCREEN 0.
      LEAVE SCREEN.
*      PERFORM detaildatenanzeige USING it_ausg-ast_guid.


    ENDIF.
  ENDIF.

ENDFORM.                    "user_command


*&--------------------------------------------------------------------*
*&      Form  textliste
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM textliste.
  PERFORM flist_erstellen.

  REFRESH it_flist2.

  DATA: l_text(90).

  LOOP AT it_flist.

    CLEAR it_flist2.
    it_flist2 =3D it_flist.


    IF it_flist-ea =3D 'X' OR it_flist-ei =3D 'X'.
      APPEND it_flist2.
      APPEND it_flist2.
      CONCATENATE 'SAP Standardhilfe f=FCr Objekt: ' it_flist-name ' ( '
it_flist-tdspras ' ) ' INTO it_flist2-tdline SEPARATED BY ' '.
      APPEND it_flist2.
      CLEAR it_flist2-tdformat.
      CLEAR it_flist2-tdline.
      APPEND it_flist2.
      APPEND it_flist2.

*    FORMAT COLOR 1 INTENSIFIED ON.
*    WRITE: / 'SAP Standardhilfe f=FCr Objekt: ', it_flist-name,
it_flist-tdspras.
*    FORMAT RESET.


      l_text =3D 'ZO_'.
      l_text+3 =3D it_flist-name.
      PERFORM text_ausgabe USING l_text.

    ENDIF.


*    SKIP 2.
*    ULINE.
*    SKIP.
*    FORMAT COLOR 1 INTENSIFIED ON.
    CLEAR it_flist2-tdformat.
    CLEAR it_flist2-tdline.
    APPEND it_flist2.
    APPEND it_flist2.

    CASE it_flist-name2(3).
*      WHEN 'ZA_'.  WRITE: / 'Ersetzung der Hilfe : ', it_flist-name,
it_flist-tdspras.
*      WHEN 'ZI_'.  WRITE: / 'Ersetzung der Hilfe (inaktiv): ',
it_flist-name, it_flist-tdspras.
*      WHEN 'ZK_'.  WRITE: / 'Kommentar: ', it_flist-name,
it_flist-tdspras.
*      WHEN 'ZN_'.  WRITE: / 'Kommentar (inaktiv): ', it_flist-name,
it_flist-tdspras.
      WHEN 'ZA_'. CONCATENATE 'Ersetzung der Hilfe : '  it_flist-name
'(' it_flist-tdspras ')'  INTO it_flist2-tdline SEPARATED BY ' '.
APPEND it_flist2.
      WHEN 'ZI_'. CONCATENATE 'Ersetzung der Hilfe (inaktiv): '
it_flist-name '(' it_flist-tdspras ')'  INTO it_flist2-tdline SEPARATED
BY ' '. APPEND it_flist2.
      WHEN 'ZK_'. CONCATENATE 'Kommentar: '  it_flist-name '('
it_flist-tdspras ')'  INTO it_flist2-tdline SEPARATED BY ' '. APPEND
it_flist2.
      WHEN 'ZN_'. CONCATENATE 'Kommentar (inaktiv): '  it_flist-name
'(' it_flist-tdspras ')'  INTO it_flist2-tdline SEPARATED BY ' '.
APPEND it_flist2.

      WHEN OTHERS.
    ENDCASE.
*    FORMAT RESET.
    CLEAR it_flist2-tdformat.
    CLEAR it_flist2-tdline.
    APPEND it_flist2.
    APPEND it_flist2.

    PERFORM text_ausgabe USING it_flist-name2.

*    SKIP 2.
*    ULINE.
*    SKIP.

    IF NOT it_flist-name3 IS INITIAL.

      CLEAR it_flist2-tdformat.
      CLEAR it_flist2-tdline.
      APPEND it_flist2.
      APPEND it_flist2.

      CASE it_flist-name3(3).
*      WHEN 'ZA_'.  WRITE: / 'Ersetzung der Hilfe : ', it_flist-name,
it_flist-tdspras.
*      WHEN 'ZI_'.  WRITE: / 'Ersetzung der Hilfe (inaktiv): ',
it_flist-name, it_flist-tdspras.
*      WHEN 'ZK_'.  WRITE: / 'Kommentar: ', it_flist-name,
it_flist-tdspras.
*      WHEN 'ZN_'.  WRITE: / 'Kommentar (inaktiv): ', it_flist-name,
it_flist-tdspras.
        WHEN 'ZA_'. CONCATENATE 'Ersetzung der Hilfe : '  it_flist-name
'(' it_flist-tdspras ')'  INTO it_flist2-tdline SEPARATED BY ' '.
APPEND it_flist2.
        WHEN 'ZI_'. CONCATENATE 'Ersetzung der Hilfe (inaktiv): '
it_flist-name '(' it_flist-tdspras ')'  INTO it_flist2-tdline SEPARATED
BY ' '. APPEND it_flist2.
        WHEN 'ZK_'. CONCATENATE 'Kommentar: '  it_flist-name '('
it_flist-tdspras ')'  INTO it_flist2-tdline SEPARATED BY ' '. APPEND
it_flist2.
        WHEN 'ZN_'. CONCATENATE 'Kommentar (inaktiv): '  it_flist-name
'(' it_flist-tdspras ')'  INTO it_flist2-tdline SEPARATED BY ' '.
APPEND it_flist2.

        WHEN OTHERS.
      ENDCASE.
      CLEAR it_flist2-tdformat.
      CLEAR it_flist2-tdline.
      APPEND it_flist2.
      APPEND it_flist2.


      PERFORM text_ausgabe USING it_flist-name3.

      CLEAR it_flist2-tdformat.
      CLEAR it_flist2-tdline.

    ENDIF.




  ENDLOOP.



ENDFORM.                    "textliste





*&--------------------------------------------------------------------*
*&      Form  flist_erstellen
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM flist_erstellen.
  DATA: last_flist LIKE it_flist.
  DATA: l_tabix LIKE sy-tabix.

  REFRESH it_flist.
  SELECT * FROM stxh WHERE tdobject =3D 'TEXT' AND tdid =3D 'ZF1'.
    CLEAR it_flist.
    it_flist-name =3D stxh-tdname+3.
    it_flist-name2 =3D stxh-tdname.
    it_flist-tdspras =3D stxh-tdspras.
    it_flist-tdluser =3D stxh-tdluser.
    it_flist-tdldate =3D stxh-tdldate.
    it_flist-tdltime =3D stxh-tdltime.
    CASE stxh-tdname(3).
      WHEN 'ZA_'. it_flist-ea =3D 'X'. APPEND it_flist.
      WHEN 'ZI_'. it_flist-ei =3D 'X'. APPEND it_flist.
      WHEN 'ZK_'. it_flist-ka =3D 'X'. APPEND it_flist.
      WHEN 'ZN_'. it_flist-ki =3D 'X'. APPEND it_flist.
      WHEN OTHERS.
    ENDCASE.
  ENDSELECT.


  SORT it_flist BY name ea ei.
  CLEAR last_flist.
  LOOP AT it_flist.
    IF last_flist-name =3D it_flist-name.
      IF last_flist-ka =3D 'X'. it_flist-ka =3D 'X'. it_flist-name3 =3D
last_flist-name2. ENDIF.
      IF last_flist-ki =3D 'X'. it_flist-ki =3D 'X'. it_flist-name3 =3D
last_flist-name2. ENDIF.
      IF last_flist-ea =3D 'X'. it_flist-ea =3D 'X'. it_flist-name3 =3D
last_flist-name2. ENDIF.
      IF last_flist-ei =3D 'X'. it_flist-ei =3D 'X'. it_flist-name3 =3D
last_flist-name2. ENDIF.
      MODIFY it_flist.
      l_tabix =3D sy-tabix - 1.
      DELETE it_flist INDEX l_tabix.
    ENDIF.

    last_flist =3D it_flist.
  ENDLOOP.


ENDFORM.                    "flist_erstellen



*&--------------------------------------------------------------------*
*&      Form  text_ausgabe
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->L_TEXT     text
*---------------------------------------------------------------------*
FORM text_ausgabe USING l_text.


  l_id =3D 'ZF1'.
  l_langu =3D it_flist-tdspras.
  g_name2 =3D l_text.
  l_object =3D 'TEXT'.

  REFRESH gt_lines2.

  CALL FUNCTION 'READ_TEXT'
    EXPORTING
*   CLIENT                        =3D SY-MANDT
      id                            =3D l_id
      language                      =3D l_langu
      name                          =3D g_name2
      object                        =3D l_object
*   ARCHIVE_HANDLE                =3D 0
*   LOCAL_CAT                     =3D ' '
* IMPORTING
*   HEADER                        =3D
    TABLES
      lines                         =3D gt_lines2
   EXCEPTIONS
     id                            =3D 1
     language                      =3D 2
     name                          =3D 3
     not_found                     =3D 4
     object                        =3D 5
     reference_check               =3D 6
     wrong_access_to_archive       =3D 7
     OTHERS                        =3D 8
            .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


  LOOP AT gt_lines2.
    it_flist2-valexi =3D 'X'.
    MOVE-CORRESPONDING gt_lines2 TO it_flist2.
    APPEND it_flist2.
  ENDLOOP.
  it_flist2-valexi =3D ''.

ENDFORM.                    "text_ausgabe




*&--------------------------------------------------------------------*
*&      Form  Feldauswahl
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM ausgabe_textliste.
  DATA:
          lt_alv_cat  TYPE  slis_t_fieldcat_alv,
          ls_alv_cat  LIKE LINE OF lt_alv_cat.


  DATA: titel TYPE lvc_title
  VALUE 'Liste der kundeneigenen F1 Hilfetexte'.
  DATA: is_variant     LIKE  disvariant.
  DATA: l_user_command TYPE  slis_formname.
  DATA: it_exits       TYPE slis_t_event_exit WITH HEADER LINE.


  is_variant-report =3D sy-repid.
  is_variant-handle =3D '0001'.
  is_variant-username =3D sy-uname.
  l_user_command =3D 'USER_COMMAND2'.
  it_exits-ucomm =3D '&IC1'.
  it_exits-before =3D ''.
  it_exits-after =3D 'X'.
  APPEND it_exits.


  CLEAR g_layout.
*  g_layout-zebra =3D 'X'.
  g_layout-colwidth_optimize =3D 'X'.
*  g_layout-no_uline_hs =3D 'X'.
*  g_layout-no_unit_splitting =3D 'X'.
*  g_layout-key_hotspot =3D 'X'.
  g_layout-box_fieldname =3D 'VALEXI'.



** Markierungen setzen!!!
*
*  SPLIT p_fields AT ' ' INTO TABLE l_f.
*  SORT l_f.
*
*  CLEAR g_felder.
*  LOOP AT it_dfies.
*    READ TABLE l_f WITH KEY feld =3D it_dfies-fieldname BINARY SEARCH.
*    IF sy-subrc =3D 0.
*      it_dfies-valexi =3D 'X'.
*    ELSE.
*      it_dfies-valexi =3D ' '.
*    ENDIF.
*    MODIFY it_dfies.
*  ENDLOOP.



  REFRESH: lt_alv_cat, alv_cat .



  alv_cat-fieldname         =3D 'TDFORMAT'.
  alv_cat-ref_fieldname     =3D 'TDFORMAT'.
  alv_cat-ref_tabname       =3D 'TLINE'.
  alv_cat-seltext_l         =3D 'Format'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'TDLINE'.
  alv_cat-ref_fieldname     =3D 'TDLINE'.
  alv_cat-ref_tabname       =3D 'TLINE'.
  alv_cat-seltext_l         =3D 'Zeile'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.




  alv_cat-fieldname         =3D 'NAME'.
  alv_cat-ref_fieldname     =3D 'TDNAME'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Objektname'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'TDSPRAS'.
  alv_cat-ref_fieldname     =3D 'TDSPRAS'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Sprache'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'KA'.
  alv_cat-ref_fieldname     =3D 'TDHYPHENAT'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Kommentar'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'KI'.
  alv_cat-ref_fieldname     =3D 'TDHYPHENAT'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Kommentar inaktiv'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'EA'.
  alv_cat-ref_fieldname     =3D 'TDHYPHENAT'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Ersetzung'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'EI'.
  alv_cat-ref_fieldname     =3D 'TDHYPHENAT'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Ersetzung inaktiv'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.


  alv_cat-fieldname         =3D 'TDLUSER'.
  alv_cat-ref_fieldname     =3D 'TDLUSER'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D 'Letzter =C4nderer'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'TDLDATE'.
  alv_cat-ref_fieldname     =3D 'TDLDATE'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D '=C4nd.Datum'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.

  alv_cat-fieldname         =3D 'TDLTIME'.
  alv_cat-ref_fieldname     =3D 'TDLTIME'.
  alv_cat-ref_tabname       =3D 'STXH'.
  alv_cat-seltext_l         =3D '=C4nd.Zeit'.
  alv_cat-ddictxt           =3D 'L'.
  alv_cat-seltext_m         =3D alv_cat-seltext_l.
  alv_cat-seltext_s         =3D alv_cat-seltext_l.
  alv_cat-text_fieldname    =3D alv_cat-seltext_l.
  alv_cat-reptext_ddic      =3D alv_cat-seltext_l.
  APPEND alv_cat.





  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*   I_INTERFACE_CHECK                 =3D ' '
*   I_BYPASSING_BUFFER                =3D ' '
*   I_BUFFER_ACTIVE                   =3D ' '
      i_callback_program                =3D sy-repid
*   I_CALLBACK_PF_STATUS_SET          =3D ' '
    i_callback_user_command           =3D l_user_command
*   I_CALLBACK_TOP_OF_PAGE            =3D ' '
*   I_CALLBACK_HTML_TOP_OF_PAGE       =3D ' '
*   I_CALLBACK_HTML_END_OF_LIST       =3D ' '
*    i_structure_name                  =3D 'DFIES'
*   I_BACKGROUND_ID                   =3D ' '
      i_grid_title                      =3D titel
*   I_GRID_SETTINGS                   =3D
    is_layout                         =3D g_layout
    it_fieldcat                       =3D alv_cat[]
*      IT_FIELDCAT                       =3D lt_alv_cat
*   IT_EXCLUDING                      =3D
*   IT_SPECIAL_GROUPS                 =3D
*   IT_SORT                           =3D
*   IT_FILTER                         =3D
*   IS_SEL_HIDE                       =3D
*   I_DEFAULT                         =3D 'X'
      i_save                            =3D 'B'
      is_variant                        =3D is_variant
*   IT_EVENTS                         =3D
    it_event_exit                     =3D it_exits[]
*   IS_PRINT                          =3D
*   IS_REPREP_ID                      =3D
*   I_SCREEN_START_COLUMN             =3D 0
*   I_SCREEN_START_LINE               =3D 0
*   I_SCREEN_END_COLUMN               =3D 0
*   I_SCREEN_END_LINE                 =3D 0
*   IT_ALV_GRAPHICS                   =3D
*   IT_HYPERLINK                      =3D
*   IT_ADD_FIELDCAT                   =3D
*   IT_EXCEPT_QINFO                   =3D
*   I_HTML_HEIGHT_TOP                 =3D
*   I_HTML_HEIGHT_END                 =3D
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =3D
*   ES_EXIT_CAUSED_BY_USER            =3D
    TABLES
      t_outtab                          =3D it_flist2
   EXCEPTIONS
     program_error                     =3D 1
     OTHERS                            =3D 2
            .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.


* Neue Markierungen hinzuf=FCgen

* Markierungen setzen!!!

* clear p_fields.
*  LOOP AT it_dfies WHERE valexi =3D 'X'.
*      CONCATENATE p_fields it_dfies-fieldname INTO p_fields
*       SEPARATED BY ' '.
*  ENDLOOP.


ENDFORM.                    "Ausgabe_textliste



*&--------------------------------------------------------------------*
*&      Form  relkon
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM relkon.
  DATA: l2_id     LIKE  dokhl-id,
        l2_langu  LIKE  sy-langu,
        l2_object LIKE  dokhl-object,
        l2_typ    LIKE  dokhl-typ.

  DATA: l_text(200).

  PERFORM flist_erstellen.

  REFRESH it_flist2.

  LOOP AT it_flist.

    l_text =3D 'ZO_'.
    l_text+3 =3D it_flist-name.

    SELECT SINGLE * FROM stxh WHERE tdobject =3D 'TEXT' AND
                                    tdname   =3D l_text AND
                                    tdid     =3D 'ZF1'  AND
                                    tdspras  =3D it_flist-tdspras.
    IF sy-subrc =3D 0.

      l2_id     =3D 'DE'.
      l2_langu  =3D it_flist-tdspras.
      l2_object =3D l_text+3.
      l2_typ    =3D ''.


      REFRESH gt_lines.
      REFRESH gt_lines2.


      CALL FUNCTION 'DOCU_GET'
           EXPORTING
*           extend_except =3D 'X'                           "Hirche
                id       =3D l2_id
                langu    =3D l2_langu
                object   =3D l2_object
                typ      =3D l2_typ
*       IMPORTING
*            DOKSTATE =3D DOKSTATE
*            HEAD     =3D HEAD
           TABLES
                line     =3D gt_lines
           EXCEPTIONS
                ret_code =3D 01
                OTHERS   =3D 99.
      IF l2_langu NE 'E' AND sy-subrc EQ 1.
        l2_langu =3D 'E'.
        CALL FUNCTION 'DOCU_GET'
             EXPORTING
                  id       =3D l2_id
                  langu    =3D l2_langu
                  object   =3D l2_object
                  typ      =3D l2_typ
*         IMPORTING
*              DOKSTATE =3D DOKSTATE
*              HEAD     =3D HEAD
             TABLES
                  line     =3D gt_lines
             EXCEPTIONS
                  ret_code =3D 01
                  OTHERS   =3D 99.
      ENDIF.

      l_id =3D 'ZF1'.
      l_langu =3D langu.
      g_name2 =3D l_text.
      l_object =3D 'TEXT'.

      CALL FUNCTION 'READ_TEXT'
        EXPORTING
*   CLIENT                        =3D SY-MANDT
          id                            =3D l_id
          language                      =3D l_langu
          name                          =3D g_name2
          object                        =3D l_object
*   ARCHIVE_HANDLE                =3D 0
*   LOCAL_CAT                     =3D ' '
* IMPORTING
*   HEADER                        =3D
        TABLES
          lines                         =3D gt_lines2
       EXCEPTIONS
         id                            =3D 1
         language                      =3D 2
         name                          =3D 3
         not_found                     =3D 4
         object                        =3D 5
         reference_check               =3D 6
         wrong_access_to_archive       =3D 7
         OTHERS                        =3D 8
                .
      IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.



      IF gt_lines[] <> gt_lines2[].

        CLEAR it_flist2.
        it_flist2 =3D it_flist.

        APPEND it_flist2.
        APPEND it_flist2.
        CONCATENATE 'SAP Standardhilfe f=FCr Objekt (nach
Releasewechsel): ' it_flist-name ' ( ' it_flist-tdspras ' ) ' INTO
it_flist2-tdline SEPARATED BY ' '.
        APPEND it_flist2.
        CLEAR it_flist2-tdformat.
        CLEAR it_flist2-tdline.
        APPEND it_flist2.
        LOOP AT gt_lines.
          it_flist2-valexi =3D 'X'.
          MOVE-CORRESPONDING gt_lines TO it_flist2.
          APPEND it_flist2.
        ENDLOOP.
        it_flist2-valexi =3D ''.



        CLEAR it_flist2.
        it_flist2 =3D it_flist.

        APPEND it_flist2.
        CONCATENATE 'SAP Standardhilfe f=FCr Objekt (vor
Releasewechsel): ' it_flist-name ' ( ' it_flist-tdspras ' ) ' INTO
it_flist2-tdline SEPARATED BY ' '.
        APPEND it_flist2.
        CLEAR it_flist2-tdformat.
        CLEAR it_flist2-tdline.
        APPEND it_flist2.
        LOOP AT gt_lines2.
          it_flist2-valexi =3D 'X'.
          MOVE-CORRESPONDING gt_lines2 TO it_flist2.
          APPEND it_flist2.
        ENDLOOP.
        it_flist2-valexi =3D ''.

      ENDIF.
    ENDIF.

  ENDLOOP.

ENDFORM.                    "relkon


home help back first fref pref prev next nref lref last post