ABAP 中的 Field Catalog 需要什么?

What is the need of Field Catalog in ABAP?

有人可以解释拥有以下代码的重要性吗?我是 ABAP 的新手,目前正在尝试在对接容器中创建 ALV。谢谢

* Field Catalog

    wa_fieldcat   TYPE lvc_s_fcat.

http://saptechnical.com/Tutorials/ALV/Docking/Index.htm

示例中的代码有这个子例程:

*&--------------------------------------------------------------*
*&      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_fieldpv_tabnamepv_coltext是三个不相交的变量,在将它们放在中央之前,不能将它们APPEND变为t_fieldcat,统一结构。

话虽这么说,我看不出为什么你指出的变量声明不能放在子例程中 FILL_FIELDCAT 而不是全局变量。将变量的范围保持在需要的范围内是很好的编码习惯。