ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

How to scan a char?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to scan a char?

    Is it possible to make a scan in a char field in CLLE?
    Or the only way is to make a call to a RPLE program to do it?

  • #2
    Re: How to scan a char?

    Try QCLSCAN i found this on the World wide web.






    PHP Code:
         /* Command intervace to QCLSCAN API                                  */
                 
    PGM        PARM(&STRING &STRLEN &STRPOS &PATTERN +
                              &
    PATLEN &TRANSLATE &TRIM &WILDCARD &RETURN)
                 
    DCL        &STRING     *CHAR 999
                 DCL        
    &STRLEN     *DEC  3
                 DCL        
    &STRPOS     *DEC  3
                 DCL        
    &PATTERN    *CHAR 999
                 DCL        
    &PATLEN     *DEC  3
                 DCL        
    &TRANSLATE  *LGL
                 DCL        
    &TRIM       *LGL
                 DCL        
    &WILDCARD   *CHAR 1
                 DCL        
    &RETURN     *DEC  3
                 DCL        
    &ABEND      *LGL
                 DCL        
    &MSGDTA     *CHAR 132
                 DCL        
    &MSGID      *CHAR 7
                 DCL        
    &MSGF       *CHAR 10
                 DCL        
    &MSGFLIB    *CHAR 10
                 MONMSG     MSGID
    (CPF0000EXEC(GOTO CMDLBL(ABEND))

                 
    CALL       PGM(QCLSCANPARM(&STRING &STRLEN &STRPOS +
                              &
    PATTERN &PATLEN &TRANSLATE &TRIM +
                              &
    WILDCARD &RETURN)

     EXIT:       RETURN     
    /* NORMAL END OF JOB */

     
    ABEND:      IF         COND(&ABENDTHEN(SNDPGMMSG MSGID(CPF9898) +
                              
    MSGF(QCPFMSGMSGDTA('Function check.') +
                              
    MSGTYPE(*ESCAPE))
                 
    CHGVAR     VAR(&ABENDVALUE('1')
                 
    DMPCLPGM
    /* Forward diagnostic messages from this program message queue to previous */
     
    FORWARD:    RCVMSG     MSGTYPE(*DIAGRMV(*NOMSGDTA(&MSGDTA) +
                              
    MSGID(&MSGIDMSGF(&MSGFMSGFLIB(&MSGFLIB)
                 IF         (&
    MSGID ' ') DO
                   
    SNDPGMMSG  MSGID(&MSGIDMSGF(&MSGFLIB/&MSGF) +
                                
    MSGDTA(&MSGDTAMSGTYPE(*DIAG)
                   GOTO       
    FORWARD
                   ENDDO
                 RCVMSG     MSGTYPE
    (*EXCPRMV(*NOMSGDTA(&MSGDTA) +
                              
    MSGID(&MSGIDMSGF(&MSGFMSGFLIB(&MSGFLIB)
                 IF         (&
    MSGID ' ') DO
                   
    SNDPGMMSG  MSGID(&MSGIDMSGF(&MSGFLIB/&MSGF) +
                                
    MSGDTA(&MSGDTAMSGTYPE(*ESCAPE)
                   
    ENDDO
                 ENDPGM 
    jamie
    All my answers were extracted from the "Big Dummy's Guide to the As400"
    and I take no responsibility for any of them.

    www.code400.com

    Comment

    Working...
    X