How to connect to Actuate server DB

Options
gowtham
edited February 11, 2022 in Analytics #1
<p>Hi Team,</p>
<p> </p>
<p> I have installed iHub trail version with default Postgresql DB in linux server. I want to access tables in that and populate some information in Actuate report.</p>
<p>When i am trying create datasource i am getting attached error. Am i am trying with correct url?</p>
<p>I need to know two things,</p>
<ul><li>how i can connect to default iHub database from Actuate BIRT designer </li>
<li>how to access tables in Postgre from linux server. what is the default database name and how i have to connect it</li>
</ul><p> </p>

Comments

  • <p>Hi gowtham -- I'm not seeing any attached stack trace.  Can you retry or use pastebin?  It's hard to say what the problem is without the stack, can you clarify if your getting the error in the designer or from the iHub?  From what it sounds like, you're stuck on creating the data source in the designer.</p>
    Warning No formatter is installed for the format ipb
  • <p><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">Hi Kclark,</span></span></p>
    <p> </p>
    <p><span style="font-size:12px;">   Yes i got struck <span style="color:rgb(40,40,40);">on creating the data source in the designer. The error i am getting is " Connection refused.</span>SQL error #1:Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections</span><span style="font-size:12px;"> ;</span><span style="font-size:12px;color:rgb(40,40,40);">" </span><span style="font-family:arial, helvetica, sans-serif;font-size:12px;">I am using:</span></p>
    <p> </p>
    <p><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">Driver class -> org.postgresql.Driver (PostgreSQL JDBC Driver)</span></span></p>
    <p><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">Database url -> jdbc:postgresql://127.0.0.1:8433/postgres</span></span></p>
    <p><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">userName -> postgres</span></span></p>
    <p><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">password -> test [i have changed the password]</span></span></p>
    <p> </p>
    <p><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">I have installed Actuate iHub in Linux [Cent OS].</span></span></p>
    <p><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">I tried with direct ip of my server but getting the same error. Please let me know if anything missing.</span></span></p>
    <p> </p>
    <p><span style="font-family:arial, helvetica, sans-serif;font-size:12px;">What is the default database name and where i can find AC_USER,AC_FILES_AND_FOLDER tables.</span></p>
  • <p><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">In postgreSQL i found only 3 databases, in this i cant able to find any tables related to iHub server [AC_CORP]. </span></span></p>
    <p> </p>
    <div><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">                                  List of databases</span></span></div>
    <div><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">   Name    |  Owner   | Encoding |  Collation  |    Ctype    |   Access privileges</span></span></div>
    <div><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">
    +
    +
    +
    +
    +
    </span></span></div>
    <div><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;"> postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |</span></span></div>
    <div><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;"> template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres: postgres=CTc/postgres</span></span></div>
    <div><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;"> template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres: postgres=CTc/post</span></span></div>
    <div> </div>
    <div><span style="font-size:12px;"><span style="font-family:arial, helvetica, sans-serif;">How i can access those tables? Please guide me.</span></span></div>
  • <p>The database name for the iHub's metadata is "ihub". It is not located in the default postgres database.</p>
    <p>Inside the ihub database, the schema is named "ac_cluster" by default.</p>
    <p> </p>
    <p>The table structure for the iHub 3+ releases has also changed from the previous iServer releases.</p>
    <p>AC_USER is now v_user (for volume user) and AC_FILES_AND_FOLDERS is now v_file_or_folder.</p>
    <p> </p>
    <p>As always, be very careful when accessing the iHub's metadata and make sure to backup the metadata.</p>
    Warning No formatter is installed for the format ipb
  • <p>Hi </p>
    <p> </p>
    <p>I get connected to Actuate iHub db schema.</p>
    <p> </p>
    <p>There is a Table AC_SCHEDULE_DETAIL in it.</p>
    <p> </p>
    <p>The table contains a column period_day_instance_type with values >=0 to <=8.</p>
    <p> </p>
    <p>I want to make a Report which shows the  Schedule Report like this </p>
    <p> </p>
    <p>" Every 3 weeks on Monday, Tuesday at 6:33 PM US/Eastern starting 6/28/2016 "</p>
    <p> </p>
    <p>i get all this except Monday, Tuesday as i dont know what column it should be . Is it period_day_instance_type ??</p>
    <p>(with Monday as 1 and sunday as 7, if yes then waht is 8 ?)</p>
    <p>Or is it some other column in some other Table in Actuate Ihub Database for scheduled Reports.?</p>
    <p> </p>
    <p>Thanks</p>
    <p>Raj</p>
  • <p>Hi,</p>
    <p> </p>
    <p>As far as I can tell, the information about which day(s) of the week a weekly report is run is in the <span style="font-family:'courier new', courier, monospace;">period_days</span> column. Sunday's value is 2<sup>31, </sup>Monday's is 2<sup>32,</sup> so on and so forth. Multiple days are added together.</p>
    <p> </p>
    <p>Hope this helps,</p>
    <p> </p>
    <p>P.</p>
    Warning No formatter is installed for the format ipb
  • <blockquote class="ipsBlockquote" data-author="pricher" data-cid="144804" data-time="1470253678">
    <div>
    <p>Hi,</p>
    <p> </p>
    <p>As far as I can tell, the information about which day(s) of the week a weekly report is run is in the <span style="font-family:'courier new', courier, monospace;">period_days</span> column. Sunday's value is 2<sup>31, </sup>Monday's is 2<sup>32,</sup> so on and so forth. Multiple days are added together.</p>
    <p> </p>
    <p>Hope this helps,</p>
    <p> </p>
    <p>P.</p>
    <p> </p>
    <p>Hi Pricher</p>
    <p> </p>
    <p>Thanks for the reply, but my numbers in PERIOD_DAYS column is <strong><span style="color:#000000;"><span style="font-family:calibri, sans-serif;"><span style="font-size:11pt;">197568495616 and how does it translate to </span></span></span></strong> this" <strong><span style="font-family:calibri, sans-serif;"><span style="font-size:11pt;">Tuesday,Wednesday,Thursday Saturday "</span></span></strong></p>
    <p> </p>
    <p>Another number is 1073741824 and how does this mean the "Last day" of the week.</p>
    <p> </p>
    <p>i have many period_days numbers 1099511627776 ,23622320128 and so forth.</p>
    <p> </p>
    <p>How do i transform and read them in my BIRT SQL to get the days of the week separated by Commas</p>
    <p>(like this number <strong><span style="color:#000000;"><span style="font-family:calibri, sans-serif;"><span style="font-size:11pt;">197568495616  to </span></span></span></strong><strong><span style="font-family:calibri, sans-serif;"><span style="font-size:11pt;">Tuesday,Wednesday,Thursday Saturday )</span></span></strong></p>
    <p><span style="font-size:14.6667px;"><b>and so forth.</b></span></p>
    <p><span style="font-size:14.6667px;"><b>Can you give me the formula for this ?</b></span></p>
    <p> </p>
    <p>Please reply.</p>
    <p>Thanks</p>
    <p>Raj</p>
    <p> </p>
    <p> </p>
    </div>
    </blockquote>
  • <p>i get this as per your mail of <span style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;font-size:12px;background-color:rgb(247,247,247);">2</span><sup>31, </sup><span style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;font-size:12px;background-color:rgb(247,247,247);">Monday's is 2</span><sup>32,</sup><span style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;font-size:12px;background-color:rgb(247,247,247);"> so on and so forth. Multiple days are added together.</span></p>
    <p><span style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;font-size:12px;background-color:rgb(247,247,247);">I have added togther and you are right it adds up to </span>197568495616.</p>
    <p>But how do i reverese engineer to get it as 2*33 <span> </span>   + 2*34 <span> </span> + 2*35 <span> </span>+ 2*37 and then eventually show in my Report as Scheduled for </p>
    <p> </p>
    <div>Tuesday,Wednesday, Thursday and Saturday</div>
    <div> </div>
    <div>2*33 <span> </span>   + 2*34 <span> </span> + 2*35 <span> </span>+ 2*37</div>
    <div> </div>
    <div>8589934592 + 17179869184 + 34359738368 <span> </span>+ 137438953472 = 197568495616</div>
    <div> </div>
    <div> </div>
    <div>Also i do not get the Last day of week from the number : 1073741824</div>
    <div> </div>
    <div>Please help.</div>
    <div>Thanks</div>
    <div>Raj</div>
  • <p>Hi,</p>
    <p> </p>
    <p>The following code snippet in JavaScript will read the value from the database and create an array that shows the days of the week selected, the value "1" being selected:</p>
    <pre class="_prettyXprint _lang-">
    var days = the value coming from the period_days column;
    var weekdays = [0,0,0,0,0,0,0]
    for (exp = 37; exp >= 31; exp--) {
    if (days - Math.pow(2,exp) >= 0) {
    weekdays[exp-31] = 1
    days = days - Math.pow(2, exp)
    }
    }
    </pre>
    <p>As for the last day of the week, I do not know.</p>
    <p> </p>
    <p>P.</p>
    Warning No formatter is installed for the format ipb
  • <blockquote class="ipsBlockquote" data-author="pricher" data-cid="145043" data-time="1472054597">
    <div>
    <p>Hi,</p>
    <p> </p>
    <p>The following code snippet in JavaScript will read the value from the database and create an array that shows the days of the week selected, the value "1" being selected:</p>
    <pre class="_prettyXprint _lang-">
    var days = the value coming from the period_days column;
    var weekdays = [0,0,0,0,0,0,0]
    for (exp = 37; exp >= 31; exp--) {
    if (days - Math.pow(2,exp) >= 0) {
    weekdays[exp-31] = 1
    days = days - Math.pow(2, exp)
    }
    }
    </pre>
    <p>As for the last day of the week, I do not know.</p>
    <p> </p>
    <p>P.</p>
    </div>
    </blockquote>
    <p>Thanks Pricher</p>
    <p>But i have an SQL which uses Period_days as a column so  i use the Query in Before Open method of Dataset.And how do i use it with this javascript ?</p>
    <p>Thanks</p>
  • <p>You can create a computed column in your Data Set that will read Period_Days and determine the week schedule. Here's the expression for that computed column, assuming a column named Period_days:</p>
    <pre class="_prettyXprint _lang-">
    var days = row["Period_days"];
    var weekdays = [0,0,0,0,0,0,0];
    var weekdaysStr = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
    var schedule = "";

    for (exp = 37; exp >= 31; exp--) {
    if (days - Math.pow(2,exp) >= 0) {
    weekdays[exp-31] = 1;
    days = days - Math.pow(2, exp);
    }
    }
    for (i = 0; i < 7; i++) {
    if (weekdays[i] == 1) {
    schedule = schedule + (schedule != "" ? "," : "") + weekdaysStr[i];
    }
    }
    schedule;
    </pre>
    <p>I have also attached a sample report using a static data set.</p>
    <p> </p>
    <p>P.</p>
    Warning No formatter is installed for the format ipb
  • <blockquote class="ipsBlockquote" data-author="pricher" data-cid="145048" data-time="1472058875">
    <div>
    <p>You can create a computed column in your Data Set that will read Period_Days and determine the week schedule. Here's the expression for that computed column, assuming a column named Period_days:</p>
    <pre class="_prettyXprint _lang-">
    var days = row["Period_days"];
    var weekdays = [0,0,0,0,0,0,0];
    var weekdaysStr = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
    var schedule = "";

    for (exp = 37; exp >= 31; exp--) {
    if (days - Math.pow(2,exp) >= 0) {
    weekdays[exp-31] = 1;
    days = days - Math.pow(2, exp);
    }
    }
    for (i = 0; i < 7; i++) {
    if (weekdays[i] == 1) {
    schedule = schedule + (schedule != "" ? "," : "") + weekdaysStr[i];
    }
    }
    schedule;
    </pre>
    <p>I have also attached a sample report using a static data set.</p>
    <p> </p>
    <p>P.</p>
    </div>
    </blockquote>
    <p>Thanks P.</p>
  • <blockquote class="ipsBlockquote" data-author="yoovrajkhullar" data-cid="145051" data-time="1472062911">
    <div>
    <p>Thanks P.</p>
    </div>
    </blockquote>
    <p>Hi P</p>
    <p>Thanks got the column WeekSchedule in the Report.</p>
    <p>But i want to replace this column in my Query so that it replaces on A with Monday,Tuesday Saturday whatever the Column value.</p>
    <p> </p>
    <p>"Every 2 Weeks <span style="color:#ff0000;"><em>on A</em></span> at 08:00 PM starting 08/19/2016  </p>
    <p> </p>
    <p>Thanks a lot.</p>
  • <p>WeekSchedule is just a string created a the data set level. You can use it however and wherever you want.</p>
    Warning No formatter is installed for the format ipb
  • <blockquote class="ipsBlockquote" data-author="pricher" data-cid="145056" data-time="1472067912">
    <div>
    <p>WeekSchedule is just a string created a the data set level. You can use it however and wherever you want.</p>
    </div>
    </blockquote>
    <p>Hi P</p>
    <p> </p>
    <p>I have to use it in my Before open method as my Query is complex but it is giving me Null for Schedule, i even commented out even then its giving a blank ??. Declared it as Persistent Global varaible even then Nothing shows up for schedule</p>
    <p> </p>
    <div>var days = row["PERIOD_DAYS"];</div>
    <div>var weekdays = [0,0,0,0,0,0,0];</div>
    <div>var weekdaysStr = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];</div>
    <div>var schedule = "";</div>
    <div>for (exp = 37; exp >= 31; exp--) {</div>
    <div>if (days - Math.pow(2,exp) >= 0) {</div>
    <div>weekdays[exp-31] = 1;</div>
    <div>days = days - Math.pow(2, exp);</div>
    <div>}</div>
    <div>}</div>
    <div>for (i = 0; i < 7; i++) {</div>
    <div>if (weekdays == 1) {</div>
    <div>schedule = schedule + (schedule != "" ? "," : "") + weekdaysStr;</div>
    <div>}</div>
    <div>}</div>
    <div>schedule;</div>
    <div>/*if (</div>
    <div>schedule == ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]</div>
    <div> ) </div>
    <div> {</div>
    <div>null</div>
    <div> }  </div>
    <div> else schedule;*/</div>
    <div>// reportContext.setPersistentGlobalVariable("global_refdate", days);</div>
    <div> //var a= reportContext.getPersistentGlobalVariable("global_refdate");</div>
    <div>var a= reportContext.setPersistentGlobalVariable("test",schedule);</div>
    <div>var b  = reportContext.getPersistentGlobalVariable("test");</div>
    <div>this.queryText= this.queryText.replace("to_char(PERIOD_DAYS)",schedule);</div>
  • <p>You've lost me.... Why attempting to modify the query? Based on your initial requirement, you are querying the iHub database to get back the period_days column which is a long integer representing which days of the week are part of the schedule. The code I have sent you takes that value and extract the days, first in an array, then as a string. That code is implemented as an expression in a new computed column of the data set. You will get nowhere by modifying the query.</p>
    <p> </p>
    <p>P.</p>
    Warning No formatter is installed for the format ipb
  • <blockquote class="ipsBlockquote" data-author="pricher" data-cid="145078" data-time="1472127576">
    <div>
    <p>You've lost me.... Why attempting to modify the query? Based on your initial requirement, you are querying the iHub database to get back the period_days column which is a long integer representing which days of the week are part of the schedule. The code I have sent you takes that value and extract the days, first in an array, then as a string. That code is implemented as an expression in a new computed column of the data set. You will get nowhere by modifying the query.</p>
    <p> </p>
    <p>P.</p>
    </div>
    </blockquote>
    <p>Hi P</p>
    <p>I have to concatenate the Period_days Schedules for each schedule separated by a ;</p>
    <p>So it is inside my inner Query Period_days which i have to replace by WeekSchedules.</p>
    <p>I can not take WeekSchdeules  in the outside Query as if i take it out it has to be grouped by Period_days too as i am grouping all schedules  by Schedules_iid.</p>
    <p> </p>
    <p>So that is why i want it in the inside Query.</p>
    <p>So that is why i can not use Calculated Column. i have to calculate the calculated Column it in my inner Query.</p>
    <p> </p>
    <p>This is the Query to tell what i mean</p>
    <p> </p>
    <div>select  PERIOD_DAYS,</div>
    <div>VOLUME_ID,</div>
    <div>        TIME_ZONE_ID,</div>
    <div>VOLUME_NAME,</div>
    <div>        JOB_NAME,</div>
    <div>        IS_ACTIVE,</div>
    <div>        OWNER,</div>
    <div>        SCHEDULE_IID,  </div>
    <div>        SCHEDULE_CREATE_DATE,         </div>
    <div>        TO_CHAR(RTRIM(XMLAGG(XMLELEMENT(e,recipients,';').EXTRACT('//text()') ORDER BY volume_id,schedule_iid,recipients   ).GetClobVal(),';')) as NOTIFICATION_USERS, </div>
    <div>        --LISTAGG(SCHEDULES_RECURRING_JOBS, '   ;   ') WITHIN GROUP (ORDER BY SCHEDULES_RECURRING_JOBS  ) OVER (PARTITION by volume_id,schedule_iid )  </div>
    <div>        SCHEDULES_RECURRING_JOBS,</div>
    <div>   NEXT_RUN_ON,</div>
    <div>JOB_TYPE,</div>
    <div>REPORT_NAME,</div>
    <div>EXECUTABLE_VERSION,</div>
    <div>FAILED_JOB_RETRY_POLICY,<span> </span></div>
    <div>OUTPUT_FILE_NAME,<span> </span></div>
    <div>OUTPUT_FILE_REPLACEMENT_POLICY,<span> </span></div>
    <div>IF_JOB_SUCCEDS,</div>
    <div>IF_JOB_FAILS</div>
    <div> </div>
    <div>from</div>
    <div>(</div>
    <div>SELECT  </div>
    <div>DISTINCT </div>
    <div>--SCHEDULE_DETAIL_IID,</div>
    <div>PERIOD_DAYS,</div>
    <div>  <span> </span>VOLUME_ID,</div>
    <div>        TIME_ZONE_ID,</div>
    <div>VOLUME_NAME,</div>
    <div>        JOB_NAME,</div>
    <div>        IS_ACTIVE,</div>
    <div>        OWNER,</div>
    <div>        SCHEDULE_IID,  </div>
    <div>        SCHEDULE_CREATE_DATE, </div>
    <div>        recipients,</div>
    <div>        --TO_CHAR(RTRIM(XMLAGG(XMLELEMENT(e,recipients,';').EXTRACT('//text()') ORDER BY volume_id,schedule_iid,recipients   ).GetClobVal(),';')) as NOTIFICATION_USERS, </div>
    <div>        LISTAGG(SCHEDULES_RECURRING_JOBS, '   ;   ') WITHIN GROUP (ORDER BY SCHEDULES_RECURRING_JOBS  ) OVER (PARTITION by volume_id,schedule_iid ) SCHEDULES_RECURRING_JOBS,</div>
    <div>   NEXT_RUN_ON,</div>
    <div>JOB_TYPE,</div>
    <div>REPORT_NAME,</div>
    <div>EXECUTABLE_VERSION,</div>
    <div>FAILED_JOB_RETRY_POLICY,<span> </span></div>
    <div>OUTPUT_FILE_NAME,<span> </span></div>
    <div>OUTPUT_FILE_REPLACEMENT_POLICY,<span> </span></div>
    <div>IF_JOB_SUCCEDS,</div>
    <div>IF_JOB_FAILS</div>
    <div>FROM</div>
    <div>(</div>
    <div>SELECT  DISTINCT <span> </span></div>
    <div>ACSD.PERIOD_DAYS,</div>
    <div>        ACSD.SCHEDULE_DETAIL_IID,</div>
    <div>ACJD.VOLUME_ID,</div>
    <div>ACS.TIME_ZONE_ID,</div>
    <div>ACV.VOLUME_NAME,</div>
    <div>        ACJD.JOB_NAME,</div>
    <div>        CASE WHEN SCHEDULE_STATE='A' THEN 'Y' ELSE 'N' END AS IS_ACTIVE,</div>
    <div>ACU.USER_LOGIN_NAME AS OWNER,</div>
    <div>ACSD.SCHEDULE_IID,<span> </span></div>
    <div>TO_CHAR(ACJD.CREATION_TIME_STAMP,'MM/DD/YYYY') AS SCHEDULE_CREATE_DATE,<span> </span></div>
    <div>        (CASE WHEN ACSD.PERIOD_UNITS ='M' THEN 'Every  ' || ( ACSD.PERIOD_INTERVAL ) || ' Month ' || (case when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' Then null else 'on ' end )  ||</div>
    <div>(case when ACSD.PERIOD_DAY_INSTANCE_TYPE = '1' Then ' Monday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '2' Then ' Tuesday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '3' Then ' Wednesday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '4' Then ' Thursday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '5' Then ' Friday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '6' Then ' Saturday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '7' Then ' Sunday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' Then null</div>
    <div>end  )|| ' at '</div>
    <div>             WHEN ACSD.PERIOD_UNITS ='W' THEN 'Every ' ||  ( ACSD.PERIOD_INTERVAL  ) || ' Week ' || (case when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' Then null else 'on ' end ) || </div>
    <div>             <span> </span> (case when ACSD.PERIOD_DAY_INSTANCE_TYPE = '1' Then ' Monday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '2' Then ' Tuesday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '3' Then ' Wednesday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '4' Then ' Thursday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '5' Then ' Friday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '6' Then ' Saturday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '7' Then ' Sunday'</div>
    <div>    --when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' Then null</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' and ACSD.PERIOD_DAY_INSTANCE = '0' Then 'The Last Day '</div>
    <div>     <span> </span>when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' and ACSD.PERIOD_DAY_INSTANCE = '-1' then to_char(ACSD.PERIOD_DAYS)</div>
    <div>    </div>
    <div>end  ) || ' at '</div>
    <div>             WHEN ACSD.PERIOD_UNITS ='D' THEN 'Every ' ||  ( ACSD.PERIOD_INTERVAL  ) || ' Day  ' || (case when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' Then null else 'on ' end )||</div>
    <div>            <span> </span> (case when ACSD.PERIOD_DAY_INSTANCE_TYPE = '1' Then ' Monday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '2' Then ' Tuesday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '3' Then ' Wednesday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '4' Then ' Thursday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '5' Then ' Friday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '6' Then ' Saturday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '7' Then ' Sunday'</div>
    <div>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' Then null</div>
    <div>end  ) || ' at '</div>
    <div>             WHEN ACSD.PERIOD_UNITS = 'N' THEN NULL</div>
    <div>             WHEN SCHEDULE_STATE <> 'A'  THEN NULL</div>
    <div>           END )  || (case when ACSD.PERIOD_UNITS = 'N' THEN NULL</div>
    <div>                                            else</div>
    <div>           TO_CHAR(ACSD.START_TIME,' HH:Mi AM') || ' starting ' || TO_CHAR(ACSD.START_DATE,'MM/DD/YYYY')<span> </span>end ) AS SCHEDULES_RECURRING_JOBS,</div>
    <div> </div>
    <div>        case when (acs.schedule_state <>  'E'  ) then to_char(ACS.NEXT_OCCURRENCE,'MM/DD/YYYY HH:Mi AM ') || ACS.TIME_ZONE_ID </div>
    <div>             else null</div>
    <div>        end  AS NEXT_RUN_ON,</div>
    <div>           <span> </span>   <span> </span></div>
    <div>ACJD.JOB_TYPE,</div>
    <div>ACJD.REQUESTED_OUTPUT_FILE_PATH as REPORT_NAME,</div>
    <div>CASE WHEN ACJD.USE_LATEST_INPUT_VERSION='T' THEN 'Latest Version' </div>
    <div>ELSE 'Version 1' END AS EXECUTABLE_VERSION,<span> </span></div>
    <div>CASE </div>
    <div>WHEN (ACJD.RETRY_POLICY='V' and ACJD.MAX_RETRY_COUNT = 0 ) THEN 'Use Default Volume' </div>
    <div>    WHEN (ACJD.RETRY_POLICY='R' and ACJD.MAX_RETRY_COUNT > 0 ) THEN 'Retry '|| ACJD.MAX_RETRY_COUNT || ' times.' || ' Wait ' || to_char(to_date(ACJD.RETRY_INTERVAL_SECS,'sssss'),'hh24:mi') || ' hours and minutes ' </div>
    <div>ELSE 'Do Not Retry' </div>
    <div>END  AS FAILED_JOB_RETRY_POLICY,<span> </span></div>
    <div>ACJD.REQUESTED_OUTPUT_FILE_PATH AS OUTPUT_FILE_NAME,<span> </span></div>
    <div>CASE </div>
    <div>WHEN ACJD.OUTPUT_FILE_NEW_VERSION='F' THEN 'Replace the latest version' </div>
    <div>WHEN (ACJD.OUTPUT_FILE_NEW_VERSION='T' AND ACJD.OUTPUT_FILE_MAX_VERSIONS = 0) THEN 'Create a new version' </div>
    <div>WHEN (ACJD.OUTPUT_FILE_NEW_VERSION='T' AND ACJD.OUTPUT_FILE_MAX_VERSIONS >= 1) THEN 'Create a new version;Keep only the latest '|| ACJD.OUTPUT_FILE_MAX_VERSIONS ||' versions ' </div>
    <div>         END AS OUTPUT_FILE_REPLACEMENT_POLICY,</div>
    <div>       </div>
    <div>    <span> </span>--ACJNS.recipient_iid,</div>
    <div>     <span> </span>--ACU.USER_IID,</div>
    <div>       <span> </span>ACUS.user_login_name AS recipients,</div>
    <div>      <span> </span>CASE WHEN ACJD.ON_SUCCESS_SEND_EMAIL = 'T'   THEN 'Send e-mail notification'</div>
    <div>       <span> </span>ELSE 'Send e-mail notification;Attach document' END AS IF_JOB_SUCCEDS,       </div>
    <div>       <span> </span>CASE WHEN ACJD.ON_SUCCESS_SEND_EMAIL = 'F'  THEN 'Send e-mail notification' END AS IF_JOB_FAILS</div>
    <div>       </div>
    <div> FROM <span> </span>AC_SCHEDULE ACS</div>
    <div>JOIN    PARAMS ON (1=1) </div>
    <div>JOIN <span> </span>AC_VOLUME ACV</div>
    <div>ON <span> </span>ACV.VOLUME_ID = ACS.VOLUME_ID</div>
    <div> JOIN <span> </span>AC_USER ACU</div>
    <div>ON <span> </span>ACS.OWNER_IID= ACU.USER_IID</div>
    <div>AND     ACS.VOLUME_ID= ACU.VOLUME_ID</div>
    <div> </div>
    <div> JOIN    AC_JOB_DEFINITION ACJD</div>
    <div>ON      ACJD.VOLUME_ID=ACS.VOLUME_ID</div>
    <div>AND     ACJD.JOB_DEFINITION_IID=ACS.TASK_IID</div>
    <div> </div>
    <div>JOIN    AC_JOB_DEF_NOTICE_SUBSCRIPTION ACJNS</div>
    <div>ON     <span> </span>ACS.VOLUME_ID=ACJNS.VOLUME_ID</div>
    <div>AND     ACS.TASK_IID = ACJNS.JOB_DEFINITION_IID  </div>
    <div>AND  <span> </span>ACJD.JOB_DEFINITION_IID = ACJNS.JOB_DEFINITION_IID  </div>
    <div> </div>
    <div>JOIN <span> </span>AC_USER ACUS </div>
    <div>ON      ACJNS.VOLUME_ID = ACUS.VOLUME_ID</div>
    <div>AND     ACUS.USER_IID = ACJNS.recipient_iid</div>
    <div> </div>
    <div> </div>
    <div>JOIN <span> </span>AC_SCHEDULE_DETAIL ACSD</div>
    <div>ON   <span> </span>ACS.SCHEDULE_IID= ACSD.SCHEDULE_IID</div>
    <div>AND<span> </span>    ACS.VOLUME_ID=acsd.VOLUME_ID</div>
    <div> </div>
    <div>WHERE   1=1     <span> </span></div>
    <div>AND  <span> </span>ACJD.CREATION_TIME_STAMP  BETWEEN PARAMS.SCHEDULE_DATE_FROM AND PARAMS.SCHEDULE_DATE_TO</div>
    <div>AND     ACS.SCHEDULE_TASK_TYPE = 'J'</div>
    <div>AND     ACJNS.recipient_type in ('U','G')</div>
    <div>AND     ACUS.IS_ACTIVE = 'T'</div>
    <div>) </div>
    <div>)</div>
    <div>GROUP BY PERIOD_DAYS,</div>
    <div>VOLUME_ID,</div>
    <div>        TIME_ZONE_ID,</div>
    <div>VOLUME_NAME,</div>
    <div>        JOB_NAME,</div>
    <div>        IS_ACTIVE,</div>
    <div>        OWNER,</div>
    <div>SCHEDULE_IID,</div>
    <div>SCHEDULE_CREATE_DATE,</div>
    <div>SCHEDULES_RECURRING_JOBS,</div>
    <div>NEXT_RUN_ON,</div>
    <div>JOB_TYPE,</div>
    <div>REPORT_NAME,</div>
    <div>EXECUTABLE_VERSION,</div>
    <div>FAILED_JOB_RETRY_POLICY,</div>
    <div>OUTPUT_FILE_NAME,<span> </span></div>
    <div>OUTPUT_FILE_REPLACEMENT_POLICY,<span> </span></div>
    <div>IF_JOB_SUCCEDS,</div>
    <div>IF_JOB_FAILS</div>
    <div> </div>
    <div>ORDER BY UPPER(VOLUME_NAME),JOB_NAME,OWNER</div>
  • <p>i have to concatenate other columns to the WeekSchedules </p>
    <p> </p>
    <p>i.e. concatenate it to </p>
    <p>TO_CHAR(ACSD.START_TIME,' HH:Mi AM') || ' starting ' || TO_CHAR(ACSD.START_DATE,'MM/DD/YYYY')<span> </span>end ) AS SCHEDULES_RECURRING_JOBS,</p>
    <p> </p>
    <p>So that is why i have to calculate Weekdays inside the Query not outside it.</p>
  • <p>P </p>
    <p>Thanks a lot.</p>
    <p>I resolved it. i had to use the ListAgg on Period_days also to get the 20 rows.</p>
    <p> </p>
    <p>Thanks a lot once again.</p>
    <p>Yoovraj</p>
  • <blockquote class="ipsBlockquote" data-author="yoovrajkhullar" data-cid="145082" data-time="1472136237">
    <div>
    <p>P </p>
    <p>Thanks a lot.</p>
    <p>I resolved it. i had to use the ListAgg on Period_days also to get the 20 rows.</p>
    <p> </p>
    <p>Thanks a lot once again.</p>
    <p>Yoovraj</p>
    </div>
    </blockquote>
    <p>Hi P</p>
    <p>Alas used Listagg for Period_days but it gives it like this</p>
    <p>Period_days like this</p>
    <p>4294967296   ;   23622320128 and WeekShedules column does not give anything.</p>
    <p>because the code in javascript is like this </p>
    <p>var days = row["PERIOD_DAYS"];</p>
    <p> </p>
    <p>??</p>
    <p> </p>
    <p>Please help.</p>
    <p>Thanks</p>
    <p>Raj</p>
    <p> </p>
    <p> </p>
    <p>This is my Query</p>
    <p>( i actually want the WeekSchedules added into SCHEDULE_RECURRING_JOBS Column in the Query)</p>
    <p> </p>
    <p>i.e WeekSchedule of Tuesday, Wednesday etc in place of <span style="color:rgb(255,0,0);">to_char(ACSD.PERIOD_DAYS)</span><span style="color:rgb(255,0,0);"> </span>in the below Query.</p>
    <p> </p>
    <div>select  </div>
    <div>PERIOD_DAYS,</div>
    <div>        --LISTAGG(PERIOD_DAYS, '   ;   ') WITHIN GROUP (ORDER BY PERIOD_DAYS  ) OVER (PARTITION by volume_id,schedule_iid )  as PERIOD_DAYS,</div>
    <div>       </div>
    <div>VOLUME_ID,</div>
    <div>        TIME_ZONE_ID,</div>
    <div>VOLUME_NAME,</div>
    <div>        JOB_NAME,</div>
    <div>        IS_ACTIVE,</div>
    <div>        OWNER,</div>
    <div>        SCHEDULE_IID,  </div>
    <div>        SCHEDULE_CREATE_DATE,         </div>
    <div>        TO_CHAR(RTRIM(XMLAGG(XMLELEMENT(e,recipients,';').EXTRACT('//text()') ORDER BY volume_id,schedule_iid,recipients   ).GetClobVal(),';')) as NOTIFICATION_USERS, </div>
    <div>        --LISTAGG(SCHEDULES_RECURRING_JOBS, '   ;   ') WITHIN GROUP (ORDER BY SCHEDULES_RECURRING_JOBS  ) OVER (PARTITION by volume_id,schedule_iid )  </div>
    <div>        SCHEDULES_RECURRING_JOBS,</div>
    <div>       </div>
    <div>   </div>
    <div>       </div>
    <div>   NEXT_RUN_ON,</div>
    <div>JOB_TYPE,</div>
    <div>REPORT_NAME,</div>
    <div>EXECUTABLE_VERSION,</div>
    <div>FAILED_JOB_RETRY_POLICY,<span> </span></div>
    <div>OUTPUT_FILE_NAME,<span> </span></div>
    <div>OUTPUT_FILE_REPLACEMENT_POLICY,<span> </span></div>
    <div>IF_JOB_SUCCEDS,</div>
    <div>IF_JOB_FAILS</div>
    <div> </div>
    <div>from</div>
    <div>(</div>
    <div>SELECT  </div>
    <div>DISTINCT <span> </span></div>
    <div>LISTAGG(PERIOD_DAYS, '   ;   ') WITHIN GROUP (ORDER BY PERIOD_DAYS  ) OVER (PARTITION by volume_id,schedule_iid )  as PERIOD_DAYS,</div>
    <div>   --<span> </span>PERIOD_DAYS,</div>
    <div>  <span> </span>VOLUME_ID,</div>
    <div>        TIME_ZONE_ID,</div>
    <div>VOLUME_NAME,</div>
    <div>        JOB_NAME,</div>
    <div>        IS_ACTIVE,</div>
    <div>        OWNER,</div>
    <div>        SCHEDULE_IID,  </div>
    <div>        SCHEDULE_CREATE_DATE, </div>
    <div>        recipients,</div>
    <div>        --TO_CHAR(RTRIM(XMLAGG(XMLELEMENT(e,recipients,';').EXTRACT('//text()') ORDER BY volume_id,schedule_iid,recipients   ).GetClobVal(),';')) as NOTIFICATION_USERS, </div>
    <div>        LISTAGG(SCHEDULES_RECURRING_JOBS, '   ;   ') WITHIN GROUP (ORDER BY SCHEDULES_RECURRING_JOBS  ) OVER (PARTITION by volume_id,schedule_iid ) SCHEDULES_RECURRING_JOBS,</div>
    <div>   NEXT_RUN_ON,</div>
    <div>JOB_TYPE,</div>
    <div>REPORT_NAME,</div>
    <div>EXECUTABLE_VERSION,</div>
    <div>FAILED_JOB_RETRY_POLICY,<span> </span></div>
    <div>OUTPUT_FILE_NAME,<span> </span></div>
    <div>OUTPUT_FILE_REPLACEMENT_POLICY,<span> </span></div>
    <div>IF_JOB_SUCCEDS,</div>
    <div>IF_JOB_FAILS</div>
    <div>FROM</div>
    <div>(</div>
    <div>SELECT  DISTINCT <span> </span></div>
    <div>ACSD.PERIOD_DAYS,ACSD.START_DATE,ACSD.START_TIME,ACSD.PERIOD_UNITS,</div>
    <div>        ACSD.SCHEDULE_DETAIL_IID,</div>
    <div>ACJD.VOLUME_ID,</div>
    <div>ACS.TIME_ZONE_ID,</div>
    <div>ACV.VOLUME_NAME,</div>
    <div>        ACJD.JOB_NAME,</div>
    <div>        CASE WHEN SCHEDULE_STATE='A' THEN 'Y' ELSE 'N' END AS IS_ACTIVE,</div>
    <div>ACU.USER_LOGIN_NAME AS OWNER,</div>
    <div>ACSD.SCHEDULE_IID,<span> </span></div>
    <div>TO_CHAR(ACJD.CREATION_TIME_STAMP,'MM/DD/YYYY') AS SCHEDULE_CREATE_DATE,<span> </span></div>
    <div>        (CASE WHEN ACSD.PERIOD_UNITS ='M' THEN (case when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' and ACSD.PERIOD_DAY_INSTANCE = '0' Then 'The Last Day ' else ACSD.PERIOD_DAY_INSTANCE || ' st '|| ' ' ||  ACSD.PERIOD_DAY_INSTANCE_TYPE end ) ||' of every  ' || ( ACSD.PERIOD_INTERVAL ) || ' Month ' || </div>
    <div>(case </div>
    <div>when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' and ACSD.PERIOD_DAY_INSTANCE = '-1' then to_char(ACSD.PERIOD_DAYS)<span> </span></div>
    <div>end  )|| ' at '</div>
    <div>             </div>
    <div>             WHEN <span style="color:#ff0000;">ACSD.PERIOD_UNITS ='W'</span> THEN 'Every ' ||  ( ACSD.PERIOD_INTERVAL  ) || ' Week ' || (case when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' and ACSD.PERIOD_DAY_INSTANCE = '0' Then 'The Last Day of' else 'on ' end ) || </div>
    <div>             <span> </span> (case </div>
    <div>    <span> </span>when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' and ACSD.PERIOD_DAY_INSTANCE = '-1' then <span style="color:#ff0000;">to_char(ACSD.PERIOD_DAYS)<span> </span></span>     </div>
    <div>end  ) || ' at '</div>
    <div>             WHEN ACSD.PERIOD_UNITS ='D' THEN 'Every ' ||  ( ACSD.PERIOD_INTERVAL  ) || ' Day  ' ||(case when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' and ACSD.PERIOD_DAY_INSTANCE = '0' Then 'The Last Day of' else ' ' end ) ||</div>
    <div>            <span> </span> (case </div>
    <div>            <span> </span>    when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' and ACSD.PERIOD_DAY_INSTANCE = '-1' then (case when to_char(ACSD.PERIOD_DAYS)= 0 then '' else <span> </span>to_char(ACSD.PERIOD_DAYS) end )<span> </span></div>
    <div>end  ) || ' at '</div>
    <div>             WHEN ACSD.PERIOD_UNITS = 'N' THEN NULL</div>
    <div>             WHEN SCHEDULE_STATE <> 'A'  THEN NULL</div>
    <div>           END )  || (case when ACSD.PERIOD_UNITS = 'N' THEN NULL</div>
    <div>                                            else</div>
    <div>           TO_CHAR(ACSD.START_TIME,' HH:Mi AM') || ' starting ' || TO_CHAR(ACSD.START_DATE,'MM/DD/YYYY')<span> </span>end ) AS SCHEDULES_RECURRING_JOBS,</div>
    <div>           </div>
    <div> </div>
    <div>        case when (acs.schedule_state <>  'E'  ) then to_char(ACS.NEXT_OCCURRENCE,'MM/DD/YYYY HH:Mi AM ') || ACS.TIME_ZONE_ID </div>
    <div>             else null</div>
    <div>        end  AS NEXT_RUN_ON,</div>
    <div>           <span> </span>   <span> </span></div>
    <div>ACJD.JOB_TYPE,</div>
    <div>ACJD.REQUESTED_OUTPUT_FILE_PATH as REPORT_NAME,</div>
    <div>CASE WHEN ACJD.USE_LATEST_INPUT_VERSION='T' THEN 'Latest Version' </div>
    <div>ELSE 'Version 1' END AS EXECUTABLE_VERSION,<span> </span></div>
    <div>CASE </div>
    <div>WHEN (ACJD.RETRY_POLICY='V' and ACJD.MAX_RETRY_COUNT = 0 ) THEN 'Use Default Volume' </div>
    <div>    WHEN (ACJD.RETRY_POLICY='R' and ACJD.MAX_RETRY_COUNT > 0 ) THEN 'Retry '|| ACJD.MAX_RETRY_COUNT || ' times.' || ' Wait ' || to_char(to_date(ACJD.RETRY_INTERVAL_SECS,'sssss'),'hh24:mi') || ' hours and minutes ' </div>
    <div>ELSE 'Do Not Retry' </div>
    <div>END  AS FAILED_JOB_RETRY_POLICY,<span> </span></div>
    <div>ACJD.REQUESTED_OUTPUT_FILE_PATH AS OUTPUT_FILE_NAME,<span> </span></div>
    <div>CASE </div>
    <div>WHEN ACJD.OUTPUT_FILE_NEW_VERSION='F' THEN 'Replace the latest version' </div>
    <div>WHEN (ACJD.OUTPUT_FILE_NEW_VERSION='T' AND ACJD.OUTPUT_FILE_MAX_VERSIONS = 0) THEN 'Create a new version' </div>
    <div>WHEN (ACJD.OUTPUT_FILE_NEW_VERSION='T' AND ACJD.OUTPUT_FILE_MAX_VERSIONS >= 1) THEN 'Create a new version;Keep only the latest '|| ACJD.OUTPUT_FILE_MAX_VERSIONS ||' versions ' </div>
    <div>         END AS OUTPUT_FILE_REPLACEMENT_POLICY,</div>
    <div>       </div>
    <div>    <span> </span>--ACJNS.recipient_iid,</div>
    <div>     <span> </span>--ACU.USER_IID,</div>
    <div>       <span> </span>ACUS.user_login_name AS recipients,</div>
    <div>      <span> </span>CASE WHEN ACJD.ON_SUCCESS_SEND_EMAIL = 'T'   THEN 'Send e-mail notification'</div>
    <div>       <span> </span>ELSE 'Send e-mail notification;Attach document' END AS IF_JOB_SUCCEDS,       </div>
    <div>       <span> </span>CASE WHEN ACJD.ON_SUCCESS_SEND_EMAIL = 'F'  THEN 'Send e-mail notification' END AS IF_JOB_FAILS</div>
    <div>       </div>
    <div> FROM <span> </span>AC_SCHEDULE ACS</div>
    <div> </div>
    <div>JOIN <span> </span>AC_VOLUME ACV</div>
    <div>ON <span> </span>ACV.VOLUME_ID = ACS.VOLUME_ID</div>
    <div> JOIN <span> </span>AC_USER ACU</div>
    <div>ON <span> </span>ACS.OWNER_IID= ACU.USER_IID</div>
    <div>AND     ACS.VOLUME_ID= ACU.VOLUME_ID</div>
    <div> </div>
    <div> JOIN    AC_JOB_DEFINITION ACJD</div>
    <div>ON      ACJD.VOLUME_ID=ACS.VOLUME_ID</div>
    <div>AND     ACJD.JOB_DEFINITION_IID=ACS.TASK_IID</div>
    <div> </div>
    <div>JOIN    AC_JOB_DEF_NOTICE_SUBSCRIPTION ACJNS</div>
    <div>ON     <span> </span>ACS.VOLUME_ID=ACJNS.VOLUME_ID</div>
    <div>AND     ACS.TASK_IID = ACJNS.JOB_DEFINITION_IID  </div>
    <div>AND  <span> </span>ACJD.JOB_DEFINITION_IID = ACJNS.JOB_DEFINITION_IID  </div>
    <div> </div>
    <div>JOIN <span> </span>AC_USER ACUS </div>
    <div>ON      ACJNS.VOLUME_ID = ACUS.VOLUME_ID</div>
    <div>AND     ACUS.USER_IID = ACJNS.recipient_iid</div>
    <div> </div>
    <div>  </div>
    <div> </div>
    <div>/* use , working */</div>
    <div>/*JOIN  <span> </span>AC_GROUP_MEMBER  a </div>
    <div>ON  <span> </span>ACJNS.recipient_iid =  </div>
    <div>CASE</div>
    <div>               WHEN ACJNS.recipient_type = 'G'           </div>
    <div>               </div>
    <div>               <span> </span>THEN a.group_iid </div>
    <div>              WHEN ACJNS.recipient_type = 'U' </div>
    <div>                    THEN acus.user_iid                                     </div>
    <div>                else  ACJNS.recipient_iid          </div>
    <div>               END </div>
    <div>               </div>
    <div>AND     ACUS.USER_IID =  </div>
    <div>CASE</div>
    <div>               WHEN ACJNS.recipient_type = 'G' </div>
    <div>                   THEN a.user_iid</div>
    <div>               WHEN ACJNS.recipient_type = 'U' </div>
    <div>                    THEN ACJNS.recipient_iid                    </div>
    <div>                else ACUS.USER_IID</div>
    <div>                END */</div>
    <div> </div>
    <div> </div>
    <div>JOIN <span> </span>AC_SCHEDULE_DETAIL ACSD</div>
    <div>ON   <span> </span>ACS.SCHEDULE_IID= ACSD.SCHEDULE_IID</div>
    <div>AND<span> </span>    ACS.VOLUME_ID=acsd.VOLUME_ID</div>
    <div> </div>
    <div>WHERE   1=1     <span> </span></div>
    <div> </div>
    <div>AND     ACS.SCHEDULE_TASK_TYPE = 'J'</div>
    <div>AND     ACJNS.recipient_type in ('U','G')</div>
    <div>AND     ACUS.IS_ACTIVE = 'T'</div>
    <div>) </div>
    <div>)</div>
    <div>GROUP BY --recipients,</div>
    <div>PERIOD_DAYS,</div>
    <div>VOLUME_ID,</div>
    <div>        TIME_ZONE_ID,</div>
    <div>VOLUME_NAME,</div>
    <div>        JOB_NAME,</div>
    <div>        IS_ACTIVE,</div>
    <div>        OWNER,</div>
    <div>SCHEDULE_IID,</div>
    <div>SCHEDULE_CREATE_DATE,</div>
    <div>SCHEDULES_RECURRING_JOBS,</div>
    <div>NEXT_RUN_ON,</div>
    <div>JOB_TYPE,</div>
    <div>REPORT_NAME,</div>
    <div>EXECUTABLE_VERSION,</div>
    <div>FAILED_JOB_RETRY_POLICY,</div>
    <div>OUTPUT_FILE_NAME,<span> </span></div>
    <div>OUTPUT_FILE_REPLACEMENT_POLICY,<span> </span></div>
    <div>IF_JOB_SUCCEDS,</div>
    <div>IF_JOB_FAILS</div>
    <div> </div>
    <div>ORDER BY UPPER(VOLUME_NAME),JOB_NAME,OWNER</div>
  • <p>Hi P</p>
    <p>i used this code it worked fine.</p>
    <p>(But suddenly i am gettind the error : <span style="color:#ff0000;">TypeError: Cannot find function split in object 4294967296 ??)</span></p>
    <p>i am splitting it beacuse i need to read the period days before and after seperaotor ; in my Period_days value of 197568495616 ; 1073741824</p>
    <p> </p>
    <p> </p>
    <p> </p>
    <div>var days = row["PERIOD_DAYS"];</div>
    <div>var fields = days.split(/;/);</div>
    <div>var days1 = fields[0];</div>
    <div>var days2 = fields[1];</div>
    <div>var days3 =  fields[2];</div>
    <div>var days4 =  fields[3];</div>
    <div> </div>
    <div>var weekdays = [0,0,0,0,0,0,0];</div>
    <div>var weekdaysStr = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];</div>
    <div>var schedule = "";</div>
    <div>for (exp = 37; exp >= 31; exp--) {</div>
    <div>if (days1 - Math.pow(2,exp) >= 0) {</div>
    <div>weekdays[exp-31] = 1;</div>
    <div>days1 = days1 - Math.pow(2, exp);</div>
    <div>}</div>
    <div>if (days2 - Math.pow(2,exp) >= 0) {</div>
    <div>weekdays[exp-31] = 1;</div>
    <div>days2 = days2 - Math.pow(2, exp);</div>
    <div>}</div>
    <div>if (days3 - Math.pow(2,exp) >= 0) {</div>
    <div>weekdays[exp-31] = 1;</div>
    <div>days3 = days3 - Math.pow(2, exp);</div>
    <div>}</div>
    <div>if (days4 - Math.pow(2,exp) >= 0) {</div>
    <div>weekdays[exp-31] = 1;</div>
    <div>days4 = days4 - Math.pow(2, exp);</div>
    <div>}</div>
    <div>}</div>
    <div>for (i = 0; i < 7; i++) {</div>
    <div>if (weekdays == 1) {</div>
    <div>schedule = schedule + (schedule != "" ? "," : "") + weekdaysStr;</div>
    <div>}</div>
    <div>}</div>
    <div>schedule  ;</div>
  • <p>Sorry, I wish I could help you more, but I am tight on time right now.</p>
    <p> </p>
    <p>Maybe someone else in this forum can help.</p>
    <p> </p>
    <p>P.</p>
    Warning No formatter is installed for the format ipb
  • <blockquote class="ipsBlockquote" data-author="yoovrajkhullar" data-cid="145092" data-time="1472157457">
    <div>
    <p> </p>
    <p>Hi P</p>
    <p>i used this code it worked fine.</p>
    <p>(But suddenly i am gettind the error : <span style="color:#ff0000;">TypeError: Cannot find function split in object 4294967296 ??)</span></p>
    <p>i am splitting it beacuse i need to read the period days before and after seperaotor ; in my Period_days value of 197568495616 ; 1073741824</p>
    <p> </p>
    <p> </p>
    <p> </p>
    <div>var days = row["PERIOD_DAYS"];</div>
    <div>var fields = days.split(/;/);</div>
    <div>var days1 = fields[0];</div>
    <div>var days2 = fields[1];</div>
    <div>var days3 =  fields[2];</div>
    <div>var days4 =  fields[3];</div>
    <div> </div>
    <div>var weekdays = [0,0,0,0,0,0,0];</div>
    <div>var weekdaysStr = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];</div>
    <div>var schedule = "";</div>
    <div>for (exp = 37; exp >= 31; exp--) {</div>
    <div>if (days1 - Math.pow(2,exp) >= 0) {</div>
    <div>weekdays[exp-31] = 1;</div>
    <div>days1 = days1 - Math.pow(2, exp);</div>
    <div>}</div>
    <div>if (days2 - Math.pow(2,exp) >= 0) {</div>
    <div>weekdays[exp-31] = 1;</div>
    <div>days2 = days2 - Math.pow(2, exp);</div>
    <div>}</div>
    <div>if (days3 - Math.pow(2,exp) >= 0) {</div>
    <div>weekdays[exp-31] = 1;</div>
    <div>days3 = days3 - Math.pow(2, exp);</div>
    <div>}</div>
    <div>if (days4 - Math.pow(2,exp) >= 0) {</div>
    <div>weekdays[exp-31] = 1;</div>
    <div>days4 = days4 - Math.pow(2, exp);</div>
    <div>}</div>
    <div>}</div>
    <div>for (i = 0; i < 7; i++) {</div>
    <div>if (weekdays == 1) {</div>
    <div>schedule = schedule + (schedule != "" ? "," : "") + weekdaysStr;</div>
    <div>}</div>
    <div>}</div>
    <div>schedule  ;</div>
    <p> </p>
    </div>
    </blockquote>
    <p>Got it</p>
    <p>HAd to change the Period_days to to_char.</p>
    <p>Thanks</p>
  • <p>Hi P,</p>
    <p> </p>
    <p>Thanks for this.</p>
    <p>But for the benefit of others too.</p>
    <p>The calculated Column WeekSchedule can be used to make another calculated column SCHEDULES_RECURRING_JOBS which i wanted   where we can replace anything that is in the SQL Query like this.</p>
    <p>{  row["SCHEDULES_RECURRING_JOBS"].replace('****',row["WeekSchedule"])}</p>
    <p> </p>
    <p>The Query contained SCHEDULES_RECURRING_JOBS like this and i wanted to replace it with WeekSchedule.</p>
    <p> </p>
    <div>(case  when ACSD.PERIOD_DAY_INSTANCE_TYPE = '8' and ACSD.PERIOD_DAY_INSTANCE = '-1' then '****'     </div>
    <div>end  ) AS SCHEDULES_RECURRING_JOBS</div>
    <div> </div>
    <div>What i mean is that i want WeekSchedule Monday, Wednesday etc placed in place of **** in the Query.</div>
    <div>Thanks</div>
    <div>Yoovraj</div>
  • <p>Hi P</p>
    <p> </p>
    <p>Yourself had given useful tips for WeekSchedule.</p>
    <p>But if it is monthly.</p>
    <p>How do  Period_days = 1073741824 become the "Last Day of the month" and </p>
    <p>Period_days = 4294967296 become "The 2nd Day of the month " ??</p>
    <p> </p>
    <p>Please give advice as this will complete this topic on Scheduled Jobs in Actuate IHub</p>
    <p>Thank you so much</p>
    <p>Yoovraj</p>
  • <blockquote class="ipsBlockquote" data-author="pricher" data-cid="144804" data-time="1470253678">
    <div>
    <p>Hi,</p>
    <p> </p>
    <p>As far as I can tell, the information about which day(s) of the week a weekly report is run is in the <span style="font-family:'courier new', courier, monospace;">period_days</span> column. Sunday's value is 2<sup>31, </sup>Monday's is 2<sup>32,</sup> so on and so forth. Multiple days are added together.</p>
    <p> </p>
    <p>Hope this helps,</p>
    <p> </p>
    <p>P.</p>
    </div>
    </blockquote>
    <p>this was for Period_units = 'W' i.e weekly, if Period_units = 'M' i.e Monthly what will be the Period_days values and what will be the corresponding code to calculate the MonthSchedule aka Weekschedule ??</p>
  • <p>Hi PRicher,</p>
    <p> </p>
    <p>Please find time for the code for Monthly too.</p>
    <p>where Period_days = 4294967296 ( 2^32)  is the second day, </p>
    <p>Period_days = 1073741824 (2^30) is the last day.</p>
    <p>Period_days = 1099511627776 (2^40), the 10 th day of the month.</p>
    <p> </p>
    <p>here is the exponential 2 list</p>
    <p><a data-ipb='nomediaparse' href='http://www.tsm-resources.com/alists/pow2.html'>http://www.tsm-resources.com/alists/pow2.html</a></p&gt;
    <p> </p>
    <p>i will appreciate.</p>
    <p>Thanks</p>
    <p>Raj</p>
  • <blockquote class="ipsBlockquote" data-author="yoovrajkhullar" data-cid="145137" data-time="1472576930">
    <div>
    <p>Hi PRicher,</p>
    <p> </p>
    <p>Please find time for the code for Monthly too.</p>
    <p>where Period_days = 4294967296 ( 2^32)  is the second day, </p>
    <p>Period_days = 1073741824 (2^30) is the last day.</p>
    <p>Period_days = 1099511627776 (2^40), the 10 th day of the month.</p>
    <p> </p>
    <p>here is the exponential 2 list</p>
    <p><a data-ipb='nomediaparse' href='http://www.tsm-resources.com/alists/pow2.html'>http://www.tsm-resources.com/alists/pow2.html</a></p&gt;
    <p> </p>
    <p>i will appreciate.</p>
    <p>Thanks</p>
    <p>Raj</p>
    </div>
    </blockquote>
    <p>Hi Thanks P</p>
    <p>But for others too here is the code for calculating monthly Days from the 2 exponential number</p>
    <p> </p>
    <div>var scheduleIntepreter = row["PERIOD_UNITS"];</div>
    <div>var schIntParts = scheduleIntepreter.split(";");</div>
    <div> </div>
    <div>var input = row["PERIOD_DAYS"];</div>
    <div>var parts = input.split(";");</div>
    <div> </div>
    <div>var weekdays = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];</div>
    <div>var weekdaysStr = ["Day 1","Day 2","Day 3","Day 4","Day 5","Day 6","Day 7","Day 8","Day 9","Day 10","Day 11","Day 12","Day 13","Day 14","Day 15","Day 16","Day 17","Day 18","Day 19","Day 20","Day 21","Day 22","Day 23","Day 24","Day 25","Day 26","Day 27","Day 28","Day 30","The Last Day"];</div>
    <div>var schedule = "";</div>
    <div> </div>
    <div>for(var i=0; i<parts.length; i++) {</div>
    <div>    </div>
    <div>if(String(schIntParts) == String("M")) {</div>
    <div>weekdays = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];</div>
    <div> </div>
    <div>for (exp = 60; exp >= 31; exp--) {</div>
    <div>if (parts - Math.pow(2,exp) >= 0) {</div>
    <div>weekdays[exp-31] = 1;</div>
    <div>parts = parts - Math.pow(2, exp);</div>
    <div>}</div>
    <div>}</div>
    <div> </div>
    <div>for(var z=0; z<=weekdays.length; z++) {</div>
    <div>if(weekdays[z] == 1) {</div>
    <div>   schedule = schedule + (schedule != "" ? "," : "")  + weekdaysStr[z];</div>
    <div>   </div>
    <div>}<span> </span></div>
    <div>}</div>
    <div>    }</div>
    <div>}</div>
    <div> schedule ;</div>