안녕하세요
보통은 스크린에 한 필드에 써치헬프를 만들어 도메인에 붙혀서 구현했는데
이번에는 스크린에 한 필드에 f4를 누르면 어떤 값에 의한 cbo 테이블을 뒤져서
값에 맞는 데이터만 추려서 f4 창으로 나와야 하는데요
혹시 관련 소스 있으시면 좀 조언좀 부탁드립니다.
초보 꾸벅
안녕하세요
보통은 스크린에 한 필드에 써치헬프를 만들어 도메인에 붙혀서 구현했는데
이번에는 스크린에 한 필드에 f4를 누르면 어떤 값에 의한 cbo 테이블을 뒤져서
값에 맞는 데이터만 추려서 f4 창으로 나와야 하는데요
혹시 관련 소스 있으시면 좀 조언좀 부탁드립니다.
초보 꾸벅
화면에 "PROCESS ON VALUE-REQUEST"를 넣으시고..아래와 같이 프로그램 하시면 됩니다.
PROCESS ON VALUE-REQUEST.
FIELD F_ZWKRID
MODULE HELP_ZWKRID.
MODULE HELP_ZWKRID INPUT.
* 직장코드 F4_HELP를 위한 DATA 선언
DATA : LV_DYNPFLD LIKE HELP_INFO-DYNPROFLD,
LV_DYNPROG LIKE SY-REPID,
LV_DYNNR LIKE SY-DYNNR.
DATA : BEGIN OF IT_VALUE OCCURS 0, =>화면에 보여줄 인터널테이블
ZWKRID LIKE ZPP5730T-ZWKRID,
ZWKRNM LIKE ZPP5730T-ZWKRNM,
ZDPTCD LIKE ZPP5730T-ZDPTCD,
END OF IT_VALUE.
CLEAR: IT_VALUE.
REFRESH: IT_VALUE.
SELECT * INTO CORRESPONDING FIELDS OF TABLE IT_VALUE
FROM ZPP5730T
WHERE WERKS = F_WERKS
AND ZWKRID LIKE '5%'
ORDER BY ZDPTCD ZWKRID.
LV_DYNPROG = SY-REPID.
LV_DYNNR = SY-DYNNR.
LV_DYNPFLD = 'F_ZWKRID'. ==>화면의 필드명
*[ F4_HELP를 만들어 주는 함수 ]
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'ZWKRID' ==>리턴값의 필드명
DYNPPROG = LV_DYNPROG
DYNPNR = LV_DYNNR
DYNPROFIELD = LV_DYNPFLD
WINDOW_TITLE = '직장코드'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_VALUE.
IF SY-SUBRC <> 0.
ENDIF.
CLEAR : LV_DYNPFLD.
ENDMODULE. " HELP_ZWKRID INPUT