habe die Lösung gefunden ...
SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L4S31 { font-style: italic; color: #808080; } .L4S32 { color: #3399FF; } .L4S33 { color: #4DA619; } .L4S52 { color: #0000FF; } * Setzen der Ausgabeparameter und Öffnen des Spool-Jobs
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
IE_OUTPUTPARAMS = FP_OUTPUTPARAMS
EXCEPTIONS
CANCEL = 1
USAGE_ERROR = 2
SYSTEM_ERROR = 3
INTERNAL_ERROR = 4
OTHERS = 5.
* Name des generierten Funktionsbausteines ermitteln
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
I_NAME = 'ZBM_PDF_SAVE'
IMPORTING
E_FUNCNAME = FM_NAME.
CALL FUNCTION FM_NAME
EXPORTING
/1BCDWB/DOCPARAMS = FP_DOCPARAMS
IMPORTING
/1BCDWB/FORMOUTPUT = FPFORMOUTPUT
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.
* Spool-Job schließen
CALL FUNCTION 'FP_JOB_CLOSE'
EXCEPTIONS
USAGE_ERROR = 1
SYSTEM_ERROR = 2
INTERNAL_ERROR = 3
OTHERS = 4.
***************************************************************************************+
* PDF Speichern.
DATA: L_LEN TYPE I,
L_TAB TYPE TSFIXML,
L_FILENAME TYPE STRING VALUE 'C:\TEMP\ASDF1.pdf'.
DATA : P_DATA TYPE XSTRING.
DATA : P_FILE TYPE LOCALFILE.
P_DATA = FPFORMOUTPUT-PDF.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
BUFFER = P_DATA
IMPORTING
OUTPUT_LENGTH = L_LEN
TABLES
BINARY_TAB = L_TAB.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING
BIN_FILESIZE = L_LEN
FILENAME = L_FILENAME
FILETYPE = 'BIN'
CHANGING
DATA_TAB = L_TAB
EXCEPTIONS
OTHERS = 1.
***************************************************************************
* BCS data
DATA SEND_REQUEST TYPE REF TO CL_BCS.
DATA TEXT TYPE BCSY_TEXT.
DATA DOCUMENT TYPE REF TO CL_DOCUMENT_BCS.
DATA RECIPIENT TYPE REF TO IF_RECIPIENT_BCS.
DATA: BCS_EXCEPTION TYPE REF TO CX_BCS.
DATA SENT_TO_ALL TYPE OS_BOOLEAN.
DATA PDF_CONTENT TYPE SOLIX_TAB.
DATA LP_PDF_SIZE TYPE SO_OBJ_LEN.
DATA : P_EMAIL TYPE AD_SMTPADR VALUE '
Juergen.Witt@Bundesbank.de'.
TRY.
* --------- create persistent send request ---------------------
SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).
* --------- add document ---------------------------------------
* get PDF xstring and convert it to BCS format
LP_PDF_SIZE = XSTRLEN( FPFORMOUTPUT-PDF ).
PDF_CONTENT = CL_DOCUMENT_BCS=>XSTRING_TO_SOLIX(
IP_XSTRING = FPFORMOUTPUT-PDF ).
DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
I_TYPE = 'PDF'
I_HEX = PDF_CONTENT
I_LENGTH = LP_PDF_SIZE
I_SUBJECT = 'WWI = WAS WEISS ICH ...' ). "#EC NOTEXT
* add document to send request
SEND_REQUEST->SET_DOCUMENT( DOCUMENT ).
* --------- add recipient (e-mail address) ---------------------
RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS(
I_ADDRESS_STRING = P_EMAIL ).
* add recipient to send request
SEND_REQUEST->ADD_RECIPIENT( I_RECIPIENT = RECIPIENT ).
* --------- send document --------------------------------------
SENT_TO_ALL = SEND_REQUEST->SEND(
I_WITH_ERROR_SCREEN = 'X' ).
IF SENT_TO_ALL = 'X'.
MESSAGE I022(SO).
ENDIF.
* --------- explicit 'commit work' is mandatory! ---------------
COMMIT WORK.