안녕하세요. 아밥을 접해본지 얼마 안된 초보인데여
제가 GUI_STATUS를 이용해서 실행화면에 EXCEL_DOWN 는 버튼을 만들었습니다.
그리고 t-code smw0을 이용해서 excel파일을 업로드 시킨 후 EXCEL_DOWN버튼을 누르면 excel을 불러오는 프로그램을 만들었는데여 실행화면에서 저 버튼을 보이게 하는것이 아니라
처음 F8눌렀을 때 조회 화면에서 보이게 할 수 없나여?
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY. " File Name
SELECTION-SCREEN SKIP 1.
PARAMETERS: P_DISP AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK B1.
왠지 여기서 하면 될꺼 같긴 한데 방법을 잘 몰라서여 ;;
어떤분screen painter를 이용하라고 하는데 그것도 처음 들어보는 거라 아예 어떻게 하는지 잘 모르겠고.;;;
댓글 3
-
버미!
2010.08.17 17:02
-
맑은하늘
2010.08.17 19:44
버미님 말씀처럼 하시면 파일선택하는 selection-screen에 버튼을 만드실 수 있구요.
조회화면에서 보시고자 한다면
1. Write로 조회할 경우
start-of-selection.
set pf-status 'STATUS-NAME'.
이라고 하시면 되고,
2. 화면으로 조회하실 경우,
start-of-selection.
call screen 100.
화면 100 에서
module set_status_100.
module set_status_100 output.
set pf-status 'STATUS_NAME'.
endmodule.
으로 설정하시면 조회화면에서 만드신 excel_down 을 보실 수 있으며
실행은 1의 경우 at user-command 이벤트로 실행하시면 되고
2의 경우 module user_command_100. 에서 ok-code 값으로 이벤트를
받아서 처리하시면 됩니다.
-
그저조아
2010.08.19 22:41
버미님 맑은하늘님 감사합니다. 응용해서 해결됐습니다 ^^
아래 로직 잘 응용해 보세요..
TYPE-POOLS icon.
TABLES : sscrfields. "Fields on selection screens
SELECTION-SCREEN: FUNCTION KEY 1, "Select All
FUNCTION KEY 2. "Deselect All
INITIALIZATION.
PERFORM init.
AT SELECTION-SCREEN.
PERFORM set_screen.
*&---------------------------------------------------------------------*
*& Form INIT
*----------------------------------------------------------------------*
FORM init .
DATA functxt TYPE smp_dyntxt.
functxt-icon_id = icon_select_all.
functxt-quickinfo = 'Select All'.
* functxt-icon_text = 'SA'.
sscrfields-functxt_01 = functxt.
functxt-icon_id = icon_deselect_all.
functxt-quickinfo = 'Deselect All'.
* functxt-icon_text = 'DA'.
sscrfields-functxt_02 = functxt.
ENDFORM. " INIT
*&---------------------------------------------------------------------*
*& Form SET_SCREEN
*----------------------------------------------------------------------*
FORM set_screen .
IF sscrfields-ucomm = 'FC01' OR sscrfields-ucomm = 'FC02'.
IF sscrfields-ucomm = 'FC01'.
MOVE 'X' TO c_ro1.
ELSEIF sscrfields-ucomm = 'FC02'.
MOVE '' TO c_ro1.
ENDIF.
c_ro2 = c_ha = c_fe = c_zs = c_ro1.
MODIFY SCREEN.
ENDIF.
ENDFORM. " SET_SCREEN