Image not found 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
Version 2.0.0 
Routine Type
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)






Ascential and DataStage are trademarks of Ascential Software Corporation or its affiliates and may be registered in the United States or other jurisdictions.
Not for resale. For questions or comments regarding KgdGenHtml, contact kim_g_duke@hotmail.com.