셀렉션 스크린 코멘트를 p_mtext로 정해두고
p_mtext에 F4헬프 시에 나온 값에대한 텍스트를 넣어주고 싶은데요
DYNP_VALUES_UPDATE 펑션을 사용해서
1000번스크린 상에서는 값이 변해서 들어가는데요
100번의 상세스크린으로 갔다가
백버튼을 눌러서 돌아오면 값이 사라져버립니다
이상해서 확인하려고 PARAMETERS 로 변수를 하나 더 선언한 다음
지워지나 확인을 하니 PARAMETERS 선언한 값들은 안지워지고 남아있는데
SELECTION-SCREEN COMMENT 60(20) p_mtext. <= 요 값만 지워지네요
초보라서 너무 갑갑하네요.... 도와주세요~~
**********************************************
StoryGuy™님 소스 추가했습니다.............
**********************************************
DATA : l_werks TYPE werks,
lt_plant LIKE TABLE OF gt_plant.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
request = 'A'
translate_to_upper = 'X'
TABLES
dynpfields = gt_dynpread.
READ TABLE gt_dynpread WITH KEY fieldname = 'P_PSPID'.
IF gt_dynpread-fieldvalue IS INITIAL.
g_error = 'X'.
MESSAGE i000(zmps) WITH '프로젝트를 먼저 입력하세요.'.
EXIT.
ENDIF.
SELECT SINGLE werks
INTO p_werks
FROM proj
WHERE pspid = gt_dynpread-fieldvalue.
SELECT plant machine INTO TABLE gt_plant
FROM ztpm021 "FOR ALL ENTRIES IN gt_werks
WHERE werks = p_werks.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MACHINE'
dynpprog = sy-cprog
dynpnr = sy-dynnr
window_title = 'PLANT'
value_org = 'S'
TABLES
value_tab = gt_plant
return_tab = gt_rtntab.
CLEAR p_machin.
READ TABLE gt_rtntab INDEX 1.
IF sy-subrc = 0.
p_machin = gt_rtntab-fieldval.
SELECT SINGLE plant
INTO p_plant
FROM ztpm021
WHERE werks = p_werks.
CONCATENATE p_machin '호기' INTO p_mtext.
CLEAR : gt_dynpread.
REFRESH : gt_dynpread.
gt_dynpread-fieldname = 'P_PLANT'.
gt_dynpread-fieldvalue = p_plant.
APPEND gt_dynpread.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = gt_dynpread.
CLEAR : gt_dynpread.
REFRESH : gt_dynpread.
gt_dynpread-fieldname = 'P_MTEXT'.
gt_dynpread-fieldvalue = p_mtext.
APPEND gt_dynpread.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = gt_dynpread.
ENDIF.
p_mtext 값을 100 번 화면에서 clear 하진 않으실테고 ^^
F4 사용한 부분 소스를 보면 좀 자세히 알수 있을 것 같습니다.