Skip to main content
Question

Crystal Report printed with empty layout in Apps10

  • March 19, 2026
  • 0 replies
  • 0 views

Forum|alt.badge.img+8

Hi,

Did any of you face the below situation?

In APPS10, we have an Order Report that uses a Crystal layout instead of rdl. When I print it from the application, it gets printed with the values but when I do the same from the backend using script or from an event, it is printing the layout structure without values in it.

 

This is the code I am using:
 

DECLARE
   in_msg_           VARCHAR2(32000);
   event_            VARCHAR2(50);
   report_attr_      VARCHAR2(32000);
   message_attr_     VARCHAR2(32000);
   parameter_attr_   VARCHAR2(32000);
   archiving_attr_   VARCHAR2(32000);
   report_id_        VARCHAR2(50);
   mail_             VARCHAR2(100);
   wo_no_             NUMBER;
   fnd_user_         VARCHAR2(30)         := Fnd_Session_API.Get_Fnd_User;
   field_separator_  CONSTANT VARCHAR2(1) := Client_SYS.field_separator_;
BEGIN
   event_     := 'XYZ';
   report_id_ := 'ACTIVE_SEP_WO_PRINT_REP';

   Client_SYS.Clear_Attr(report_attr_);
   Client_SYS.Clear_Attr(parameter_attr_);
   Client_SYS.Add_To_Attr('WO_NO_LIST', wo_no_ || ';', parameter_attr_);
   Client_SYS.Set_Item_Value('LAYOUT_NAME', 'ACTIVE_SEP_WO_PRINT_REP_XYZ.rpt', report_attr_);

   Client_SYS.Add_To_Attr('REPORT_ID', report_id_,  report_attr_);
   Client_SYS.Add_To_Attr('LU_NAME', 'ActiveSeparate',  report_attr_);
   Client_SYS.Set_Item_Value('LANG_CODE', Fnd_Session_API.Get_Language, report_attr_);

   Client_SYS.Clear_Attr(message_attr_);
   Client_SYS.Add_To_Attr('MESSAGE_TYPE', 'NONE', message_attr_);
   Client_SYS.Set_Item_Value('PRINTER_ID', 'PDF_PRINTER', message_attr_);

   Client_SYS.Clear_Attr(archiving_attr_);
   Client_SYS.Add_To_Attr('PDF_ARCHIVING', Fnd_Boolean_API.DB_TRUE, archiving_attr_);
   Client_SYS.Add_To_Attr('PDF_EVENT_PARAM_1', event_, archiving_attr_);
   Client_SYS.Add_To_Attr('PDF_EVENT_PARAM_2', wo_no_, archiving_attr_);
   Client_SYS.Add_To_Attr('PDF_FILE_NAME', 'Service Maintenance Report_' || wo_no_, archiving_attr_);

   Message_SYS.Add_Attribute(in_msg_, 'REPORT_ATTR', report_attr_);
   Message_SYS.Add_Attribute(in_msg_, 'PARAMETER_ATTR', parameter_attr_);
   Message_SYS.Add_Attribute(in_msg_, 'MESSAGE_ATTR', message_attr_);
   Message_SYS.Add_Attribute(in_msg_, 'ARCHIVING_ATTR', archiving_attr_);
   Message_SYS.Add_Attribute(in_msg_, 'DISTRIBUTION_LIST', fnd_user_|| field_separator_);

   --This will create the PDF and call the PDF_REPORT_CREATED event.
   Archive_API.Create_And_Print_Report__(in_msg_);
END;

This works fine for rdls.