Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

regarding reports

Former Member
0 Kudos

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.

3 REPLIES 3

Former Member
0 Kudos

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

0 Kudos

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

Former Member
0 Kudos

There is bug in the interactive part please check it