第一步:创建Domain ZCHECKVALUE
第二步:创建Data Element ZCHECKVALUE ,它所使用的Domain是ZCHECKVALUE。
第三步:Form和abap程序之间的接口数据结构中,增加一个名称为CHECKVALUE的组件,这个组件使用Data Element ZCHECKVALUE
第四步:在PDF Form中给Form画三个checkbox
这三个checkbox全都绑定 ztestf01_data 中的组件CHECKVALUE,而且它们的check Style要选择check。
如下图所示的check style的选择
但是,这三个checkbox置为on状态的时候,所需要的条件是不一样的。
第五步:写abap程序实现测试
*&---------------------------------------------------------------------*
*& Report HSAPIQE0
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ztest06.
*定义Form的名字
data: lv_form_name TYPE fpwbformname.
DATA: form_data TYPE ztestf01_data .
DATA: form_data_table_struc TYPE ztabeetest_struct.
form_data-comp1 = 'comp1'.
form_data-CHECKVALUE = '2'.
*DATA : name1 TYPE string.
*DATA: idx TYPE string.
*DO 200 TIMES.
* idx = sy-index .
* CONCATENATE 'partno-' idx INTO name1 .
* form_data_table_struc-partno = name1.
* APPEND form_data_table_struc TO form_data-tabee.
*ENDDO.
*定义得到的函数名字,这个函数就是form的接口
DATA: lv_fm_name TYPE rs38l_fnam.
*定义打印参数
DATA: lwa_fp_params TYPE sfpoutputparams.
*定义处理结果
DATA: lv_result TYPE sfpjoboutput.
START-OF-SELECTION.
*取得函数的名字:根据Form的名称lv_form_name ,调用函数FP_FUNCTION_MODULE_NAME得到的
lv_form_name = 'ZTESTIF01_FORM_2'.
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = lv_form_name
IMPORTING
e_funcname = lv_fm_name.
* 这个是RFC的名字
lwa_fp_params-connection = 'ADS'.
* 打开一个打印job
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = lwa_fp_params
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgidTYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*调用真正的form接口函数
CALL FUNCTION lv_fm_name
EXPORTING
im_data = form_data.
* 关闭打印job
CALL FUNCTION 'FP_JOB_CLOSE'
IMPORTING
e_result = lv_result
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgidTYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
运行效果如下图所示: