As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
We have a front end application to get the inputs from the customers and submit a schedule to the ReportCaster using ReportCaster APIs. We are also providing options to the customers to edit the already entered schedule details, say if a report is scheduled to run on a daily basis for 5 days and after 3 days if the customer edit the same scheduled request and change the frequency to run it on every week. Is there any way to edit the same schedule that was entered already and changing only the frequency.
Suggestion from senior techie is that, this sounds like an issue to be reported to Information Builders' Customer Support Services. Please submit a new case for further research/troubleshooting. You may either call at 1-800-736-6130, or access the online system InfoResponse. Here is a list of information to be ready when you call: http://techsupport.ibi.com/before_you_call.jsp.
Hope this helps.
Cheers,
Kerry
Kerry Zhan Focal Point Moderator Information Builders, Inc.
Posts: 1948 | Location: New York | Registered: November 16, 2004
I have some java code at another location that does this. It only works in 7.13. If you believe that it would be helpful then send me a private message to remind me to send it to you.
Ok, Here we go. It's long and you will see that it is built as servlet that requires plenty of parms. I have tried to shorten it. Sorry if I missed any functions. Premise is connect to caster, find the schedule by id, modify it using api functions and then save it.
// Create an EMail Distribution public DistributionEmail createEMailDist () throws ResourceException { String emailFrom = m_request.getParameter("IBIB_email"); String mailSubject = m_request.getParameter("IBIB_mailsubject"); String inlineMessage = m_request.getParameter("IBIB_inlineMessage"); String zipFileName = m_request.getParameter("IBIB_zipFileName");
DistributionEmail distribution = new DistributionEmail(); distribution.setMailReplyAddress(emailFrom); distribution.setInlineMessage(inlineMessage); distribution.setInlineTaskIndex(0); distribution.setMailFrom(emailFrom); distribution.setMailServerName(mailServerName); distribution.setMailSubject(mailSubject); distribution.setSendingReportAsAttachment(true); distribution.setZipFileName(zipFileName);
return distribution; }
// Create a FTP distribution public DistributionFTP createFTP() { String ftpuser = m_request.getParameter("IBIB_ftpUser"); String ftppass = m_request.getParameter("IBIB_ftpPass"); String ftploc = m_request.getParameter("IBIB_ftpLocation"); String ftpserv = m_request.getParameter("IBIB_ftpServer"); String ftpindexFile = m_request.getParameter("IBIB_ftpIndex");
DistributionFTP distribution = new DistributionFTP(); distribution.setFtpLocation(ftploc); distribution.setFtpServerName(ftpserv); distribution.setFtpUserName(ftpuser); distribution.setFtpPassword(ftppass); distribution.setIndexFile(ftpindexFile);
return distribution; }
// Create a library Distribution public StorageLibrary createLibDist () throws ResourceException { StorageLibrary distribution = new StorageLibrary(); String category = m_request.getParameter("IBIB_category"); distribution.setCategory(category);
// Create the destination and the Address Book public Destination createDest () throws ResourceException { String bookName = m_request.getParameter("IBIB_jobdesc"); Destination destination = new Destination();
// Create Month TimeInfo public TimeInfoMonth createTmInfoMonth (TimeInfoMonth tm, boolean isNew) { TimeInfoMonth timeInfo; if (isNew) { timeInfo = new TimeInfoMonth(); } else timeInfo = tm;
fillDate (timeInfo, isNew); fillOften (timeInfo, isNew); if (!isNew) return timeInfo;
// Get the days of the month boolean[] days = new boolean[31]; for (int i=0; i<31; i++) { String cDay = null; cDay = m_request.getParameter("IBIB_day_" + (i + 1)); if ((cDay != null) && (cDay.equals("on"))) days[i] = true; else days[i] = false; }
// Loop thru all of the input parameters while (parms.hasMoreElements()) { pname = (String) parms.nextElement(); if ((pname.length() >= 4) && (pname.substring(0, 4).equals( "IBIB"))) continue;
String pval = m_request.getParameter(pname);
Parameter parameter = new Parameter(); parameter.setName(pname); parameter.setValue(pval); parmvec.addElement(parameter); }
// Transfer the extra parameters to an array Parameter[] pList = new Parameter[parmvec.size()]; for (int j = 0; j < parmvec.size[); j++) { pList[j] = (Parameter) parmvec.elementAt(j); }
return pList; }
// Get the time public String getTime(TimeInfo tm) { String sMin, sHour;
Calendar cal = tm.getStartTime();
int Min = cal.get(java.util.Calendar.MINUTE); int Hour = cal.get(java.util.Calendar.HOUR); int AMPM = cal.get(java.util.Calendar.AM_PM);
// Get the day public String getDay(TimeInfo tm) { Calendar cal = tm.getStartTime();
int Month = cal.get(java.util.Calendar.MONTH) + 1; int Day = cal.get(java.util.Calendar.DAY_OF_MONTH); int Year = cal.get(java.util.Calendar.YEAR); String sMonth, sDay;
// Create the address book and list public AddrBook getAddress(Destination destination, boolean isNew) { AddressBookManager abmanager = con.getAddressBookManager(); AddrBook addrBook = null; DestinationElement[] dList; int i, j;
if (isNew) { String bookName = m_request.getParameter("IBIB_jobdesc");
addrBook = new AddrBook(); addrBook.setBookName(bookName); addrBook.setAccess(ibi.broker.api.data.addrbook.AddrBook.PRIVATE); addrBook.setMethod(ibi.broker.api.data.schedule.Distribution.EMAIL); addrBook.setOwner(user);
// Set into addrBook new DestinationElement List with new destinationElement String [] sendnum = m_request.getParameterValues("IBIB_distList"); j = 0; if (sendnum != null) j = sendnum.length; dList = new DestinationElement[j];
for (i = 0; i < j; i++) { DestinationElement distelement = new DestinationElement(); distelement.setBurstValue(i + ""); distelement.setLocation(sendnum[i]); dList[i] = distelement; }
dList = addrBook.getDestinationList(); if (dList != null) j = dList.length; for (i=0; i fillItem("IBIB_distList", dList[i].getLocation(), dList[i].getLocation()); }
return addrBook; } }
// Create the access list public LibraryAccessBook getAccess(StorageLibrary libdist, boolean isNew) { LibraryAccessManager acmanager = con.getLibraryAccessManager(); LibraryAccessBook book = null; AccessElement[] aList; int i, j;
book = new LibraryAccessBook(); book.setName(bookName); book.setDescription(bookName); book.setOwner(user); libdist.setAccessList(bookName);
// Set into the accesss Book a new AccessElement List with new AccessElements String [] sendnum = m_request.getParameterValues("IBIB_libsendTo"); j = 0; if (sendnum != null) j = sendnum.length; aList = new AccessElement[j]; for (i = 0; i < j; i++) { AccessElement aelement = new AccessElement(); aelement.setBurstValue(i + ""); aelement.setMemberType("U"); aelement.setMemberName(sendnum[i]); aList[i] = aelement; } book.setAccessElementList(aList);
j = 0; aList = book.getAccessElementList(); if (aList != null) j = aList.length; for (i=0; i fillItem("IBIB_libsendTo", aList[i].getMemberName(), aList[i].getMemberName()); } }
return book; }
// Retrieve the value of often public int getOften (TimeInfoMinute timeInfo, boolean isNew) { if (isNew) { return (getOften()); }
return timeInfo.getFrequency(); }
// Retrieve the value of often public int getOften (TimeInfoMonth timeInfo, boolean isNew) { if (isNew) { return (getOften()); }
return timeInfo.getFrequency(); }
// Retrieve the value of often public int getOften (TimeInfoDay timeInfo, boolean isNew) { if (isNew) { return (getOften()); }
return timeInfo.getFrequency(); }
// Retrieve the value of often public int getOften () { String frequency = m_request.getParameter("IBIB_often"); java.lang.Integer tfrequency = new java.lang.Integer(frequency); int ifrequency = tfrequency.intValue();
return (ifrequency); }
// Fill the task with general info public void fillTask (TaskWFServerProcedure task) { String fex, format, domain, folder;
fex = m_request.getParameter("IBIB_fex"); format = m_request.getParameter("IBIB_format"); task.setProcedureName(fex); task.setSendFormat(format); task.setDescription("task1"); task.setReportName("ereport");
// Fill often public void fillOften (TimeInfoMinute tm, boolean isNew) { tm.setFrequency(getOften (tm, isNew)); }
// Fill often public void fillOften (TimeInfoMonth tm, boolean isNew) { tm.setFrequency(getOften (tm, isNew)); }
// Fill often public void fillOften (TimeInfoDay tm, boolean isNew) { tm.setFrequency(getOften (tm, isNew)); }
// Fill in date public void fillDate (TimeInfo tm, boolean isNew) { GregorianCalendar cDateTime = null; if (isNew) cDateTime = createDate ("IBIB_startdate", "IBIB_starttime"); else cDateTime = (GregorianCalendar) schedule.getTimeInfo().getStartTime();
tm.setStartTime(cDateTime); }
// Tell it to fill an item public void fillItem(String obj, String item, String value) { out.println("doFill(\"" + obj + "\",\"" + item + "\", \"" + value + "\");"); }
// Tell it to fill an item public void fillItem(String obj, String item, String value, boolean var) { out.println("doFill(\"" + obj + "\",\"" + item + "\", " + value + ");"); }
// Fill in the days public void fillDays(TimeInfoMinute tm) { if (tm.isMonday()) fillItem("IBIB_weekdays_1", "", "true"); if (tm.isTuesday()) fillItem("IBIB_weekdays_2", "", "true"); if (tm.isWednesday()) fillItem("IBIB_weekdays_3", "", "true"); if (tm.isThursday()) fillItem("IBIB_weekdays_4", "", "true"); if (tm.isFriday()) fillItem("IBIB_weekdays_5", "", "true"); if (tm.isSaturday()) fillItem("IBIB_weekdays_6", "", "true"); if (tm.isSunday()) fillItem("IBIB_weekdays_7", "", "true"); }