Pushbutton && scrren && submit
来源:互联网 发布:js实现动画效果 编辑:程序博客网 时间:2024/06/16 02:03
*&---------------------------------------------------------------------*
*& Report Y_TEST_INTERFACE2
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
report y_test_interface2.
type-pools : slis,vrm.
tables: t030, skat, sscrfields,afko,afpo,zatpp008.
data: g_save(1) type c.
data: g_exit(1) type c.
data: name type vrm_id,
list type vrm_values,
value like line of list.
data: is_variant like disvariant. "ALV 儲存配置
data: is_layout type slis_layout_alv. "ALV 格式設定 *
data: is_layout_lvc type lvc_s_layo. "ALV 格式設定 *
data: sel_tab type table of rsparams,
sel_tab_wa like line of sel_tab.
data:g_f4vari(1) type c.
* 作業選取 & ALV 儲存配置選取 ---------------------------------------
selection-screen begin of block blk01 with frame title text-001.
parameters: lb_key as listbox visible length 40 user-command upd.
selection-screen: begin of line.
selection-screen comment 1(31) text-110 for field p_vari .
parameters: p_vari type slis_vari.
selection-screen:end of line.
selection-screen end of block blk01.
*條件選取 -----------------------------------------------------
selection-screen begin of block blk02 with frame title text-002.
parameters : p_werks like afpo-pwerk obligatory .
select-options : s_aufnr for zatpp008-aufnr."工单号码a
parameters : p_dept like zatpp008-dept obligatory.
select-options : s_matnr for zatpp008-matnr . "工單生產料號
select-options : s_idnrk for zatpp008-matnr. "下階料
selection-screen end of block blk02.
selection-screen begin of block block1 with frame title text-102.
selection-screen comment /01(78) text-401.
selection-screen skip 1.
selection-screen begin of line.
selection-screen pushbutton 10(20) text-230 user-command but2230.
selection-screen pushbutton 40(20) text-231 user-command but2231.
selection-screen end of line.
selection-screen skip 1.
selection-screen begin of line.
selection-screen pushbutton 10(20) text-234 user-command but2234.
selection-screen pushbutton 40(30) text-236 user-command but2236.
selection-screen end of line.
selection-screen end of block block1.
initialization .
*由 T-CODE -> SU01 取得使用者帳號,頁簽 -參數,針對參數設定值 *
get parameter id 'WRK' field p_werks.
perform set_listbox.
"取得初始作業 其 ALV 儲存配置預設值
g_save = 'A'.
"ALV ABAP 程式名稱命名規則 ->程式名稱 加 -流水號 *
perform get_default_variant using 'ZAPP02R2230-1'.
at selection-screen output.
case lb_key.
when 'A'.
when 'B'.
when 'T'.
when 'U'.
when 'P'.
when 'S'.
endcase..
at selection-screen on lb_key.
at selection-screen.
"檢查權限,因畫面工廠只能輸入單一值,故在此檢查,若可輸入多工廠,
"請在資料處理迴路中進行檢查
perform check_authority.
"若畫面欄位 -> ALV 儲存配置 未按 F4 進行選取,
"則以畫面欄位-> 作業選取 ,所選定作業取得其預設 ALV儲存配置
if g_f4vari is initial .
case lb_key. "作業選取
when 'A'. "1 工單-表頭
"ALV ABAP 程式名稱命名規則 ->程式名稱 加 -流水號 *
perform get_default_variant using 'ZAPP02R2230-1'.
when 'B'. "2 工單-下階料
"ALV ABAP 程式名稱命名規則 ->程式名稱 加 -流水號 *
perform get_default_variant using 'ZAPP02R2230-2'.
endcase.
endif.
"若畫面欄位 -> ALV 儲存配置 有按 F4 進行選取, 在此將旗標清除
clear:g_f4vari.
"點擊 Pushbutton 鏈接
perform select_screen.
at selection-screen on value-request for p_vari."ALV 儲存配置 按 F4 查詢
case lb_key. "作業選取
when 'A'.
perform f4_alv_variant using 'ZAPP02R2230-1'.
when 'B'.
perform f4_alv_variant using 'ZAPP02R2230-2'.
endcase.
"將旗標設成 'X', 表示有按 F4 查詢 ,
"此旗標在 AT SELECTION-SCREEN 會有判定處理
move 'X' to g_f4vari.
start-of-selection.
"執行 轉向 TCODE
perform post_tcode.
*&---------------------------------------------------------------------*
*& Form f4_alv_variant
*&---------------------------------------------------------------------*
* ALV 儲存配置 按 F4 查詢
*----------------------------------------------------------------------*
form f4_alv_variant using u_prgm.
data: is_variantx like disvariant. "ALV 儲存配置
is_variantx-report = u_prgm.
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = is_variant
i_save = g_save
importing
e_exit = g_exit
es_variant = is_variantx
exceptions
not_found = 1
program_error = 2.
if sy-subrc = 2.
message id sy-msgid type 's' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
if g_exit = space.
p_vari = is_variantx-variant. "將選取值傳回畫面欄位
endif.
endif.
endform.
*&---------------------------------------------------------------------*
*& Form check_authority
*&---------------------------------------------------------------------*
* 檢查權限
*----------------------------------------------------------------------*
form check_authority.
"必須有查詢 工單權限
authority-check object 'C_AFKO_AWA'
id 'ACTVT' field '03'
id 'AUFART' field '*'
id 'AUTYP' field '10'
id 'WERKS' field p_werks.
if sy-subrc <> 0.
* MESSAGE s009(zapp01) WITH p_dwerk .
* message s009 with p_werks .
* stop.
endif.
endform. "check_authority
*&---------------------------------------------------------------------*
*& Form Post_tcode
*&---------------------------------------------------------------------*
* 執行轉向 TCODE
*----------------------------------------------------------------------*
form post_tcode.
perform post_data.
case lb_key.
when 'A'.
submit yapp02r2230 with selection-table sel_tab and return.
when 'B'.
submit yapp02r2230 with selection-table sel_tab and return.
when 'T'.
submit zapp02r2231 with selection-table sel_tab and return.
when 'U'.
submit zapp02r2231 with selection-table sel_tab and return.
when 'X'.
submit zapp02r2234 with selection-table sel_tab and return.
when 'P'.
submit zapp02r2236 with selection-table sel_tab and return.
endcase.
endform. "Post_tcode
*&---------------------------------------------------------------------*
*& Form post_data
*&---------------------------------------------------------------------*
* 組合 選擇數據 進行傳遞
*----------------------------------------------------------------------*
form post_data.
clear:sel_tab,sel_tab[].
sel_tab_wa-selname = 'LB_KEY'.
sel_tab_wa-sign = 'I'.
sel_tab_wa-option = 'EQ'.
sel_tab_wa-low = lb_key.
append sel_tab_wa to sel_tab.
sel_tab_wa-selname = 'P_VARI'.
sel_tab_wa-sign = 'I'.
sel_tab_wa-option = 'EQ'.
sel_tab_wa-low = p_vari.
append sel_tab_wa to sel_tab.
sel_tab_wa-selname = 'P_WERKS'.
sel_tab_wa-sign = 'I'.
sel_tab_wa-option = 'EQ'.
sel_tab_wa-low = p_werks.
append sel_tab_wa to sel_tab.
loop at s_aufnr.
sel_tab_wa-selname = 'S_AUFNR'.
sel_tab_wa-sign = s_aufnr-sign.
sel_tab_wa-option = s_aufnr-option.
sel_tab_wa-low = s_aufnr-low.
sel_tab_wa-high = s_aufnr-high.
append sel_tab_wa to sel_tab.
endloop.
sel_tab_wa-selname = 'P_DEPT'.
sel_tab_wa-sign = 'I'.
sel_tab_wa-option = 'EQ'.
sel_tab_wa-low = p_dept.
append sel_tab_wa to sel_tab.
loop at s_matnr.
sel_tab_wa-selname = 'S_MATNR'.
sel_tab_wa-sign = s_matnr-sign.
sel_tab_wa-option = s_matnr-option.
sel_tab_wa-low = s_matnr-low.
sel_tab_wa-high = s_matnr-high.
append sel_tab_wa to sel_tab.
endloop.
loop at s_idnrk.
sel_tab_wa-selname = 'S_IDNRK'.
sel_tab_wa-sign = s_idnrk-sign.
sel_tab_wa-option = s_idnrk-option.
sel_tab_wa-low = s_idnrk-low.
sel_tab_wa-high = s_idnrk-high.
append sel_tab_wa to sel_tab.
endloop.
endform. "post_data
*&---------------------------------------------------------------------*
*& Form set_listbox
*&---------------------------------------------------------------------*
* 初始化 領料單類型 KEY值
*----------------------------------------------------------------------*
form set_listbox.
clear: list[].
name = 'LB_KEY'.
lb_key = 'A'.
value-key = 'A'. value-text = text-501.
append value to list.
value-key = 'B'. value-text = text-502.
append value to list.
value-key = 'T'. value-text = text-503.
append value to list.
value-key = 'U'. value-text = text-504.
append value to list.
value-key = 'X'. value-text = text-505.
append value to list.
value-key = 'P'. value-text = text-506.
append value to list.
call function 'VRM_SET_VALUES'
exporting
id = name
values = list.
endform. "set_listbox
*&---------------------------------------------------------------------*
*& Form get_default_variant
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->U_PRGM text
*----------------------------------------------------------------------*
form get_default_variant using u_prgm.
clear is_variant.
is_variant-report = u_prgm.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
exporting
i_save = g_save
" A,U --> 先取使用者設定預設,若無再取 Global 設定預設
" X --> 僅取 Global 設定預設
changing
cs_variant = is_variant
exceptions
wrong_input = 1
not_found = 2
program_error = 3.
if sy-subrc = 0.
p_vari = is_variant-variant. "將選取值傳回畫面欄位
endif.
endform. "get_default_variant
*&---------------------------------------------------------------------*
*& Form select_screen
*&---------------------------------------------------------------------*
* 點擊 畫面 Pushbutton 鏈接TCODE
*----------------------------------------------------------------------*
form select_screen.
if sscrfields-ucomm = 'BUT2230'.
perform post_data.
submit yapp02r2230 with selection-table sel_tab and return.
endif.
if sscrfields-ucomm = 'BUT2231'.
perform post_data.
submit zapp02r2231 with selection-table sel_tab and return.
endif.
if sscrfields-ucomm = 'BUT2234'.
perform post_data.
submit zapp02r2234 with selection-table sel_tab and return.
endif.
if sscrfields-ucomm = 'BUT2236'.
perform post_data.
submit zapp02r2236 with selection-table sel_tab and return.
endif.
endform. "select_screen
*& Report Y_TEST_INTERFACE2
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
report y_test_interface2.
type-pools : slis,vrm.
tables: t030, skat, sscrfields,afko,afpo,zatpp008.
data: g_save(1) type c.
data: g_exit(1) type c.
data: name type vrm_id,
list type vrm_values,
value like line of list.
data: is_variant like disvariant. "ALV 儲存配置
data: is_layout type slis_layout_alv. "ALV 格式設定 *
data: is_layout_lvc type lvc_s_layo. "ALV 格式設定 *
data: sel_tab type table of rsparams,
sel_tab_wa like line of sel_tab.
data:g_f4vari(1) type c.
* 作業選取 & ALV 儲存配置選取 ---------------------------------------
selection-screen begin of block blk01 with frame title text-001.
parameters: lb_key as listbox visible length 40 user-command upd.
selection-screen: begin of line.
selection-screen comment 1(31) text-110 for field p_vari .
parameters: p_vari type slis_vari.
selection-screen:end of line.
selection-screen end of block blk01.
*條件選取 -----------------------------------------------------
selection-screen begin of block blk02 with frame title text-002.
parameters : p_werks like afpo-pwerk obligatory .
select-options : s_aufnr for zatpp008-aufnr."工单号码a
parameters : p_dept like zatpp008-dept obligatory.
select-options : s_matnr for zatpp008-matnr . "工單生產料號
select-options : s_idnrk for zatpp008-matnr. "下階料
selection-screen end of block blk02.
selection-screen begin of block block1 with frame title text-102.
selection-screen comment /01(78) text-401.
selection-screen skip 1.
selection-screen begin of line.
selection-screen pushbutton 10(20) text-230 user-command but2230.
selection-screen pushbutton 40(20) text-231 user-command but2231.
selection-screen end of line.
selection-screen skip 1.
selection-screen begin of line.
selection-screen pushbutton 10(20) text-234 user-command but2234.
selection-screen pushbutton 40(30) text-236 user-command but2236.
selection-screen end of line.
selection-screen end of block block1.
initialization .
*由 T-CODE -> SU01 取得使用者帳號,頁簽 -參數,針對參數設定值 *
get parameter id 'WRK' field p_werks.
perform set_listbox.
"取得初始作業 其 ALV 儲存配置預設值
g_save = 'A'.
"ALV ABAP 程式名稱命名規則 ->程式名稱 加 -流水號 *
perform get_default_variant using 'ZAPP02R2230-1'.
at selection-screen output.
case lb_key.
when 'A'.
when 'B'.
when 'T'.
when 'U'.
when 'P'.
when 'S'.
endcase..
at selection-screen on lb_key.
at selection-screen.
"檢查權限,因畫面工廠只能輸入單一值,故在此檢查,若可輸入多工廠,
"請在資料處理迴路中進行檢查
perform check_authority.
"若畫面欄位 -> ALV 儲存配置 未按 F4 進行選取,
"則以畫面欄位-> 作業選取 ,所選定作業取得其預設 ALV儲存配置
if g_f4vari is initial .
case lb_key. "作業選取
when 'A'. "1 工單-表頭
"ALV ABAP 程式名稱命名規則 ->程式名稱 加 -流水號 *
perform get_default_variant using 'ZAPP02R2230-1'.
when 'B'. "2 工單-下階料
"ALV ABAP 程式名稱命名規則 ->程式名稱 加 -流水號 *
perform get_default_variant using 'ZAPP02R2230-2'.
endcase.
endif.
"若畫面欄位 -> ALV 儲存配置 有按 F4 進行選取, 在此將旗標清除
clear:g_f4vari.
"點擊 Pushbutton 鏈接
perform select_screen.
at selection-screen on value-request for p_vari."ALV 儲存配置 按 F4 查詢
case lb_key. "作業選取
when 'A'.
perform f4_alv_variant using 'ZAPP02R2230-1'.
when 'B'.
perform f4_alv_variant using 'ZAPP02R2230-2'.
endcase.
"將旗標設成 'X', 表示有按 F4 查詢 ,
"此旗標在 AT SELECTION-SCREEN 會有判定處理
move 'X' to g_f4vari.
start-of-selection.
"執行 轉向 TCODE
perform post_tcode.
*&---------------------------------------------------------------------*
*& Form f4_alv_variant
*&---------------------------------------------------------------------*
* ALV 儲存配置 按 F4 查詢
*----------------------------------------------------------------------*
form f4_alv_variant using u_prgm.
data: is_variantx like disvariant. "ALV 儲存配置
is_variantx-report = u_prgm.
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = is_variant
i_save = g_save
importing
e_exit = g_exit
es_variant = is_variantx
exceptions
not_found = 1
program_error = 2.
if sy-subrc = 2.
message id sy-msgid type 's' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
if g_exit = space.
p_vari = is_variantx-variant. "將選取值傳回畫面欄位
endif.
endif.
endform.
*&---------------------------------------------------------------------*
*& Form check_authority
*&---------------------------------------------------------------------*
* 檢查權限
*----------------------------------------------------------------------*
form check_authority.
"必須有查詢 工單權限
authority-check object 'C_AFKO_AWA'
id 'ACTVT' field '03'
id 'AUFART' field '*'
id 'AUTYP' field '10'
id 'WERKS' field p_werks.
if sy-subrc <> 0.
* MESSAGE s009(zapp01) WITH p_dwerk .
* message s009 with p_werks .
* stop.
endif.
endform. "check_authority
*&---------------------------------------------------------------------*
*& Form Post_tcode
*&---------------------------------------------------------------------*
* 執行轉向 TCODE
*----------------------------------------------------------------------*
form post_tcode.
perform post_data.
case lb_key.
when 'A'.
submit yapp02r2230 with selection-table sel_tab and return.
when 'B'.
submit yapp02r2230 with selection-table sel_tab and return.
when 'T'.
submit zapp02r2231 with selection-table sel_tab and return.
when 'U'.
submit zapp02r2231 with selection-table sel_tab and return.
when 'X'.
submit zapp02r2234 with selection-table sel_tab and return.
when 'P'.
submit zapp02r2236 with selection-table sel_tab and return.
endcase.
endform. "Post_tcode
*&---------------------------------------------------------------------*
*& Form post_data
*&---------------------------------------------------------------------*
* 組合 選擇數據 進行傳遞
*----------------------------------------------------------------------*
form post_data.
clear:sel_tab,sel_tab[].
sel_tab_wa-selname = 'LB_KEY'.
sel_tab_wa-sign = 'I'.
sel_tab_wa-option = 'EQ'.
sel_tab_wa-low = lb_key.
append sel_tab_wa to sel_tab.
sel_tab_wa-selname = 'P_VARI'.
sel_tab_wa-sign = 'I'.
sel_tab_wa-option = 'EQ'.
sel_tab_wa-low = p_vari.
append sel_tab_wa to sel_tab.
sel_tab_wa-selname = 'P_WERKS'.
sel_tab_wa-sign = 'I'.
sel_tab_wa-option = 'EQ'.
sel_tab_wa-low = p_werks.
append sel_tab_wa to sel_tab.
loop at s_aufnr.
sel_tab_wa-selname = 'S_AUFNR'.
sel_tab_wa-sign = s_aufnr-sign.
sel_tab_wa-option = s_aufnr-option.
sel_tab_wa-low = s_aufnr-low.
sel_tab_wa-high = s_aufnr-high.
append sel_tab_wa to sel_tab.
endloop.
sel_tab_wa-selname = 'P_DEPT'.
sel_tab_wa-sign = 'I'.
sel_tab_wa-option = 'EQ'.
sel_tab_wa-low = p_dept.
append sel_tab_wa to sel_tab.
loop at s_matnr.
sel_tab_wa-selname = 'S_MATNR'.
sel_tab_wa-sign = s_matnr-sign.
sel_tab_wa-option = s_matnr-option.
sel_tab_wa-low = s_matnr-low.
sel_tab_wa-high = s_matnr-high.
append sel_tab_wa to sel_tab.
endloop.
loop at s_idnrk.
sel_tab_wa-selname = 'S_IDNRK'.
sel_tab_wa-sign = s_idnrk-sign.
sel_tab_wa-option = s_idnrk-option.
sel_tab_wa-low = s_idnrk-low.
sel_tab_wa-high = s_idnrk-high.
append sel_tab_wa to sel_tab.
endloop.
endform. "post_data
*&---------------------------------------------------------------------*
*& Form set_listbox
*&---------------------------------------------------------------------*
* 初始化 領料單類型 KEY值
*----------------------------------------------------------------------*
form set_listbox.
clear: list[].
name = 'LB_KEY'.
lb_key = 'A'.
value-key = 'A'. value-text = text-501.
append value to list.
value-key = 'B'. value-text = text-502.
append value to list.
value-key = 'T'. value-text = text-503.
append value to list.
value-key = 'U'. value-text = text-504.
append value to list.
value-key = 'X'. value-text = text-505.
append value to list.
value-key = 'P'. value-text = text-506.
append value to list.
call function 'VRM_SET_VALUES'
exporting
id = name
values = list.
endform. "set_listbox
*&---------------------------------------------------------------------*
*& Form get_default_variant
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->U_PRGM text
*----------------------------------------------------------------------*
form get_default_variant using u_prgm.
clear is_variant.
is_variant-report = u_prgm.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
exporting
i_save = g_save
" A,U --> 先取使用者設定預設,若無再取 Global 設定預設
" X --> 僅取 Global 設定預設
changing
cs_variant = is_variant
exceptions
wrong_input = 1
not_found = 2
program_error = 3.
if sy-subrc = 0.
p_vari = is_variant-variant. "將選取值傳回畫面欄位
endif.
endform. "get_default_variant
*&---------------------------------------------------------------------*
*& Form select_screen
*&---------------------------------------------------------------------*
* 點擊 畫面 Pushbutton 鏈接TCODE
*----------------------------------------------------------------------*
form select_screen.
if sscrfields-ucomm = 'BUT2230'.
perform post_data.
submit yapp02r2230 with selection-table sel_tab and return.
endif.
if sscrfields-ucomm = 'BUT2231'.
perform post_data.
submit zapp02r2231 with selection-table sel_tab and return.
endif.
if sscrfields-ucomm = 'BUT2234'.
perform post_data.
submit zapp02r2234 with selection-table sel_tab and return.
endif.
if sscrfields-ucomm = 'BUT2236'.
perform post_data.
submit zapp02r2236 with selection-table sel_tab and return.
endif.
endform. "select_screen
- Pushbutton && scrren && submit
- minimalcomps pushbutton
- SUBMIT
- SUBMIT
- SUBMIT
- pushbutton engine 下载
- pushbutton flash 游戏开发
- pushButton设置透明
- PushButton学习笔记_1
- QT Pushbutton 美化
- [Qt练习]pushButton 外观
- 设计Qt pushbutton颜色
- Qt 自定义PushButton
- Qt 自定义PushButton
- QT Pushbutton 美化
- Qt 自定义PushButton
- qt pushbutton美化
- Qt C++自制PushButton
- 程序员职业规划发展路线图
- android中Button显示两行字体(spannable)
- 解压rpm文件中的文件
- 宏定义的作用域及其冲突
- IOS中混用ARC和非ARC模式
- Pushbutton && scrren && submit
- 64位Windows上最好的免费软件(Best Free Windows 64-bit Software)
- C# 计算时间间隔的方法
- 关于uitableviewcell的accessoryType属性
- 软件工程师的务实职业生涯规划
- sql 语句的limit的用法
- 将整数转换为宽字符串
- 交互设计原则
- Effective minidump (上)