Application Development and Automation 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: 
Read only

Interactive Rport listing

Former Member
0 Likes
534

iam Aslam i have a doubt how to create ..

a basics list that lists the <b>Material num</b> in the basic list .. and if v clicks then it should .. to the <b>MM03</b> ... transaction showing the clicked material num and its details .. please give me the procedure to do this ...

please send reply to itsshaikaslam@gmail.com thanks in advance .. takecar bye

4 REPLIES 4
Read only

Former Member
0 Likes
509

Hi,

Check this code..


TYPE-POOLS: slis.

DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: BEGIN OF wa_mara,
matnr like mara-matnr,
END OF wa_mara.

DATA: v_repid TYPE syrepid.
v_repid = sy-repid.

DATA it_mara LIKE STANDARD TABLE OF wa_mara WITH HEADER LINE.

SELECT matnr UP TO 100 ROWS
FROM mara
INTO TABLE it_mara.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
     EXPORTING
          i_program_name     = v_repid
          i_internal_tabname = 'WA_MARA'
          i_inclname         = v_repid
     CHANGING
          ct_fieldcat        = gt_fieldcat.


* Pass the program.
v_repid = sy-repid.


CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
     EXPORTING
          i_callback_program      = v_repid
          it_fieldcat             = gt_fieldcat
          i_callback_user_command = 'USER_COMMAND'
     TABLES
          t_outtab                = it_MARA.


*---------------------------------------------------------------------*
*       FORM display_detail                                           *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  UCOMM                                                         *
*  -->  SELFIELD                                                      *
*---------------------------------------------------------------------*
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.

  IF ucomm = '&IC1' AND selfield-fieldname = 'MATNR'.

    READ TABLE it_mara INDEX selfield-tabindex.

    IF sy-subrc = 0.
      SET PARAMETER ID 'MAT' FIELD it_MARA-matnr.
      CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
    ENDIF.

  ENDIF.

ENDFORM.

Thanks

Naren

Read only

varma_narayana
Active Contributor
0 Likes
509

Hi...

You have to use the SAP memory concept to pass the values while Calling a transaction.

EG:

SET PARAMETER ID 'MAT' FIELD <YOUR MATNR FIELD>.

CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.

reward for helpful answers.

Read only

Former Member
0 Likes
509

Report test_int.

DATA: begin of itab occurs 0,

matnr type matnr

end of itab.

DATA:fieldcat TYPE slis_t_fieldcat_alv.

DATA:wa_fieldcat TYPE slis_fieldcat_alv.

select matnr from marc into itab.

wa_fieldcat-tabname = 'ITAB'.

wa_fieldcat-fieldname = 'MATNR'.

APPEND wa_fieldcat TO fieldcat.

CLEAR wa_fieldcat.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

i_callback_program = 'TEST_INT'

*i_callback_pf_status_set = 'PF_STATUS_SET'

i_callback_user_command = 'USER_COMMAND'

it_fieldcat = fieldcat

*i_save = 'A'

*it_sort = gt_sort[]

*is_layout = i_layout

*it_events = ievent

TABLES

t_outtab = itab

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.

FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

  • DATA temp1(9) TYPE n.

  • DATA: tem_qty LIKE mseg-menge.

DATA: seltab TYPE TABLE OF rsparams,

seltab_wa LIKE LINE OF seltab.

  • IF r_ucomm = '&IC1'.

CASE r_ucomm.

WHEN '&IC1'.

IF rs_selfield-fieldname = 'MATNR'.

CLEAR fieldcat[].

READ TABLE it_final INTO wa_final INDEX rs_selfield-tabindex.

  • SET PARAMETER ID 'MAT' FIELD WA_FINAL-matnr.

PERFORM call_mm03.

ENDIF.

FORM call_mm03.

CLEAR bdcdata[].

PERFORM bdc_insert USING 'SAPLMGMM' '0060' ' ' ' '.

PERFORM bdc_insert USING: ' ' ' ' 'RMMG1-MATNR' wa_final-matnr,

' ' ' ' 'bdc_okcode' '/00'.

PERFORM bdc_insert USING 'SAPLMGMM' '0070' ' ' ' '.

  • perform bdc_field using 'BDC_CURSOR' 'MSICHTAUSW-DYTXT(15)'.

PERFORM bdc_insert USING ' ' ' ' 'BDC_OKCODE' '=ENTR'.

PERFORM bdc_insert USING: ' ' ' ' 'MSICHTAUSW-KZSEL(1)' 'X',

' ' ' ' 'bdc_okcode' '/00'.

PERFORM bdc_insert USING 'SAPLMGMM' '0080' ' ' ' '.

PERFORM bdc_insert USING: ' ' ' ' 'RMMG1-WERKS' wa_final-werks.

CALL TRANSACTION 'MM03' USING bdcdata MODE 'E' .

ENDFORM. "call_trans

Read only

Former Member
0 Likes
509

HI

please try this .

report zmjud001 no standard page heading line-size 85 line-count 50.

  • DATA /TABLES DECLARATION*

tables: eban.

data: prog_nam(8).

data: begin of pur_req occurs 100,

ekgrp like eban-ekgrp,

werks like eban-werks,

banfn like eban-banfn,

bnfpo like eban-bnfpo,

bsart like eban-bsart,

estkz like eban-estkz,

matnr like eban-matnr,

menge like eban-menge,

meins like eban-meins,

numb(3) type n.

data: end of pur_req.

  • THE REPORT HEADER

prog_nam = sy-repid.

top-of-page.

perform header_write.

  • SELECTION

start-of-selection.

pur_req-numb = 1.

  • SELECT ONLY THOSE FIELDS THAT WILL BE USED FROM THE TABLE EBAN, AND ONLY

*THE FIRST100 RECORDS OF THE THE PLANT 'PL01'

select banfn bnfpo bsart ekgrp matnr werks menge meins frgdt estkz

into corresponding fields of eban from eban up to 100 rows

where bsart = 'NB' "document type 'NB' = purchase requisition

and werks = 'PL01'

and statu = 'N' "processing status

and loekz = ' '. "deletion indicator

  • THE SELECTED RECORDS SHOULD BE APPENDED TO INTERNAL TABLE 'PUR_REQ'

pur_req-banfn = eban-banfn.

pur_req-matnr = eban-matnr.

pur_req-werks = eban-werks.

pur_req-ekgrp = eban-ekgrp.

pur_req-bnfpo = eban-bnfpo.

pur_req-bsart = eban-bsart.

pur_req-menge = eban-menge.

pur_req-meins = eban-meins.

pur_req-estkz = eban-estkz.

append pur_req.

pur_req-numb = pur_req-numb + 1.

endselect.

  • CHECK WHETHER THE TABLE EBAN CONTAINS ANY PURCHASE REQUISITIONS

if sy-subrc ne 0.

write: / 'No Purchase Requisition found.'.

endif.

  • PROCESS THE INTERNAL TABLE; WRITE OUT THE REQUIRED FIELDS AND HIDE THE

*FIELDS YOU ARE GOING TO USE LATER

loop at pur_req.

write: /1 pur_req-numb, 9 pur_req-banfn, 21 pur_req-bnfpo, 31 pur_req-bsart, 41 pur_req-matnr,

61 pur_req-menge unit pur_req-meins, 82 pur_req-meins.

hide: pur_req-matnr, pur_req-werks, pur_req-banfn.

endloop.

clear pur_req-banfn. clear pur_req-matnr. clear pur_req-werks.

  • IN THE MENU PAINTER (SE41) CREATE A STATUS TO YOUR PROGRAM. HERE YOU CAN

*DEFINE THE PUSH-BUTTON

set pf-status 'basic'.

  • CHOOSE A REQUISITION (WITH DOUBLE CLICKING OR PUSH-BUTTON) IN THE LIST! THE

*PURCHASE REQUISITION IS GOING TO COME UP

at line-selection.

if pur_req-banfn <> space.

set parameter id 'BAN' field pur_req-banfn. " parameter id for pruchase req. number

call transaction 'ME52' and skip first screen. "trans. code 'ME52': Change Purchase Requis.

clear pur_req-banfn. clear pur_req-matnr.

clear pur_req-werks.

endif.

  • FORM THE HEADER

form header_write.

write: / prog_nam, 32 'FUN-FACTORY',

/ 'Purch.Gr.:', pur_req-ekgrp, 26 'Purchase Requisition List',

61 'As Of Date:', 75 sy-datum,

/ 'Plant:', pur_req-werks, 61 'Page:', 75 sy-pagno.

uline.

write: / text-001,

/ text-002.

uline.

endform.

reward all helpfull answers.

regards.

jay