动态ALV列表,步骤!

 

1、建立一个 Field Symbol 类型为 Table

      建立一个 Field Symbol  For 工作区

      建立一个 Field Symbol  For   字段  

2、定义ALV需要的相关字段(SLIS)

3、定义动态数据引用  REF TO DATA

      定义结构体 Like SLIS 结构体

4、选出数据到内表

5、Create 动态结构体 依照参照的 SLIS结构体

6、赋值动态 结构体字段 到 完整结构体

7、Call Function 根据动态结构体 生成动态表

8、ASSIGN 生成的表的指针 到 Field Symbol Table

9、建立动态数据引用: REF TO DATA 建立动态数据:Like LINE OF Field SYMBOL 表   ASSIGN  指针 到 工作区 

10、ASSIGN Component   ....   Field Symbol字段 到 Field 工作区的对应字段。

11、Loop at 内表   赋值到 Field Symbol 字段,然后 Append 到 工作区(LINE)

12、COLLECT 工作区数据 到 Field Symbol Table 

13、设置 ALV的 Layout 

14、调用 Fieldcat 设置相关的字段标题。

15、Call ALV Reuse Function

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用SAP ABAP语言编写一个ALV列表。首先,你需要了解ALV(Adobe List Viewer)是什么,它是SAP系统中用于显示数据的一种标准用户界面控件。 具体来说,你可以使用ALV函数库,这些函数可以让你设置ALV列表的各种属性,如列宽、字段格式、排序方式等。 例如,你可以使用REUSE_ALV_GRID_DISPLAY函数来显示ALV列表,并使用IT_FIELDCAT参数来设置列的格式。 下面是一个简单的例子: ``` *定义数据结构 TYPES: BEGIN OF ty_sflight, carrid TYPE sflight-carrid, connid TYPE sflight-connid, fldate TYPE sflight-fldate, END OF ty_sflight. *定义数据表 DATA: it_sflight TYPE TABLE OF ty_sflight. *定义字段描述表 DATA: it_fieldcat TYPE lvc_t_fcat. *填充数据 SELECT * FROM sflight INTO TABLE it_sflight. *填充字段描述表 APPEND INITIAL LINE TO it_fieldcat ASSIGNING FIELD-SYMBOL(<fs_fieldcat>). <fs_fieldcat>-fieldname = 'CARRID'. <fs_fieldcat>-seltext_l = '航空公司代码'. APPEND INITIAL LINE TO it_fieldcat ASSIGNING FIELD-SYMBOL(<fs_fieldcat>). <fs_fieldcat>-fieldname = 'CONNID'. <fs_fieldcat>-seltext_l = '航班号'. APPEND INITIAL LINE TO it_fieldcat ASSIGNING FIELD-SYMBOL(<fs_fieldcat>). <fs_fieldcat>-fieldname = 'FLDATE'. <fs_fieldcat>-seltext_l = '起飞日期'. *显示ALV列表 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = sy-repid i_structure_name = 'TY_SFLIGHT' i_save = 'A' TABLES t_outtab = it_sflight i_fieldcat = it_fieldcat. ``` ### 回答2: ABAP是SAP系统的编程语言,可用于开发和定制各种功能和报表。以下是使用ABAP编写一个ALV列表步骤。 1. 定义内表:首先,我们需要定义一个内表来存储数据。使用ABAP的DATA语句创建一个具有所需字段的内表。 2. 获取数据:使用ABAP的SELECT语句从数据库中检索所需的数据,并将其存储在内表中。 3. 创建ALV试图:使用ABAP的CL_GUI_ALV_GRID类创建一个ALV列表的实例。定义此实例的属性和设置,如列标题,列宽度,排序等。 4. 载入数据:将内表的数据加载到ALV列表中,使用ALV实例的METHODS属性和方法。 5. 显示ALV列表:使用ABAP的CALL METHOD语句调用ALV实例的DISPLAY方法,以便将其显示在屏幕上。 6. 添加用户交互功能:根据需要,您可以在ALV列表中添加各种用户交互功能,如过滤器,排序,编辑等。使用ALV实例的相应方法和事件来实现它们。 7. 添加功能按钮:您还可以为ALV列表添加自定义功能按钮,以实现特定的操作。使用ABAPFUNCTION_KEY语句来定义功能按钮,并使用ALV实例的EVENTS属性和方法来处理按钮的点击事件。 8. 处理用户输入:如果用户在ALV列表中进行了更改或交互操作,您可以使用相应的ALV事件来处理这些更改,并在内表中更新数据。 9. 处理指令:根据需要,您可以处理ALV列表中的不同命令,如打印,导出等。使用ALV实例的事件和方法来实现这些指令的功能。 10. 完善界面:最后,如果需要在ALV列表中添加其他UI元素,如选择框,文本框等,您可以使用ABAP的DIALOG和SCREEN等功能来实现。 以上是使用ABAP编写一个ALV列表的一般步骤。根据实际需求和具体业务场景,您可能需要根据自己的要求进行适当的调整和修改。 ### 回答3: ABAP是一种编程语言,用于在SAP系统中开发和定制应用程序。要使用ABAP编写一个ALVABAP List Viewer)列表,可以按照以下步骤进行操作: 1. 创建一个ABAP报表程序,使用SE38事务代码打开ABAP编辑器。 2. 在ABAP编辑器中,定义一个内部表,用于存储数据。例如,可以使用类型为TABLE OF结构的内部表。 3. 在ABAP编辑器中,使用SELECT语句从数据库表中检索所需的数据,并将其放入内部表中。 4. 定义一个ALV网格控件,并与内部表关联。可以使用CL_SALV_TABLE类来创建ALV网格控件对象。 5. 在ALV网格控件上,定义列,标题和布局等。可以使用方法ADD_COLUMN和SET_TABLE_FOR_FIRST_DISPLAY来添加列和定义布局。 6. 调用方法DISPLAY来显示ALV列表。 7. 为ALV列表添加自定义功能。例如,可以添加排序、筛选、汇总等功能。 8. 编译并执行ABAP报表程序,以显示ALV列表。 下面是一个示例代码,用于创建一个包含两列的ALV列表,并在SFLIGHT表中显示航班号和航班日期。 ``` REPORT ZALV_LIST. DATA: lt_flight TYPE TABLE OF sflight, lr_alv TYPE REF TO cl_salv_table. START-OF-SELECTION. SELECT carrid, connid, fldate, price FROM sflight INTO TABLE lt_flight. CREATE OBJECT lr_alv. lr_alv->add_column( 'Carrid' ). lr_alv->add_column( 'Connid' ). lr_alv->set_table_for_first_display( CHANGING it_outtab = lt_flight ). lr_alv->display( ). ``` 以上是一个简单的示例,您可以根据实际需求对代码进行修改和扩展。请注意,使用ALV列表还可以进行更复杂的操作,如行编辑、数据修改等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值