Hallo zusammen,

die Tipps im Forum haben mir bisher bei diesem Problem sehr weitergeholfen, aber mittlerweile bin ich Ratlos:

Um was geht es:
Ich erstelle aus einer RPG Anwendung ein Document in IFS.
Code:
 * Define open attributes                                                    
c                   eval      oflag = O_WRONLY + O_Create +                  
c                               O_TextData + O_TRUNC + O_Codepage            
c                                                                            
c                                                                            
c                                                                            
 * Define Mode      attributes                                               
c                   eval      Mode = S_IRWXU + S_IRWXO                       
c                   eval      $ftpfile = @GetEDIFile(ftpfil:send#)           
c                   eval      file = '/' +%trim(histlib) +                   
c                             '/' + 'UPEDI' +  '/' + %trim($ftpfile)        
 
c                   eval      fd = open(%trim(file):OFlag:                   
c                                        Mode:CodePage)                      
c

Der Wert Codepage ist zur Zeit auf

Code:
d   CodePage      s             10u 0 inz(37)
ich hab es aber auch mit
Code:
d   CodePage      s             10u 0 inz(1252)
versucht.

Die Datei doc wird erstellt nach
/QDSL/Fld/doc

Das klappt auch wunderbar, aber!

Wenn ich Codepage 37 (Epsidik) nehme, kann man den Inhalt im IFS wunderbar lesen.(Ausschnitt)
Code:
 ************Beginning of data************** 
020094                                  20071
A400483191385                 00002+000000000
Nach einem Download via FTP auf einen Windows Rechner, läßt sich die Datei ohne Probleme mit dem Texteditor öffnen und lesen.

Nehme ich Codepage 1252 (eigentlich ja ASCII), sieht das erstellte Dokument so aus: (nur ein Ausschnitt)

Code:
 
 ************Beginning of data**************     
ðòððùô@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@òðð÷ñòñðð
Áôððôøóñùñóøõ@@@@@@@@@@@@@@@@@ððððòNððððððððððððð
ãÅâã@ä×âò@âÁåÅÙ@@@@@@@@@@@@@@@@@@@@ÔÅÄÉÁ@ÔÁÙÒã@ÂÅ
und genauso kommt es mit FTP dann auch am Windows Rechner an. (die Codepage des Files ist nach dem erstellen
Coded character set ID . . . . . . . . : 5348 , das ist 1252 mit € Zeichen)

Mein Ziel ist es aber, die Datei als Mail zu verschicken, und zwar so, das die Datei richtig (also lesbar) ankommt. Dazu benutze ich nach dem Erstellen in meinem RPGLE Programm den Befehl:

Code:
c                   eval      cmd = 'sbmjob job(EDIMAIL) ' +               
c                             'cmd(SNDDST TYPE(*DOC) TOINTNET(('+          
c                             '''' + %trim(email) +  '''' + ')) ' +        
c                             'DSTD(''UPEDI'') ' +                        
C                             'MSG(''UPEDI for ' +                 
C                             %TRIM(#DATE10) + ''') ' +                    
c                             'DOC('+ DOSNAME +')' +                       
c                             ' FLR(UPEDI)' +                             
c                             ') jobd(CINJOBD) ' +                         
c                             'jobq(QBATCH2) inllibl(*current)' +          
c                              ' USER(MESSAGE)'
Ausgeschrieben lautet er so:

sbmjob job(EDIMAIL) cmd(SNDDST TYPE(*DOC)
TOINTNET(('x@y.com')) DSTD('EDI') MSG('UPEDI
for 10.12.2007') DOC(UP10125) FLR(UPEDI)) jobd(CINJOBD)jobq(QBATCH2)
inllibl(*current) USER(MESSAGE)

Ich habe den Job mit user message submitted, da mit es auch mit jedem Anwender funktioniert. Das ergebnis ist aber ohne submit das Selbe.

Die Mail kommt auch an, aber es ist egal mit welcher CODEPAGE, mann kann es nicht lesen.

Erzeuge ich dagegen das doc mit Codepage 37 und lade es dann per FTP nach Windows, kann ich die Datei lesen und ohne Probleme auch per Mail verschicken (natürlich manuell ).


Meine Frage:
Weis jemand, was ich machen kann/muss/soll, damit die Mail vernünftig beim Empfänger ankommt? (Ohne manuelles zutun). Läuft da vielleicht schon beim Erstellen was falsch?

Ich habe es mal versucht, ein Streamfile im IFS zu erstellen, dieses per FTP vom IFS zur "normalen" AS/400 zurück zu schieben (in ein File), es in ein PC Dokument umzuwandeln und es dann wegzuschicken. Das klappt, aber es darf dann höchstens 32600 (oder so) Zeichen lang sein. Das reicht manchmal nicht.

Vielen Dank für euere Hilfe.


seppiii