vielen Dank für Eure Hilfe,
- leider bringt *PGMBDY nichts
- auch mit der Prozedur von Frank gab's kein Erfolg...
- muss man vielleicht was in der Aktivierungsgruppe einstellen (ACTGROUP *NEW ...) ?
....
anbei die komplette Source:
GrußCode:H DECEDIT('0,') DATEDIT(*DMY.) H DFTACTGRP(*NO) OPTION(*NODEBUGIO) H* *************************************************************** * //----------------------------------- // Prototypenbeschreibung für Module // und Serviceprogramme einbinden //----------------------------------- D/COPY QSYSINC/QRPGLESRC,QUSROBJD * //----------------------------------------- // Prozeduren für Exterene Programmaufrufe //----------------------------------------- D USROBJD PR EXTPGM('QUSROBJD') D R_RTN 527A D R_LEN 4B 0 D R_FMT 8A D R_OBJ 20A D R_OBJT 10A * //----------------------------------------- // übersicht interne Prozeduren/Funktionen //----------------------------------------- D GET_SIZE PR D V_OBJ 10A VALUE D V_LIBL 10A VALUE D V_SIZE 9S 0 OPTIONS(*NOPASS) D V_OK N OPTIONS(*NOPASS) * * Prozedurenprototyp für Prozedur 'QMHSNDPM' * dQMHSNDPM PR ExtPgm('QMHSNDPM') d 7A Const d 20A Const d 32767A Const Options(*VarSize) d 10I 0 Const d 10A Const d 256A Const d 10I 0 Const d 4A d 32767A Options(*VarSize) d 10I 0 Const Options(*NoPass) d 20A Const Options(*NoPass) d 10I 0 Const Options(*NoPass) d 10A Const Options(*NoPass) d 10I 0 Const Options(*NoPass) * * Datenstruktur für Format 'ERRC0100' für Fehlercode * dERRC0100 DS d ERRCBytePrv 10I 0 Inz(272) d ERRCByteAvl 10I 0 d ERRCExcId 7A d ERRCRsrvd 1A d ERRCExcDta 256A * //------------------------------------------ // Variablendeklaration //------------------------------------------ * D OK S N Inz(*Off) d ITMsgKey S 4A D P_MsgData S 32767A D P_DataLength S 10I 0 D SIZE S 9S 0 * ‚*------------------------------------------------------------------- ‚* PARAMETER ‚*------------------------------------------------------------------- C *ENTRY PLIST C PARM PAFILE 10 C PARM PALIBL 10 * C*‚******************************************************************** C*š* MAIN-PROGRAM * C*‚******************************************************************** * * // Größe der Datei ermitteln C CALLP(E) GET_SIZE(PAFILE:PALIBL:SIZE:OK) * C EXSR SND_MSG * *š // Programmende einleiten C MOVE *ON *INLR C* *===================================================================== *= SND_MSG - Nachricht in die Messagesubfile schreiben *===================================================================== C SND_MSG BEGSR * * // Vorhergehende Verarbeitung ok ? C IF OK C EVAL P_MsgData = 'Datei: ' + %TRIM(PAFILE) + C ' - Größe: ' + C %TRIM(%EDITC(SIZE:'K')) + ' Byte' C ELSE C EVAL P_MsgData = 'Datei wurde nicht gefunden...' C ENDIF * C EVAL P_DataLength = %SIZE(P_MsgData) * * //Nachricht in die Messagesubfile senden c Reset ERRC0100 c CallP QMHSNDPM('CPF9897' : c 'QCPFMSG *LIBL' : c P_MsgData : c P_DataLength : c '*INFO' : c '*' : c 2 : c ITMsgKey : c ERRC0100 : c 1 : c '*NONE *NONE' : c 0) * C ENDSR * //-------------------------------------------------------------------- // Funktion GET_SIZE : Dateigröße ermitteln //-------------------------------------------------------------------- P GET_SIZE B D GET_SIZE PI D V_OBJ 10A VALUE D V_LIBL 10A VALUE D V_SIZE 9S 0 OPTIONS(*NOPASS) D V_OK N OPTIONS(*NOPASS) //------------------ // Lokale Variablen //------------------ D L_LEN S 4B 0 INZ D L_FMT S 8A INZ D L_OBJ S 20A INZ D L_OBJT S 10A INZ D L_TEST S 527A INZ //-------------------------------------------------------------------- C CLEAR QUSD0400 * C IF V_LIBL = *BLANKS C EVAL L_OBJ = V_OBJ + '*LIBL' C ELSE C EVAL L_OBJ = V_OBJ + '' + %TRIM(V_LIBL) C ENDIF * C EVAL L_OBJT = '*FILE' C EVAL L_LEN = %SIZE(QUSD0400) C EVAL L_FMT = 'OBJD0400' C CALLP(E) USROBJD(L_TEST:L_LEN:L_FMT:L_OBJ:L_OBJT) C EVAL QUSD0400 = L_TEST C IF NOT %ERROR() C EVAL V_SIZE = QUSOBJS00 C EVAL V_OK = *ON C ELSE C EVAL V_OK = *OFF C ENDIF * C RETURN * //-------------------------------------------------------------------- P GET_SIZE E
Bratmaxxe
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks