Article

Print/Display indicators --Code

Terry Ray
 INDCAT SOURCE - IS TYPE CMD
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
/* 01/04/04  SOURCE CREATED                                      TCR */
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
             CMD        PROMPT('Indicators used in source')
             PARM       KWD(FILE) TYPE(*CHAR) LEN(10) MIN(1) +
                          PROMPT('File Name')
             PARM       KWD(LIB) TYPE(*CHAR) LEN(10) DFT(*LIBL) +
                          MIN(0) PROMPT('Library Name')
             PARM       KWD(MBR) TYPE(*CHAR) LEN(10) MIN(1) +
                          PROMPT('Member Name')
             PARM       KWD(OPT) TYPE(*CHAR) LEN(10) RSTD(*YES) +
                          DFT(6) VALUES(5 6) PROMPT('Print/Display')
             PARM       KWD(TYPE) TYPE(*CHAR) LEN(10) DFT(RPG) +
                          PROMPT('Source Type')



FICLST SOURCE - IS TYPE CLP
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
/* 01/04/11  SOURCE CREATED                                      TCR */
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
             PGM        PARM(&IND &FILE &LIB &MBR &OPT &TYPE)

             DCL        VAR(&FILE) TYPE(*CHAR) LEN(10)
             DCL        VAR(&IND) TYPE(*CHAR) LEN(2)
             DCL        VAR(&LIB) TYPE(*CHAR) LEN(10)
             DCL        VAR(&MBR) TYPE(*CHAR) LEN(10)
             DCL        VAR(&OPT) TYPE(*CHAR) LEN(10)
             DCL        VAR(&TYPE) TYPE(*CHAR) LEN(10)

             ADDLIBLE   LIB(PGMTOOLS) POSITION(*LAST)
             MONMSG     MSGID(CPF2103)

             IF         COND(&TYPE *EQ 'RPG') THEN(DO)
             CRTSRCPF   FILE(QTEMP/QRPGSRC)
             MONMSG     MSGID(CPF0000)
             CPYSRCF    FROMFILE(PGMTOOLS/QRPGSRC) +
                          TOFILE(QTEMP/QRPGSRC) FROMMBR(ISGBLK) +
                          TOMBR(&MBR)
             CPYSRCF    FROMFILE(&LIB/&FILE) TOFILE(QTEMP/QRPGSRC) +
                          FROMMBR(&MBR) MBROPT(*ADD)
             OVRDBF     FILE(QRPGSRC) TOFILE(QTEMP/QRPGSRC) MBR(&MBR)
             OVRPRTF    FILE(QPSUPRTF) SPLFNAME(&MBR)

             CALL       PGM(FIGRPG) PARM(&IND &FILE &LIB &MBR)

             STRSEU     SRCFILE(QTEMP/QRPGSRC) SRCMBR(&MBR) +
                          OPTION(&OPT)
             ENDDO

             IF         COND(&TYPE *EQ 'RPGLE') THEN(DO)
             CRTSRCPF   FILE(QTEMP/QRPGSRCL) RCDLEN(112)
             MONMSG     MSGID(CPF0000)
             CPYSRCF    FROMFILE(PGMTOOLS/QRPGSRC) +
                          TOFILE(QTEMP/QRPGSRCL) FROMMBR(ISGBLK) +
                          TOMBR(&MBR)
             CPYSRCF    FROMFILE(&LIB/&FILE) TOFILE(QTEMP/QRPGSRCL) +
                          FROMMBR(&MBR) MBROPT(*ADD)
             OVRDBF     FILE(QRPGSRCL) TOFILE(QTEMP/QRPGSRCL) MBR(&MBR)
             OVRPRTF    FILE(QPSUPRTF) SPLFNAME(&MBR)

             CALL       PGM(FIGRPGLE) PARM(&IND &FILE &LIB &MBR)

             STRSEU     SRCFILE(QTEMP/QRPGSRCL) SRCMBR(&MBR) +
                          OPTION(&OPT)
             ENDDO

             IF         COND(&TYPE *EQ 'DSPF') THEN(DO)
             CRTSRCPF   FILE(QTEMP/QRPGSRC)
             MONMSG     MSGID(CPF0000)
             CPYSRCF    FROMFILE(PGMTOOLS/QRPGSRC) +
                          TOFILE(QTEMP/QRPGSRC) FROMMBR(ISGBLK) +
                          TOMBR(&MBR)
             CPYSRCF    FROMFILE(&LIB/&FILE) TOFILE(QTEMP/QRPGSRC) +
                          FROMMBR(&MBR) MBROPT(*ADD)
             OVRDBF     FILE(QRPGSRC) TOFILE(QTEMP/QRPGSRC) MBR(&MBR)
             OVRPRTF    FILE(QPSUPRTF) SPLFNAME(&MBR)

             CALL       PGM(FIGDDS) PARM(&IND &FILE &LIB &MBR)

             STRSEU     SRCFILE(QTEMP/QRPGSRC) SRCMBR(&MBR) +
                          OPTION(&OPT)
             ENDDO

             RMVLIBLE   LIB(PGMTOOLS)
             MONMSG     MSGID(CPF2104)

             ENDPGM



FIGDDS SOURCE - IS TYPE RPG
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
      * 01/04/11  SOURCE CREATED                                    TCR
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     FQRPGSRC UP  E                    DISK
     F            QRPGSRC                           KRENAMESRC
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     I            DS
     I                                        1  80 SRCDTA
     I                                        6   6 LNECDE
     I                                        7   7 LNECOM
     I                                        9  10 INDC1
     I                                       12  13 INDC2
     I                                       15  16 INDC3
     I                                       45  56 INDWC
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     C           *ENTRY    PLIST
     C                     PARM           @IND    2
     C                     PARM           @FILE  10
     C                     PARM           @LIB   10
     C                     PARM           @MBR   10
      *
     C           1         DO   1
      *
      * MARK FIRST RECORD (WHICH IS A COMMENT ADDED)
     C           FSTREC    IFNE '1'
     C                     MOVELX'21'     SRCDTA
     C           SRCDTA    CAT  @MBR:2    SRCDTA
     C           SRCDTA    CAT  '/':0     SRCDTA
     C           SRCDTA    CAT  @FILE:0   SRCDTA
     C           SRCDTA    CAT  '/':0     SRCDTA
     C           SRCDTA    CAT  @LIB:0    SRCDTA
     C           SRCDTA    CAT  'IND:':2  SRCDTA
     C           SRCDTA    CAT  @IND:0    SRCDTA
     C                     MOVE '1'       FSTREC  1
     C                     UPDATSRC
     C                     LEAVE
     C                     ENDIF
      *
     C           LNECOM    IFEQ '*'
     C                     DELETSRC
     C                     LEAVE
     C                     ENDIF
      *
      * INDICATOR IN CONDITION 1
     C           INDC1     IFEQ @IND
     C                     LEAVE
     C                     ENDIF
      *
      * INDICATOR IN CONDITION 2
     C           INDC2     IFEQ @IND
     C                     LEAVE
     C                     ENDIF
      *
      * INDICATOR IN CONDITION 3
     C           INDC3     IFEQ @IND
     C                     LEAVE
     C                     ENDIF
      *
      * CHECK FOR COMMAND FUNCTION KEY
     C           'CF':2    SCAN INDWC:1   L       20     51
     C  N51      'CA':2    SCAN INDWC:1   L              51
     C  N51      'CLEAR':5 SCAN INDWC:1   L              51
     C  N51      'PAGE':4  SCAN INDWC:1   L              51
     C  N51      'ROLL':4  SCAN INDWC:1   L              51
     C  N51      'HOME':4  SCAN INDWC:1   L              51
     C  N51      'HELP':4  SCAN INDWC:1   L              51
     C  N51      'HLPRT':5 SCAN INDWC:1   L              51
     C  N51      'SETOF':5 SCAN INDWC:1   L              51
     C  N51      'CHANG':5 SCAN INDWC:1   L              51
     C  N51      'VLDCM':5 SCAN INDWC:1   L              51
     C           *IN51     IFEQ '1'
     C           '(':1     SCAN INDWC:1   L              52
     C           *IN52     IFEQ '1'
     C                     ADD  1         L
     C           2         SUBSTINDWC:L   INDC3
     C           INDC3     IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C                     ENDIF
      *
     C                     DELETSRC
      *
     C                     ENDDO
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*



FIGRPG SOURCE - IS TYPE RPG
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
      * 01/04/11  SOURCE CREATED                                    TCR
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     FQRPGSRC UP  E                    DISK
     F            QRPGSRC                           KRENAMESRC
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     I            DS
     I                                        1  80 SRCDTA
     I                                        6   6 LNECDE
     I                                        7   7 LNECOM
     I                                       18  20 INDF1
     I                                       21  21 INDF1C
     I                                       21  22 INDF11
     I                                       22  23 INDF12
     I                                       33  35 INDF2
     I                                       36  36 INDF2C
     I                                       36  37 INDF21
     I                                       37  38 INDF22
     I                                       34  34 INDFL1
     I                                       35  35 INDFL2
     I                                       36  36 INDFL3
     I                                       37  37 INDFL4
     I                                       38  38 INDFL5
     I                                       39  39 INDFL6
     I                                       40  40 INDFL7
     I                                       41  41 INDFL8
     I                                       43  45 INDRS
     I                                       46  46 INDRSC
     I                                       46  47 INDRS1
     I                                       47  48 INDRS2
     I                                       54  55 INDHI
     I                                       56  57 INDLO
     I                                       58  59 INDEQ
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     C           *ENTRY    PLIST
     C                     PARM           @IND    2
     C                     PARM           @FILE  10
     C                     PARM           @LIB   10
     C                     PARM           @MBR   10
      *
     C           1         DO   1
      *
      * MARK FIRST RECORD (WHICH IS A COMMENT ADDED)
     C           FSTREC    IFNE '1'
     C                     MOVELX'21'     SRCDTA
     C           SRCDTA    CAT  @MBR:2    SRCDTA
     C           SRCDTA    CAT  '/':0     SRCDTA
     C           SRCDTA    CAT  @FILE:0   SRCDTA
     C           SRCDTA    CAT  '/':0     SRCDTA
     C           SRCDTA    CAT  @LIB:0    SRCDTA
     C           SRCDTA    CAT  'IND:':2  SRCDTA
     C           SRCDTA    CAT  @IND:0    SRCDTA
     C                     MOVE '1'       FSTREC  1
     C                     UPDATSRC
     C                     LEAVE
     C                     ENDIF
      *
     C           LNECDE    IFNE 'C'
     C                     DELETSRC
     C                     LEAVE
     C                     ENDIF
      *
     C           LNECOM    IFEQ '*'
     C                     DELETSRC
     C                     LEAVE
     C                     ENDIF
      *
      * INDICATOR IN HIGH
     C           INDHI     IFEQ @IND
     C                     LEAVE
     C                     ENDIF
      *
      * INDICATOR IN LOW
     C           INDLO     IFEQ @IND
     C                     LEAVE
     C                     ENDIF
      *
      * INDICATOR IN EQUAL
     C           INDEQ     IFEQ @IND
     C                     LEAVE
     C                     ENDIF
      *
      * INDICATOR IN FACTOR1
     C           INDF1     IFEQ '*IN'
     C           INDF1C    IFNE ','
     C           INDF11    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDF1C    IFEQ ','
     C           INDF12    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C                     ENDIF
      *
      * INDICATOR IN FACTOR2
     C           INDF2     IFEQ '*IN'
     C           INDF2C    IFNE ','
     C           INDF21    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDF2C    IFEQ ','
     C           INDF22    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C                     ENDIF
      *
      * INDICATOR IN RESULT
     C           INDRS     IFEQ '*IN'
     C           INDRSC    IFNE ','
     C           INDRS1    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDRSC    IFEQ ','
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     MOVE INDRS2    TSTIN1  20
     C           INDFL2    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL3    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL4    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL5    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL6    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL7    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL8    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C                     ENDIF
     C                     ENDIF
      *
     C                     DELETSRC
      *
     C                     ENDDO
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*



FIGRPGLE SOURCE - IS TYPE RPG
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
      * 01/04/11  SOURCE CREATED                                    TCR
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     FQRPGSRCLUP  E                    DISK
     F            QRPGSRCL                          KRENAMESRC
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     I            DS
     I                                        1 100 SRCDTA
     I                                        6   6 LNECDE
     I                                        7   7 LNECOM
     I                                       12  14 INDF1
     I                                       15  15 INDF1C
     I                                       15  16 INDF11
     I                                       16  17 INDF12
     I                                       36  38 INDF2
     I                                       39  39 INDF2C
     I                                       39  40 INDF21
     I                                       40  41 INDF22
     I                                       37  37 INDFL1
     I                                       38  38 INDFL2
     I                                       39  39 INDFL3
     I                                       40  40 INDFL4
     I                                       41  41 INDFL5
     I                                       42  42 INDFL6
     I                                       43  43 INDFL7
     I                                       44  44 INDFL8
     I                                       45  45 INDFL9
     I                                       46  46 INDFL0
     I                                       47  47 INDFLA
     I                                       48  48 INDFLB
     I                                       50  52 INDRS
     I                                       53  53 INDRSC
     I                                       53  54 INDRS1
     I                                       54  55 INDRS2
     I                                       71  72 INDHI
     I                                       73  74 INDLO
     I                                       75  76 INDEQ
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     C           *ENTRY    PLIST
     C                     PARM           @IND    2
     C                     PARM           @FILE  10
     C                     PARM           @LIB   10
     C                     PARM           @MBR   10
      *
     C           1         DO   1
      *
      * MARK FIRST RECORD (WHICH IS A COMMENT ADDED)
     C           FSTREC    IFNE '1'
     C                     MOVELX'21'     SRCDTA
     C           SRCDTA    CAT  @MBR:2    SRCDTA
     C           SRCDTA    CAT  '/':0     SRCDTA
     C           SRCDTA    CAT  @FILE:0   SRCDTA
     C           SRCDTA    CAT  '/':0     SRCDTA
     C           SRCDTA    CAT  @LIB:0    SRCDTA
     C           SRCDTA    CAT  'IND:':2  SRCDTA
     C           SRCDTA    CAT  @IND:0    SRCDTA
     C                     MOVE '1'       FSTREC  1
     C                     UPDATSRC
     C                     LEAVE
     C                     ENDIF
      *
     C           LNECDE    IFNE 'C'
     C                     DELETSRC
     C                     LEAVE
     C                     ENDIF
      *
     C           LNECOM    IFEQ '*'
     C                     DELETSRC
     C                     LEAVE
     C                     ENDIF
      * INDICATOR IN HIGH
     C           INDHI     IFEQ @IND
     C                     LEAVE
     C                     ENDIF
      * INDICATOR IN LOW
     C           INDLO     IFEQ @IND
     C                     LEAVE
     C                     ENDIF
      * INDICATOR IN EQUAL
     C           INDEQ     IFEQ @IND
     C                     LEAVE
     C                     ENDIF
      * INDICATOR IN FACTOR1
     C           INDF1     IFEQ '*IN'
     C           INDF1     OREQ '*in'
     C           INDF1C    IFNE '('
     C           INDF11    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDF1C    IFEQ '('
     C           INDF12    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C                     ENDIF
      * INDICATOR IN FACTOR2
     C           INDF2     IFEQ '*IN'
     C           INDF2     OREQ '*in'
     C           INDF2C    IFNE '('
     C           INDF21    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDF2C    IFEQ '('
     C           INDF22    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C                     ENDIF
      * INDICATOR IN RESULT
     C           INDRS     IFEQ '*IN'
     C           INDRS     OREQ '*in'
     C           INDRSC    IFNE '('
     C           INDRS1    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDRSC    IFEQ '('
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     MOVE INDRS2    TSTIN1  20
     C           INDFL2    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL3    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL4    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL5    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL6    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL7    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL8    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL9    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFL0    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFLA    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C           INDFLB    IFEQ '0'
     C                     ADD  1         TSTIN1
     C                     MOVE TSTIN1    INDRS2
     C           INDRS2    IFEQ @IND
     C                     LEAVE
     C                     ENDIF
     C                     ENDIF
     C                     ENDIF
     C                     ENDIF
      *
     C                     DELETSRC
      *
     C                     ENDDO
      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

ISGBLK SOURCE - IS TYPE RPG AND IS ONLY THE FOLLOWING LINE ******* SOURCE FROM:


There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: