Function: DYNP_VALUES_READ
How to got the field value when you still in selection screen manipulating, example code as below:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vbeln. *--- Update P_VSTEL dyfields-fieldname = 'P_VSTEL'. APPEND dyfields. CALL FUNCTION 'DYNP_VALUES_READ' EXPORTING dyname = sy-cprog dynumb = sy-dynnr TABLES dynpfields = dyfields. READ TABLE dyfields INDEX 1. IF dyfields-fieldvalue IS INITIAL. MESSAGE i899 WITH 'Please enter Shipping Point first!'. EXIT. ELSE. CLEAR: gr_vstel, gr_vstel[], gt_lipov, gt_lipov[], gt_dn, gt_dn[]. gr_vstel-sign = 'I'. gr_vstel-option = 'EQ'. gr_vstel-low = dyfields-fieldvalue. APPEND gr_vstel. ENDIF. CALL FUNCTION 'WS_LM_DATA_SELECTION' EXPORTING if_proctype = 'W' TABLES it_vstel = gr_vstel ct_postab = gt_lipov EXCEPTIONS no_data_found = 1 wrong_proc_type = 2 OTHERS = 3. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. LOOP AT gt_lipov. CLEAR gt_dn. MOVE-CORRESPONDING gt_lipov TO gt_dn. SELECT SINGLE name1 INTO gt_dn-name1 FROM kna1 WHERE kunnr = gt_dn-kunnr. APPEND gt_dn. ENDLOOP. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'VBELN' dynpprog = sy-repid dynpnr = sy-dynnr dynprofield = 'P_VBELN' value_org = 'P' TABLES value_tab = gt_dn field_tab = gt_dfies2.
沒有留言:
張貼留言