ABAP 中的 Field Catalog 需要什么?
What is the need of Field Catalog in ABAP?
有人可以解释拥有以下代码的重要性吗?我是 ABAP 的新手,目前正在尝试在对接容器中创建 ALV。谢谢
* Field Catalog
wa_fieldcat TYPE lvc_s_fcat.
示例中的代码有这个子例程:
*&--------------------------------------------------------------*
*& Form FILL_FIELDCAT *
*&--------------------------------------------------------------*
* To Fill the Field Catalog *
*---------------------------------------------------------------*
* Three Parameters are passed *
* pv_field TYPE any for Field *
* pv_tabname TYPE any for Table Name *
* pv_coltext TYPE any for Header Text *
*---------------------------------------------------------------*
FORM fill_fieldcat USING pv_field TYPE any
pv_tabname TYPE any
pv_coltext TYPE any .
wa_fieldcat-fieldname = pv_field.
wa_fieldcat-tabname = pv_tabname.
wa_fieldcat-coltext = pv_coltext.
APPEND wa_fieldcat TO t_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " FILL_FIELDCAT
结构 wa_fieldcat
用作即将添加到 t_fieldcat
的信息的容器。
由于pv_field
、pv_tabname
和pv_coltext
是三个不相交的变量,在将它们放在中央之前,不能将它们APPEND
变为t_fieldcat
,统一结构。
话虽这么说,我看不出为什么你指出的变量声明不能放在子例程中 FILL_FIELDCAT
而不是全局变量。将变量的范围保持在需要的范围内是很好的编码习惯。
有人可以解释拥有以下代码的重要性吗?我是 ABAP 的新手,目前正在尝试在对接容器中创建 ALV。谢谢
* Field Catalog
wa_fieldcat TYPE lvc_s_fcat.
示例中的代码有这个子例程:
*&--------------------------------------------------------------*
*& Form FILL_FIELDCAT *
*&--------------------------------------------------------------*
* To Fill the Field Catalog *
*---------------------------------------------------------------*
* Three Parameters are passed *
* pv_field TYPE any for Field *
* pv_tabname TYPE any for Table Name *
* pv_coltext TYPE any for Header Text *
*---------------------------------------------------------------*
FORM fill_fieldcat USING pv_field TYPE any
pv_tabname TYPE any
pv_coltext TYPE any .
wa_fieldcat-fieldname = pv_field.
wa_fieldcat-tabname = pv_tabname.
wa_fieldcat-coltext = pv_coltext.
APPEND wa_fieldcat TO t_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " FILL_FIELDCAT
结构 wa_fieldcat
用作即将添加到 t_fieldcat
的信息的容器。
由于pv_field
、pv_tabname
和pv_coltext
是三个不相交的变量,在将它们放在中央之前,不能将它们APPEND
变为t_fieldcat
,统一结构。
话虽这么说,我看不出为什么你指出的变量声明不能放在子例程中 FILL_FIELDCAT
而不是全局变量。将变量的范围保持在需要的范围内是很好的编码习惯。