SAP SMW0获取图片后打印

进入SFP-- > Interface 新增XSTRING 类型参数

在SFP -->Form 中新曾图形GRAPHIC

设定GRAPHIC的属性

 在ADOBE FORM中增加IMAGEFIELD,绑定GRAPHIC

 部分代码如下:

* SMW0中上传LOGO图片
* PDF接口中新增xstring类型参数lv_logo
* PDF表格中新增 GRAPHIC,
*GRAPHIC设置图形类型为图形内容,MIME类型为''image/jpg'
  DATA: LV_LOGO TYPE XSTRING,
        LV_KEY  TYPE WWWDATATAB,
        LV_MIME TYPE STANDARD TABLE OF W3MIME,
        GW_LEN  TYPE I.
  LV_KEY-RELID = 'MI'.
  LV_KEY-OBJID = 'LOGO_2000'.

  CALL FUNCTION 'WWWDATA_IMPORT'
    EXPORTING
      KEY               = LV_KEY
    TABLES
      "HTML                    =
      MIME              = LV_MIME
    EXCEPTIONS
      WRONG_OBJECT_TYPE = 1
      IMPORT_ERROR      = 2
      OTHERS            = 3.
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.
  SELECT NAME,
    VALUE
    INTO TABLE @DATA(GT_LEN)
    FROM WWWPARAMS
  WHERE RELID = 'MI' AND OBJID = 'LOGO_2000'.
  LOOP AT GT_LEN INTO DATA(GM_LEN).
    IF GM_LEN-NAME = 'filesize'.
      GW_LEN = GW_LEN + GM_LEN-VALUE.
    ENDIF.
  ENDLOOP.
  CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
    EXPORTING
      INPUT_LENGTH = GW_LEN
*     FIRST_LINE   = 0
*     LAST_LINE    = 0
    IMPORTING
      BUFFER       = LV_LOGO
    TABLES
      BINARY_TAB   = LV_MIME
    EXCEPTIONS
      FAILED       = 1
      OTHERS       = 2.
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.

*&----数据填充
  CALL FUNCTION FM_NAME
    EXPORTING
      /1BCDWB/DOCPARAMS  = FP_DOCPARAMS
      LV_LOGO            = LV_LOGOEXCEPTIONS
      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.

 

posted @ 2025-07-16 09:45  kang09  阅读(23)  评论(0)    收藏  举报