/********************************************************************************/ /* */ /* Macro : sastomsp */ /* */ /* Usage : %sastomsp(proj_name, library, mdbfile, */ /* actds, calds, holds, workds, resds, scheduleds, */ /* _interval, _date, _fbdate, _daylength, _daystart, _calid, */ /* _activity, _id, _dur, _aligndate, _aligntype, */ /* _tail,_head, _project, _successor, _lag, */ /* _holistart, _holidur, _holiend, */ /* _resource, _resperiod, _resobstype, */ /* dbms, server, port, version); */ /* */ /* Purpose : Convert SAS Proc PM and Proc CPM data sets */ /* into an MDB file that is readable by */ /* Microsoft Project */ /* The macro converts the following information: */ /* - hierarchical structure of the project */ /* - precedence constraints */ /* - time constraints */ /* - resource requirements */ /* - resource availability */ /* - project calendar */ /* - task calendars */ /* - resource calendars */ /* - holiday information */ /* - workshift information */ /* - early start and finish times */ /* - late start and finish times */ /* - resource-constrained start and finish times */ /* - actual start and finish times */ /* - baseline start and finish times */ /* - values of appropriate options used in the CPM/PM procedure */ /********************************************************************************/ %macro sastomsp(proj_name, library, mdbfile, actds, calds, holds, workds, resds, scheduleds, _interval, _date, _fbdate, _daylength, _daystart, _calid, _activity, _id, _dur, _aligndate, _aligntype, _tail,_head, _project, _successor, _lag, _holistart, _holidur, _holiend, _resource, _resperiod, _resobstype, dbms, server, port, version); %put ; %put The macro SASTOMSP is running, please wait...; %put ; %if &dbms ne accesscs %then %do; %let xsyncoption = %sysfunc(getoption(xsync)); %let xwaitoption = %sysfunc(getoption(xwait)); %end; %let noteoption = %sysfunc(getoption(notes)); %let sourceoption = %sysfunc(getoption(source)); options nonotes nosource; /*******************************/ /* DEFINE DEFAULT VALUES */ /*******************************/ /******************************/ /* library for SAS data sets */ /******************************/ /* remove the outer single or double quotes of library */ %let length2 = %length(&library); %if ( &length2 gt 2) %then %do; %if (%index (%nrstr(%"%'), %qsubstr(&library,1,1) ) gt 0 and %qsubstr(&library,1,1) eq %qsubstr(&library,&length2,1) ) %then %do; %let quote = %qsubstr(&library,1,1); %let library = %qsubstr ( &library, 2, %eval(&length2-2) ); %let library = %qsysfunc(compress(&library, "e)); %end; %end; %if %length(&library) < 2 %then %let library = work; %if %sysfunc(libref(&library))=0 %then %do; /* equals 0, when &library is a libref */ %let libname1 = &library; %end; %else %do; libname library1 "&library"; %let libname1 = library1; %end; /************/ /* MDB file */ /************/ /* remove the outer single or double quotes of mdbfile */ %let length1 = %length(&mdbfile); %if ( &length1 gt 2) %then %do; %if (%index (%nrstr(%"%'), %qsubstr(&mdbfile,1,1) ) gt 0 and %qsubstr(&mdbfile,1,1) eq %qsubstr(&mdbfile,&length1,1) ) %then %do; %let quote = %qsubstr(&mdbfile,1,1); %let mdbfile = %qsubstr ( &mdbfile, 2, %eval(&length1-2) ); %let mdbfile = %qsysfunc(compress(&mdbfile, "e)); %end; %end; %else %do; %put ERROR: The out put database file has to be specified.; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %if %sysfunc(fileref(&mdbfile))<=0 %then %do; /* equals 0, when &mdbfile is a fileref */ %if %lowcase(&dbms) = accesscs %then %do; %put ERROR: This macro does not support file reference on Unix; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %let phyfile= %SYSFUNC(PATHNAME(&mdbfile)); %end; %else %do; %if %lowcase(%scan(&mdbfile,-1)) = mdb %then %do; %let phyfile = &mdbfile; %end; %else %do; %let phyfile = &mdbfile%str(.)mdb; %end; %end; %if %lowcase(%scan(&phyfile,-1)) ne mdb %then %do; %let phyfile = &phyfile%str(.)mdb; %end; %if &proj_name = %then %let proj_name = Project Imported from SAS; /* remove the outer single or double quotes of proj_name */ %let length = %length(&proj_name); %if ( &length gt 2) %then %do; %if (%index (%nrstr(%"%'), %qsubstr(&proj_name,1,1) ) gt 0 and %qsubstr(&proj_name,1,1) eq %qsubstr(&proj_name,&length,1) ) %then %do; %let quote = %qsubstr(&proj_name,1,1); %let proj_name = %qsubstr ( &proj_name, 2, %eval(&length-2) ); %let proj_name = %qsysfunc(compress(&proj_name, "e)); %end; %end; %if &actds = %then %let actds = activity; %if &_activity = %then %let _activity = activity; %let str_activity = activity &_activity%str(;); %if &_dur = %then %let _dur = dur; %if &_interval = %then %let _interval = day; %let daylength_o = &_daylength; %let daystart_o = &_daystart; %if &_daystart = and (not ( (%lowcase(&_interval) = workday) or (%lowcase(&_interval) = dtwrkday)))%then %do; %let _daystart = '00:00't; %if &_daylength = %then %let _daylength = '23:59't; %end; %if &_daystart = and ( (%lowcase(&_interval) = workday) or (%lowcase(&_interval) = dtwrkday))%then %do; %let _daystart = '09:00't; %if &_daylength = %then %let _daylength = '08:00't; %end; %if &_daylength = %then %let _daylength = '23:59't; %if %index(&_date, d)=0 %then %do; %let _date = "&sysdate:&systime"dt; %let _date_o = &_date; %end; %else %do; %let _date_o = &_date; %if ( not (%index(&_date,dt) or %index(&_date,DT))) %then %let _date = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')),1,%str(%")),1,':'):%scan(%scan(&_daystart,1,%str(%')),1,%str(%"))%str(%')dt); %end; %let _date1 = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')),1,%str(%")),1,':'):%scan(%scan(&_daystart,1,%str(%')),1,%str(%"))%str(%')dt); %let str_proj =; %if &_project ne %then %let str_proj = project &_project / orderall addwbs; /***********************************/ /* CHECK AND COPY SIX DATA SETS */ /***********************************/ data act_ds; set &libname1..&actds; run; %if &syserr>0 %then %do; %put ERROR: Activity data set does not exist. ; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; /*check if activity data set is from MSP */ %let frommsp=; proc datasets library = work nolist; contents noprint data = act_ds out = dataOut(keep = name); quit; data _null_; set dataOut; if index(NAME, 'SUCCUID') then call symput('frommsp','true'); run; %if frommsp ne %then %do; data act_ds; set act_ds; if actuid=1000000 then delete; if PNTUID=1000000 then PNTUID=.; run; %end; %let calds_o=; %if &calds ne %then %do; %let calds_o=&calds; data cal_ds; set &libname1..&calds; run; %if &syserr>0 %then %do; %put ERROR: Calendar data set does not exist. ; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %end; %if &resds ne %then %do; %if &calds= %then %do; data res_ds; set &libname1..&resds; if &_resobstype="CALENDAR" then delete; run; %end; data res_ds; format &_resperiod date9.; set &libname1..&resds; if datepart(&_resperiod) then &_resperiod=datepart(&_resperiod); run; %if &syserr>0 %then %do; %put ERROR: Resource data set does not exist. ; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %end; %if &holds ne %then %do; data hol_ds; set &libname1..&holds; run; %if &syserr>0 %then %do; %put ERROR: Holiday data set does not exist. ; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %end; %if &workds ne %then %do; data work_ds; set &libname1..&workds; run; %if &syserr>0 %then %do; %put ERROR: Workday data set does not exist. ; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %end; %if &scheduleds ne %then %do; data schedule_ds; set &libname1..&scheduleds; run; %if &syserr>0 %then %do; %put ERROR: Schedule data set does not exist. ; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %end; /***********************************************************/ /* Convert the type of activity, head, tail, successor, */ /* project and calendar to character if they are numeric. */ /***********************************************************/ /* when project in AOA form */ %let str_succ =; %if &_tail ne %then %do; %let str_tail = tailnode &_tail; %let str_head = headnode &_head; %let _n_succ = 0; /* convert the type of activity, head and tail variables */ %let a_type =; %let h_type =; %let t_type =; %let p_type =; proc datasets library = work nolist; contents noprint data = act_ds out = dataOut(keep = name type); quit; %let aoa_has_name='false'; data _null_; set dataOut; if lowcase(NAME) = lowcase("&_activity") then do; call symput('aoa_has_name','true'); end; run; %if &aoa_has_name='false' %then %do; %put WARNING: Activity-on-Arc Representation is given.; %put WARNING: The variable for activity name is not found. Activity name will be missing.; data act_ds; set act_ds; _tmp_task = "aoa"||_n_; run; %let _activity = _tmp_task; %let str_activity =; %if &scheduleds ne %then %do; data schedule_ds; set &libname1..&scheduleds; _tmp_task = "aoa"||_n_; run; %end; %end; data _null_; set dataOut; if lowcase(NAME) = lowcase("&_activity") then do; if type = 1 then call symput('a_type',type); end; if lowcase(NAME) = lowcase("&_head") then do; if type = 1 then call symput('h_type',type); end; if lowcase(NAME) = lowcase("&_tail") then do; if type = 1 then call symput('t_type',type); end; if lowcase(NAME) = lowcase("&_project") then do; if type = 1 then call symput('p_type',type); end; run; %if &a_type = 1 %then %do; data act_ds; set act_ds; tmp_act = put(&_activity, best32.); tmp_act1=trim(left(tmp_act)); drop &_activity tmp_act; rename tmp_act1 = &_activity; run; %end; %if &h_type = 1 %then %do; data act_ds; set act_ds; tmp_head = put(&_head, best32.); tmp_head1=trim(left(tmp_head)); drop &_head tmp_head; rename tmp_head1 = &_head; run; %end; %if &t_type = 1 %then %do; data act_ds; set act_ds; tmp_tail = put(&_tail, best32.); tmp_tail1=trim(left(tmp_tail)); drop &_tail tmp_tail; rename tmp_tail1 = &_tail; run; %end; %if &p_type = 1 %then %do; data act_ds; set act_ds; tmp_project = put(&_project, best32.); tmp_project1=trim(left(tmp_project)); drop &_project tmp_project; rename tmp_project1 = &_project; run; %end; %end; /*when project in AON form */ %else %do; %let str_tail =; %let str_head =; %let aoa_has_name='true'; %let _n_succ = 0; %if &_successor = %then %do; proc datasets library = work nolist; contents noprint data = act_ds out = dataOut(keep = name); quit; data temps1; set dataOut; if not index(lowcase(NAME), 'suc') then delete; run; data _null_; set temps1; call symput('_n_succ',_n_); run; proc sql noprint; select NAME into :x separated by "@" from temps1; quit; %let str_succ = successor; %do i = 1 %to &_n_succ; %let _succ&i = %scan(&x,&i,'@'); %let _lag&i =; %let str_succ = &str_succ &&_succ&i; %end; %end;/* %if &_successor = %then %do; */ %else %do; %let i = 1; %let str_succ = successor; %do %while (%scan(&_successor,&i) ne ); %let _succ&i = %scan(&_successor,&i); %let str_succ = &str_succ &&_succ&i; %let i = %eval(&i+1); %end; %let _n_succ = %eval(&i-1); %end; %if &_lag ne %then %let str_succ = &str_succ %str(/) lag = (&_lag); /* make assign_work consistant with duration*/ proc datasets library = work nolist; contents noprint data = act_ds out = dataOut(keep = name); quit; %let assnwrk='false'; data _null_; set dataOut; if lowcase(NAME) = lowcase('assn_work') then call symput('assnwrk','true'); run; %if &assnwrk=true %then %do; proc sql; update act_ds set &_dur = assn_work; quit; %end; /* convert the type of activity, successors and project */ %let a_type =; %let p_type =; proc datasets library = work nolist; contents noprint data = act_ds out = dataOut(keep = name type); quit; data _null_; set dataOut; if lowcase(NAME) = lowcase("&_activity") then do; if type = 1 then call symput('a_type',type); end; if lowcase(NAME) = lowcase("&_project") then do; if type = 1 then call symput('p_type',type); end; run; %if &a_type = 1 %then %do; data act_ds; set act_ds; tmp_act = put(&_activity, best32.); tmp_act1=trim(left(tmp_act)); drop &_activity tmp_act; rename tmp_act1 = &_activity; run; %if &scheduleds ne %then %do; data Schedule_ds; set Schedule_ds; tmp_act = put(&_activity, best32.); tmp_act1=trim(left(tmp_act)); drop &_activity tmp_act; rename tmp_act1 = &_activity; run; %end; %end; %if &p_type = 1 %then %do; data act_ds; set act_ds; tmp_project = put(&_project, best32.); tmp_project1=trim(left(tmp_project)); drop &_project tmp_project; rename tmp_project1 = &_project; run; %end; %do i = 1 %to &_n_succ; %let s_type =; proc datasets library = work nolist; contents noprint data = act_ds out = dataOut(keep = name type); quit; data _null_; set dataOut; if lowcase(NAME) = lowcase("&&_succ&i") then do; if type = 1 then call symput('s_type',type); end; run; %if &s_type = 1 %then %do; data act_ds; set act_ds; tmp_suc = put(&&_succ&i, best32.); if left(tmp_suc)='.' then tmp_suc=''; tmp_suc1=trim(left(tmp_suc)); drop &&_succ&i tmp_suc; rename tmp_suc1 = &&_succ&i; run; %end; %end; %end; /*%else %do; not aoa*/ %let _calid_o=; %if &_calid ne %then %let _calid_o=&_calid; %if &_calid = %then %do; /*looks for a default variable named _CAL_ in calendar data set */ %if &calds ne %then %do; proc datasets library = work nolist; contents noprint data = cal_ds out = work.calout1(keep = name); quit; data _null_; set calout1; if index(lowcase(NAME), '_cal_') then call symput('_calid','_cal_'); run; %end; /*looks for a default variable named _CAL_ in holiday data set */ %if &holds ne %then %do; proc datasets library = work nolist; contents noprint data = hol_ds out = work.holout1(keep = name); quit; data _null_; set holout1; if index(lowcase(NAME), '_cal_') then call symput('_calid','_cal_'); run; %end; %if &_calid ne %then %let _calid_o=&_calid; /* when cal_ds has only 1 obs which gives the default calendar*/ %else %do; %if &calds ne %then %do; %let _calid = _cal_; data cal_ds; set cal_ds; _cal_ = 'default'; run; %end; %else %do; %let _calid = _cal_; %let calds = cal_ds; data cal_ds; &_calid = 'default'; format _cal_ $200. ; _sun_ = ''; format _sun_ $200. ; _mon_ = ''; format _mon_ $200. ; _tue_ = ''; format _tue_ $200. ; _wed_ = ''; format _wed_ $200. ; _thu_ = ''; format _thu_ $200. ; _fri_ = ''; format _fri_ $200. ; _sat_ = ''; format _sat_ $200. ; run; %end; data &libname1..cal_ds; set cal_ds; run; %end;/*%if &_calid = %then %do; */ %end;/*%if &_calid = %then %do; */ /*convert calendar variables to character if they are numeric */ /*activity data set*/ %let vtype =; proc datasets library = work nolist; contents noprint data = act_ds out = dataOut(keep = name type); quit; data _null_; set dataOut; if lowcase(NAME) = lowcase("&_calid") then do; if type = 1 then call symput('vtype',type); end; run; %if &vtype = 1%then %do; data act_ds; set act_ds; tmp_calid = put(&_calid, best32.); drop &_calid; rename tmp_calid = &_calid; run; %end; /*calendar data set*/ %let vtype =; proc datasets library = work nolist; contents noprint data = cal_ds out = calOut(keep = name type); quit; data _null_; set calOut; if lowcase(NAME) = lowcase("&_calid") then do; if type = 1 then call symput('vtype',type); end; run; %if &vtype = 1 %then %do; data cal_ds; set cal_ds; tmp_calid = put(&_calid, best32.); drop &_calid; rename tmp_calid = &_calid; run; %end; /*holiday data set*/ %if &holds ne %then %do; %let vtype =; proc datasets library = work nolist; contents noprint data = hol_ds out = holOut(keep = name type); quit; data _null_; set holOut; if lowcase(NAME) = lowcase("&_calid") then do; if type = 1 then call symput('vtype',type); end; run; %if &vtype ne %then %do; data hol_ds; set hol_ds; tmp_calid = put(&_calid, best32.); drop &_calid; rename tmp_calid = &_calid; run; %end; %end; /* insert default calendar if it is not in calds */ %let dftcal= no; data cal_ds; format &_calid $200.; set cal_ds; if left(&_calid) = '.' or left(&_calid) = '0' or left(lowcase(&_calid)) = 'default' then do; &_calid = 'default'; call symput('dftcal','yes'); end; run; %if &dftcal = no %then %do; data cal_ds1; format &_calid $200. _sun_ $200. _mon_ $200. _tue_ $200. _wed_ $200. _thu_ $200. _fri_ $200. _sat_ $200.; &_calid = 'default'; _sun_ = ''; _mon_ = ''; _tue_ = ''; _wed_ = ''; _thu_ = ''; _fri_ = ''; _sat_ = ''; run; data cal_ds; format &_calid $200.; set cal_ds1 cal_ds; run; %end; /* write default calendar when calendar data set is not given*/ %if calds = %then %do; %let calds = cal_ds; data cal_ds; format &_calid $200. _sun_ $200. _mon_ $200. _tue_ $200. _wed_ $200. _thu_ $200. _fri_ $200. _sat_ $200.; &_calid = 'default'; _sun_ = ''; _mon_ = ''; _tue_ = ''; _wed_ = ''; _thu_ = ''; _fri_ = ''; _sat_ = ''; run; data &libname1..cal_ds; set cal_ds; run; %end; %if &holds ne %then %do; %let cal_in_hol =; proc datasets library = work nolist; contents noprint data = hol_ds out = holOut(keep = name type); quit; data _null_; set holOut; if lowcase(NAME) = lowcase("&_calid") then call symput('cal_in_hol',name); run; %if &cal_in_hol ne %then %do; data hol_ds; set hol_ds; if left(&_calid) = '.' or left(&_calid) = '0' or left(lowcase(&_calid)) = 'default' then &_calid = 'default'; run; %end; %end; %if &_lag ne %then %do; %let i = 1; %do %while (%scan(&_lag,&i) ne ); %let _lag&i = %scan(&_lag,&i); %let i = %eval(&i+1); %end; %let _n_lag = %eval(&i-1); %end; %else %do; %let i = 1; %do %while(&i<= &_n_succ); %let _lag&i =; %let i = %eval(&i+1); %end; %end; data act_ds; set act_ds; if left(&_activity)='.' then &_activity=''; run; %let str_id =; /***************************************/ /* SET PROC CPM STATEMENTS AND OPTIONS */ /***************************************/ %if &daystart_o ne %then %let str_daystart=daystart%str( = )&daystart_o; %else %let str_daystart=; %if &daylength_o ne %then %let str_daylength=daylength%str( = )&daylength_o; %else %let str_daylength=; %if &calds_o ne %then %let str_cal_ds = caledata%str( = )&libname1..&calds; %else %let str_cal_ds =; %if &holds ne %then %let str_hol_ds = holidata%str( = )&libname1..&holds; %else %let str_hol_ds =; %if &workds ne %then %let str_work_ds = workdata%str( = )&libname1..&workds; %else %let str_work_ds =; %if &resds ne %then %let str_res_ds = resin%str( = )&libname1..&resds; %else %let str_res_ds =; %if &_aligndate ne %then %let str_aligndate = ALIGNDATE &_aligndate; %else %let str_aligndate =; %if &_aligntype ne %then %let str_aligntype = ALIGNTYPE &_aligntype; %else %let str_aligntype =; %if &_holistart ne %then %do; %let str_holist = holiday &_holistart / ; %if &_holiend ne %then %let str_holist = &str_holist holifin = (&_holiend); %if &_holidur ne %then %let str_holist = &str_holist holidur = (&_holidur); %end; %else %let str_holist =; %if &_calid_o ne %then %let str_calid = calid &_calid_o; %else %let str_calid =; %if &_resource ne %then %do; %let str_resource = resource &_resource /; %if &_resperiod ne %then %let str_resource = &str_resource period = &_resperiod; %if &_resobstype ne %then %let str_resource = &str_resource obstype = &_resobstype; %end; %else %let str_resource =; %put; %put Calling Proc CPM...; %put ; %put %str( )PROC CPM data = &libname1..&actds; %put %str( ) date = &_date_o; %if &str_daystart ne %then %put %str( ) &str_daystart; %if &str_daylength ne %then %put %str( ) &str_daylength; %if &str_cal_ds ne %then %put %str( ) &str_cal_ds; %if &str_hol_ds ne %then %put %str( ) &str_hol_ds; %if &str_work_ds ne %then %put %str( ) &str_work_ds; %if &str_res_ds ne %then %put %str( ) &str_res_ds; %put %str( ) suppressobswarn; %put %str( ) interval = &_interval%str(;); %if &str_activity ne %then %put %str( ) &str_activity; %put %str( ) duration &_dur%str(;); %if &str_tail ne %then %put %str( ) &str_tail%str(;); %if &str_head ne %then %put %str( ) &str_head%str(;); %if %index(&str_succ, succ) %then %put %str( ) &str_succ%str(;); %if &_project ne %then %put %str( ) &str_proj%str(;); %if &_holistart ne %then %put %str( ) &str_holist%str(;); %if &str_calid ne %then %put %str( ) &str_calid%str(;); %if &_resource ne %then %put %str( ) &str_resource%str(;); %if &str_aligndate ne %then %put %str( ) &str_aligndate%str(;); %if &str_aligntype ne %then %put %str( ) &str_aligntype%str(;); %put %str( )RUN%str(;); %put ; proc cpm data = &libname1..&actds out=tmp1 date = &_date_o &str_daystart &str_daylength interval = &_interval &str_cal_ds &str_hol_ds &str_work_ds &str_res_ds suppressobswarn ; &str_activity; duration &_dur; &str_tail; &str_head; &str_succ; &str_proj; &str_holist; &str_calid; &str_resource; &str_aligndate; &str_aligntype; run; %if %index (&_orcpm_, ERROR) %then %do; %put ERROR: Please check your macro inputs.; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %put ; %put One More Moment...; %put ; /*****************************/ /* CREATE 21 EMPTY TABLES */ /************ ****************/ PROC SQL; CREATE TABLE MSP_ASSIGNMENTS (RESERVED_DATA CHAR(1),PROJ_ID INTEGER,ASSN_ACT_FINISH DATE FORMAT = DATE9., ASSN_ACT_START DATE FORMAT = DATE9.,ASSN_ACWP DOUBLE PRECISION,ASSN_BCWP DOUBLE PRECISION,ASSN_BCWS DOUBLE PRECISION, ASSN_RES_TYPE NUM (2,0),ASSN_HAS_NOTES NUM (2,0),ASSN_IS_OVERALLOCATED NUM (2,0),ASSN_WORK_CONTOUR SMALLINT, ASSN_START_VAR INTEGER,ASSN_FINISH_VAR INTEGER,ASSN_UPDATE_NEEDED NUM (2,0),EXT_EDIT_REF_DATA CHAR (1024), ASSN_UID INTEGER,ASSN_HAS_LINKED_FIELDS NUM (2,0),ASSN_IS_CONFIRMED NUM (2,0),ASSN_RESPONSE_PENDING NUM (2,0), ASSN_HAS_NOTESNUM NUM (2,0),ASSN_TEAM_STATUS_PENDING NUM (2,0),TASK_UID INTEGER,RES_UID INTEGER, ASSN_START_DATE DATE FORMAT = DATE9.,ASSN_FINISH_DATE DATE FORMAT = DATE9.,ASSN_DELAY INTEGER,ASSN_DELAY_FMT SMALLINT, ASSN_LEVELING_DELAY INTEGER,ASSN_COST_RATE_TABLE SMALLINT,ASSN_BASE_START DATE FORMAT = DATE9., ASSN_BASE_FINISH DATE FORMAT = DATE9.,ASSN_MATERIAL_RATE_FMT SMALLINT,ASSN_UNITS DOUBLE PRECISION, ASSN_WORK DOUBLE PRECISION,ASSN_ACT_WORK DOUBLE PRECISION,ASSN_REG_WORK DOUBLE PRECISION,ASSN_REM_WORK DOUBLE PRECISION, ASSN_BASE_WORK DOUBLE PRECISION,ASSN_COST DOUBLE PRECISION,ASSN_ACT_COST DOUBLE PRECISION,ASSN_REM_COST DOUBLE PRECISION, ASSN_BASE_COST DOUBLE PRECISION,ASSN_BASE_COST_PER_USE DOUBLE PRECISION,ASSN_OVT_WORK DOUBLE PRECISION, ASSN_ACT_OVT_WORK DOUBLE PRECISION,ASSN_REM_OVT_WORK DOUBLE PRECISION,ASSN_ACT_OVT_COST DOUBLE PRECISION, ASSN_REM_OVT_COST DOUBLE PRECISION,ASSN_RTF_NOTES CHAR (1024)); CREATE TABLE MSP_ATTRIBUTE_STRINGS (RESERVED_DATA CHAR(1),PROJ_ID INTEGER,AS_ID INTEGER, AS_POSITION INTEGER,AS_VALUE VARCHAR (255)); CREATE TABLE MSP_AVAILABILITY (RESERVED_DATA CHAR(1),PROJ_ID INTEGER,AVAIL_UID INTEGER,RES_UID INTEGER, AVAIL_FROM DATE FORMAT = DATE9.,AVAIL_TO DATE FORMAT = DATE9.,AVAIL_UNITS DOUBLE PRECISION); CREATE TABLE MSP_CALENDAR_DATA (RESERVED_DATA CHAR(1),PROJ_ID INTEGER,CD_UID INTEGER,CAL_UID INTEGER, CD_DAY_OR_EXCEPTION SMALLINT,CD_WORKING SMALLINT,CD_FROM_DATE DATE FORMAT = DATE9.,CD_TO_DATE DATE FORMAT = DATE9., CD_FROM_TIME1 DATE FORMAT = DATETIME20.,CD_TO_TIME1 DATE FORMAT = DATETIME20.,CD_FROM_TIME2 DATE FORMAT = DATETIME20., CD_TO_TIME2 DATE FORMAT = DATETIME20.,CD_FROM_TIME3 DATE FORMAT = DATETIME20.,CD_TO_TIME3 DATE FORMAT = DATETIME20., CD_FROM_TIME4 DATE FORMAT = DATETIME20.,CD_TO_TIME4 DATE FORMAT = DATETIME20.,CD_FROM_TIME5 DATE FORMAT = DATETIME20., CD_TO_TIME5 DATE FORMAT = DATETIME20.); CREATE TABLE MSP_CALENDARS (RESERVED_DATA CHAR(1),PROJ_ID INTEGER,CAL_UID INTEGER,CAL_BASE_UID INTEGER, RES_UID INTEGER,CAL_IS_BASE_CAL NUM (2,0),CAL_NAME VARCHAR(255)); CREATE TABLE MSP_CODE_FIELDS (PROJ_ID INTEGER,CODE_CATEGORY INTEGER, CODE_REF_UID INTEGER,CODE_FIELD_ID INTEGER,CODE_UID INTEGER); CREATE TABLE MSP_CONVERSIONS (STRING_TYPE_ID INTEGER,CONV_VALUE INTEGER, CONV_LANG_ID INTEGER,CONV_STRING VARCHAR(200)); quit; %let fmt1=; %if &scheduleds ne %then %do; %let dsid=; %let dsid=%sysfunc(open(schedule_ds,i)); %if &dsid %then %do; %let fmt1=%sysfunc(varfmt(&dsid, %sysfunc(varnum(&dsid,E_START)))); %let rc=%sysfunc(close(&dsid)); %end; %end; %if (%index(%lowcase(&fmt1),datetime)) %then %do; proc sql noprint; CREATE TABLE MSP_DATE_FIELDS (PROJ_ID INTEGER,DATE_CATEGORY INTEGER, DATE_REF_UID INTEGER,DATE_FIELD_ID INTEGER,DATE_VALUE DATE FORMAT = DATETIME16.); quit; %end; %else %do; proc sql noprint; CREATE TABLE MSP_DATE_FIELDS (PROJ_ID INTEGER,DATE_CATEGORY INTEGER, DATE_REF_UID INTEGER,DATE_FIELD_ID INTEGER,DATE_VALUE DATE); quit; %end; proc sql noprint; CREATE TABLE MSP_DURATION_FIELDS (PROJ_ID INTEGER,DUR_CATEGORY INTEGER,DUR_REF_UID INTEGER, DUR_FIELD_ID INTEGER,DUR_VALUE INTEGER,DUR_FMT SMALLINT); CREATE TABLE MSP_FIELD_ATTRIBUTES (RESERVED_DATA CHAR(1),PROJ_ID INTEGER, ATTRIB_FIELD_ID INTEGER,ATTRIB_ID INTEGER,ATTRIB_VALUE INTEGER, AS_ID INTEGER,ATTRIB_EXT_EDITED NUM (2,0)); CREATE TABLE MSP_FLAG_FIELDS (PROJ_ID INTEGER,FLAG_CATEGORY INTEGER,FLAG_REF_UID INTEGER, FLAG_FIELD_ID INTEGER,FLAG_VALUE NUM (2,0)); CREATE TABLE MSP_LINKS (RESERVED_DATA CHAR(1),PROJ_ID INTEGER, EXT_EDIT_REF_DATA CHAR (1024),LINK_UID INTEGER,LINK_IS_CROSS_PROJ NUM (2,0), LINK_PRED_UID INTEGER,LINK_SUCC_UID INTEGER,LINK_TYPE SMALLINT, LINK_LAG_FMT SMALLINT,LINK_LAG INTEGER); CREATE TABLE MSP_NUMBER_FIELDS (PROJ_ID INTEGER,NUM_CATEGORY INTEGER, NUM_REF_UID INTEGER,NUM_FIELD_ID INTEGER, NUM_VALUE DOUBLE PRECISION); CREATE TABLE MSP_OUTLINE_CODES (RESERVED_DATA CHAR(1),PROJ_ID INTEGER,CODE_UID INTEGER, OC_PARENT INTEGER,OC_FIELD_ID INTEGER,OC_NAME CHAR (1024),OC_DESCRIPTION CHAR (1024)); CREATE TABLE MSP_PROJECTS (PROJ_ID INTEGER,PROJ_NAME VARCHAR (255),PROJ_PROP_AUTHOR CHAR (1024), PROJ_OPT_CALC_ACT_COSTS NUM (2,0),PROJ_PROP_CATEGORY CHAR (1024),PROJ_PROP_COMPANY CHAR (1024), PROJ_OPT_CRITICAL_SLACK_LIMIT INTEGER,PROJ_OPT_CURRENCY_DIGITS SMALLINT,PROJ_OPT_CURRENCY_POSITION SMALLINT, PROJ_OPT_CURRENCY_SYMBOL VARCHAR(20),PROJ_OPT_NEW_ARE_EFFORT_DRIVEN NUM (2,0), PROJ_INFO_CURRENT_DATE DATE FORMAT = DATETIME20.,PROJ_OPT_DEF_FINISH_TIME DATE FORMAT = DATETIME20., PROJ_OPT_DEF_FIX_COST_ACCRUAL SMALLINT,PROJ_OPT_MINUTES_PER_DAY INTEGER, PROJ_OPT_MINUTES_PER_WEEK INTEGER,PROJ_OPT_DEF_OVT_RATE DOUBLE PRECISION, PROJ_OPT_DEF_STD_RATE DOUBLE PRECISION,PROJ_OPT_DEF_START_TIME DATE FORMAT = DATETIME20., PROJ_OPT_DEF_TASK_TYPE SMALLINT,PROJ_OPT_DUR_ENTRY_FMT SMALLINT, PROJ_INFO_FINISH_DATE DATE FORMAT = DATETIME20.,PROJ_OPT_HONOR_CONSTRAINTS NUM (2,0), PROJ_PROP_KEYWORDS CHAR (1024),PROJ_LAST_SAVED DATE FORMAT = DATETIME20., PROJ_PROP_MANAGER CHAR (1024),PROJ_OPT_MULT_CRITICAL_PATHS NUM (2,0), PROJ_CREATION_DATE DATE FORMAT = DATETIME20.,PROJ_POOL_ATTACHED_TO CHAR (1024), PROJ_INFO_CAL_NAME CHAR (1024),PROJ_IS_RES_POOL NUM (2,0), PROJ_INFO_SCHED_FROM SMALLINT,PROJ_OPT_SPLIT_IN_PROGRESS NUM (2,0), PROJ_OPT_SPREAD_ACT_COSTS NUM (2,0),PROJ_OPT_SPREAD_PCT_COMP NUM (2,0), PROJ_INFO_START_DATE DATE FORMAT = DATETIME20.,PROJ_INFO_STATUS_DATE DATE FORMAT = DATETIME20., PROJ_PROP_SUBJECT CHAR (1024),PROJ_PROP_TITLE CHAR (1024), PROJ_OPT_TASK_UPDATES_RES NUM (2,0),PROJ_OPT_WORK_ENTRY_FMT SMALLINT, PROJ_OPT_CALC_SUB_AS_SUMMARY NUM (2,0),PROJ_OPT_WEEK_START_DAY SMALLINT, PROJ_OPT_FY_START_MONTH SMALLINT,PROJ_OPT_FY_USE_START_YR NUM (2,0), PROJ_OPT_DAYS_PER_MONTH SMALLINT,PROJ_OPT_NEW_TASK_EST NUM (2,0), PROJ_OPT_SHOW_EST_DUR NUM (2,0),PROJ_OPT_EXPAND_TIMEPHASED NUM (2,0), PROJ_EXT_EDITED_DATE NUM (2,0),PROJ_EXT_EDITED_DUR NUM (2,0), PROJ_EXT_EDITED_NUM NUM (2,0),PROJ_EXT_EDITED_FLAG NUM (2,0), PROJ_EXT_EDITED_CODE NUM (2,0),PROJ_EXT_EDITED_TEXT NUM (2,0), PROJ_EXT_EDITED NUM (2,0),PROJ_DATA_SOURCE VARCHAR (128), PROJ_READ_ONLY VARCHAR (10),PROJ_READ_WRITE VARCHAR (4), PROJ_READ_COUNT VARCHAR (10),PROJ_LOCKED VARCHAR (4), PROJ_MACHINE_ID VARCHAR (100),RESERVED_BINARY_DATA CHAR (1024)); CREATE TABLE MSP_RESOURCE_RATES (RESERVED_DATA CHAR(1),PROJ_ID INTEGER,RR_UID INTEGER, RES_UID INTEGER,RR_RATE_TABLE SMALLINT,RR_FROM_DATE DATE FORMAT = DATETIME20., RR_TO_DATE DATE FORMAT = DATETIME20.,RR_STD_RATE DOUBLE PRECISION,RR_STD_RATE_FMT SMALLINT, RR_OVT_RATE DOUBLE PRECISION,RR_OVT_RATE_FMT SMALLINT, RR_PER_USE_COST DOUBLE PRECISION); CREATE TABLE MSP_RESOURCES (RESERVED_DATA CHAR(1), PROJ_ID INTEGER,RES_ACWP DOUBLE PRECISION,RES_BCWP DOUBLE PRECISION, RES_BCWS DOUBLE PRECISION,RES_NUM_OBJECTS INTEGER, EXT_EDIT_REF_DATA CHAR (1024),RES_UID INTEGER, RES_ID INTEGER,RES_HAS_LINKED_FIELDS NUM (2,0), RES_IS_OVERALLOCATED NUM (2,0),RES_TYPE NUM (2,0), RES_HAS_NOTES NUM (2,0),RES_CAN_LEVEL NUM (2,0), RES_STD_RATE_FMT SMALLINT,RES_OVT_RATE_FMT SMALLINT, RES_ACCRUE_AT SMALLINT,RES_WORKGROUP_MESSAGING SMALLINT, RES_CAL_UID INTEGER,RES_AVAIL_FROM DATE FORMAT = DATE9., RES_AVAIL_TO DATE FORMAT = DATE9.,RES_STD_RATE DOUBLE PRECISION, RES_OVT_RATE DOUBLE PRECISION,RES_MAX_UNITS DOUBLE PRECISION, RES_WORK DOUBLE PRECISION,RES_ACT_WORK DOUBLE PRECISION, RES_BASE_WORK DOUBLE PRECISION,RES_OVT_WORK DOUBLE PRECISION, RES_COST_PER_USE DOUBLE PRECISION,RES_REM_WORK DOUBLE PRECISION, RES_REG_WORK DOUBLE PRECISION,RES_ACT_OVT_WORK DOUBLE PRECISION, RES_REM_OVT_WORK DOUBLE PRECISION,RES_PEAK DOUBLE PRECISION, RES_ACT_COST DOUBLE PRECISION,RES_COST DOUBLE PRECISION, RES_BASE_COST DOUBLE PRECISION,RES_REM_COST DOUBLE PRECISION, RES_OVT_COST DOUBLE PRECISION,RES_ACT_OVT_COST DOUBLE PRECISION, RES_REM_OVT_COST DOUBLE PRECISION,RES_NAME VARCHAR (255), RES_INITIALS VARCHAR (255),RES_PHONETICS CHAR (1024), RES_MATERIAL_LABEL CHAR (1024),RES_RTF_NOTES CHAR (1024)); CREATE TABLE MSP_STRING_TYPES (STRING_TYPE_ID INTEGER, STRING_LANG_ID INTEGER,STRING_TYPE VARCHAR (200)); CREATE TABLE MSP_TASKS (RESERVED_DATA CHAR(1), PROJ_ID INTEGER,TASK_ACWP DOUBLE PRECISION, TASK_BCWP DOUBLE PRECISION,TASK_BCWS DOUBLE PRECISION, TASK_DUR_VAR INTEGER,TASK_FINISH_VAR INTEGER, TASK_OUTLINE_NUM VARCHAR (255),TASK_START_VAR INTEGER, TASK_IS_OVERALLOCATED NUM (2,0),TASK_OVT_WORK DOUBLE PRECISION, TASK_VAC DOUBLE PRECISION,TASK_REG_WORK DOUBLE PRECISION, TASK_NUM_OBJECTS INTEGER,TASK_TOTAL_SLACK INTEGER, EXT_EDIT_REF_DATA CHAR (1024),TASK_UID INTEGER, TASK_ID INTEGER,TASK_HAS_LINKED_FIELDS NUM (2,0), TASK_IS_MILESTONE NUM (2,0),TASK_IS_CRITICAL NUM (2,0), TASK_IS_SUMMARY NUM (2,0),TASK_IS_SUBPROJ NUM (2,0), TASK_IS_MARKED NUM (2,0),TASK_IGNORES_RES_CAL NUM (2,0), TASK_IS_ROLLED_UP NUM (2,0),TASK_IS_FROM_FINISH_SUBPROJ NUM (2,0), TASK_BAR_IS_HIDDEN NUM (2,0),TASK_IS_RECURRING NUM (2,0), TASK_IS_RECURRING_SUMMARY NUM (2,0), TASK_IS_EXTERNAL NUM (2,0),TASK_IS_EFFORT_DRIVEN NUM (2,0), TASK_IS_COLLAPSED NUM (2,0),TASK_HAS_NOTES NUM (2,0), TASK_IS_READONLY_SUBPROJ NUM (2,0),TASK_LEVELING_CAN_SPLIT NUM (2,0), TASK_LEVELING_ADJUSTS_ASSN NUM (2,0),TASK_DUR_IS_EST NUM (2,0), TASK_EARLY_FINISH DATE FORMAT = DATETIME20.,TASK_LATE_START DATE FORMAT = DATETIME20., TASK_STOP_DATE DATE FORMAT = DATETIME20.,TASK_RESUME_DATE DATE FORMAT = DATETIME20., TASK_FREE_SLACK INTEGER,TASK_OUTLINE_LEVEL SMALLINT,TASK_DUR INTEGER, TASK_DUR_FMT SMALLINT,TASK_ACT_DUR INTEGER, TASK_REM_DUR INTEGER,TASK_BASE_DUR INTEGER, TASK_BASE_DUR_FMT SMALLINT,TASK_CONSTRAINT_TYPE SMALLINT, TASK_LEVELING_DELAY INTEGER,TASK_LEVELING_DELAY_FMT SMALLINT, TASK_START_DATE DATE FORMAT = DATE9.,TASK_FINISH_DATE DATE FORMAT = DATE9., TASK_ACT_START DATE FORMAT = DATE9.,TASK_ACT_FINISH DATE FORMAT = DATE9., TASK_BASE_START DATE FORMAT = DATE9.,TASK_BASE_FINISH DATE FORMAT = DATE9., TASK_CONSTRAINT_DATE DATE FORMAT = DATE9.,TASK_PRIORITY SMALLINT, TASK_PCT_COMP SMALLINT,TASK_PCT_WORK_COMP SMALLINT, TASK_TYPE SMALLINT,TASK_FIXED_COST_ACCRUAL SMALLINT, TASK_CREATION_DATE DATE FORMAT = DATETIME20., TASK_PRELEVELED_START DATE FORMAT = DATETIME20., TASK_PRELEVELED_FINISH DATE FORMAT = DATETIME20., TASK_EARLY_START DATE FORMAT = DATETIME20., TASK_LATE_FINISH DATE FORMAT = DATETIME20., TASK_CAL_UID INTEGER,TASK_DEADLINE DATE FORMAT = DATETIME20., TASK_WORK DOUBLE PRECISION,TASK_BASE_WORK DOUBLE PRECISION, TASK_ACT_WORK DOUBLE PRECISION,TASK_REM_WORK DOUBLE PRECISION, TASK_COST DOUBLE PRECISION,TASK_FIXED_COST DOUBLE PRECISION, TASK_ACT_COST DOUBLE PRECISION,TASK_REM_COST DOUBLE PRECISION, TASK_BASE_COST DOUBLE PRECISION,TASK_ACT_OVT_WORK DOUBLE PRECISION, TASK_REM_OVT_WORK DOUBLE PRECISION,TASK_OVT_COST DOUBLE PRECISION, TASK_ACT_OVT_COST DOUBLE PRECISION,TASK_REM_OVT_COST DOUBLE PRECISION, TASK_WBS CHAR (1024),TASK_NAME VARCHAR (255), TASK_WBS_RIGHTMOST_LEVEL CHAR (1024),TASK_RTF_NOTES CHAR (1024)); CREATE TABLE MSP_TEXT_FIELDS (PROJ_ID INTEGER,TEXT_CATEGORY INTEGER, TEXT_REF_UID INTEGER,TEXT_FIELD_ID INTEGER,TEXT_VALUE VARCHAR (255)); CREATE TABLE MSP_TIMEPHASED_DATA (RESERVED_DATA CHAR(1),PROJ_ID INTEGER, TD_UID INTEGER,TD_FIELD_ID SMALLINT,TD_CATEGORY SMALLINT, TD_REF_UID INTEGER,TD_START DATE FORMAT = DATETIME20., TD_FINISH DATE FORMAT = DATETIME20.,TD_UNITS SMALLINT, TD_VALUE1 DOUBLE PRECISION,TD_VALUE2 DOUBLE PRECISION, TD_VALUE3 DOUBLE PRECISION,TD_VALUE4 DOUBLE PRECISION, TD_VALUE5 DOUBLE PRECISION,TD_VALUE6 DOUBLE PRECISION, TD_VALUE7 DOUBLE PRECISION,TD_EXT_EDITED NUM (2,0)); /**********************************************/ /* INSERT DATA INTO THE TABLE MSP_CONVERSIONS */ /**********************************************/ insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743767,1033, 'Task Number1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743768,1033, 'Task Number2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743769,1033, 'Task Number3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743770,1033, 'Task Number4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743771,1033, 'Task Number5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743982,1033, 'Task Number6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743983,1033, 'Task Number7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743984,1033, 'Task Number8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743985,1033, 'Task Number9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743986,1033, 'Task Number10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743987,1033, 'Task Number11'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743988,1033, 'Task Number12'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743989,1033, 'Task Number13'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743990,1033, 'Task Number14'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743991,1033, 'Task Number15'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743992,1033, 'Task Number16'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743993,1033, 'Task Number17'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743994,1033, 'Task Number18'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743995,1033, 'Task Number19'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743996,1033, 'Task Number20'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743696,1033, 'Task WBS'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743897,1033, 'Task Hyperlink'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743898,1033, 'Task Hyperlink Address'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743899,1033, 'Task Hyperlink SubAddress'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743774,1033, 'Task Notes'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743792,1033, 'Task Contact'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743731,1033, 'Task Text1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743734,1033, 'Task Text2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743737,1033, 'Task Text3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743740,1033, 'Task Text4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743743,1033, 'Task Text5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743746,1033, 'Task Text6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743747,1033, 'Task Text7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743748,1033, 'Task Text8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743749,1033, 'Task Text9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743750,1033, 'Task Text10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743997,1033, 'Task Text11'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743998,1033, 'Task Text12'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743999,1033, 'Task Text13'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744000,1033, 'Task Text14'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744001,1033, 'Task Text15'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744002,1033, 'Task Text16'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744003,1033, 'Task Text17'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744004,1033, 'Task Text18'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744005,1033, 'Task Text19'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744006,1033, 'Task Text20'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744007,1033, 'Task Text21'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744008,1033, 'Task Text22'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744009,1033, 'Task Text23'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744010,1033, 'Task Text24'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744011,1033, 'Task Text25'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744012,1033, 'Task Text26'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744013,1033, 'Task Text27'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744014,1033, 'Task Text28'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744015,1033, 'Task Text29'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744016,1033, 'Task Text30'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744095,1033, 'Task WbsMaxValue'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743706,1033, 'Task Subproject File'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743732,1033, 'Task Start1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743733,1033, 'Task Finish1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743735,1033, 'Task Start2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743736,1033, 'Task Finish2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743738,1033, 'Task Start3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743739,1033, 'Task Finish3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743741,1033, 'Task Start4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743742,1033, 'Task Finish4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743744,1033, 'Task Start5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743745,1033, 'Task Finish5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743962,1033, 'Task Start6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743963,1033, 'Task Finish6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743964,1033, 'Task Start7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743965,1033, 'Task Finish7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743966,1033, 'Task Start8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743967,1033, 'Task Finish8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743968,1033, 'Task Start9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743969,1033, 'Task Finish9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743970,1033, 'Task Start10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743971,1033, 'Task Finish10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743945,1033, 'Task Date1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743946,1033, 'Task Date2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743947,1033, 'Task Date3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743948,1033, 'Task Date4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743949,1033, 'Task Date5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743950,1033, 'Task Date6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743951,1033, 'Task Date7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743952,1033, 'Task Date8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743953,1033, 'Task Date9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743954,1033, 'Task Date10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743783,1033, 'Task Duration1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743784,1033, 'Task Duration2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743785,1033, 'Task Duration3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743955,1033, 'Task Duration4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743956,1033, 'Task Duration5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743957,1033, 'Task Duration6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743958,1033, 'Task Duration7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743959,1033, 'Task Duration8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743960,1033, 'Task Duration9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743961,1033, 'Task Duration10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743786,1033, 'Task Cost1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743787,1033, 'Task Cost2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743788,1033, 'Task Cost3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743938,1033, 'Task Cost4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743939,1033, 'Task Cost5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743940,1033, 'Task Cost6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743941,1033, 'Task Cost7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743942,1033, 'Task Cost8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743943,1033, 'Task Cost9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743944,1033, 'Task Cost10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743752,1033, 'Task Flag1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743753,1033, 'Task Flag2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743754,1033, 'Task Flag3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743755,1033, 'Task Flag4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743756,1033, 'Task Flag5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743757,1033, 'Task Flag6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743758,1033, 'Task Flag7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743759,1033, 'Task Flag8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743760,1033, 'Task Flag9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743761,1033, 'Task Flag10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743972,1033, 'Task Flag11'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743973,1033, 'Task Flag12'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743974,1033, 'Task Flag13'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743975,1033, 'Task Flag14'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743976,1033, 'Task Flag15'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743977,1033, 'Task Flag16'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743978,1033, 'Task Flag17'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743979,1033, 'Task Flag18'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743980,1033, 'Task Flag19'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188743981,1033, 'Task Flag20'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744096,1033, 'Task Outline Code1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744098,1033, 'Task Outline Code2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744100,1033, 'Task Outline Code3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744102,1033, 'Task Outline Code4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744104,1033, 'Task Outline Code5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744106,1033, 'Task Outline Code6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744108,1033, 'Task Outline Code7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744110,1033, 'Task Outline Code8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744112,1033, 'Task Outline Code9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 188744114,1033, 'Task Outline Code10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521008,1033, 'Resource Number1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521009,1033, 'Resource Number2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521010,1033, 'Resource Number3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521011,1033, 'Resource Number4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521012,1033, 'Resource Number5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521101,1033, 'Resource Number6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521102,1033, 'Resource Number7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521103,1033, 'Resource Number8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521104,1033, 'Resource Number9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521105,1033, 'Resource Number10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521106,1033, 'Resource Number11'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521107,1033, 'Resource Number12'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521108,1033, 'Resource Number13'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521109,1033, 'Resource Number14'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521110,1033, 'Resource Number15'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521111,1033, 'Resource Number16'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521112,1033, 'Resource Number17'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521113,1033, 'Resource Number18'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521114,1033, 'Resource Number19'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521115,1033, 'Resource Number20'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521034,1033, 'Resource Hyperlink'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521035,1033, 'Resource Hyperlink Address'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521036,1033, 'Resource Hyperlink SubAddress'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520924,1033, 'Resource Notes'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520899,1033, 'Resource Group'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520906,1033, 'Resource Code'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520931,1033, 'Resource Email Address'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521207,1033, 'Resource Windows User Account'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520904,1033, 'Resource Text1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520905,1033, 'Resource Text2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520926,1033, 'Resource Text3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520927,1033, 'Resource Text4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520928,1033, 'Resource Text5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520993,1033, 'Resource Text6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520994,1033, 'Resource Text7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520995,1033, 'Resource Text8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520996,1033, 'Resource Text9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520997,1033, 'Resource Text10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521121,1033, 'Resource Text11'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521122,1033, 'Resource Text12'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521123,1033, 'Resource Text13'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521124,1033, 'Resource Text14'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521125,1033, 'Resource Text15'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521126,1033, 'Resource Text16'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521127,1033, 'Resource Text17'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521128,1033, 'Resource Text18'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521129,1033, 'Resource Text19'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521130,1033, 'Resource Text20'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521131,1033, 'Resource Text21'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521132,1033, 'Resource Text22'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521133,1033, 'Resource Text23'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521134,1033, 'Resource Text24'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521135,1033, 'Resource Text25'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521136,1033, 'Resource Text26'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521137,1033, 'Resource Text27'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521138,1033, 'Resource Text28'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521139,1033, 'Resource Text29'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521140,1033, 'Resource Text30'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520998,1033, 'Resource Start1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205520999,1033, 'Resource Start2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521000,1033, 'Resource Start3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521001,1033, 'Resource Start4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521002,1033, 'Resource Start5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521116,1033, 'Resource Start6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521117,1033, 'Resource Start7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521118,1033, 'Resource Start8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521119,1033, 'Resource Start9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521120,1033, 'Resource Start10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521003,1033, 'Resource Finish1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521004,1033, 'Resource Finish2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521005,1033, 'Resource Finish3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521006,1033, 'Resource Finish4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521007,1033, 'Resource Finish5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521086,1033, 'Resource Finish6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521087,1033, 'Resource Finish7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521088,1033, 'Resource Finish8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521089,1033, 'Resource Finish9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521090,1033, 'Resource Finish10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521069,1033, 'Resource Date1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521070,1033, 'Resource Date2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521071,1033, 'Resource Date3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521072,1033, 'Resource Date4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521073,1033, 'Resource Date5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521074,1033, 'Resource Date6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521075,1033, 'Resource Date7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521076,1033, 'Resource Date8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521077,1033, 'Resource Date9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521078,1033, 'Resource Date10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521013,1033, 'Resource Duration1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521014,1033, 'Resource Duration2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521015,1033, 'Resource Duration3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521079,1033, 'Resource Duration4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521080,1033, 'Resource Duration5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521081,1033, 'Resource Duration6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521082,1033, 'Resource Duration7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521083,1033, 'Resource Duration8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521084,1033, 'Resource Duration9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521085,1033, 'Resource Duration10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521019,1033, 'Resource Cost1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521020,1033, 'Resource Cost2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521021,1033, 'Resource Cost3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521062,1033, 'Resource Cost4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521063,1033, 'Resource Cost5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521064,1033, 'Resource Cost6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521065,1033, 'Resource Cost7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521066,1033, 'Resource Cost8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521067,1033, 'Resource Cost9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521068,1033, 'Resource Cost10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521022,1033, 'Resource Flag10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521023,1033, 'Resource Flag1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521024,1033, 'Resource Flag2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521025,1033, 'Resource Flag3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521026,1033, 'Resource Flag4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521027,1033, 'Resource Flag5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521028,1033, 'Resource Flag6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521029,1033, 'Resource Flag7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521030,1033, 'Resource Flag8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521031,1033, 'Resource Flag9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521091,1033, 'Resource Flag11'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521092,1033, 'Resource Flag12'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521093,1033, 'Resource Flag13'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521094,1033, 'Resource Flag14'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521095,1033, 'Resource Flag15'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521096,1033, 'Resource Flag16'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521097,1033, 'Resource Flag17'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521098,1033, 'Resource Flag18'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521099,1033, 'Resource Flag19'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521100,1033, 'Resource Flag20'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521174,1033, 'Resource Outline Code1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521176,1033, 'Resource Outline Code2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521178,1033, 'Resource Outline Code3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521180,1033, 'Resource Outline Code4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521182,1033, 'Resource Outline Code5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521184,1033, 'Resource Outline Code6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521186,1033, 'Resource Outline Code7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521188,1033, 'Resource Outline Code8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521190,1033, 'Resource Outline Code9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 205521192,1033, 'Resource Outline Code10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852652,1033, 'Assignment Number1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852653,1033, 'Assignment Number2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852654,1033, 'Assignment Number3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852655,1033, 'Assignment Number4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852656,1033, 'Assignment Number5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852742,1033, 'Assignment Number6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852743,1033, 'Assignment Number7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852744,1033, 'Assignment Number8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852745,1033, 'Assignment Number9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852746,1033, 'Assignment Number10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852747,1033, 'Assignment Number11'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852748,1033, 'Assignment Number12'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852749,1033, 'Assignment Number13'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852750,1033, 'Assignment Number14'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852751,1033, 'Assignment Number15'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852752,1033, 'Assignment Number16'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852753,1033, 'Assignment Number17'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852754,1033, 'Assignment Number18'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852755,1033, 'Assignment Number19'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852756,1033, 'Assignment Number20'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852696,1033, 'Assignment Hyperlink'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852697,1033, 'Assignment Hyperlink Address'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852698,1033, 'Assignment Hyperlink SubAddress'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852623,1033, 'Assignment Notes'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852632,1033, 'Assignment Text1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852633,1033, 'Assignment Text2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852634,1033, 'Assignment Text3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852635,1033, 'Assignment Text4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852636,1033, 'Assignment Text5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852637,1033, 'Assignment Text6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852638,1033, 'Assignment Text7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852639,1033, 'Assignment Text8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852640,1033, 'Assignment Text9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852641,1033, 'Assignment Text10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852762,1033, 'Assignment Text11'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852763,1033, 'Assignment Text12'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852764,1033, 'Assignment Text13'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852765,1033, 'Assignment Text14'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852766,1033, 'Assignment Text15'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852767,1033, 'Assignment Text16'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852768,1033, 'Assignment Text17'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852769,1033, 'Assignment Text18'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852770,1033, 'Assignment Text19'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852771,1033, 'Assignment Text20'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852772,1033, 'Assignment Text21'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852773,1033, 'Assignment Text22'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852774,1033, 'Assignment Text23'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852775,1033, 'Assignment Text24'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852776,1033, 'Assignment Text25'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852777,1033, 'Assignment Text26'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852778,1033, 'Assignment Text27'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852779,1033, 'Assignment Text28'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852780,1033, 'Assignment Text29'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852781,1033, 'Assignment Text30'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852642,1033, 'Assignment Start1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852643,1033, 'Assignment Start2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852644,1033, 'Assignment Start3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852645,1033, 'Assignment Start4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852646,1033, 'Assignment Start5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852757,1033, 'Assignment Start6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852758,1033, 'Assignment Start7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852759,1033, 'Assignment Start8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852760,1033, 'Assignment Start9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852761,1033, 'Assignment Start10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852647,1033, 'Assignment Finish1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852648,1033, 'Assignment Finish2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852649,1033, 'Assignment Finish3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852650,1033, 'Assignment Finish4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852651,1033, 'Assignment Finish5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852727,1033, 'Assignment Finish6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852728,1033, 'Assignment Finish7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852729,1033, 'Assignment Finish8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852730,1033, 'Assignment Finish9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852731,1033, 'Assignment Finish10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852710,1033, 'Assignment Date1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852711,1033, 'Assignment Date2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852712,1033, 'Assignment Date3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852713,1033, 'Assignment Date4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852714,1033, 'Assignment Date5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852715,1033, 'Assignment Date6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852716,1033, 'Assignment Date7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852717,1033, 'Assignment Date8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852718,1033, 'Assignment Date9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852719,1033, 'Assignment Date10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852657,1033, 'Assignment Duration1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852658,1033, 'Assignment Duration2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852659,1033, 'Assignment Duration3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852720,1033, 'Assignment Duration4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852721,1033, 'Assignment Duration5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852722,1033, 'Assignment Duration6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852723,1033, 'Assignment Duration7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852724,1033, 'Assignment Duration8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852725,1033, 'Assignment Duration9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852726,1033, 'Assignment Duration10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852663,1033, 'Assignment Cost1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852664,1033, 'Assignment Cost2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852665,1033, 'Assignment Cost3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852703,1033, 'Assignment Cost4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852704,1033, 'Assignment Cost5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852705,1033, 'Assignment Cost6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852706,1033, 'Assignment Cost7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852707,1033, 'Assignment Cost8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852708,1033, 'Assignment Cost9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852709,1033, 'Assignment Cost10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852666,1033, 'Assignment Flag10'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852667,1033, 'Assignment Flag1'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852668,1033, 'Assignment Flag2'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852669,1033, 'Assignment Flag3'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852670,1033, 'Assignment Flag4'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852671,1033, 'Assignment Flag5'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852672,1033, 'Assignment Flag6'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852673,1033, 'Assignment Flag7'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852674,1033, 'Assignment Flag8'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852675,1033, 'Assignment Flag9'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852732,1033, 'Assignment Flag11'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852733,1033, 'Assignment Flag12'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852734,1033, 'Assignment Flag13'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852735,1033, 'Assignment Flag14'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852736,1033, 'Assignment Flag15'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852737,1033, 'Assignment Flag16'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852738,1033, 'Assignment Flag17'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852739,1033, 'Assignment Flag18'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852740,1033, 'Assignment Flag19'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 255852741,1033, 'Assignment Flag20'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 239075346,1033, 'Dependencies External Predecessor Task Name'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (105, 239075347,1033, 'Dependencies External Successor Task Name'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (56, 1,1033, 'Sunday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (56, 2,1033, 'Monday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (56, 3,1033, 'Tuesday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (56, 4,1033, 'Wednesday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (56, 5,1033, 'Thursday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (56, 6,1033, 'Friday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (56, 7,1033, 'Saturday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 3,1033, 'm'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 4,1033, 'em'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 5,1033, 'h'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 6,1033, 'eh'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 7,1033, 'd'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 8,1033, 'ed'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 9,1033, 'w'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 10,1033, 'ew'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 11,1033, 'mo'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 12,1033, 'emo'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 19,1033, '%'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 20,1033, 'e%'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 21,1033, ''); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 35,1033, 'm?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 36,1033, 'em?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 37,1033, 'h?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 38,1033, 'eh?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 39,1033, 'd?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 40,1033, 'ed?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 41,1033, 'w?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 42,1033, 'ew?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 43,1033, 'mo?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 44,1033, 'emo?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 51,1033, '%?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 52,1033, 'e%?'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (57, 53,1033, ''); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (68, 0,1033, 'As Soon As Possible'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (68, 1,1033, 'As Late As Possible'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (68, 2,1033, 'Must Start On'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (68, 3,1033, 'Must Finish On'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (68, 4,1033, 'Start No Earlier Than'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (68, 5,1033, 'Start No Later Than'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (68, 6,1033, 'Finish No Earlier Than'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (68, 7,1033, 'Finish No Later Than'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (70, 1,1033, 'Start'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (70, 2,1033, 'End'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (14, 0,1033, 'Flat'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (14, 1,1033, 'Back Loaded'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (14, 2,1033, 'Front Loaded'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (14, 3,1033, 'DOUBLE PRECISION Peak'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (14, 4,1033, 'Early Peak'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (14, 5,1033, 'Late Peak'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (14, 6,1033, 'Bell'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (14, 7,1033, 'Turtle'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (14, 8,1033, 'Contoured'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (3, 0,1033, 'FF'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (3, 1,1033, 'FS'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (3, 2,1033, 'SF'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (3, 3,1033, 'SS'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (29, 0,1033, 'Fixed Units'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (29, 1,1033, 'Fixed Duration'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (29, 2,1033, 'Fixed Work'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (78, 1,1033, 'm'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (78, 2,1033, 'h'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (78, 3,1033, 'd'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (78, 4,1033, 'w'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (78, 5,1033, 'mo'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (78, 7,1033, 'y'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (81, 0,1033, 'Default'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (81, 1,1033, 'None'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (81, 2,1033, 'Email'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (81, 3,1033, 'Web'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (83, 1,1033, 'Su'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (83, 2,1033, 'Mo'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (83, 3,1033, 'Tu'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (83, 4,1033, 'We'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (83, 5,1033, 'Th'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (83, 6,1033, 'Fr'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (83, 7,1033, 'Sa'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (84, 1,1033, '(Su);'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (84, 2,1033, '(Mo);'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (84, 3,1033, '(Tu);'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (84, 4,1033, '(We);'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (84, 5,1033, '(Th);'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (84, 6,1033, '(Fr);'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (84, 7,1033, '(Sa);'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (85, 1,1033, 'Sunday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (85, 2,1033, 'Monday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (85, 3,1033, 'Tuesday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (85, 4,1033, 'Wednesday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (85, 5,1033, 'Thursday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (85, 6,1033, 'Friday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (85, 7,1033, 'Saturday'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (100, 0,1033, 'Task'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (100, 1,1033, 'Resource'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (100, 2,1033, 'Calendar'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (100, 3,1033, 'Assignment'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (100, 4,1033, 'Dependencies'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (101, 0,1033, 'Schedule From Project Finish'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (101, 1,1033, 'Schedule From Project Start'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (102, 0,1033, 'Non-Working'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (102, 1,1033, 'Working'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (102, 2,1033, 'Default'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (103, 0,1033, 'Before'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (103, 1,1033, 'After'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (103, 2,1033, 'Before with Space'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (103, 3,1033, 'After with Space'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (104, 0,1033, 'Default'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (104, 1,1033, 'None'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (104, 2,1033, 'Email'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (104, 3,1033, 'Web'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (106, 1,1033, 'Outline code and WBS mask'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (106, 2,1033, 'Only allow outline codes listed in the lookup table'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (106, 3,1033, 'Only allow new outline codes with values at all levels of mask'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (106, 4,1033, 'Verify uniqueness of new WBS codes'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (106, 5,1033, 'WBS Prefix'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (106, 6,1033, 'Generate WBS code for new tasks'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (106, 7,1033, 'Field Alias'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (106, 8,1033, 'Custom Field Formula'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (106, 9,1033, 'Sharer File Names'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 200,1033, 'Assignment Remaining Work'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 201,1033, 'Assignment Actual Work'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 202,1033, 'Assignment Actual Overtime Work'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 203,1033, 'Assignment Baseline Work'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 204,1033, 'Assignment Baseline Cost'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 205,1033, 'Assignment Actual Cost'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 206,1033, 'Resource Baseline Work'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 207,1033, 'Resource Baseline Cost'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 208,1033, 'Task Baseline Work'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 209,1033, 'Task Baseline Cost'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (107, 210,1033, 'Task Percent Complete'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (56, 0,1033, 'Exception'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (108, 0,1033, 'm'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (108, 1,1033, 'h'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (108, 2,1033, 'd'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (108, 3,1033, 'w'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (108, 5,1033, 'mo'); insert into MSP_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, CONV_LANG_ID, CONV_STRING) values (108, 8,1033, 'y'); /*************************************************/ /* INSERT DATA INTO THE TABLE MSP_STRING_TYPES */ /*************************************************/ insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (56, 1033, 'Weekday'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (57, 1033, 'Display Units'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (68, 1033, 'Constraint Type'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (70, 1033, 'Accrual'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (14, 1033, 'Work Contour Type'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (3, 1033, 'Link Type'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (29, 1033, 'Task Type'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (78, 1033, 'Cost Rate Data Units'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (81, 1033, 'Workgroup User Type'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (83, 1033, 'Weekday'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (84, 1033, 'Weekday'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (85, 1033, 'Weekday'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (100, 1033, 'Category Type'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (101, 1033, 'Schedule From'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (102, 1033, 'Calendar Working'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (103, 1033, 'Currency Symbol Position'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (104, 1033, 'Workgroup Messages'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (105, 1033, 'Field ID'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (106, 1033, 'Field Attributes'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (107, 1033, 'Timephased Contour Type'); insert into MSP_STRING_TYPES (STRING_TYPE_ID, STRING_LANG_ID, STRING_TYPE) values (108, 1033, 'Timephased Data Units '); quit; /*********************/ /* GENERATE WBS CODE */ /*********************/ filename junk dummy; proc printto log=junk; run; proc cpm data = act_ds out=SCHEDULE_M interval = &_interval; activity &_activity; duration &_dur; &str_succ; &str_proj; run; proc printto; run; filename junk; proc sql noprint; create table schedule1 as select * from schedule_m where &_activity is not missing; quit; %if &_project ne %then %do; proc sort data = schedule1 out = sche_wbs1 NODUPKEY; by WBS_CODE; run; %end; %else %do; data sche_wbs1; set schedule1; WBS_CODE = _n_; PROJ_LEV = 0; run; %end; data sche_wbs; set sche_wbs1; PCT_COMP = 0; run; /********************************/ /* COMPUTE ACTIVITY DURATIONS */ /********************************/ %let durfmt = 7; %let pst=%index(&_daylength,%str(:)); %if &pst=3 %then %let hr_dl =%substr(&_daylength,%eval(&pst-1),1); %else %let hr_dl =%substr(&_daylength,%eval(&pst-2),2); %let m_dl = %substr(&_daylength,%eval(&pst+1),2); %let minperday = %eval(&hr_dl*60+&m_dl); %let minperweek = %eval(&minperday*7); %let daypermon = 31; %if %lowcase(&_interval) = hour or %lowcase(&_interval) = dthour %then %do; %let durfmt = 5; data actdur; set sche_wbs; mspdur = &_dur*600; run; %end; %else %if %lowcase(&_interval) = minute or %lowcase(&_interval) = dtminute %then %do; %let durfmt = 4; data actdur; set sche_wbs; mspdur = &_dur*10; run; %end; %else %if %lowcase(&_interval) = second or %lowcase(&_interval) = dtsecond %then %do; %let durfmt = 4; data actdur; set sche_wbs; mspdur = &_dur/60*10; run; %end; %else %if %lowcase(&_interval) = workday or %lowcase(&_interval) = dtwrkday or %lowcase(&_interval) = day or %lowcase(&_interval) = dtday or %lowcase(&_interval) = weekday %then %do; data actdur; set sche_wbs; mspdur = &_dur*&minperday*10; run; %end; %else %if %lowcase(&_interval) = week or %lowcase(&_interval) = dtweek %then %do; %let durfmt = 9; data actdur; set sche_wbs; mspdur = &_dur*7*&minperday*10; run; %end; %else %if %lowcase(&_interval) = month or %lowcase(&_interval) = dtmonth %then %do; %let durfmt = 11; data actdur; set sche_wbs; mspdur = &_dur*20*&minperday*10; run; %end; %else %if %lowcase(&_interval) = qtr or %lowcase(&_interval) = dtqtr %then %do; %let durfmt = 11; data actdur; set sche_wbs; mspdur = &_dur*120*&minperday*10; run; %end; %else %if %lowcase(&_interval) = year or %lowcase(&_interval) = dtyear %then %do; %let durfmt = 11; data actdur; set sche_wbs; mspdur = &_dur*365*&minperday*10; run; %end; /*MSP treats 4800 as 0 here, don't know why. */ data actdur; set actdur; if mspdur = 4800 then mspdur = mspdur+1; run; /*******************/ /* MSP_CALENDARS */ /*******************/ proc sql noprint; insert into MSP_CALENDARS ( PROJ_ID, CAL_UID, CAL_IS_BASE_CAL) values ( 1,-65536, 1); insert into MSP_CALENDARS ( PROJ_ID, CAL_UID, CAL_IS_BASE_CAL) values ( 1,-65535, 1); insert into MSP_CALENDARS ( PROJ_ID, CAL_UID, CAL_IS_BASE_CAL) values ( 1,-65534, 1); insert into MSP_CALENDARS ( PROJ_ID, CAL_UID, CAL_IS_BASE_CAL) values ( 1,-65533, 1); insert into MSP_CALENDARS (PROJ_ID,CAL_UID,CAL_BASE_UID,RES_UID,CAL_IS_BASE_CAL,CAL_NAME) values(1,1,-1,-1,-1,"Standard"); insert into MSP_CALENDARS (PROJ_ID,CAL_UID,CAL_BASE_UID,RES_UID,CAL_IS_BASE_CAL) values(1,2,1,0,0); quit; /* When holiday calendars not in calendar data set */ data cal_ds; format &_calid $200.; set cal_ds; if left(&_calid = '.') or left(&_calid) = '0' or left(lowcase(&_calid)) = 'default' then &_calid = 'default'; run; %if &holds ne %then %do; %let holcal =; proc datasets library = work nolist; contents noprint data = hol_ds out = holout1(keep = name); quit; data _null_; set holout1; if lowcase(name) = "&_calid" then call symput('holcal',name); run; %if &holcal ne %then %do; proc sql; create table calds1 as select * from cal_ds; insert into cal_ds (&_calid) select hol_ds.&_calid from hol_ds where hol_ds.&_calid is not missing and hol_ds.&_calid not in (select calds1.&_calid from calds1); quit; %end; %end; proc sql; insert into MSP_CALENDARS ( PROJ_ID, CAL_BASE_UID, RES_UID, CAL_IS_BASE_CAL, CAL_NAME) select 1, -1, -1, -1, trim(left(&_calid)) from cal_ds; quit; data MSP_CALENDARS; set MSP_CALENDARS; if _n_>= 7 then CAL_UID = _n_-4; run; /**********************/ /* MSP_CALENDAR_DATA */ /**********************/ /* construct Microsoft standard calendar */ %let fr_tm1 = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')),1,%str(%")),1,':'):8:00%str(%')dt); %let to_tm1 = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')),1,%str(%")),1,':'):12:00%str(%')dt); %let fr_tm2 = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')),1,%str(%")),1,':'):13:00%str(%')dt); %let to_tm2 = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')),1,%str(%")),1,':'):17:00%str(%')dt); proc sql; insert into MSP_CALENDAR_DATA ( PROJ_ID, CD_UID, CAL_UID,CD_DAY_OR_EXCEPTION, CD_WORKING) values (1,1,1,1,0); insert into MSP_CALENDAR_DATA ( PROJ_ID, CD_UID, CAL_UID,CD_DAY_OR_EXCEPTION, CD_WORKING, CD_FROM_TIME1, CD_TO_TIME1, CD_FROM_TIME2,CD_TO_TIME2) values (1,2,1,2,1,&fr_tm1,&to_tm1,&fr_tm2,&to_tm2); insert into MSP_CALENDAR_DATA ( PROJ_ID, CD_UID, CAL_UID,CD_DAY_OR_EXCEPTION, CD_WORKING, CD_FROM_TIME1, CD_TO_TIME1, CD_FROM_TIME2,CD_TO_TIME2) values (1,3,1,3,1,&fr_tm1,&to_tm1,&fr_tm2,&to_tm2); insert into MSP_CALENDAR_DATA ( PROJ_ID, CD_UID, CAL_UID,CD_DAY_OR_EXCEPTION, CD_WORKING, CD_FROM_TIME1, CD_TO_TIME1, CD_FROM_TIME2,CD_TO_TIME2) values (1,4,1,4,1,&fr_tm1,&to_tm1,&fr_tm2,&to_tm2); insert into MSP_CALENDAR_DATA ( PROJ_ID, CD_UID, CAL_UID,CD_DAY_OR_EXCEPTION, CD_WORKING, CD_FROM_TIME1, CD_TO_TIME1, CD_FROM_TIME2,CD_TO_TIME2) values (1,5,1,5,1,&fr_tm1,&to_tm1,&fr_tm2,&to_tm2); insert into MSP_CALENDAR_DATA ( PROJ_ID, CD_UID, CAL_UID,CD_DAY_OR_EXCEPTION, CD_WORKING, CD_FROM_TIME1, CD_TO_TIME1, CD_FROM_TIME2,CD_TO_TIME2) values (1,6,1,6,1,&fr_tm1,&to_tm1,&fr_tm2,&to_tm2); insert into MSP_CALENDAR_DATA ( PROJ_ID, CD_UID, CAL_UID,CD_DAY_OR_EXCEPTION, CD_WORKING) values (1,7,1,7,0); quit; /* construct SAS default calendar */ %do i = 1 %to 7; %let cday&i = nonexist; %let day&i =; %end; %let c_dlength = nonexist; %let c_daylength = nonexist; proc datasets library = work nolist; contents noprint data = cal_ds out = work.calout(keep = name); quit; data _null_; set calout; if lowcase(name) = '_sun_' then call symput('cday1',name); if lowcase(name) = '_mon_' then call symput('cday2',name); if lowcase(name) = '_tue_' then call symput('cday3',name); if lowcase(name) = '_wed_' then call symput('cday4',name); if lowcase(name) = '_thu_' then call symput('cday5',name); if lowcase(name) = '_fri_' then call symput('cday6',name); if lowcase(name) = '_sat_' then call symput('cday7',name); if lowcase(name) = 'd_length' then call symput('c_dlength',name); run; /*replace missing values in cal_ds with default calendar values*/ %do i = 1 %to 7; %let tmpdft =; %if &&cday&i ne nonexist %then %do; data _null_; set cal_ds; if &_calid = 'default' then call symput('tmpdft',&&cday&i); run; %if &tmpdft ne %then %do; data cal_ds; set cal_ds; if &&cday&i = '' then &&cday&i = "&tmpdft"; run; %end; %end; %end; data _null_; set cal_ds; call symput('_n_cal',_n_); run; %do ii = 1 %to &_n_cal; %do i = 1 %to 7; %if &&cday&i ne nonexist %then %do; data _null_; set cal_ds; if _n_ = &ii then call symput('tmpd',&&cday&i); run; %let day&i = &tmpd; %end; %end; %if &c_dlength ne nonexist %then %do; data _null_; set cal_ds; if _n_ = &ii and &c_dlength > 1 then call symput('c_daylength',&c_dlength); run; %end; /*%do i = 1 %to 7;*/ %do i = 1 %to 7; /* if holiday is given in calendar data set*/ %if (%index(%lowcase(&&day&i),holiday)) %then %do; proc sql noprint; insert into MSP_CALENDAR_DATA ( PROJ_ID, CD_UID, CAL_UID, CD_DAY_OR_EXCEPTION, CD_WORKING) values ( 1, &i, %eval(&ii+2), &i, 0); quit; %end; /* if workday is given in calendar data set*/ %else %if (%index(%lowcase(&&day&i),workday)) %then %do; %let starttime = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')), 1,%str(%")),1,':'):%scan(%scan(&_daystart,1,%str(%')),1,%str(%"))%str(%')dt); %if &c_daylength = nonexist %then %let c_daylength = &_daylength; data tdcal; daystart = &starttime; format daystart datetime.; daylength = &c_daylength; format daylength time.; dayend = daystart+daylength; format dayend datetime.; run; data _null_; set tdcal; if _n_=1 then call symput('mspend', dayend); run; proc sql noprint; insert into MSP_CALENDAR_DATA (PROJ_ID, CD_UID, CAL_UID, CD_DAY_OR_EXCEPTION, CD_WORKING, CD_FROM_TIME1, CD_TO_TIME1) values ( 1, &i, %eval(&ii+2), &i, 1, &starttime, &mspend); quit; %end; /* if any other work pattern is given in calendar */ /* data set, workday data set must be specified. */ %else %if &&day&i ne %then %do; %do j = 1 %to 5; %let _daystart&j =; %let dayend&j =; %end; data _null_; set work_ds; if _n_ = 1 then do; if &&day&i = '.' then call symput('_daystart1', '0:00't); else call symput('_daystart1', &&day&i); end; if _n_ = 2 then do; if &&day&i = '.' then call symput('dayend1', '0:00't); else call symput('dayend1', &&day&i); end; if _n_ = 3 then do; if &&day&i = '.' then call symput('_daystart2', '0:00't); else call symput('_daystart2', &&day&i); end; if _n_ = 4 then do; if &&day&i = '.' then call symput('dayend2', '0:00't); else call symput('dayend2', &&day&i); end; if _n_ = 5 then do; if &&day&i = '.' then call symput('_daystart3', '0:00't); else call symput('_daystart3', &&day&i); end; if _n_ = 6 then do; if &&day&i = '.' then call symput('dayend3', '0:00't); else call symput('dayend3', &&day&i); end; if _n_ = 7 then do; if &&day&i = '.' then call symput('_daystart4', '0:00't); else call symput('_daystart4', &&day&i); end; if _n_ = 8 then do; if &&day&i = '.' then call symput('dayend4', '0:00't); else call symput('dayend4', &&day&i); end; if _n_ = 9 then do; if &&day&i = '.' then call symput('_daystart5', '0:00't); else call symput('_daystart5', &&day&i); end; if _n_ = 10 then do; if &&day&i = '.' then call symput('dayend5', '0:00't); else call symput('dayend5', &&day&i); end; run; %if &syserr>0 %then %do; %put workday dataset is not a valid SAS workday dataset file. ; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %do j = 1 %to 5; /* upto 5 work shifs */ %if &&_daystart&j = %then %let _daystart&j = .; %if &&dayend&j = %then %let dayend&j = .; %if &&_daystart&j<1 and &&dayend&j<1 %then %do; %let _daystart&j = .; %let dayend&j = .; %end; %end; data tmpcal3; CD_FROM_TIME1 = &_daystart1; format CD_FROM_TIME1 time.; CD_TO_TIME1 = &dayend1; format CD_TO_TIME1 time.; CD_FROM_TIME2 = &_daystart2; format CD_FROM_TIME2 time.; CD_TO_TIME2 = &dayend2; format CD_TO_TIME2 time.; CD_FROM_TIME3 = &_daystart3; format CD_FROM_TIME3 time.; CD_TO_TIME3 = &dayend3; format CD_TO_TIME3 time.; CD_FROM_TIME4 = &_daystart4; format CD_FROM_TIME4 time.; CD_TO_TIME4 = &dayend4; format CD_TO_TIME4 time.; CD_FROM_TIME5 = &_daystart5; format CD_FROM_TIME5 time.; CD_TO_TIME5 = &dayend5; format CD_TO_TIME5 time.; run; proc sql noprint; select CD_FROM_TIME1 into :_daystart1 from tmpcal3; select CD_TO_TIME1 into :dayend1 from tmpcal3; select CD_FROM_TIME2 into :_daystart2 from tmpcal3; select CD_TO_TIME2 into :dayend2 from tmpcal3; select CD_FROM_TIME3 into :_daystart3 from tmpcal3; select CD_TO_TIME3 into :dayend3 from tmpcal3; select CD_FROM_TIME4 into :_daystart4 from tmpcal3; select CD_TO_TIME4 into :dayend4 from tmpcal3; select CD_FROM_TIME5 into :_daystart5 from tmpcal3; select CD_TO_TIME5 into :dayend5 from tmpcal3; quit; %do j = 1 %to 5; /* upto 5 work shifs */ %if &&_daystart&j<1 and &&dayend&j<1 %then %do; %let _daystart&j = .; %let dayend&j = .; %end; %else %do; %let _daystart&j = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')),1,%str(%")),1,':'):%scan(&&_daystart&j,1,%str(%'))%str(%')dt); %let dayend&j = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')),1,%str(%")),1,':'):%scan(&&dayend&j,1,%str(%'))%str(%')dt); %end; %end; data tmpcal3; CD_FROM_TIME1 = &_daystart1; format CD_FROM_TIME1 datetime.; CD_TO_TIME1 = &dayend1; format CD_TO_TIME1 datetime.; CD_FROM_TIME2 = &_daystart2; format CD_FROM_TIME2 datetime.; CD_TO_TIME2 = &dayend2; format CD_TO_TIME2 datetime.; CD_FROM_TIME3 = &_daystart3; format CD_FROM_TIME3 datetime.; CD_TO_TIME3 = &dayend3; format CD_TO_TIME3 datetime.; CD_FROM_TIME4 = &_daystart4; format CD_FROM_TIME4 datetime.; CD_TO_TIME4 = &dayend4; format CD_TO_TIME4 datetime.; CD_FROM_TIME5 = &_daystart5; format CD_FROM_TIME5 datetime.; CD_TO_TIME5 = &dayend5; format CD_TO_TIME5 datetime.; run; proc sql noprint; insert into MSP_CALENDAR_DATA ( PROJ_ID, CD_UID, CAL_UID,CD_DAY_OR_EXCEPTION, CD_WORKING, CD_FROM_TIME1, CD_TO_TIME1, CD_FROM_TIME2,CD_TO_TIME2, CD_FROM_TIME3, CD_TO_TIME3, CD_FROM_TIME4, CD_TO_TIME4, CD_FROM_TIME5, CD_TO_TIME5) select 1, &i, %eval(&ii+2), &i, 1, CD_FROM_TIME1, CD_TO_TIME1, CD_FROM_TIME2,CD_TO_TIME2, CD_FROM_TIME3, CD_TO_TIME3, CD_FROM_TIME4, CD_TO_TIME4, CD_FROM_TIME5, CD_TO_TIME5 from tmpcal3; %end;/* &&day&i ne */ /* The other days are defined in SAS default calendar, besides */ /* holiday and those defined in work_ds dataset. */ %else %do; %let starttime = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')), 1,%str(%")),1,':'):%scan(%scan(&_daystart,1,%str(%')),1,%str(%"))%str(%')dt); %if &c_daylength = nonexist %then %let c_daylength = &_daylength; data tdcal; daystart = &starttime; format daystart datetime.; daylength = &c_daylength; format daylength time.; dayend = daystart+daylength; format dayend datetime.; run; data _null_; set tdcal; if _n_=1 then call symput('mspend', dayend); run; %if &i = 1 or &i = 7 %then %do; %if (%lowcase(&_interval) = weekday) or (%lowcase(&_interval) = dtwrkday) or (%lowcase(&_interval) = workday) %then %do; proc sql noprint; insert into MSP_CALENDAR_DATA (PROJ_ID, CAL_UID, CD_DAY_OR_EXCEPTION, CD_WORKING) values (1, %eval(&ii+2), &i, 0); quit; %end; %else %do; proc sql noprint; insert into MSP_CALENDAR_DATA (PROJ_ID, CD_UID, CAL_UID, CD_DAY_OR_EXCEPTION, CD_WORKING, CD_FROM_TIME1, CD_TO_TIME1) values ( 1, &i, %eval(&ii+2), &i, 1, &starttime, &mspend); quit; %end; %end; %else %do; proc sql noprint; insert into MSP_CALENDAR_DATA (PROJ_ID, CD_UID, CAL_UID, CD_DAY_OR_EXCEPTION, CD_WORKING, CD_FROM_TIME1, CD_TO_TIME1) values ( 1, &i, %eval(&ii+2), &i, 1, &starttime, &mspend); quit; %end; %end;/* The other days */ %end;/*%do i = 1 %to 7;*/ %end;/* %do ii = 1 %to &_n_cal; multiple calendar &ii = cal_no*/ /********************/ /* HOLIDAY DATA SET */ /********************/ %if &holds ne %then %do; /* when holiday coincident with nonworking days */ %if &_holidur ne %then %do; proc datasets library = work nolist; contents noprint data = hol_ds out = holout(keep = name); quit; %let holhascal =; data _null_; set holout; if lowcase(name) = "&_calid" then call symput('holhascal',name); run; %if &holhascal= %then %do; data hol_ds; format &_calid $200.; set hol_ds; &_calid='default'; run; %end; %else %do; data hol_ds; format &_calid $200.; set hol_ds; if left(&_calid)='.' or left(&_calid)='0' or left(lowcase(&_calid))='default' then &_calid='default'; run; data hol_ds1; set hol_ds; run; %end; proc sql noprint; select count(*) into :_n_hol from hol_ds; quit; %do jj = 1 %to &_n_hol; /*rows in holiday data set*/ %let holcal=noexit; data _null_; set hol_ds; if _n_ = &jj and &_holidur ~=. then do; call symput('holcal',trim(left(&_calid))); call symput ('hdlgth',trim(left(&_holidur))); call symput ('hdstt',trim(left(&_holistart))); end; run; %if &holcal ne noexit %then %do; data _null_; set MSP_CALENDARS; if trim(left(CAL_NAME)) = trim(left("&holcal")) then call symput('holcaluid', CAL_UID); run; %do hd = 0 %to &hdlgth; %let wkd= %SYSFUNC(WEEKDAY(%eval(&hdstt+&hd))); data _null_; set MSP_CALENDAR_DATA; if CAL_UID = "&holcaluid" and trim(left(CD_DAY_OR_EXCEPTION)) = "&wkd" and CD_WORKING = 0 then do; call execute(" data hol_ds; set hol_ds; if trim(left(&_calid )) = ""&holcal"" and trim(left(&_holistart)) = ""&hdstt"" then &_holidur= &_holidur + 1;run;"); end; run; %end; %end;/* %if &holcal ne noexit */ %end; /* %do jj = 1 %to &_n_hol; */ %end;/*%if &_holidur ne %then %do; */ /* compute the end of holidays */ %if (&_holidur ne and &_holiend = )%then %do; data tempholi; set hol_ds; holiend = &_holistart+(&_holidur-1); holidur = &_holidur; run; %if &syserr>0 %then %do; %put ERROR: Holiday dataset or holiday start/duration/finish date is invalid.; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %end; %if (&_holidur = and &_holiend = )%then %do; data tempholi; set hol_ds; holiend = &_holistart; holidur = 0; run; %if &syserr>0 %then %do; %put ERROR: Holiday dataset or holiday start/duration/finish date is invalid.; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %end; %if (&_holiend ne and &_holidur = ) %then %do; data tempholi; set hol_ds; holiend = &_holiend; holidur = 0; run; %if &syserr>0 %then %do; %put ERROR: Holiday dataset or holiday start/duration/finish date is invalid.; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %end; %if (&_holiend > 1 and &_holidur > 1 ) %then %do; data tempholi; set hol_ds; holiend = &_holiend; holidur = &_holidur; run; %if &syserr>0 %then %do; %put ERROR: Holiday dataset or holiday start/duration/finish date is invalid.; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %end; data tempholi2; set tempholi; holistart = &_holistart; run; %if &syserr>0 %then %do; %put ERROR: Holiday dataset or holiday start/duration/finish date is invalid.; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; data tempholi1; set tempholi2; if (holiend < 1 and holidur < 1) then holiend = holistart; else if (holiend < 1 and holidur > 1) then holiend = holistart+holidur-1; PROJ_ID = 1; CAL_UID = 3; CD_UID = _n_; CD_DAY_OR_EXCEPTION = 0; CD_WORKING = 0; run; /* multiple calendars associated with holiday */ proc datasets library = work nolist; contents noprint data = hol_ds out = holout(keep = name); quit; %let holcal =; data _null_; set holout; if lowcase(name) = "&_calid" then call symput('holcal',name); run; %if &holcal ne %then %do;/* when holiday calendar exists*/ /* find the correct CAL_UID for holiday calendars */ proc sql; create table temphol3 as select tempholi1.PROJ_ID, tempholi1.CD_UID, tempholi1.CD_DAY_OR_EXCEPTION,tempholi1.CD_WORKING, tempholi1.holistart, tempholi1.holiend, MSP_CALENDARS.CAL_UID, tempholi1.&_calid from tempholi1, MSP_CALENDARS where left(tempholi1.&_calid) = left(MSP_CALENDARS.CAL_NAME) and MSP_CALENDARS.CAL_UID>2; delete from tempholi1 where &_calid is not missing; insert into tempholi1 (PROJ_ID, CD_UID, CAL_UID, CD_DAY_OR_EXCEPTION, CD_WORKING, holistart, holiend) select temphol3.PROJ_ID, temphol3.CD_UID, temphol3.CAL_UID, temphol3.CD_DAY_OR_EXCEPTION, temphol3.CD_WORKING, temphol3.holistart, temphol3.holiend from temphol3; quit; %end; proc sql noprint; insert into MSP_CALENDAR_DATA (PROJ_ID, CD_UID, CAL_UID, CD_DAY_OR_EXCEPTION, CD_WORKING, CD_FROM_DATE, CD_TO_DATE) select PROJ_ID, CD_UID, CAL_UID, CD_DAY_OR_EXCEPTION, CD_WORKING, holistart, holiend from tempholi1; quit; %end;/*%if &holds ne */ /* all the calendars include the holidays defined in project calendar */ %let bscaluid=3; data _null_; set MSP_CALENDARS; if left(CAL_NAME) = 'default' then call symput('bscaluid',CAL_UID); run; data _null_; set MSP_CALENDARS; if CAL_UID~= &bscaluid and CAL_UID > 2 then call execute("proc sql noprint; create table MSP_CALENDAR_DATA1 as select * from MSP_CALENDAR_DATA where CAL_UID=&bscaluid and CD_DAY_OR_EXCEPTION = 0; update MSP_CALENDAR_DATA1 set CAL_UID="||left(CAL_UID)||"; insert into MSP_CALENDAR_DATA select * from MSP_CALENDAR_DATA1;"); run; data MSP_CALENDAR_DATA; set MSP_CALENDAR_DATA; CD_UID = _n_; run; PROC SORT DATA = MSP_CALENDAR_DATA out = MSP_CALENDAR_DATA; BY CAL_UID; run; /*************/ /* MSP_TASKS */ /*************/ proc sql; insert into MSP_TASKS (PROJ_ID, TASK_IS_OVERALLOCATED, TASK_UID, TASK_HAS_LINKED_FIELDS, TASK_IS_MILESTONE, TASK_IS_CRITICAL, TASK_IS_SUMMARY, TASK_IS_SUBPROJ, TASK_IS_MARKED, TASK_IGNORES_RES_CAL, TASK_IS_ROLLED_UP, TASK_IS_FROM_FINISH_SUBPROJ, TASK_BAR_IS_HIDDEN, TASK_IS_RECURRING, TASK_IS_RECURRING_SUMMARY, TASK_IS_EXTERNAL, TASK_IS_COLLAPSED, TASK_HAS_NOTES, TASK_IS_READONLY_SUBPROJ, TASK_LEVELING_CAN_SPLIT, TASK_LEVELING_ADJUSTS_ASSN, TASK_DUR_IS_EST) values ( 1, 0, -65536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); insert into MSP_TASKS (PROJ_ID, TASK_IS_OVERALLOCATED, TASK_UID, TASK_HAS_LINKED_FIELDS, TASK_IS_MILESTONE, TASK_IS_CRITICAL, TASK_IS_SUMMARY,TASK_IS_SUBPROJ, TASK_IS_MARKED, TASK_IGNORES_RES_CAL, TASK_IS_ROLLED_UP, TASK_IS_FROM_FINISH_SUBPROJ, TASK_BAR_IS_HIDDEN, TASK_IS_RECURRING, TASK_IS_RECURRING_SUMMARY, TASK_IS_EXTERNAL, TASK_IS_COLLAPSED, TASK_HAS_NOTES,TASK_IS_READONLY_SUBPROJ, TASK_LEVELING_CAN_SPLIT, TASK_LEVELING_ADJUSTS_ASSN, TASK_DUR_IS_EST) values (1, 0, -65535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); insert into MSP_TASKS (PROJ_ID, TASK_IS_OVERALLOCATED, TASK_UID, TASK_HAS_LINKED_FIELDS, TASK_IS_MILESTONE, TASK_IS_CRITICAL, TASK_IS_SUMMARY, TASK_IS_SUBPROJ, TASK_IS_MARKED, TASK_IGNORES_RES_CAL, TASK_IS_ROLLED_UP, TASK_IS_FROM_FINISH_SUBPROJ, TASK_BAR_IS_HIDDEN, TASK_IS_RECURRING, TASK_IS_RECURRING_SUMMARY, TASK_IS_EXTERNAL, TASK_IS_COLLAPSED, TASK_HAS_NOTES, TASK_IS_READONLY_SUBPROJ, TASK_LEVELING_CAN_SPLIT, TASK_LEVELING_ADJUSTS_ASSN, TASK_DUR_IS_EST) values (1, 0, -65534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); insert into MSP_TASKS (PROJ_ID,TASK_ID,TASK_UID) values (1,0,0); quit; /* If an activity only appears as a successor. */ %do i = 1 %to &_n_succ; proc sql noprint; insert into act_ds (&_activity) select actdur.&&_succ&i from actdur where (actdur.&&_succ&i not in (select actdur.&_activity from actdur) ) and actdur.&&_succ&i is not missing; quit; %end; %if &_aligndate ne %then %do; proc sql noprint; create table tmptask as select distinct actdur.&_activity, actdur.mspdur, actdur.PROJ_LEV+1, actdur.PCT_COMP, actdur.WBS_CODE, actds1.&_aligndate as aligndate, case lowcase(actds1.&_aligntype) when 'ms' then 2 when 'mf' then 3 when 'sge' then 4 when 'sle' then 5 when 'fge' then 6 when 'fle' then 7 else 0 end as aligntype from actdur, act_ds actds1 where (actdur.&_activity = actds1.&_activity) and (actds1.&_activity is not missing); quit; proc sort data = tmptask out = tmptask NODUPKEY; by WBS_CODE; run; data tmptask(drop=WBS_CODE); set tmptask; run; proc sql noprint; insert into MSP_TASKS (TASK_NAME, TASK_DUR, TASK_OUTLINE_LEVEL, TASK_PCT_COMP,TASK_CONSTRAINT_DATE,TASK_CONSTRAINT_TYPE) select * from tmptask; quit; %end; /* When there is no alignment */ %else %do; proc sort data = actdur out = actdur NODUPKEY; by WBS_CODE &_activity; run; proc sql noprint; insert into MSP_TASKS (TASK_NAME, TASK_DUR,TASK_OUTLINE_LEVEL,TASK_PCT_COMP) select &_activity, mspdur, PROJ_LEV+1, PCT_COMP from actdur where &_activity is not missing; quit; %end; data MSP_TASKS1; set MSP_TASKS; if _n_>= 4 then do; TASK_UID = _n_-4; TASK_ID = _n_-4; end; run; data MSP_TASKS; set MSP_TASKS1; run; /* multiple calendars associated with tasks */ proc datasets library = work nolist; contents noprint data = act_ds out = actout(keep = name); quit; %let taskcal =; data _null_; set actout; if index(lowcase(name), lowcase("&_calid")) then call symput('taskcal',name); run; %if &taskcal ne %then %do; proc sql; create table act_cal1 as select * from act_ds where strip(&_calid)~='.' and strip(&_calid) is not missing order by &_activity; quit; proc sort data=sche_wbs1 out=sche_wbs1; by &_activity; run; data act_cal2(keep=&_activity &_calid); merge act_cal1 sche_wbs1; by &_activity; run; data act_cal2; set act_cal2; if trim(left(&_calid)) = '.' or trim(left(&_calid)) = '0' or trim(left(&_calid)) = '' then &_calid = 'default'; run; proc sql; create table TASKS_cal as select MSP_TASKS.*, left(act_cal2.&_calid) as &_calid, MSP_CALENDARS.CAL_UID from MSP_TASKS, act_cal2, MSP_CALENDARS where left(lowcase(act_cal2.&_calid)) = left(lowcase(MSP_CALENDARS.CAL_NAME)) and act_cal2.&_calid is not missing and lowcase(act_cal2.&_activity) = lowcase(MSP_TASKS.TASK_NAME) and act_cal2.&_activity is not missing; insert into TASKS_cal select *, '.', . from MSP_TASKS where TASK_UID<= 0; update TASKS_cal set TASK_CAL_UID = CAL_UID; quit; data MSP_TASKS; set TASKS_cal; drop CAL_UID &_calid; run; PROC SORT DATA = MSP_TASKS out = MSP_TASKS; BY TASK_UID; run; %end; proc sql noprint; update MSP_TASKS set PROJ_ID = 1,TASK_IS_OVERALLOCATED = 0,TASK_OVT_WORK = 0,TASK_VAC = 0,TASK_REG_WORK = 0,TASK_NUM_OBJECTS = 0, EXT_EDIT_REF_DATA = '1',TASK_UID = 0,TASK_ID = 0,TASK_HAS_LINKED_FIELDS = 0,TASK_IS_MILESTONE = 0,TASK_IS_CRITICAL = 1, TASK_IS_SUMMARY = 1,TASK_IS_SUBPROJ = 0,TASK_IS_MARKED = 0,TASK_IGNORES_RES_CAL = 0,TASK_IS_ROLLED_UP = 0, TASK_IS_FROM_FINISH_SUBPROJ = 0,TASK_BAR_IS_HIDDEN = 0,TASK_IS_RECURRING = 0,TASK_IS_RECURRING_SUMMARY = 0, TASK_IS_EXTERNAL = 0,TASK_IS_COLLAPSED = 0,TASK_HAS_NOTES = 0,TASK_IS_READONLY_SUBPROJ = 0,TASK_LEVELING_CAN_SPLIT = 1, TASK_LEVELING_ADJUSTS_ASSN = 0,TASK_DUR_IS_EST = 0,TASK_OUTLINE_LEVEL = 0,TASK_LEVELING_DELAY = 0,TASK_PRIORITY = 500, TASK_FIXED_COST_ACCRUAL = 3,TASK_COST = 0,TASK_FIXED_COST = 0,TASK_ACT_COST = 0,TASK_REM_COST = 0,TASK_BASE_COST = 0, TASK_DUR_FMT = &durfmt,TASK_BASE_DUR_FMT = &durfmt,TASK_LEVELING_DELAY_FMT = &durfmt where TASK_UID = 0; update MSP_TASKS set PROJ_ID = 1,TASK_IS_OVERALLOCATED = 0,TASK_OVT_WORK = 0,TASK_VAC = 0,TASK_REG_WORK = 0,TASK_NUM_OBJECTS = 0, EXT_EDIT_REF_DATA = '1',TASK_HAS_LINKED_FIELDS = 0,TASK_IS_SUMMARY = 0,TASK_IS_SUBPROJ = 0,TASK_IS_MARKED = 0, TASK_IGNORES_RES_CAL = 0,TASK_IS_ROLLED_UP = 0,TASK_IS_FROM_FINISH_SUBPROJ = 0,TASK_BAR_IS_HIDDEN = 0, TASK_IS_EXTERNAL = 0,TASK_IS_COLLAPSED = 0,TASK_HAS_NOTES = 0,TASK_IS_READONLY_SUBPROJ = 0,TASK_LEVELING_CAN_SPLIT = 1, TASK_LEVELING_ADJUSTS_ASSN = 0,TASK_DUR_IS_EST = 0,TASK_FREE_SLACK = 0,TASK_LEVELING_DELAY = 0,TASK_PRIORITY = 500, TASK_TYPE = 1,TASK_DUR_FMT = &durfmt,TASK_BASE_DUR_FMT = &durfmt,TASK_LEVELING_DELAY_FMT = &durfmt where TASK_UID>= 1; quit; /*********************/ /* MSP_OUTLINE_CODES */ /*********************/ proc sql noprint; insert into MSP_OUTLINE_CODES (PROJ_ID, CODE_UID) values (1, -65536); insert into MSP_OUTLINE_CODES (PROJ_ID, CODE_UID) values (1, -65535); insert into MSP_OUTLINE_CODES (PROJ_ID, CODE_UID) values (1, -65534); insert into MSP_OUTLINE_CODES (PROJ_ID,CODE_UID,OC_PARENT,OC_FIELD_ID) values (1, 0,0,0); quit; /*******************/ /* MSP_ASSIGNMENTS */ /*******************/ proc sql noprint; insert into MSP_ASSIGNMENTS (PROJ_ID, TASK_UID, ASSN_WORK, RES_UID) select 1, TASK_UID, TASK_DUR*100, -65535 from MSP_TASKS where TASK_UID>= 1; quit; /*************/ /* MSP_LINKS */ /*************/ /*AOA format*/ %if &_tail ne %then %do; PROC SQL; create table aoa_link as select actds1.&_activity as &_activity, actds2.&_activity as succ1 from act_ds actds1, act_ds actds2 where actds2.&_tail = actds1.&_head; create table templinks1 as select MSP_TASKS.TASK_UID as pred_uid, MSP_TASKS.TASK_NAME as task_name, aoa_link.succ1 as succ_name from MSP_TASKS, aoa_link where (MSP_TASKS.TASK_NAME in (select &_activity from aoa_link where succ1 is not missing) ) and MSP_TASKS.TASK_NAME = aoa_link.&_activity; insert into MSP_LINKS (LINK_PRED_UID,LINK_SUCC_UID) select templinks1.pred_uid, MSP_TASKS.TASK_UID as succ_uid from templinks1, MSP_TASKS where templinks1.succ_name = MSP_TASKS.TASK_NAME and templinks1.succ_name is not missing; quit; %end; /*AON format*/ %else %do; %if &_n_succ>= 1 %then %do; proc sql; insert into MSP_TEXT_FIELDS (PROJ_ID,TEXT_CATEGORY,TEXT_FIELD_ID,TEXT_REF_UID) select 1,0,188743997,TASK_UID from MSP_TASKS where TASK_UID>=1; quit; %do i = 1 %to &_n_succ; %let _succ = &&_succ&i; %if &&_lag&i = %then %do; proc sql noprint; create table templinks1 as select MSP_TASKS.TASK_UID as pred_uid, MSP_TASKS.TASK_NAME as task_name, actds3.&_succ as succ_name from MSP_TASKS, act_ds actds3 where (MSP_TASKS.TASK_NAME in (select act_ds.&_activity from act_ds where act_ds.&_succ is not missing)) and (MSP_TASKS.TASK_NAME = actds3.&_activity); insert into MSP_LINKS (LINK_PRED_UID,LINK_SUCC_UID) select templinks1.pred_uid, MSP_TASKS.TASK_UID as succ_uid from templinks1, MSP_TASKS where templinks1.succ_name = MSP_TASKS.TASK_NAME and templinks1.succ_name is not missing; quit; %end; /* When &&_lag&i is defined */ %else %do; proc sql noprint; create table templinks1 as select &&_lag&i, scan(&&_lag&i,1,'_') as lag_tp, MSP_TASKS.TASK_UID as pred_uid, MSP_TASKS.TASK_NAME as task_name, actds1.&_succ as succ_name, case lowcase(scan(actds1.&&_lag&i,1,'_')) when 'ff' then 0 when 'sf' then 2 when 'ss' then 3 else 1 end as lag_type, case index(actds1.&&_lag&i,'_') when 1 then scan(actds1.&&_lag&i,1,'_') else scan(actds1.&&_lag&i,2,'_') end as link_lag, case index(actds1.&&_lag&i,'_') when 1 then scan(actds1.&&_lag&i,2,'_') else scan(actds1.&&_lag&i,3,'_') end as link_cal from MSP_TASKS, act_ds actds1 where ( MSP_TASKS.TASK_NAME in ( select &_activity from act_ds where &_succ is not missing)) and MSP_TASKS.TASK_NAME = actds1.&_activity; quit; data templinks2; set templinks1; link_lag3 = link_lag/1; link_lag2 = link_lag3*&minperday*10; run; proc sql noprint; insert into MSP_LINKS (LINK_PRED_UID,LINK_SUCC_UID,LINK_TYPE,LINK_LAG_FMT,LINK_LAG) select templinks2.pred_uid, MSP_TASKS.TASK_UID,templinks2.lag_type, &durfmt,templinks2.link_lag2 from templinks2, MSP_TASKS where templinks2.succ_name = MSP_TASKS.TASK_NAME and templinks2.succ_name is not missing; quit; /* Texts: Lag calendars in SAS */ data newlagtxt; format nwlagtext $500.; set templinks1; if link_cal~='' then nwlagtext = trim(left(link_cal))|| " with successor " || trim(left(succ_name))|| " ;"; run; PROC SORT DATA = newlagtxt out = newlagtxt NODUPKEY; BY nwlagtext pred_uid; run; %let nwlgtt1=; %let prduid1=; proc sql noprint; select left(nwlagtext) into :nwlgtt1 separated by "@" from newlagtxt where link_cal is not missing; select pred_uid into :prduid1 separated by "@" from newlagtxt where link_cal is not missing; quit; %let nwlgtt=&nwlgtt1 @ stringends; %let prduid=&prduid1 @ stringends; %let ik = 1; %if &nwlgtt1~= %then %do; %do %until (%index(%scan(%bquote(&nwlgtt),&ik,'@'),stringends)); %let nwlgtt_t=%scan(&nwlgtt,&ik, '@'); %let prduid_t=%scan(&prduid,&ik, '@'); %put prduid_t=&prduid_t; %put nwlgtt_t=&nwlgtt_t; data MSP_TEXT_FIELDS; set MSP_TEXT_FIELDS; if TEXT_REF_UID="&prduid_t" then TEXT_VALUE= trim(left(TEXT_VALUE)) ||' '||"&nwlgtt_t"; run; %let ik = %eval(&ik+1); %end; proc sql; insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188744016,206,-1,16,1); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,16,0,"Lag Calendars in SAS"); quit; %end; %end; /* When &&_lag&i is defined */ %end;/* %do i = 1 %to &_n_succ;*/ %end;/*%if &_n_succ>= 1 %then %do;*/ %end;/*%else %do; (not aoa) */ data MSP_LINKS; set MSP_LINKS; LINK_UID = _n_; run; /****************/ /* MSP_RESOURCE */ /****************/ proc sql; insert into MSP_RESOURCES (PROJ_ID,RES_UID,RES_HAS_LINKED_FIELDS,RES_IS_OVERALLOCATED,RES_TYPE,RES_HAS_NOTES,RES_CAN_LEVEL) values (1,-65536,0,0,0,0,1); insert into MSP_RESOURCES (PROJ_ID,RES_UID,RES_HAS_LINKED_FIELDS,RES_IS_OVERALLOCATED,RES_TYPE,RES_HAS_NOTES,RES_CAN_LEVEL) values (1,-65535,0,0,0,0,1); insert into MSP_RESOURCES (PROJ_ID,RES_UID,RES_HAS_LINKED_FIELDS,RES_IS_OVERALLOCATED,RES_TYPE,RES_HAS_NOTES,RES_CAN_LEVEL) values (1,-65534,0,0,0,0,1); insert into MSP_RESOURCES (PROJ_ID,EXT_EDIT_REF_DATA,RES_UID,RES_ID,RES_TYPE,RES_CAN_LEVEL) values(1,'1',0,0,-1,1); quit; /* If resobstype = is not specified, then all observations in the data set */ /* are assumed to denote the levels of the resources, and all resources are */ /* assumed to be replenishable and constraining. */ %if (&resds ne and &_resobstype = ) %then %do; data res_ds; set res_ds; resobstype = 'reslevel'; run; %let _resobstype = resobstype; %end; %if &resds ne %then %do; %if &_resource = %then %do; %put resource list not specified. ; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %else %do; /* resource calendar*/ %let bscaluid=3; data _null_; set MSP_CALENDARS; if left(CAL_NAME) = 'default' then call symput('bscaluid',CAL_UID); run; %let i = 1; %do %while (%scan(&_resource,&i) ne ); %let res&i = %scan(&_resource,&i); %let i = %eval(&i+1); %end; %let _n_res = %eval(&i-1); %do i = 1 %to &_n_res; %let temprestype = 1; %let rescal_nm = ; data res_ds; set res_ds; if lowcase(&_resobstype) = 'restype' then do; if trim(left(&&res&i))= 2 or trim(left(&&res&i))= 4 then call symput('temprestype',0); if trim(left(&&res&i))= 3 then call symput('temprestype',3); end; if lowcase(&_resobstype) = 'calendar' then do; if &&res&i=. then &&res&i=0; call symput('rescal_nm',&&res&i); end; run; %if &temprestype = 3 %then %do; %let temprestype = 1; data res_ds; set res_ds; if lowcase(&_resobstype) = 'reslevel' then &&res&i=99999999999; run; %end; %let rescal_uid = 4; %if &rescal_nm = 0 %then %let rescal_nm = 'default'; %else %if &rescal_nm ne and &rescal_nm ne 'default' %then %do; data MSP_CALENDARS; set MSP_CALENDARS; if left(CAL_NAME)=left("&rescal_nm") then do; call symput('rescal_uid',CAL_UID); CAL_BASE_UID = &bscaluid; RES_UID = &i; CAL_IS_BASE_CAL = 0; end; run; %end; %if &rescal_nm = 'default' or &rescal_nm = %then %do; proc sql noprint; insert into MSP_CALENDARS ( PROJ_ID, CAL_BASE_UID, RES_UID, CAL_IS_BASE_CAL) values (1, &bscaluid, &i, 0); quit; %end; data MSP_CALENDARS; set MSP_CALENDARS; if _n_>= 7 then CAL_UID = _n_-4; if CAL_IS_BASE_CAL = 0 then CAL_NAME = ''; run; data MSP_CALENDARS; set MSP_CALENDARS; if RES_UID = &i then call symput('rescal_uid',CAL_UID); run; proc sql noprint; insert into MSP_RESOURCES (RES_CAN_LEVEL, RES_CAL_UID, RES_TYPE, RES_NAME) values (1, &rescal_uid, &temprestype, "&&res&i"); quit; %end; /*%do i = 1 %to &_n_res; */ data MSP_CALENDARS; set MSP_CALENDARS; if CAL_IS_BASE_CAL = 0 then CAL_NAME = ''; run; data MSP_RESOURCES1; set MSP_RESOURCES; if _n_>= 5 then do; PROJ_ID = 1; RES_UID = _n_-4; RES_ID = _n_-4; EXT_EDIT_REF_DATA = '1'; end; run; data MSP_RESOURCES; set MSP_RESOURCES1; run; /********************/ /* MSP_AVAILABILITY */ /********************/ %do i = 1 %to &_n_res; proc sql noprint; select &_resperiod into :d separated by "@" from res_ds where lowcase(&_resobstype) = 'reslevel' and &&res&i is not missing; select &&res&i into :u separated by "@" from res_ds where lowcase(&_resobstype) = 'reslevel' and &&res&i is not missing; quit; data t_res; set res_ds; if lowcase(&_resobstype) ne 'reslevel' or &&res&i = . then delete; run; %let res_lev = 0; data _null_; set t_res; call symput('res_lev',_n_); run; %if &res_lev>= 1 %then %do; %do k = 1 %to &res_lev; %let resdate&k =; %let resdate&k = %scan(&d,&k,'@'); data _null_; call symput('t2', "&&resdate&k"); run; %let resdate&k =%unquote(%str(%')&t2%str(%')d); %let reslevel&k = %scan(&u,&k,'@'); %end; %do k = 1 %to &res_lev; %if &k<&res_lev %then %do; %let e = %eval(&k+1); proc sql noprint; select MSP_RESOURCES.RES_UID into :ruid from MSP_RESOURCES where MSP_RESOURCES.RES_NAME = "&&res&i" order by MSP_RESOURCES.RES_UID; insert into MSP_AVAILABILITY (RES_UID, AVAIL_FROM, AVAIL_TO, AVAIL_UNITS) values(&ruid, &&resdate&k, &&resdate&e, &&reslevel&k); quit; %end;/*%if &k<&res_lev %then %do;*/ %else %do; proc sql noprint; select MSP_RESOURCES.RES_UID into :ruid from MSP_RESOURCES where MSP_RESOURCES.RES_NAME = "&&res&i" order by MSP_RESOURCES.RES_UID; insert into MSP_AVAILABILITY (RES_UID, AVAIL_FROM, AVAIL_UNITS) values(&ruid, &&resdate&k, &&reslevel&k); %end; /*%else %do; ie, &k = &res_lev*/ %end;/*%do k = 1 %to &res_lev;*/ %end;/*%if &res_lev>= 1 %then %do; */ %end;/* %do i = 1 %to &_n_res; availability */ data MSP_AVAILABILITY1; set MSP_AVAILABILITY; PROJ_ID = 1; AVAIL_UID = _n_; run; data MSP_AVAILABILITY; set MSP_AVAILABILITY1; if AVAIL_TO = '.' and AVAIL_FROM ne '.' then AVAIL_TO = '30dec2049'd; run; /********************/ /* MSP_ASSIGNMENTS */ /********************/ %do i = 1 %to &_n_res; data MSP_ASSIGNMENTS2; set MSP_ASSIGNMENTS; run; %let resvar = &&res&i; proc sql noprint; create table tempassign0 as select &_activity as task, &resvar as res_req from act_ds where &resvar is not missing; create table tempassign1 as select MSP_TASKS.TASK_UID, MSP_TASKS.TASK_DUR*tempassign0.res_req*100 as ASSN_WORK, tempassign0.res_req as ASSN_UNITS from MSP_TASKS, tempassign0 where MSP_TASKS.TASK_NAME = tempassign0.task; insert into MSP_ASSIGNMENTS (TASK_UID, ASSN_UNITS, ASSN_WORK, RES_UID) select tempassign1.TASK_UID, tempassign1.ASSN_UNITS, tempassign1.ASSN_WORK, &i from tempassign1 ; delete from MSP_ASSIGNMENTS where (TASK_UID in (select TASK_UID from tempassign1))and (RES_UID<1); quit; %end; %end; /* %else %do; _resource specified */ %end; /* %if res_ds ne ;*/ proc sql noprint; create table TASKS_work as select *, TASK_WORK as taskwork from MSP_TASKS where TASK_UID<=0; quit; data _null_; set MSP_TASKS; if TASK_UID >0 then call execute(' proc sql noprint; insert into TASKS_work'|| ' select MSP_TASKS.*, sum(MSP_ASSIGNMENTS.ASSN_WORK)' || ' from MSP_TASKS, MSP_ASSIGNMENTS '|| ' where MSP_TASKS.TASK_UID=MSP_ASSIGNMENTS.TASK_UID and MSP_ASSIGNMENTS.TASK_UID='||left(TASK_UID)|| 'and MSP_TASKS.TASK_NAME is not missing; '|| 'quit;' ); run; proc sql noprint; update TASKS_work set TASK_WORK=taskwork; quit; PROC SORT DATA = TASKS_work out = MSP_TASKS NODUPKEY; BY TASK_UID; run; data MSP_TASKS; set MSP_TASKS; TASK_TYPE = 1; TASK_IS_EFFORT_DRIVEN= 1; drop taskwork; run; /* make assign_work consistant with duration*/ proc datasets library = work nolist; contents noprint data = act_ds out = dataOut(keep = name); quit; %let assnwrk='false'; data _null_; set dataOut; if lowcase(NAME) = lowcase('assn_work') then call symput('assnwrk','true'); run; %if &assnwrk=true %then %do; proc sql; update MSP_TASKS set TASK_WORK = TASK_DUR/10; quit; %end; /****************/ /* MSP_PROJECTS */ /****************/ proc sql noprint; insert into MSP_PROJECTS (PROJ_ID, PROJ_NAME, PROJ_INFO_CAL_NAME,PROJ_EXT_EDITED_DATE, PROJ_EXT_EDITED_DUR,PROJ_EXT_EDITED_NUM,PROJ_EXT_EDITED_FLAG,PROJ_EXT_EDITED_CODE, PROJ_EXT_EDITED_TEXT,PROJ_EXT_EDITED) values (1,"&proj_name", 'default',1,1,1,1,1,1,1); quit; /* project start/finish time */ %let starttime = %unquote(%str(%')%scan(%scan(%scan(&_date,1,%str(%')), 1,%str(%")),1,':'):%scan(%scan(&_daystart,1,%str(%')),1,%str(%"))%str(%')dt); data tdcal; daystart = &starttime; format daystart datetime.; daylength = &_daylength; format daylength time.; dayend = daystart+daylength; format dayend datetime.; run; data _null_; set tdcal; if _n_ = 1 then call symput('mspend', dayend); run; proc sql; update MSP_PROJECTS set PROJ_INFO_CURRENT_DATE = &_date1, PROJ_OPT_DEF_FINISH_TIME = &mspend, PROJ_OPT_MINUTES_PER_DAY = &minperday, PROJ_OPT_MINUTES_PER_WEEK = &minperweek, PROJ_OPT_DEF_START_TIME = &starttime, PROJ_OPT_DEF_TASK_TYPE = 1, PROJ_OPT_DUR_ENTRY_FMT = &durfmt, PROJ_LAST_SAVED = "&sysdate:&systime"dt, PROJ_INFO_START_DATE = &_date1, PROJ_INFO_STATUS_DATE = &_date1, PROJ_OPT_NEW_ARE_EFFORT_DRIVEN = 1, PROJ_OPT_NEW_TASK_EST = 0, PROJ_OPT_SHOW_EST_DUR = 0, PROJ_CREATION_DATE = &_date1, PROJ_OPT_DAYS_PER_MONTH = &daypermon; quit; %if &_fbdate ne %then %do; %let _fdate1 = %unquote(%str(%')%scan(%scan(%scan(&_fbdate,1,%str(%')), 1,%str(%")),1,':'):%scan(%scan(&_daystart,1,%str(%')),1,%str(%"))%str(%')dt); data tdcal; daystart = &_fdate1; format daystart datetime.; daylength = &_daylength; format daylength time.; dayend = daystart+daylength; format dayend datetime.; run; data _null_; set tdcal; if _n_ = 1 then call symput('mspend', dayend); run; proc sql; update MSP_PROJECTS set PROJ_INFO_FINISH_DATE = &mspend, PROJ_INFO_SCHED_FROM = 0, PROJ_INFO_CURRENT_DATE = ., PROJ_OPT_DEF_FINISH_TIME = ., PROJ_OPT_MINUTES_PER_DAY = &minperday, PROJ_OPT_MINUTES_PER_WEEK = &minperweek, PROJ_OPT_DEF_START_TIME = ., PROJ_OPT_DEF_TASK_TYPE = 1, PROJ_OPT_DUR_ENTRY_FMT = &durfmt, PROJ_LAST_SAVED = "&sysdate:&systime"dt, PROJ_INFO_START_DATE = ., PROJ_INFO_STATUS_DATE = ., PROJ_OPT_NEW_ARE_EFFORT_DRIVEN = 1, PROJ_OPT_NEW_TASK_EST = 0, PROJ_OPT_SHOW_EST_DUR = 0, PROJ_CREATION_DATE = ., PROJ_OPT_DAYS_PER_MONTH = &daypermon; quit; %end; %let calname = 'default'; data _null_; set MSP_CALENDARS; if left(lowcase(CAL_NAME) = 'default') then call symput('calname',CAL_NAME); run; proc sql; update MSP_PROJECTS set PROJ_INFO_CAL_NAME = "&calname"; quit; /*********************/ /* SCHEDULE DATA SET */ /*********************/ %if &scheduleds ne %then %do; /*******************/ /* MSP_DATE_FIELDS */ /*******************/ proc sql noprint; create table schedule_dt as select distinct schedule_ds.*, MSP_TASKS.TASK_UID as DATE_REF_UID from schedule_ds, MSP_TASKS where left(schedule_ds.&_activity)=left(MSP_TASKS.TASK_NAME) and MSP_TASKS.TASK_UID>=0; quit; data schedule_dt; format E_START datetime16. E_START datetime16. ; set schedule_dt; run; proc sql noprint; insert into MSP_DATE_FIELDS (PROJ_ID,DATE_CATEGORY,DATE_REF_UID,DATE_FIELD_ID,DATE_VALUE) select distinct 1,0,DATE_REF_UID,188743732, gv_sch.E_START format=datetime16. from schedule_dt gv_sch where gv_sch.E_START is not missing; quit; %if &syserr>0 %then %do; %put shedule dataset is not a valid SAS shedule file. ; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; proc sql; insert into MSP_DATE_FIELDS (PROJ_ID,DATE_CATEGORY,DATE_REF_UID,DATE_FIELD_ID,DATE_VALUE) select distinct 1,0,DATE_REF_UID,188743733, gv_sch.E_FINISH format=datetime16. from schedule_dt gv_sch where gv_sch.E_START is not missing; insert into MSP_DATE_FIELDS (PROJ_ID,DATE_CATEGORY,DATE_REF_UID,DATE_FIELD_ID,DATE_VALUE) select distinct 1,0,DATE_REF_UID,188743735, gv_sch.L_START format=datetime16. from schedule_dt gv_sch where gv_sch.L_START is not missing; insert into MSP_DATE_FIELDS (PROJ_ID,DATE_CATEGORY,DATE_REF_UID,DATE_FIELD_ID,DATE_VALUE) select distinct 1,0,DATE_REF_UID,188743736, gv_sch.L_FINISH format=datetime16. from schedule_dt gv_sch where gv_sch.L_START is not missing; insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188743732,206,-1,1,1); insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188743733,206,-1,2,1); insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188743735,206,-1,3,1); insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188743736,206,-1,4,1); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,1,0,'SAS_E_start'); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,2,0,'SAS_E_finish'); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,3,0,'SAS_L_start'); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,4,0,'SAS_L_finish'); quit; proc datasets nolist; contents noprint data = schedule_ds out = scheOut(keep = name); quit; proc sql noprint; select NAME into :schename separated by "@" from scheOut; quit; %if (%index(%LOWCASE(&schename), a_finish)) %then %do; proc sql noprint; insert into MSP_DATE_FIELDS (PROJ_ID,DATE_CATEGORY,DATE_REF_UID,DATE_FIELD_ID,DATE_VALUE) select distinct 1,0,DATE_REF_UID,188743738, gv_sch.A_START format=datetime16. from schedule_dt gv_sch where gv_sch.L_START is not missing; insert into MSP_DATE_FIELDS (PROJ_ID,DATE_CATEGORY,DATE_REF_UID,DATE_FIELD_ID,DATE_VALUE) select distinct 1,0,DATE_REF_UID,188743739, gv_sch.A_FINISH format=datetime16. from schedule_dt gv_sch where gv_sch.L_START is not missing; insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188743738,206,-1,5,1); insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188743739,206,-1,6,1); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,5,0,'SAS_A_start'); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,6,0,'SAS_A_finish'); quit; %end;/*%if (%index(%LOWCASE(&schename), a_finish))*/ %if (%index(%LOWCASE(&schename), b_finish)) %then %do; proc sql noprint; insert into MSP_DATE_FIELDS (PROJ_ID,DATE_CATEGORY,DATE_REF_UID,DATE_FIELD_ID,DATE_VALUE) select distinct 1,0,DATE_REF_UID,188743741, gv_sch.B_START format=datetime16. from schedule_dt gv_sch where gv_sch.B_START is not missing; insert into MSP_DATE_FIELDS (PROJ_ID,DATE_CATEGORY,DATE_REF_UID,DATE_FIELD_ID,DATE_VALUE) select distinct 1,0,DATE_REF_UID,188743742, gv_sch.B_FINISH format=datetime16. from schedule_dt gv_sch where gv_sch.B_FINISH is not missing; insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188743741,206,-1,7,1); insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188743742,206,-1,8,1); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,7,0,'SAS_B_start'); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,8,0,'SAS_B_finish'); quit; %end;/*%if (%index(%LOWCASE(&schename), b_finish))*/ %if (%index(%LOWCASE(&schename), s_finish)) %then %do; proc sql noprint; insert into MSP_DATE_FIELDS (PROJ_ID,DATE_CATEGORY,DATE_REF_UID,DATE_FIELD_ID,DATE_VALUE) select distinct 1,0,DATE_REF_UID,188743744, gv_sch.S_START format=datetime16. from schedule_dt gv_sch where gv_sch.S_START is not missing; quit; %if &syserr>0 %then %do; %put resource shedule dataset is not a valid SAS shedule with resource allocation. ; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; proc sql noprint; insert into MSP_DATE_FIELDS (PROJ_ID,DATE_CATEGORY,DATE_REF_UID,DATE_FIELD_ID,DATE_VALUE) select distinct 1,0,DATE_REF_UID,188743745, gv_sch.S_FINISH format=datetime16. from schedule_dt gv_sch where gv_sch.S_START is not missing; insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188743744,206,-1,9,1); insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,188743745,206,-1,10,1); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,9,0,'SAS_R_start'); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,10,0,'SAS_R_finish'); quit; %end;/*%if (%index(%LOWCASE(&schename), s_finish)) %then %do;*/ %end;/* schedule_ds ne */ /****************/ /* ID STATEMENT */ /****************/ %if %bquote(&_id) ne %then %do; %let i = 1; %do %while (%scan(&_id,&i) ne ); %let id&i = %scan(&_id,&i); %let i = %eval(&i+1); %end; %let _n_id = %eval(&i-1); %end; %if %bquote(&_id) ne %then %do; filename junk dummy; proc printto log=junk; run; %do i = 1 %to &_n_id; proc sql noprint; create table id_dt as select distinct act_ds.&_activity, act_ds.&&id&i, MSP_TASKS.TASK_UID as TEXT_REF_UID from act_ds, MSP_TASKS where left(act_ds.&_activity)=left(MSP_TASKS.TASK_NAME) and MSP_TASKS.TASK_UID>=0 and act_ds.&&id&i is not missing; insert into MSP_TEXT_FIELDS (PROJ_ID,TEXT_CATEGORY,TEXT_REF_UID, TEXT_FIELD_ID,TEXT_VALUE) select distinct 1,0, id_dt.TEXT_REF_UID,%eval(188743731+(&i-1)*3), id_dt.&&id&i from id_dt where id_dt.&&id&i is not missing; quit; proc sql; insert into MSP_FIELD_ATTRIBUTES (PROJ_ID,ATTRIB_FIELD_ID,ATTRIB_ID,ATTRIB_VALUE,AS_ID,ATTRIB_EXT_EDITED) values (1,%eval(188743731+(&i-1)*3),206,-1,%eval(10+&i),1); insert into MSP_ATTRIBUTE_STRINGS (PROJ_ID,AS_ID,AS_POSITION,AS_VALUE) values (1,%eval(10+&i),0,"&&id&i"); quit; %end;/*%do i = 1 %to &_n_id; */ proc printto; run; filename junk; %end;/*%if %bquote(&_id) ne %then %do;*/ /*******************/ /* DUPLICATE TASKS */ /*******************/ proc sql noprint; create table MSP_TASKS_wbs as select DISTINCT MSP_TASKS.TASK_UID, MSP_TASKS.TASK_NAME, sche_wbs1.WBS_CODE from MSP_TASKS, sche_wbs1 where trim(left(MSP_TASKS.TASK_NAME)) = trim(left(sche_wbs1.&_activity)); quit; PROC SORT DATA = MSP_TASKS_wbs out = MSP_TASKS_wbs1 NODUPKEY; BY WBS_CODE TASK_NAME ; run; proc sql noprint; create table MSP_TASKS_out as select TASK_UID, TASK_NAME from MSP_TASKS where MSP_TASKS.TASK_UID not in (select TASK_UID from MSP_TASKS_wbs1) and (MSP_TASKS.TASK_UID>= 1); quit; %let n_out = -1; data _null_; set MSP_TASKS_out; call symput('n_out',_n_); run; proc sql noprint; select TASK_UID into :y separated by "@" from MSP_TASKS_out; select trim(left(TASK_NAME)) into :z separated by "@" from MSP_TASKS_out; quit; %if &n_out>= 1 %then %do; %let i = 1; %do %while(&i<= &n_out); %let outid&i = %scan(&y,&i,'@'); %let outname&i = %scan(&z,&i,'@'); data MSP_TASKS1; set MSP_TASKS; if TASK_UID = &&outid&i then delete; run; %let remain_id = -1; data MSP_TASKS; set MSP_TASKS1; if left(TASK_NAME) = "&&outname&i" then do; call symput('remainname', TASK_NAME); call symput('remain_id', TASK_UID); end; run; proc sql noprint; update MSP_LINKS set LINK_PRED_UID = &remain_id / 1 where LINK_PRED_UID = &&outid&i / 1; update MSP_LINKS set LINK_SUCC_UID = &remain_id / 1 where LINK_SUCC_UID = &&outid&i / 1; update MSP_ASSIGNMENTS set TASK_UID = &remain_id / 1 where TASK_UID = &&outid&i / 1; update Msp_date_fields set DATE_REF_UID = &remain_id / 1 where DATE_REF_UID = &&outid&i / 1; update Msp_text_fields set text_REF_UID = &remain_id / 1 where text_REF_UID = &&outid&i / 1; quit; %let i = %eval(&i+1); %end; /*%do %while(&i<= &n_out); */ %end; /*%if &n_out>= 1 %then %do;*/ PROC SORT DATA = MSP_TASKS out = MSP_TASKS; BY TASK_UID; run; PROC SORT DATA = MSP_LINKS out = MSP_LINKS1 NODUPKEY; BY LINK_PRED_UID LINK_SUCC_UID; run; data MSP_LINKS; set MSP_LINKS1; PROJ_ID = 1; EXT_EDIT_REF_DATA = '1'; LINK_IS_CROSS_PROJ = 0; LINK_UID = _n_; run; PROC SORT DATA = MSP_ASSIGNMENTS out = MSP_ASSIGNMENTS1 NODUPKEY; BY TASK_UID RES_UID; run; data MSP_ASSIGNMENTS; set MSP_ASSIGNMENTS1; PROJ_ID = 1; EXT_EDIT_REF_DATA = '1'; ASSN_DELAY_FMT = &durfmt; ASSN_UID = _n_; run; /*****************/ /* Activity_name */ /*****************/ %if &frommsp ne %then %do; proc sql noprint; create table TASKS_actname as select *, TASK_NAME as Activity_name from MSP_TASKS where TASK_UID<=0; insert into TASKS_actname select MSP_TASKS.*, act_ds.Activity from MSP_TASKS, act_ds where (MSP_TASKS.TASK_NAME=act_ds.ACTUID) and (act_ds.ACTUID is not missing) and act_ds.Activity is not missing ; update TASKS_actname set TASK_NAME=Activity_name; quit; data MSP_TASKS; set TASKS_actname; drop Activity_name; run; %end; %if &aoa_has_name='false' %then %do; data MSP_TASKS; set MSP_TASKS; TASK_NAME=''; run; %end; /*****************************************/ /* EXPORT TABLES TO ACCESS DATABASE FILE */ /*****************************************/ /* the argument &version will be used here to determine */ /* which version of mdb file to be generated by proc export. */ /* non-UNIX */ %if %lowcase(&dbms) ne accesscs %then %do; %macro writetable(tblname=,server1=, port1=); PROC EXPORT DATA = &tblname outtable = &tblname %if %qsubstr(&sysscpl,1,3) eq X64 %then %do; DBMS = ACCESSCS %end; %else %do; DBMS = ACCESS %end; REPLACE; DATABASE = "&phyfile"; RUN; %mend writetable; %end; /* unix */ %else %do; %macro writetable(tblname=, server1=, port1=); %if &server1 = %then %put Error: no server available; %if &port1 = %then %put Error: no port specified; PROC EXPORT DATA = &tblname outtable = &tblname DBMS = ACCESSCS REPLACE; DATABASE = "&phyfile"; server="&server1"; port=&port1; RUN; %mend writetable; %end; %writetable(tblname=MSP_ASSIGNMENTS, server1=&server, port1=&port); %if &syserr>0 %then %do; %put ERROR: check if the target path exists or the target file is in use.; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %writetable(tblname=MSP_ATTRIBUTE_STRINGS, server1=&server, port1=&port); %writetable(tblname=MSP_AVAILABILITY, server1=&server, port1=&port); %writetable(tblname=MSP_CALENDARS, server1=&server, port1=&port); %writetable(tblname=MSP_CALENDAR_DATA, server1=&server, port1=&port); %writetable(tblname=MSP_CODE_FIELDS, server1=&server, port1=&port); %writetable(tblname=MSP_CONVERSIONS, server1=&server, port1=&port); %writetable(tblname=MSP_DATE_FIELDS, server1=&server, port1=&port); %writetable(tblname=MSP_DURATION_FIELDS, server1=&server, port1=&port); %writetable(tblname=MSP_FIELD_ATTRIBUTES, server1=&server, port1=&port); %writetable(tblname=MSP_FLAG_FIELDS, server1=&server, port1=&port); %writetable(tblname=MSP_LINKS, server1=&server, port1=&port); %writetable(tblname=MSP_NUMBER_FIELDS, server1=&server, port1=&port); %writetable(tblname=MSP_OUTLINE_CODES, server1=&server, port1=&port); %writetable(tblname=MSP_PROJECTS, server1=&server, port1=&port); %writetable(tblname=MSP_RESOURCES, server1=&server, port1=&port); %writetable(tblname=MSP_RESOURCE_RATES, server1=&server, port1=&port); %writetable(tblname=MSP_STRING_TYPES, server1=&server, port1=&port); %writetable(tblname=MSP_TASKS, server1=&server, port1=&port); %writetable(tblname=MSP_TEXT_FIELDS, server1=&server, port1=&port); %if &syserr>0 %then %do; %put ERROR: check if the target path exists or the target file is in use.; %put ERROR: The SAS System stopped processing this step because of errors.; %goto done; %end; %writetable(tblname=MSP_TIMEPHASED_DATA, server1=&server, port1=&port); %put ; %put &phyfile was successfully created!; %done: PROC DATASETS LIBRARY = work nolist; delete act_cal1 act_cal2 Actdur Actfields Dataout Msp_assignments Msp_assignments1 Msp_attribute_strings Msp_availability Msp_calendars Msp_calendar_data Msp_code_fields Msp_conversions Msp_date_fields Msp_duration_fields Msp_field_attributes Msp_flag_fields Msp_links Msp_links1 Msp_number_fields Msp_outline_codes Msp_projects Msp_resources Msp_resource_rates Msp_string_types Msp_tasks Msp_tasks1 Msp_tasks_out Msp_tasks_wbs Msp_tasks_wbs1 Msp_text_fields Msp_timephased_data Schedule_m Schedule1 Sche_wbs Sche_wbs1 TASKS_base Tdcal Templinks1 Temps1 Tmptask tempout Actout Act_ds Calout Calout1 Cal_ds Cal_ds1 Msp_calendar_data1 Newlagtxt Templinks2 Tmplib Tempholi Tempholi1 Tempholi2 Tmpcal3 Work_ds Holout Holout1 Hol_ds T_res Tempassign1 Tempassign0 Res_ds Msp_resources1 Msp_availability1 Actds1 Calds1 Hol_ds1 Msp_assignments2 Schedule_ds Scheout Tasks_cal Tasks_work Temphol3 Rescal Schedule_dt TASKS_name Id_dt tmp1; quit; PROC DATASETS LIBRARY = &libname1 nolist; delete cal_ds; quit; options ¬eoption; options &sourceoption; %mend sastomsp;