2017-12-07 60 views
0

Dynpro에서 Tabstrip을 설정합니다. 필자에게는 2 개의 탭이 있습니다. 각 탭에서 하위 화면을 설정했습니다. SAP ABAP Tabstrip

0100

- 메인 화면
0110 - 하위 화면 하나
0120 - 하위 화면 두

탭 스트립 이러한 속성으로 정의됩니다

탭 :

Title strip Reference subscreen Function code Function type 
Subscreen One SUB1     STP_CTGRY_TAB P 
Subscreen Two SUB1     TRAN_TAB  P 

하위 화면 (서브 화면 영역) :

SUB1 

dynpro 0100 플로우 로직은 : 프로그램 레벨

PROCESS BEFORE OUTPUT. 
    MODULE pbo. 
    CALL SUBSCREEN sub1 INCLUDING sy-repid dynnr. 
PROCESS AFTER INPUT. 
    CALL SUBSCREEN sub1. 
    MODULE pai. 

I 선언. 메인 화면 0100 PBO에서

CONTROLS mytabstrip TYPE TABSTRIP. 
DATA: ok_code   LIKE sy-ucomm, 
    dynnr   TYPE sy-dynnr. 

:

IF mytabstrip-activetab IS INITIAL OR dynnr IS INITIAL. 
    mytabstrip-activetab = 'STP_CTGRY_TAB'. 
    dynnr = '0110'. 
ENDIF. 

메인 화면 0100 PAI에서 :

CASE ok_code. 
WHEN 'STP_CTGRY_TAB'. 
    dynnr = '0110'. 
    mytabstrip-activetab = ok_code. 
WHEN 'TRAN_TAB'. 
    dynnr = '0120'. 
    mytabstrip-activetab = ok_code. 
ENDCASE. 

내 프로그램을 디버깅하는 경우와 설정은 탭 스트림 작업을 중단 점. 내가 프로그램을 실행하고 탭 스트립의 탭을 변경하면 하위 화면이 멈추고 표시되어야하는 하위 화면이 겹쳐진 것처럼 보입니다.

전체적으로 Tab의 변경이 작동하지 않습니다.

코드를 잊어 버리셨습니까? 누구든지 제가 놓친 것을 도와 줄 수 있습니까?

답변

0

REASON : 그것은 2 개 서브 화면 영역을 참조하여 작업을 필요로하므로 2 개 탭

  • 함수 유형의 탭 스트립 "은 로컬 페이징"을 이용하여 작동하는 것을 의미하는 값 "P"로 정의 된 탭 별 작업은 예상대로 작동합니다.

  • 두 가지 유형의 탭 스트립이 있습니다. 모든 탭에 대한

    1. 하나 개를 사용하여 하위 화면 ("서버 페이징") 그래서 당신은 사용자가 탭을 클릭하면 새로운 각 데이터를로드 할 수 있습니다.

    2. 각 탭마다 하나의 하위 화면 사용 ("로컬 페이징") 전체 데이터는 프로그램의 시작 부분에로드됩니다.
      참고 : 화면 레이아웃 편집기에서 당신이 P - local GUI func.

    3. 에 매개 변수 FctType을 설정해야

해결 방법 : 서버 페이징을 사용하려면

(1), 기능 유형을하자 이 같은 비우 :

Title strip Reference subscreen Function code Function type 
Subscreen One SUB1     STP_CTGRY_TAB 
Subscreen Two SUB1     TRAN_TAB  

dynpro 0100 흐름 논리는 다음과 같습니다

를3210
PROCESS BEFORE OUTPUT. 
    MODULE pbo. 
    CALL SUBSCREEN sub1 INCLUDING sy-repid dynnr. 
PROCESS AFTER INPUT. 
    CALL SUBSCREEN sub1. 
    MODULE pai. 

초기 질문에 표시된대로 PBO 및 PAI 모듈에서 DYNNR 및 MYTABSTRIP-ACTIVETAB 변수를 올바른 값으로 초기화하도록 ABAP 코드를 정의하십시오. 로컬 페이징 (2)를 사용하려면

, 다음 않는 :

탭 :

Title strip Reference subscreen Function code Function type 
Subscreen One SUB1     STP_CTGRY_TAB P 
Subscreen Two SUB2     TRAN_TAB  P 

하위 화면 (서브 화면 영역) :

SUB1 
SUB2 

dynpro 0100 흐름 논리는 :

PROCESS BEFORE OUTPUT. 
    MODULE pbo. 
    CALL SUBSCREEN sub1 INCLUDING sy-repid '0110'. 
    CALL SUBSCREEN sub2 INCLUDING sy-repid '0120'. 
PROCESS AFTER INPUT. 
    CALL SUBSCREEN sub1. 
    CALL SUBSCREEN sub2. 
    MODULE pai. 

로컬 페이징 시나리오에서 SAP GUI에서 로컬로 처리되므로 탭을 전환하기 위해 PBO 및 PAI 모듈에 ABAP 코드가 필요하지 않습니다. 여기

더 많은 정보 : https://help.sap.com/saphelp_nw70/helpdata/en/17/5bf1b52ba211d2954f0000e8353423/frameset.htm

+0

그래서, 당신이 한 단계를 확장하고 대답으로이를 표시합니다. – Suncatcher