SAP ABAP屏幕(Dialog)开发中,获取文本框的内容并且存到数据库中。
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                SAP ABAP屏幕(Dialog)开发中,获取文本框的内容并且存到数据库中。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                續更SAP相關內容。
這次講一下在ABAP屏幕開發中怎樣獲取文本框的值。
在C# Winform開發中,我們直接 textBox.Text就可以取到文本框的值,但在ABAP中要繁瑣一些。
好了,操作。
(一)?捕獲到按鈕的點擊事件。
(1)首先定義一個標準的功能碼來接收按鈕的功能碼(我們前面說過的,在ABAP中,按鈕事件是通過獲取按鈕的屬性值之一:功能碼來實現的)。
DATA STATUS_CODE TYPE sy-ucomm "定義一個名字為STATUS_CODE的變量,它的類型參照系統中自帶的名字為sy-ucomm的標準功能碼"(2)通過case 功能碼?when 來接收按鈕點擊的動作,因為不同按鈕的功能碼是不一樣的。
(二)?獲取文本框的內容并加入數據庫。
(1)此時,可以捕捉到按鈕的點擊動作了,下面我們要做的是保存按鈕點擊后,獲取到文本框的值(ABAP中獲取文本框的值是通過調一個名字為DYNP_VALUES_READ的函數來實現的)。
"①獲取文本框的值"DATA: dynpfields TYPE TABLE OF dynpread WITH HEADER LINE. "定義一個名字為dynpfields的內表變量,同時還制定它是一個工作區"CLEAR: dynpfields, dynpfields[].dynpfields-fieldname = 'TXT_ORDERNO'. "TXT_ORDERNO是文本框的名字"APPEND dynpfields.CALL FUNCTION 'DYNP_VALUES_READ' "調用函數DYNP_VALUES_READ,這個函數的作用就是讀取文本框的值"EXPORTINGdyname = sy-repiddynumb = sy-dynnrtranslate_to_upper = 'X'TABLESdynpfields = dynpfields "將參數傳入"EXCEPTIONSOTHERS = 9.IF sy-subrc = 0. "SY-SUBRC: 系統執行某指令后,表示執行成功與否的變量,0表示成功"READ TABLE dynpfields WITH KEY fieldname = 'TXT_ORDERNO'. "讀取獲取到的值。"dynpfields-fieldvalue = dynpfields-fieldvalue. "將讀取到的值傳給我們dynpfields變量中的fieldvalue字段"ENDIF.(2)此時我們就獲取到一個文本框的值了,其他文本框同上(這里我還沒有找到批量獲取文本框值得方法,大家有想法我們可以要論一下),接下來就是插入到數據庫中。
"②往數據庫表添加數據"DATA:obj_Order TYPE zhbtorderhdr. "定義一個名為obj_Order的變量,它的數據類型參照數據庫中一張名為zhbtorderhdr的表"。obj_Order-e_orderno = dynpfields-fieldvalue."dynpfields-fieldvalue是從文本框中獲取到的值"obj_Order-e_orderdate = ''. "數據庫中此字段的數據類型為DAYS"obj_Order-e_orderqty ='9.9'. "數據庫中此字段的數據類型為DEC"obj_Order-e_ordersalesname = '888'."數據庫中此字段的數據類型為CHAR"obj_Order-e_ordermaterilno = '666'. "數據庫中此字段的數據類型為CHAR"obj_Order-e_ordercustomername = '876'."數據庫中此字段的數據類型為CHAR"INSERT INTO zhbtorderhdr VALUES obj_Order. "插入到數據庫中名為zhbtorderhdr的表中"好啦,完事兒啦,有缺陷目前尚未解決:沒有找到批量獲取文本框的辦法。
總結
以上是生活随笔為你收集整理的SAP ABAP屏幕(Dialog)开发中,获取文本框的内容并且存到数据库中。的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 初识Foxtable
- 下一篇: 对我影响最大的三位老师
