Value Help 的用法
Value Help 的用法
Value Help 的用法-自己总结
小米 发表于 - 2008-12-22 11:43:00
| 之前有听同事讲关于一个客户的需求: 有一个自己的customizing的report是关于run F110相关的数据。这个report上面有两个参数选择: PARAMETERS: p_laufd LIKE reguh-laufd, “运行日期 p_laufi LIKE reguh-laufi. ”标识 希望在点击参数p_laufd后面的value help的时候出来的界面和值要和F110一样。p_laufi也一样。 因为客户提到和F110一样,既然F110已经有了这样的功能,那么我们不妨直接参照F110标准程序的做法就可以了。这个就是一个很有效率以及很准确的方法。 T-code: F110->Program:SAPF110V-Screen:200.可以找到在这个200屏幕上看到标准程序的写法,直接引用过来。 test report: DATA:    BEGIN OF tlaufk OCCURS 1. INCLUDE STRUCTURE ilaufk. DATA: END OF tlaufk. PARAMETERS: p_laufd LIKE reguh-laufd, p_laufi LIKE reguh-laufi. AT SELECTION-SCREEN ON VALUE-REQUEST  FOR p_laufd. REFRESH tlaufk. tlaufk-laufk = space. tlaufk-sign = 'I'. APPEND tlaufk. CALL FUNCTION 'F4_ZAHLLAUF' EXPORTING f1typ = 'D' f2nme = 'F110V-LAUFI' IMPORTING laufd = p_laufd laufi = p_laufi TABLES laufk = tlaufk. AT SELECTION-SCREEN ON VALUE-REQUEST  FOR p_laufi. REFRESH tlaufk. tlaufk-laufk = space. tlaufk-sign = 'I'. APPEND tlaufk. CALL FUNCTION 'F4_ZAHLLAUF' EXPORTING f1typ = 'D' f2nme = 'F110V-LAUFI' IMPORTING laufd = p_laufd laufi = p_laufi TABLES laufk = tlaufk. START-OF-SELECTION.   WRITE:/ p_laufd,p_laufi. 经测试,run出来的结果和F110一样。 这是目前已经有标准的存在,如果没有标准的话,该怎么做。也需要找相应的FM。下次blog中再记录。 上面的方法是直接copy标准程序的方法来用。 如果此时该field本身没有search help,在定义parameter或者select-option的时候,F4的时候也没有值出来。如果此时你想让它在F4的时候出来值。那么按照一下方法就可以。最主要的应用FUNCTION MODULE:F4IF_INT_TABLE_VALUE_REQUEST。 参照如下report就可以实现该功能: DATA:    BEGIN OF tlaufk OCCURS 1. INCLUDE STRUCTURE ilaufk. DATA: END OF tlaufk. DATA: BEGIN OF ivalue_source OCCURS 0, zterm LIKE ztest_f4-zterm, END OF ivalue_source. DATA: w_progname LIKE sy-repid, w_scr_num LIKE sy-dynnr . DATA: return_values LIKE ddshretval OCCURS 0 WITH HEADER LINE. PARAMETERS: p_zterm LIKE reguh-laufi. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_zterm. SELECT zterm FROM ztest_f4 INTO TABLE ivalue_source. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'ZTERM' * PVALKEY = ' ' dynpprog = w_progname--->不能在这里直接使用SY-REPID OR SY-DYNNR. dynpnr = w_scr_num dynprofield = 'P_ZTERM' value_org = 'S'------>一定要使用‘S’,如果使用‘C‘,则不会有值返回。 TABLES value_tab = ivalue_source return_tab = return_values. INITIALIZATION. w_progname = sy-repid. w_scr_num = sy-dynnr. START-OF-SELECTION. write:/ p_zterm. ******************************************* 事件: INITIALIZATION. 是report开始run之前第一个事件。所以对screen上参数的初始化都可以放到该事件里面。 引用通告地址:http://www.folo.cn/tb.asp?id=62300 | 
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号