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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DYNP_VALUES_READ 获取屏幕动态值

發(fā)布時間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DYNP_VALUES_READ 获取屏幕动态值 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在網(wǎng)上看到這樣一個問題:獲得選擇屏幕上checkbox的值,如果值為x,則F4彈出保存文件前臺窗口,若checkbox為空,則F4彈出打開文件前臺窗口,但在ON?VALUE-REQUEST的塊中得不到最新的checkbox值,很顯然這是屏幕流邏輯的問題,邏輯沒有走到PAI,下面提供兩種方法:1.在CHECKBOX?后面加USER?COMMAND讓它觸發(fā)屏幕流邏輯;2.由于方法1要跑PAI就有可能帶來需求上的不便,這時可在VALUE-REQUEST中使用FM:DYNP_VALUES_READ來動態(tài)獲取選擇屏幕上元素的值。指定屏幕號,和程序ID,指定需要獲取的屏幕元素文本。

?? 下面簡單寫了個例子,寫這篇文章主要是引出DYNP_VALUES_READ 函數(shù),在很多時候我們都可以用它;

&---------------------------------------------------------------------*
*&?Report??ZLC_DYNP_VALUES_READ
*&
*&---------------------------------------------------------------------*
REPORT??ZLC_DYNP_VALUES_READ.

DATA:?IT_DYNPREAD???????LIKE??TABLE?OF?DYNPREAD,
??????????WA_DYNPREAD?????LIKE?DYNPREAD.

PARAMETERS?C_BOX?AS?CHECKBOX?.

SELECTION-SCREEN?BEGIN?OF?BLOCK?BLK1?.
PARAMETERS:?P_FNAME????TYPE?RLGRAP-FILENAME.
SELECTION-SCREEN?END??OF?BLOCK??BLK1.

AT?SELECTION-SCREEN??ON?VALUE-REQUEST?FOR?P_FNAME.
???CLEAR:?????IT_DYNPREAD?,?WA_DYNPREAD.
??WA_DYNPREAD-FIELDNAME?=?'C_BOX'.
??APPEND?WA_DYNPREAD?TO?IT_DYNPREAD.

????CALL?FUNCTION?'DYNP_VALUES_READ'
??????EXPORTING
????????DYNAME???????????????????????????????=?SY-REPID
????????DYNUMB???????????????????????????????=?'1000'
????????TRANSLATE_TO_UPPER?????????=??'?X'
??????TABLES
????????DYNPFIELDS???????????????????????????=?IT_DYNPREAD?.

?READ?TABLE?IT_DYNPREAD?INTO?WA_DYNPREAD?WITH?KEY?FIELDNAME?=?'C_BOX'.

?IF?SY-SUBRC?=?0.
???C_BOX?=??WA_DYNPREAD-FIELDVALUE.
?ENDIF.

??IF?C_BOX?=??'X'.
??????PERFORM???FRM_OPEN_DIALOG.
??ELSE.
??????PERFORM?FRM_SAVE_DIGLOG.
??ENDIF.
*&---------------------------------------------------------------------*
*&??????Form??FRM_OPEN_DIALOG
*&---------------------------------------------------------------------*
FORM?FRM_OPEN_DIALOG?.
??DATA:??L_WK_RC?????TYPE???I,
?????????????L_WK_ACT???TYPE???I.

??DATA:??L_IT_TABLE??TYPE?FILETABLE,
?????????????L_WA_TABLE?LIKE?LINE?OF?L_IT_TABLE.

??CALL?METHOD?CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
???CHANGING
?????FILE_TABLE?????????=??L_IT_TABLE
?????RC??????????????????????=??L_WK_RC
????USER_ACTION??????=??L_WK_ACT.

??READ?TABLE?L_IT_TABLE??INTO?L_WA_TABLE?INDEX?1.
??P_FNAME?=?L_WA_TABLE-FILENAME.

ENDFORM.????????????????????"?FRM_OPEN_DIALOG
*&---------------------------------------------------------------------*
*&??????Form??FRM_SAVE_DIGLOG
*&---------------------------------------------------------------------*
FORM?FRM_SAVE_DIGLOG?.
??DATA:?L_WK_FNAME????????TYPE?STRING,
????????????L_WK_PATH???????????TYPE?STRING,
????????????L_WK_FULLPATH????TYPE?STRING.

??????CALL?METHOD?CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
????????CHANGING
??????????FILENAME????????????=??L_WK_FNAME
??????????PATH??????????????????=??L_WK_PATH
??????????FULLPATH???????????=??L_WK_FULLPATH.
ENDFORM.????????????????????"?FRM_SAVE_DIGLOG


總結(jié)

以上是生活随笔為你收集整理的DYNP_VALUES_READ 获取屏幕动态值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。