日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP DOC1

發布時間:2025/3/20 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP DOC1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:左側補零

自己的笨辦法
ee = '0000000000000000000' b = strlen(aa). c = 18 - b.? dd+0(c) = ee+0(c) . dd+c(b) = aa.

調用系統的,對數字操作

PERFORM alphaformat(sapfs000) USING: A01-IN,A01-OUT.
可以對同一個字段操作
比如 using itab-aa, itab-aa.那么aa就是左側補零了

FORM ALPHAFORMAT USING A01-IN A01-OUT.
? STRING = A01-IN.
? SHIFT STRING UP TO ' '.
? IF? A01-IN CO KON_NUMER
? AND STRING EQ SPACE
? AND A01-IN NE SPACE.
??? UNPACK A01-IN TO A01-OUT.
? ELSE.
??? MOVE A01-IN TO A01-OUT.
? ENDIF.
ENDFORM.

二:自動刷新的程序

自動刷新的程序REPORT zauto_refresh NO STANDARD PAGE HEADING.
DATA: g_num TYPE i.
START-OF-SELECTION.
? CALL FUNCTION 'Z_SLEEP'
??? STARTING NEW TASK 'WAIT'
??? PERFORMING when_finished ON END OF TASK.
? WRITE:/ sy-uzeit, g_num. "Time
? WRITE:/ 'wait for 5 sec....'.
AT USER-COMMAND.
? CASE sy-ucomm.
??? WHEN 'REFRESH'.
????? DATA l_time TYPE char8.
????? WRITE sy-uzeit TO l_time.
????? MODIFY LINE 1 OF CURRENT PAGE FIELD VALUE sy-uzeit FROM l_time
?????????????????????????????????????????????????? g_num FROM g_num.
????? g_num = g_num + 1.
????? CALL FUNCTION 'Z_SLEEP'
??????? STARTING NEW TASK 'WAIT'
??????? PERFORMING when_finished ON END OF TASK.
? ENDCASE.
*---------------------------------------------------------------------*
*?????? FORM WHEN_FINISHED??????????????????????????????????????????? *
*---------------------------------------------------------------------*
*?????? ........????????????????????????????????????????????????????? *
*---------------------------------------------------------------------*
*? -->? TASKNAME????????????????????????????????????????????????????? *
*---------------------------------------------------------------------*
FORM when_finished USING taskname.
? RECEIVE RESULTS FROM FUNCTION 'Z_SLEEP'.
? SET USER-COMMAND 'REFRESH'.
ENDFORM.??????????????????? " WHEN_FINISHED
?
?
?'Z_SLEEP'? 里很簡單,就寫個 wait up to 5 seconds. 就行了。最關鍵的是要選上 Remote-enable module
?
?
可惜的是,我想用這個方法來實現alv的自動刷新的時候就不行了,debug看代碼是被執行的,就是沒反應,搞不懂了,哪位大俠知道的,還請告知。

三:如何找到長文本的ID等

如何找到長文本的ID,OBJECT, NAME(所有對象適用)長文本創建后會在STXH表中添加一條記錄,而STXH表有ID, OBJECT , NAME字段,和READ_TEXT對應

那么哪一條是你剛剛創建的呢,很簡單

根據TDFUSER Created by

TDFDATE Date created

TDFTIME Time Created

限制一下STXH的記錄就OK了


*****************************
求助,如何用ABAP實現PS模塊WBS元素長文本的激活和保存.

我用SAVE_TEXT保存了WBS元素的長文本,用READ_TEXT可以讀出來,但是發現沒保存進數據庫,事務CJ02 ,雙擊進入WBS元素長文本,沒見到保存的文本.代碼如下.

Data I_THEAD type Thead occurs 10 with header line.
Data I_TLINE type TLINE occurs 10 with header line.

? I_THEAD-TDOBJECT = 'PMS'.
? I_THEAD-TDNAME = 'E00009058'.
? I_THEAD-TDID = 'LTXT'.
? I_THEAD-TDSPRAS = '1'.
*? I_THEAD-TDLINESIZE = '40'.
? APPEND I_THEAD.

? I_TLINE-TDFORMAT = '*'.
? I_TLINE-TDLINE = 'aaa'.
? Append I_TLINE.
? I_TLINE-TDFORMAT = '*'.
? I_TLINE-TDLINE = 'FF'.
? Append I_TLINE.

CALL FUNCTION 'SAVE_TEXT'
?????? EXPORTING
??????????? CLIENT????????? = sy-mandt
??????????? HEADER????????? = I_THEAD
*??????????? INSERT????????? = 'X'
??????????? SAVEMODE_DIRECT = 'X'
*?????? IMPORTING? FUNCTION? = EDITOR_FUNCTION
*???????????????? NEWHEADER = I_THEAD
?????? TABLES
??????????? LINES?????????? = I_TLINE.
? call function 'COMMIT_TEXT'
?????? exporting
??????????? object????????? = 'PMS'.

? commit work.

原因感覺是因為WBS長文本的第一行是WBS元素的描述,而默認情況下,長文本沒有生成,SAVE_TEXT的時候并沒有保存進去.不知道怎么激活長文本,請大家幫幫忙

如果WBS的長文本已經回車到第二行,或者第二行有文字,并保存后,用上面的代碼能實現修改.但是沒激活的情況下保存后不可見.


答案:
RCWBS-XLGTX字段是控制長文本是否存在的, 把這個字段設置成'X', 應該就可以了.

謝謝版主,可以了,更新了這個字段PRPS-TXTSP就可以了,多謝

********************************

為什么我的save_text不成功阿?代碼如下:請高手指點。。。t-code:c201。

data: l_plnnr like mkal-plnnr,
????? l_alnal like mkal-alnal,
????? l_ktext like plko-ktext,
????? LN_PLKO LIKE THEAD-TDNAME.
????? REFRESH TBL_DESC_TEXT.
????? CLEAR: TBL_DESC_TEXT,
???????????? G_PLKO_TEXT1,
???????????? G_PLKO_TEXT2,????????
???????????? G_PLKO_TEXT3,
???????????? G_PLKO_TEXT4,
???????????? G_PLKO_TEXT5,
???????????? G_PLKO_LINE,
???????????? LN_PLKO.

????? select single plnnr alnal into (l_plnnr,l_alnal)
???????????????????????? from mkal
?????????????????????????? where verid = g_verid
???????????????????????????? and matnr = tbl_operations-matnr
???????????????????????????? and werks = tbl_operations-werks.

????? CONCATENATE sy-mandt '2' l_plnnr l_alnal
????? '00000001'
????? INTO LN_PLKO.

????? select single ktext into l_ktext from plko
????????????????????????? where plnnr = l_plnnr
??????????????????????????? and PLNAL = l_alnal
??????????????????????????? and werks = tbl_operations-werks.

????? SPLIT tbl_operations-G_plko_LINE001 AT DELIMITER INTO
????????????????????????? G_PLKO_TEXT2
????????????????????????? G_PLKO_TEXT3
????????????????????????? G_PLKO_TEXT4
????????????????????????? G_PLKO_TEXT5
????????????????????????? G_PLKO_TEXT6.
????? move? l_ktext? to?? G_PLKO_TEXT1.
*>>>fill tdline
????? PERFORM fill_tdline using G_PLKO_TEXT1.
????? PERFORM fill_tdline using G_PLKO_TEXT2.
????? PERFORM fill_tdline using G_PLKO_TEXT3.
????? PERFORM fill_tdline using G_PLKO_TEXT4.
????? PERFORM fill_tdline using G_PLKO_TEXT5.

????? move 'ROUTING' to TBL_THEAD-TDOBJECT.
????? move? LN_PLKO? to TBL_THEAD-TDNAME.
????? move? 'PLKO'?? to TBL_THEAD-TDID.
????? move? '1'????? to TBL_THEAD-TDSPRAS.
????? APPEND TBL_THEAD.


CALL FUNCTION 'SAVE_TEXT'
?????? EXPORTING
??????????? CLIENT????????? = sy-mandt
??????????? HEADER????????? = TBL_THEAD
??????????? INSERT????????? = ' '
??????????? SAVEMODE_DIRECT = 'X'
*?????????? OWNER_SPECIFIED?????? = ' '
*?????????? LOCAL_CAT???????????? = ' '
*???? IMPORTING
*?????????? FUNCTION????????????? =
*?????????? NEWHEADER???????????? =
?????? TABLES
??????????? LINES?????????? = TBL_DESC_TEXT
?????? EXCEPTIONS
??????????? ID??????????????????? = 1
??????????? LANGUAGE????????????? = 2
??????????? NAME????????????????? = 3
??????????? OBJECT??????????????? = 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.


? call function 'COMMIT_TEXT'
?????? exporting
??????????? object????????? = 'ROUTING'
??????????? NAME??????????? = LN_PLKO
??????????? ID????????????? = 'PLKO'
??????????? LANGUAGE??????? = '1'.
?????? commit work.


*&---------------------------------------------------------------------*
*&????? Form? fill_tdline
*&---------------------------------------------------------------------*
*?????? text
*----------------------------------------------------------------------*
*? -->? p1??????? text
*? <--? p2??????? text
*----------------------------------------------------------------------*
FORM fill_tdline using l_text.
data:? l_length(3) TYPE n.
?????? l_length = strlen( l_text ).
?????? if? l_length <= 40.
??????? TBL_DESC_TEXT-TDFORMAT = '*'.
??????? TBL_DESC_TEXT-TDLINE?? = l_text.
??????? append TBL_DESC_TEXT.
??????? elseif l_length > 40.
??????? TBL_DESC_TEXT-TDFORMAT = '*'.
??????? TBL_DESC_TEXT-TDLINE?? = l_text+0(40).
??????? append TBL_DESC_TEXT.
??????? TBL_DESC_TEXT-TDFORMAT = '='.
??????? TBL_DESC_TEXT-TDLINE?? = l_text+40(24).
??????? append TBL_DESC_TEXT.
??????? endif.


ENDFORM.??????????????????? " fill_tdline

解決辦法
I am facing problem in displaying the Long text in Open Maintenance orders IW31 Sscreen.
i am uploading the long text using SAVE_TEXT function module.
i can see the data in STXL table but i am not able to see the data on the transaction screen display or change mode.
I am using correct object name ,id and etc..in header table objectid: AUFK, TEXTID: AVOT ,tdname:clintid+routingnumber(afvc table aufpl field+ sequence(like 0001.. ), language: EN.
Text line also i am passing and i am enering the direct saving mpde.

i am getting sy-subrc eq = 0.
and i am able to get the data by READ_TEXT table.

my problem is why the Long text data is not diaplying on the scrreen(TEXT editor).
same thing happening in COmponents LONG TEXT in the same TCODE
Please Help me.


Rich Heilman????

Posts: 13,460
Questions: 35
Registered: 4/27/04
Forum points: 31,292?
?
?? Re: problem in SAVE_TEXT usage??
Posted: Nov 28, 2005 4:11 PM??? in response to: ramesh alla?????? Reply????? E-mail this post?
?

Can you please post the relevant code?

Regards,
Rich Heilman

?
?

Nekenti Vera Ve...??

Posts: 327
Questions: 0
Registered: 4/26/05
Forum points: 592?
?
?? Re: problem in SAVE_TEXT usage??
Posted: Nov 28, 2005 4:12 PM??? in response to: ramesh alla?????? Reply????? E-mail this post?
?

for displaying long text you have to use EDIT_TEXT FM.

?
?

Srinivas Adavi??

Posts: 4,777
Questions: 7
Registered: 6/3/04
Forum points: 8,322?
?
?? Re: problem in SAVE_TEXT usage???
Posted: Nov 28, 2005 4:13 PM??? in response to: ramesh alla?????? Reply????? E-mail this post?
?

This is a known problem with some of the transactions that have long text. In those transactions, an online entry of long text, will not only save the long texts like you did, but also update a specific field on the table that indicates whether long text exists.

In your case, AUFK has a field LTEXT which needs to be set to 'X'. If not, then the long texts will not be shown on the transaction screens, even if they exist in the database.

The only solution for such situations is to directly update the database table and set this field.

Regards,

Srinivas

?
?

zhenglin gu??

Posts: 534
Questions: 32
Registered: 12/10/04
Forum points: 796?
?
?? Re: problem in SAVE_TEXT usage??
Posted: Nov 28, 2005 4:14 PM??? in response to: ramesh alla?????? Reply????? E-mail this post?
?

hi, sorry, I can't login server to test.
But have a suggestion to your problem.

Thinking of it reverse.
If the long text you store through SAVE_TEXT can' display in screen, why not do a change in screen and save a long text.
Then you can try to find out this long text in the related table, then you can make clear why to call SAVE_TEXT correctly.

Hope it will be helpful
thanks

?
?

Vijay Babu Dudla??

Posts: 9,155
Questions: 14
Registered: 3/29/05
Forum points: 11,350?
?
?? Re: problem in SAVE_TEXT usage??
Posted: Nov 28, 2005 4:14 PM??? in response to: ramesh alla?????? Reply????? E-mail this post?
?

Hi Check all the Comunication tables to store texts are filled .

regards
vijay

?
?

ramesh alla??

Posts: 93
Questions: 50
Registered: 10/18/05
Forum points: 0?
?
?? Re: problem in SAVE_TEXT usage??
Posted: Nov 28, 2005 4:23 PM??? in response to: Srinivas Adavi?????? Reply????? E-mail this post?
?

Hi srinvas,

update a specific field on the table that indicates whether long text exists.

first time i am using the long text uploading.
please i am not able to see the long text indiactor field in the transaction screen.
please tell me which field i need to set.
which are the tables i need to do direct update please tell me.
if i update table directly is it required to use SAVE_TEXT?
Please help me

?
?

Srinivas Adavi??

Posts: 4,777
Questions: 7
Registered: 6/3/04
Forum points: 8,322?
?
?? Re: problem in SAVE_TEXT usage??
Posted: Nov 28, 2005 4:26 PM??? in response to: ramesh alla?????? Reply????? E-mail this post?
?

I think in your case it is the AUFK-LTEXT field. Give the same order number that you are creating long texts for, and update this field to 'X'.

To verify, you can manually enter long texts to an order and check this field.

Srinivas

?
?

Srinivas Adavi??

Posts: 4,777
Questions: 7
Registered: 6/3/04
Forum points: 8,322?
?
?? Re: problem in SAVE_TEXT usage??
Posted: Nov 28, 2005 4:29 PM??? in response to: Srinivas Adavi?????? Reply????? E-mail this post?
?

Here are the steps.

First save the long texts using SAVE_TEXT.
If that is successful, then update AUFK and set this field value to 'X' using the following syntax.

UPDATE aufk SET ltext = 'X' WHERE aufnr = <your order number>


Hope this helps,

Srinivas

?
?

ramesh alla??

Posts: 93
Questions: 50
Registered: 10/18/05
Forum points: 0?
?
這個帖是講的我碰到的問題。關鍵我的是T-code:C201的。我找不到那個字段在那個數據庫表里。。。還真頭疼阿。。。?? Re: problem in SAVE_TEXT usage??
Posted: Nov 28, 2005 4:39 PM??? in response to: Srinivas Adavi?????? Reply????? E-mail this post?
?

thanks srinvias
now i am at home.
i will check tomorrow and get back to you.
?
問題已經成功解決。需要更新數據庫表的一個關鍵字段。。。

*???? Set text flag in operation data
????? lv_plpo-txtsp = sy-langu.

???? MODIFY plpo FROM TABLE lv_plpo.

看到長文本按照自己的格式傳上去,N高興啊。。。

?


總結

以上是生活随笔為你收集整理的ABAP DOC1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。