1首先判断是否可能是ALV屏幕,选择屏幕都存在系统自动生成的MODULE %_INIT_PBO
2通过程序Source Scan扫描程序代码找到SET_TABLE_FOR_FIRST_DISPLAY/REUSE_ALV_GRID_DISPLAY/FACTORY
3找到IT_OUTTAB/T_OUTTAB/T_TABLE Mapping 的内表,排除TYPE LVC之类无关的字段,
不过此方法不完善,有待寻求更完美的~
1、选择字段参照数据库内标准字段,系统会自带F4选择帮助。
2、在报表中增加一个事件:AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILEDNAME "P_FILEDNAME是要增加F4帮助的字段名
在该事件中调用函数:CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
想看实例或代码,你可以搜索这个函数名、事件名或搜索关键字"ABAP选择屏幕 F4帮助"。
ABAP/4 允许在屏幕 和纸张上, 生成比这里 看到的更复 杂和更有效 的输出列表 。这些介绍 是后面章节 (例如,创建列表) 的基础。WRITE 语句在屏幕上输 出数据的基 本 ABAP/4 语句是 WRITE。语法WRITE <f>该语句以其 标准格式, 将字段 <f> 输出到当前 列表中。默 认情况下, 该列表显示 在屏幕上。字段 <f> 可以是□ 任何数据 对象(参见 数据对象 (页 错误!链接无效。) )□ 字段符号 或公式参数 (参见使用字符符号 (页使用字段符号))□ 文本符号 (参见 Working with Text Elements (页 错误!链接无效。) )选择“打印 ”,可以直 接从输出屏 幕打印当前 输出列表。 如果为程序 定义选项屏 幕(参见 使用选择屏幕),就可以 在选择屏幕 上选择“执 行和打印” ,然后,该 列表不输出 到屏幕上, 而是直接发 送到打印机 。PROGRAM SAPMZTSTWRITE 'Hello, here I am!'当启动该程 序时,系统 离开当前屏 幕(这可能 是“ABAP/4 编辑器:初 始屏幕”) ,并如下所 示转到输出 屏幕:输出屏幕与 在程序属性 中指定的程 序标题有相 同的名称( 参见指定程序属性 (页 错误!链接无效。) )。屏幕上的第 一行包含列 表表头。默 认情况下, 该列表表头 与程序标题 相同。但是 ,可以由实 际程序外的 程序标题单 独维护列表 表头。详细 信息,参见 (使用文本摘要 (页 错误!链接无效。) )。当前 页号(1) 出现在右边 。列表表头后 紧跟着一条 水平线,然 后显示输出 。可以选择“ 搜索”,以 搜索特定模 式。在屏幕上, 输出通常是 左对齐的。 如果使用几 个 WRITE 语句,输出 字段就一个 接一个显示 ,输出之间 由列分开( 如一个空格 )。如果当 前行没有足 够空间,则 开始新行。PROGRAM SAPMTEST 剩下的楼主自己百度SAP上海培训中心 上面有的
通过AT SELECTION-SCREEN实现,举例如下:
REPORT zsunfeiquan
PARAMETERS: rb1 RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND f1,
rb2 RADIOBUTTON GROUP g1
PARAMETERS: pc_file LIKE rlgrap-filename OBLIGATORY
AT SELECTION-SCREEN OUTPUT
IF rb2 = 'X'
pc_file = 'D:\Parts_Bonus_Templatexls'
ELSEIF rb1 = 'X'
pc_file = 'D:\Parts_Bonustxt'
ENDIF
可执行程序的特点是可以直接执行,而无需事务码,这个也是一般报表开发最常用的程序类型。我们可以在SE38中直接点击执行按钮或按F8键来运行一个可执行程序。
可执行程序包含一些预定义的过程块,比如、ATSELECTION-SCREEN、START-OF-SELECTION、END-OF-SELECTION等等,有一个后台系统程序会控制可执行程序,按照规定的顺序依次调用这些过程块。首先显示一个选择屏幕,最后输出一个列表。可执行程序还能指定一个逻辑数据库,逻辑数据库也是一种程序,它按照预定义好的数据库表结构,依次根据主键读取相关的业务数据,可以用SE36查看逻辑数据库。
初始屏幕 加一个栏位以及一个按钮
当按按钮,把栏位的数据提交,
主屏幕PAI Select into form 把得到的数据放入子屏幕的table裏面
子屏幕裏面加个表格控制,表格控制设置可以单项选择。
ZHRPT005
ZHRPT006
代码:
这是选择屏幕
SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-001
SELECT-OPTIONS: S_BH FOR ZHR_PT001-BH MODIF ID SC1,
S_PERNR FOR ZHR_PT001-PERNR,
S_ZAUSW FOR ZHR_PT001-ZAUSW MODIF ID SC1,
S_LDATE FOR ZHR_PT001-LDATE OBLIGATORY,
S_LTIME FOR ZHR_PT001-LTIME MODIF ID SC1,
S_SUCCE FOR ZHR_PT001-ZHR_SUCCEED
PARAMETERS:R3 RADIOBUTTON GROUP S1 DEFAULT 'X',
R2 RADIOBUTTON GROUP S1,
R1 RADIOBUTTON GROUP S1
SELECTION-SCREEN END OF BLOCK A1
这里就是控制你要输出的
L_TCODE = SY-TCODE
IF L_TCODE = 'ZHRPT006'
LOOP AT SCREEN
IF SCREEN-GROUP1 = 'SC1'
SCREEN-ACTIVE = 0
MODIFY SCREEN
ENDIF
ENDLOOP
ENDIF
自己参照写一下就知道了
以上就是关于怎么用ABAP 代码判断,,某程序的某个屏幕上,输出了 ALV 且 计算 输出ALV 的内表有 多少个字段全部的内容,包括:怎么用ABAP 代码判断,,某程序的某个屏幕上,输出了 ALV 且 计算 输出ALV 的内表有 多少个字段、sap abap怎么给选择屏幕加选择帮助、ABAP/4如何将数据输出到屏幕等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)