Code:
- //***********************************************************************
- // ___ _ ___ _ _
- // | \ __ _| |_ __ _ ___ / __| |_ _ _ _ _ __| |_ _ _ _ _ ___ ___
- // | |) / _` | _/ _` | |___| \__ \ _| '_| || / _| _| || | '_/ -_|_-<
- // |___/\__,_|\__\__,_| |___/\__|_| \_,_\__|\__|\_,_|_| \___/__/
- //
- //***********************************************************************
- DDtGen DS Qualified
- D Based(Template)
- D Date D
- D Year 4S 0
- D Month 2S 0
- D Day 2S 0
- d Period LikeDS(DtPer)
- D DayOfWk LikeDS(DtDay)
- D DayFoY LikeDS(DtDay)
- D DayLoY LikeDS(DtDay)
- D PrevDt D
- D NextDt D
- D FirstOfMth D
- D LastOfMth D
- D Firsts LikeDS(DtFirstLast)
- D Lasts LikeDS(DtFirstLast)
- //***********************************************************************
- DDtDay DS Qualified
- D Based(Template)
- D Num 1S 0
- D Name 9A Varying
- //***********************************************************************
- DDtPer DS Qualified
- D Based(Template)
- D BegPer D
- D EndPer D
- D PerNum 2S 0
- D PerYr 4S 0
- //***********************************************************************
- DDtFirstLast DS Qualified
- D Based(Template)
- D Sun D
- D Mon D
- D Tue D
- D Wed D
- D Thu D
- D Fri D
- D Sat D
-
- //***********************************************************************
- // ___ _ _
- // | _ \_ _ ___| |_ ___| |_ _ _ _ __ ___ ___
- // | _/ '_/ _ \ _/ _ \ _| || | '_ \/ -_|_-<
- // |_| |_| \___/\__\___/\__|\_, | .__/\___/__/
- // |__/|_|
- //***********************************************************************
-
- //=======================================================================
- // ___ _ ___ _ ___
- // | \| |_ / __|___| |_ / __|___ _ _
- // | |) | _| (_ / -_) _| (_ / -_) ' \
- // |___/ \__|\___\___|\__|\___\___|_||_|
- //
- //Gets a Lot of Useful General Items Regarding Input Date.
- //
- // *** RETURN **********************************************************
- // Data Sturcutre LIKEDS(DtGen)
- // Must be defined in calling program (i.e.):
- // D DSDtGen DS LikeDS(DtGen)
- // *********************************************************************
- //
- // Example:
- // DSDtGen = DtGetGen(%date());
- //=======================================================================
- DDtGetGen PR LikeDS(DtGen)
- D InputDt D Const
-
-
-
- //***********************************************************************
-
-
-
- //=======================================================================
- // ___ _ ___ _ ___
- // | \| |_ / __|___| |_| \ __ _ _ _
- // | |) | _| (_ / -_) _| |) / _` | || |
- // |___/ \__|\___\___|\__|___/\__,_|\_, |
- // |__/
- //
- //Gets Day of Week (Num: 1-7; Name: SUNDAY-SATURDAY) for Input Date.
- //
- // *** RETURN **********************************************************
- // Data Sturcutre LIKEDS(DtDay)
- // Must be defined in calling program (i.e.):
- // D DSDay DS LikeDS(DtDay)
- // *********************************************************************
- //
- // Example:
- // DSDay = DtGetDay(%date());
- //=======================================================================
- DDtGetDay PR LikeDS(DtDay)
- D InputDt D Const
-
-
- //=======================================================================
- // ___ _ ___ _ ___ ___ _
- // | \| |_ / __|___| |_| \ __ _ _ _| \| |_
- // | |) | _| (_ / -_) _| |) / _` | || | |) | _|
- // |___/ \__|\___\___|\__|___/\__,_|\_, |___/ \__|
- // |__/
- //Gets the Date for a Specified Previous or Future Occurrence of a
- // Specified Day(SUNDAY-SATURDAY) for Input Date.
- //
- // *** RETURN **********************************************************
- // Date Field
- // *********************************************************************
- //
- // Must pass a date, a previous day number (1=SUNDAY, 2= MONDAY, etc.),
- // an operator (only '+'=Future Period, '-'=Previous Period) along with
- // the occurrence you want returned
- //
- // Examples:
- // FutWed = DtGetDayDt(%date():4:'+':1); //Next Wednesday
- // FutThu = DtGetDayDt(%date():5:'+':1); //Next Thursday
- // FutFri = DtGetDayDt(%date():6:'+':4); //4 Fridays from now
- // PrvWed = DtGetDayDt(%date():4:'-':1); //Last Wednesday
- // PrvThu = DtGetDayDt(%date():5:'-':1); //Last Thursday
- // PrvFri = DtGetDayDt(%date():6:'-':4); //4 Fridays ago
- //=======================================================================
- DDtGetDayDt PR D
- D InputDt D Const
- D InputDayNum 1S 0 Const
- D InputOp 1A Const
- D InputOccur 2S 0 Const
-
-
- //=======================================================================
- // ___ _ ___ _ ___ ___ __ __
- // | \| |_ / __|___| |_| \ __ _ _ _| __|_\ \ / /
- // | |) | _| (_ / -_) _| |) / _` | || | _/ _ \ V /
- // |___/ \__|\___\___|\__|___/\__,_|\_, |_|\___/|_|
- // |__/
- //Gets Day (Num: 1-7; Name: SUNDAY-SATURDAY) for the First Day of the
- // Year for Input Year.
- //
- // *** RETURN **********************************************************
- // Data Sturcutre LIKEDS(DtDay)
- // Must be defined in calling program (i.e.):
- // D DSDayFoY DS LikeDS(DtDay)
- // *********************************************************************
- //
- // Examples:
- // DSDayFoY = DtGetDayFoY(2014);
- // DSDayFoY = DtGetDayFoY(%subdt(%date():*YEARS));
- //=======================================================================
- DDtGetDayFoY PR LikeDS(DtDay)
- D InputYr 4S 0 Const
-
-
- //=======================================================================
- // ___ _ ___ _ ___ _ __ __
- // | \| |_ / __|___| |_| \ __ _ _ _| | __\ \ / /
- // | |) | _| (_ / -_) _| |) / _` | || | |__/ _ \ V /
- // |___/ \__|\___\___|\__|___/\__,_|\_, |____\___/|_|
- // |__/
- //Gets Day (Num: 1-7; Name: SUNDAY-SATURDAY) for the Last Day of the Year
- // for Input Year.
- //
- // *** RETURN **********************************************************
- // Data Sturcutre LIKEDS(DtDay)
- // Must be defined in calling program (i.e.):
- // D DSDayLoY DS LikeDS(DtDay)
- // *********************************************************************
- //
- // Examples:
- // DSDayLoY = DtGetDayLoY(2014);
- // DSDayLoY = DtGetDayLoY(%subdt(%date():*YEARS));
- //=======================================================================
- DDtGetDayLoY PR LikeDS(DtDay)
- D InputYr 4S 0 Const
-
-
- //=======================================================================
- // ___ _ ___ _ ___ _ _
- // | \| |_ / __|___| |_| __(_)_ _ __| |_ ___
- // | |) | _| (_ / -_) _| _|| | '_(_-< _(_-<
- // |___/ \__|\___\___|\__|_| |_|_| /__/\__/__/
- //
- //Gets the Date of the First Sun-Sat of the Month for Input Date.
- //
- // *** RETURN **********************************************************
- // Data Sturcutre LIKEDS(DtFirstLast)
- // Must be defined in calling program (i.e.):
- // D DSDayFirsts DS LikeDS(DtFirstLast)
- // *********************************************************************
- //
- // Example
- // DSDayFirsts = DtGetFirsts(%date());
- //=======================================================================
- DDtGetFirsts PR LikeDS(DtFirstLast)
- D InputDt D Const
-
-
- //=======================================================================
- // ___ _ ___ _ ___ __ __
- // | \| |_ / __|___| |_| __|__| \/ |
- // | |) | _| (_ / -_) _| _/ _ \ |\/| |
- // |___/ \__|\___\___|\__|_|\___/_| |_|
- //
- //Gets the Date of the First Day of the Month for Input Date.
- //
- // *** RETURN **********************************************************
- // Date Field
- // *********************************************************************
- //
- // Example:
- // FirstOfMonth = DtGetFoM;
- //=======================================================================
- DDtGetFoM PR D
- D InputDt D Const
-
-
- //=======================================================================
- // ___ _ ___ _ _ _
- // | \| |_ / __|___| |_| | __ _ __| |_ ___
- // | |) | _| (_ / -_) _| |__/ _` (_-< _(_-<
- // |___/ \__|\___\___|\__|____\__,_/__/\__/__/
- //
- //Gets the Date of the Last Sun-Sat of the Month for Input Date.
- //
- // *** RETURN **********************************************************
- // Data Sturcutre LIKEDS(DtFirstLast)
- // Must be defined in calling program (i.e.):
- // D DSDayLasts DS LikeDS(DtFirstLast)
- // *********************************************************************
- //
- // Example
- // DSDayLasts = DtGetLasts(%date());
- //=======================================================================
- DDtGetLasts PR LikeDS(DtFirstLast)
- D InputDt D Const
-
-
- //=======================================================================
- // ___ _ ___ _ _ __ __
- // | \| |_ / __|___| |_| | ___| \/ |
- // | |) | _| (_ / -_) _| |__/ _ \ |\/| |
- // |___/ \__|\___\___|\__|____\___/_| |_|
- //
- //Gets the Date of the Last Day of the Month for Input Date.
- //
- // *** RETURN **********************************************************
- // Date Field
- // *********************************************************************
- //
- // Example:
- // LastOfMonth = DtGetLoM;
- //=======================================================================
- DDtGetLoM PR D
- D InputDt D Const
-
-
- //=======================================================================
- // ___ _ ___ _ ___
- // | \| |_ / __|___| |_| _ \___ _ _
- // | |) | _| (_ / -_) _| _/ -_) '_|
- // |___/ \__|\___\___|\__|_| \___|_|
- //
- //Gets the beginning and Ending Dates of Period for Input Year and Period
- // Number
- //
- // *** RETURN **********************************************************
- // Data Sturcutre LIKEDS(DtPer)
- // Must be defined in calling program:
- // D DSPeriod DS LikeDS(DtPer)
- // *********************************************************************
- //
- // Must pass a year and a period number
- //
- // Examples:
- // DSPeriod = DtGetPer(2014:7);
- //=======================================================================
- DDtGetPer PR LikeDS(DtPer)
- D InputYr 4S 0 Const
- D InputNum 2S 0 Const
-
-
- //=======================================================================
- // ___ _ ___ _ ___ ___ _
- // | \| |_ / __|___| |_| _ \___ _ _| \| |_
- // | |) | _| (_ / -_) _| _/ -_) '_| |) | _|
- // |___/ \__|\___\___|\__|_| \___|_| |___/ \__|
- //
- //Gets the Beginning and Ending Dates of Period, As Well as the Period
- // Number.
- //
- // *** RETURN **********************************************************
- // Data Sturcutre LIKEDS(DtPer)
- // Must be defined in calling program:
- // D DSPeriod DS LikeDS(DtPer)
- // *********************************************************************
- //
- // Must pass a date, and can optionally pass an operator
- // (only '+'=Future Period, '-'=Previous Period) along with the
- // occurrence you want returned.
- //
- // Examples:
- // DSPeriod = DtGetPerDt(%date()); //Current period
- // DSPeriodFut = DtGetPerDt(%date():'+':2); //2 periods after cur date
- // DSPeriodPrv = DtGetPerDt(%date():'-':2); //2 periods before cur date
- //=======================================================================
- DDtGetPerDt PR LikeDS(DtPer)
- D InputDt D Const
- D InputOp 1A Const Options(*NoPass)
- D InputOccur 2S 0 Const Options(*NoPass)
|
|