2016-08-02 42 views

回答

1

該示例中的代碼具有該子程序:

*&--------------------------------------------------------------* 
*&  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中,而不是一個全局變量。保持變量的範圍只有他們需要的那麼大才是良好的編碼實踐。