메뉴 건너뛰기

SAP 한국 커뮤니티

기본적으로 테이블 컨트롤에서 F4를 이용하면 선택된 데이터 1개만 가지고 옵니다.


그런데,


테이블컨트롤에서 해당라인 자재코드 선택시 자재명도 동시에 변경하고 싶다면...


 


SCREEN 0100


...


*-POV -------------------
PROCESS ON VALUE-REQUEST.
  FIELD gt_list-matnr MODULE value_matnr.


 


 


*-----------------------------------


module value_matnr input.
**
  DATA: BEGIN OF lt_matnr OCCURS 0,
          matnr LIKE makt-matnr,
          matwa TYPE makt-maktx,
        END   OF lt_matnr.


 


  CLEAR: lt_matnr, lt_matnr[].
  LOOP AT gt_310.
       MOVE-CORRESPONDING gt_310 TO lt_matnr.
       APPEND lt_matnr.
       CLEAR: lt_matnr.
  ENDLOOP.


 


 


** 선택한 필드의 라인과 필드명을 구함
  DATA: cs_field(30),
        cs_line LIKE sy-tabix.


 


  GET CURSOR FIELD cs_field LINE cs_line.
  IF cs_field IS INITIAL.
     g_cursor_field = g_cursor_field.
     g_cursor_line  = g_cursor_line.
  ELSE.
     g_cursor_field = cs_field.    "선택한 필드명
     g_cursor_line  = cs_line.    "선택한 라인
  ENDIF.


 



**
  DATA: f4_return LIKE ddshretval OCCURS 0 WITH HEADER LINE,
        l_dynprofield TYPE help_info-dynprofld.


 


  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
           retfield         = 'MATNR'         "F4에서 선택하면 가져오는 값
           dynpprog         = sy-cprog     "프로그램명
           dynpnr           = sy-dynnr       "화면명
           dynprofield      = 'MATNR'      "테이블컨트롤에 복사되어 들어가는 값 필드
           window_title     = '자재선택'   "화면 제목
           value_org        = 'S'
       TABLES
           value_tab        = lt_matnr        "possible entry로 띄워주는 table 
           return_tab       = f4_return       
      EXCEPTIONS
           PARAMETER_ERROR  = 1
           NO_VALUES_FOUND  = 2
           OTHERS           = 3 .


 



**
DATA: l_stepl LIKE  sy-stepl.


* 이 부분 빠지면 테이블컨트롤에서 엄한 곳에 값이 뿌려지게 됩니다.


  CALL FUNCTION 'DYNP_GET_STEPL'     
    IMPORTING


      povstepl        = l_stepl       "화면에 적용될 라인 위치 구함


    EXCEPTIONS
      stepl_not_found = 0
      OTHERS          = 0.


 


 


** F4에서 선택한 자재코드로 자재명을 구하는 부분
DATA: dynpro_values TYPE TABLE OF dynpread,
      field_value LIKE LINE OF dynpro_values.


 


    CHECK f4_return IS NOT INITIAL.
    CLEAR: f4_return.
    READ TABLE f4_return INDEX 1.


    READ TABLE lt_matnr WITH KEY matnr = f4_return-fieldval.   
    CLEAR:  field_value, dynpro_values.
    REFRESH dynpro_values.


 


    field_value-fieldname  = 'gt_list-MATNR'.    "자재코드
    field_value-fieldvalue = lt_matnr-matnr.
    field_value-stepl      = l_stepl.
    APPEND field_value TO dynpro_values.


 


    field_value-fieldname  = 'gt_list-MAKTX'.   "자재명
    field_value-fieldvalue = lt_matnr-matwa.
    field_value-stepl      = l_stepl.
    APPEND field_value TO dynpro_values.


 



    CALL FUNCTION 'DYNP_VALUES_UPDATE'    "테이블컨트롤 해당 라인에 반영
      EXPORTING
        dyname     = sy-cprog
        dynumb     = sy-dynnr
      TABLES
        dynpfields = dynpro_values.
    IF sy-subrc <> 0.
    ENDIF.



endmodule.                 " value_matnr  INPUT


 



 

번호 제목 글쓴이 날짜 조회 수
487 ALV 동적 필드 구성 [4] 꿀홍삼 2015.02.06 9540
486 SUBQUERY 사용예 입니다. [1] 노름마치 2007.11.20 9534
485 간단한 계산공식은 Macro를 사용하자 [5] 양키 2011.04.14 9530
484 Open SQL에서 SUM 사용시 유의사항. [11] 나침반친구 2007.06.07 9530
483 Field Catalog 가져오지 못하는문제(REUSE_ALV_FIELDCATALOG_MERGE) [3] 양키 2013.08.16 9473
482 sap 메뉴에서 표준 매뉴 전환 [1] selection장 2013.09.13 9444
481 FIELD-SYMBOL설명 및 예제 프로그램 [17] Delight 2008.04.30 9424
480 <img src=d.gif>Source Activation 시 [READ_REPORT_LINE_TOO_LONG] dump 발생하면?[추천:e-abap] [5] JYG 2011.02.11 9416
» 테이블컨트롤에서 F4 값 변경시 다른 필드 값도 변경하기 F4IF_INT_TABLE_VALUE_REQUEST [1] 한해동안 2008.07.24 9402
478 표준편차구하는 로직 윤사모 2011.03.23 9369
477 BAPI_MATERIAL_SAVEDATA 자재마스터 생성시에 사용하세요. [1] 노름마치 2007.12.10 9238
476 SAP 단순하지만, 모르면 정말 불편 한 기능들 [22] SARA 2007.03.27 9212
475 TYPE-1 프로그램에서 실행버튼 없애기 [1] 아밥뽀 2013.09.23 9108
474 엑셀에서 '-' 부호 앞으로 옮기기 [18] file MasFI 2013.02.08 8983
473 SELECT-OPTIONS 문법 [5] sapjoy 2006.12.28 8971
472 ALV 내용 변경 방법. [8] 초보보초보 2007.02.07 8926
471 SAP GUI 730 ALV Grid 느림 현상(해결방법) [3] Dave 2013.09.27 8882
470 효과적인 ABAP/4 프로그램 작성기법 [24] 열공아밥 2009.12.20 8878
469 유용한 t-code 모음들 [26] 아이디빵 2008.04.24 8794
468 where 조건을 상황에따라 바꿔볼까? [8] 양키 2011.04.14 8738