메뉴 건너뛰기

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 Effective_Code_Writing [3] file sapjoy 2007.04.18 2991
486 sap perforamnce check t-code list [2] sapjoy 2014.06.16 3042
485 Creating Custom Screen in XD01 [2] file 노름마치 2009.07.10 3055
484 Working with Substitution Exit [6] file 노름마치 2009.07.10 3064
483 Implementing Field Exit for the transaction MK01 [3] file 노름마치 2009.07.10 3150
482 Working with User-Exits for the transaction VA01 [3] file 노름마치 2009.07.10 3169
481 User Parameter 조회 펑션 [3] 양키(이경환) 2014.03.04 3176
480 Do and Dont's in ABAP Programming [5] file sapjoy 2007.04.18 3182
479 Creating Change Documents for Custom tables (Step-by-step procedure) Using SCDO [2] file 노름마치 2009.07.10 3194
478 jco_tutorial-ja_doo [2] file kk 2008.01.23 3197
477 Adding Custom Fields using EEWB Transaction [1] file 노름마치 2009.07.10 3217
476 BTE_Scenario on Business Transaction Events [7] file 노름마치 2009.07.10 3272
475 대용량 DATA 병렬 처리 샘플 프로그램 - Parallel Process [2] file moonical 2021.09.09 3285
474 Restrict users (sales persons) to view or change Sales order data - Using Enhancement framework [3] file 노름마치 2009.07.10 3297
473 BDC 수행시 COMMAND 명령어 sapjoy 2014.09.18 3300
472 SAP tips Journal - 6,7월 호 (2008) [9] file onefineday 2009.02.11 3303
471 Setting the screen elements as mandatory in the transaction DP95 using Enhancement Framework [2] file 노름마치 2009.07.10 3314
470 ALV TOOLBAR 메뉴 버튼을 올립니다. [6] file 블루보이 2013.06.26 3321
469 드롭다운 리스트 key값 조회하기 [4] file 아밥뽀 2014.09.21 3341
468 앞의 0으로 시작하는 문자 모두 지우기 sapjoy 2014.08.20 3349