H*--+--------------------------------------------------------+--* H*--+ PROGRAM ID : RDSPOBJS +--* H*--+ PROGRAM NAME : RPG OF DISPLAY OBJECT SIZE +--* H*--+--------------------------------------------------------+--* H*--+ VERSION : 1.1 (98/10/08) ADDED F06,07 AND 08 +--* H*--+ 1.0 (98/09/20) +--* H*--+--------------------------------------------------------+--* H Y * F@DSPOBJSCF E WORKSTN F @RRN1 KSFILE @SFLTYPS F @RRN2 KSFILE @SFLOBJS F* FDSPOBJS IF E DISK * E*--+--------------------------------------------------------+--* E*--+ TABLE +--* E*--+--------------------------------------------------------+--* E TYP 84 8 OBJECT TYPE(S) * I*--+--------------------------------------------------------+--* I*--+ DATA STRUCTURE +--* I*--+--------------------------------------------------------+--* I* CHANGE DATE FORMAT I DS I 1 6 ODCDAT I 1 4 ODCDMD I 5 6 ODCDYY I DS I 1 60@CDATE I 1 20@CDAYY I 3 60@CDAMD * C*--+--------------------------------------------------------+--* C*--+ ACCEPT PARAMETER FROM OTHER PROGRAM +--* C*--+--------------------------------------------------------+--* C *ENTRY PLIST C PARM @POBJ OBJECT C PARM @PLIB LIBRARY C PARM TYP OBJECT TYPE C PARM @PUNIT UNIT C PARM P#BYTE 40 BYTE * C*--+--------------------------------------------------------+--* C*--+ START OF PROGRAM +--* C*--+--------------------------------------------------------+--* C EXSR SRINIT C EXSR SRMAIN C EXSR SREND * C*--+--------------------------------------------------------+--* C*--+ INITIALIZATION +--* C*--+--------------------------------------------------------+--* C SRINIT BEGSR C Z-ADD0 @CDATE CLEAR DS C EXSR SRCLR1 C EXSR SRCLR2 C EXSR SRTYPS C ENDSR * C*--+--------------------------------------------------------+--* C*--+ MAIN (CONTROL OF DISPLAY PANEL) +--* C*--+--------------------------------------------------------+--* C SRMAIN BEGSR C START TAG C WRITE@PNLINF C WRITE@CTLTYPS C WRITE@PNLWAIT C* C EXSR SROBJS C* DISPLAY DETAIL PANEL C ADD @RRN2 @OBJS OBJECT(S) C EXFMT@CTLOBJS C* C* (FUNCTION AND ENTER) C *INKC IFEQ *ON F3 C EXSR SREND C END C* C *INKF IFEQ *ON F06 C *INKG OREQ *ON F07 C *INKH OREQ *ON F08 C EXSR SRUNIT C EXSR SRCLR2 C GOTO START C END C* C F#NEXT IFEQ 'OVR10000' ENTER C Z-ADD0 W#CNT C MOVE ' 'F#NEXT 8 C EXSR SRCLR2 C GOTO START C END C* C ENDSR * C*--+--------------------------------------------------------+--* C*--+ END OF PROGRAM +--* C*--+--------------------------------------------------------+--* C SREND BEGSR C SETON LR C RETRN C ENDSR * * C*--+--------------------------------------------------------+--* C*--+ SET OBJECT TYPE FROM TYPE PARAMETER +--* C*--+--------------------------------------------------------+--* C SRTYPS BEGSR C Z-ADD0 X@ 50 INDEX C Z-ADD84 MAX# 50 MAX COUNT C* C X@ DOUGEMAX# C ADD 1 X@ C* C X@ IFLE MAX# C TYP,X@ ANDNE*BLANK C ADD 1 @RRN1 C* C SETOF 30 C @RRN1 DIV 2 WK#1 50 C MVR WK#MVR 50 C WK#MVR IFNE 0 C SETON 30 C END C* C MOVELTYP,X@ @TYPES OBJECT TYPE C* C WRITE@SFLTYPS C END C ENDDO C ENDSR * C*--+--------------------------------------------------------+--* C*--+ SET DETAIL FROM DSPOBJS FILE TO SUBFILE +--* C*--+--------------------------------------------------------+--* C SROBJS BEGSR C SETOF 59 C* C *IN90 DOUEQ*ON C READ DSPOBJS 90 C *IN90 IFEQ *OFF C* C ADD 1 W#CNT C W#CNT IFGE 10000 C MOVE 'OVR10000'F#NEXT 10000FLG C SETON 59 MESSAGE C READPDSPOBJS 91 C LEAVE C END C* C ADD 1 @RRN2 C* C MOVE ODOBNM @OBJ OBJECT C MOVE ODOBTP @TYPE OBJECT TYPE C MOVE ODOBAT @ATTR ATTRIBUTE C MOVE ODLBNM @LIB LIBRARY C MOVE ODOBOW @OWN OWNER C MOVE ODCDYY @CDAYY CREATE YY C MOVE ODCDMD @CDAMD CREATE MD C* C @PUNIT IFEQ '*BYTE' C Z-ADDODOBSZ @SIZE OBJECT SIZE C END C @PUNIT IFEQ '*KBYTE' C ODOBSZ DIV P#BYTE @SIZE H C END C @PUNIT IFEQ '*MBYTE' C ODOBSZ DIV P#BYTE @SIZE H KBYTE C @SIZE DIV P#BYTE @SIZE H MBYTE C END C* C MOVE ODOBTX @TEXT TEXT C ADD @SIZE @TOTAL TOTAL SIZE C* C WRITE@SFLOBJS C END C ENDDO C ENDSR * C*--+--------------------------------------------------------+--* C*--+ INITIALIZE OF SUBFILE(@SFLTYPS ) +--* C*--+--------------------------------------------------------+--* C SRCLR1 BEGSR C SETOF 81 C WRITE@CTLTYPS C SETON 81 C* C Z-ADD0 @RRN1 60 C ENDSR * C*--+--------------------------------------------------------+--* C*--+ INITIALIZE OF SUBFILE(@SFLOBJS) +--* C*--+--------------------------------------------------------+--* C SRCLR2 BEGSR C SETOF 82 C WRITE@CTLOBJS C SETON 82 C* C Z-ADD0 @RRN2 60 C Z-ADD0 W#CNT 60 C ENDSR * C*--+--------------------------------------------------------+--* C*--+ F06 OR F07 OR F08(CONTROL OF UNIT SIZE) +--* C*--+--------------------------------------------------------+--* C SRUNIT BEGSR C* C SELEC C *INKF WHEQ *ON F06 C MOVE '*BYTE ' @PUNIT C *INKG WHEQ *ON C MOVE '*KBYTE' @PUNIT C *INKH WHEQ *ON C MOVE '*MBYTE' @PUNIT C ENDSL C* C* INITIALIZE C 1 SETLLDSPOBJS C* C Z-ADD0 @OBJS C Z-ADD0 @TOTAL C ENDSR