BAPI_DOCUMENT_CREATE2长文本N行问题

2020-08-25 08:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨。 当用户选择要上传的P...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨。

当用户选择要上传的PDF文件并放置文字以证明其必要性时,我正在使用此BAPI_DOCUMENT_CREATE2创建CV01N文档。

用户可以填写两行或更多行。

但是当我执行它填充2或3行时,当我输入CV03N来查看它时,长文本在创建的文档中只有一行。

关注随附的CV03N文档,仅在"说明"标签上显示一行。 :/

 FORM upload_anexo更改p_documentnumber类型TYPE bapi_doc_aux-docnumber。


  数据:
   " BAPI_DOCUMENT_CREATE2
  ls_documentdata类似于bapi_doc_draw2,
  lt_documentfiles bapi_doc_files2的标准类型表,
  ls_documentfiles与lt_documentfiles一样,
  lt_longtexts bapi_doc_text类型标准表,
  ls_longtexts,就像lt_longtexts,
  lv_documentnumber TYPE bapi_doc_aux-docnumber,
  ls_return TYPE bapiret2。


  清除p_documentnumber。


 * -------------------------------------------------  ------------------- *
  ",用户必须填写文字来证明帐单合理。
 * -------------------------------------------------  ------------------- *
  通话画面200。


  "读取在0200屏幕(编辑框)上写的用户文本
  从屏幕0200返回
  如果g_mytable []不初始化。
  免费lt_longtexts。


  循环至g_mytable INTO DATA(ls_mytable)。
    清除ls_longtexts。
 * ls_longtexts-deletevalue
    ls_longtexts-language ='P'。" sy-langu。
    ls_longtexts-language_iso ='PT'。" sy-langu。
    ls_longtexts-textline = ls_mytable-line。
    将ls_longtexts插入表lt_longtexts中。
  结局。

  其他。
    MESSAGE s000(zsd)带"错误,用户未填写文本"
                      显示" E"。
    返回。
  万一。


 * -------------------------------------------------  ------------------- *
  "获取文件名
 * -------------------------------------------------  ------------------- *
  执行ler_arquivo_comprovante。


  读取文件名
  读取表ti_file INTO DATA(ls_file)INDEX 1。
  如果sy-subrc = 0。
    ls_documentfiles-documenttype ='ZAV'。"在系统上生成统一名称16个字符

   尝试。
    ls_documentfiles-documentnumber = cl_system_uuid => create_uuid_x16_static()。

   捕获cx_uuid_error。  "
     MESSAGE s000(zsd)带有"错误"
     显示" E"。
     返回。
   ENDTRY。


    ls_documentfiles-documentpart ='000'。
    ls_documentfiles-documentversion ='00'。
    ls_documentfiles-storagecategory ='DMS_C1_ST'。
    ls_documentfiles-wsapplication ='PDF'。
    ls_documentfiles-docfile = ls_file-filename。
    ls_documentfiles-description ='清单示例'。
    ls_documentfiles-language ='PT'。
    将ls_documentfiles插入表lt_documentfiles中。
  万一。


  BREAK-POINT。
 * -------------------------------------------------  ------------------- *
  "创建文档CV01N
 * -------------------------------------------------  ------------------- *
  ls_documentdata-documenttype ='ZAV'。
  ls_documentdata-documentnumber = ls_documentfiles-documentnumber。  CHAR16统一码
  ls_documentdata-documentversion ='00'。
  ls_documentdata-documentpart ='000'。
  ls_documentdata-description ='帐单示例'。
  ls_documentdata-username = sy-uname。
  ls_documentdata-statusintern ='LB'。  "发布
 

 通话功能" BAPI_DOCUMENT_CREATE2"
  出口
     documentdata = ls_documentdata
 * HOSTNAME =
 * DOCBOMCHANGENUMBER =
 * DOCBOMVALIDFROM =
 * DOCBOMREVISIONLEVEL =
 * CAD_MODE =''
 * PF_FTP_DEST =''
 * PF_HTTP_DEST =''
 * DEFAULTCLASS ='X'
  输入
 * DOCUMENTTYPE =
     documentnumber = lv_documentnumber
 * DOCUMENTPART =
 * DOCUMENTVERSION =
     返回= ls_return
  桌子
 *特征值=
 *分类=
 *文档说明=
 *对象链接=
 *文档结构=
     documentfiles = lt_documentfiles
     长文本= lt_longtexts
 *组件= cv01n-text-just-1-line-error.png
  。


  如果lv_documentnumber不是INITIAL。
    通话功能'BAPI_TRANSACTION_COMMIT'
    出口
       等待='X'。
      p_documentnumber = lv_documentnumber。
  其他。
     通话功能" BAPI_TRANSACTION_ROLLBACK"。
     MESSAGE s000(zsd)WITH'创建文档时出错'
                       显示" E"。
     返回。
  万一。


 ENDFORM。  " UPLOAD_ANEXO 

(17.6 kB)