SAP Reports / Programs

SSF01 SAP ABAP Report - SSF Test Program







SSF01 is a standard Executable ABAP Report available within your SAP system (depending on your version and release level). Below is the basic information available for this SAP report including which OBJECTS it interacts with such as TABLES, FUNCTION MODULES, INCLUDES ETC. Also check out the submitted Comments related to this SAP report or see any standard documentation available.

If you would like to execute this report or see the full code listing simply enter SSF01 into the relevant SAP transactions such as SE38 or SE80


ABAP code to call this SAP report using the submit statement

This report can be called from another progam/report simply by using the ABAP SUBMIT statement, see below for example ABAP code snipts of how to do this.






SUBMIT SSF01. "Basic submit
SUBMIT SSF01 AND RETURN. "Return to original report after report execution complete
SUBMIT SSF01 VIA SELECTION-SCREEN. "Display selection screen of submitted report to user
    See more syntax options for the ABAP SUBMIT statement


Text pool values


Selection Text: ADDSIGN = Add signature
Selection Text: ALLTESTS = Combine multiple tests
Selection Text: DETACHED = Without OriginalData(detached)
Selection Text: DEVELOPE = Develope
Selection Text: DIGEST = Calculate hash value
Selection Text: ENVELOPE = Envelope
Selection Text: HASHALG = Hash algorithm
Selection Text: IMMEDIAT = Execute immediately
Selection Text: INC_CERT = Include certificate
Selection Text: INPUT = Input data
Selection Text: IN_ENC = Encode input data
Selection Text: OUTPUT = Output data
Selection Text: OUT_DEC = Decode output data
Selection Text: PAB_PWD = PAB password
Selection Text: PAB_REC = PAB
Selection Text: PCDWNLD = From local PC
Selection Text: PCUPLOAD = From local PC
Selection Text: PCVELOAD = From local PC
Selection Text: PROPERTY = Determine properties
Selection Text: SIGN = Signing
Selection Text: SIG_ID = ID
Selection Text: SIG_PROF = SSF Profile
Selection Text: SIG_PWD = Password
Selection Text: SSF_DEST = RFC destination
Selection Text: TOOLKIT = Security product (only AS)
Selection Text: VERIFY = Verify
Selection Text: VERSION = Determine version
Selection Text: VER_DATA = Comparison data
Selection Text: WRAPPER = SSF format
Title: SSF Test Program
Text Symbol: 058 = Additional operation
Text Symbol: 057 = @07@ Develope
Text Symbol: 056 = @06@ Envelope
Text Symbol: 055 = @5G@ Hash alg.
Text Symbol: 001 = File name:
Text Symbol: 002 = Length of file in bytes:
Text Symbol: 003 = Input data:
Text Symbol: 004 = Output data:





Text Symbol: 005 = Results of the digital signature check:
Text Symbol: 006 = Results for recipients:
Text Symbol: 007 = User profile (sign and develope)
Text Symbol: 008 = Recipient:
Text Symbol: 009 = Comparison data:
Text Symbol: 010 = Private address book (verify and envelope)
Text Symbol: 011 = Address Book for Signatory:
Text Symbol: 012 = Results for the signatory:
Text Symbol: 013 = Version information:
Text Symbol: 014 = Function selection:
Text Symbol: 015 = RFC destination:
Text Symbol: 016 = Options:
Text Symbol: 017 = Hash algorithm:
Text Symbol: 018 = Develope for:
Text Symbol: 019 = Test result for SSF operation:
Text Symbol: 020 = Test result for signatory/recipient:
Text Symbol: 021 = Test case label:
Text Symbol: 022 = Input and output file
Text Symbol: 023 = This is a sample text
Text Symbol: 024 = Further options
Text Symbol: 025 = (on application server)
Text Symbol: 026 = RFC target:
Text Symbol: 027 = All tests ran without errors
Text Symbol: 028 = Error Occurred
Text Symbol: 050 = Version
Text Symbol: 051 = Attributes
Text Symbol: 052 = @0O@ Sign
Text Symbol: 053 = @0P@ Verify
Text Symbol: 054 = @0Q@ Add. signatures


INCLUDES used within this REPORT SSF01

INCLUDE SSFCONST.


TABLES used within REPORT and the associated SELECT statement:

No SAP DATABASE tables are accessed within this REPORT code!


Function Modules used within report and the associated call statement:

AUTHORITY_CHECK_TCODE CALL FUNCTION 'AUTHORITY_CHECK_TCODE' EXPORTING TCODE = 'PSEMAINT' EXCEPTIONS OK = 0 NOT_OK = 1 OTHERS = 2.

KD_GET_FILENAME_ON_F4 * CALL FUNCTION 'KD_GET_FILENAME_ON_F4' * EXPORTING * STATIC = 'X' * CHANGING * FILE_NAME = INPUT.

KD_GET_FILENAME_ON_F4 * CALL FUNCTION 'KD_GET_FILENAME_ON_F4' * EXPORTING * STATIC = 'X' * CHANGING * FILE_NAME = VER_DATA.

KD_GET_FILENAME_ON_F4





* CALL FUNCTION 'KD_GET_FILENAME_ON_F4' * EXPORTING * STATIC = 'X' * CHANGING * FILE_NAME = OUTPUT.

AUTHORITY_CHECK_TCODE CALL FUNCTION 'AUTHORITY_CHECK_TCODE' EXPORTING TCODE = 'PSEMAINT' EXCEPTIONS OK = 0 NOT_OK = 1 OTHERS = 2.

SSF_KRN_SIGN CALL FUNCTION 'SSF_KRN_SIGN' EXPORTING SSFTOOLKIT = TOOLKIT STR_FORMAT = WRAPPER B_INC_CERTS = INC_CERT B_DETACHED = DETACHED B_INENC = IN_ENC IO_SPEC = IO_SPEC OSTR_INPUT_DATA_L = PARAMS-INDATALEN STR_HASHALG = HASHALG IMPORTING OSTR_SIGNED_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_INPUT_DATA = IN_DATA_TABLE SIGNER = SIGNER OSTR_SIGNED_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_KRN_ERROR = 399 SSF_KRN_NOOP = 201 SSF_KRN_NOMEMORY = 202 SSF_KRN_OPINV = 203 SSF_KRN_SIGNER_LIST_ERROR = 205 SSF_KRN_INPUT_DATA_ERROR = 208 SSF_KRN_INVALID_PAR = 209 SSF_KRN_INVALID_PARLEN = 210 SSF_FB_INPUT_PARAMETER_ERROR = 211 OTHERS = 212.

SSF_SIGN CALL FUNCTION 'SSF_SIGN' EXPORTING SSF_DEST = SSF_DEST STR_FORMAT = WRAPPER B_INC_CERTS = INC_CERT B_DETACHED = DETACHED B_INENC = IN_ENC IO_SPEC = IO_SPEC OSTR_INPUT_DATA_L = PARAMS-INDATALEN STR_HASHALG = HASHALG IMPORTING OSTR_SIGNED_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_INPUT_DATA = IN_DATA_TABLE SIGNER = SIGNER OSTR_SIGNED_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_RFC_ERROR = 101 SSF_RFC_NO_MEMORY = 102 SSF_RFC_GET_DATA_ERROR = 103 SSF_RFC_SEND_DATA_ERROR = 104 SSF_RFC_SIGNER_LIST_ERROR = 105 SSF_RFC_INPUT_DATA_ERROR = 108 SSF_FB_INPUT_PARAMETER_ERROR = 109 SSF_RFC_DESTINATION_ERROR = 110 OTHERS = 111.

SSF_KRN_ADDSIGN CALL FUNCTION 'SSF_KRN_ADDSIGN' EXPORTING SSFTOOLKIT = TOOLKIT STR_FORMAT = WRAPPER B_INC_CERTS = INC_CERT B_INENC = IN_ENC IO_SPEC = IO_SPEC OSTR_SIGNED_DATA_L = PARAMS-INDATALEN OSTR_INPUT_DATA_L = VERDATALEN STR_HASHALG = HASHALG IMPORTING OSTR_UPDATED_SIGNED_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_SIGNED_DATA = IN_DATA_TABLE SIGNER = SIGNER OSTR_INPUT_DATA = VER_DATA_TABLE OSTR_UPDATED_SIGNED_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_KRN_ERROR = 399 SSF_KRN_NOOP = 201 SSF_KRN_NOMEMORY = 202 SSF_KRN_OPINV = 203 SSF_KRN_SIGNER_LIST_ERROR = 205 SSF_KRN_INPUT_DATA_ERROR = 208 SSF_KRN_INVALID_PAR = 209 SSF_KRN_INVALID_PARLEN = 210 SSF_FB_INPUT_PARAMETER_ERROR = 211 OTHERS = 212.

SSF_ADDSIGN CALL FUNCTION 'SSF_ADDSIGN' EXPORTING SSF_DEST = SSF_DEST STR_FORMAT = WRAPPER B_INC_CERTS = INC_CERT B_INENC = IN_ENC IO_SPEC = IO_SPEC OSTR_SIGNED_DATA_L = PARAMS-INDATALEN OSTR_INPUT_DATA_L = VERDATALEN STR_HASHALG = HASHALG IMPORTING OSTR_UPDATED_SIGNED_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_SIGNED_DATA = IN_DATA_TABLE SIGNER = SIGNER OSTR_INPUT_DATA = VER_DATA_TABLE OSTR_UPDATED_SIGNED_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_RFC_ERROR = 101 SSF_RFC_NO_MEMORY = 102 SSF_RFC_GET_DATA_ERROR = 103 SSF_RFC_SEND_DATA_ERROR = 104 SSF_RFC_SIGNER_LIST_ERROR = 105 SSF_RFC_INPUT_DATA_ERROR = 108 SSF_FB_INPUT_PARAMETER_ERROR = 109 SSF_RFC_DESTINATION_ERROR = 110 OTHERS = 111.

SSF_KRN_ENVELOPE CALL FUNCTION 'SSF_KRN_ENVELOPE' EXPORTING SSFTOOLKIT = TOOLKIT STR_FORMAT = WRAPPER B_INENC = IN_ENC IO_SPEC = IO_SPEC OSTR_INPUT_DATA_L = PARAMS-INDATALEN STR_PAB = PAB_REC STR_PAB_PASSWORD = PAB_PWD IMPORTING OSTR_ENVELOPED_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_INPUT_DATA = IN_DATA_TABLE RECIPIENT_LIST = RECIP_LIST OSTR_ENVELOPED_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_KRN_ERROR = 399 SSF_KRN_NOOP = 201 SSF_KRN_NOMEMORY = 202 SSF_KRN_OPINV = 203 SSF_KRN_RECIPIENT_LIST_ERROR = 207 SSF_KRN_INPUT_DATA_ERROR = 208 SSF_KRN_INVALID_PAR = 209 SSF_KRN_INVALID_PARLEN = 210 SSF_FB_INPUT_PARAMETER_ERROR = 211 OTHERS = 212.

SSF_ENVELOPE CALL FUNCTION 'SSF_ENVELOPE' EXPORTING SSF_DEST = SSF_DEST STR_FORMAT = WRAPPER B_INENC = IN_ENC IO_SPEC = IO_SPEC OSTR_INPUT_DATA_L = PARAMS-INDATALEN STR_PAB = PAB_REC STR_PAB_PASSWORD = PAB_PWD IMPORTING OSTR_ENVELOPED_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_INPUT_DATA = IN_DATA_TABLE RECIPIENT_LIST = RECIP_LIST OSTR_ENVELOPED_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_RFC_ERROR = 101 SSF_RFC_NO_MEMORY = 102 SSF_RFC_GET_DATA_ERROR = 103 SSF_RFC_SEND_DATA_ERROR = 104 SSF_RFC_RECIPIENT_LIST_ERROR = 107 SSF_RFC_INPUT_DATA_ERROR = 108 SSF_RFC_DESTINATION_ERROR = 110 OTHERS = 111.

SSF_KRN_DEVELOPE CALL FUNCTION 'SSF_KRN_DEVELOPE' EXPORTING SSFTOOLKIT = TOOLKIT STR_FORMAT = WRAPPER B_OUTDEC = OUT_DEC IO_SPEC = IO_SPEC OSTR_ENVELOPED_DATA_L = PARAMS-INDATALEN IMPORTING OSTR_OUTPUT_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_ENVELOPED_DATA = IN_DATA_TABLE RECIPIENT = DEV_RECIP_LIST OSTR_OUTPUT_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_KRN_ERROR = 399 SSF_KRN_NOOP = 201 SSF_KRN_NOMEMORY = 202 SSF_KRN_OPINV = 203 SSF_KRN_RECIPIENT_ERROR = 206 SSF_KRN_INPUT_DATA_ERROR = 208 SSF_KRN_INVALID_PAR = 209 SSF_KRN_INVALID_PARLEN = 210 SSF_FB_INPUT_PARAMETER_ERROR = 211 OTHERS = 212.

SSF_DEVELOPE CALL FUNCTION 'SSF_DEVELOPE' EXPORTING SSF_DEST = SSF_DEST STR_FORMAT = WRAPPER B_OUTDEC = OUT_DEC IO_SPEC = IO_SPEC OSTR_ENVELOPED_DATA_L = PARAMS-INDATALEN IMPORTING OSTR_OUTPUT_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_ENVELOPED_DATA = IN_DATA_TABLE RECIPIENT = DEV_RECIP_LIST OSTR_OUTPUT_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_RFC_ERROR = 101 SSF_RFC_NO_MEMORY = 102 SSF_RFC_GET_DATA_ERROR = 103 SSF_RFC_SEND_DATA_ERROR = 104 SSF_RFC_RECIPIENT_ERROR = 106 SSF_RFC_INPUT_DATA_ERROR = 108 SSF_RFC_DESTINATION_ERROR = 110 OTHERS = 111.

SSF_KRN_VERIFY CALL FUNCTION 'SSF_KRN_VERIFY' EXPORTING SSFTOOLKIT = TOOLKIT STR_FORMAT = WRAPPER B_INC_CERTS = INC_CERT B_INENC = IN_ENC B_OUTDEC = OUT_DEC IO_SPEC = IO_SPEC OSTR_SIGNED_DATA_L = PARAMS-INDATALEN OSTR_INPUT_DATA_L = VERDATALEN STR_PAB = PAB_REC STR_PAB_PASSWORD = PAB_PWD IMPORTING OSTR_OUTPUT_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_SIGNED_DATA = IN_DATA_TABLE OSTR_INPUT_DATA = VER_DATA_TABLE SIGNER_RESULT_LIST = VERSIG_LIST OSTR_OUTPUT_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_KRN_ERROR = 399 SSF_KRN_NOOP = 201 SSF_KRN_NOMEMORY = 202 SSF_KRN_OPINV = 203 SSF_KRN_INPUT_DATA_ERROR = 208 SSF_KRN_INVALID_PAR = 209 SSF_KRN_INVALID_PARLEN = 210 SSF_FB_INPUT_PARAMETER_ERROR = 109 OTHERS = 212.

SSF_VERIFY CALL FUNCTION 'SSF_VERIFY' EXPORTING SSF_DEST = SSF_DEST STR_FORMAT = WRAPPER B_INC_CERTS = INC_CERT B_INENC = IN_ENC B_OUTDEC = OUT_DEC IO_SPEC = IO_SPEC OSTR_SIGNED_DATA_L = PARAMS-INDATALEN OSTR_INPUT_DATA_L = VERDATALEN STR_PAB = PAB_REC STR_PAB_PASSWORD = PAB_PWD IMPORTING OSTR_OUTPUT_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_SIGNED_DATA = IN_DATA_TABLE OSTR_INPUT_DATA = VER_DATA_TABLE SIGNER_RESULT_LIST = VERSIG_LIST OSTR_OUTPUT_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_RFC_ERROR = 101 SSF_RFC_NO_MEMORY = 102 SSF_RFC_GET_DATA_ERROR = 103 SSF_RFC_SEND_DATA_ERROR = 104 SSF_RFC_INPUT_DATA_ERROR = 108 SSF_FB_INPUT_PARAMETER_ERROR = 109 SSF_RFC_DESTINATION_ERROR = 110 OTHERS = 111.

SSF_KRN_DIGEST CALL FUNCTION 'SSF_KRN_DIGEST' EXPORTING SSFTOOLKIT = TOOLKIT STR_FORMAT = WRAPPER B_DETACHED = DETACHED B_INENC = IN_ENC IO_SPEC = IO_SPEC OSTR_INPUT_DATA_L = PARAMS-INDATALEN STR_HASHALG = HASHALG IMPORTING OSTR_DIGESTED_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_INPUT_DATA = IN_DATA_TABLE OSTR_DIGESTED_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_KRN_ERROR = 399 SSF_KRN_NOOP = 201 SSF_KRN_NOMEMORY = 202 SSF_KRN_OPINV = 203 SSF_KRN_INPUT_DATA_ERROR = 208 SSF_KRN_INVALID_PAR = 209 SSF_KRN_INVALID_PARLEN = 210 SSF_FB_INPUT_PARAMETER_ERROR = 109 OTHERS = 212.

SSF_DIGEST CALL FUNCTION 'SSF_DIGEST' EXPORTING SSF_DEST = SSF_DEST STR_FORMAT = WRAPPER B_DETACHED = DETACHED B_INENC = IN_ENC IO_SPEC = IO_SPEC OSTR_INPUT_DATA_L = PARAMS-INDATALEN STR_HASHALG = HASHALG IMPORTING OSTR_DIGESTED_DATA_L = PARAMS-OUTDATALEN CRC = SSFRC TABLES OSTR_INPUT_DATA = IN_DATA_TABLE OSTR_DIGESTED_DATA = OUT_DATA_TABLE EXCEPTIONS SSF_RFC_ERROR = 101 SSF_RFC_NO_MEMORY = 102 SSF_RFC_GET_DATA_ERROR = 103 SSF_RFC_SEND_DATA_ERROR = 104 SSF_RFC_INPUT_DATA_ERROR = 108 SSF_FB_INPUT_PARAMETER_ERROR = 109 SSF_RFC_DESTINATION_ERROR = 110 OTHERS = 111.

SSF_KRN_VERSION CALL FUNCTION 'SSF_KRN_VERSION' EXPORTING SSFTOOLKIT = TOOLKIT IMPORTING OSTR_OUTPUT_DATA = VERSION_DATA OSTR_OUTPUT_DATA_L = VERSION_DATA_L CRC = SSFRC EXCEPTIONS SSF_KRN_ERROR = 399 SSF_KRN_NOOP = 201 SSF_KRN_OPINV = 203 SSF_KRN_INVALID_PAR = 209 SSF_KRN_INVALID_PARLEN = 210 OTHERS = 212.

SSF_VERSION CALL FUNCTION 'SSF_VERSION' EXPORTING SSF_DEST = SSF_DEST IMPORTING OSTR_OUTPUT_DATA = VERSION_DATA OSTR_OUTPUT_DATA_L = VERSION_DATA_L CRC = SSFRC EXCEPTIONS SSF_RFC_ERROR = 101 SSF_RFC_NO_MEMORY = 102 SSF_RFC_GET_DATA_ERROR = 103 SSF_RFC_SEND_DATA_ERROR = 104 SSF_RFC_DESTINATION_ERROR = 110 OTHERS = 111.

SSF_KRN_QUERYPROPERTIES CALL FUNCTION 'SSF_KRN_QUERYPROPERTIES' EXPORTING SSFTOOLKIT = TOOLKIT PROPERTY = PROP IMPORTING OSTR_OUTPUT_DATA = VERSION_DATA OSTR_OUTPUT_DATA_L = VERSION_DATA_L CRC = SSFRC EXCEPTIONS SSF_KRN_ERROR = 399 SSF_KRN_NOOP = 201 SSF_KRN_OPINV = 203 SSF_KRN_INVALID_PAR = 209 SSF_KRN_INVALID_PARLEN = 210 OTHERS = 212.

SSF_QUERYPROPERTIES CALL FUNCTION 'SSF_QUERYPROPERTIES' EXPORTING SSF_DEST = SSF_DEST PROPERTY = PROP IMPORTING OSTR_OUTPUT_DATA = VERSION_DATA OSTR_OUTPUT_DATA_L = VERSION_DATA_L CRC = SSFRC EXCEPTIONS SSF_RFC_ERROR = 101 SSF_RFC_NO_MEMORY = 102 SSF_RFC_GET_DATA_ERROR = 103 SSF_RFC_SEND_DATA_ERROR = 104 SSF_RFC_DESTINATION_ERROR = 110 OTHERS = 111.

GUI_UPLOAD CALL FUNCTION 'GUI_UPLOAD' EXPORTING FILENAME = FILESTR FILETYPE = 'BIN' * HAS_FIELD_SEPARATOR = ' ' * HEADER_LENGTH = 0 IMPORTING FILELENGTH = DATALEN * HEADER = TABLES DATA_TAB = DATATABLE EXCEPTIONS FILE_OPEN_ERROR = 1 FILE_READ_ERROR = 2 NO_BATCH = 3 GUI_REFUSE_FILETRANSFER = 4 INVALID_TYPE = 5 NO_AUTHORITY = 6 UNKNOWN_ERROR = 7 BAD_DATA_FORMAT = 8 HEADER_NOT_ALLOWED = 9 SEPARATOR_NOT_ALLOWED = 10 HEADER_TOO_LONG = 11 UNKNOWN_DP_ERROR = 12 ACCESS_DENIED = 13 DP_OUT_OF_MEMORY = 14 DISK_FULL = 15 DP_TIMEOUT = 16 OTHERS = 17.

GUI_DOWNLOAD CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING BIN_FILESIZE = FILESIZE FILENAME = FILESTRG FILETYPE = 'BIN' * APPEND = ' ' * WRITE_FIELD_SEPARATOR = ' ' * HEADER = '00' * TRUNC_TRAILING_BLANKS = ' ' IMPORTING FILELENGTH = FILELENG TABLES DATA_TAB = OUT_DATA_TABLE EXCEPTIONS FILE_WRITE_ERROR = 1 NO_BATCH = 2 GUI_REFUSE_FILETRANSFER = 3 INVALID_TYPE = 4 NO_AUTHORITY = 5 UNKNOWN_ERROR = 6 HEADER_NOT_ALLOWED = 7 SEPARATOR_NOT_ALLOWED = 8 FILESIZE_NOT_ALLOWED = 9 HEADER_TOO_LONG = 10 DP_ERROR_CREATE = 11 DP_ERROR_SEND = 12 DP_ERROR_WRITE = 13 UNKNOWN_DP_ERROR = 14 ACCESS_DENIED = 15 DP_OUT_OF_MEMORY = 16 DISK_FULL = 17 DP_TIMEOUT = 18 FILE_NOT_FOUND = 19 DATAPROVIDER_EXCEPTION = 20 CONTROL_FLUSH_ERROR = 21 OTHERS = 22.






Contribute (Add Comments)

Although this basic information may have limited use it does provide an easy to find location to store any knowledge about this program/report.

The contribute/comments section below therefore offer's an opportunity for anyone to add additional information. This can be anything from useful hints, tips and screen shots to relevant SAP notes or anything else you feel is relevant to this report.

This will then be available for everyone to easily find by simply searching on the report name SSF01 or its description.