Skip to main content

Hi

We are currently using IFS Apps 8 and would like to know if it is possible to schedule IFS Order Reports such as the Received - Not Yet Invoiced report as shown below:

 

We are not so much interested in printing or producing the PDF of the report but just to facilitate the population of the REP table which is used for reporting purposes. 

If anyone has experience or know how to achieve this, please could you provide guidance

Many thanks

Shaun

Hi Shaun ( @SHAUN_KERSLAKE )
For APPS8 I would create a PLSQL procedure within a package (you could add it to your IFS_TECH_CONS_UTIL_API if you have one) to emulate running this REP report and then scheduling it via Database Tasks, Scheduled Tasks.

I have included below some sample code, not for your particular REP view but it shouldn’t be too difficult to adapt it:


procedure Print_Inventory_Part_Barcode (
barcode_id_ in varchar2,
contract_ in varchar2,
number_of_copies_ in number default 1,
in_layout_name_ in varchar2 default null,
logical_printer_ in varchar2 default null)
is
printer_id_ varchar2(250);
print_job_attr_ varchar2(200);
report_attr_ varchar2(2000);
parameter_attr_ varchar2(2000);
result_key_ number;
print_job_id_ number;
printer_id_list_ varchar2(32000);

begin
General_SYS.Init_Method(lu_name_, 'Ifs_Tech_Cons_Util_API', 'Print_Inventory_Part_Barcode');
-- Generate a new print job id
logical_printer_api.convert_logical_printer(printer_id_, logical_printer_);
printer_id_ := nvl(printer_id_, printer_connection_api.get_default_printer(fnd_session_api.get_fnd_user, 'INVENTORY_PART_BARCODE_REP'));
client_sys.clear_attr(print_job_attr_);
client_sys.add_to_attr('PRINTER_ID', printer_id_, print_job_attr_);
print_job_api.new(print_job_id_, print_job_attr_);

client_sys.clear_attr(report_attr_);
client_sys.add_to_attr('REPORT_ID', 'INVENTORY_PART_BARCODE_REP', report_attr_);

--Note: Create the report
client_sys.clear_attr(parameter_attr_);
client_sys.add_to_attr('BARCODE_ID', barcode_id_, parameter_attr_);
-- Bug 132558, Added contract to the parameter list to handle the barcode printing logic.
client_sys.add_to_attr('CONTRACT', contract_, parameter_attr_);
client_sys.add_to_attr('NUMBER_OF_COPIES', number_of_copies_, parameter_attr_);
client_sys.add_to_attr('LAYOUT_NAME', in_layout_name_, report_attr_);
archive_api.new_instance(result_key_, report_attr_, parameter_attr_);

--Note: Connect the created report to a print job id
client_sys.clear_attr(print_job_attr_);
client_sys.add_to_attr('PRINT_JOB_ID', print_job_id_, print_job_attr_);
client_sys.add_to_attr('RESULT_KEY', result_key_, print_job_attr_);
print_job_contents_api.new_instance(print_job_attr_);

-- Send the print job to the printer.
logical_printer_api.enumerate_printer_id(printer_id_list_);
if (printer_id_list_ is not null) then
if (print_job_id_ is not null) then
print_job_api.print(print_job_id_);
-- TODO: Investigate alternate method:
--Archive_API.Create_And_Print_Report__(msg_);
end if;
end if;
end Print_Inventory_Part_Barcode;

Replace the REP view name, Layout Name, and the 3 report specific parameters for the ones related to the PURCHASE_RECEIPT_REP(COMPANY, CONTRACT, TO_DATE,PART_TYPE).

If you do not need it printed then ensure it gets routed to the NO_PRINTOUT printer.

PM me if you need further assistance with this.

Cheers,

Pete


Reply