© serviceprofessionalgmbh

Hier wollen wir Abhilfe für ein ewiges Leiden schaffen. Gerade mit der Einbindung von REXX-Programmen unter ENDEVOR gibt es immer wieder die gleichen Probleme (mal läuft eine REXX innerhalb, mal ausserhalb des Prozessors):

Oft hat man den Eindruck, dass, wie immer man es macht, man es falsch macht. Wir bieten hier einen Weg, der immer zum gewünschten Erfolg führt. Die Zuweisung einer Datei erfolgt immer im REXX-Programm. Abhängig von der Umgebung wird diese Zuweisung direkt über ALLOCATE (bei IKJEFT01) oder aber über BPXWDYN (bei IRXJCL) durchgeführt. Die Ermittlung der Umgebung erfolgt durch die Funktion SYSINFO (siehe unter Power of Rexx bei Tipps & Tricks)

/* REXX **************************************************************
*                                                                    *
*  Dynamische Zuweisung einer Datei auch unter IRXJCL                *
*                                                                    *
*********************************************************************/
ENV = sysinfo("PROGNAME")
/* Dateizuweisung ***************************************************/
if ENV <> "IRXJCL" then do
   "ALLOC DD(IN) DA(dateiname) SHR REUSE"
   Rx_RC = RC
end
else do
   Rx_RC = bpxwdyn("ALLOC FI(IN) DA(dateiname) SHR REUSE")
end
if Rx_RC <> 0 then do
   say "Allocate Fehler auf File IN, RC="Rx_RC
   return Rx_RC
end
/* Lesen der Datei ***************************************************/
"execio * diskr IN (finis stem file."
do I = 1 to FILE.0
   say FILE.I
end
if ENV <> "IRXJCL" then do
   "FREE DD(IN)"
   Rx_RC = RC
end
else Rx_RC = bpxwdyn("FREE FI(IN)")
exit Rx_RC
zurück zu REXX im Batch