【转载】ABAP自定义长文本的处理
生活随笔
收集整理的這篇文章主要介紹了
【转载】ABAP自定义长文本的处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SAP中所有的長文本都存在如下兩張表中:
- STXH 長文本的抬頭信息
- STXL 長文本的明細信息
長文本在使用前,需要先進行配置,如果不配置是不可能往表STXH和STXL中寫入文本值的。
配置在視圖V_TTXIDI和視圖V_TTXOBI中進行。
前臺事務代碼:SE75
?
保存之后,雙擊“ZSD001”進入維護ID。
?
?
相應的對長文本進行增加、保存、刪除的ABAP代碼示例如下:把
變量的聲明
DATA:?lines?TYPE?STANDARD?TABLE?OF?tline?,it_line?TYPE?TABLE?OF?line,header?LIKE?thead?. DATA:?container1?TYPE?REF?TO?cl_gui_custom_container,editor1????TYPE?REF?TO?cl_gui_textedit. DATA:?ok_code?LIKE?sy-ucomm,save_ok?LIKE?sy-ucomm.長文本的初始化
??IF?container1?IS?INITIAL.CREATE?OBJECT:container1?EXPORTING?container_name?=?'COMMENT1',editor1????EXPORTING?parent?=?container1.CALL?METHOD?editor1->set_statusbar_modeEXPORTINGstatusbar_mode?=?0.CALL?METHOD?editor1->set_toolbar_modeEXPORTINGtoolbar_mode?=?0. ENDIF.CALL?METHOD?editor1->set_text_as_streamEXPORTINGtext?=?it_line.長文本的保存
??REFRESH?it_line.CALL?METHOD?editor1->get_text_as_streamIMPORTINGtext?=?it_line. *--長文本保存header-tdobject??=?'Z_TEST01'.?????"objectheader-tdname????=?'001'.header-tdid??????=?'LTXT'.header-tdspras???=?sy-langu.CALL?FUNCTION?'CONVERT_STREAM_TO_ITF_TEXT'EXPORTINGlanguage????=?sy-languTABLEStext_stream?=?it_lineitf_text????=?lines.CALL?FUNCTION?'SAVE_TEXT'EXPORTINGheader??????????=?headersavemode_direct?=?'X'TABLESlines???????????=?linesEXCEPTIONSid??????????????=?1language????????=?2name????????????=?3object??????????=?4OTHERS??????????=?5.CLEAR?header.REFRESH?lines.長文本的顯示
???header-tdobject??=?'Z_TEST01'.?????"objectheader-tdname????=?'001'.header-tdid??????=?'LTXT'.header-tdspras???=?sy-langu.CALL?FUNCTION?'READ_TEXT'EXPORTINGid??????????????????????=?header-tdidlanguage????????????????=?sy-languname????????????????????=?header-tdnameobject??????????????????=?header-tdobjectTABLESlines???????????????????=?linesEXCEPTIONSid??????????????????????=?1language????????????????=?2name????????????????????=?3not_found???????????????=?4object??????????????????=?5reference_check?????????=?6wrong_access_to_archive?=?7OTHERS??????????????????=?8.CALL?FUNCTION?'CONVERT_ITF_TO_STREAM_TEXT'EXPORTINGlanguage????=?sy-languTABLESitf_text????=?linestext_stream?=?it_line.CALL?METHOD?editor1->set_statusbar_modeEXPORTINGstatusbar_mode?=?0.CALL?METHOD?editor1->set_toolbar_modeEXPORTINGtoolbar_mode?=?0.CALL?METHOD?editor1->set_text_as_streamEXPORTINGtext?=?it_line.CALL?METHOD?editor1->set_readonly_modeEXPORTINGreadonly_mode?=?'1'.長文本的刪除
header-tdobject??=?'Z_TEST01'.?????"objectheader-tdname????=?'001'.header-tdid??????=?'LTXT'.header-tdspras???=?sy-langu.CALL?FUNCTION?'DELETE_TEXT'EXPORTINGid??????????????????????=?header-tdidlanguage????????????????=?sy-languname????????????????????=?header-tdnameobject??????????????????=?header-tdobject *?????SAVEMODE_DIRECT???????=?'?' *?????TEXTMEMORY_ONLY???????=?'?' *?????LOCAL_CAT?????????????=?'?' *???EXCEPTIONS *?????NOT_FOUND?????????????=?1 *?????OTHERS????????????????=?2.IF?sy-subrc?<>?0.MESSAGE?ID?sy-msgid?TYPE?sy-msgty?NUMBER?sy-msgnoWITH?sy-msgv1?sy-msgv2?sy-msgv3?sy-msgv4.ENDIF.在ABAP的長文本操作中,我們是無法直接看到存儲的長文本的,只能通過程序讀取長文本在界面中顯示,這點是和其他類型的變量區別開來的。
總結
以上是生活随笔為你收集整理的【转载】ABAP自定义长文本的处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】采购订单行项目检查增强
- 下一篇: 【IT人的管理进阶课】如何提升带团队的能