Also das sieht mir sehr nach einem Bug aus (vielleicht ist's ja auch ein Feature - haha).

Ich habe jetzt das Programm zum Mail-Versand einmal direkt mit CALL aufgerufen und einmal über den CMD. Die Parameter sind alle vom gleichen Typ und gleicher Länge. Beim CALL funktioniert alles so wie es sein soll. Beim CMD gibt es diese Probleme mit dem langen Textfeld. Im Debug sieht dieses Textfeld bei beiden Varianten absolut gleich auch (auch in Hex-Ansicht). Offenbar wird das Feld dann intern anders behandelt, wenn es von einem CMD übergeben wird, als von einem CALL.

Da ich die Mail im Batch versenden will (per SBMJOB) nützt mir der reine CALL leider nicht viel, weil bei dieser Konstellation (SBMJOB -> CALL) die Parameter dann nochmal anders übergeben werden und trotz gleicher Parameterlängen im gerufenen Programm die Parameterwerte auf einmal völlig verschoben sind. Da werden offenbar die Pointer falsch gesetzt. Deshalb wollte ich das über den CMD lösen.

Jetzt konnte ich das Problem doch ganz gut umgehen. Ich habe einfach als weiteren Parameter noch die Länge des Inhalts dieses langen Textfeldes eingebaut und mache im gerufenen Programm als erstes einen Substring auf dieses Feld mit dieser Länge. Und jetzt funktioniert's richtig.

Ist schon komisch das Ganze...

Gruß,
KM