2020-08-31 16:21发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨..
我们创建了一个表格控件,并给了一个选择的小格作为itab标记,
但是在运行prog itab-mark ='x'时没有任何值。
它显示的是最后一行而不是所选行...
对于abap来说我们还很陌生,有人会尽快向我们说明。
感谢你。
嗨,
选中此链接。将帮助您进行选择。
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/table 在 abap.pdf
如果有帮助,请点击回复左侧的星号以奖励积分。
消息的编辑者:Jayanthi Jayaraman
此程序代码可能会为您提供帮助。它的工作方式也与您提到的相同。请尝试通过修改代码来实现您的代码。
控件名称
标志
等等。
在此示例中,查看以下程序中的PBO和PAI以及最后一个模块。其有关标记了哪个元素的信息
输出前的过程。
模块状态_0120。
模块auswahl_ferti_change_tc_attr。
用it_temp_fauf环绕
控制auswahl_ferti
光标auswahl_ferti-current_line。
模块fill_table_control。
ENDLOOP。
呼叫用户区域1,包括sy-repid号1。
*
输入后处理。
在it_temp_fauf处滚动。
FIELD it_temp_fauf-flag
MODULE tabcon_mark开启。
模块read_table_control。
呼叫订阅者:area1。
MODULE user_command_0120。
*&----
*&模块STATUS_0120输出
文字
* ----
MODULE status_0120 OUTPUT。
将PF状态设置为'120'。
设置标题栏" ENTNAHMEDETAIL1"。
ENDMODULE。 " STATUS_0120输出
* TABLECONTROL'AUSWAHL_FERTI'声明的声明
控件:使用屏幕0120的auswahl_ferti类型表。
* DATA:g_auswahl_ferti_lines像sy-loopc。
----
模块AUSWAHL_FERTI_CHANGE_TC_ATTR输出
模块auswahl_ferti_change_tc_attr输出。
描述表it_temp_fauf行auswahl_ferti行。
ENDMODULE。 " AUSWAHL_FERTI_CHANGE_TC_ATTR输出
模块AUSWAHL_FERTI_GET_LINES输出
MODULE auswahl_ferti_get_lines输出。
g_auswahl_ferti_lines = sy-loopc。
ENDMODULE。 " AUSWAHL_FERTI_GET_LINES输出
*&模块FILL_TABLE_CONTROL输出
MODULE fill_table_control输出。
读取表it_temp_fauf INTO/cmd/wa_s_fauf
索引auswahl_ferti-current_line。
ENDMODULE。 " FILL_TABLE_CONTROL输出
*&模块read_table_control INPUT
模块化read_table_control输入。
行= sy-loopc。
从/cmd/wa_s_fauf索引修改it_fauf
auswahl_ferti-current_line。
ENDMODULE。 " read_table_control INPUT
*&模块USER_COMMAND_0120输入
MODULE user_command_0120输入。
save_ok = ok_code。
清除ok_code。
CASE save_ok。
当"返回"时。
呼叫屏幕100。
退出时。
离开计划。
"取消"。
当'F5'时。
环聊it_aus_pos。
删除it_aus_pos。
移动选定订单的相应字段。
SELECT * FROM resb WHERE rsnum = afko-rsnum。
将对应移动到it_aus_pos。
SELECT *从MATN处= it_aus_pos-matnr。
将移动对应到it_aus_pos。
ENDSELECT。
APPEND it_aus_pos。
呼叫屏幕120。
结束。
ENDMODULE。 " USER_COMMAND_0120输入
*&模块TABCON_MARK输入
模块tabcon_mark输入。
修改it_temp_fauf
索引auswahl_ferti-current_line
运输标志。
如果it_temp_fauf-flag ='X'。
temp_aufnr = it_temp_fauf-aufnr。
选择单* *从afko中,aufnr = temp_aufnr。
ENDIF。
ENDMODULE。 " TABCON_MARK INPUT
你好奈良岛。
这是我们的逻辑...
在输出之前进行处理。
模块状态_0100。
使用控制tc光标tc-current_line在itab上循环。
模块SET_SELECTED_ROW。
结束循环。
输入后进行处理。
在itab上循环。
字段ITAB标记MODULE GET_SELECTED_ROW。
模块user_command_0100。
输出之前的过程。
步骤1-声明ABAP变量以存储行选择指示器。 数据:标记类型C。 步骤2-将创建的变量分配给dynpro表控件。 步骤3-修改对话框屏幕按顺序排列逻辑以捕获用户的线路选择。 输出之前进行处理。 * MODULE STATUS_0100。 模块data_retrieval。 使用控件TC100在it_ekko循环到wa_ekko。 模块populate_screen。 结束循环。 * 输入后的过程。 在it_ekko循环。 模块update_table。 结束循环。 * MODULE USER_COMMAND_0100。 要创建模块update_table,请双击它,然后在下一个弹出窗口中选择yes。 确保创建了一个新的包含项来容纳所有PAI模块(默认),然后按Enter。 现在,将以下ABAP代码插入此PAI模块! *&------------------------------------------------ --------------------- * *&模块update_table INPUT *&------------------------------------------------ --------------------- * *文字 * ------------------------------------------------- --------------------- * 模块update_table输入。 将表it_ekko读入wa_ekko索引tc100-CURRENT_LINE。 如果不是,则标记为初始。 wa_ekko-SEL ='X'。 从wa_ekko索引tc100-CURRENT_LINE修改it_ekko。 万一。 终端模块。
最多设置5个标签!
嗨,
选中此链接。将帮助您进行选择。
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/table 在 abap.pdf
中进行控制如果有帮助,请点击回复左侧的星号以奖励积分。
消息的编辑者:Jayanthi Jayaraman
嗨,
此程序代码可能会为您提供帮助。它的工作方式也与您提到的相同。请尝试通过修改代码来实现您的代码。
控件名称
标志
等等。
在此示例中,查看以下程序中的PBO和PAI以及最后一个模块。其有关标记了哪个元素的信息
输出前的过程。
模块状态_0120。
模块auswahl_ferti_change_tc_attr。
用it_temp_fauf环绕
控制auswahl_ferti
光标auswahl_ferti-current_line。
模块fill_table_control。
ENDLOOP。
呼叫用户区域1,包括sy-repid号1。
*
输入后处理。
在it_temp_fauf处滚动。
FIELD it_temp_fauf-flag
MODULE tabcon_mark开启。
模块read_table_control。
ENDLOOP。
呼叫订阅者:area1。
MODULE user_command_0120。
*&----
*
*&模块STATUS_0120输出
*&----
*
文字
* ----
*
MODULE status_0120 OUTPUT。
将PF状态设置为'120'。
设置标题栏" ENTNAHMEDETAIL1"。
ENDMODULE。 " STATUS_0120输出
* TABLECONTROL'AUSWAHL_FERTI'声明的声明
控件:使用屏幕0120的auswahl_ferti类型表。
* DATA:g_auswahl_ferti_lines像sy-loopc。
----
模块AUSWAHL_FERTI_CHANGE_TC_ATTR输出
----
*
----
模块auswahl_ferti_change_tc_attr输出。
描述表it_temp_fauf行auswahl_ferti行。
ENDMODULE。 " AUSWAHL_FERTI_CHANGE_TC_ATTR输出
----
模块AUSWAHL_FERTI_GET_LINES输出
----
*
----
*
MODULE auswahl_ferti_get_lines输出。
g_auswahl_ferti_lines = sy-loopc。
ENDMODULE。 " AUSWAHL_FERTI_GET_LINES输出
*&----
*
*&模块FILL_TABLE_CONTROL输出
*&----
*
文字
* ----
*
MODULE fill_table_control输出。
读取表it_temp_fauf INTO/cmd/wa_s_fauf
索引auswahl_ferti-current_line。
ENDMODULE。 " FILL_TABLE_CONTROL输出
*&----
*
*&模块read_table_control INPUT
*&----
*
文字
* ----
*
模块化read_table_control输入。
行= sy-loopc。
从/cmd/wa_s_fauf索引修改it_fauf
auswahl_ferti-current_line。
ENDMODULE。 " read_table_control INPUT
*&----
*
*&模块USER_COMMAND_0120输入
*&----
*
文字
* ----
*
MODULE user_command_0120输入。
save_ok = ok_code。
清除ok_code。
CASE save_ok。
当"返回"时。
呼叫屏幕100。
退出时。
离开计划。
"取消"。
呼叫屏幕100。
当'F5'时。
环聊it_aus_pos。
删除it_aus_pos。
ENDLOOP。
移动选定订单的相应字段。
SELECT * FROM resb WHERE rsnum = afko-rsnum。
将对应移动到it_aus_pos。
SELECT *从MATN处= it_aus_pos-matnr。
将移动对应到it_aus_pos。
ENDSELECT。
APPEND it_aus_pos。
ENDSELECT。
呼叫屏幕120。
结束。
ENDMODULE。 " USER_COMMAND_0120输入
*&----
*
*&模块TABCON_MARK输入
*&----
*
文字
* ----
*
模块tabcon_mark输入。
修改it_temp_fauf
索引auswahl_ferti-current_line
运输标志。
如果it_temp_fauf-flag ='X'。
temp_aufnr = it_temp_fauf-aufnr。
选择单* *从afko中,aufnr = temp_aufnr。
ENDIF。
ENDMODULE。 " TABCON_MARK INPUT
你好奈良岛。
这是我们的逻辑...
在输出之前进行处理。
模块状态_0100。
使用控制tc光标tc-current_line在itab上循环。
模块fill_table_control。
模块SET_SELECTED_ROW。
结束循环。
输入后进行处理。
在itab上循环。
模块read_table_control。
字段ITAB标记MODULE GET_SELECTED_ROW。
结束循环。
模块user_command_0100。
输出之前的过程。
一周热门 更多>