1、已开发程序查询
REPORT zmail.
TABLES: trdir, tstc.
DATA: BEGIN OF gs_data,
sel TYPE boolean, " 用于选择多行
name TYPE trdir-name, " 程序名
subc TYPE trdir-subc, " 程序类型
rstat TYPE trdir-rstat, " 状态
tcode TYPE tstc-tcode, " 事务码
ttext TYPE tstct-ttext, " 事务码描述
cnam TYPE trdir-cnam, " 创建者
cdat TYPE trdir-cdat, " 创建日期
unam TYPE trdir-unam, " 最后修改人
udat TYPE trdir-udat, " 修改日期
END OF gs_data.
DATA: gt_data LIKE TABLE OF gs_data. " ALV显示內表
DATA: line TYPE i." ALV行数
" 选择屏幕
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: s_name FOR trdir-name, " 程序名
s_tcode FOR tstc-tcode, " 事务码
s_cnam FOR trdir-cnam, " 创建者
s_unam FOR trdir-unam, " 最后修改人
s_subc FOR trdir-subc DEFAULT 1, " 程序类型
s_rstat FOR trdir-rstat. " 状态
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
%_s_name_%_app_%-text = '程序名'.
%_s_tcode_%_app_%-text = '事务码'.
%_s_cnam_%_app_%-text = '创建者'.
%_s_unam_%_app_%-text = '最后修改人'.
%_s_subc_%_app_%-text = '程序类型'.
%_s_rstat_%_app_%-text = '状态'.
" F8事件
AT SELECTION-SCREEN.
DATA p_prog TYPE programm .
DATA: l_rc(5).
p_prog = sy-repid.
PERFORM copy_status_diff_progs_new IN PROGRAM saplsmpe IF FOUND
USING 'X' 'SAPLKKBL' p_prog 'STANDARD_FULLSCREEN' 'STATUS_ALV'
CHANGING l_rc.
START-OF-SELECTION.
IF s_name[] IS INITIAL AND " 程序名
s_cnam[] IS INITIAL AND " 创建者
s_unam[] IS INITIAL AND " 最后修改人
s_subc[] IS INITIAL AND " 程序类型
s_tcode[] IS INITIAL AND " 事务码
s_rstat[] IS INITIAL. " 状态
MESSAGE '请至少输入一个条件!' TYPE 'S' DISPLAY LIKE 'E'.
EXIT.
ENDIF.
PERFORM get_data.
IF gt_data[] IS INITIAL.
MESSAGE '无符合条件的记录' TYPE 'S' DISPLAY LIKE 'E'.
EXIT.
ENDIF.
PERFORM alv_data.
*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*
* text 获取数据
*----------------------------------------------------------------------*
FORM get_data.
DATA: BEGIN OF ls_tstc,
tcode TYPE tstc-tcode,
ttext TYPE tstct-ttext,
END OF ls_tstc.
DATA: lt_tstc LIKE TABLE OF ls_tstc.
" 输入事务码时
IF s_tcode[] IS NOT INITIAL.
SELECT
a~tcode
b~name
b~subc
b~rstat
b~cnam
b~cdat
b~unam
b~udat
c~ttext
INTO CORRESPONDING FIELDS OF TABLE gt_data
FROM tstc AS a
INNER JOIN trdir AS b ON a~pgmna = b~name
INNER JOIN tstct AS c ON a~tcode = c~tcode
WHERE a~tcode IN s_tcode
AND b~name IN s_name " 程序名
AND b~cnam IN s_cnam " 创建者
AND b~unam IN s_unam " 最后修改人
AND b~subc IN s_subc " 程序类型
AND b~rstat IN s_rstat. " 状态
ELSE.
" 没有输入事务码时
SELECT
a~name
a~subc
a~rstat
a~cnam
a~cdat
a~unam
a~udat
b~tcode
INTO CORRESPONDING FIELDS OF TABLE gt_data
FROM trdir AS a
LEFT JOIN tstc AS b ON a~name = b~pgmna
WHERE a~name IN s_name " 程序名
AND a~cnam IN s_cnam " 创建者
AND a~unam IN s_unam " 最后修改人
AND a~subc IN s_subc " 程序类型
AND a~rstat IN s_rstat. " 状态
IF gt_data[] IS NOT INITIAL.
" 查询事务码描述文本
SELECT
tcode
ttext
INTO CORRESPONDING FIELDS OF TABLE lt_tstc
FROM tstct
FOR ALL ENTRIES IN gt_data
WHERE tcode = gt_data-tcode.
SORT lt_tstc BY tcode." 先排序
LOOP AT gt_data INTO gs_data.
READ TABLE lt_tstc INTO ls_tstc WITH KEY tcode = gs_data-tcode BINARY SEARCH.
IF sy-subrc EQ 0.
gs_data-ttext = ls_tstc-ttext.
MODIFY gt_data FROM gs_data TRANSPORTING ttext.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
" 统计內表行数
DESCRIBE TABLE gt_data LINES line.
" 排序
SORT gt_data BY cnam cdat.
ENDFORM. "get_data
*&---------------------------------------------------------------------*
*& Form alv_data
*&---------------------------------------------------------------------*
* text 显示ALV数据
*----------------------------------------------------------------------*
FORM alv_data.
DATA: fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
layout TYPE slis_layout_alv.
PERFORM get_layout CHANGING layout. " alv布局
PERFORM get_fieldcat TABLES fieldcat. " 控制报表显示哪些栏位
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid " 程序名
is_layout = layout " 布局
i_callback_pf_status_set = 'STATUS_ALV' " STATUS
i_callback_user_command = 'USER_COMMAND_FORM' " 定义按钮的功能
it_fieldcat = fieldcat[] " alv栏目(显示字段)内表
TABLES
t_outtab = gt_data " 将内表数据赋给ALV
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. "alv_data
*&---------------------------------------------------------------------*
*& Form get_layout
*&---------------------------------------------------------------------*
* text ALV布局设置
*----------------------------------------------------------------------*
* -->C_LAYOUT text
*----------------------------------------------------------------------*
FORM get_layout CHANGING c_layout TYPE slis_layout_alv.
CLEAR: c_layout.
c_layout-colwidth_optimize = 'X'." 宽度自动调节
c_layout-box_fieldname = 'SEL'. " 选择多行
c_layout-zebra = 'X'. " 颜色交替显示
ENDFORM. "get_layout
*&---------------------------------------------------------------------*
*& Form USER_COMMAND_FORM
*&---------------------------------------------------------------------*
* text 自定义按钮功能
*----------------------------------------------------------------------*
* -->R_UCOMM text
* -->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM user_command_form USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
READ TABLE gt_data INTO gs_data INDEX rs_selfield-tabindex.
IF sy-subrc EQ 0 AND gs_data-tcode IS NOT INITIAL.
CASE r_ucomm.
WHEN '&IC1'. " 双击事件
CALL TRANSACTION gs_data-tcode. " 调用事务码,运行程序
WHEN OTHERS.
ENDCASE.
ENDIF.
ENDFORM. "USER_COMMAND_FORM
*&---------------------------------------------------------------------*
*& Form get_fieldcat
*&---------------------------------------------------------------------*
* text 显示字段
*----------------------------------------------------------------------*
* -->CT_TAB text
*----------------------------------------------------------------------*
FORM get_fieldcat TABLES ct_tab TYPE slis_t_fieldcat_alv.
DATA: fcat TYPE slis_fieldcat_alv.
DEFINE add_fcat.
CLEAR fcat.
fcat-fieldname = &1. " 字段名
fcat-seltext_l = &2. " 显示字段文本
fcat-seltext_m = &2.
fcat-seltext_s = &2.
fcat-key = &3. " 主键
fcat-hotspot = &4. " 链接
fcat-checkbox = &5. " 复选框
fcat-edit = &6. " 是否可修改
fcat-ref_tabname = &7. " 参考表
fcat-ref_fieldname = &8. " 参考表字段
APPEND fcat TO ct_tab.
END-OF-DEFINITION.
add_fcat 'NAME' '程序名' '' '' '' '' '' ''.
add_fcat 'SUBC' '程序类型' '' '' '' '' 'TRDIR' 'SUBC'.
add_fcat 'RSTAT' '状态' '' '' '' '' 'TRDIR' 'RSTAT'.
add_fcat 'TCODE' '事务码' '' '' '' '' '' ''.
add_fcat 'TTEXT' '事务码描述' '' '' '' '' '' ''.
add_fcat 'CNAM' '创建者' '' '' '' '' '' ''.
add_fcat 'CDAT' '创建日期' '' '' '' '' '' ''.
add_fcat 'UNAM' '最后修改人' '' '' '' '' '' ''.
add_fcat 'UDAT' '修改日期' '' '' '' '' '' ''.
ENDFORM. "get_fieldcat
*&---------------------------------------------------------------------*
*& Form pfstatus_form
*&---------------------------------------------------------------------*
* text STATUS
*----------------------------------------------------------------------*
* -->RT_EXTAB text
*----------------------------------------------------------------------*
FORM status_alv USING rt_extab TYPE slis_t_extab.
SET TITLEBAR 'TITLE_BAR' WITH line. " 标题
SET PF-STATUS 'STATUS_ALV' EXCLUDING rt_extab.
* SET PF-STATUS 'STATUS_ALV'. " 工具条
ENDFORM. "pfstatus_form </span>
知识兔2、展开BOM
*&---------------------------------------------------------------------*
*& Report ZPP_R001
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zsearch MESSAGE-ID zpp.
**********************************************************************
*引用 *
**********************************************************************
TABLES:mast,stko.
TYPE-POOLS:slis.
**********************************************************************
*TYPES
**********************************************************************
TYPES:BEGIN OF ts_data,
box TYPE c LENGTH 1, "
stufe TYPE c LENGTH 5, "层级
werks TYPE mast-werks, "工厂
matnr TYPE mast-matnr, "产品编码
char20(20) TYPE c,
maktx TYPE makt-maktx, "产品描述
stlan TYPE mast-stlan, "BOM 用途
stlal TYPE mast-stlal, "可选的 BOM
stlnr TYPE mast-stlnr, "BOM 物料单
aennr TYPE stko-aennr, "更改编码
datuv TYPE stko-datuv, "有效起始日期
datu1 TYPE stko-datuv, "有效起始日期
stktx TYPE stko-stktx, "BOM版本
bmeng TYPE stko-bmeng, "基本数量
bmein TYPE stko-bmein, "产品单位
posnr TYPE stpo-posnr, "项目
idnrk TYPE stpo-idnrk, "子件编码
ojtxp TYPE char40, "子件描述
menge TYPE stpo-menge, "子件数量
meins TYPE stpo-meins, "单位
lgort TYPE stpo-lgort,
rekrs TYPE stpo-rekrs,
alpgr TYPE stpo-alpgr,
alprf TYPE stpo-alprf,
alpst TYPE stpo-alpst,
ewahr TYPE stpo-ewahr,
potx1 TYPE stpo-potx1,
potx2 TYPE stpo-potx2,
ausch TYPE stpo-ausch,
zzsl TYPE stpo-menge,
END OF ts_data.
**********************************************************************
*ALV 定义 和 DATA
**********************************************************************
DATA:gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE, "定义列标题(属性信息)
gs_layout TYPE slis_layout_alv,
wa_repid LIKE sy-repid. "当前程序
DATA:lt_data TYPE STANDARD TABLE OF ts_data WITH HEADER LINE.
DATA:gt_data TYPE STANDARD TABLE OF ts_data WITH HEADER LINE.
DATA:lt_mast TYPE STANDARD TABLE OF mast WITH HEADER LINE.
DATA:lt_stko TYPE STANDARD TABLE OF stko WITH HEADER LINE.
DATA:lt_stpox LIKE stpox OCCURS 100 WITH HEADER LINE.
DATA:lt_matcat LIKE cscmat OCCURS 100 WITH HEADER LINE.
DATA:ls_topmat TYPE cstmat.
************************************************************************
* SELECTION-SCREEN
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE TEXT-001. "选择条件
SELECT-OPTIONS: s_matnr FOR mast-matnr, "产品编码
s_werks FOR mast-werks DEFAULT '2000', "工厂
s_stlan FOR mast-stlan, "BOM用途
s_datuv FOR stko-datuv. "有效起始日期
PARAMETERS:p_dqbb AS CHECKBOX DEFAULT 'X'. "当前版本
SELECTION-SCREEN END OF BLOCK bk1.
SELECTION-SCREEN BEGIN OF BLOCK bk2 WITH FRAME TITLE TEXT-004."单层多层
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN COMMENT 1(4) TEXT-002.
PARAMETERS:p_danc RADIOBUTTON GROUP cx DEFAULT 'X' . "单层
SELECTION-SCREEN COMMENT 10(4) TEXT-003.
PARAMETERS:p_duoc RADIOBUTTON GROUP cx. "多层
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK bk2.
***====================================================================*
*初始化
***====================================================================*
INITIALIZATION.
%C002009_1000 = '单层'.
%C003011_1000 = '多层'.
%_p_danc_%_app_%-text = '单层'.
%_p_dqbb_%_app_%-text = '当前版本'.
%_p_duoc_%_app_%-text = '多层'.
%_s_datuv_%_app_%-text = '有效起始日期'.
%_s_matnr_%_app_%-text = '产品编码'.
%_s_stlan_%_app_%-text = 'BOM用途'.
%_s_werks_%_app_%-text = '工厂'.
***====================================================================*
*获取数据
***====================================================================*
START-OF-SELECTION.
IF p_dqbb IS INITIAL . "当前版本为空时,以输入日期为条件获取数据,每一条物料的最大日期数据将日期修改为当前日期
SELECT mast~matnr mast~werks mast~stlan mast~stlnr mast~stlal
stko~aennr stko~datuv stko~stktx stko~bmeng stko~bmein
FROM mast
INNER JOIN stko
ON mast~stlnr = stko~stlnr
AND mast~stlal = stko~stlal
INTO CORRESPONDING FIELDS OF TABLE lt_data
WHERE mast~matnr IN s_matnr AND mast~werks IN s_werks AND mast~stlan IN s_stlan
AND stko~datuv IN s_datuv.
SORT lt_data BY matnr werks datuv DESCENDING.
LOOP AT lt_data.
lt_data-datu1 = lt_data-datuv.
CONCATENATE lt_data-werks lt_data-matnr INTO lt_data-char20.
MODIFY lt_data TRANSPORTING datu1 char20.
ENDLOOP.
SORT lt_data BY char20 datuv DESCENDING.
LOOP AT lt_data.
AT NEW char20.
lt_data-datu1 = sy-datum.
MODIFY lt_data TRANSPORTING datu1.
ENDAT.
ENDLOOP.
ELSE. "当前版本不为空时,以当前日期为条件获取数据
SELECT mast~matnr mast~werks mast~stlan mast~stlnr mast~stlal
stko~aennr stko~datuv stko~stktx stko~bmeng stko~bmein
FROM mast
INNER JOIN stko
ON mast~stlnr = stko~stlnr
AND mast~stlal = stko~stlal
INTO CORRESPONDING FIELDS OF TABLE lt_data
WHERE mast~matnr IN s_matnr AND mast~werks IN s_werks AND mast~stlan IN s_stlan
AND stko~datuv IN s_datuv.
SORT lt_data BY matnr werks datuv DESCENDING.
DELETE ADJACENT DUPLICATES FROM lt_data COMPARING matnr werks stlal.
LOOP AT lt_data.
lt_data-datu1 = sy-datum.
MODIFY lt_data TRANSPORTING datu1.
ENDLOOP.
ENDIF.
CLEAR:gt_data.
LOOP AT lt_data.
IF p_danc = 'X'. "单层展开
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
capid = 'PP01' "BOM应用
datuv = lt_data-datu1 "BOM有效期
mktls = 'X'
mehrs = '' "x表示多层展开﹐space表示只展开第一层
mtnrv = lt_data-matnr "产品编码/要展开BOM的物料
svwvo = 'X'
werks = lt_data-werks "物料所在工厂
vrsvo = 'X'
stlal = lt_data-stlal "物料用途
IMPORTING
topmat = ls_topmat
* matcat = matcat "下面含有元件的物料存放在该内表
TABLES
stb = lt_stpox
matcat = lt_matcat
EXCEPTIONS
alt_not_found = 1
material_not_found = 3
missing_authorization = 4
no_bom_found = 5
OTHERS = 9.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ELSEIF p_duoc = 'X'. "多层展开
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
capid = 'PP01' "BOM应用
datuv = lt_data-datu1 "有效起始日
mktls = 'X'
mehrs = 'X' "多层展开
mtnrv = lt_data-matnr "产品编码
svwvo = 'X'
werks = lt_data-werks "物料所在工厂
vrsvo = 'X'
stlal = lt_data-stlal
IMPORTING
topmat = ls_topmat
TABLES
stb = lt_stpox
matcat = lt_matcat
EXCEPTIONS
alt_not_found = 1
material_not_found = 3
missing_authorization = 4
no_bom_found = 5
OTHERS = 9.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDIF.
******************************最后展示数据整理******************8
LOOP AT lt_stpox.
gt_data-stufe = lt_stpox-stufe. "层级
gt_data-werks = lt_data-werks. "工厂
LOOP AT lt_matcat WHERE index = lt_stpox-ttidx.
gt_data-matnr = lt_matcat-matnr. "产品编码
gt_data-stktx = lt_matcat-stktx. "BOM版本
ENDLOOP.
gt_data-maktx = lt_stpox-ojtxb. "产品描述
gt_data-stlan = lt_data-stlan. "BOM用途
gt_data-stlal = lt_data-stlal. "可选BOM
gt_data-aennr = lt_data-aennr. "更改编码
gt_data-datuv = lt_data-datuv. "有效起始日期
* gt_data-stktx = ls_topmat-stktx. "BOM版本
gt_data-bmeng = ls_topmat-bmeng. "基本数量
gt_data-bmein = ls_topmat-bmein. "产品单位
gt_data-posnr = lt_stpox-posnr. "项目
gt_data-idnrk = lt_stpox-idnrk. "子件编码
gt_data-ojtxp = lt_stpox-ojtxp. "子件描述
gt_data-menge = lt_stpox-menge. "子件数量
gt_data-meins = lt_stpox-meins. "单位
gt_data-lgort = lt_stpox-lgort.
gt_data-rekrs = lt_stpox-rekrs.
gt_data-alpgr = lt_stpox-alpgr.
gt_data-alprf = lt_stpox-alprf.
gt_data-alpst = lt_stpox-alpst.
gt_data-ewahr = lt_stpox-ewahr.
gt_data-potx1 = lt_stpox-potx1.
gt_data-potx2 = lt_stpox-potx2.
gt_data-ausch = lt_stpox-ausch.
gt_data-zzsl = lt_stpox-menge * ( 1 + gt_data-ausch / 100 ).
APPEND gt_data.
CLEAR gt_data.
ENDLOOP.
ENDLOOP.
DESCRIBE TABLE gt_data LINES DATA(lines).
IF lines < 1.
MESSAGE s000(zpp) WITH '没有相关单据信息!' DISPLAY LIKE 'W'.
RETURN.
ELSE.
MESSAGE s000(zpp) WITH '共查询到记录' lines '条.' DISPLAY LIKE 'S'.
ENDIF.
**************************ALV输出布局********************************
gs_layout-zebra = 'X'.
gs_layout-colwidth_optimize = 'X'.
gs_layout-box_fieldname = 'BOX'.
wa_repid = sy-repid.
**************************ALV输出字段设置****************************
* DATA LV_POS TYPE I .
REFRESH gt_fieldcat.
CLEAR gt_fieldcat.
* CLEAR lv_pos.
DEFINE %%append_fieldcat.
* lv_pos = lv_pos + 1.
* gs_fieldcat-col_pos = lv_pos.
gt_fieldcat-fieldname = &1."字段名
gt_fieldcat-seltext_l = &2."文本
IF gt_fieldcat-fieldname = 'BOX'.
gt_fieldcat-checkbox = 'X'.
ENDIF.
IF gt_fieldcat-fieldname = 'MATNR'.
gt_fieldcat-ref_tabname = 'MARA'.
gt_fieldcat-ref_fieldname = 'MATNR'.
gt_fieldcat-no_zero = 'X'.
ENDIF.
IF gt_fieldcat-fieldname = 'IDNRK'.
gt_fieldcat-ref_tabname = 'MARA'.
gt_fieldcat-ref_fieldname = 'MATNR'.
gt_fieldcat-no_zero = 'X'.
ENDIF.
IF gt_fieldcat-fieldname = 'EWAHR'.
gt_fieldcat-no_zero = 'X'.
ENDIF.
IF gt_fieldcat-fieldname = 'BMEIN'.
gt_fieldcat-ref_tabname = 'STKO'.
gt_fieldcat-ref_fieldname = 'BMEIN'.
ENDIF.
IF gt_fieldcat-fieldname = 'MEINS'.
gt_fieldcat-ref_tabname = 'STPO'.
gt_fieldcat-ref_fieldname = 'MEINS'.
ENDIF.
APPEND gt_fieldcat.
CLEAR gt_fieldcat.
END-OF-DEFINITION.
%%append_fieldcat:
* 'BOX' 'SELECT',
'STUFE' '层级',
'WERKS' '工厂',
'MATNR' '产品编码',
'MAKTX' '产品描述',
'STLAN' 'BOM用途',
'STLAL' '可选BOM',
'AENNR' '更改编码',
'DATUV' '有效起始日期',
'STKTX' 'BOM版本',
'BMENG' '基本数量',
'BMEIN' '产品单位',
'POSNR' '项目',
'IDNRK' '子件编码',
'OJTXP' '子件描述',
'MENGE' '子件数量',
'MEINS' '单位',
'LGORT' '生产库存地点',
'REKRS' '递归允许',
'ALPGR' '替代项目组',
'ALPRF' '优先级',
'ALPST' '策略',
'EWAHR' '使用可能性%',
'POTX1' '净含量',
'POTX2' '出品率',
'AUSCH' '物料损耗%',
'ZZSL' '子件总数量'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = wa_repid
i_callback_pf_status_set = 'FRM_USER_STATUS' "USER_COMMAND
i_callback_user_command = 'FRM_USER_COMMAND'
is_layout = gs_layout
i_save = 'X'
it_fieldcat = gt_fieldcat[]
TABLES
t_outtab = gt_data[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2.
EXIT.
ENDIF.
*&---------------------------------------------------------------------*
*& Form frm_user_status
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->EXTAB text
*----------------------------------------------------------------------*
FORM frm_user_status USING extab TYPE slis_t_extab.
SET PF-STATUS '1000_STATUS'.
ENDFORM. "frm_user_status
*&---------------------------------------------------------------------*
*& Form frm_user_command
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->R_UCOMM text
* -->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM frm_user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN 'BCAK' OR 'CANCEL' OR 'EXIT' OR 'ESC'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDFORM. "frm_user_command
知识兔