Thursday, October 22, 2009

Texte (sprachunabhängig) ablegen

Über die Transaktion so10 können Texte angelegt/gepflegt werden. Mittels
des FuBa Read_Text können Sie wieder ausgelesen werden.

Thursday, October 1, 2009

Suchhilfe mit Mehfachfeldfüllung

Suchhilfen, bei denen abhängige Felder auch gefüllt werden sollen (z.B.
Belegposition und Belegnummer), haben ihre Tücken. Voraussetzung ist, dass
beider Felder in der Suchhilfe als Exportparameter vorkommen und die
Bezeichner in Suchhilfe, Suchfunktion (z.B. View) und Report/Dynpro
identisch sind.
Beide Felder müssen in ein und derselben Struktur/Tabelle vorkommen, die
als Referenztyp für die Variablendeklaration verwendet wird. In diese muss
die selbsterstellte Suchhilfe nochmal explizit angegeben werden (Herkunft
der Suchhilfe: 'explizite Suchhilfeanbindung am Feld').
Bei Erstellung eines Selektionsscreens als Dynpro muss als Variable eines
Tables-Statement verwendet werden. Nur dann funktionieren die
Abhängigkeiten und das paralle Füllen der Felder.

Monday, September 14, 2009

Textelement/-symbole für Report finden

Der Forumsbeitrag geht auf die Frage ein, wie man Textelemente eines
Reports ausliest und in welchen Tabellen sie abgelegt sind:
https://forums.sdn.sap.com/message.jspa?messageID=7216948
Funktionsbaustein READ_TEXT_ELEMENTS gibt alle Textsymbole eines Reports
zurück. Mit dem ABAP-Befehl 'READ TEXTPOOL' hat die gleiche Funktionalität.

Thursday, September 10, 2009

Transaktion für (Pflege-)View

Für einen (Pflege-)View kann mittels der SE93 eine eigene Transaktion
erstellt werden. Das Häkchen 'Einstiegsbild übersprüngen' sollte aktiv
sein. Für die Vorschlagswerte ist auf jeden Fall ein Wert für das
Dynprofeld VIEWNAME anzugeben. Das Feld UPDATE kann mit einem 'X' belegt
werden. Der SM30-Selektionsbildschirm erscheint dann nicht. Will man
diesen haben, muss stattdessen das Feld UPDATE_LTD gefüllt werden.

Thursday, September 3, 2009

CALL SELECTION-SCREEN

Statt "CALL SELECTION-SCREEN" kann auch "LEAVE TO SCREEN 0" verwendet
werden. Damit können Probleme mit den OK-Codes und Endlosschleifen beim
Screen-Aufruf verhindert werden.

Thursday, August 27, 2009

Encoding

Für Änderungen des Encodings ist die Klasse CL_ABAP_CONV_OBJ nützlich
(mehr Infos über die Klassendokumentation).
Der Report RSCP0032 kann für Tests und Informationsgewinnung rund um
Encoding genutzt werden.
Die Funktionsbausteine ECATT_CONV_STRING_TO_XSTRING und
ECATT_CONV_XSTRING_TO_STRING können für Transformationen genutzt werden.
In der Tabelle TCP00 sind die Codepages aufgeführt.

FORM decode_response USING pi_xstring type xstring CHANGING pie_string
type string.
DATA: lo_eref TYPE REF TO cx_transformation_error,
lv_errstr TYPE string,
lo_converter TYPE REF TO cl_abap_conv_obj.

* ändern des Encoding auf ISO-8859-1 (nur das versteht Inforate)
CREATE OBJECT lo_converter
EXPORTING
incode = '1133' " ISO-8859-1
outcode = '4103' " UTF-8
EXCEPTIONS
invalid_codepage = 1
internal_error = 2
OTHERS = 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 METHOD lo_converter->convert
EXPORTING
inbuff = pi_xstring
outbufflg = 0
IMPORTING
outbuff = pie_string
EXCEPTIONS
internal_error = 1
OTHERS = 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.
ENDFORM.