메뉴바가 안나와서 STATUS를 만들고 처리하니 데이터가 안나오네여 메뉴바도 생기기만하고 작동은 안하거염 무엇이 문제인지 좀 알려주세여. STATUS 만들기 전에는 데이터는 나왔는데 지금은 안되네여.
include ztest_129top.
include ztest_129o1.
include ztest_129f1.
start-of-selection.
select * from zfited301 into table gt_alv
where corp >= p_1.
call screen '0200'.
*&---------------------------------------------------------------------*
*& Include ZTEST_129TOP
*&---------------------------------------------------------------------*
*tables zfited301.
*----------------------------------------------------------------------*
* TYPE-POOLS
*----------------------------------------------------------------------*
type-pools: slis.
selection-screen begin of block b1.
parameters: p_1 like zfited301-corp.
selection-screen end of block b1.
data: con1_ref type ref to cl_gui_custom_container.
data: gv_title type char100,
gv_tabname type char100,
gv_perio type jahrper.
data: grid1 type ref to cl_gui_alv_grid,
gt_alv type table of zfited301,
gs_layo type lvc_s_layo,
gt_fieldcat type lvc_t_fcat with header line,
gt_sort type lvc_t_sort with header line,
gs_fieldcat type lvc_s_fcat.
*&---------------------------------------------------------------------*
*& Include ZTEST_129O1
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module status_0200 output.
set pf-status 'STATUS_0200'.
set titlebar 'TITLE_0200' with gv_title.
endmodule. " STATUS_0200 OUTPUT
module init_alv output.
if con1_ref is initial.
create object con1_ref
exporting
container_name = 'CON1'.
create object grid1
exporting
i_parent = con1_ref.
perform set_grid_layout.
perform set_set_sorting_fields.
perform set_alv_fieldcat.
call method grid1->set_table_for_first_display
exporting
i_buffer_active = 'X'
i_bypassing_buffer = 'X'
i_save = 'A'
is_layout = gs_layo
changing
it_outtab = gt_alv[]
it_fieldcatalog = gt_fieldcat[]
it_sort = gt_sort[]
exceptions
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
others = 4.
endif.
endmodule. "init_con OUTPUT
*&---------------------------------------------------------------------*
*& Include ZTEST_129F1
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form SET_GRID_LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form set_grid_layout .
clear:gs_layo.
gs_layo-zebra = 'X'.
endform. " SET_GRID_LAYOUT
*&---------------------------------------------------------------------*
*& Form SET_SET_SORTING_FIELDS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form set_set_sorting_fields .
clear: gt_sort, gt_sort[].
gt_sort-fieldname = 'CORP'.
gt_sort-up = 'X'.
append gt_sort.
clear gt_sort.
endform. " SET_SET_SORTING_FIELDS
*&---------------------------------------------------------------------*
*& Form SET_ALV_FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form set_alv_fieldcat .
clear: gs_fieldcat. refresh : gt_fieldcat.
perform set_fieldcat using :
'CORP' 'X' '회사고유코드' 'S' 'C' '14' '' '' '' '' '' '' '',
'CORPNM' '' '회사명칭' 'S' 'R' '18' '' '' '' '' '' '' '',
'STCD' '' '사업자등록번호' 'S' 'R' '20' '' '' '' '' '' '' '',
'ADDR1' '' '주소1(도시)' 'S' 'R' '12' '' '' '' '' '' '' '',
'ADDR2' '' '주소2(나머지)' 'S' 'R' '24' '' '' '' '' '' '' '',
'PRES' '' '대표자명' 'S' 'R' '16' '' '' '' '' '' '' '',
'EMPN' '' '직원수' 'S' 'R' '18' '' '' '' '' '' '' ''.
endform. " SET_ALV_FIELDCAT
*&---------------------------------------------------------------------*
*& Form SET_FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0035 text
* -->P_0036 text
* -->P_0037 text
* -->P_0038 text
* -->P_0039 text
* -->P_0040 text
* -->P_0041 text
* -->P_0042 text
* -->P_0043 text
* -->P_0044 text
* -->P_0045 text
* -->P_0046 text
* -->P_0047 text
*----------------------------------------------------------------------*
form set_fieldcat using pv_fname
pv_key
pv_scrtext
pv_selddictxt
pv_just
pv_outputlen
pv_hotspot
pv_sum
pv_curr
pv_edit
pv_dec
pv_checkbox
pv_icon.
gs_fieldcat-fieldname = pv_fname.
gs_fieldcat-key = pv_key.
gs_fieldcat-selddictxt = pv_selddictxt.
gs_fieldcat-just = pv_just.
gs_fieldcat-scrtext_l = pv_scrtext.
gs_fieldcat-scrtext_m = pv_scrtext.
gs_fieldcat-scrtext_s = pv_scrtext.
gs_fieldcat-outputlen = pv_outputlen.
gs_fieldcat-hotspot = pv_hotspot.
gs_fieldcat-do_sum = pv_sum.
gs_fieldcat-cfieldname = pv_curr.
gs_fieldcat-edit = pv_edit.
gs_fieldcat-decimals_o = pv_dec.
gs_fieldcat-checkbox = pv_checkbox.
gs_fieldcat-icon = pv_icon.
append gs_fieldcat to gt_fieldcat.
clear gs_fieldcat.
endform. " SET_FIELDCAT
댓글 11
-
기쁨
2010.10.26 03:32
-
꼬마호랑이
2010.10.26 19:29
네 컨테이너 그려서 데이터는 나왔었는데 메뉴바가 안보이길래 그거해결할려니 status가 빠졌다고 하길래 책보고 만들어봤는데 안되네염.
기능키부분에다가 back exit canc 넣어주고 활성화 시켰는데..pai만들어서해봐도 결과는 같네염 아래와 같이 만들었습니다.새로들어간변수도 정의해줬거염. 무슨 +,-를 해줘야 한다는 말을 듣기는 했는데 그걸어디서 하는지 모르고 그걸 안해줘서 그런가여?
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module user_command_0200 input.
endmodule. " USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
*& Module EXIT INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module exit input.
clear gv_saveok.
gv_saveok = gv_okcode.
clear gv_okcode.
case gv_saveok.
when 'BACK'.
leave to screen 0.
when 'EXIT' or 'CANC'.
leave program.
endcase.
endmodule. " EXIT INPUT
-
기쁨
2010.10.26 20:39
메뉴바가 안나온다는게 BACK,EXIT,CANC 버튼이 활성화가 안된다는 말씀인가요?
아래 소스처럼 STATUS 코딩하셨나요?
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'PF_100'. => 상태 이름
SET TITLEBAR '0100'.
ENDMODULE. " STATUS_0100 OUTPUT -
꼬마호랑이
2010.10.26 23:25
네 위에 pbo보시면 해두었습니다. 아직 초짜라서 제 생각대로 한게 아니라 거의 표본보고 한거라서 표본이랑 틀린게 거의 없는데 안나와서
이렇게 질문드리게 되었습니다.
-
기쁨
2010.10.27 01:16
버튼은 나오는데 클릭하면 작동이 안된다는 말씀인가요?
exit 를 타려면 status에 'BACK''EXIT''CANC'버튼의 기능유형이 'E' 로 되어야 해요.
제가 엄한데만 긁나요? ㅋㅋ
-
꼬마호랑이
2010.10.27 03:01
네 버튼은 나오는데 클릭하면 작동이 안되여.Function 속성에서 기능유형도 E해주었구염. 이것도 안되지만 잘나오든 자료가 하나도 안나오고 있어염 ㅜ.ㅜ
-
테라스
2010.10.27 03:14
200번 화면에서 MODULE EXIT AT EXIT-COMMAND.라고 선언하셨는지 확인해보세요
-
Wise 멘토
2010.10.27 03:25
*&---------------------------------------------------------------------*
*& Module EXIT INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module exit input.
clear gv_saveok.
gv_saveok = gv_okcode. <==== 이부분이 잘못된거 같네요.. -> gv_saveok =
OK_CODE.
clear gv_okcode.
case gv_saveok.
when 'BACK'.
leave to screen 0.
when 'EXIT' or 'CANC'.
leave program.
endcase.
endmodule. " EXIT INPUT
-
꼬마호랑이
2010.10.27 20:42
답변감사합니다. 다른 보고서 프로그램으로 코딩은 같게하고 만들어서 처리하니 자료는 나와염(신기하게도). 키는보이는데 클릭하면 작동을 안해염(이 문제를 해결하고 싶은데 잘 안되네염).
STATUS생성하고염. 다른건 안하고 기능키 에다가만염 BACK, EXIT.CANC 써준다음 펑션 속성 들어가서 기능유형에다가E해주고 활성화시켰습니다. 첨생성해봐서 무엇인가 빠진것이 있나염?
화면은
process before output.
module status_0100.
module init_alv.
process after input.
module user_command_0100.
module exit at exit-command.
이렇게 해줬거염.
module status_0100은 아래와 같이 정의해줬거염.
module status_0100 output.
set pf-status 'STATUS_0100'.
set titlebar 'TITLE_0100' with gv_title.
endmodule. " STATUS_0100 OUTPUT
참고로 GUI제목은 안만들었습니다. GUI상태 만들어 볼려는데 안되어서 그렇습니다.
-
기쁨
2010.10.28 02:46
전체 소스들을 한번 주시면 한번 해보겠는데,,,, 글만봐서는 모르겠습니다. ^^;;
-
꼬마호랑이
2010.10.28 03:19
답변 감사했습니다. 해결했습니다. 화면에 요소리스트에다가도 만들어준다는걸 몰랐습니다. ㅜ.ㅜ
alv 안나오는건, => 혹시 스크린 200에 'CON1' 이라는 컨테이너 그리셨나요?
그리고, status_0200의 버튼을 만드신거죠? 'SAVE', 'EXIT' 등등...
PAI에서 USER_COMMAND_200 모듈 만들어서 처리하셔야 할것 같은데요.