Bueno, voy a ser mas especifico y completo.... espero te sirva.......
 
Trabajando con fechas.... Claro esta con faltan algunas instrucciones... pero 
tienes lo mas importante para que te orientes!!!
 
 
            DCL        VAR(&COM) TYPE(*CHAR) LEN(01) VALUE(X'7D')      
            DCL        VAR(&F1) TYPE(*CHAR) LEN(10)                    
            DCL        VAR(&F2) TYPE(*CHAR) LEN(10)                    
            DCL        VAR(&XI)    TYPE(*CHAR) LEN(08)            
            DCL        VAR(&XF)    TYPE(*CHAR) LEN(08)            
            DCL        VAR(&DD)    TYPE(*CHAR) LEN(02)            
            DCL        VAR(&MM)    TYPE(*CHAR) LEN(02)            
            DCL        VAR(&AA)    TYPE(*CHAR) LEN(04)            
            DCLF       FILE(Biblioteca/PRMP001) RCDFMT(*ALL) 
 
 
 
             SNDRCVF    DEV(*FILE) RCDFMT(FP01)          
 
/* CONVERSION DE FECHAI DEL FORMATO DE PANTALLA  A  AÑO-MES-DIA   */    
             CHGVAR VAR(&XI) VALUE(&FECHAI)                             
             CHGVAR VAR(&DD) VALUE(%SUBSTRING(&XI 1 2))                 
             CHGVAR VAR(&MM) VALUE(%SUBSTRING(&XI 3 2))                 
             CHGVAR VAR(&AA) VALUE(%SUBSTRING(&XI 5 4))                 
             CHGVAR VAR(&XI) VALUE(&AA || &MM || &DD)                   
             CHGVAR     VAR(&FECHAI) VALUE(&XI)                         
/* CONVERSION DE FECHAF DEL FORMATO DE PANTALLA  A  AÑO-MES-DIA   */    
             CHGVAR VAR(&XF) VALUE(&FECHAF)                             
             CHGVAR VAR(&DD) VALUE(%SUBSTRING(&XF 1 2))                 
             CHGVAR VAR(&MM) VALUE(%SUBSTRING(&XF 3 2))                 
             CHGVAR VAR(&AA) VALUE(%SUBSTRING(&XF 5 4))                 
             CHGVAR VAR(&XF) VALUE(&AA || &MM || &DD)                   
             CHGVAR     VAR(&FECHAF) VALUE(&XF)                         
 
             CHGVAR     VAR(&F1) VALUE(&COM *TCAT &XI *TCAT &COM)       
             CHGVAR     VAR(&F2) VALUE(&COM *TCAT &XF *TCAT &COM)       
                                                                        
/* Ejecutar programa                      */  
                                                                        
             SBMJOB     CMD(STRQMQRY QMQRY(Biblioteca/CTAINV03) +         
                          OUTPUT(*PRINT) QMFORM(*QMQRY) +               
                          ALWQRYDFN(*YES) SETVAR((FEC1 &F1) (FEC2 +     
                          &F2)))                                        
 
 
 
 
Saludos,
 
Rafael Silva
 


>>> [email protected] 02/18 11:05 a.m. >>>
Hola. Te envio cómo lo hago yo. a ver si te sirve: 
            
 CHGVAR     VAR(&DATADALFA) VALUE(&DATAD)               
 CHGVAR     VAR(&DATAFALFA) VALUE(&DATAF)               
  STRQMQRY   QMQRY(ALBERTQRY/MICKEY) OUTPUT(*PRINT) +     
              QMFORM(*QMQRY) ALWQRYDFN(*YES) +           
              SETVAR((DATADESDE &DATADALFA) (DATAFINS + 
              &DATAFALFA))                               



"VALENCIA Informatique" <[email protected]> 
Enviado por: [email protected] 
18/02/2010 14:10 Por favor, responda a
"forum.help400" <[email protected]>

Para
"forum.help400" <[email protected]> cc
Asunto
RE: Para los expertos en STRQMQRY




Tampoco* la verdad es que no se me ocurre nada 
  
? X'060499400F'                                                        
  La sentencia contiene un número erróneo de valores.                  
  Se ha producido un error en el mandato SAVE DATA con un SQLCODE -117. 
  El mandato SAVE DATA finalizó debido a un error.                     
  Anomalía en mandato STRQMQRY.                                        
                                                                        
  
  
  
Cordialmente 
De: [email protected] 
[mailto:[email protected]] En nombre de Raul Segura Torres
Enviado el: jueves, 18 de febrero de 2010 13:55
Para: forum.help400
Asunto: RE: Para los expertos en STRQMQRY 
  
¿Y si pruebas con X'060499400F'?... 

Un Saludo, 

Raúl.




De:        "VALENCIA Informatique" <[email protected]> 
Para:        "forum.help400" <[email protected]> 
Fecha:        18/02/2010 13:49 
Asunto:        RE: Para los expertos en STRQMQRY 
Enviado por:        [email protected] 





No, ya sé que no es coña, creo que va por ahí pero*. : 
1-      Con comillas simples: 
Introduzca un valor para la variable COD2.                                 
'60499400'                                                                 
La sentencia contiene un número erróneo de valores.                        
Se ha producido un error en el mandato SAVE DATA con un SQLCODE -117.      
El mandato SAVE DATA finalizó debido a un error.                        
2-      Con dos comillas: 
  ? ''60499400''                                                             
 Símbolo 60499400 no válido. Símbolos válidos: FOR WITH FETCH ORDER UNION 
   EXCEPT OPTIMIZE.                                                      
3-      Con tres comillas: 
 Introduzca un valor para la variable COD2.                           
? '''60499400'''                                                        
 La sentencia contiene un número erróneo de valores.                  
 Se ha producido un error en el mandato SAVE DATA con un SQLCODE -117. 
 El mandato SAVE DATA finalizó debido a un error.           
 
 
Va cerveza y bocata*.          
      
 
 
De: [email protected] 
[mailto:[email protected]] En nombre de Marti Riera
Enviado el: jueves, 18 de febrero de 2010 13:25
Para: forum.help400
Asunto: Re: Para los expertos en STRQMQRY 
 
Hola,

Si no recuerdo mal debes pasarle triples comillas por delante y por detrás (no 
es coña) y nos cuentas

Martí Riera

2010/2/18 VALENCIA Informatique <[email protected]> 
 
Hola a todos. 
 
Tengo un problema cuando ejecuto un  STRQMQRY, el problema radica en que si 
declaro la variable como numérica no hay mayor problema p.e. 
STRQMQRY QMQRY(fulanito/RPICCONT)                 
           OUTPUT(*OUTFILE)                         
          OUTFILE(fulanito/PICCONT) OUTMBR(*FIRST 
          *ADD) ALWQRYDFN(*YES) SETVAR((COD2 &COD2)) 
 
Pero en el caso que pase una variable alfa (siendo alfa también la del query) 
me aparece el mensaje: 
 
7>> STRQMQRY QMQRY(FULANITO/RPICCONT)                                     
                      OUTPUT(*OUTFILE)                                     
                           OUTFILE(FULANITO/PICCONT) OUTMBR(*FIRST       
                                 *ADD) ALWQRYDFN(*YES)                     
    Consulta derivada del objeto *QRYDFN RPICCONT de OPERADORES, código 00. 
    Introduzca un valor para la variable COD2.                             
  ? '60499400'                                                             
    La sentencia contiene un número erróneo de valores.                     
    Se ha producido un error en el mandato SAVE DATA con un SQLCODE -117.   
 
El código de error no me dice gran cosa. Esto aparece pasando también las 
comillas (para alfa), sin comillas aparecería el mensaje de: 
Error de selección u omisión en campo CODFAL miembro FALTAS 
 
Por lo cual deduzco que las comillas son necesarias. El campo alfa es de 17 y 
le paso un valor en &COD2 como '65432000'. 
 
Hay cerveza para quien lo deduzca 
 
 
Muchas gracias 
 
 

____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400 
____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400 








MENSAJE MEDIOAMBIENTAL 

Antes de imprimir este mensaje, por favor, compruebe que es necesario. Una 
tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros 
de agua. 
El Medio Ambiente es cuestión de TODOS. 
ADVERTENCIA LEGAL

"Este mensaje se dirige exclusivamente a su destinatario y puede contener 
información privilegiada o confidencial. Si no es vd. el destinatario indicado, 
queda notificado de que la lectura, utilización, divulgación y/o copia sin 
autorización está prohibida en virtud de la legislación vigente. Si ha recibido 
este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta 
misma vía y proceda a su destrucción. El correo electrónico vía Internet no 
permite asegurar la confidencialidad
de los mensajes que se transmiten ni su integridad o correcta recepción. La 
empresa no asume ninguna responsabilidad por estas circunstancias."

____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es 
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400 

____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a