ALV liefert einige "leere" Datensätze

Getting started ... Alles für einen gelungenen Start.
13 Beiträge • Seite 1 von 1
13 Beiträge Seite 1 von 1

ALV liefert einige "leere" Datensätze

Beitrag von mip (ForumUser / 48 / 0 / 2 ) »
Hallo,

ich hab ein Problem mit einer ALV über Verkaufsbelege. Diese liefert bei grossen Datenmengen, einige Datensätze bei denen zwar die Belegnummer gefüllt ist, aber alle anderen Spalten leer sind. Lässt man diese Belege einzeln in der ALV anzeigen, werden alle Spalten richtig angezeigt. Mit unterschiedlichen Selektionen konnte ich die Datenmenge der "Leeren" Datensätze auf um die 70 Stück eingrenzen, aber wie gesagt es sind immer unterschiedliche Belegnummern. Hatte von Euch schon mal jemand diese Verhalten? Gibt es irgendwelche Begrenzungen die hier reinfliessen?

Danke für Eure Hilfe!

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Also spontan würd ich sagen, das hier irgendwo ein allgemeiner Fehler im Coding vorliegt, der dazuführt.

Oder ist es ein überdimensionale grosser ALV?
Ab einer gewissen Grösse spinnt der ALV, aber da zeigt er ab einem gewissen Punkt dann 3Punkte an und dann erst wird der Rest leer.
Ist ein kleines Speicherproblem, da jede Zeile ein generiertes Bild ist.

Beitrag von mip (ForumUser / 48 / 0 / 2 ) »
Hallo,

die ALV ist schon sehr gross 1500 Zeilen Code, mit zahlreichen Funktionen. Ich tippe nämlich auch auf ein Speicherproblem, da die ALV selbst schon ziemlich lange im Einsatz ist und noch nie Fehler gemeldet wurden. Kann man einer ALV Speicher zuweisen bzw. wie kann man das Problem umgehen?

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Ich glaube du verstehst da was falsch. Es ging nicht darum wie lang den Programmcode ist, sondern wie groß deine Tabelle ist die du im ALV anzeigst.

Und ich denke auch, das du ein Problem im Coding hast, das aber nur unter bestimmten Voraussetzungen auftritt. Viele Daten in Zwischentabellen, nicht ganz korrekte Zugriffe auf interne tabellen, nicht gelöschte Arbeitsbereiche ...

MfG

Thomas

Beitrag von mip (ForumUser / 48 / 0 / 2 ) »
Hallo,

ich find den Fehler nicht, ich schick euch mal anbei mal mein Coding, vielleicht sieht jemand sofort das Problem. Alle Nachselektionen hab ich jetzt mal rausgeworfen, das Problem tritt weiterhin auf:
Danke!

*************************************************************

REPORT y_verkaufsbelege.

**
* Data Types
**
TYPE-POOLS: slis.

TYPES: BEGIN OF tp_data,
audat LIKE vbak-audat,
vbtyp LIKE dd07v-domvalue_l,
*vbtyp LIKE vbak-vbtyp,
vbeln LIKE vbak-vbeln,
lifsk LIKE vbak-lifsk,
angdt LIKE vbak-angdt,
ernam LIKE vbak-ernam,
vkbur LIKE vbak-vkbur,
vkorg LIKE vbak-vkorg,
guebg LIKE vbak-guebg,
gueen LIKE vbak-gueen,
abgru LIKE vbap-abgru,
posnr LIKE vbap-posnr,
matnr LIKE vbap-matnr,
kwmeng LIKE vbap-kwmeng,
meins LIKE vbap-meins,
zmeng LIKE vbap-zmeng,
vbegdat LIKE veda-vbegdat,
venddat LIKE veda-venddat,
vwundat LIKE veda-vwundat,
vkuegru LIKE veda-vkuegru,
gbstk LIKE vbuk-gbstk,
lfstk LIKE vbuk-lfstk,
abstk LIKE vbuk-abstk,
agkg LIKE kna1-ktokd,
agname3 LIKE adrc-name3,
kunnr_ag LIKE vbpa-kunnr,
kunnr_ye LIKE vbpa-kunnr,
name1_ag LIKE kna1-name1,
name2_ag LIKE kna1-name2,
name3_ag LIKE kna1-name3,
spras_ag LIKE kna1-spras,
name1_ye LIKE kna1-name1,
name2_ye LIKE kna1-name2,
name3_ye LIKE kna1-name3,
tdname LIKE stxh-tdname,
bezei LIKE tvagt-bezei,
strasse_ag LIKE adrc-street,
land_ag LIKE adrc-country,
strasse_ye LIKE adrc-street,
land_ye LIKE adrc-country,
ort_ag LIKE kna1-ort01,
ort_ye LIKE kna1-ort01,
plz_ye LIKE adrc-post_code1,
plz_ag LIKE adrc-post_code1,
yektokd LIKE kna1-ktokd,
agktokd LIKE kna1-ktokd,
kunnr_we LIKE vbpa-kunnr,
name1_we LIKE kna1-name1,
name2_we LIKE kna1-name2,
name3_we LIKE kna1-name3,
strasse_we LIKE adrc-street,
land_we LIKE adrc-country,
ort_we LIKE kna1-ort01,
plz_we LIKE adrc-post_code1,
wektokd LIKE kna1-ktokd,
adrnr_y3 LIKE vbpa-adrnr,
name1_y3 LIKE adrc-name1,
name2_y3 LIKE adrc-name2,
name3_y3 LIKE adrc-name3,
city_y3 LIKE adrc-city1,
post_code_y3 LIKE adrc-post_code1,
street_y3 LIKE adrc-street,
land1_y3 LIKE kna1-land1,
adrnp_y3 LIKE vbpa-adrnp,
prsnr_y3 LIKE knvk-prsnr,
title_y3 LIKE adrp-title,
name_text_y3 LIKE adrp-name_text,
parnr_y3 LIKE vbpa-parnr,
ersttext(210), "erste Zeile des Materialtextes
zweittext(210),"zweite Zeile des Materialtextes
dritttext(210),"dritte Zeile des Materialtextes
vierttext(210),
mattxt(210),
ddtext LIKE dd07v-ddtext,
lifsktext LIKE tvlst-vtext,
usclient_ag LIKE kna1-yyusc,
usclient_ye LIKE kna1-yyusc,
usclient_we LIKE kna1-yyusc,
title_lang_y3 LIKE tsad3t-title_medi,
country_y3 LIKE adrc-country,
email_y3 LIKE adr6-smtp_addr,
bestnr LIKE vbkd-bstkd,
vkuegbezei LIKE tvkgt-bezei,
spras_ye LIKE kna1-spras,
spras_we LIKE kna1-spras,


mark,

END OF tp_data,
tp_tbl_data TYPE STANDARD TABLE OF tp_data.

**
* Constants
**


**
* Data objects (variable declarations and definitions)
**

* Report data to be shown.
DATA: it_data TYPE STANDARD TABLE OF tp_data.

TABLES: kna1,
tvlst,
vbuk,
dd07v,
tvagt,
vbpa,
adrc,
veda,
vbak,
fplt,
stxh,
vbap.

* Heading of the report.
DATA: t_heading TYPE slis_t_listheader.


*======================= Selection Screen ==========================*

SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
DATA: w_aux_kunnr_ag LIKE vbpa-kunnr.
SELECT-OPTIONS s_kunrag FOR w_aux_kunnr_ag .
*DATA: w_aux_kunnr_ye LIKE vbpa-kunnr.
*SELECT-OPTIONS s_kunrye FOR w_aux_kunnr_ye .
*DATA: w_aux_kunnr_we LIKE vbpa-kunnr.
*SELECT-OPTIONS s_kunrwe FOR w_aux_kunnr_we .
DATA: w_aux_vkorg LIKE vbak-vkorg.
SELECT-OPTIONS s_vkorg FOR w_aux_vkorg .
DATA: w_aux_vbtyp LIKE vbak-vbtyp.
SELECT-OPTIONS s_vbtyp FOR w_aux_vbtyp .
DATA: w_aux_matnr LIKE vbap-matnr.
SELECT-OPTIONS s_matnr FOR w_aux_matnr .
SELECTION-SCREEN: END OF BLOCK b1.

*======================== Event Blocks =============================*
AT SELECTION-SCREEN.

START-OF-SELECTION.
PERFORM get_data USING it_data.

END-OF-SELECTION.
PERFORM build_alv USING it_data t_heading.

*======================== Subroutines ==============================*

*&------------------------------------------------------------------*
*& Form get_data
*&------------------------------------------------------------------*
* Gets the information to be shown in the report.
*-------------------------------------------------------------------*
FORM get_data USING t_data TYPE tp_tbl_data.

*Variablendeklaration
DATA:
l_vbeln LIKE vbak-vbeln,
l_vpos LIKE vbap-posnr,
l_fplnr LIKE fplt-fplnr,
l_kunnr_ag LIKE vbpa-kunnr,
l_kunnr_ye LIKE vbpa-kunnr,
l_name1_ag LIKE kna1-name1,
l_name2_ag LIKE kna1-name2,
l_name3_ag LIKE kna1-name3,
l_spras_ag LIKE kna1-spras,
l_name1_ye LIKE kna1-name1,
l_name2_ye LIKE kna1-name2,
l_name3_ye LIKE kna1-name3,
l_tdname LIKE stxh-tdname,
lv_adrnr_ag LIKE kna1-adrnr,
lv_adrnr_ye LIKE kna1-adrnr,
lv_agstrasse LIKE adrc-street,
lv_agland LIKE adrc-country,
lv_yestrasse LIKE adrc-street,
lv_yeland LIKE adrc-country,
lv_plz_ye LIKE adrc-post_code1,
lv_plz_ag LIKE adrc-post_code1,
lv_ort_ag LIKE kna1-ort01,
lv_ort_ye LIKE kna1-ort01,
lv_vbegdat LIKE veda-vbegdat,
lv_vendat LIKE veda-venddat,
l_kunnr_we LIKE kna1-kunnr,
lv_adrnr_we LIKE kna1-adrnr,
l_name1_we LIKE kna1-name1,
l_name2_we LIKE kna1-name2,
l_name3_we LIKE kna1-name3,
lv_westrasse LIKE adrc-street,
lv_weland LIKE adrc-country,
lv_plz_we LIKE adrc-post_code1,
lv_ort_we LIKE kna1-ort01,
lv_kunnr_we LIKE vbpa-kunnr,
lv_wektokd LIKE kna1-ktokd,
lv_yektokd LIKE kna1-ktokd,
lv_agktokd LIKE kna1-ktokd,
lv_adrnr_y3 LIKE vbpa-adrnr,
lv_name1_y3 LIKE adrc-name1,
lv_name2_y3 LIKE adrc-name2,
lv_name3_y3 LIKE adrc-name3,
lv_city1_y3 LIKE adrc-city1,
lv_post_code1_y3 LIKE adrc-post_code1,
lv_street_y3 LIKE adrc-street,
lv_land1_y3 LIKE kna1-land1,
lv_adrnp_y3 LIKE vbpa-adrnp,
lv_prsnr_y3 LIKE knvk-prsnr,
lv_title_y3 LIKE adrp-title,
lv_name_text_y3 LIKE adrp-name_text,
lv_parnr_y3 LIKE vbpa-parnr,
l_bezei LIKE tvagt-bezei,
l_sy_tabix1 LIKE sy-tabix,
textkopf LIKE thead,
g_erstetextzeile(210), "erste Zeile des Materialtextes
g_zweitetextzeile(210),"zweite Zeile des Materialtextes
g_drittetextzeile(210),"dritte Zeile des Materialtextes
g_viertetextzeile(210),"vierte Zeile des Materialtextes
mattxt(210),
lv_ddtext LIKE dd07v-ddtext,
lv_status LIKE vbuk-gbstk,
lv_absagestat LIKE vbuk-gbstk,
lv_lieferstat LIKE vbuk-gbstk,
lv_lifsk LIKE tvlst-vtext,
lv_usclient_ag LIKE kna1-yyusc,
lv_usclient_ye LIKE kna1-yyusc,
lv_usclient_we LIKE kna1-yyusc,
lv_title_lang_y3 LIKE tsad3t-title_medi,
lv_country_y3 LIKE adrc-country,
lv_email_y3 LIKE adr6-smtp_addr,
lv_bestellnummer LIKE vbkd-bstkd,
lv_vwundat LIKE veda-vwundat,
lv_vkuegru LIKE veda-vkuegru,
lv_spras_we LIKE kna1-spras,
lv_spras_ye LIKE kna1-spras.


DATA: wa_it_data TYPE tp_data.



* Var. für VertriebsTexte Anfang, THead und TLine sind im Dictionary
DATA: BEGIN OF texttab OCCURS 2,
tdformat LIKE tline-tdformat,
tdline LIKE tline-tdline.
DATA: END OF texttab.


SELECT a~audat
a~vbtyp
a~vbeln
a~lifsk
a~angdt
a~vkbur
a~vkorg
a~guebg
a~gueen
b~abgru
b~posnr
b~matnr
b~kwmeng
b~meins
b~zmeng
a~ernam
vb~gbstk
vb~lfstk
vb~abstk

INTO CORRESPONDING FIELDS OF TABLE t_data
FROM vbak AS a
INNER JOIN vbap AS b ON a~vbeln = b~vbeln
INNER JOIN vbuk AS vb ON b~vbeln = vb~vbeln
INNER JOIN kna1 AS c ON a~kunnr = c~kunnr


* LEFT OUTER JOIN veda AS d ON b~vbeln = d~vbeln AND b~posnr = d~vposn
WHERE a~vkorg IN s_vkorg
AND a~vbtyp IN s_vbtyp
AND b~matnr IN s_matnr
AND a~kunnr IN s_kunrag.
* WHERE vb~vbeln = '0000004706'
* OR vb~vbeln = '0000007812'
* OR vb~vbeln = '0000001020'.


* interne Tabelle in wa schreiben, Daten Nachselektieren
LOOP AT t_data INTO wa_it_data.

* Nachselektionen entfernt

ENDLOOP.


ENDFORM.


*&------------------------------------------------------------------*
* Builds and display the ALV Grid.
*-------------------------------------------------------------------*
FORM build_alv USING t_data TYPE tp_tbl_data
t_heading TYPE slis_t_listheader.

* ALV required data objects.
DATA: w_title TYPE lvc_title,
w_repid TYPE syrepid,
w_comm TYPE slis_formname,
w_status TYPE slis_formname,
x_layout TYPE slis_layout_alv,
t_event TYPE slis_t_event,
t_fieldcat TYPE slis_t_fieldcat_alv,
t_sort TYPE slis_t_sortinfo_alv.

REFRESH t_fieldcat.
REFRESH t_event.
REFRESH t_sort.
CLEAR x_layout.
CLEAR w_title.

* Field Catalog (Spalten-Namen sind kurz zu wählen)
PERFORM set_fieldcat2 USING:
1 'AUDAT' 'AUDAT' 'VBAK' space space 'Belegdatum' 'Belegdatum' space space space space space space space space t_fieldcat ,
2 'VBTYP' 'VBTYP' 'VBAK' space space 'Vertriebsbelegtyp' 'Vertriebsbelegtyp' space space space space space space space space t_fieldcat ,
3 'DDTEXT' 'DDTEXT' 'VBAK' space space 'Vertriebsbelegtyp' 'Vertriebsbelegtyp' space space space space space space space space t_fieldcat ,
4 'VBELN' 'VBELN' 'VBAK' space space 'Verkaufsbelegnummer' 'Verkaufsbelegnummer' space space space space space space space space t_fieldcat ,
5 'BESTNR' 'BESTNR' 'VBKD' space space 'Bestellnummer' 'Bestellnummer' space space space space space space space space t_fieldcat ,
6 'GBSTK' 'STATUS' 'TP_DATA' space space 'Status' 'Status' space space space space space space space space t_fieldcat ,
7 'LFSTK' 'LIEFERSTAT' 'TP_DATA' space space 'Lieferstatus' 'Lieferstatus' space space space space space space space space t_fieldcat ,
8 'ABSTK' 'ABSAGESTAT' 'TP_DATA' space space 'Absagestatus' 'Absagestatus' space space space space space space space space t_fieldcat ,
9 'LIFSK' 'LIFSK' 'TP_DATA' space space 'Lieferscheinsperre' 'Lieferscheinsperre' space space space space space space space space t_fieldcat ,
10 'LIFSKTEXT' 'LIFSKTEXT' 'TP_DATA' space space 'Lieferscheinsperretext' 'Lieferscheinsperretext' space space space space space space space space t_fieldcat ,
11 'ERNAM' 'ERNAM' 'VBAK' space space 'Angelegt von' 'Angelegt von' space space space space space space space space t_fieldcat ,
12 'VKBUR' 'VKBUR' 'VBAK' space space 'Verkaufsbüro' 'Verkaufsbüro' space space space space space space space space t_fieldcat ,
13 'VKORG' 'VKORG' 'VBAK' space space 'Vkorg' 'Vkorg' space space space space space space space space t_fieldcat ,
14 'GUEBG' 'GUEBG' 'VBAK' space space 'Gültig ab' 'Gültig ab' space space space space space space space space t_fieldcat ,
15 'GUEEN' 'GUEEN' 'VBAK' space space 'Gültig bis' 'Gültig bis' space space space space space space space space t_fieldcat ,
16 'ABGRU' 'ABGRU' 'VBAP' space space 'Absagegrund für Angebote und Aufträge' 'Absagegrund für Angebote und Aufträge' space space space space space space space space t_fieldcat ,
17 'BEZEI' 'BEZEI' 'TP_DATA' space space 'Absagegrund Text' 'Absagegrund TXT' space space space space space space space space t_fieldcat ,
18 'POSNR' 'POSNR' 'VBAP' space space 'Position' 'Position' space space space space space space space space t_fieldcat ,
19 'MATNR' 'MATNR' 'VBAP' space space 'Material' 'Material' space space space space space space space space t_fieldcat ,
20 'MATTXT' 'MATTXT' 'TP_DATA' space space 'Materialtext' 'Materialtext' space space space space space space space space t_fieldcat,
21 'KWMENG' 'KWMENG' 'VBAP' space space 'Auftragsmenge' 'Auftragsmenge' space space space space space space space space t_fieldcat ,
22 'MEINS' 'MEINS' 'VBAP' space space 'Mengeneinheit' 'Mengeneinheit' space space space space space space space space t_fieldcat ,
23 'ZMENG' 'ZMENG' 'VBAP' space space 'Zielmenge' 'Zielmenge' space space space space space space space space t_fieldcat ,
24 'VBEGDAT' 'VBEGDAT' 'VEDA' space space 'Vertragsbeginn' 'Vertragsbeginn' space space space space space space space space t_fieldcat ,
25 'VENDDAT' 'VENDDAT' 'VEDA' space space 'Vertragsende' 'Vertragsende' space space space space space space space space t_fieldcat ,
26 'VWUNDAT' 'VWUNDAT' 'VEDA' space space 'Kündigungswunschdatum' 'Kündigungswunschdatum' space space space space space space space space t_fieldcat ,
27 'VKUEGBEZEI' 'VKUEGBEZEI' 'VEDA' space space 'Kündigungsgrund' 'Kündigungsgrund' space space space space space space space space t_fieldcat ,
*27 'VKUEGRU' 'VKUEGRU' 'VEDA' space space 'Kündigungsgrund' 'Kündigungsgrund' space space space space space space space space t_fieldcat ,
28 'KUNNR_AG' 'KUNNR_AG' 'TP_DATA' space space 'Kundennummer Auftraggeber' 'Kundennr AG' space space space space space space space space t_fieldcat,
29 'USCLIENT_AG' 'USCLIENT_AG' 'TP_DATA' space space 'US client AG' 'US client AG' space space space space space space space space t_fieldcat,
30 'AGKTOKD' 'AGKTOKD' 'TP_DATA' space space 'KTOKD Auftraggeber' 'KTOKD AG' space space space space space space space space t_fieldcat,
31 'SPRAS_AG' 'SPRAS_AG' 'TP_DATA' space space 'Sprachenschlüssel AG' 'SPRAS AG' space space space space space space space space t_fieldcat,
32 'NAME1_AG' 'NAME1_AG' 'TP_DATA' space space 'Name1 Auftraggeber' 'Name1 AG' space space space space space space space space t_fieldcat,
33 'NAME2_AG' 'NAME2_AG' 'TP_DATA' space space 'Name2 Auftraggeber' 'Name2 AG' space space space space space space space space t_fieldcat,
34 'NAME3_AG' 'NAME3_AG' 'TP_DATA' space space 'Name3 Auftraggeber' 'Name3 AG' space space space space space space space space t_fieldcat,
35 'STRASSE_AG' 'STRASSE_AG' 'TP_DATA' space space 'Strasse Auftraggeber' 'Strasse AG' space space space space space space space space t_fieldcat,
36 'PLZ_AG' 'PLZ_AG' 'TP_DATA' space space 'PLZ Auftraggeber' 'PLZ AG' space space space space space space space space t_fieldcat,
37 'ORT_AG' 'ORT_AG' 'TP_DATA' space space 'Ort Auftraggeber' 'Ort AG' space space space space space space space space t_fieldcat,
38 'LAND_AG' 'LAND_AG' 'TP_DATA' space space 'Land Auftraggeber' 'Land AG' space space space space space space space space t_fieldcat,
39 'KUNNR_YE' 'KUNNR_YE' 'TP_DATA' space space 'Kundennummer Enduser' 'Kundennr YE' space space space space space space space space t_fieldcat,
40 'USCLIENT_YE' 'USCLIENT_YE' 'TP_DATA' space space 'US client YE' 'US client YE' space space space space space space space space t_fieldcat,
41 'YEKTOKD' 'YEKTOKD' 'TP_DATA' space space 'KTOKD Endkunde' 'KTOKD YE' space space space space space space space space t_fieldcat,
42 'SPRAS_YE' 'SPRAS_YE' 'TP_DATA' space space 'Sprachenschlüssel YE' 'SPRAS YE' space space space space space space space space t_fieldcat,
43 'NAME1_YE' 'NAME1_YE' 'TP_DATA' space space 'Name1 Endkunde' 'Name1 YE' space space space space space space space space t_fieldcat,
44 'NAME2_YE' 'NAME2_YE' 'TP_DATA' space space 'Name2 Endkunde' 'Name2 YE' space space space space space space space space t_fieldcat,
45 'NAME3_YE' 'NAME3_YE' 'TP_DATA' space space 'Name3 Endkunde' 'Name3 YE' space space space space space space space space t_fieldcat,
46 'STRASSE_YE' 'STRASSE_YE' 'TP_DATA' space space 'Strasse Endkunde' 'Strasse YE' space space space space space space space space t_fieldcat,
47 'PLZ_YE' 'PLZ_YE' 'TP_DATA' space space 'PLZ Endkunde' 'PLZ YE' space space space space space space space space t_fieldcat,
48 'ORT_YE' 'ORT_YE' 'TP_DATA' space space 'Ort Endkunde' 'Ort YE' space space space space space space space space t_fieldcat,
49 'LAND_YE' 'LAND_YE' 'TP_DATA' space space 'Land Endkunde' 'Land YE' space space space space space space space space t_fieldcat,
50 'KUNNR_WE' 'KUNNR_WE' 'TP_DATA' space space 'Kundennummer Warenempfänger' 'Kundennr WE' space space space space space space space space t_fieldcat,
51 'USCLIENT_WE' 'USCLIENT_WE' 'TP_DATA' space space 'US client WE' 'US client WE' space space space space space space space space t_fieldcat,
52 'WEKTOKD' 'WEKTOKD' 'TP_DATA' space space 'KTOKD Warenempfänger' 'KTOKD WE' space space space space space space space space t_fieldcat,
53 'SPRAS_WE' 'SPRAS_WE' 'TP_DATA' space space 'Sprachenschlüssel WE' 'SPRAS WE' space space space space space space space space t_fieldcat,
54 'NAME1_WE' 'NAME1_WE' 'TP_DATA' space space 'Name1 Warenempfänger' 'Name1 WE' space space space space space space space space t_fieldcat,
55 'NAME2_WE' 'NAME2_WE' 'TP_DATA' space space 'Name2 Warenempfänger' 'Name2 WE' space space space space space space space space t_fieldcat,
56 'NAME3_WE' 'NAME3_WE' 'TP_DATA' space space 'Name3 Warenempfänger' 'Name3 WE' space space space space space space space space t_fieldcat,
57 'STRASSE_WE' 'STRASSE_WE' 'TP_DATA' space space 'Strasse Warenempfänger' 'Strasse WE' space space space space space space space space t_fieldcat,
58 'PLZ_WE' 'PLZ_WE' 'TP_DATA' space space 'PLZ Warenempfänger' 'PLZ WE' space space space space space space space space t_fieldcat,
59 'ORT_WE' 'ORT_WE' 'TP_DATA' space space 'Ort Warenempfänger' 'Ort WE' space space space space space space space space t_fieldcat,
60 'LAND_WE' 'LAND_WE' 'TP_DATA' space space 'Land Warenempfänger' 'Land WE' space space space space space space space space t_fieldcat,
61 'TITLE_LANG_Y3' 'TITLE_LANG_Y3' 'TP_DATA' space space 'Titel Ansprechpartner' 'Titel Ansprechpartner' space space space space space space space space t_fieldcat,
*55 'NAME1_Y3' 'NAME1_Y3' 'TP_DATA' space space 'Vorname Ansprechpartner' 'Vorname Y3' space space space space space space space space t_fieldcat,
*56 'NAME2_Y3' 'NAME2_Y3' 'TP_DATA' space space 'Nachname Ansprechpartner' 'Nachname Y3' space space space space space space space space t_fieldcat,
62 'NAME_TEXT_Y3' 'NAME_TEXT_Y3' 'TP_DATA' space space 'Ansprechpartner' 'Ansprechpartner' space space space space space space space space t_fieldcat,
63 'NAME3_Y3' 'NAME3_Y3' 'TP_DATA' space space 'Abteilung Ansprechpartner' 'Abteilung Y3' space space space space space space space space t_fieldcat,
64 'POST_CODE_Y3' 'POST_CODE_Y3' 'TP_DATA' space space 'PLZ Ansprechpartner' 'PLZ Y3' space space space space space space space space t_fieldcat,
65'STREET_Y3' 'STREET_Y3' 'TP_DATA' space space 'Strasse Ansprechpartner' 'Strasse Y3' space space space space space space space space t_fieldcat,
66 'CITY_Y3' 'CITY_Y3' 'TP_DATA' space space 'Ort Ansprechpartner' 'Ort Y3' space space space space space space space space t_fieldcat,
67 'LAND1_Y3' 'LAND1_Y3' 'TP_DATA' space space 'Land Ansprechpartner' 'Land Y3' space space space space space space space space t_fieldcat,
68 'EMAIL_Y3' 'EMAIL_Y3' 'TP_DATA' space space 'Email Ansprechpartner' 'Email Y3' space space space space space space space space t_fieldcat.
*61 'LAND1_Y3' 'LAND1_Y3' 'TP_DATA' space space 'Land Ansprechpartner' 'Land Y3' space space space space space space space space t_fieldcat.


* Layout
x_layout-zebra = 'X'.
x_layout-box_fieldname = 'MARK'.x_layout-box_tabname = 'IT_DATA'.

* Top of page heading
PERFORM set_top_page_heading USING t_heading t_event.

* Events
PERFORM set_events USING t_event.

* GUI Status
w_status = ''.
w_repid = sy-repid.

* Title
* w_title = <<If you want to set a title for
* the ALV, please, uncomment and edit this line>>.

* User commands
w_comm = 'USER_COMMAND'.

* Order
* Example
* PERFORM set_order USING '<field>' 'IT_DATA' 'X' space space t_sort.


* Displays the ALV grid
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = w_repid
it_fieldcat = t_fieldcat
is_layout = x_layout
it_sort = t_sort
i_callback_pf_status_set = w_status
i_callback_user_command = w_comm
* i_callback_user_command = 'REAKTION_AUF_DOPPELKLICK'
i_save = 'X'
it_events = t_event
i_grid_title = w_title
TABLES
t_outtab = t_data
EXCEPTIONS
program_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. " build_alv.

FORM set_top_page_heading USING t_heading TYPE slis_t_listheader
t_events TYPE slis_t_event.

DATA: x_heading TYPE slis_listheader,
x_event TYPE LINE OF slis_t_event.

* Report title
CLEAR t_heading[].
CLEAR x_heading.
x_heading-typ = 'H'.
x_heading-info = ''(001).
APPEND x_heading TO t_heading.

* Program name
CLEAR x_heading.
x_heading-typ = 'S'.
x_heading-key = 'Program: '.
x_heading-info = sy-repid.
APPEND x_heading TO t_heading.

* User who is running the report
CLEAR x_heading.
x_heading-typ = 'S'.
x_heading-key = 'User: '.
x_heading-info = sy-uname.
APPEND x_heading TO t_heading.

* Date of execution
CLEAR x_heading.
x_heading-typ = 'S'.
x_heading-key = 'Date: '.
WRITE sy-datum TO x_heading-info.
APPEND x_heading TO t_heading.

* Time of execution
CLEAR x_heading.
x_heading-typ = 'S'.
x_heading-key = 'Time: '.
WRITE sy-uzeit TO x_heading-info.
APPEND x_heading TO t_heading.

* Top of page event
x_event-name = slis_ev_top_of_page.
x_event-form = 'TOP_OF_PAGE'.
APPEND x_event TO t_events.

ENDFORM. "set_top_page_heading


FORM set_events USING t_events TYPE slis_t_event.

DATA: x_event TYPE LINE OF slis_t_event.

ENDFORM. "set_events


FORM set_order USING p_fieldname p_tabname p_up p_down p_subtot
t_sort TYPE slis_t_sortinfo_alv.

DATA: x_sort TYPE slis_sortinfo_alv.

CLEAR x_sort.
x_sort-fieldname = p_fieldname.
x_sort-tabname = p_tabname.
x_sort-up = p_up.
x_sort-down = p_down.
x_sort-subtot = p_subtot.
APPEND x_sort TO t_sort.


ENDFORM.

FORM set_fieldcat2 USING
p_colpos p_fieldname p_ref_fieldname p_ref_tabname
p_outputlen p_noout
p_seltext_m p_seltext_l p_seltext_s p_reptext_ddic p_ddictxt
p_hotspot p_showasicon p_checkbox p_edit
p_dosum
t_fieldcat TYPE slis_t_fieldcat_alv.

DATA: wa_fieldcat TYPE slis_fieldcat_alv.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = p_fieldname.
wa_fieldcat-col_pos = p_colpos.
wa_fieldcat-no_out = p_noout.
wa_fieldcat-hotspot = p_hotspot.
wa_fieldcat-checkbox = p_checkbox.
wa_fieldcat-icon = p_showasicon.
wa_fieldcat-do_sum = p_dosum.

IF p_ref_tabname IS INITIAL.
wa_fieldcat-rollname = p_ref_fieldname.
ELSE.
wa_fieldcat-ref_tabname = p_ref_tabname.
IF p_ref_fieldname EQ space.
wa_fieldcat-ref_fieldname = wa_fieldcat-fieldname.
ELSE.
wa_fieldcat-ref_fieldname = p_ref_fieldname.
ENDIF.
ENDIF.

* Set output length.
IF NOT p_outputlen IS INITIAL.
wa_fieldcat-outputlen = p_outputlen.
ENDIF.

* Set text headers.
IF NOT p_seltext_m IS INITIAL.
wa_fieldcat-seltext_m = p_seltext_m.
ENDIF.

IF NOT p_seltext_l IS INITIAL.
wa_fieldcat-seltext_l = p_seltext_l.
ENDIF.

IF NOT p_seltext_s IS INITIAL.
wa_fieldcat-seltext_s = p_seltext_s.
ENDIF.

IF NOT p_reptext_ddic IS INITIAL.
wa_fieldcat-reptext_ddic = p_reptext_ddic.
ENDIF.

IF NOT p_ddictxt IS INITIAL.
wa_fieldcat-ddictxt = p_ddictxt.
ENDIF.

* Set as editable or not.
IF NOT p_edit IS INITIAL.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
ENDIF.

APPEND wa_fieldcat TO t_fieldcat.

ENDFORM. "set_fieldcat2

*&------------------------------------------------------------------*
*& Form top_of_page
*&------------------------------------------------------------------*
* Called on top_of_page ALV event.
* Prints the heading.
*-------------------------------------------------------------------*
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_heading.
ENDFORM. " alv_top_of_page


FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.

* Reaktion auf Doppelklick
*DATA: wa_aktuelle_zeile TYPE LINE OF tp_tbl_data.
DATA: wa_aktuelle_zeile TYPE LINE OF tp_tbl_data.
DATA: wa_it_bdcdata TYPE bdcdata.

CASE r_ucomm.
WHEN '&IC1'.

READ TABLE it_data INTO wa_aktuelle_zeile
INDEX rs_selfield-tabindex.

DATA class_name TYPE c LENGTH 30 VALUE 'CL_SPFLI_PERSISTENT'.

DATA: bdcdata_wa TYPE bdcdata,
bdcdata_tab TYPE TABLE OF bdcdata.

DATA opt TYPE ctu_params.

* Daten für VA42 über Transaktionsrekorder 'SHDB' ermittelt.
CLEAR bdcdata_wa.
bdcdata_wa-program = 'SAPMV45A'.
bdcdata_wa-dynpro = '0102'.
bdcdata_wa-dynbegin = 'X'.
APPEND bdcdata_wa TO bdcdata_tab.

CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'VBAK-VBELN'.
bdcdata_wa-fval = wa_aktuelle_zeile-vbeln.
APPEND bdcdata_wa TO bdcdata_tab.


opt-dismode = 'E'.
opt-defsize = ''.

CALL TRANSACTION 'VA43' USING bdcdata_tab OPTIONS FROM opt.

ENDCASE.
ENDFORM.

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
mip hat geschrieben:Hallo,

ich find den Fehler nicht, ich schick euch mal anbei mal mein Coding, vielleicht sieht jemand sofort das Problem.
Hast du mal vor der ALV-Ausgabe die interne Tabelle überprüft, ob dort die Leerzeilen enthalten sind? Wenn schon Leerzeilen enthalten sind, ist nicht der ALV das Problem, sondern mit großer Wahrscheinlichkeit das Nachselektiern, welches du leider entfernt hast.

Gruß Hendrik

PS: Die Code-Tags sind nicht umsonst da, sie würden deinen Code wahrscheinlicher lesbarer machen.

Beitrag von mip (ForumUser / 48 / 0 / 2 ) »
Hallo,

hab jetzt mal die interne Tabelle überprüft und dort sind die Werte noch alle vorhanden. Am Nachselektieren liegt es nicht, hab dies rausgenommen und trotzdem tritt dieser merkwürdige Effekt auf. Nochmal eine Frage zu dem eventuellen Speicherproblem einer ALV ,wie kann man so etwas nachprüfen?

Danke für Eure Hilfe!

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Ab wievielen Zeilen Tritt der Fehler auf?

Beitrag von mip (ForumUser / 48 / 0 / 2 ) »
Bei ungefähr 500 Datensätzen tritt das Problem auf. Irgendwo in dieser Grössenordnung. Bei einer Selektion über 486DS hab ich noch keine einzige Leerzeile und bei einer Selektion über 511 taucht die erste Leerzeile auf (bei gefüllter Belegnummernspalte). Natürlich denkt man da zuerst an die maximale Trefferzahl bei Standard-SAP-Suchen, aber diese Einschränkung existiert doch nicht bei einer ALV, oder?

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Was für einen GUI verwendest du?
Eventuell könnte es auch an dem liegen!

Und wenn wir schon bei GUI sind:
In diesem Jahr läuft die Wartung für alle GUI´s ab die kleiner 7.00 sind.
Also am besten noch dieses Jahr (glaub Oktober wars) den GUI 7.10 holen.

Beitrag von mip (ForumUser / 48 / 0 / 2 ) »
an der GUI liegt es nicht, da haben wir bereits 7.10.

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
mip hat geschrieben:an der GUI liegt es nicht, da haben wir bereits 7.10.
Auch den Aktuellen Patchlevel?

Ist nur ne Frage, manchmal kann es auch daran liegen.


Wie breit in Zeichen ist ungefähr die Ausgabe.

Mir schweb noch irgenwo etwas im Gehirn, das ab einer bestimmten Grösse der ALV probleme hatte.
Aber das war eher beim Eingabebereiten dem man per Copy&Paste mal über 500Werte reinkopiert hatte. (Manche User sind grössenwahnsinnig)

Beitrag von mip (ForumUser / 48 / 0 / 2 ) »
Der Patchlevel des GUI ist 3.
Die Ausgabe pro Zeile liegt bei ca. 700 Zeichen inkl. Leerzeichen.

Seite 1 von 1

Vergleichbare Themen

5
Antw.
18330
Views
read table liefert sy-subrc = 4
von c oco » 04.04.2011 17:09 • Verfasst in ABAP® für Anfänger
0
Antw.
840
Views
RPTCORTMAIL liefert falsche Zeiterfassungsfehler
von Dyrdek » 30.11.2016 08:58 • Verfasst in ABAP® Core
6
Antw.
3464
Views
BAPI_USER_CHANGE liefert kein Passwort
von Dyrdek » 18.01.2017 08:58 • Verfasst in ABAP® für Anfänger
7
Antw.
4008
Views
BAPI_SALESORDER_CREATEFROMDAT2 liefert keine VBELN
von Julian_Feige » 27.01.2017 09:47 • Verfasst in Sales and Distribution
4
Antw.
2132
Views

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor einer Stunde von msfox 2 / 37
Interne Tabelle
vor 19 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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.

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor einer Stunde von msfox 2 / 37
Interne Tabelle
vor 19 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141