Skip to main content
Question

Documentation for the parameters in the PDF_REPORT_CREATED event


Forum|alt.badge.img+14

Hi all,

I am trying to activate an event action that send the report “Customer Statement of Account” to the customers email address. But I am having a hard time getting it to work. All the parameters starting with pdf_ are blank.

 

Is there any documentation for the parameters?

This topic has been closed for comments

11 replies

Imal Thiunuwan
Superhero (Employee)
Forum|alt.badge.img+16
  • Superhero (Employee)
  • 117 replies
  • June 10, 2021

Hello @Hans Andersen ,

Have you checked the F1documentation page which I have attached below as a document?

 

Cheers!


Forum|alt.badge.img+14
  • Author
  • Hero (Partner)
  • 241 replies
  • June 10, 2021

@Imal Thiunuwan ,

Yes I have. 

To my understanding, the pdf parameters are set through application code (most be IEE in this case). I therefore presumed that some of them had values. They are all empty.

I probably overlooksomething obvious.


Imal Thiunuwan
Superhero (Employee)
Forum|alt.badge.img+16
  • Superhero (Employee)
  • 117 replies
  • June 10, 2021

Hello @Hans Andersen ,

 

Yes, the pdf_parameters are set by the code.  The thing is that you will have to create separate event actions for each report that you want to send emails. You can change the values for the conditions by using the “Conditions for performing this action” option. Also, the parameter values can be assigned as mentioned in the F1Doc like below.

Defining default values for event parameters of the above PDF_REPORT_CREATED event can be done in Report Definition file (.rdf) of each report. Default values for PDF_PARAMETER_1 to PDF_PARAMETER_10 can be defined this way using interface in PdfReportEventParam logical unit.

You can set values as per your choice by using the above mentioned method or add conditions as mentioned in the f1 documentation.

Hope this helps.

Cheers!


Forum|alt.badge.img+14
  • Author
  • Hero (Partner)
  • 241 replies
  • June 10, 2021

@Imal Thiunuwan, Thanks for your replay.

I did look at this. I can do this:

pdf_report_event_param_api.New_Parameter('CUST_STMT_ACCT_REP', 'PDF_PARAMETER_1', 'STRING', 'mail@company.dk');

But that is default value. For each customer, I need a different email. 

 


Imal Thiunuwan
Superhero (Employee)
Forum|alt.badge.img+16
  • Superhero (Employee)
  • 117 replies
  • June 10, 2021

Hello @Hans Andersen ,

Thank you for the information. Could you please check below community post? Not sure if it answers your question. But worth to check it.

Also you can use a cursor with custom logic like below to get the emails and use PDF_REPORT_CREATED event to send out the pdf file.

DECLARE

  email_ VARCHAR2(200);

  CURSOR get_email IS
    SELECT email 
    FROM <...> 
    WHERE <...>;

BEGIN
  
IF <validation to run for the desired report>
  OPEN get_email;
  FETCH get_email
    INTO email_;
  CLOSE get_email;

  command_sys.mail(<from_user>,
                   email_,
                   <subject>,
                   <text>,
                   attach_ => '&PDF_FILE');
                   
END IF;
END;

=========================================================================

Also, Following is a code sample how to set event params in PDF_REPORT_CREATED event

DECLARE
send_pdf_info_ VARCHAR2(4000);
BEGIN

send_pdf_info_ := Message_SYS.Construct('PDF');
Message_SYS.Add_Attribute(send_pdf_info_, 'PDF_EVENT_PARAM_1',CUSTOMER_EMAIL);
...
Client_SYS.Add_To_Attr('SETTINGS', send_pdf_info_, print_job_attr_);
Print_Job_API.New(print_job_id_, print_job_attr_);

END;

 

Now you should be able to access the email from PDF_PARAMETER_1 of the event.

Cheers!


Forum|alt.badge.img+14
  • Author
  • Hero (Partner)
  • 241 replies
  • June 10, 2021

@Imal Thiunuwan

Thanks for the link. Unfortunate, this is when there IS data in a pdf_parameter. In our case they are all empty.

We might have to do some coding as you suggest. It just puzzles me that it should be necessary. I have a feeling that something is wrong in our setup.


Forum|alt.badge.img+15
  • 276 replies
  • August 2, 2021

Hello @Hans Andersen,

I’m also having the same problem, were you able to solve this issue ?

 

Thank you.


Forum|alt.badge.img+14
  • Author
  • Hero (Partner)
  • 241 replies
  • August 2, 2021

Sort of..

I could not find a way to alter the content of the e-mail generated by “order report” or prevent it from sending the email.

Instead I made an event that sends out one more email to the customer. The results is that the employed ordering the report will receive 2 emails. The standard email from the system and a copy of the email going to the customer (this way the employee can see that the email was actually send to the customer.)

The code is a little complex, but here it is. Fill free to use it or ask questions. 

 

declare

  print_job_id_            number;
  settings_                  varchar(32000);
  send_pdf_to_          varchar2(2000);
  xml_                         clob;
  x_                            xmltype;
  customer_id_           varchar2(2000);
  to_user_name_       varchar2(2000);
  from_user_name_   varchar2(2000);
  subject_                  varchar2(32000);
  text_                       varchar2(32000);
  lang_                       varchar2(10);

begin

select  '&PRINT_JOB_ID' into print_job_id_ from dual;

select job.settings into settings_  from print_job job where job.print_job_id=print_job_id_;

Message_Sys.Get_Attribute(settings_, 'SEND_PDF_TO', send_pdf_to_);

 select x.data into xml_ from  xml_report_data x where x.result_key= '&RESULT_KEY';

 x_:= xmltype.createxml(xml_);

 select extractvalue(x_, '/CUST_STMT_ACCT_REP/CUSTOMERS/CUSTOMER/CUSTOMER_NO') into customer_id_ from dual;

  select listagg(distinct value, ';') within group (order by value) into to_user_name_ from
  (
    select value
    from customer_info_contact_cfv con inner join person_info_comm_method2 m on con.person_id = m.identity 
    where con.customer_id=customer_id_ and m.method_id_db= 'E_MAIL' and con.cf$_receive_account_state_db= 'TRUE'
    union
    select value
    from COMM_METHOD_cfv c where c.identity =customer_id_ and c.PARTY_TYPE_DB='CUSTOMER' and c.method_id_db= 'E_MAIL' and c.cf$_receive_account_state_db= 'TRUE'
  ) t;

  if  (to_user_name_!=';') then
    to_user_name_:= to_user_name_ ||';'|| send_pdf_to_;

     select customer_info_api.Get_Default_Language_Db(customer_id_) into lang_ from dual;

   if (lang_= 'da') then
       subject_   := 'Kontoudtog';
       text_        := 'Vedhæftet fremsendes seneste kontoudtog. Spørgsmål bedes rettet til undertegnede.' ||chr(10)||chr(13);
       text_        := text_ || 'Merethe Hviid Bonde' ||chr(10);
       text_       := text_ || 'Regnskabsassistent' ||chr(10);
       text_       := text_ || '25 66 00 60' ||chr(10);
       text_       := text_ || 'mhb@induflex.dk' ||chr(10)||chr(13)||chr(10)||chr(13);
       text_       := text_ || 'Venlig hilsen' ||chr(10)||chr(13);
       text_       := text_ || 'Induflex A/S' ||chr(9)||chr(9);
       text_       := text_ || '98 37 19 88' ||chr(10);
       text_       := text_ || 'Hagensvej 25' ||chr(9)||chr(9);
       text_       := text_ || 'induflex@induflex.dk' ||chr(10);
       text_       := text_ || '9530 Støvring' ||chr(9)||chr(9);
       text_       := text_ || 'induflex.dk';
    else
      subject_   := 'Statement of Account';
       text_      := 'Statement of Account attached. Questions can be addressed to:' ||chr(10)||chr(13);
       text_      := text_ || 'Merethe Hviid Bonde' ||chr(10);
       text_       := text_ || 'Accounting Assistant' ||chr(10);
       text_       := text_ || '+45 25 66 00 60' ||chr(10);
       text_       := text_ || 'mhb@induflex.dk' ||chr(10)||chr(13)||chr(10)||chr(13);
       text_       := text_ || 'Best regards' ||chr(10)||chr(13);
       text_       := text_ || 'Induflex A/S' ||chr(9)||chr(9);
       text_       := text_ || '+45 98 37 19 88' ||chr(10);
       text_       := text_ || 'Hagensvej 25' ||chr(9)||chr(9);
       text_       := text_ || 'induflex@induflex.dk' ||chr(10);
       text_       := text_ || '9530 Støvring' ||chr(9)||chr(9);
       text_       := text_ || 'induflex.dk' ||chr(10);  
       text_       := text_ || 'Denmark';  
    end if;

    Command_SYS.Mail
    (
       from_user_name_ => from_user_name_,
       to_user_name_   => to_user_name_,
       text_           =>  text_,
       subject_        =>  subject_ ,
       attach_         =>  '&PDF_FILE'
    );
 end if;

end;

 


Forum|alt.badge.img+15
  • 276 replies
  • August 2, 2021

@Hans Andersen 

Thank you for sharing the code.

I will try this :slight_smile:

 

Thank you again.


Forum|alt.badge.img+8
  • Sidekick (Customer)
  • 64 replies
  • January 13, 2022

@Imal Thiunuwan 

Thank you so much for the code above

It works for PDF_PARAM_1 but for some reason not for PARAM 5 and 6.

send_pdf_info_ := Message_SYS.Construct('PDF');

Message_SYS.Add_Attribute(send_pdf_info_, 'PDF_EVENT_PARAM_1','&VENDOR_MAIL_ADDRESS');
Message_SYS.Add_Attribute(send_pdf_info_, 'PDF_EVENT_PARAM_5','&BUYER_MAIL_ADDRESS');
Message_SYS.Add_Attribute(send_pdf_info_, 'PDF_EVENT_PARAM_6','&ORDER_NO');
 

best regards

Dominik


Forum|alt.badge.img+8
  • Sidekick (Customer)
  • 64 replies
  • January 14, 2022
dominikdurrer wrote:

@Imal Thiunuwan

Thank you so much for the code above

It works for PDF_PARAM_1 but for some reason not for PARAM 5 and 6.

send_pdf_info_ := Message_SYS.Construct('PDF');

Message_SYS.Add_Attribute(send_pdf_info_, 'PDF_EVENT_PARAM_1','&VENDOR_MAIL_ADDRESS');
Message_SYS.Add_Attribute(send_pdf_info_, 'PDF_EVENT_PARAM_5','&BUYER_MAIL_ADDRESS');
Message_SYS.Add_Attribute(send_pdf_info_, 'PDF_EVENT_PARAM_6','&ORDER_NO');
 

best regards

Dominik

This above was not working at all, not just for PARAM_1 but all PARAMETERS. it did not pass on any values to the PDF_REPORT_CREATED event. 


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