Привет всем!
Нужно сархивировать SmartForm, используя ArchiveLink. Ниже приведен кусок кода.
Вроде бы все работает, lf_fm_name (сгенерированный модуль SmartForm) возврашает sy-subrc равное 0, ну вот, когда проверяю по транзакции OAAD, сохраненной формы там не нахожу. Может, кто знает, в чем дело?
Заранее благодарен.
Code:
*
CLEAR control_parameters.
control_parameters-no_dialog = 'X'.
control_parameters-getotf = 'X'.
CLEAR output_options.
output_options-tdarmod = 2.
output_options-tdarccop = 'X'.
CLEAR a_index.
a_index-function = 'DARA'.
a_index-mandant = sy-mandt.
a_index-del_date = sy-datum + 100.
a_index-sap_object = 'BKPF'.
a_index-ar_object = 'ZBDS_TEXT'.
a_index-object_id = 'DARAOTF'.
a_index-reserve(6) = 'COMMIT'.
a_index-formarchiv = '18'.
a_index-form_id = 'SAPFORM ARCHIVED TEST'.
a_index-notiz = 'Correspondence test done from within SAP'.
CALL FUNCTION 'GET_PRINT_PARAMETERS' "get print-parameters
EXPORTING
ARCHIVE_MODE = '2'
ar_object = 'ZBDS_TEXT'
in_archive_parameters = 'X'
NO_DIALOG = 'X'
sap_object = 'BKPF'
IMPORTING
out_archive_parameters = a_param
out_parameters = a_outparam
valid = valid
EXCEPTIONS
archive_info_not_found = 1.
CALL FUNCTION lf_fm_name
EXPORTING
archive_index = a_index
archive_parameters = a_param
control_parameters = control_parameters
output_options = output_options
text_name = 'Hello World!'
IMPORTING
document_output_info = document_output_info
job_output_info = it_output
job_output_options = job_output_options
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
* error handling
PERFORM protocol_update.
* get SmartForm protocoll and store it in the NAST protocoll
PERFORM add_smfrm_prot.
ENDIF.
COMMIT WORK.