2007 Sep 12 7:45 AM
hi experts,
i am trying to execute one report..but it is not working properly..i dont know what the report actually is doing..someone has send this report to me..i havent made this report.. m sending u the code..plz helm me out..plz chek whether it is working properly.
report zsd_r_report.
&----
*& Type-Pools
&----
type-pools: slis.
----
Table Declaration *
----
tables : vbrk, " Billing Document Header
vbrp, "Billing Document: Item Data
qals,
qamv.
----
DECLARATION OF TYPES *
----
data : t_vbrk type vbrk,
t_vbrp type vbrp,
t_lips type lips,
t_qals type qals,
t_qamv type qamv.
types : begin of t_vbrk,
vbeln type vbrk-vbeln,
knumv type vbrk-knumv,
waerk type vbrk-waerk,
end of t_vbrk,
begin of t_vbrp,
vbeln type vbrp-vbeln,
matnr type vbrp-matnr,
posnr type vbrp-posnr,
vgbel type vbrp-vgbel,
vgpos type vbrp-vgpos,
end of t_vbrp,
begin of t_lips,
vbeln type lips-vbeln,
posnr type lips-posnr,
matnr type lips-matnr,
charg type lips-charg,
werks type lips-werks,
uecha type lips-uecha,
end of t_lips,
begin of t_qals,
prueflos type qals-prueflos,
werk type qals-werk,
matnr type qals-matnr,
charg type qals-charg,
end of t_qals,
begin of t_qamv ,
prueflos type qals-prueflos,
vorglfnr type qapp-vorglfnr,
merknr type qamv-merknr,
verwmerkm type qamv-verwmerkm,
matnr type qamv-matnr,
end of t_qamv,
begin of t_qamr,
prueflos type qamr-prueflos,
vorglfnr type qamr-prueflos,
merknr type qamr-prueflos,
original_input type qamr-original_input,
end of t_qamr.
----
DECLARATION OF INTERNAL TABLES *
----
data : i_vbrk type standard table of t_vbrk,
i_vbrp type standard table of t_vbrp,
i_lips type standard table of t_lips,
i_qals type standard table of t_qals,
i_qamv type standard table of t_qamv,
i_qamr type standard table of t_qamr.
data : begin of it_final occurs 0,
count type i,
atwrt type cawn-atwrt,
vbeln type vbrp-vbeln,
artno type vbrp-matnr,
matnr type vbrp-matnr,
posnr type vbrp-posnr,
vgbel type vbrp-vgbel,
vgpos type vbrp-vgpos,
charg type qals-charg,
uecha type lips-uecha,
werks type lips-werks,
prueflos type qals-prueflos,
vorglfnr type qapp-vorglfnr,
merknr type qamv-merknr,
verwmerkm type qamv-verwmerkm,
act_mtrs type qamr-original_input,
t_points type qamr-original_input,
t_flags type qamr-original_input,
q_weight type qamr-original_input,
throw type qamr-original_input,
yards type qamr-original_input,
end of it_final.
data : begin of shade occurs 0,
atwrt type cawn-atwrt,
end of shade.
----
DECLARATION OF WORK AREAS *
----
data : wa_vbrk type t_vbrk,
wa_vbrp type t_vbrp,
wa_lips type t_lips,
wa_qals type t_qals,
wa_qamv type t_qamv,
wa_qamr type t_qamr,
wa_shade like line of shade,
wa_final like line of it_final.
&----
*& ALV Declarations
&----
data : gs_fcat type slis_t_fieldcat_alv,
gs_layout type slis_layout_alv,
gs_events type slis_t_event,
gs_listheader type slis_t_listheader.
&----
*& Constants
&----
constants : c_x type c value 'X',
c_repid type sy-repid value 'ZROLL_PACK'.
----
DECLARATION OF SELECTION SCREEN *
----
selection-screen begin of block blk with frame title text-001.
parameters: p_vbeln like vbrk-vbeln obligatory.
selection-screen end of block blk.
----
AT SELECTION SCREEN event *
----
at selection-screen.
if p_vbeln is not initial.
perform check_vbeln.
endif.
&----
*& Start-Of-Selection
&----
start-of-selection.
*-- Perform get data
perform get_data.
*-- Process data
perform process_data.
*-- Build Fieldcatalog.
perform field_cat using gs_fcat.
*-- Layout
perform layout.
*-- List header
perform list_header using gs_listheader.
*-- ALV Events
perform alv_events using gs_events.
*-- Display Data
perform display_data.
&----
*& Form check_VBELN
&----
text
----
--> p1 text
<-- p2 text
----
form check_vbeln .
select single * from vbrk into t_vbrk
where vbeln eq p_vbeln.
if sy-subrc ne 0.
message 'No Data Found for the Selection Criteria' type 'E'.
endif. " if sy-subrc ne 0.
endform. " check_VBELN
&----
*& Form get_data
&----
text
----
--> p1 text
<-- p2 text
----
form get_data .
*For Customer Material Number
select vbeln
matnr
vgbel
posnr
vgpos
from vbrp
into corresponding fields of table i_vbrp
where vbeln eq p_vbeln.
select vbeln
posnr
matnr
charg
uecha
werks from lips into corresponding fields of table i_lips
for all entries in i_vbrp
where vbeln = i_vbrp-vgbel
and charg ne space.
*----For Inspection Lot No, Mat No,Batch and plant
select prueflos
werk
charg
matnr from qals into corresponding fields of table i_qals
for all entries in i_lips
where matnr = i_lips-matnr
and charg = i_lips-charg.
**---For Actual Meters ,Throw,point gross_wt and other details
select prueflos
vorglfnr
PROBENR
merknr
verwmerkm
from qamv
into corresponding fields of table i_qamv
for all entries in i_qals
where prueflos = i_qals-prueflos.
*----For meter values
select prueflos
vorglfnr
merknr
original_input
from qamr
into corresponding fields of table i_qamr
for all entries in i_qamv
where prueflos = i_qamv-prueflos
and vorglfnr = i_qamv-vorglfnr
and merknr = i_qamv-merknr.
read table i_lips into wa_lips index 1.
select single atwrt
from ausp
into shade "Shade Number
where objek = wa_lips-matnr
and atinn = '0000001150'.
append shade.
CLEAR shade.
endselect.
ENDLOOP.
endform. " get_data
&----
*& Form process_data
&----
text
----
--> p1 text
<-- p2 text
----
form process_data .
loop at i_lips into wa_lips.
move : wa_lips-matnr to wa_final-matnr,
wa_lips-matnr+3(4) to wa_final-artno,
wa_lips-charg to wa_final-charg,
wa_lips-uecha to wa_final-uecha,
shade-atwrt to wa_final-atwrt,
sy-tabix to wa_final-count.
read table i_qals into wa_qals with key matnr = wa_lips-matnr
charg = wa_lips-charg.
if sy-subrc is initial.
read table i_qamv into wa_qamv
with key prueflos = wa_qals-prueflos .
charg = wa_qals-charg.
loop at i_qamv into wa_qamv ."WHERE prueflos = wa_qamv-prueflos.
AND vorglfnr = wa_qamv-vorglfnr
AND merknr = wa_qamv-merknr.
case wa_qamv-verwmerkm.
when 'ACT_MTRS'.
read table i_qamr into wa_qamr with key
prueflos = wa_qamv-prueflos
vorglfnr = wa_qamv-vorglfnr
merknr = wa_qamv-merknr.
wa_final-act_mtrs = wa_qamr-original_input.
when 'T_POINTS'.
read table i_qamr into wa_qamr with key
prueflos = wa_qamv-prueflos
vorglfnr = wa_qamv-vorglfnr
merknr = wa_qamv-merknr.
wa_final-t_points = wa_qamr-original_input.
when 'T_FLAGS'.
read table i_qamr into wa_qamr with key
prueflos = wa_qamv-prueflos
vorglfnr = wa_qamv-vorglfnr
merknr = wa_qamv-merknr.
wa_final-t_flags = wa_qamr-original_input.
when 'Q_WEIGHT'.
read table i_qamr into wa_qamr with key
prueflos = wa_qamv-prueflos
vorglfnr = wa_qamv-vorglfnr
merknr = wa_qamv-merknr.
wa_final-q_weight = wa_qamr-original_input.
when 'THROW'.
read table i_qamr into wa_qamr with key
prueflos = wa_qamv-prueflos
vorglfnr = wa_qamv-vorglfnr
merknr = wa_qamv-merknr.
wa_final-q_weight = wa_qamr-original_input.
endcase.
wa_final-yards = '0.9144' * wa_final-act_mtrs.
clear : wa_qamv.
endloop.
endif.
append wa_final to it_final.
clear : wa_final,
wa_qamr.
endloop.
endform. " process_data
&----
*& Form field_cat
&----
text
----
-->P_GS_FCAT text
----
form field_cat using ks_fcat type slis_t_fieldcat_alv.
data : l_fcat type slis_fieldcat_alv.
FOR ROLL NO
l_fcat-fieldname = 'COUNT'.
l_fcat-outputlen = '10'.
l_fcat-seltext_l = 'ROLL NO'.
l_fcat-seltext_m = 'ROLL NUM'.
l_fcat-seltext_s = 'ROLL NUMBER'.
append l_fcat to ks_fcat.
clear : l_fcat.
*FOR ART NO
l_fcat-fieldname = 'ARTNO'.
l_fcat-outputlen = '10'.
l_fcat-seltext_l = 'ART NO'.
l_fcat-seltext_m = 'ARTICAL NUM'.
l_fcat-seltext_s = 'ARTICAL NUMBER'.
append l_fcat to ks_fcat.
clear : l_fcat.
*FOR DSN NO
l_fcat-fieldname = 'MATNR'.
l_fcat-outputlen = '10'.
l_fcat-seltext_l = 'DSN NO'.
l_fcat-seltext_m = 'DSN NUM'.
l_fcat-seltext_s = 'DSN NUMBER'.
append l_fcat to ks_fcat.
clear : l_fcat.
*shade No
l_fcat-fieldname = 'ATWRT'.
l_fcat-outputlen = '10'.
l_fcat-seltext_l = 'SHADE NO'.
l_fcat-seltext_m = 'SHADE NUM'.
l_fcat-seltext_s = 'SHADE NUMBER'.
append l_fcat to ks_fcat.
clear : l_fcat.
*BATCH NUMBER
l_fcat-fieldname = 'CHARG'.
l_fcat-outputlen = '10'.
l_fcat-seltext_l = 'BATCH NO'.
l_fcat-seltext_m = 'BATCH NUM'.
l_fcat-seltext_s = 'BATCH NUMBER'.
append l_fcat to ks_fcat.
clear : l_fcat.
*PCS NUMBER
l_fcat-fieldname = 'UECHA'.
l_fcat-outputlen = '10'.
l_fcat-seltext_l = 'PCS NO'.
l_fcat-seltext_m = 'PCS NUM'.
l_fcat-seltext_s = 'PCS NUMBER'.
append l_fcat to ks_fcat.
clear : l_fcat.
*---FOR METERS
l_fcat-fieldname = 'ACT_MTRS'.
l_fcat-outputlen = '25'.
l_fcat-seltext_l = 'MTRS'.
l_fcat-seltext_m = 'METERS'.
l_fcat-seltext_s = 'METERS'.
append l_fcat to ks_fcat.
clear : l_fcat.
*---FOR yards
l_fcat-fieldname = 'YARDS'.
l_fcat-outputlen = '25'.
l_fcat-seltext_l = 'YARDS'.
l_fcat-seltext_m = 'YARDS'.
l_fcat-seltext_s = 'YARDS'.
append l_fcat to ks_fcat.
clear : l_fcat.
*---FOR FLAG
l_fcat-fieldname = 'T_FLAGS'.
l_fcat-outputlen = '25'.
l_fcat-seltext_l = 'FLAG'.
l_fcat-seltext_m = 'FLAG'.
l_fcat-seltext_s = 'FLAG'.
append l_fcat to ks_fcat.
clear : l_fcat.
*---FOR THRO
l_fcat-fieldname = 'THROW'.
l_fcat-outputlen = '25'.
l_fcat-seltext_l = 'THRO'.
l_fcat-seltext_m = 'THRO'.
l_fcat-seltext_s = 'THRO'.
append l_fcat to ks_fcat.
clear : l_fcat.
*--- FOR T_POINTS
l_fcat-fieldname = 'T_POINTS'.
l_fcat-outputlen = '25'.
l_fcat-seltext_l = 'POINT'.
l_fcat-seltext_m = 'POINT'.
l_fcat-seltext_s = 'POINT'.
append l_fcat to ks_fcat.
clear : l_fcat.
*---- FOR Q_WEIGHT GROSS WEIGHT
l_fcat-fieldname = 'Q_WEIGHT'.
l_fcat-outputlen = '25'.
l_fcat-seltext_l = 'NET WT'.
l_fcat-seltext_m = 'NET WT KG'.
l_fcat-seltext_s = 'NET WT KG'.
append l_fcat to ks_fcat.
clear : l_fcat.
endform. " field_cat
&----
*& Form layout
&----
text
----
--> p1 text
<-- p2 text
----
form layout .
gs_layout-zebra = c_x.
gs_layout-get_selinfos = c_x.
gs_layout-detail_popup = c_x.
endform. " layout
&----
*& Form list_header
&----
text
----
-->P_GS_LISTHEADER text
----
form list_header using ks_listheader type slis_t_listheader.
data : p_listheader type slis_listheader.
p_listheader-typ = 'H'.
p_listheader-info = text-h01.
append p_listheader to ks_listheader.
clear : p_listheader.
endform. " list_header
&----
*& Form alv_events
&----
text
----
-->P_GS_EVENTS text
----
form alv_events using ks_events type slis_t_event.
data : p_events type slis_alv_event.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = ks_events
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
*-- TOP_OF_PAGE
read table ks_events into p_events with key name = 'TOP_OF_PAGE'.
if sy-subrc is initial.
p_events-form = slis_ev_top_of_page.
modify ks_events from p_events index sy-tabix.
endif.
*-- USER_COMMAND
read table ks_events into p_events with key name = 'USER_COMMAND'.
if sy-subrc is initial.
p_events-form = slis_ev_user_command.
modify ks_events from p_events index sy-tabix.
endif.
endform. " alv_events
&----
*& Form TOP_OF_PAGE
&----
text
----
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = gs_listheader
I_LOGO =
I_END_OF_LIST_GRID =
.
endform. "TOP_OF_PAGE
&----
*& Form display_data
&----
text
----
--> p1 text
<-- p2 text
----
form display_data .
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = c_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
is_layout = gs_layout
it_fieldcat = gs_fcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = 'X'
IS_VARIANT =
it_events = gs_events
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
tables
t_outtab = it_final
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " display_data
regards,
raman.
2007 Sep 12 7:54 AM
This pgm is working fine.
No errors.
It is ALV report program.
depending of users input of VBELN (Billing Document) it fetches
It ouputs Roll num, Artical num,DSN num, shade num, batch number,PCS num, meters , yards,flag, thro, point, net wgt... these are columns
2007 Sep 12 8:11 AM
hi,
but how i can see the roll no,article no.etc..because when i double click on these buttons..it gives a short dump
2007 Sep 12 8:18 AM