[55728] in SAPr3-news
=?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