hi again!
here i just start to write programe in free format & i converted my Fixed source, line by line to Free! compiled it successfully!
when i run the programe, generate error messge "Permanent I/O error occurred in file CALADDR01 (C G D F)." so i debug it & problem is write message controler;
Please advice !
as well as i wanna go to fully free & hope to remove 'C' specs from my program, if so what happend to *inzsr??
is it my free format writing style is good? & advice to improve it pls!
thanks
regards
dhanuxp
here i just start to write programe in free format & i converted my Fixed source, line by line to Free! compiled it successfully!
when i run the programe, generate error messge "Permanent I/O error occurred in file CALADDR01 (C G D F)." so i debug it & problem is write message controler;
Please advice !
as well as i wanna go to fully free & hope to remove 'C' specs from my program, if so what happend to *inzsr??
is it my free format writing style is good? & advice to improve it pls!
Code:
H DEBUG DATEDIT(*YMD) TIMFMT(*HMS) FCALADDR01 CF E WORKSTN INFDS(WSDS) D @F03 C CONST(X'33') D @F08 C CONST(X'38') D @F12 C CONST(X'3C') D @CLEAR C CONST(X'BD') D @ENTER C CONST(X'F1') D @HELP C CONST(X'F3') D @PAGUP C CONST(X'F4') D @PAGDN C CONST(X'F5') D @PRINT C CONST(X'F6') * **----------------------------------------------------------------* ** Standard include for all interactive programs * ** Defines standard constants * **================================================================* * D @FALSE C CONST('0') D @TRUE C CONST('1') D @FOLD C CONST('0') D @DROP C CONST('1') * **----------------------------------------------------------------* ** Standard include for all interactive programs * ** display file information data structure * **================================================================* * D WSDS DS ** Identifies the key pressed D KEY 369 369 D PAGRRN 378 379B 0 D CURSOR 370 371B 0 D DS INZ ** Identifies the subfile page rrn D STKCNT 1 4B 0 D DTALEN 5 8B 0 D ERRCOD 9 12B 0 ** GET Local user ID. D SDS D USER 254 263 d @Exit S 1a d @empno S 4 0 * **================================================================* D msgStat S 1A D mSgid S 7A D mSgdtasize C const(80) **-------------------------------------------------------------------* D SndPgmMsg PR ExtPgm('QMHSNDPM') D MsgId 7 Const D MsgFile 20 Const D MsgDta 80 Const D MsgDtaLen 10I 0 Const D MsgType 10 Const D MsgQ 10 Const D Msgqnbr 10I 0 Const D MsgKey 4 D ErroR Like(ErrorDS) **-------------------------------------------------------------------* D ClrmsgQ PR ExtPgm('QMHRMVPM') D MsgQueue 276A const D Callstack 10I 0 const D MsgKey 4A const D MsgRmv 10A const D Error like(ErrorDS) // D ErrorDS DS 16 D bYtesprov 10i 0 inz(16) D bYtesavaiL 10i 0 D eXceptionid 7 D D D **================================================================* * /free *inlr = *on; Exsr MsfSnd; dow @exit <>'1'; Write MsgCtl; Exfmt Scr01; EXSR MSFCLR; select; when key = @F03; Exsr @f03sr; when key = @f12; Exsr @f12sr; when key = @Enter; Exsr @Entky; endsl; Enddo; return; Begsr @F03sr; @Exit = '1'; Endsr; Begsr @F12sr; Endsr; Begsr @entKy; Endsr; BegSr Msfsnd; CallP SndPgmMsg(MsgID:'ATKEMSGF *LIBL':'ID':MsgDtaSize:'*INFO': '*':0:MsgKey:ErrorDS); Endsr; // BegSr MsfClr; CallP ClrMsgQ('*':*Zero:*Blanks:'*ALL':ErrorDS); Endsr; /End-free C *Inzsr BegSr C Eval MsgID = 'ATK0000' C Move *Blanks MsgKey 4 C Endsr
regards
dhanuxp
Comment