Code: Alles auswählen.
LOOP AT i_povol INTO f_povol. " Hier kracht es also!!!
...
ENDLOOP.
Code: Alles auswählen.
DATA: BEGIN OF i_povol OCCURS 0.
INCLUDE STRUCTURE zcmd_povol.
DATA: END OF i_povol.
Definition der Tabelle zcmd_povol:
DATENELEMENT DATENTYP LÄNGE
MANDT CLNT 3
SYSYSID CHAR 8
LIFNR CHAR 10
BUKRS CHAR 4
EKORG CHAR 4
HWAER CUKY 5
BUPER ACCP 6
MC_EFFWR CURR 15
Code: Alles auswählen.
DATA: BEGIN OF f_povol,
sysid TYPE sysid, " CHAR 30
mandt TYPE mandt, " CLNT 3
lifnr TYPE lifnr, " CHAR 10
bukrs TYPE bukrs, " CHAR 4
ekorg TYPE ekorg, " CHAR 4
hwaer TYPE hwaer, " CUKY 5
perio TYPE buper, " ACCP 6
netwr TYPE netwr, " CURR 15
END OF f_povol.
Code: Alles auswählen.
data:
f_povol like line of i_povol[].
so, ein Fehler besteht schon einmal darin, dass tab nun der Name einer Tabelle _ohne_ Kopfzeile ist. Somit löscht 'CLEAR tab.' die Tabelle, da es keine gleichnamige Kopfzeile mehr gibt.Kristin hat geschrieben:......Code: Alles auswählen.
form file. clear tab. "<<<==== falsch! Richtig ist CLEAR pc. SHIFT t-dzeit LEFT DELETING LEADING '0'. SHIFT t-zaehl LEFT DELETING LEADING '0'. SHIFT h_vorgaenger LEFT DELETING LEADING '0'. CONCATENATE t-dzeit ' Tage' INTO t_dzeit22. concatenate t-zaehl ';' t-bezei ';' h_text ';' t_dzeit22 ';' h_vorgaenger into pc. clear t_dzeit22. append pc to tab.
Code: Alles auswählen.
select single * from makt
where matnr = t-matnr
and spras = sy-langu.
move t-matnr+10 to t-bezei.
replace '"' with ' ' into makt-maktx.
move makt-maktx to t-bezei+09.
move 'Sub-Nr.:' to t-bezei+72.
move p_belnr+5(5) to t-bezei+82.
move p_posnr+3(3) to t-bezei+89.
move t-mtart to t-bezei+95.
data: h_vorgaenger(999) type c.
data: a(4) type n.
clear h_vorgaenger.
a = 1.
loop at vor.
at first.
move ' " ' to h_vorgaenger+0(1).
endat.
move vor-vorgaenger to h_vorgaenger+a(4).
a = a + 4.
move ' ; ' to h_vorgaenger+a(1).
a = a + 1.
at last.
a = a - 1.
move ' " ' to h_vorgaenger+a(1).
endat.
endloop.
clear h_text.
move 'Target-Preis:' to h_text.
write t-preis to h_text+15(11) currency 'EUR'.
move 'Kalk-Preis:' to h_text+50.
write t-pkalk to h_text+65(11) currency 'EUR'.
move 'Differenz:' to h_text+100.
write t-differ to h_text+115(11) currency 'EUR'.
move 'Mtart:' to h_text+160.
move t-mtart to h_text+167.
clear tab.
DATA t_dzeit22 TYPE string.
clear pc.
SHIFT t-dzeit LEFT DELETING LEADING '0'.
SHIFT t-zaehl LEFT DELETING LEADING '0'.
SHIFT h_vorgaenger LEFT DELETING LEADING '0'.
CONCATENATE t-dzeit ' Tage' INTO t_dzeit22.
concatenate t-zaehl ';' t-bezei ';' h_text ';' t_dzeit22 ';' h_vorgaenger into pc.
clear t_dzeit22.
append pc to tab.
endform. " file
Code: Alles auswählen.
form ms_project_kopf.
refresh tab.
clear tab.
move 'Einmalige_Nr;Name;Notizen;Dauer;Vorgänger' to pc.
append pc to tab.
clear tab.
move '1;;;;' to pc.
append pc to tab.
clear tab.
endform. " MS_project_kopf
Code: Alles auswählen.
...
move t-mtart to h_text+167.
clear tab. "was macht das CLEAR hier?
DATA t_dzeit22 TYPE string.
clear pc.
gern geschehen...Kristin hat geschrieben:hey hey guten morgen
thank you!! hat funktioniert... das clear hab ich einfach auskommentiert -> Tabelle sieht nun aus wie gewünscht
ja, klar. Hast recht. Bei Altprogrammen sollte man nur umstellen, wo es notwendig ist.Kristin hat geschrieben:zu P.S. also ja das hab ich im grundkurs auch so gelernt und bei meinen progs halte ich mich auch daran, nur sind das ca. 700 alte programme, die ich korrigieren muss und dabei konzentrier ich mich vorerst nur darauf, dass sie richtig laufen wer das vorher wie aufgebaut hat ist mir da relativ egal... was ja auch verständlich ist oder?
also vieleeeen dank nochmal!