点击此处---> 群内免费提供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)
Ola Glauco,
1。 " lt_longtexts
后使用空括号longtexts = lt_longtexts []
2。 "可以使用APPEND代替INSERT
将lt_longtexts附加到lt_bapi_longtexts。
*
*示例:标准包含程序LCDESKF13使用BAPI填充长文本
数据:lt_longtexts(如bapi_doc_text_keys)出现在标题行为0的地方
类似于bapi_doc_text的lt_bapi_longtexts在标题行中出现0。
*使用结构BAPI_DOC_TEXT构建长文本的内部表
* BAPI检查使用情况的位置列表
*填写表格lt_bapi_longtexts,清除:lt_bapi_longtexts。
在lt_longtexts处循环,其中tab_index = wa_plm_document-index。
将lt_longtexts附加到lt_bapi_longtexts。 "可以使用APPEND代替INSERT
endloop。
*等
呼叫功能'BAPI_DOCUMENT_CREATE2'
导出
documentdata = l_doc_data
导入
documenttype = l_dokar
documentnumber = l_doknr
documentpart = l_doktl
documentversion = l_dokvr
return = l_return
表格
特征值= lt_char_val
classallocations = lt_class_alo
documentfiles = lt_files []
longtexts = lt_longtexts []"在lt_longtexts后使用空括号
documentdescriptions = lt_doc_desc []。
*等
*蟒蛇节
参考
https://answers.sap.com /questions/3053259/help-on-bapidocumentcreate2.html
https://www.abapforum.com/forum /viewtopic.php?t=1414
您确定CV01N允许您为指定语言输入多于1行吗?
好问题。 :/
我将与职能顾问联系,并在此处给出答案。
Oi Joanna。
我将尝试 括号。 但是我已经调试好了,这3行已经在BAPI内部被识别,并且BAPI本身在执行过程中"丢失"了我的另外两行。
我在猜测是否存在错误或需要填充的其他参数 一起lt_longtext。 我想我需要对其进行更多的挖掘或更多的调试。
标准程序示例从另一种内部表格式填充了它,但是最后这些字段是相同的,就像我已经在填充它一样
另一个链接显示了另一个功能,该功能可以将文件创建到文件夹,但是在我的情况下,客户仅使用CV01N来上传文件。
感谢您的快速操作。
Boas festas pravocêtambém:)
一周热门 更多>