Sap Adobe Form多个Master Page及动态文本

Adobe Form多Master Page及动态文本测试

  1. 列印效果(明细、每页固定区域)

……

设计模板

Master Page P1:

新增Master Page

 

Master Page P2:

 

  Master Page P3:

 

Design View:

 

 

模板配置

Subformhead、Subformitem配置:

明细项目配置

 

 SubformPage配置:

 

SubformMP配置(动态文本)

在Master Page P3中插入text文本框,在其中输入相应的内容,在需要动态文本处点击右键,选择“Floating Field“,在{TextField}中配置Binding,绑定到TDLINE或者绑定到TEXT即可。

 

数据源

 SFP中配置

 

动态文本配置:

在“表格“编辑模式下,右击选择”文本”,生成”TEXT”,双击显示属性,配置文本类型及字段。

 程式代码:

*&---------------------------------------------------------------------*
*& Report  ZYC_PDF_MUL_PAGE
*多张文件列印在同一份文件中
*包含动态文本
*&---------------------------------------------------------------------*
REPORT ZYC_PDF_MUL_PAGE.

START-OF-SELECTION.
  PERFORM FRM_PRINT_SFP.
*&---------------------------------------------------------------------*
*&      Form  FRM_PRINT_SFP
*&---------------------------------------------------------------------*
*----------------------------------------------------------------------*
FORM FRM_PRINT_SFP .
  DATA: FM_NAME         TYPE RS38L_FNAM,      "功能模块的名称
        FP_DOCPARAMS    TYPE SFPDOCPARAMS,    "格式处理格式参数
        FP_OUTPUTPARAMS TYPE SFPOUTPUTPARAMS, "格式处理输出参数
        GT_TXT TYPE STANDARD TABLE OF TLINE,
        GW_TXT TYPE TLINE.
*--------------------------------------------------------------------*
  DATA: GW_HEAD TYPE ZYC_HEAD,
             GT_HEAD TYPE STANDARD TABLE OF ZYC_HEAD,
             GW_ITEM TYPE ZYC_ITEM,
             GT_ITEM TYPE STANDARD TABLE OF ZYC_ITEM.
*--------------------------------------------------------------------*

  GW_HEAD-VBELN = '180000010'.
  GW_HEAD-BOLNR = 'USCQG293014'.
  GW_HEAD-ERDAT = '20240528'.
  GW_HEAD-ERZET = '095935'.
  APPEND GW_HEAD TO GT_HEAD.
*&----打开 SPOOL JOB
  CALL FUNCTION 'FP_JOB_OPEN'               "& FORM PROCESSING: CALL FORM
    CHANGING
      IE_OUTPUTPARAMS = FP_OUTPUTPARAMS
    EXCEPTIONS
      CANCEL          = 1
      USAGE_ERROR     = 2
      SYSTEM_ERROR    = 3
      INTERNAL_ERROR  = 4
      OTHERS          = 5.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

*&----获取ADOBE FORM的名称参数
  CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
    EXPORTING
      I_NAME     = 'ZYC_FORM_MULPAGE'
    IMPORTING
      E_FUNCNAME = FM_NAME.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  LOOP AT GT_HEAD INTO GW_HEAD.
    SELECT VBELN,
      POSNR,
      CHARG,
      ARKTX
      INTO TABLE @GT_ITEM
      FROM LIPS
      WHERE VBELN = '8100000020'.
    GW_TXT-TDLINE = '这是测试的动态文本,在此处获取不同的文本'.
    APPEND GW_TXT TO GT_TXT.
*    &----开始打印
    CALL FUNCTION FM_NAME
      EXPORTING
        /1BCDWB/DOCPARAMS = FP_DOCPARAMS
        HEAD              = GW_HEAD
        ITEM              = GT_ITEM
        DYNTXT          = GT_TXT
      "IMPORTING
        "/1BCDWB/FORMOUTPUT =
      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.
    CLEAR GT_TXT.
  ENDLOOP.
*&----关闭
  CALL FUNCTION 'FP_JOB_CLOSE'
    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.
ENDFORM.

 

posted @ 2023-10-11 16:29  kang09  阅读(353)  评论(0)    收藏  举报