![]() |
Collapse All | Expand All | Show Default |
| KgdFixLongDesc
DataStage Routine Report Generated 2004-07-11 09:47:08pm |
|  - Routine Information   |
| Property | Value |
| SubType | Transform Function  |
| Category | KimD  |
| Author | Kim Duke  |
| Arg Count | 2  |
| Version | 2.0.0  |
| Routine Type | 0  |
| Short Description | Last Changed: 07-02-2004  |
| Long Description | Routine: KgdFixLongDesc ------------------------------------------------------------------------------------- Non-technical description: tbd ------------------------------------------------------------------------------------- Arguments: 1. JobName 2. OverWriteFlag ------------------------------------------------------------------------------------- Modification History: ------------------------------------------------------------------------------------- UserId Date Version Modification Description ------------------------------------------------------------------------------------- kduke 07-02-2004 1 Created job. -------------------------------------------------------------------------------------   |
|  - Arguments   |
| Argument | Description |
| JobName |   |
| OverWriteFlag |   |
|  - Source Code   |
| LineNo | Source Code |
| 1 |        FUNCTION KgdFixLongDesc(JobName,OverWriteFlag) |
| 2 | * ----------------------------------------------------------------- |
| 3 | * KgdFixLongDesc(JobName,OverWriteFlag) |
| 4 | * Decription: Generate a long description for a job. |
| 5 | * Written by: Kim Duke |
| 6 | * Notes: |
| 7 | * ----------------------------------------------------------------- |
| 8 | * $INCLUDE DSINCLUDE JOBCONTROL.H |
| 9 |        Ans = JobName:' not updated.' |
| 10 |        RoutineName = "KgdFixLongDesc" |
| 11 |        Usage = RoutineName:'(JobName,OverWriteFlag)' |
| 12 | * ---------------------------------------------------------------------- |
| 13 | * initialize variables |
| 14 | * ---------------------------------------------------------------------- |
| 15 |        True = 1 |
| 16 |        False = 0 |
| 17 |        other = True |
| 18 |        Forever = True |
| 19 |        today = oconv(@DATE, "D4-") |
| 20 |        vm = @VM |
| 21 |        svm = @SVM |
| 22 |        fm = @AM |
| 23 |        ErrMsg = '' |
| 24 |        nullRec = '' |
| 25 |        CrLf = char(13):char(10) |
| 26 |        Dashes = str('-',85) |
| 27 |        Cnt = 0 |
| 28 |        ShortDescAttr = 4 |
| 29 |        LongDescAttr = 7 |
| 30 |        ParamAttr = 14 |
| 31 | * ---------------------------------------------------------------------- |
| 32 | * open files |
| 33 | * ---------------------------------------------------------------------- |
| 34 |        FileName = 'DS_JOBS' |
| 35 |        open FileName to FilePtr else |
| 36 |           ErrMsg = 'Can not open ':FileName:' file.' |
| 37 |           goto ErrRtn |
| 38 |        end |
| 39 |        DsJobsPtr = FilePtr |
| 40 | * ---------------------------------------------------------------------- |
| 41 |        FileName = 'DS_JOBOBJECTS' |
| 42 |        open FileName to FilePtr else |
| 43 |           ErrMsg = 'Can not open ':FileName:' file.' |
| 44 |           goto ErrRtn |
| 45 |        end |
| 46 |        DsJobObjectsPtr = FilePtr |
| 47 | * ---------------------------------------------------------------------- |
| 48 | * main |
| 49 | * ---------------------------------------------------------------------- |
| 50 |        if JobName = '' then |
| 51 |           ErrMsg = Usage |
| 52 |           goto ErrRtn |
| 53 |        end |
| 54 |        OldJobName = '' |
| 55 | * ---------------------------------------------------------------------- |
| 56 |        read JobRec from DsJobsPtr, JobName then |
| 57 |           JobCategory = JobRec<3> |
| 58 |           JobNo = JobRec<5> |
| 59 |           ObjId = 'J\':JobNo:'\ROOT' |
| 60 |           read ObjRec from DsJobObjectsPtr, ObjId then |
| 61 |              OldObjRec = ObjRec |
| 62 |              ShortDesc = 'Last Changed: ':today |
| 63 |              NewRec = '' |
| 64 |              NewRec<1,-1> = 'Job: ':JobName |
| 65 |   |
| 66 |              NewRec<1,-1> = Dashes |
| 67 |              NewRec<1,-1> = 'Non-technical description:' |
| 68 |              NewRec<1,-1> = 'tbd' |
| 69 |   |
| 70 |              NewRec<1,-1> = Dashes |
| 71 |              NewRec<1,-1> = 'Business rules: ' |
| 72 |              NewRec<1,-1> = 'tbd' |
| 73 |   |
| 74 |              NewRec<1,-1> = Dashes |
| 75 |              NewRec<1,-1> = 'Rules for restarting this job: ' |
| 76 |              if OldJobName[1,4] = 'Extract' then |
| 77 |                 NewRec<1,-1> = 'Manually truncate table and rerun. ' |
| 78 |              end else |
| 79 |                 NewRec<1,-1> = 'Just rerun. ' |
| 80 |              end |
| 81 |   |
| 82 |              NewRec<1,-1> = Dashes |
| 83 |              NewRec<1,-1> = 'Parameters: ' |
| 84 |              NoOfParams = dcount(OldObjRec<ParamAttr>, @VM) |
| 85 |              if NoOfParams > 0 then |
| 86 |                 for i=1 to NoOfParams |
| 87 |                    NewRec<1,-1> = i:'. ':OldObjRec<ParamAttr, i> |
| 88 |                 next i |
| 89 |              end else |
| 90 |                 NewRec<1,-1> = 'None' |
| 91 |              end |
| 92 |   |
| 93 |              NewRec<1,-1> = Dashes |
| 94 |              NewRec<1,-1> = 'Sources: ' |
| 95 |              NewRec<1,-1> = 'tbd' |
| 96 |   |
| 97 |              NewRec<1,-1> = Dashes |
| 98 |              NewRec<1,-1> = 'Targets: ' |
| 99 |              NewRec<1,-1> = 'tbd' |
| 100 |   |
| 101 |              NewRec<1,-1> = Dashes |
| 102 |              NewRec<1,-1> = 'Modification History: ' |
| 103 |              NewRec<1,-1> = Dashes |
| 104 |              NewRec<1,-1> = 'UserId Date Version Modification Description ' |
| 105 |              NewRec<1,-1> = Dashes |
| 106 |              NewRec<1,-1> = 'kduke ': today :' 1 Created job. ' |
| 107 |              NewRec<1,-1> = Dashes |
| 108 |              NewRec<1,-1> = " " |
| 109 |   |
| 110 |              print " " |
| 111 |              print "ShortDesc:" |
| 112 |              print Dashes |
| 113 |              print ShortDesc |
| 114 |              print " " |
| 115 |              print Dashes |
| 116 |              print "LongDesc:" |
| 117 |              NoOfLines = dcount(NewRec<1>, @VM) |
| 118 |              for i=1 to NoOfLines |
| 119 |                 print NewRec<1, i> |
| 120 |              next i |
| 121 |              print |
| 122 |              print |
| 123 |   |
| 124 |              if ObjRec<ShortDescAttr> = '' or OverWriteFlag then |
| 125 |                 ObjRec<ShortDescAttr> = ShortDesc |
| 126 |              end else |
| 127 |                 print JobName:' has short description.' |
| 128 |              end |
| 129 |              if ObjRec<LongDescAttr> = '' or OverWriteFlag then |
| 130 |                 ObjRec<LongDescAttr> = ereplace(NewRec<1>, @VM, CrLf) |
| 131 |              end else |
| 132 |                 print JobName:' has long description.' |
| 133 |              end |
| 134 |              if OldObjRec <> ObjRec then |
| 135 | * ---------------------------------------------------------------------- |
| 136 |                 write ObjRec on DsJobObjectsPtr, ObjId |
| 137 |                 Ans = 'Updated ':JobName |
| 138 |              end else |
| 139 |                 Ans = JobName:' not updated.' |
| 140 |              end |
| 141 |           end else |
| 142 |              ErrMsg = JobName:' ':ObjId:' not there.' |
| 143 |              goto ErrRtn |
| 144 |           end |
| 145 |        end else |
| 146 |           ErrMsg = JobName:' not in DS_JOBS.' |
| 147 |           goto ErrRtn |
| 148 |        end |
| 149 |        goto TheEnd |
| 150 | * ---------------------------------------------------------------------- |
| 151 | ErrRtn: |
| 152 |        print |
| 153 |        print ErrMsg |
| 154 |        Ans = ErrMsg |
| 155 | * ---------------------------------------------------------------------- |
| 156 | TheEnd: |
| 157 |   |
| 158 |        RETURN(Ans) |