ADOBE FORMS SAP| ADOBE FORMS IN SAP ABAP| ADOBE FORMS

ADOBE FORMS SAP| ADOBE FORMS IN SAP ABAP| ADOBE FORMS

WHAT IS ADOBE FORMS SAP?

ADOBE FORMS SAP

Like as we all know PDF ( Portable Document Format ) is introduced by ADOBE which preserves all the Fonts, Formatting, Graphics and Colors of all source document.  PDF files are compact and can Shared, Viewed, and printed exactly as intended by anyone with Adobe. Here ADOBE Forms SAP comes with combines features which provides the features of PDF and SAP to Business.

PDF Forms provides security options like Digital Signature Validation and PDF is also an open standard means everyone can access the PDF document.

By Combining ADOBE PDF with SAP which ensures the appearance of Forms remain same.

ADOBE FORMS SAP INTRODUCTION.

  • SAP AG got partnership with adobe since 2002.
  • Adobe form technology was introduced under SAP NetWeaver in 2004.
  • Unlike SAP Script and Smartforms this tool strictly separates the data from layout.
  • No ABAP coding is possible under form layouts.
  • Note – 1009567 describes the function differences between SAP Smart Forms and the SAP interactive Forms.
  • NetWeaver AS requires java stack to run the adobe form.
  • An ABAP program Postman (Or other program) makes a SOAP web service call in order to generate the PDF document.

ADOBE FORMS IN SAP ABAP

ABAP Stack is use to run ABAP program and java stack is use to run Adobe forms. ABAP postman program calls the ADS server and then ADS server generate the pdf and going to return back to the ABAP system now pdf generated in ABAP system.

  1. SAP SCRIPT
  2. SMARTFORMS
  3. ADOBE FORMS.

ADOBE FORMS USAGE IN SAP

We can use the Adobe forms or PDF in many required Forms like:

  1. INVOICES
  2. ORDERS
  3. STATEMENTS ( DEBTORS, CREDITORS, SALARY)
  4. CHECKS
  5. DELIVERY NOTES
  6. CUSTOMS FORMS

OBJECTIVE of ADOBE FORMS

  1. It is open standard for the PDF.
  2. Interactive behavior can be achieved with Adobe forms.
  3. It supports two kinds of scripting – 1. Form Calculation and 2. Java Script.
  4. SAP Adobe Forms have interface separately which can be reused.
  5. No smart style or other formatter object is required separately to generate the font. It is inbuilt like MS Word formatting option.
  6. It supports all kind of platform (Window, MAC, Linux etc..).

Transaction Code: SFP (SAP FORMS PROCESS)

To Work with SAP Interactive Forms by Adobe, you need to have-

  1. Adobe Document Service(ADS) – This is integrated with the NetWeaver Java Application Server( Java Stack)
  2. Adobe LiveCycle Designer. – It is like MS Paint where you can design your form.

Process of PDF generation in SAP ABAP, ABAP Stack is use to run ABAP program and JAVA Stack is use to run ADOBE Forms.

ABAP Postman call the ADS Server and then ADS Server generate the PDF and going to return back to the ABAP System now PDF Generated in ABAP System.

image 50

STRUCTURE OF ADBOE FORMS SAP

To create ADOBE FORMS in SAP we have to passes with some phases which are following:

INTERFACE: Interface can be program, global data, local data means where you fetch the data. To get the data in adobe form we will use in context data. We can also say interface that sends the application data to the form for further usage. 
To generate or create Interface we can reached through SE80 or SFP Transaction Code. Interface in Smartforms and PDF are not compatible.
If you select “S Smart Form Compatible Interface” Interface type in Properties tab, the print program for Smartforms can be used for PDF too.

image 51


In ADOBE Forms SAP Interface you can use only TYPE statements. If you are importing or exporting a table then the entire table will be passed. Exceptions can be created and raised in the Interface level.
ADOBE Forms SAP cannot fetch currency information from the data dictionary. So currency information have to be provided at the currency fields at the Interface levels-Currency/Quantity Fields.

Interface Contains:

  1. FORM INTERFACE : In Form Interface we can add the fields and tables for further use in Form. Form Interface Contains
    • IMPORT: To Import the data from drive program for further use in Form same as we did in Smartforms.  The Parameter ‘1BCDWB/DOCPARAMS‘ is common for all Interfaces. It shows by default in Import and its type is SFPDOCPARAMS. It is used to pass the country key, language and other related details while calling the Form through the Standard Function Module.
    • EXPORT: To Export the result to drive program if required. The standard Parameter of Export is ‘/1BCDWB/FORMOUTPUT’ which Type is FPFORMOUTPUT.
    • EXCEPTION: Exception is used for exception handling.
  2. GLOBAL DEFINITIONS : Global definitions belong to the Interface in the Form Builder process. In Global Definitions we have the option of defining our own fields which is used anywhere in the Form. We can initialize the global data before we start Form process. Global DefinItions Contains:
    • GLOBAL DATA: In Global data you can define any data which you need in Form.
    • TYPE: In Type you can define any data type which you required in Form.
    • FIELD SYMBOL: In Field Symbol you can define any Field Symbol.
  3. INITIALIZATION : We can Initialize global data and code before we start process in the form. Initialization Contains:
    • CODE INITIALIZATION: It is an ABAP Editor to write program code which is executed before the form is processed.
    • FORM ROUTINES: Here you can include subroutines or Form Routines which is executed before the from is processed.
  4. CURRENCY/QUANTITY FIELDS: In the ABAP Dictionary we can assign currency or quantity field to a table field. In the output of these fields system can then insert the relevant currency unit. If the value field is in the same table as the corresponding currency or quantity field, system recognizes the reference automatically and formats the value field according to the currency unit in the assigned field. If the value field is in a different table from the currency or quantity field the system cannot recognize this reference automatically.
image 54
image 55

CONTEXT: A form Context which contains the form logic and this logic controls the dynamic formatting of the form. In the Form Context you have to specify which data is copied or used from the Interface in the form.

image 53
  1. PROPERTIES IN CONTEXT: When your double click the node of Context the Properties Tab open in below of screen. Here we can change general properties such as the name or description of the node, and we can set the node as Active or Inactive. Only active nodes are forwarded to the layout in the Form Builder, and then used in the form output. Depending on the chosen node, system also displays additional specific properties as well as the general properties.
  2. CONDITIONS IN CONTEXT: We can define conditions for individuals. We can define conditions using logical relationships.

LAYOUT: Layout in which you will define how the output data is positioned or displayed, appearance of graphics, and the design of the pages basically complete formatting and designing of Form done in Layout. Form Interfaces and Form Contexts with Layout are called as form objects. An Interface can be used in multiple forms. We can create the body and master pages for the form design in the layout editor. We can also view and edit the form design and preview the form in PDF. The Layout Editor contains 4 tabs:

  1. Body Pages.
  2. Master Pages.
  3. XML Source.
  4. PDF Preview.
image 52

To use Layout in SAP system you must need to install ADOBE LIVECYCLE DESIGNER in Local System.

WHAT IS IN ADOBE FORMS SAP DESIGN?

Following key components are use to design Form:

  1. Master Pages: Every form design contains at least one master page which is created automatically by Live Cycle Designer. Master pages define the dimensions of body pages. Master pages are responsible for formatting body pages. Master pages provide a background and layout format for more than one body pages. 
  2. Body Pages: Body pages represent the pages of a form which we want in output. Each body page derives its page size from the master page. Each body page is assign with the default master page. We can choose any master page to assign body page.
  3. Content Area: Content areas define where objects can be placed on body pages. When we design a form we cannot place an object into a body page unless it is inside the area available by a content area. We can add content areas to master pages only.
  4. Subforms: Subforms are container objects that we can use to group form design objects including: fields, address, images etc. A Subforms provides anchoring, layout, and geometry management for objects. We can also configure Subforms objects to be repeatable.
  5. Fields: In layout we required number of field objects that are capable of capturing, and displaying data like
    • Button
    • Check Box
    • Drop Down List
    • Text Field
    • List Box
  6. Boilerplate Objects: Boilerplate objects are read-only objects that improve the elegance of a form and may provide context or assistance for users. They can be added in body pages or master pages. The some following objects are boilerplate objects:
    • Circle
    • Images
    • Lines
    • Rectangles
    • Text 

PALETTES IN LAYOUT OF SAP ADOBE FORMS

Palettes is just like a tab available for easy access of tools. In the Palettes have one or more tabs, each tab has own properties and purpose. We have different different Palettes availables are:

  1. Hierarchy Palette
  2. Data View Palette
  3. Library Palette
  4. Object Palette
  5. Border Palette
  6. Accessibility Palette
  7. Layout Palette

SAP ABAP PROGRAM FOR SAP ADOBE FORMS

We have to involved 5 basic steps in our ABAP Program to get Adobe Forms which are:

  1. Data retrieve in the drive program which we earlier did.
  2. Call Function ‘FP_FUNCTION _MODULE_NAME‘ which is used to generate the function module name same as Smartforms.
  3. Call Function ‘FP_JOB_OPEN‘.
  4. Call Function which is generated of our Form.
  5. Call Function ‘FP_JOB_CLOSE’.
image 56
FORM print_form.

  DATA: ls_outputparams TYPE sfpoutputparams.
  DATA: lv_funcname TYPE funcname.

  CALL FUNCTION 'FP_JOB_OPEN'
    CHANGING
      ie_outputparams = ls_outputparams
    EXCEPTIONS
      cancel          = 1
      usage_error     = 2
      system_error    = 3
      internal_error  = 4
      OTHERS          = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

data: fname type FPNAME.
if gs_header-bukrs eq '2038'.
  fname =  'ZSD_SALES_ORDER_DUBAI'.
else.
  fname = 'ZSD_SALES_ORDER'.
endif.

  CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
    EXPORTING
      i_name     =  fname " 'ZSD_SALES_ORDER'
    IMPORTING
      e_funcname = lv_funcname.

  CALL FUNCTION lv_funcname
    EXPORTING
      gs_header      = gs_header
      it_item        = it_item
    EXCEPTIONS
      usage_error    = 1
      system_error   = 2
      internal_error = 3
      OTHERS         = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  CALL FUNCTION 'FP_JOB_CLOSE'
    EXCEPTIONS
      usage_error    = 1
      system_error   = 2
      internal_error = 3
      OTHERS         = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

ENDFORM.                    " PRINT_FORM

You may also check:

For the next blog please connect with us and follow us on twitter.com/einfonett

Leave a Comment