cancel
Showing results for 
Search instead for 
Did you mean: 

report

Former Member
0 Kudos

hello to all,

in report i am getting the purchase order if i double click on the purchase order no problem with PO...here the problem is if i changed the TRANSACTION CODE ME23N to VA03 (and also i changed relevent coding) i am getting only one sales order repeatedly even i double click in another sales order....

i wanted to get the result like PO for SO...what i have to change...

ORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

  • Check function code

CASE r_ucomm.

WHEN '&IC1'.

  • Check field clicked on within ALVgrid report

IF rs_selfield-fieldname = 'VBELN'.

  • Read data table, using index of row user clicked on

READ TABLE it_VBAK INTO wa_VBAK INDEX rs_selfield-tabindex.

  • Set parameter ID for transaction screen field

SET PARAMETER ID 'VAR' FIELD wa_VBAK-vbeln.

  • Sxecute transaction ME23N, and skip initial data entry screen

CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDFORM.

raju....

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi,

try with this

instead of

READ TABLE it_VBAK INTO wa_VBAK INDEX rs_selfield-tabindex

modify as like

READ TABLE it_VBAK INTO wa_VBAK with key vbeln = rs_selfield-value.

cheers,

sasi

Former Member
0 Kudos

no it doesn't work SASI ..OK IM SENDING MZ WHOLE CODING CAN U JUST TELL ME THE MISTAKE...

TABLES: likp, lips , mara.

type-pools: slis. "ALV Declarations

*Data Declaration

*----


TYPES: BEGIN OF t_VBAK,

matnr type mara-matnr,

matkl type mara-matkl,

vbeln type likp-vbeln,

netpr type lips-netpr,

posnr type lips-posnr,

shkzg type lips-shkzg,

extwg type mara-extwg,

mstae type mara-mstae,

mstav type mara-mstav,

lfdat type likp-lfdat,

lfart type likp-lfart,

kunnr type likp-kunnr,

wadat_ist type likp-wadat_ist,

ARKTX TYPE LIPS-ARKTX,

BISMT TYPE MARA-BISMT,

end of t_vbak.

  • vbeln TYPE VBAK-Vbeln, "Sales Document

  • netwr TYPE VBAK-netwr, "Sales Organisation

  • spart TYPE VBAK-spart, "Sales Document Type

  • erdat TYPE VBAK-erdat, "Date on which the record was created

  • audat TYPE VBAK-audat, "Document date (date received/sent)

  • waerk TYPE VBAK-waerk, "SD document currency

  • aedat TYPE VBAK-aedat, "Sold-to party

  • matnr TYPE VBAP-matnr, "Distribution Channel

  • ernam TYPE VBAP-ernam, "SD document category

  • END OF t_vbak.

DATA: it_vbak TYPE STANDARD TABLE OF t_vbak INITIAL SIZE 0,

wa_vbak TYPE t_vbak.

*ALV data declarations

data: fieldcatalog type slis_t_fieldcat_alv with header line,

gd_tab_group type slis_t_sp_group_alv,

gd_layout type slis_layout_alv,

gd_repid like sy-repid,

gt_events type slis_t_event,

gd_prntparams type slis_print_alv.

************************************************************************

SELECTION-SCREEN begin of block blk1 with frame title text-001.

********CHECK BOX******

parameter: P_C1 AS CHECKBOX USER-COMMAND CHECK.

*****************************************BLOCK 1 SUB******************

selection-screen begin of block 2 with frame title text-002.

screen-intensified = '1'.

select-options:

  • s_lfdat for likp-lfdat no-extension , "Delivery Date.

s_kunn2 for likp-kunnr no-extension MODIF ID SC1 ,

"CUSTOMER DEFAULT '5525' .

s_matnr for mara-matnr no-extension.

selection-screen end of block 2.

*****************************************BLOCK 1 SUB******************

selection-screen begin of block 3 with frame title text-003.

select-options:

  • s_extwg for mara-extwg no-extension no intervals

  • MODIF ID SC1, "MATERIAL GROUP.

  • s_shkzg for lips-shkzg no-extension no intervals ,

  • "RETURNS.

  • s_lfart for likp-lfart no-extension no intervals,

  • "DELIVERY TYPE.

s_matkl for lips-matkl no-extension no intervals.

"delivery type.

  • s_mstae for mara-mstae no-extension no intervals,

  • s_mstav for mara-mstav no-extension no intervals.

selection-screen end of block 3.

SELECTION-SCREEN end of block blk1.

************************************************************************

*Start-of-selection.

START-OF-SELECTION.

perform data_retrieval.

perform build_fieldcatalog.

perform build_layout.

perform build_events.

perform build_print_params.

perform display_alv_report.

&----


*& Form BUILD_FIELDCATALOG

&----


  • Build Fieldcatalog for ALV Report

----


form build_fieldcatalog.

  • There are a number of ways to create a fieldcat.

  • For the purpose of this example i will build the fieldcatalog manualy

  • by populating the internal table fields individually and then

  • appending the rows. This method can be the most time consuming but can

  • also allow you more control of the final product.

  • Beware though, you need to ensure that all fields required are

  • populated. When using some of functionality available via ALV, such as

  • total. You may need to provide more information than if you were

  • simply displaying the result

  • I.e. Field type may be required in-order for

  • the 'TOTAL' function to work.

fieldcatalog-fieldname = 'VBELN'.

fieldcatalog-seltext_m = 'Sales Order'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 10.

fieldcatalog-emphasize = 'X'.

fieldcatalog-key = 'X'.

  • fieldcatalog-do_sum = 'X'.

  • fieldcatalog-no_zero = 'X'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'NETPR'.

fieldcatalog-seltext_m = 'Net Price'.

fieldcatalog-col_pos = 1.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MATKL'.

fieldcatalog-seltext_m = 'Material Group'.

fieldcatalog-col_pos = 2.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MATNR'.

fieldcatalog-seltext_m = 'Material'.

fieldcatalog-col_pos = 3.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'POSNR'.

fieldcatalog-seltext_m = 'Delivery item'.

fieldcatalog-col_pos = 4.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'SHKZG'.

fieldcatalog-seltext_m = 'Returns item'.

fieldcatalog-col_pos = 5.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'EXTWG'.

fieldcatalog-seltext_m = 'External material group'.

fieldcatalog-col_pos = 6.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MSTAE'.

fieldcatalog-seltext_m = 'Cross-Plant Material Status'.

fieldcatalog-col_pos = 7.

fieldcatalog-outputlen = 15.

fieldcatalog-datatype = 'CURR'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MSTAV'.

fieldcatalog-seltext_m = 'Cross-distribution-chain material status'.

fieldcatalog-col_pos = 8.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'LFDAT'.

fieldcatalog-seltext_m = 'Delivery Date'.

fieldcatalog-col_pos = 9.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'LFART'.

fieldcatalog-seltext_m = 'Delivery Type'.

fieldcatalog-col_pos = 10.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'KUNNR'.

fieldcatalog-seltext_m = 'Customer'.

fieldcatalog-col_pos = 11.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'WADAT_IST'.

fieldcatalog-seltext_m = 'Actual goods movement date'.

fieldcatalog-col_pos = 12.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'ARKTX'.

fieldcatalog-seltext_m = 'Short Text for Sales Order Item'.

fieldcatalog-col_pos = 13.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'BISMT'.

fieldcatalog-seltext_m = 'Old material number'.

fieldcatalog-col_pos = 14.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

endform. " BUILD_FIELDCATALOG

&----


*& Form BUILD_LAYOUT

&----


  • Build layout for ALV grid report

----


form build_layout.

gd_layout-no_input = 'X'.

gd_layout-colwidth_optimize = 'X'.

gd_layout-totals_text = 'Totals'(201).

  • gd_layout-totals_only = 'X'.

  • gd_layout-f2code = 'DISP'. "Sets fcode for when double

  • "click(press f2)

  • gd_layout-zebra = 'X'.

  • gd_layout-group_change_edit = 'X'.

  • gd_layout-header_text = 'helllllo'.

endform. " BUILD_LAYOUT

&----


*& Form DISPLAY_ALV_REPORT

&----


  • Display report using ALV grid

----


form display_alv_report.

gd_repid = sy-repid.

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = gd_repid

i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM

i_callback_user_command = 'USER_COMMAND'

  • i_grid_title = outtext

is_layout = gd_layout

it_fieldcat = fieldcatalog[]

  • it_special_groups = gd_tabgroup

it_events = gt_events

is_print = gd_prntparams

i_save = 'X'

  • is_variant = z_template

tables

t_outtab = it_VBAK

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_ALV_REPORT

&----


*& Form DATA_RETRIEVAL

&----


  • Retrieve data form EKPO table and populate itab it_ekko

----


form data_retrieval.

select * from LIKP into corresponding fields of table it_vbak where

kunnr in s_kunn2.

select * from LIPS into corresponding fields of table it_vbak where

matkl in s_matkl.

*select * from MARA into corresponding fields of table it_vbak where

*matnr in s_matnr.

*select * from mara into corresponding fields of table it_vbak.

*select vbeln netwr spart erdat audat WAERK aedat MATNR ERDAT

  • up to 10 rows

  • from VBAP

  • into table it_VBAK.

endform. " DATA_RETRIEVAL

*select ERNAM from mara into table it_VBAK.

*endform. " DATA_RETRIEVAL

----


  • Form TOP-OF-PAGE *

----


  • ALV Report Header *

----


Form top-of-page.

*ALV Header declarations

data: t_header type slis_t_listheader,

wa_header type slis_listheader,

t_line like wa_header-info,

ld_lines type i,

ld_linesc(10) type c.

  • Title

wa_header-typ = 'H'.

wa_header-info = 'Sales Order Report'.

append wa_header to t_header.

clear wa_header.

  • Date

wa_header-typ = 'S'.

wa_header-key = 'Date: '.

CONCATENATE sy-datum+6(2) '.'

sy-datum+4(2) '.'

sy-datum(4) INTO wa_header-info. "todays date

append wa_header to t_header.

clear: wa_header.

  • Total No. of Records Selected

describe table it_VBAK lines ld_lines.

ld_linesc = ld_lines.

concatenate 'Total No. of Records Selected: ' ld_linesc

into t_line separated by space.

wa_header-typ = 'A'.

wa_header-info = t_line.

append wa_header to t_header.

clear: wa_header, t_line.

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

it_list_commentary = t_header.

  • i_logo = 'Z_LOGO'.

endform.

----


  • FORM USER_COMMAND *

----


  • --> R_UCOMM *

  • --> RS_SELFIELD *

----


FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

  • Check function code

CASE r_ucomm.

WHEN '&IC1'.

  • Check field clicked on within ALVgrid report

IF rs_selfield-fieldname = 'VBELN'.

  • Read data table, using index of row user clicked on

READ TABLE it_VBAK INTO wa_VBAK with key vbeln = rs_selfield-value

.

  • Set parameter ID for transaction screen field

SET PARAMETER ID 'VAR' FIELD wa_VBAK-vbeln.

  • Sxecute transaction ME23N, and skip initial data entry screen

CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDFORM.

&----


*& Form BUILD_EVENTS

&----


  • Build events table

----


form build_events.

data: ls_event type slis_alv_event.

call function 'REUSE_ALV_EVENTS_GET'

exporting

i_list_type = 1

importing

et_events = gt_events[].

read table gt_events with key name = slis_ev_end_of_page

into ls_event.

if sy-subrc = 0.

move 'END_OF_PAGE' to ls_event-form.

append ls_event to gt_events.

endif.

read table gt_events with key name = slis_ev_end_of_list

into ls_event.

if sy-subrc = 0.

move 'END_OF_LIST' to ls_event-form.

append ls_event to gt_events.

endif.

endform. " BUILD_EVENTS

&----


*& Form BUILD_PRINT_PARAMS

&----


  • Setup print parameters

----


form build_print_params.

gd_prntparams-reserve_lines = '9'. "Lines reserved for footer

gd_prntparams-no_coverpage = 'X'.

endform. " BUILD_PRINT_PARAMS

&----


*& Form END_OF_PAGE

&----


form END_OF_PAGE.

data: listwidth type i,

ld_pagepos(10) type c,

ld_page(10) type c.

write: sy-uline(50).

skip.

write:/40 'Page:', sy-pagno .

endform.

&----


*& Form END_OF_LIST

&----


form END_OF_LIST.

data: listwidth type i,

ld_pagepos(10) type c,

ld_page(10) type c.

skip.

write:/40 'Page:', sy-pagno .

endform.

Former Member
0 Kudos

Hi

ID parameter for field VBELN is VA01/02/03 is AUN not VAR:

  • Set parameter ID for transaction screen field

*-----> SET PARAMETER ID 'VAR' FIELD wa_VBAK-vbeln.

SET PARAMETER ID 'AUN' FIELD wa_VBAK-vbeln.

  • Sxecute transaction ME23N, and skip initial data entry screen

CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.

Max

Message was edited by: max bianchi

Answers (2)

Answers (2)

Former Member
0 Kudos

hi,

check in debugging mode and find out the value for wa_VBAK

cheers,

sasi

Former Member
0 Kudos

keep break-point near

READ TABLE it_VBAK INTO wa_VBAK INDEX rs_selfield-tabindex.

  • Set parameter ID for transaction screen field

SET PARAMETER ID 'VAR' FIELD wa_VBAK-vbeln.

and check whether wa_VBAK-vbeln is set correctly.

hope u have to use paramater id AUN for sales order no inva02..

regards

gv

Message was edited by: Venkat