+ Reply to Thread
Results 1 to 3 of 3

Thread: Help? What I am doing wrong here with CEEDAYS...

  1. #1

    Default Help? What I am doing wrong here with CEEDAYS...

    Can't figure out compile error. I know its in the subtraction of - 30, but can't figure out how to declare variable correctly for it to work. Thanks, Keith 100 PGM 2100 DCL VAR(&LTODAY) TYPE(*CHAR) LEN(4) 2200 DCL VAR(&LJUNK1) TYPE(*CHAR) LEN(8) 2300 DCL VAR(&LJUNK2) TYPE(*CHAR) LEN(23) 2301 DCL VAR(&DAYS) TYPE(*CHAR) LEN(2) VALUE('30') 2304 DCL VAR(&LDTE) TYPE(*CHAR) LEN(4) 2305 DCL VAR(&DDATE) TYPE(*CHAR) LEN(8) 2503 2512 /************************************************** ********************/ 2513 /* What day is it today? */ 2514 /* When this call is complete, &LTODAY will contain the number of */ 2515 /* days between today and Oct 14th, 1582. */ 2516 /* Subtract 30 days from today. */ 2517 /* Convert back to YYYYMMDD. */ 2518 /************************************************** ********************/ 2519 CALLPRC PRC(CEELOCT) PARM(&LTODAY &LJUNK1 &LJUNK2 *OMIT) 2528 CHGVAR VAR(&LTODAY) VALUE(&LTODAY - &DAYS) 2530 CALLPRC PRC(CEEDAYS) PARM((&LTODAY) ('YYYYMMDD') + 2531 (&DDATE) (*OMIT)) 2532 10300 /************************************************** ********************/ 10400 /* Send message to Qsysopr for result. */ 10500 /************************************************** ********************/ 10700 SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('New + 10800 Date: ' *CAT &DDATE) TOMSGQ(*SYSOPR) 11000 11100 ENDPGM * * * * E N D O F S O U R C E * * * *

  2. #2

    Default Re:Help? What I am doing wrong here with CEEDAYS...

    Keith, Shouldn't &Days be defined as *Decimal? And remove the quotes. Bill

  3. #3

    Default Re:Help? What I am doing wrong here with CEEDAYS...

    Well after some more searches, I figured out my problem. I was using the wrong API to convert from Lilian back to YYYYMMDD. Here is the source, and thanks to all who replied. PGM PARM(&CDAYS) DCL VAR(&LTODAY) TYPE(*CHAR) LEN(4) DCL VAR(&NTODAY) TYPE(*INT) LEN(4) DCL VAR(&DTODAY) TYPE(*DEC) LEN(6 0) DCL VAR(&CTODAY) TYPE(*CHAR) LEN(6) DCL VAR(&LJUNK1) TYPE(*CHAR) LEN(8) DCL VAR(&LJUNK2) TYPE(*CHAR) LEN(23) DCL VAR(&CDAYS) TYPE(*CHAR) LEN(2) DCL VAR(&DDAYS) TYPE(*DEC) LEN(2 0) DCL VAR(&LDTE) TYPE(*CHAR) LEN(4) DCL VAR(&DDATE) TYPE(*CHAR) LEN(8) DCL VAR(&SQL) TYPE(*CHAR) LEN(80) /************************************************** ********************/ /* What day is it today? */ /* When this call is complete, &LTODAY will contain the number of */ /* days between today and Oct 14th, 1582. */ /************************************************** ********************/ CALLPRC PRC(CEELOCT) PARM(&LTODAY &LJUNK1 &LJUNK2 *OMIT) /************************************************** ********************/ /* Convert to Decimal. */ /************************************************** ********************/ CHGVAR VAR(&DTODAY) VALUE(%BIN(&LTODAY)) /************************************************** ********************/ /* Change Days value to Decimal. */ /************************************************** ********************/ CHGVAR VAR(&DDAYS) VALUE(&CDAYS) /************************************************** ********************/ /* Subtract NN days from current value. */ /************************************************** ********************/ CHGVAR VAR(&DTODAY) VALUE(&DTODAY - &DDAYS) /************************************************** ********************/ /* Convert Decimal value to Character. */ /************************************************** ********************/ CHGVAR VAR(&CTODAY) VALUE(&DTODAY) /************************************************** ********************/ /* Convert Character value to Interger. */ /************************************************** ********************/ CHGVAR VAR(&NTODAY) VALUE(&CTODAY) /************************************************** ********************/ /* Convert Lillian date to Delete Date value. */ /************************************************** ********************/ CALLPRC PRC(CEEDATE) PARM((&NTODAY) ('YYYYMMDD') + (&DDATE) (*OMIT)) /************************************************** ********************/ /* Send message to Qsysopr for status. */ /************************************************** ********************/ SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('BSafe + Maintenance: Deleting records from + HSFEPRSF as of ' *CAT &DDATE) TOMSGQ(*SYSOPR) /************************************************** ********************/ /* Run SQL Statement. */ /************************************************** ********************/ CHGVAR VAR(&SQL) VALUE('DELETE FROM HSFEPRSF WHERE + JEDATE < ' *CAT &DDATE) EURUNSQL REQUEST(&SQL)

+ Reply to Thread

Similar Threads

  1. How do I get CEEDAYS API on my As/400
    By Guest.Visitor in forum CL
    Replies: 6
    Last Post: 10-21-2004, 04:59 AM
  2. Help, what's wrong!?
    By B.Morris in forum RPG
    Replies: 4
    Last Post: 08-05-2003, 03:26 PM
  3. Call to CEEDAYS invalid after version upgrade
    By Guest.Visitor in forum Programming
    Replies: 4
    Last Post: 08-22-2000, 07:19 AM
  4. CEEDAYS API
    By madmitch76@hotmail.com in forum Application Software
    Replies: 9
    Last Post: 02-11-1999, 03:57 PM
  5. What's wrong? Help
    By Guest.Visitor in forum Programming
    Replies: 0
    Last Post: 01-01-1995, 02:00 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts