Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

Job Profiles

The purpose of this blog is to describe the general concept of job profiles that can be used in conjunction with SAP Interactive Forms by Adobe, its usage from an ABAP application, and a user interface that is available to create new or modify existing job profiles.

General Concept

The Adobe document services (ADS) are used to generate PDF and PDL output formats (e.g. PostScript, PCL) as well as to modify and manipulate interactive PDF documents at runtime (e.g. extract data, apply signatures). The ADS are integrated into SAP's NetWeaver stack; the functionality provided by this component is exposed through the PDF object that is available in the ABAP as well as the Java programming environment.

Various options can be set and operations can be performed by calling methods of the PDF object or using the print function modules provided by the forms processing runtime. Using job profiles it becomes possible to modify requests send to the ADS without changing any coding. This means that instead of changing the application's code, a job profile that has been made available on the server running the ADS, can be referenced.

Technically a job profile is a small XML file that modifies the SOAP request (actually the PDFDocument parameter that is part of this request) before it is executed. Job profiles are available since SAP NetWeaver 7.0 SPS13.

Usage from ABAP

To use job profiles from an ABAP application, the following infrastructure components and methods are available. The feature test provided by the forms processing runtime can be used to check whether job profiles are supported for a specific ADS connection (here: "MY_ADS"):

 DATA lv_connection        TYPE rfcdest,
      lv_feature_available TYPE abap_bool.
lv_connection = ‘MY_ADS'.
lv_feature_available = cl_fp_feature_test=>is_available(
                          iv_connection = lv_connection
                          iv_feature = cl_fp_feature_test=>gc_job_profiles ).

To get a list of all job profiles that are available on an ADS server (here: "MY_ADS"), call the "GET_JOB_PROFILES" method of the PDF object:

 DATA lv_connection  TYPE rfcdest,
      lo_pdf_object  TYPE REF TO if_fp_pdf_object,
      lt_jobprofiles TYPE tfpjobprofile.
lv_connection = ‘MY_ADS'.
lo_pdf_object = cl_fp=>get_reference( )->create_pdf_object(
                  connection = lv_connection ).
lt_jobprofiles = lo_pdf_object->get_job_profiles( ).

To apply a job profile to an ADS call, invoke method "SET_JOB_PROFILE" of the PDF object or (more commonly used) fill the field "JOB_PROFILE" of structure "SFPOUTPUTPARAMS" before invoking function module "FP_JOB_OPEN" and passing this structure as parameter "IE_OUTPUTPARAMS".

User Interface

With SAP NetWeaver 7.1 EhP1 a user interface (UI) for job profiles has been introduced that is outlined in this section. The job profiles UI is part of the NetWeaver Administrator (NWA).

Another simple use case for job profiles is the creation of a secured document. This can be done using the "Permissions" option provided on the "Document" tab of the job profiles UI. When deselecting the "Allow printing" checkbox, PDF documents rendered with this job profile applied will be restricted accordingly.

When opening such a PDF in Adobe Reader, the print button will be disabled.

3 Comments