SAP OSS Notes

512075 SAP OSS Note - SE16: Tabellenpflege ohne Fremdschlüssel








SAP OSS Note 512075 version 0001 contains details of a know issue related to SE16: Tabellenpflege ohne Fremdschlüssel. This includes any associated symptoms and instructions on how to fix it, see below for full details. Also check out the comments section to view/add related contributions, questions or screen shots, based on real life experience of this oss note and problem.

...For more information about the SAP support system known as OSS please check out the SAP OSS NOTES SECTION, whih includes how to download & implement them onto your SAP system using transaction code SNOTE.

Note 512075 Details:






When does this problem occur

Bei der Pflege von Tabelleneinträgen mittels Data Browser (SE16) werden Fremdschlüsselbeziehungen nicht berücksichtigt.

Description of problem



Cause of the problem and Pre-requisites

Bei Datenbanktabellen mit tiefen Typen wie Strings ist eine Deklaration einer Workarea mit der 'TABLES'-Anweisung nicht mehr möglich. Aus disem Grund wurde die entprechende Workarea mit Basis-Rel. 6.1 durch eine einfache, typisierte 'DATA'-Anweisung bereit gestellt. Wird aber diese Workarea auf einem DYNPRO verwendet, finden keine DYNP-internen Fremdschlüsselprüfungen mehr statt.

Solution instructions

Mit der hier angegebenen Korrektur wird das alte Verhalten teilweise wieder hergestellt. Nach dem Einspielen oder manuellen Einbauen der Korrektur verhält sich der Data Browser für alle nicht tiefen Tabellen wie früher, d.h. Fremdschlüsselprüfungen finden statt. Bei allen tiefen Tabellen ist dies nicht möglich, d.h. wenn einen Datenbanktabelle z.B. ein Feld des Typs 'STRING' enthält, wird weiterhin eine Workarea per 'DATA'-Anweisung erzeugt und eine Fremdschlüsselprüfung beim Erfassen von Einträgen findet NICHT statt.

Note 512075 Correction instructions:



NOTE: Only source text changes are displayed here

*$*$----------------------------------------------------------------$*$*
*$ CORRECTION INSTRUCTIONS 0120061532 0000398170 $*
*$ Prerequisite corr. inst. 0120061532 0000392194 Note 0000508777 $*
*$--------------------------------------------------------------------$*
*$ VALID FOR : $*
*$ Software Component SAP_BASIS SAP Basis component $*
*$ Release 620 To SAPKB62001 $*
*$*$----------------------------------------------------------------$*$*
*&---------------------------------------------------------------------*
*& Object REPS LSETBF10
*& Object header FUGR SETB
*&---------------------------------------------------------------------*
*& FORM GENERATE_REPORT
*&---------------------------------------------------------------------*
...
if tab2-exlength is initial.
if l_dfies-datatype = 'SSTR' or
l_dfies-datatype = 'RSTR' or
l_dfies-datatype = 'SRST' or
l_dfies-datatype = 'STRG'.
*>>>> START OF INSERTION <<<<
g_table_is_deep = 'X'.
*>>>> END OF INSERTION <<<<<<
...
if tab2-dblength is initial.
if l_dfies-datatype = 'SSTR' or
l_dfies-datatype = 'RSTR' or
l_dfies-datatype = 'SRST' or
l_dfies-datatype = 'STRG'.
*>>>> START OF INSERTION <<<<
g_table_is_deep = 'X'.
*>>>> END OF INSERTION <<<<<<
...
if tab3-exlength is initial.
if l_dfies-datatype = 'SSTR' or
l_dfies-datatype = 'RSTR' or
l_dfies-datatype = 'SRST' or
l_dfies-datatype = 'STRG'.
*>>>> START OF INSERTION <<<<
g_texttable_is_deep = 'X'.
*>>>> END OF INSERTION <<<<<<
...
if tab3-dblength is initial.
if l_dfies-datatype = 'SSTR' or
l_dfies-datatype = 'RSTR' or
l_dfies-datatype = 'SRST' or
l_dfies-datatype = 'STRG'.
*>>>> START OF INSERTION <<<<
g_texttable_is_deep = 'X'.
*>>>> END OF INSERTION <<<<<<
...
*&---------------------------------------------------------------------*
*& FORM GENERIEREN
*&---------------------------------------------------------------------*
...
if tabname ne 'X030L'
and tabname ne 'DD08L'
and tabname ne 'RSEUMOD'
and tabname ne 'VARI'
and tabname ne 'SSCRFIELDS'.
*>>>> START OF DELETION <<<<<
exp0 tables.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
if g_table_is_deep is initial.
exp0 tables_old.
else.
exp0 tables.
endif.
*>>>> END OF INSERTION <<<<<<
...
if tabname ne 'X030L'
and tabname ne 'DD08L'
and tabname ne 'RSEUMOD'
and tabname ne 'VARI'
and tabname ne 'SSCRFIELDS'.
*>>>> START OF DELETION <<<<<
exp0 tables2.
else.
* Texttabelle
exp0 tables3.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
if g_table_is_deep is initial.
exp0 tables_old.
* Texttabelle
if g_texttable_is_deep is initial.
exp0 tables3_old.
else.
exp0 tables3.
endif.
else.
exp0 tables.
* Texttabelle
if g_texttable_is_deep is initial.
exp0 tables3_old.
else.
exp0 tables3.
endif.
endif.
else.
* Texttabelle
if g_texttable_is_deep is initial.
exp0 tables3_old.
else.
exp0 tables3.
endif.
*>>>> END OF INSERTION <<<<<<
...
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Object REPS LSETBGDC
*& Object header FUGR SETB
*&---------------------------------------------------------------------*
...
0 |constants: c_all type uname value '%_ALL'.

* Tables-Deklaration
* #A Tabellenname.
:TABLES :0
0 |data: #A type #A.

*>>>> START OF INSERTION <<<<
:TABLES_OLD :0
0 |tables: #A.

:TABLES3_OLD :0
0 |tables: #D.

*>>>> END OF INSERTION <<<<<<
...
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Object REPS LSETBTOP
*& Object header FUGR SETB
*&---------------------------------------------------------------------*
*& FUNCTION-POOL SETB
*&---------------------------------------------------------------------*
...
DATA: END OF IDFIES.
DATA: BEGIN OF TEXT_DFIES OCCURS 50.
INCLUDE STRUCTURE DFIES.
DATA: END OF TEXT_DFIES.

*>>>> START OF DELETION <<<<<
DATA: VERSION LIKE TBPROGREF-VERSION VALUE '620002'.
constants: c_template_version type i value '620002'.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
DATA: VERSION LIKE TBPROGREF-VERSION VALUE '620003'.
constants: c_template_version type i value '620003'.
*>>>> END OF INSERTION <<<<<<
...
DATA: NOT_SCROLL(2). " Anzahl der nicht scrollbaren
DATA END_FLAG. " Ende Scrollbereich
DATA TABLE_END. " Zum zweiten Mal
DATA ARBEIT_FLAG(11).
DATA G_DYNP_GEN_ERROR.
*>>>> START OF INSERTION <<<<
data: g_table_is_deep, g_texttable_is_deep.
*>>>> END OF INSERTION <<<<<<
...
*&---------------------------------------------------------------------*

Effected Objects:


(REPS) - LSETBF10
(REPS) - LSETBGDC
(REPS) - LSETBTOP

(REPS) - LSETBF10
(REPS) - LSETBGDC
(REPS) - LSETBTOP

Solution instructions


Please import the corrections attached to this OSS note into your SAP system using SNOTE.

You can also view the full details of this OSS note and download it to your SAP system ready for implementation using transaction code SNOTE. Once it has been downloaded you can read the full details, check out any installation instructions including manual changes and see if there are any pre-requisites.

You can also check if a new version of note 512075 has been released as well as see if the note is valid for your current SAP system landscape.

Check if SAP OSS note 512075 has already been downloaded and is valid


To check if this note has already been download, what status it has and if it is valid for your system first execute t-code SNOTE and click on the SAP Note Browser icon
Icon used to execute SAP Note Browser report within SNOTE

From here you can just enter the note number 512075 and press execute. If the note already exists it's details will be displayed. See here for full step by step instructions on how to check if an SAP note has been downloaded and is valid for your system.



If note 512075 does not exist on your system you will receive the message "Unable to find SAP Note that meets specified criteria"
Icon used to execute SAP Note Browser report within SNOTE

If this is the case you will need to download the note to you SAP system also using transaction SNOTE. For further details see Download note using SNOTE. Even if it does exist you may still want to check if you have downloaded the latest version of the note.

Alternatively you can find full details of this note on the SAP service market place(SNumber / Service market place login will be required)