1. 교재소스와 홈페이지에 있는 소스가 다르네요.
둘다 적용해봐도 결과 않나옵니다. 제가 작성한 소스를 파일첨부했습니다.
보시고 무엇이 잘못됐는지 알려주세요. 아무리 봐도 수정해도 해결이 않되네요.
2. gs_variant-report = sy-repid. 프로그램 이름을 출력하는것 같은데
어디서 확인이 되나요?
그리고 교재와 홈페이지소스에는 각각 위 소스가 다른 위치에 적용이 됐네요.
차이점이 뭔가요?
3.
p_vari = gs_cs_varient-variant.
위 소스는 뭔가요?
처음으로 alv를 해보니 모르는게 너무 많네요.
이리저리 해결해보고 정말 안되는것 모아서 질문을 드립니다.
보시고 자세한 답변부탁합니다.
댓글 12
-
e-abap
2008.09.17 18:13
스크린 100번은 만드셨나요? -
아밥우먼
2008.09.17 19:18
만들었습니다. con1이라 이름이 된 custom control 도 만들고요.
PROCESS BEFORE OUTPUT.
MODULE status_0100.
MODULE init_con.
PROCESS AFTER INPUT.
MODULE user_command_0100. -
e-abap
2008.09.17 20:15
ALV까지 조회가 되나요?
-
아밥우먼
2008.09.17 21:16
<P>1019페이지가 됩니다. 그 이후부터 문제가 생겨 제대로 실습이 않되네요</P>
<P>alv레이아웃은 나옵니다.</P> -
e-abap
2008.09.17 21:28
다음 소스를 이용해보세요.
REPORT z18_004.
DATA: con1_ref TYPE REF TO cl_gui_custom_container.
DATA: grid1 TYPE REF TO cl_gui_alv_grid,
gs_variant LIKE disvariant,
gs_cs_varient LIKE disvariant,
gt_sflight TYPE TABLE OF sflight.
PARAMETERS: p_vari LIKE disvariant-variant.
INITIALIZATION. "insert
gs_variant-report = sy-repid. "insert
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
* gs_variant-report = sy-repid. "insert
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = gs_variant
i_save = 'A'
IMPORTING
* e_exit = g_exit
es_variant = gs_cs_varient
EXCEPTIONS
not_found = 1
program_error = 2
OTHERS = 3.
" insert start
IF sy-subrc EQ 0.
p_vari = gs_cs_varient-variant.
ENDIF.
" insert end
START-OF-SELECTION.
* gs_variant-report = sy-repid. "insert
* gs_variant-username = sy-uname. "insert
SELECT * FROM sflight INTO TABLE gt_sflight
UP TO 25 ROWS.
CALL SCREEN 100.
*----------------------------------------------------------------------*
* MODULE init_con OUTPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE init_con OUTPUT.
IF con1_ref IS INITIAL.
CREATE OBJECT con1_ref
EXPORTING
container_name = 'CON1'.
CREATE OBJECT grid1
EXPORTING
i_parent = con1_ref.
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'SFLIGHT'
is_variant = gs_variant "insert
i_save = 'A' "insert
CHANGING
it_outtab = gt_sflight.
ENDIF.
ENDMODULE. "init_con OUTPUT
*----------------------------------------------------------------------*
* MODULE status_0100 OUTPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'G100'.
ENDMODULE. "status_0100 OUTPUT
*----------------------------------------------------------------------*
* MODULE user_command_0100 INPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'back' OR 'exit' OR 'canc'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. "user_command_0100 INPUT -
아밥우먼
2008.09.17 21:59
<P>해봤는데..역시나 안됩니다. 제가 작성한 대로 스크린100를 만들고 보여주신 소스를 그대로 </P>
<P>사용했는데 alv레이아웃이 나오지 않고 staus G100 of user interface z18_004 missing.</P>
<P>라는 메시지가 나오네요.<BR>그래서 다시 제가 작성한 소스를 가지고 실행을 했는데 정상적으로 나옵니다.</P>
<P>그러나 책에 나오는 결과는 역시 않나오죠.</P>
<P>그래서 제가 작성한 소스와 운영자님께서 보여주신 소스를 비교했는데 아무리 봐도</P>
<P>다른 점이 전혀 없어보입니다. 완전히 똑같아보입니다. 아무리 봐도..</P>
<P>어디가 수정이 된건가요?</P>
<P>이렇게 해도 않되면 이 부분은 잠시 미루고 다른 부분을 공부해야 겠습니다.</P>
<P>이부분때문에 이틀을 소비했습니다. ㅡ..ㅡ</P>
<P>답변 감사합니다.^^</P> -
e-abap
2008.09.17 22:47
GUI STATUS 'G100' 을 생성하셔야 되요~
815 페이지를 참고해서 G100을 생성하세요~
-
아밥우먼
2008.09.18 02:27
<P>설정하고 결과를 확인해본 것입니다. 단 아이콘은 나오는데 눌러도 실행이 않됩니다.</P>
<P>GUI STATUS에 들어가서 FUNCTION 키를 설정했습니다.</P>
<P><설정내용></P>
<P>1.function code: canc</P>
<P>2, function type: E or S or T (모두 해봄)</P>
<P>3. fuction text , icon text, infor text : canc, 아이콘 설정하고..</P>
<P> </P>
<P>요렇게 했는데 눌러도 소용이 없습니다. 뭐가 잘못설정된것 같은데 책에는 아무리 찾아봐도 해결방법이 않보입니다.</P>
<P>gui status문제로 다행인데.. 이게 아니라면...ㅡ..ㅡ 다른 소스도 다 비슷해서..</P>
<P> </P>
<P> </P>
<P> </P> -
e-abap
2008.09.18 17:44
GUI STATUS 이름을 G100 으로 생성하셨나요?
SE80 화면 및 실행결과된 화면을 덤프떠서 워드파일로 올려주세요
-
e-abap
2008.09.18 18:25
그리고 소스코드에 다음 부분을 대문자로 변경하세요~
WHEN 'BACK' OR 'EXIT' OR 'CANC'. -
아밥우먼
2008.09.18 19:40
<P>대문자로 했는데 전혀 반응이 없더군요. 도저히 않되 좀 더 확인 후 정 않되면 </P>
<P>SE80 화면 및 실행결과된 화면을 덤프떠서 워드파일로 올리겠습니다.</P>
<P>이게 원인인지 다른소스도 해보니 반응이 없어 alv 실습을 제대로 못하고 있습니다.</P>
<P>답변 감사합니다.</P> -
아밥우먼
2008.09.24 21:35
<P>겨우 힘들게 해결했습니다. 답변감사합니다.^^</P>