2020-09-03 05:02发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
如果我在ALV中按下ADD输入按钮,我希望所有字段都处于可编辑模式(请注意:在此之前,某些字段为不可编辑模式)我正在使用ALV重用网格显示方法。 您能提供这种方法的解决方案吗?
找到以下示例代码。 在菜单画板上,在应用程序工具栏中创建"编辑"按钮。
报告ZALVDYNAMICEDIT。类型库:SLIS。数据:I_MARA MARA类型表, W_MARA类型MARA, I_FIELDCAT类型SLIS_T_FIELDCAT_ALV, W_FIELDCAT类型SLISV_FIELD。 选择开始。执行GETDATA。执行字段目录。执行显示。 *&------------------ -------------------------------------------------- -* *&表格GETDATA *&------------------------------------ --------------------------------- * *文字 * ------- -------------------------------------------------- ------------- * *-> p1文本 * <-p2文本 * -------------- -------------------------------------------------- ------ * FORM GETDATA。选择*从MARA到表I_MARA最多10行。 ENDFORM。 *&------------ -------------------------------------------------- ------- * *&表格FIELDCATALOG *&------------------------------ --------------------------------------- * *文字 *- -------------------------------------------------- ------ ------------- * *-> p1文本 * <-p2文本 * -------------- -------------------------------------------------- ------ * FORM FIELDCATALOG。呼叫功能'REUSE_ALV_FIELDCATALOG_MERGE'导出 * I_PROGRAM_NAME = * I_INTERNAL_TABNAME = I_STRUCTURE_NAME ='MARA' * I_CLIENT_NEVER_DIS ='X' * I_INCLNAME = * I_BYPASSING_BUFFER = * I_BUFFER_ACTIVE = CHANGING CT_FIELDCAT = I_FIELDCAT *例外情况 * INCONSISTENT_INTERFACE = 1 * PROGRAM_ERROR = 2 *其他= 3 。 IF SY-SUBRC <> 0. *在此处实施适当的错误处理 ENDIF。 ENDFORM。 *& -------------------------------------------------- ------------------- * *&表格DISPLAY *&------------------ -------------------------------------------------- -* *文本 * --------------------------------------- ------------------------------- * *-> p1文本 * <-p2文本 * ---------------------------------------------- ---------------- -------- * 表单显示。调用功能'REUSE_ALV_GRID_DISPLAY'导出 * I_INTERFACE_CHECK ='' * I_BYPASSING_BUFFER ='' * I_BUFFER_ACTIVE =' ' I_CALLBACK_PROGRAM = SY-REPID I_CALLBACK_PF_STATUS_SET ='FORM_MENU' I_CALLBACK_USER_COMMAND ='USER_COMMAND' * I_CALLBACK_TOP_OF_PAGE =' * I_CALLBACK_HTML_TOP_OF_LIST = br> * I_STRUCTURE_NAME = * I_BACKGROUND_ID ='' * I_GRID_TITLE = * I_GRID_SETTINGS = * IS_LAYOUT = IT_FIELDCAT = I_FIELDCAT * IT_EXCLUDING = * IT_SPECIAL br> * IT_SORT = * IT_FILTER = * IS_SEL_HIDE = * I_DEFAULT ='X' * I_SAVE ='' * IS_VARIANT = * IT_EVENTS = * IT_EVENT_EXIT = * IS_PRINT = * IS_REPREP_ID = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * I_HTML_HE br> * I_HTML_HEIGHT_END = 0 * IT_ALV_GRAPHICS = * IT_HYPERLINK = * IT_ADD_FIELDCAT = * IT_EXCEPT_QINFO = * IR_SALV_FULLSCREEN_ADAPTER = *导入 * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_OUT_A = B > *例外情况 * PROGRAM_ERROR = 1 *其他= 2 。如果SY-SUBRC <> 0. *在此处实施适当的错误处理 ENDIF。 < br> ENDFORM。使用RT_EXTAB类型SLIS_T_EXTAB的FORM FORM_MENU。 SET PF-STATUS'MENU'。 ENDFORM。 FORM USER_COMMAND使用R_UCOMM像SY-UCOMM 的RS_SELFIELD类型SLIS_SELFIELD。 >案例R_UCOMM。当'&F3'时。保留到屏幕0。当'EDIT'时。进行编辑。结束。 ENDFORM。 -------------------------------------------------- ------------------ * *&FEDIT表格 *&------------------- -------------------------------------------------- * *文字 * ---------------------------------------- ------------------------------ * *-> p1文本 * <-p2文本< br> * ----------------------------- ----------------------------------------- * 表格编辑。将I_FIELDCAT插入W_FIELDCAT。 W_FIELDCAT-EDIT ='X'。从W_FIELDCAT修改I_FIELDCAT。清除W_FIELDCAT。 ENDLOOP。进行显示。 ENDFORM。 p>
嗨,
说明添加ADD按钮后要执行的操作?
最多设置5个标签!
找到以下示例代码。 在菜单画板上,在应用程序工具栏中创建"编辑"按钮。
报告ZALVDYNAMICEDIT。
类型库:SLIS。
数据:I_MARA MARA类型表,
W_MARA类型MARA,
I_FIELDCAT类型SLIS_T_FIELDCAT_ALV,
W_FIELDCAT类型SLISV_FIELD。
选择开始。
执行GETDATA。
执行字段目录。
执行显示。
*&------------------ -------------------------------------------------- -*
*&表格GETDATA
*&------------------------------------ --------------------------------- *
*文字
* ------- -------------------------------------------------- ------------- *
*-> p1文本
* <-p2文本
* -------------- -------------------------------------------------- ------ *
FORM GETDATA。
选择*从MARA到表I_MARA最多10行。
ENDFORM。
*&------------ -------------------------------------------------- ------- *
*&表格FIELDCATALOG
*&------------------------------ --------------------------------------- *
*文字
*- -------------------------------------------------- ------ ------------- *
*-> p1文本
* <-p2文本
* -------------- -------------------------------------------------- ------ *
FORM FIELDCATALOG。
呼叫功能'REUSE_ALV_FIELDCATALOG_MERGE'
导出
* I_PROGRAM_NAME =
* I_INTERNAL_TABNAME =
I_STRUCTURE_NAME ='MARA'
* I_CLIENT_NEVER_DIS ='X'
* I_INCLNAME =
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = I_FIELDCAT
*例外情况
* INCONSISTENT_INTERFACE = 1
* PROGRAM_ERROR = 2
*其他= 3
。
IF SY-SUBRC <> 0.
*在此处实施适当的错误处理
ENDIF。
ENDFORM。
*& -------------------------------------------------- ------------------- *
*&表格DISPLAY
*&------------------ -------------------------------------------------- -*
*文本
* --------------------------------------- ------------------------------- *
*-> p1文本
* <-p2文本
* ---------------------------------------------- ---------------- -------- *
表单显示。
调用功能'REUSE_ALV_GRID_DISPLAY'
导出
* I_INTERFACE_CHECK =''
* I_BYPASSING_BUFFER =''
* I_BUFFER_ACTIVE =' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET ='FORM_MENU'
I_CALLBACK_USER_COMMAND ='USER_COMMAND'
* I_CALLBACK_TOP_OF_PAGE ='
* I_CALLBACK_HTML_TOP_OF_LIST = br> * I_STRUCTURE_NAME =
* I_BACKGROUND_ID =''
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
IT_FIELDCAT = I_FIELDCAT
* IT_EXCLUDING =
* IT_SPECIAL br> * IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT ='X'
* I_SAVE =''
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HE br> * I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
*导入
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_OUT_A = B > *例外情况
* PROGRAM_ERROR = 1
*其他= 2
。
如果SY-SUBRC <> 0.
*在此处实施适当的错误处理
ENDIF。
< br> ENDFORM。
使用RT_EXTAB类型SLIS_T_EXTAB的FORM FORM_MENU。
SET PF-STATUS'MENU'。
ENDFORM。
FORM USER_COMMAND使用R_UCOMM像SY-UCOMM
的RS_SELFIELD类型SLIS_SELFIELD。 >案例R_UCOMM。
当'&F3'时。
保留到屏幕0。
当'EDIT'时。
进行编辑。
结束。
ENDFORM。 -------------------------------------------------- ------------------ *
*&FEDIT表格
*&------------------- -------------------------------------------------- *
*文字
* ---------------------------------------- ------------------------------ *
*-> p1文本
* <-p2文本< br> * ----------------------------- ----------------------------------------- *
表格编辑。
将I_FIELDCAT插入W_FIELDCAT。
W_FIELDCAT-EDIT ='X'。
从W_FIELDCAT修改I_FIELDCAT。
清除W_FIELDCAT。
ENDLOOP。
进行显示。
ENDFORM。 p>
嗨,
说明添加ADD按钮后要执行的操作?
一周热门 更多>