zoukankan      html  css  js  c++  java
  • 在AS/400上根据日期生成星期几

    用CONTROL LANGUAGE实现:根据给定的日期生成星期几。
    解答 源代码如下:
    程序名:WEEK2
    类型:CLP

    PGM (&Date)

    DCL --&Date ------*Char -10
    DCL --&LDateB ----*Char --4 --/* Binary */
    DCL --&LDateN ----*Dec --15 0 /* Decimal*/
    DCL --&DAYARRAY --*CHAR -63 +
    ------- --('Sunday Monday Tuesday +
    ------- --WednesdayThursday Friday Saturday ')
    DCL --&IndexB ----*Char --4 --/* Binary */
    DCL --&IndexN ----*Dec --15 0 /* Decimal*/
    DCL --&Start -- --*Dec --15 0 /* Decimal*/
    DCL --&DayOfWeek -*Char --9
    DCL --&Msg -------*Char 100

    DCL --&msgid -----*CHAR 7
    DCL --&msgf ------*CHAR 10
    DCL --&msgflib -- *CHAR 10
    DCL --&msgdta ----*CHAR 100

    MONMSG -CEE0000 -EXEC(GOTO ERROR)
    MONMSG -CPF0000 -EXEC(GOTO ERROR)

    CALLPRC 'CEEDAYS' (&Date ------+
    ------------------'MM/DD/YYYY' +
    ------------------&LDateB -----+
    ------------------*OMIT)

    CALLPRC 'CEEDYWK' (&LDateB +
    ------------------&IndexB -+
    ------------------*OMIT)

    CHGVAR &IndexN ---%BIN(&IndexB)
    CHGVAR &Start ----(&IndexN * 9 - 8)
    CHGVAR &DayOfWeek %SST(&DayArray &Start 9)

    SNDPGMMSG MSG(&DATE > 'Falls on' > &DAYOFWEEK < +
    ------------'.') TOPGMQ(*PRV *PGMBDY)

    Return

    /* Error processing routine ------------*/

    ERROR: RCVMSG MSGTYPE(*LAST) -------- +
    --------------MSGDTA(&msgdta) ------- +
    --------------MSGID(&msgid) ---- ---- +
    --------------MSGF(&msgf) ----------- +
    --------------SNDMSGFLIB(&msgflib)
    ----/* Prevent loop, just in case */
    -------MONMSG ----CPF0000
    ------ SNDPGMMSG -MSGID(&msgid) -- -- +
    ------------------MSGF(&msgflib/&msgf)+
    ------------------MSGDTA(&msgdta) ----+
    ------------------MSGTYPE(*ESCAPE)
    ----/* Prevent loop, just in case */
    -------MONMSG CPF0000

    ------ ENDPGM

    执行结果:
    CALL WEEK2 '09/05/2003'

    09/05/2003 Falls on FRIDAY.

  • 相关阅读:
    javascript零散要点收集
    javascript闭包,arguments和prototype
    javascript面向对象规则汇总以及json
    递归转非递归的编程思想
    汇编要点汇总
    队列相关算法
    深度优先遍历算法
    C++面向对象要点
    堆排序
    快速排序算法
  • 原文地址:https://www.cnblogs.com/wildfish/p/1031857.html
Copyright © 2011-2022 走看看