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: 

Check the code - URGENT!

Former Member
0 Kudos

HI All,

To fetch the fallowing required fields from the related tables by the selection criteria Material No and Posting dates. Using ALV.

I have written code for that but its not showing any results..plz go through my code and if possible rectify it.

I am also attaching the selection criteria details and table with required field.

Field Name Description Required level Reference Table

MATNR Material No. Selection Criteria. (MARC)

BUDAT Posting Date Selection criteria. (MKPF)

MAKTX material Description Layout (MAKT)

BEDAT PO Date Layout (EKKO)

EBELN Purchase Order No. Layout (EKPO)

MENGE Purchase Order Qty. Layout (EKPO)

BPRME Order Price Unit Layout (EKPO)

NETWR PO Net Value Layout (EKPO)

BSTMG GR QTY Layout (MSEG)

DMBTR GR Value Layout (MSEG)

BPRBM Invoice Qty Layout (EKBE)

REFWR Invoice value Layout (EKBE)

here is my code:-

TABLES: marc,

mkpf,

mseg,

ekko,

ekpo,

ekbe,

rseg.

TYPE-POOLS: slis.

&----


DATA: BEGIN OF itab OCCURS 0,

matnr LIKE marc-matnr,

budat LIKE ekbe-budat,

maktx LIKE makt-maktx,

bedat LIKE ekko-bedat,

ebeln LIKE mseg-ebeln,

menge LIKE mseg-menge,

bprme LIKE mseg-bprme,

netwr LIKE ekpo-netwr,

bstmg LIKE mseg-bstmg,

dmbtr LIKE mseg-dmbtr,

bprbm LIKE rseg-bprbm,

refwr LIKE ekbe-refwr,

END OF itab.

DATA: i_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,

wa_fieldcat TYPE slis_fieldcat_alv.

DATA v_repid TYPE sy-repid.

&----


SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS: s_matnr FOR marc-matnr,

s_budat FOR mkpf-budat.

SELECTION-SCREEN END OF BLOCK b1.

&----


&----


INITIALIZATION.

v_repid = sy-repid.

START-OF-SELECTION.

  • SELECT werks smbln bstmg dmbtr matnr ebeln FROM mseg INTO

  • CORRESPONDING FIELDS OF TABLE itab

  • WHERE matnr IN s_matnr.

**ENDSELECT.

*

*

  • SELECT SINGLE lifnr FROM ekko INTO CORRESPONDING FIELDS OF itab

  • WHERE ebeln = mseg-ebeln.

*

  • SELECT ebeln menge FROM ekpo INTO CORRESPONDING FIELDS OF itab

  • WHERE ebeln = mseg-ebeln.

  • ENDSELECT.

*

  • SELECT ebeln belnr refwr budat FROM ekbe INTO CORRESPONDING FIELDS OF

  • itab

  • WHERE budat IN s_budat AND

  • ebeln = mseg-ebeln.

  • ENDSELECT.

*

  • SELECT SINGLE matnr FROM marc INTO itab

  • WHERE matnr = mseg-matnr.

**APPEND itab.

**END-OF-SELECTION.

*----


  • SELECT matnr ebeln menge bprme bstmg dmbtr FROM mseg INTO

  • CORRESPONDING FIELDS OF TABLE itab

  • WHERE matnr IN s_matnr.

*

*

  • SELECT matnr maktx FROM makt INTO CORRESPONDING FIELDS OF TABLE itab

  • WHERE matnr = mseg-matnr.

*

  • SELECT ebeln bedat FROM ekko INTO CORRESPONDING FIELDS OF TABLE itab

  • WHERE ebeln = mseg-ebeln.

*

  • SELECT ebeln netwr FROM ekpo INTO CORRESPONDING FIELDS OF TABLE itab

  • WHERE ebeln = mseg-ebeln.

*

  • SELECT ebeln bprbm FROM rseg INTO CORRESPONDING FIELDS OF TABLE itab

  • WHERE ebeln = mseg-ebeln.

*

  • SELECT budat ebeln refwr FROM ekbe INTO CORRESPONDING FIELDS OF TABLE itab

  • WHERE budat IN s_budat AND

  • ebeln = mseg-ebeln.

*----


-


SELECT matnr ebeln menge bprme bstmg dmbtr FROM mseg INTO CORRESPONDING FIELDS OF TABLE itab WHERE matnr IN s_matnr.

SELECT matnr maktx FROM makt INTO CORRESPONDING FIELDS OF TABLE itab FOR ALL ENTRIES IN itab WHERE matnr = itab-matnr.

SELECT ebeln bedat FROM ekko INTO CORRESPONDING FIELDS OF TABLE itab FOR ALL ENTRIES IN itab WHERE ebeln = itab-ebeln.

SELECT ebeln netwr FROM ekpo INTO CORRESPONDING FIELDS OF TABLE itab FOR ALL ENTRIES IN itab WHERE ebeln = itab-ebeln.

SELECT ebeln bprbm FROM rseg INTO CORRESPONDING FIELDS OF TABLE itab FOR ALL ENTRIES IN itab WHERE ebeln = itab-ebeln.

SELECT budat ebeln refwr FROM ekbe INTO CORRESPONDING FIELDS OF

TABLE itab FOR ALL ENTRIES IN itab

WHERE budat IN s_budat AND

ebeln = itab-ebeln.

APPEND itab.

&----


PERFORM build_fieldcatlog.

PERFORM display_alv_report.

&----


  • LOOP AT itab.

*

*WRITE:/ itab-menge, itab-werks, itab-smbln, itab-bstmg, itab-matnr,

*itab-ebeln, itab-lifnr, itab-menge, itab-belnr, itab-refwr, itab-budat.

*

  • ENDLOOP.

&----


*& Form build_fieldcatlog

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM build_fieldcatlog . "Form BUILD_FIELDCATLOG, Start

wa_fieldcat-fieldname = 'maktx'.

wa_fieldcat-seltext_m = 'maktx.'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'bedat'.

wa_fieldcat-seltext_m = 'bedat.'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'EBELN'.

wa_fieldcat-seltext_m = 'ebeln.'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'MENGE'.

wa_fieldcat-seltext_m = 'menge.'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'bprme'.

wa_fieldcat-seltext_m = 'bprme.'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'netwr'.

wa_fieldcat-seltext_m = 'netwr.'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'BSTMG'.

wa_fieldcat-seltext_m = 'bstmg.'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'dmbtr'.

wa_fieldcat-seltext_m = 'dmbtr.'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'bprbm'.

wa_fieldcat-seltext_m = 'bprbm'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'REFWR'.

wa_fieldcat-seltext_m = 'refwr.'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

ENDFORM. "build_fieldcatlog

" build_fieldcatlog "Form BUILD_FIELDCATLOG, End

&----


*& Form display_alv_report

&----


  • text

----


FORM display_alv_report. "Form DISPLAY_ALV_REPORT, Start

v_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = v_repid

it_fieldcat = i_fieldcat[]

i_callback_top_of_page = 'TOP-OF-PAGE'

i_save = 'A'

TABLES

t_outtab = itab.

ENDFORM. "display_alv_report

----


TOP-OF-PAGE.

WRITE:/ 'Purchase request Print program'.

END-OF-PAGE.

3 REPLIES 3

messier31
Active Contributor
0 Kudos

Hi,

Kindly work on your select query use different internal table for all entries and into table. Create different internal table say itab1 and itab2.

then select into itab1 for all entries in itab2.

Enjoy SAP.

Pankaj Singh.

Former Member
0 Kudos

Hi Abhay,

I copied the code into IDES and executed the same,

and i could find data being populated in the ALV and with

lots of rows.

Are you looking for any particular missing data?

May be the system you are running this code on, does not have

the matching entries, please check the contents of database tables...

Happy coding ...

Regards,

SJ

Former Member
0 Kudos

hi,

put a break point in ur select statement and check whether sy-subrc eq to 0 or 4. i think ur select staement is not executing.

and generally matnr is of 18 character length so use call FM 'CONVERSION_ALPHA_EXIT_INPUT' as

p_matnr like mara-matnr.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = p_matnr

IMPORTING

OUTPUT = matnr

use this for ebeln also if ur select statement doesn't work.

if helpful reward some points.

with regards,

Suresh Aluri.