ZLOGON_SCREEN_INFO

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
12 Beiträge • Seite 1 von 1
12 Beiträge Seite 1 von 1

ZLOGON_SCREEN_INFO

Beitrag von Bitfummler (Specialist / 111 / 4 / 3 ) »
hallo,

wir haben für unsere 3-systemlandschaft den allgemeinen text zlogin_sceen_info in jedem system temporaer angelegt, da jedes system individuelle texte im anmeldebild hat und somit der transport etwas kompliziert waere. jetzt habe ich von meiner basis erfahren, dass die revision bemaengelt, dass im prod-system das system aus diesem grunde zur entwicklung aufgemacht werden muss, wenn ein neuer text gepflegt werden sollte.

ich dachte mir jedoch, dass durch einen einfachen include eines standardtextes dieses problem behoben sein sollte... ich habe also mit so10 einen standardtext angelegt. beim einbinden des standardtextes jedoch in der se61 bekomme ich folgenden fehler:

Der Text ZLOGON_SCREEN_INFO_E10 Id ST Sprache DE kann nicht aufgelöst werden
Meldungsnr. TD738

Diagnose
Sie wollen einen Text einbinden bzw. einbinden und auflösen.

Systemaktivitäten
Wenn Sie den Text einbinden u. auflösen wollen, erhalten Sie eine Fehlernachricht und Sie müssen eine Neueingabe der Parameterwerte vornehmen bzw. überprüfen warum das Auflösen nicht erfolgreich war.

Wenn Sie lediglich ein INCLUDE-Kommando einbinden wollen, erhalten Sie eine Warnung. Nach dem Fortsetzen der Verarbeitung sollten Sie aber ergründen warum das Auflösen nicht erfolgreich durchgeführt werden konnte.

Vorgehen
Überprüfen Sie warum der angegebene Text nicht aufgelöst werden konnte. Es kommen dabei folgende Ursachen in Betracht:

Der Text ist nicht vorhanden
Sie haben keine Anzeigeberechtigung für den Text
Sie wollen den gleichen Text einbinden (rekursives Einbinden)


hat jemand ne idee, was ich hier machen kann? :?:

gruss
bitfummler

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


Beitrag von ewx (Top Expert / 4833 / 306 / 636 ) »
Funktioniert's eventuell mit einer CASE-Anweisung?

Beitrag von Bitfummler (Specialist / 111 / 4 / 3 ) »
hallo enno,

ja waere ne moeglichkeit. ich wollte aber transporte zum einen vermeiden und zum anderen wuesste ich gerne, warum die include-aufloesung hier nicht funktioniert... :roll:

gruss
bitfummler

Beitrag von ewx (Top Expert / 4833 / 306 / 636 ) »
Hi Bitfummler!
Die Includeauflösung muss
1. immer programmiert werden (ist zwar nur ein Funktionsbausteinaufruf, muss aber halt gemacht werden...)
2. wird die Includeauflösung bei manchen Textobjekten (unter anderem auch der "Allgemeine Text" in der SE61) unterbunden. Kein Ahnung, was das für Vorteile/ Hintergründe hat.
Gruß,

Beitrag von Bitfummler (Specialist / 111 / 4 / 3 ) »
hallo enno,

vielen dank für die antwort. ich habe jedoch versucht, in dem allgemeinen text befehle wie if / endif einzugeben. diese texte werden im logondynpro ausgegeben... kommandos im allgemeinen scheint se61 nicht verarbeiten zu wollen.

vielleicht haste doch noch ne moeglichkeit..

gruss
bitfummler

Beitrag von ewx (Top Expert / 4833 / 306 / 636 ) »
Also ich würd mal ne Meldung bei der SAP aufmachen und anmeckern, dass einerseits Includes/ Befehle nicht unterstützt werden, andererseits aber eine Systemöffnung zur Änderung des Textes im Prod-System notwendig ist und dass eure Revision das nicht so toll findet. Sollen die sich ruhig was einfallen lassen. Und wenn's nur eine gute Ausrede ist... ;-)

Beitrag von Bitfummler (Specialist / 111 / 4 / 3 ) »
ok. genau das wollte ich auch jetzt machen. wenn ich ne loesung habe, werde ich hier informieren.

solange danke fuer die schnellen tips und antworten
bitfummler

Beitrag von Bitfummler (Specialist / 111 / 4 / 3 ) »
hallo alle,

falls es jemanden interessieren sollte. die sap verwies mich wieder auf den hinweis 205487. aber die dort angegebene loesung finde ich zu umstaendlich.

deswegen habe ich folgendes gemacht:

so10 anlage von 3 standardtexten:
- e00 (entwicklungssystem) ZLOGIN_SCREEN_INFO_E00
- t00 (testsystem) ZLOGIN_SCREEN_INFO_T00
- p00 (produktivsystem) ZLOGIN_SCREEN_INFO_P00

se37 anlage eines rfc-faehigen fubas mit den gleichen parametern, wie der fuba DOKU_UPDATE und aufruf desselbigen in dem rfc-fuba.

se38 neuer report:

Code: Alles auswählen.

report  zlogin_screen_info.

* externe Tabellen
* ----------------
tables: rfcdes, thead.

* Selektionsauswahl
*------------------
parameters: p_dest like rfcdes-rfcdest default 'E00',
            p_name like thead-tdname   
                   default 'ZLOGIN_SCREEN_INFO_E00'.

* interne Tabellen
* ----------------
data: gs_textline type tline,
      gt_textline type standard table of tline,
      gt_doculine  type standard table of tline,
      gs_thead    type thead.

* Constants
* ---------
constants: gc_name like thead-tdname value 'ZLOGIN_SCREEN_INFO'.

* Workbereich
* -----------
data: gv_dokstate type dokstate,
      gv_doku_typ type doku_typ,
      gv_dokvers  type dokvers.

* S T E U E R L E I S T E
* -----------------------
start-of-selection.

  perform check.
  perform read_text.
  perform write_doku_rfc.


* P R O G R A M M E N D E
* -----------------------
end-of-selection.
  message i000(zs) with 
              'SE61 ZLOGIN_SCREEN_INFO wurde in ' 
              p_dest
              'upgedatet. Bitte prüfen!'.

*&------------------------------------------------*
*&      Form  check
*&------------------------------------------------*
*       text
*-------------------------------------------------*
form check.

  case p_dest.
    when 'E00'.
    when 'T00'.
    when 'P00'.
    when others.
      message e000(zs) with 
       'Ungültige RFC-Verbindung (E00/T00/P00.'.
  endcase.

  case p_name.
    when 'ZLOGIN_SCREEN_INFO_E00'.
    when 'ZLOGIN_SCREEN_INFO_T00'.
    when 'ZLOGIN_SCREEN_INFO_P00'.
    when others.
      message e000(zs) with 
          'Ungültiger Standardtext.'.
  endcase.

endform.                    "check

*&------------------------------------------------*
*&      Form  read_text
*&------------------------------------------------*
*       Lesen Standardtext
*-------------------------------------------------*
form read_text.

  clear: gs_textline, gt_textline[].
  clear gs_thead.
  call function 'READ_TEXT'
    exporting
      client                  = sy-mandt
      id                      = 'ST'
      language                = sy-langu
      name                    = p_name
      object                  = 'TEXT'
      archive_handle          = 0
      local_cat               = ' '
    importing
      header                  = gs_thead
    tables
      lines                   = gt_textline
    exceptions
      id                      = 1
      language                = 2
      name                    = 3
      not_found               = 4
      object                  = 5
      reference_check         = 6
      wrong_access_to_archive = 7
      others                  = 8.

  if sy-subrc <> 0.
    message e000(zs) with 'text nicht gefunden'.
  endif.

endform.                    "read_text

*&-------------------------------------------------*
*&      Form  write_doku_rfc
*&-------------------------------------------------*
*       text
*--------------------------------------------------*
form write_doku_rfc.

* muss für fuba mitgegeben werde, wird hier aber nicht gebraucht
  clear: gt_doculine[].

  clear: gv_dokstate, gv_doku_typ.

* Ermitteln Kopfdaten des Dokutextes
  call function 'DOCU_GET'
    exporting
*     EXTEND_EXCEPT                = ' '
      id                           = 'TX'
      langu                        = sy-langu
      object                       = 'ZLOGIN_SCREEN_INFO'
*     TYP                          = 'E'
*     VERSION                      = 0
      version_active_or_last       = 'L'
*     PRINT_PARAM_GET              = 'X'
    importing
      dokstate                     = gv_dokstate
*     DOKTITLE                     =
      head                         = gs_thead
      doktyp                       = gv_doku_typ
    tables
      line                         = gt_doculine
    exceptions
      no_docu_on_screen            = 1
      no_docu_self_def             = 2
      no_docu_temp                 = 3
      ret_code                     = 4
      others                       = 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.

* Update Dokutext
  gv_dokvers = gs_thead-tdversion.
  call function 'Z_S_DOKU_UPDATE_RFC' 
          destination p_dest
    exporting
*     ACTCLASS            = ' '
      head                = gs_thead
*     NO_MASTERLANG       = ' '
      state               = gv_dokstate
      typ                 = gv_doku_typ
      version             = gv_dokvers
    tables
      line                = gt_textline.

endform.                    "write_doku_rfc
danke nochmal fuer's interesse
bitfummler

Re: ZLOGON_SCREEN_INFO

Beitrag von ABAP_84 (ForumUser / 4 / 1 / 0 ) »
Hallo,
Wie ist die folgende Aussage umzusetzen?

"se37 anlage eines rfc-faehigen fubas mit den gleichen parametern, wie der fuba DOKU_UPDATE und aufruf desselbigen in dem rfc-fuba."

Kann ich eine kleine Anleitung haben?
Gruß

Re: ZLOGON_SCREEN_INFO

Beitrag von Bitfummler (Specialist / 111 / 4 / 3 ) »
hallo abap_84,

hab's mittlerweile so gelöst:
************************************************************************
* ZSGL_UPD_ZLOGIN_SCREEN_INFO
* Update Allgemeinen Text ZLOGIN_SCREEN_INFO für Logon-Dynpro per RFC
* ----------------------------------------------------------------------
* ====> Dieses Programm existiert nur im E01. Alle SAP-Logonbilder
* werden von hier aus per RFC gepflegt. Hierfür muss der
* Funktionsbaustein Z_S_DOCU_UPDATE_RFC in alle Systeme importiert
* werden. Die gültigen Systeme werden in der Tabelle ZSZLOGIN
* gepflegt. Die Standardtexte als ZLOGIN_SCREEN_INIT_<sysid>
* in der Transaktion SO10.
* ----------------------------------------------------------------------
*
* Anfragemeldung an SAP vom 04.11.2008 923896/2008
*
* Sehr geehrte Damen und Herren,
*
* wir haben für unsere 3-Systemlandschaft den allgemeinen Text mit SE61 ZLOGON_SCREEN_INFO
* in jedem System lokal angelegt, da jedes System individuelle Texte im Anmeldebild hat und
* somit der Transport etwas kompliziert wäre. Jetzt habe ich von meiner Basis erfahren,
* dass die Revision bemängelt, dass im Produktivsystem aus diesem Grunde zur Entwicklung
* aufgemacht werden muss, wenn ein neuer Text gepflegt werden soll.
*
* Ich dachte mir jedoch, dass durch einen einfachen Include eines Standardtextes dieses
* Problem behoben sein sollte. Ich habe also mit So10 einen Standardtext angelegt.
* Beim Einbinden des Standardtextes jedoch in der SE61 bekomme ich folgenden Fehler:
*
* ---------------------------------------------------------------------
* Der Text ZLOGON_SCREEN_INFO_E10 Id ST Sprache DE kann nicht aufgelöst werden
* Meldungsnr. TD738
*
* Diagnose
* Sie wollen einen Text einbinden bzw. einbinden und auflösen.
*
* Systemaktivitäten
* Wenn Sie den Text einbinden u. auflösen wollen, erhalten Sie eine Fehlernachricht
* und Sie müssen eine Neueingabe der Parameterwerte vornehmen bzw. überprüfen warum das
* Auflösen nicht erfolgreich war.
*
* Wenn Sie lediglich ein INCLUDE-Kommando einbinden wollen, erhalten Sie eine Warnung.
* Nach dem Fortsetzen der Verarbeitung sollten Sie aber ergründen warum das Auflösen
* nicht erfolgreich durchgeführt werden konnte.
*
* Vorgehen
* Überprüfen Sie warum der angegebene Text nicht aufgelöst werden konnte. Es kommen dabei
* folgende Ursachen in Betracht:
*
* Der Text ist nicht vorhanden
* Sie haben keine Anzeigeberechtigung für den Text
* Sie wollen den gleichen Text einbinden (rekursives Einbinden)
*
* ------------------------------------------------------------------------
*
* Daraufhin habe ich versucht, durch IF-Abfragen das System zu steuern und den entsprechenden
* Text anzugeben. Wir müssten dann zwar wieder transportieren, aber die Revision wäre zufrieden.
* Das Problem ist, dass im SAP-Logondynpro diese Befehle mit ausgegeben werden.
*
* Was können wir tun, damit wir hier revisionssicher werden können?
*
* Vielen Dank für Ihre Hilfe
*
*
**************************************************************************************************
* SAP-Antwort:
* 06.11.2008 - 13:30:42 CET - Antwort von SAP
* *
* bitte beachten Sie Hinweis 205487.
* Dort dürften alle notwendigen Informationen vorliegen.
*
* Mit freundlichen Grüßen
*
* SAP Active Global Support - Netweaver Web Application Server
**************************************************************************************************
*
* Dieses Handling ist nicht zumutbar und hinterweltlerisch. Deswegen dieser Report.
*
* VORGEHENSWEISE:
*
* 1. Im E01 werden Standardtexte pro anzubindendes System gepflegt. Die Nomenklatur ist wie folgt
* vorgegeben:
* ZLOGIN_SCREEN_INFO_<sysid>
* und wird mit SO10 angelegt und gepflegt.
* 2. Anlegen RFC-Destination mit SM59. Nomenklatur
* ZLOGIN_<sysid>
* 3. Anlegen Eintrag in Tabelle ZSZLOGIN mit SM30. Hier werden die RFC-Destination und der
* Standardtext verknüpft.
* 4. Diesen Report starten mit entsprechender ZLOGIN-Destination. Er legt dann im Zielsystem den
* entsprechenden Text an.
*
* 5. SE61 im Zielsystem prüfen oder SAP-Logondynpro des Zielsystems aufrufen und kontrollieren
*
**************************************************************************************************

report zsgl_upd_zlogin_screen_info.

* externe Tabellen
* ----------------
tables: zszlogin, rfcdes.

* Selektionsauswahl
*------------------
parameters: p_dest like rfcdes-rfcdest obligatory.

* interne Tabellen
* ----------------
data: gs_textline type tline,
gt_textline type standard table of tline.

* Workbereich
* -----------
* S T E U E R L E I S T E
* -----------------------
start-of-selection.

break rrlike.

perform check.
perform read_text.
perform write_doku_rfc.


* P R O G R A M M E N D E
* -----------------------
end-of-selection.
message i000(zdok) with 'SE61 ZLOGIN_SCREEN_INFO wurde in ' p_dest
'upgedatet. Bitte prüfen!'.

*&---------------------------------------------------------------------*
*& Form check
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
form check.

select single * from zszlogin
where rfcdest = p_dest.
if sy-subrc <> 0.
message e000(zdok) with 'Falsche Destination (Kein Eintrag in Tabelle ZSZLOGIN)'.
endif.

endform. "check

*&---------------------------------------------------------------------*
*& Form read_text
*&---------------------------------------------------------------------*
* Lesen Standardtext
*----------------------------------------------------------------------*
form read_text.

clear: gs_textline, gt_textline[].
call function 'READ_TEXT'
exporting
client = sy-mandt
id = 'ST'
language = zszlogin-langu
name = zszlogin-td_name
object = 'TEXT'
archive_handle = 0
local_cat = ' '
* importing
* header = gs_thead
tables
lines = gt_textline
exceptions
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
others = 8.

if sy-subrc <> 0.
message e000(zdok) with 'text nicht gefunden'.
endif.

endform. "read_text

*&---------------------------------------------------------------------*
*& Form write_doku_rfc
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
form write_doku_rfc.

call function 'Z_S_DOCU_UPDATE_RFC' destination p_dest
exporting
langu = zszlogin-langu
tables
line = gt_textline.

endform. "write_doku_rfc
-------
der fuba z_s_docu_update_rfc ist rfc-fähig und in jedem system, das upgedatet werden soll. das ist notwendig, da der fuba doku_update leider nicht rfc-fähig ist. der fuba ist so progammiert:

function z_s_docu_update_rfc.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(LANGU) TYPE SPRAS
*" TABLES
*" LINE STRUCTURE TLINE
*"----------------------------------------------------------------------

data: gt_doculine type standard table of tline,
gs_thead type thead.

data: gv_dokstate type dokstate,
gv_doku_typ type doku_typ,
gv_dokvers type dokvers.


* muss für fuba mitgegeben werde, wird hier aber nicht gebraucht
clear: gt_doculine[].

clear: gv_dokstate, gv_doku_typ.

* Ermitteln Kopfdaten des alten Ziel-Dokutextes
call function 'DOCU_GET'
exporting
* EXTEND_EXCEPT = ' '
id = 'TX'
langu = langu
object = 'ZLOGIN_SCREEN_INFO'
* TYP = 'E'
* VERSION = 0
version_active_or_last = 'L'
* PRINT_PARAM_GET = 'X'
importing
dokstate = gv_dokstate
* DOKTITLE =
head = gs_thead
doktyp = gv_doku_typ
tables
line = gt_doculine
exceptions
no_docu_on_screen = 1
no_docu_self_def = 2
no_docu_temp = 3
ret_code = 4
others = 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.

* Update Dokutext
gv_dokvers = gs_thead-tdversion.
call function 'DOCU_UPDATE'
exporting
* ACTCLASS = ' '
head = gs_thead
* NO_MASTERLANG = ' '
state = gv_dokstate
typ = gv_doku_typ
version = gv_dokvers
tables
line = line.

endfunction.

der report wird nur in einem quellsystem gestartet. bei uns das entwicklungssystem. dort werden mit der so10 standardtexte für die betroffenen systeme angelegt:

ZLOGIN_SCREEN_INFO_E00 DE TEXT ST SYSTEM
ZLOGIN_SCREEN_INFO_E00 EN TEXT ST SYSTEM
ZLOGIN_SCREEN_INFO_P00 DE TEXT ST SYSTEM
ZLOGIN_SCREEN_INFO_P00 EN TEXT ST SYSTEM
ZLOGIN_SCREEN_INFO_T00 DE TEXT ST SYSTEM
ZLOGIN_SCREEN_INFO_T00 EN TEXT ST SYSTEM

diese texte werden zur steuererung in der tabelle zczlogin hinterlegt:
MANDT MANDT CLNT 3 0 Mandant
RFCDEST RFCDEST CHAR 32 0 logische Destination (Wird bei Funktionsaufruf angegeben)
LANGU LANGU LANG 1 0 Sprachenschlüssel
TD_NAME TDOBNAME CHAR 70 0 Name

E00_rfc_dest E ZLOGIN_SCREEN_INFO_E00
E00_rfc_dest D ZLOGIN_SCREEN_INFO_E00
T00_rfc_dest E ZLOGIN_SCREEN_INFO_T00
T00_rfc_dest D ZLOGIN_SCREEN_INFO_T00
P00_rfc_dest E ZLOGIN_SCREEN_INFO_P00
P00_rfc_dest D ZLOGIN_SCREEN_INFO_P00

hier werden die rfc-verbindungen und die sprachenabhängigen standardtextnamen verbunden.

es funktioniert prima und rattert wie eine singernaehmaschine. riesen vorteil: transporte und systemöffnungen werden vermieden.

vielleicht hilft es ja dir auch
gruss bitfummler
Zuletzt geändert von Bitfummler am 09.03.2012 18:39, insgesamt 1-mal geändert.

Re: ZLOGON_SCREEN_INFO

Beitrag von ABAP_84 (ForumUser / 4 / 1 / 0 ) »
Hallo,
nachwie vor habe ich Probleme mit den Eigenschaften und den Parametern des Funktionsbausteins.
Eigenschaft = Remote fähiger Baustein
Import = ??
Export = ??
Tabellen = ??
Wenn ich in Import LANGU TYPE SPRAS eingebe kommt die Meldung
" Beim RFC sind keine Referenzparameter zugelassen "
Gruss

Re: ZLOGON_SCREEN_INFO

Beitrag von Bitfummler (Specialist / 111 / 4 / 3 ) »
ABAP_84 hat geschrieben:Hallo,
nachwie vor habe ich Probleme mit den Eigenschaften und den Parametern des Funktionsbausteins.
Eigenschaft = Remote fähiger Baustein
Import = ??
Export = ??
Tabellen = ??
Wenn ich in Import LANGU TYPE SPRAS eingebe kommt die Meldung
" Beim RFC sind keine Referenzparameter zugelassen "
Gruss
hallo,

das ist eine info und in der hilfe steht:
Beim RFC sind keine Referenzparameter zugelassen
Meldungsnr. FL381

Diagnose
Sie haben für einen remote aufrufbaren Funktionsbaustein einen Referenzparameter definiert. Bei diesen Funktionsbausteinen sind aber nur Werteparameter zulässig.


Vorgehen
Ändern Sie den Referenzparameter in einen Werteparameter.


also so definieren:
import: langu type spras + wertübergabe = x
export: nix
tabellen: line like tline

gruss bitfummler

Folgende Benutzer bedankten sich beim Autor Bitfummler für den Beitrag:
ABAP_84


Seite 1 von 1

Vergleichbare Themen

2
Antw.
2014
Views
Dynpro: Dropdown werte übergabe von Screen 1 auf Screen 2
von erzoo24 » 28.02.2017 15:25 • Verfasst in ABAP® für Anfänger
3
Antw.
659
Views
Batchjob Info
von L0w-RiDer » 03.05.2021 10:32 • Verfasst in ABAP® für Anfänger
1
Antw.
5699
Views
Info zu: Idoc Status 03 und 12
von Raphael » 02.02.2005 16:22 • Verfasst in Basis
0
Antw.
1480
Views
Kurzdump-Info auslesen
von bliP! » 13.03.2006 14:39 • Verfasst in ABAP® für Anfänger
3
Antw.
3242
Views
Info in Drucktastenleiste hinzufügen?
von CharlieD » 27.08.2008 10:17 • Verfasst in Dialogprogrammierung

Über diesen Beitrag


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

Newsletter Anmeldung

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