Ah, vale, muchas gracias!!

De:     Potele <[email protected]>
Para:   "forum.help400" <[email protected]>
Fecha:  20/07/2016 08:48
Asunto: Re: QDayofweek
Enviado por:    [email protected]



Según el manual de SQL, hay 2 funciones escalares para recuperar el día de 
la semana:

DAYOFWEEK_ISO:
The DAYOFWEEK_ISO function returns an integer between 1 and 7 that 
represents the day of the week, where 1 is Monday and 7 is Sunday.
DAYOFWEEK:
The DAYOFWEEK function returns an integer between 1 and 7 that represents 
the day of the week, where 1 is Sunday and 7 is Saturday.
Luego uses la función que uses, siempre te dará el mismo resultado, 
independientemente del país, idioma o configuración que tenga el AS.

Potele


El 20/07/2016 7:41, alberto escribió: 
Gracias Jesus. 
La rutina ya la tengo, lo que tenía era la duda de si me puedo encontrar 
como primer dia el *mon o el *sun(dependiendo de en qué AS se ejecute), y 
si forzando a que un dia siempre sea el primero, aseguro la jugada. 




De:        Jesus Olague <[email protected]> 
Para:        "forum.help400" <[email protected]> 
Fecha:        19/07/2016 19:27 
Asunto:        Re: QDayofweek 
Enviado por:        [email protected] 



Recuerdo que se podía obtener con un API o mediante SQL, o calcularse por 
programa. 

Con API 
QWCRSVAL (solo para la fecha actual) 
Con SQL: 
select dayofweek_ISO(fecha) from archivo 
Con SQL embebido: 
Exec SQL   Set :DiaSemana = DayOfWeek_ISO(:Fecha); 
Dsply DiaSemana; 
Calculado (tenía este ejemplo guardado, no recuerdo si alguna vez lo 
probé): 
************************************************************************** 

* Return Day of Week - Use Zeller's congruence 
*  Returns an integer with the day number of the year 
*   0 = Monday, 1 = Tuesday 2 = Wednesday, etc.   
************************************************************************** 

P getDayOfWeek    B                   Export   
D getDayOfWeek    PI            10i 0   
D  InDate                         d   const datfmt(*iso)   
 *   
D nDay            s             10i 0   
D nMonth          s             10i 0   
D nYear           s             10i 0   
D nDayOfWeek      s             10i 0   
 *   
 /free   


    nDay = %subdt(InDate:*days);   
    nMonth = %subdt(InDate:*months);   
    nYear = %subdt(InDate:*years);   
    if nMonth < 3; 
      nMonth = nMonth + 12; 
      nYear = nYear - 1; 
    endif; 


    nDayOfWeek = %rem(%int((13 * nMonth + 3) / 5) + nDay + nYear + 
                      %int(nYear / 4) - %int(nYear / 100) + 
                      %int(nYear / 400) : 7); 


    return nDayOfWeek; 
 /end-free 
P getDayOfWeek    E 


-- 

Saludos 

Jesús Olague
Zacatecas, México
http://jholaguepersonal.blogspot.com 



2016-07-19 10:17 GMT-05:00 alberto <[email protected]>: 
Hola Foro 
Cómo puedo hacer para que en el Qdayofweek me salga el lunes como primer 
dia de la semana, y no el domingo como sale por defecto? 
Gracias!
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L. 

____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L. 


____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.




José de la Herran Núñez
Kordinazio Teknikoko Burua 
Jefe del Área de Coordinación Técnica
Ayuntamiento de Vitoria-Gasteiz Informazioaren Teknologien Saila 
Departamento de Tecnologías de la Información 
Tel: work945161614 | Fax fax945161600
[email protected] | www.vitoria-gasteiz.org

KONFIDENTZIALTASUNA
Komunikazio honen edukia eta honi erantsitako dokumentazio osoarena 
konfidentziala da eta adierazitako jasotzaileari beste inori ez dagokio. 
Zeu jasotzaile ez bazina, jakinaraz iezaguzu, mesedez, eta eskatu nahi 
dizugu edukiaren berri inori ez esan eta mezua ezaba dezazula.
CONFIDENCIALIDAD
El contenido de esta comunicación, así como el de toda la documentación 
anexa, es confidencial y va dirigido únicamente al destinatario del mismo. 

En el supuesto de que usted no fuera el destinatario, le solicitamos que 
nos lo indique y no comunique su contenido a terceros, procediendo a su 
destrucción. 
CONFIDENCIALITY
The content of this communication and any attached information is 
confidential and exclusively for the use of the addressee. 
If you are not the addressee, we ask you to notify to the sender and do 
not pass its content to another person, and please be sure you destroy it. 


____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a