Code: Alles auswählen.
DATA: BEGIN OF tabulator,
x(1) TYPE x VALUE '09',
END OF tabulator.
DATA: tabulator_c(1) TYPE c.
DATA: c_to LIKE tcp00-cpcodepage,
c_from LIKE tcp00-cpcodepage VALUE '1100'.
data string type string.
*
CALL FUNCTION 'SYSTEM_CODEPAGE'
IMPORTING
codepage = c_to.
tabulator_c = tabulator.
TRANSLATE tabulator_c FROM CODE PAGE c_from TO CODE PAGE c_to.
open dataset datei for output in text mode MESSAGE MESS.
IF SY-SUBRC <> 0.
MESSAGE E000(ZZ) WITH MESS.
ENDIF.
loop at itab.
do.
assign component sy-index of structure itab to <f>.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
concatenate string <f> tabulator_c into string.
enddo.
transfer string to datei.
add 1 to anz.
endloop.
close dataset datei.
Code: Alles auswählen.
concatenate string <f> tabulator_c into string.
REPORT zdriesch_test.
TYPES:BEGIN OF t_kna1,
mandt LIKE kna1-mandt,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
END OF t_kna1.
DATA: it1_kna1 TYPE t_kna1 OCCURS 1,
wa1_kna1 TYPE t_kna1.
DATA: BEGIN OF tabulator,
x(1) TYPE x VALUE '09',
END OF tabulator.
DATA: tabulator_c(1) TYPE c.
DATA: c_to LIKE tcp00-cpcodepage,
c_from LIKE tcp00-cpcodepage VALUE '1100'.
DATA string TYPE string.
FIELD-SYMBOLS <f> TYPE ANY.
START-OF-SELECTION.
wa1_kna1-mandt = '100'.
wa1_kna1-kunnr = '4711'.
wa1_kna1-name1 = 'Lustig'.
APPEND wa1_kna1 TO it1_kna1.
wa1_kna1-mandt = '100'.
wa1_kna1-kunnr = '4712'.
wa1_kna1-name1 = 'Müller'.
APPEND wa1_kna1 TO it1_kna1.
wa1_kna1-mandt = '100'.
wa1_kna1-kunnr = '4713'.
wa1_kna1-name1 = 'Maier'.
APPEND wa1_kna1 TO it1_kna1.
wa1_kna1-mandt = '110'.
wa1_kna1-kunnr = '4714'.
wa1_kna1-name1 = 'Fritz'.
APPEND wa1_kna1 TO it1_kna1.
wa1_kna1-mandt = '100'.
wa1_kna1-kunnr = '4715'.
wa1_kna1-name1 = 'Karl'.
APPEND wa1_kna1 TO it1_kna1.
wa1_kna1-mandt = '100'.
wa1_kna1-kunnr = '4716'.
wa1_kna1-name1 = 'Reinhard'.
APPEND wa1_kna1 TO it1_kna1.
CALL FUNCTION 'SYSTEM_CODEPAGE'
IMPORTING
codepage = c_to.
tabulator_c = tabulator.
TRANSLATE tabulator_c FROM CODE PAGE c_from TO CODE PAGE c_to.
DATA: mess TYPE string.
DATA: datei TYPE string.
MOVE '#####PFAD#####' TO datei.
OPEN DATASET datei FOR OUTPUT IN TEXT MODE MESSAGE mess.
IF sy-subrc <> 0.
MESSAGE e000(zz) WITH mess.
ENDIF.
DATA: anz TYPE i.
LOOP AT it1_kna1 INTO wa1_kna1.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE it1_kna1 TO <f>.
IF sy-subrc <> 0.
EXIT.
ENDIF.
CONCATENATE string <f> tabulator_c INTO string.
ENDDO.
TRANSFER string TO datei.
ADD 1 TO anz.
ENDLOOP.
CLOSE DATASET datei.
Ja.Newbie2--neuesProblem hat geschrieben:Hi,
habs soweit am laufen, nur folgendes Problem:
Wenn ich aus der BSEG Daten selektiere, dies in eine Interne Tabelle schreibe und diese dann nach o.g. Muster durch Tabs getrennt in eine Datei auf dem Applikationsserver schreibe, gibts Probleme bei bestimmten Feldern, z.B. bei Beträgen, die in der Internen Tabelle beim Debuggen mit z.B. "1000.00"
angezeigt werden.
Beim Zusammensetzen des Strings für die Zeile in der Datei werden diese Beträge jedoch nicht ordentlich weggeschrieben, sondern es kommt nur Müll raus.
Jemand ne Idee woran das liegen könnte?