SAP/ABAP

[ABAP] Custom Search Help in Module pool

Denise 2012. 7. 18. 14:29
PROCESS ON VALUE-REQUEST.
  FIELD gt_order-kunnr
  MODULE f4_kunnr.

========================================================================================

MODULE f4_kunnr INPUT. DATA : lv_stepl LIKE sy-stepl, lt_return_tab TYPE TABLE OF ddshretval WITH HEADER LINE, lt_mapping TYPE TABLE OF dselc WITH HEADER LINE, lt_dynpread TYPE TABLE OF dynpread WITH HEADER LINE, l_matnr LIKE mara-matnr. DATA : BEGIN OF lt_value_tab OCCURS 0, kunnr TYPE zsdt0120-kunnr, name1 TYPE kna1-name1, END OF lt_value_tab. *--- Read Screen row index. CALL FUNCTION 'DYNP_GET_STEPL' IMPORTING povstepl = lv_stepl EXCEPTIONS stepl_not_found = 1 OTHERS = 2. *--- Set field to get from Screen lt_dynpread-fieldname = 'GT_ORDER-MATNR'. lt_dynpread-stepl = lv_stepl. APPEND lt_dynpread. CLEAR lt_dynpread. *--- Read Screen CALL FUNCTION 'DYNP_VALUES_READ' EXPORTING dyname = sy-repid dynumb = sy-dynnr TABLES dynpfields = lt_dynpread. READ TABLE lt_dynpread INDEX 1. l_matnr = lt_dynpread-fieldvalue. CLEAR : lt_dynpread, lt_dynpread[]. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = l_matnr IMPORTING output = l_matnr. SELECT z~kunnr k~name1 INTO CORRESPONDING FIELDS OF TABLE lt_value_tab FROM zsdt0120 AS z JOIN kna1 AS k ON z~kunnr = k~kunnr AND k~spras = sy-langu WHERE z~matnr = l_matnr. IF sy-subrc IS INITIAL. *--- Set field mapping for return values. lt_mapping-fldname = 'F0001'. lt_mapping-dyfldname = 'GT_ORDER-KUNNR'. APPEND lt_mapping. CLEAR lt_mapping. lt_mapping-fldname = 'F0002'. lt_mapping-dyfldname = 'GT_ORDER-NAME1'. APPEND lt_mapping. CLEAR lt_mapping. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'KUNNR' dynpprog = sy-repid dynpnr = sy-dynnr dynprofield = 'GT_ORDER-KUNNR' value_org = 'S' TABLES value_tab = lt_value_tab return_tab = lt_return_tab dynpfld_mapping = lt_mapping EXCEPTIONS parameter_error = 1 no_values_found = 2 OTHERS = 3. IF sy-subrc EQ 0. * Fill values according to step loop index to display on screen CLEAR : lt_dynpread, lt_dynpread[]. LOOP AT lt_return_tab. lt_dynpread-fieldname = lt_return_tab-retfield. lt_dynpread-stepl = lv_stepl. lt_dynpread-fieldvalue = lt_return_tab-fieldval. APPEND lt_dynpread. ENDLOOP. CALL FUNCTION 'DYNP_VALUES_UPDATE' EXPORTING dyname = sy-repid dynumb = sy-dynnr TABLES dynpfields = lt_dynpread EXCEPTIONS invalid_abapworkarea = 1 invalid_dynprofield = 2 invalid_dynproname = 3 invalid_dynpronummer = 4 invalid_request = 5 no_fielddescription = 6 undefind_error = 7 OTHERS = 8. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. CLEAR : lt_dynpread, lt_dynpread[]. ENDIF. ELSEIF sy-subrc EQ 4. MESSAGE s000 WITH 'No Data'. ENDIF. ENDMODULE. " F4_KUNNR INPUT

'SAP > ABAP' 카테고리의 다른 글

An Easy Reference for ALV Grid Control  (0) 2012.09.06
Excel Dynamic Upload ver. 2.0  (0) 2012.08.28
BAPI_COSTCENTER_CHANGEMULTIPLE  (0) 2012.08.14
ABAP 에서 ICON CODE 조회  (0) 2012.07.26
Edit program in PROD / QA  (0) 2012.07.24