Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PROGRAM1:
REPORT
Z630PMALV1
= 'CCONT'.
EXPORTING
i_parent
= vbak_cont.
perform getvbak.
if lt_vbak[] is not initial.
perform displayvbak.
endif.
endmodule.
" STATUS_0100
OUTPUT
" USER_COMMAND_0100
INPUT
form getvbak .
select vbeln erdat erzet ernam
from vbak
into table lt_vbak
where vbeln in so_vbeln.
endform.
" getvbak
form displayvbak .
CALL METHOD vbak_grid->set_table_for_first_display
CHANGING
it_outtab
endform.
= lt_vbak[].
" displayvbak
PROGRAM2:
REPORT
Z630PMALV1
= 'CCONT'.
= vbak_cont.
perform getvbak.
if lt_vbak[] is not initial.
perform displayvbak.
endif.
endmodule.
" STATUS_0100
OUTPUT
" USER_COMMAND_0100
INPUT
form getvbak .
select vbeln erdat erzet ernam
from vbak
into table lt_vbak
where vbeln in so_vbeln.
endform.
" getvbak
form displayvbak .
CALL METHOD vbak_grid->set_table_for_first_display
EXPORTING
I_STRUCTURE_NAME
= 'VBAK'
CHANGING
it_outtab
endform.
= lt_vbak[].
" displayvbak
PROGRAM3:
REPORT
Z630PMALV1
= 'CCONT'.
= vbak_cont.
perform getvbak.
if lt_vbak[] is not initial.
perform displayvbak.
endif.
endmodule.
" STATUS_0100
OUTPUT
when 'BACK'.
leave program.
endcase.
endmodule.
" USER_COMMAND_0100
INPUT
form getvbak .
select vbeln erdat erzet ernam
from vbak
into table lt_vbak
where vbeln in so_vbeln.
endform.
" getvbak
form displayvbak .
CALL METHOD vbak_grid->set_table_for_first_display
EXPORTING
I_STRUCTURE_NAME
= 'ZMYVBAK'
CHANGING
it_outtab
endform.
= lt_vbak[].
" displayvbak
PROGRAM4:
REPORT
Z630PMALV3
= 'CCONT'.
= vbak_cont.
perform getvbak.
if lt_vbak[] is not initial.
perform fldcat.
perform displayvbak.
endif.
endmodule.
" STATUS_0100
OUTPUT
endcase.
endmodule.
" USER_COMMAND_0100
INPUT
form getvbak .
select vbeln erdat erzet ernam
from vbak
into table lt_vbak
where vbeln in so_vbeln.
endform.
" getvbak
form displayvbak .
CALL METHOD vbak_grid->set_table_for_first_display
CHANGING
IT_FIELDCATALOG
= lt_fcat[]
it_outtab
endform.
= lt_vbak[].
" displayvbak
form fldcat .
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME
= 'ZMYVBAK'
CHANGING
ct_fieldcat
endform.
= lt_fcat[].
" fldcat
PROGRAM5:
REPORT
Z630PMALV3
initialization.
so_vbeln-low = '4970'.
so_vbeln-high = '4974'.
append so_vbeln.
start-of-selection.
call screen 100.
module STATUS_0100 output.
set pf-status 'ABC'.
CREATE OBJECT vbak_cont
EXPORTING
container_name
= 'CCONT'.
= vbak_cont.
perform getvbak.
if lt_vbak[] is not initial.
perform fldcat.
perform displayvbak.
endif.
endmodule.
" STATUS_0100
OUTPUT
" USER_COMMAND_0100
INPUT
form getvbak .
select vbeln erdat erzet ernam
from vbak
into table lt_vbak
where vbeln in so_vbeln.
endform.
" getvbak
form displayvbak .
CALL METHOD vbak_grid->set_table_for_first_display
CHANGING
IT_FIELDCATALOG
it_outtab
endform.
= lt_fcat[]
= lt_vbak[].
" displayvbak
form fldcat .
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME
= 'ZMYVBAK'
CHANGING
ct_fieldcat
= lt_fcat[].
endform.
" fldcat
PROGRAM6:
REPORT
Z630PMALV3
= 'CCONT'.
= vbak_cont.
perform getvbak.
if lt_vbak[] is not initial.
perform fldcat.
perform displayvbak.
endif.
endmodule.
" STATUS_0100
OUTPUT
endmodule.
" USER_COMMAND_0100
INPUT
form getvbak .
select vbeln erdat erzet ernam
from vbak
into table lt_vbak
where vbeln in so_vbeln.
endform.
" getvbak
form displayvbak .
CALL METHOD vbak_grid->set_table_for_first_display
CHANGING
IT_FIELDCATALOG
= lt_fcat[]
it_outtab
endform.
= lt_vbak[].
" displayvbak
form fldcat .
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME
= 'ZMYVBAK'
CHANGING
ct_fieldcat
= lt_fcat[].
endif.
endform.
" fldcat
PROGRAM7:
REPORT
Z630PMALV3
= 'CCONT'.
= vbak_cont.
perform getvbak.
if lt_vbak[] is not initial.
perform fldcat.
perform layout.
perform displayvbak.
endif.
endmodule.
" STATUS_0100
OUTPUT
" USER_COMMAND_0100
form getvbak .
select vbeln erdat erzet ernam
from vbak
into table lt_vbak
where vbeln in so_vbeln.
endform.
" getvbak
INPUT
form displayvbak .
CALL METHOD vbak_grid->set_table_for_first_display
EXPORTING
IS_LAYOUT
= ls_layo
CHANGING
IT_FIELDCATALOG
= lt_fcat[]
it_outtab
endform.
= lt_vbak[].
" displayvbak
form fldcat .
clear ls_fcat.
ls_fcat-fieldname = 'VBELN'.
ls_fcat-col_pos = 1.
ls_fcat-coltext = 'Sales Doc'.
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'ERDAT'.
ls_fcat-col_pos = 2.
ls_fcat-coltext = 'DATE'.
ls_fcat-outputlen = 12.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'ERZET'.
ls_fcat-col_pos = 3.
ls_fcat-coltext = 'TIME'.
ls_fcat-outputlen = 12.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'ERNAM'.
ls_fcat-col_pos = 4.
endform.
" fldcat
form layout .
clear ls_layo.
ls_layo-zebra = 'X'.
ls_layo-grid_title = 'SALES DOCUMENT HEADER DATA'.
endform.
" layout
PROGRAM8:
report
z630pmalv8
start-of-selection.
call screen 100.
module status_0100 output.
set pf-status 'ABC'.
if kna1_cont is initial.
create object kna1_cont
exporting
container_name
= 'CUST1'.
= kna1_cont.
perform getkna1.
if lt_kna1[] is not initial.
perform fldcatkna1.
perform layoutkna1.
perform registerhandlers.
perform displaykna1.
endif.
endif.
endmodule.
" STATUS_0100
form getkna1 .
select kunnr land1 name1
from kna1
into table lt_kna1
where land1 = 'DE'.
endform.
" getkna1
form fldcatkna1 .
clear ls_fcat.
ls_fcat-fieldname = 'KUNNR'.
ls_fcat-col_pos = 1.
OUTPUT
endform.
" fldcatkna1
form layoutkna1 .
clear ls_layo.
ls_layo-zebra = 'X'.
ls_layo-grid_title = 'CUSTOMER MASTER DATA'.
endform.
" layoutkna1
form displaykna1 .
call method kna1_grid->set_table_for_first_display
exporting
is_layout
changing
= ls_layo
it_outtab
= lt_kna1[]
it_fieldcatalog
= lt_fcat[].
endform.
" displaykna1
" USER_COMMAND_0100
INPUT
form registerhandlers .
create object ob.
set handler ob->handle_hotspot_click for kna1_grid.
endform.
" registerhandlers
form getvbak .
select vbeln erdat ernam kunnr
from vbak
into table lt_vbak
where kunnr = lv_kunnr.
endform.
" getvbak
= 'CUST2'.
= vbak_cont.
perform fldcatvbak.
perform layoutvbak.
perform displayvbak.
else.
call method vbak_grid->refresh_table_display.
endif.
endmodule.
" STATUS_0200
form fldcatvbak .
refresh lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'VBELN'.
ls_fcat-col_pos = 1.
ls_fcat-coltext = 'Sales Doc'.
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'ERDAT'.
ls_fcat-col_pos = 2.
ls_fcat-coltext = 'Creation Date'.
ls_fcat-outputlen = 12.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'ERNAM'.
ls_fcat-col_pos = 3.
ls_fcat-coltext = 'Created By'.
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'KUNNR'.
ls_fcat-col_pos = 4.
ls_fcat-coltext = 'Customer no'.
OUTPUT
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
endform.
" fldcatvbak
form layoutvbak .
clear ls_layo.
ls_layo-grid_title = 'SALES DOCUMENT HEADER DATA'.
ls_layo-zebra = 'X'.
endform.
" layoutvbak
form displayvbak .
call method vbak_grid->set_table_for_first_display
exporting
is_layout
= ls_layo
changing
it_outtab
= lt_vbak[]
it_fieldcatalog
= lt_fcat[].
endform.
" displayvbak
" USER_COMMAND_0200
PROGRAM8(10-11-2011):
report
z630pmalv8
INPUT
lv_kunnr = ls_kna1-kunnr.
if lv_kunnr is not initial.
perform getvbak.
if sy-subrc eq 0.
call screen 200.
else.
message 'No sales doc' type 'I'.
endif.
endif.
endif.
endmethod.
method handle_double_click.
read table lt_vbak into ls_vbak index e_row-index.
if sy-subrc eq 0.
lv_vbeln = ls_vbak-vbeln.
if lv_vbeln is not initial.
perform getvbap.
if lt_vbap[] is not initial.
call screen 300.
else.
message 'No items' type 'I'.
endif.
endif.
endif.
endmethod.
method handle_button_click.
read table lt_vbap into ls_vbap
index es_row_no-row_id.
if sy-subrc eq 0.
lv_matnr = ls_vbap-matnr.
if lv_matnr is not initial.
perform getmaterial.
if lt_mara[] is not initial.
call screen 400.
else.
= 'CUST1'.
= kna1_cont.
perform getkna1.
if lt_kna1[] is not initial.
perform fldcatkna1.
perform layoutkna1.
perform registerhandlers.
perform displaykna1.
endif.
endif.
endmodule.
form getkna1 .
select kunnr land1 name1
" STATUS_0100
OUTPUT
from kna1
into table lt_kna1
where land1 = 'DE'.
endform.
" getkna1
form fldcatkna1 .
clear ls_fcat.
ls_fcat-fieldname = 'KUNNR'.
ls_fcat-col_pos = 1.
ls_fcat-coltext = 'Customer No'.
ls_fcat-outputlen = 12.
ls_fcat-hotspot = 'X'.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'LAND1'.
ls_fcat-col_pos = 2.
ls_fcat-coltext = 'Country'.
ls_fcat-outputlen = 7.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'NAME1'.
ls_fcat-col_pos = 3.
ls_fcat-coltext = 'Customer Name'.
ls_fcat-outputlen = 12.
append ls_fcat to lt_fcat.
endform.
form layoutkna1 .
clear ls_layo.
ls_layo-zebra = 'X'.
" fldcatkna1
" layoutkna1
form displaykna1 .
call method kna1_grid->set_table_for_first_display
exporting
is_layout
= ls_layo
changing
it_outtab
= lt_kna1[]
it_fieldcatalog
= lt_fcat[].
endform.
" displaykna1
" USER_COMMAND_0100
INPUT
form registerhandlers .
create object ob.
set handler ob->handle_hotspot_click for kna1_grid.
endform.
" registerhandlers
form getvbak .
select vbeln erdat ernam kunnr
from vbak
into table lt_vbak
where kunnr = lv_kunnr.
endform.
" getvbak
= 'CUST2'.
= vbak_cont.
perform fldcatvbak.
perform layoutvbak.
perform register_handlers.
perform displayvbak.
else.
call method vbak_grid->refresh_table_display.
endif.
endmodule.
form fldcatvbak .
" STATUS_0200
OUTPUT
refresh lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'VBELN'.
ls_fcat-col_pos = 1.
ls_fcat-coltext = 'Sales Doc'.
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'ERDAT'.
ls_fcat-col_pos = 2.
ls_fcat-coltext = 'Creation Date'.
ls_fcat-outputlen = 12.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'ERNAM'.
ls_fcat-col_pos = 3.
ls_fcat-coltext = 'Created By'.
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'KUNNR'.
ls_fcat-col_pos = 4.
ls_fcat-coltext = 'Customer no'.
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
endform.
" fldcatvbak
form layoutvbak .
clear ls_layo.
ls_layo-grid_title = 'SALES DOCUMENT HEADER DATA'.
ls_layo-zebra = 'X'.
endform.
" layoutvbak
form displayvbak .
call method vbak_grid->set_table_for_first_display
exporting
is_layout
= ls_layo
changing
it_outtab
= lt_vbak[]
it_fieldcatalog
= lt_fcat[].
endform.
" displayvbak
" USER_COMMAND_0200
INPUT
form register_handlers .
create object ob.
set handler ob->handle_double_click for vbak_grid.
endform.
" register_handlers
form getvbap .
select vbeln posnr matnr
from vbap into table lt_vbap
where vbeln = lv_vbeln.
endform.
" getvbap
= 'CUST3'.
= vbap_cont.
perform fldcatvbap.
perform layoutvbap.
perform register.
perform displayvbap.
else.
call method vbap_grid->refresh_table_display.
endif.
endmodule.
" STATUS_0300
form fldcatvbap .
refresh lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'VBELN'.
ls_fcat-col_pos = 1.
ls_fcat-coltext = 'Sales Doc'.
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'POSNR'.
ls_fcat-col_pos = 2.
OUTPUT
endform.
" fldcatvbap
form layoutvbap .
clear ls_layo.
ls_layo-grid_title = 'Sales Document Item data'.
ls_layo-zebra = 'X'.
endform.
" layoutvbap
form displayvbap .
call method vbap_grid->set_table_for_first_display
exporting
is_layout
= ls_layo
changing
it_outtab
= lt_vbap[]
it_fieldcatalog
= lt_fcat[].
endform.
" displayvbap
case sy-ucomm.
when 'BACK'.
leave to screen 200.
endcase.
endmodule.
" USER_COMMAND_0300
INPUT
form register .
create object ob.
set handler ob->handle_button_click for vbap_grid.
endform.
" register
form getmaterial .
select single matnr mtart matkl
from mara
into ls_mara where matnr = lv_matnr.
if sy-subrc eq 0.
refresh lt_mara.
append ls_mara to lt_mara.
endif.
endform.
" getmaterial
*&--------------------------------------------------------------------*
*&
Form
fldcatmara
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
*
-->
p1
text
<--
p2
text
*---------------------------------------------------------------------*
form fldcatmara .
refresh lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'MATNR'.
ls_fcat-col_pos = 1.
ls_fcat-coltext = 'Material no'.
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'MTART'.
ls_fcat-col_pos = 2.
ls_fcat-coltext = 'Material Type'.
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'MATKL'.
ls_fcat-col_pos = 3.
ls_fcat-coltext = 'Material Group'.
ls_fcat-outputlen = 10.
append ls_fcat to lt_fcat.
endform.
" fldcatmara
= 'CUST4'.
= mara_cont.
perform displaymara.
else.
call method mara_grid->refresh_table_display.
endif.
endmodule.
" STATUS_0400
OUTPUT
form layoutmara .
clear ls_layo.
ls_layo-grid_title = 'MATERIAL MASTER DATA'.
ls_layo-zebra
= 'X'.
endform.
" layoutmara
form displaymara .
call method mara_grid->set_table_for_first_display
exporting
is_layout
= ls_layo
changing
it_outtab
= lt_mara[]
it_fieldcatalog
= lt_fcat[].
endform.
" displaymara
" USER_COMMAND_0400
INPUT
PROGRAM9:
report
z630pmalv9
= 'CUST1'.
= cust_cont
rows
= 1
columns
= 2.
= 1
width
= 10.
= 2
width
= 7.
= 1
column
= 1
receiving
container = o_cont1.
= 1
column
= 2
receiving
container = o_cont2.
perform tree.
endif.
endmodule.
" STATUS_0100
OUTPUT
" USER_COMMAND_0100
form tree .
create object o_tree
exporting
parent
= o_cont1
node_selection_mode
cl_gui_simple_tree=>node_sel_mode_single.
INPUT
perform constructnodes.
call method o_tree->add_nodes
exporting
table_structure_name
= 'ABDEMONODE'
node_table
= lt_nodes[].
endform.
" tree
form constructnodes .
clear ls_nodes.
ls_nodes-node_key = 'ROOT'.
ls_nodes-isfolder = 'X'.
ls_nodes-expander = 'X'.
ls_nodes-text = 'Transactions'.
append ls_nodes to lt_nodes.
clear ls_nodes.
ls_nodes-node_key = 'SO'.
ls_nodes-relatkey = 'ROOT'.
ls_nodes-isfolder = 'X'.
ls_nodes-expander = 'X'.
ls_nodes-text = 'Sales order'.
append ls_nodes to lt_nodes.
clear ls_nodes.
ls_nodes-node_key = 'CSO'.
ls_nodes-relatkey = 'SO'.
ls_nodes-n_image = '@15@'.
ls_nodes-text = 'Create Sales order'.
append ls_nodes to lt_nodes.
clear ls_nodes.
ls_nodes-node_key = 'CHSO'.
ls_nodes-relatkey = 'SO'.
ls_nodes-n_image = '@15@'.
endform.
PROGRAM10:
PROGRAM11:
PROGRAM12:
PROGRAM13:
PROGRAM14:
PROGRAM15:
PROGRAM16:
PROGRAM17:
PROGRAM18:
" constructnodes
PROGRAM19:
PROGRAM20: