470 pts.
 Open query file selecting records(qryslt)
This is my Physical file 'EMPS' existing in library "TAMIL1" and its record format is 'EMPRCD"
a)its source is
R EMPRCD              
     ENO            4  0 
     ENAME         10    
     EADD          10  
b)The records present in EMPS are as follows
ENO   ENAME       EADD       
0001  tamil       coimbatore 
0002  kumar       bangalore  
0003  sunder      bangalore  
0004  arunkumar   chennai    
0005  pandi       hyderabad  
0006  santhosh    hyderabad  
0007  sasi        salem      
0008  kalai       chennai    
0009  suresh      hyderabad  
0010  vijay       bangalore  
0011  Arul        chennai    
0012  velu        chennai    
0013  khan        bangalore  
0014  praba       chennai    
0015  praba.p     coimbatore 
0016  anand       ooty       
0017  raja        erode      
0018  sankar      erode      
0019  vadivel     namakkal   
0020  anbu        chennai
0021  Ajith       mumabi  
c)now i want to select the 'ENAME' field  records starting with 'S'
for that i have created a RPG program
its source code is 
        PGM                                                                       
            DCLF       FILE(TAMIL1/EMPS)                                          
            DCL        VAR(&MYENO) TYPE(*CHAR) LEN(4)                             
            OVRDBF     FILE(EMPS) SHARE(*YES)                                     
            OPNQRYF    FILE((TAMIL1/EMPS)) QRYSLT('ENAME *EQ %WLDCRD("S *")')     
READ:    RCVF       RCDFMT(EMPRCD)                                             
            MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(END))                      
            CHGVAR     VAR(&MYENO) VALUE(&ENO)                                    
            SNDUSRMSG  MSG(&MYENO)                                                
            SNDUSRMSG  MSG(&ENAME)                                                
            SNDUSRMSG  MSG(&EADD)                                                 
            GOTO READ                                                             
END:      CLOF       OPNID(EMPS)                                                
            DLTOVR     FILE(EMPS)                                                 
            ENDPGM                                                                
Is this coding correct sir,the program gets compiled,and if i call it it says query running but records are not displayed.please help me out


Software/Hardware used:
V5R3
ASKED: December 8, 2010  8:17 AM
UPDATED: December 9, 2010  1:18 PM

Answer Wiki:
Got it now -- 2 things in the value S * Your values are lower case s not upper case S The values aren't followed by a blank To find that data change the compare value to s* Phil == Great catch Phil So you do not have to worry about case, you can use %XLATE OPNQRYF FILE((TAMIL1/EMPS)) QRYSLT('%XLATE(ENAME QSYSTRNTBL) *EQ %WLDCRD("S *")') ----------------------------------- Charlie You missed the part about the space. Your code would find S or s followed by a space and any other characters. Take the space out and you've got it. OPNQRYF FILE((TAMIL1/EMPS)) QRYSLT('%XLATE(ENAME QSYSTRNTBL) *EQ %WLDCRD("S*")') Phil
Last Wiki Answer Submitted:  December 8, 2010  11:45 pm  by  CharlieBrowne   32,905 pts.
All Answer Wiki Contributors:  CharlieBrowne   32,905 pts. , philpl1jb   44,190 pts.
To see all answers submitted to the Answer Wiki: View Answer History.


Discuss This Question:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


 

ENAME,EADD and ENO are Fields in my Physical file ‘EMPS”

 470 pts.

 

Here is a discussion on this topic.

http://itknowledgeexchange.techtarget.com/itanswers/getting-wildcard-results-from-opnqryf/

Your query looks good but I’m not sure if it will be in effect for the program that declairs it, but if it wasn’t you should see all names.

Should you specify where to send the user messages?

Phil

 44,190 pts.

 

thats great it works now,thank u phil and others for responding

 470 pts.