Adobeforms uses Portable Document Format (PDF) and software from Adobe Systems Inc. that has been integrated into the SAP environment. You can create interactive forms in PDF format that allow users to fill out the form on the screen and save their entries in XML format in the form.
In this blog post i will show you how to call an Adobe Form in a custom program.
I created an AdobeForm Z_ADOBEFORM using transaction SFP with importing parameters Employee personnel Number, Employee Position and Employee Organization Unit.
Source Code:
REPORT Z_RIM_ABASSI. TABLES: PA0001. *-- Data Declaration DATA: GS_PA0001 TYPE PA0001. DATA: GS_OUTPUTPARAMS TYPE SFPOUTPUTPARAMS. DATA: FM_NAME TYPE RS38L_FNAM. DATA: FP_DOCPARAMS TYPE SFPDOCPARAMS. DATA: GS_FORM_OUTPUT TYPE FPFORMOUTPUT. *-- Selection screen SELECTION-SCREEN: BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-001. SELECT-OPTIONS: S_PERNR FOR PA0001-PERNR. PARAMETERS: P_DATE LIKE SY-DATUM. SELECTION-SCREEN: END OF BLOCK A1. *-- Start Of Selection START-OF-SELECTION. *-- Populate Data PERFORM POPULATE_DATA. *-- Call AdobeForm PERFORM CALL_FORM. END-OF-SELECTION. *&---------------------------------------------------------------------* *& Form POPULATE_DATA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM POPULATE_DATA . CLEAR GS_PA0001. SELECT SINGLE * INTO GS_PA0001 FROM PA0001 WHERE PERNR IN S_PERNR AND BEGDA <= P_DATE AND ENDDA >= P_DATE. ENDFORM. " POPULATE_DATA *&---------------------------------------------------------------------* *& Form CALL_FORM *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM CALL_FORM . *-- Call the form GS_OUTPUTPARAMS-NOPREVIEW = ' '. GS_OUTPUTPARAMS-NODIALOG = ' '. CALL FUNCTION 'FP_JOB_OPEN' CHANGING IE_OUTPUTPARAMS = GS_OUTPUTPARAMS EXCEPTIONS CANCEL = 1 USAGE_ERROR = 2 SYSTEM_ERROR = 3 INTERNAL_ERROR = 4 OTHERS = 5. *-- Call form CALL FUNCTION 'FP_FUNCTION_MODULE_NAME' EXPORTING I_NAME = 'Z_ADOBEFORM' IMPORTING E_FUNCNAME = FM_NAME. CALL FUNCTION FM_NAME EXPORTING /1BCDWB/DOCPARAMS = FP_DOCPARAMS PERNR = GS_PA0001-PERNR PLANS = GS_PA0001-PLANS ORGEH = GS_PA0001-ORGEH IMPORTING /1BCDWB/FORMOUTPUT = GS_FORM_OUTPUT EXCEPTIONS USAGE_ERROR = 1 SYSTEM_ERROR = 2 INTERNAL_ERROR = 3 OTHERS = 4. *-- Close form CALL FUNCTION 'FP_JOB_CLOSE' EXCEPTIONS USAGE_ERROR = 1 SYSTEM_ERROR = 2 INTERNAL_ERROR = 3 OTHERS = 4. ENDFORM. " CALL_FORM