답변완료 답변 2건의 답변이 등록 되었습니다. 회원검증 ABAP 화면 조작 질문 (subscreen)
페이지 정보
작성자
본문
※ T-CODE 가 없는 업무 프로세스 관련 질의는 상황적 설명만 올려 주세요!^^
1. 에러 발생 T-CODE :
2. SAP 에레 메세지 전체 Text :
3. 상황적인 설명 :
1. 메인스크린에서 버튼클릭시 SUBSCREEN으로 다음과 같은 화면이 팝업됩니다.
2. 라디오버튼 "채권" 선택시
3. 라디오버튼 "채무" 선택시
다음과 같이 select options 값이 이동이 됩니다.
SELECTION-SCREEN BEGIN OF SCREEN 0211 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : PR_B01 RADIOBUTTON GROUP GRB USER-COMMAND UC2.
SELECTION-SCREEN COMMENT 03(10) GV_B01_T FOR FIELD PR_B01.
SELECTION-SCREEN POSITION 17.
PARAMETERS : PR_B02 RADIOBUTTON GROUP GRB.
SELECTION-SCREEN COMMENT 19(10) GV_B02_T FOR FIELD PR_B02.
SELECTION-SCREEN END OF LINE.
SELECT-OPTIONS : SO_KUNNR FOR KNB1-KUNNR MODIF ID KUN.
SELECT-OPTIONS : SO_LIFNR FOR LFB1-LIFNR MODIF ID LIF.
SELECTION-SCREEN END OF SCREEN 0211.
======================================================================
FORM SCREEN_CONTROL .
LOOP AT SCREEN.
CASE SCREEN-GROUP1.
WHEN 'OBL'.
SCREEN-REQUIRED = 2.
WHEN 'TXT'.
SCREEN-INTENSIFIED = 1.
ENDCASE.
CASE SCREEN-GROUP1.
WHEN 'HID'.
IF SY-UNAME+0(4) <> 'ABAP' AND
SY-UNAME+0(2) <> 'FI' AND
SY-UNAME+2(2) <> 'IS' AND
SY-UNAME+0(2) <> 'CO'.
SCREEN-ACTIVE = 0.
ENDIF.
ENDCASE.
IF SCREEN-NAME = 'SO_RECDT-LOW'.
SCREEN-REQUIRED = 2.
ENDIF.
CASE SCREEN-GROUP1.
WHEN 'KUN'.
IF PR_B01 = C_X.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
WHEN 'LIF'.
IF PR_B02 = C_X.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ENDFORM. " SCREEN_CONTROL
================================================================================
FORM REFRESH_ALV USING P_GRID TYPE REF TO CL_GUI_ALV_GRID
PT_FCAT TYPE LVC_T_FCAT
PS_LAYOUT TYPE LVC_S_LAYO.
DATA: LT_ROW TYPE LVC_T_ROW.
DATA: LS_NO_SC TYPE LVC_S_ROID,
LS_ROW_SC TYPE LVC_S_ROW,
LS_COL_SC TYPE LVC_S_COL.
DATA: LS_NO_CELL TYPE LVC_S_ROID,
LS_ROW_CELL TYPE LVC_S_ROW,
LS_COL_CELL TYPE LVC_S_COL.
CALL METHOD P_GRID->GET_SELECTED_ROWS
IMPORTING
ET_INDEX_ROWS = LT_ROW.
CALL METHOD P_GRID->GET_SCROLL_INFO_VIA_ID
IMPORTING
ES_ROW_NO = LS_NO_SC
ES_ROW_INFO = LS_ROW_SC
ES_COL_INFO = LS_COL_SC.
CALL METHOD P_GRID->GET_CURRENT_CELL
IMPORTING
ES_ROW_NO = LS_NO_CELL
ES_ROW_ID = LS_ROW_CELL
ES_COL_ID = LS_COL_CELL.
* CALL METHOD P_GRID->SET_FRONTEND_FIELDCATALOG
* EXPORTING
* IT_FIELDCATALOG = PT_FCAT[].
*
* CALL METHOD P_GRID->SET_FRONTEND_LAYOUT
* EXPORTING
* IS_LAYOUT = PS_LAYOUT.
CALL METHOD P_GRID->REFRESH_TABLE_DISPLAY.
CALL METHOD P_GRID->SET_SELECTED_ROWS
EXPORTING
IT_INDEX_ROWS = LT_ROW.
IF GS_ROW_NO IS NOT INITIAL.
LS_NO_SC = LS_NO_CELL = GS_ROW_NO.
ENDIF.
IF GS_ROW_INFO IS NOT INITIAL.
LS_ROW_SC = LS_ROW_CELL = GS_ROW_INFO.
ENDIF.
IF GS_COL_INFO IS NOT INITIAL.
LS_COL_SC = LS_COL_CELL = GS_COL_INFO.
ENDIF.
CLEAR: GS_ROW_NO, GS_ROW_INFO, GS_COL_INFO.
CALL METHOD P_GRID->SET_SCROLL_INFO_VIA_ID
EXPORTING
IS_ROW_NO = LS_NO_SC
IS_ROW_INFO = LS_ROW_SC
IS_COL_INFO = LS_COL_SC.
CALL METHOD P_GRID->SET_CURRENT_CELL_VIA_ID
EXPORTING
IS_ROW_NO = LS_NO_CELL
IS_ROW_ID = LS_ROW_CELL
IS_COLUMN_ID = LS_COL_CELL.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = P_GRID.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDFORM. " REFRESH_ALV
라디오버튼에 따라 서브스크린 사이즈가 달라지는거 같은데요..어디서 설정을 하는건지요..
고정시키기 위해 먼가 값을 따로 설정해줘야 하는건지 궁금합니다.
- SAP 개발자를 위한 실무역량 교육(무료, 재직자과정) [ ABAP - 3,614 ] 2024-09-25 16:03:39
- 추천 블로그 - 한설날 [ ABAP - 4,023 ] 2024-04-01 17:55:43
- 2023-10, FI 연구소 정기 모임(10/25) [ ABAP - 9,989 ] 2023-10-13 11:01:41
- Re: ABAP 으로 만든 2048 게임을 소개합니다.! [ ABAP - 4,615 ] 2023-09-22 13:32:45
- ABAP 으로 만든 게임 - SCORE 6,000 [ ABAP - 5,717 ] 2023-09-22 09:13:23