有人能解释一下拥有下面代码的重要性吗?我是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
结构CCD_ 1被用作将要被添加到CCD_ 2的信息的容器。
由于pv_field
、pv_tabname
和pv_coltext
是三个不相交的变量,在将它们放在一个中心的统一结构中之前,不能将它们APPEND
到t_fieldcat
。
话虽如此,我看不出为什么你指出的变量声明不能放在子程序FILL_FIELDCAT
中,而不是作为一个全局变量。将变量的范围保持在需要的范围内是一种很好的编码实践。