Skip to main content
Question

Scheduling of Order Reports

  • September 18, 2020
  • 1 reply
  • 464 views

Forum|alt.badge.img+11

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

1 reply

pwlm
Hero (Partner)
Forum|alt.badge.img+11
  • Hero (Partner)
  • 70 replies
  • September 18, 2020

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


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings