如何在ABAP报告中不进行硬编码的情况下维护CSV文件的标头值?

2020-08-16 07:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在尝试生成一个CSV文件,该...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试生成一个CSV文件,该文件的列标题具有恒定值,而SAP表中具有动态值作为每列的值。 由于我有大量的列名,如何在不对ABAP代码中的值进行硬编码的情况下进行维护?

7条回答
打个大熊猫
2020-08-16 08:54

您好 Aruna Shibane Murugesan

一旦我也有相同的要求,那么我编写了这段代码,并完全符合我的要求。

将要制作CSV文件的表作为data_table传递

并获得该表中与场相关的所有详细信息,例如

字段名称,所有字段标签(sort,medium,long),字段长度等。

简而言之,您将获得与field相关的所有信息。

 * data:data_table TYPE OF PA0001。"出于测试目的,请使用您的表名进行更改。

 数据对象类型参考cl_salv_table。
 数据:new_flag TYPE char1。
 数据:FIELD_DETAILS TYPE LVC_T_FCAT。

 尝试。
 cl_salv_table =>工厂(
 *出口
 * list_display = IF_SALV_C_BOOL_SAP => FALSE"在列表模式下显示ALV
 * r_container =" GUI控件的抽象容器
 * container_name =
 输入
 r_salv_table = obj"基础类简单ALV表
 改变
 t_table = data_table"在此处写入您的内部表
 )。
 捕捉cx_salv_msg。  "
 升起fields_error。
 ENDTRY。

 *获取列对象(基本字段目录数据)
 DATA(lo_columns)= obj-> get_columns()。
 *获取聚合对象(Sorts∑s)
 DATA(lo_aggregations)= obj-> get_aggregations()。
 field_details = cl_salv_controller_metadata => get_lvc_fieldcatalog(
 r_columns = lo_columns
 r_aggregations = lo_aggregations)。
 LOOP AT field_details进入数据(wa_field)。
 写:/wa_field-fieldname,'-',
 wa_field-scrtext_s,'-',
 wa_field-scrtext_m,'-',
 wa_field-scrtext_l。
 "在这里,您可以将列标题分隔为','
 Endloop。
 

感谢和问候

Navneet Anand。

一周热门 更多>