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

reports

Former Member
0 Likes
1,378

Hi,

How to develop a report that list out all the sales order details?

can u plz send me the tables which are required?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,319

hi.

refer to the program below. this program gives the complete details of sales order status.

&----


*& Report ZSD_SO_DETAILS

*&

&----


*&

*&

&----


REPORT ZSD_SO_DETAILS

message-id zqt_msg

no standard page heading.

  • type pools

TYPE-POOLS: slis.

*table declaration

TABLES: vbak, "Sales Document: Header Data

kna1. "General Data in Customer Master

*types declaration

TYPES: BEGIN OF t_vbak,

vbeln LIKE vbak-vbeln, "Sales Document

erdat LIKE vbak-erdat, "Date on Which Record Was Created

kunnr LIKE vbak-kunnr, "Sold-to party

lifsk LIKE vbak-lifsk, "Delivery block (document header)

faksk LIKE vbak-faksk, "Billing block in SD document

vkbur LIKE vbak-vkbur, "Sales Office

bstnk LIKE vbak-bstnk, "Customer purchase order number

bstdk LIKE vbak-bstdk, "Customer purchase order date

END OF t_vbak.

TYPES: BEGIN OF t_vbap,

vbeln LIKE vbap-vbeln, "Sales Document

posnr LIKE vbap-posnr, "Sales Document Item

matnr LIKE vbap-matnr, "Material Number

arktx LIKE vbap-arktx, "Short text for sales order item

meins LIKE vbap-meins, "Base Unit of Measure

kwmeng LIKE vbap-kwmeng,"Cumulative Order Quantity in Sales Units

abgru LIKE vbap-abgru, "Reason for rejection of quotations and sales orders

END OF t_vbap.

TYPES: BEGIN OF t_likp,

vbeln LIKE likp-vbeln, "Delivery

erdat LIKE likp-erdat, "Date on Which Record Was Created

kunag LIKE likp-kunag, "Sold-to party

END OF t_likp.

TYPES: BEGIN OF t_lips,

vbeln LIKE likp-vbeln, "Delivery

posnr LIKE lips-posnr, "Delivery Item

matnr LIKE lips-matnr, "Material Number

lfimg LIKE lips-lfimg, "Actual quantity delivered (in sales units)

vgbel LIKE lips-vgbel, "Document number of the reference document

vgpos LIKE lips-vgpos, "Item number of the reference item

END OF t_lips.

TYPES: BEGIN OF t_vbrp,

vbeln LIKE vbrp-vbeln, "Billing Document

vgbel LIKE vbrp-vgbel, "Document number of the reference document

vgpos LIKE vbrp-vgpos, "Item number of the reference item

aubel LIKE vbrp-aubel, "Sales Document

aupos LIKE vbrp-aupos, "Sales Document Item

END OF t_vbrp .

TYPES: BEGIN OF t_vbrk,

vbeln LIKE vbrk-vbeln, "Billing Document

erdat LIKE vbrk-erdat, "Date on Which Record Was Created

netwr LIKE vbrk-netwr, "Net Value in Document Currency

END OF t_vbrk.

TYPES: BEGIN OF t_vbuk,

vbeln LIKE vbuk-vbeln, "Sales and Distribution Document Number

lfstk LIKE vbuk-lfstk, "Delivery status

END OF t_vbuk.

TYPES: BEGIN OF t_final,

vbeln LIKE vbak-vbeln, "Sales Document

erdat LIKE vbak-erdat, "Date on Which Record Was Created

kunnr LIKE vbak-kunnr, "Sold-to party

lifsk LIKE vbak-lifsk, "Delivery block (document header)

faksk LIKE vbak-faksk, "Billing block in SD document

vkbur LIKE vbak-vkbur, "Sales office

bstnk LIKE vbak-bstnk, "Customer purchase order number

bstdk LIKE vbak-bstdk, "Customer purchase order date

posnr LIKE vbap-posnr, "Sales Document Item

matnr LIKE vbap-matnr, "Material Number

arktx LIKE vbap-arktx, "Short text for sales order item

meins LIKE vbap-meins, "Base Unit of Measure

kwmeng LIKE vbap-kwmeng, "Cumulative Order Quantity in Sales Units

delno LIKE likp-vbeln, "Delivery

deldt LIKE likp-erdat, "Date on Which Record Was Created

kunag LIKE likp-kunag, "Sold-to party

lfimg like lips-lfimg, "Actual quantity delivered (in sales units)

invoi LIKE vbrk-vbeln, "Billing Document

netwr LIKE vbrk-netwr, "Net Value in Document Currency

invdt LIKE vbrk-erdat, "Date on Which Record Was Created

lfstk LIKE vbuk-lfstk, "Delivery status

statu LIKE lips-lfimg, "Quantity to be delivered

abgru LIKE vbap-abgru, "Reason for rejection of quotations and sales orders

box,

light,

END OF t_final.

  • internal table declaration

DATA it_fc TYPE slis_t_fieldcat_alv WITH HEADER LINE.

DATA IT_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE.

DATA I_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA:it_vbak TYPE TABLE OF t_vbak WITH HEADER LINE,

it_vbap TYPE TABLE OF t_vbap WITH HEADER LINE,

it_likp TYPE TABLE OF t_likp WITH HEADER LINE,

it_lips TYPE TABLE OF t_lips WITH HEADER LINE,

it_vbrk TYPE TABLE OF t_vbrk WITH HEADER LINE,

it_vbrp TYPE TABLE OF t_vbrp WITH HEADER LINE,

it_vbuk TYPE TABLE OF t_vbuk WITH HEADER LINE,

it_final TYPE TABLE OF t_final WITH HEADER LINE.

  • variable declaration

DATA: v_status TYPE i.

*selection screen

SELECTION-SCREEN skip 1.

SELECT-OPTIONS s_vbeln FOR vbak-vbeln NO-EXTENSION.

SELECT-OPTIONS s_erdat FOR vbak-erdat OBLIGATORY NO-EXTENSION.

SELECTION-SCREEN skip 1.

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

SELECT-OPTIONS s_bstnk FOR vbak-bstnk NO-EXTENSION.

SELECT-OPTIONS s_bstdk FOR vbak-bstdk NO-EXTENSION.

SELECT-OPTIONS s_kunnr FOR vbak-kunnr NO-EXTENSION.

SELECTION-SCREEN END OF BLOCK b1.

  • initialization

INITIALIZATION.

PERFORM SORTING TABLES IT_SORT.

PERFORM LAYOUT USING I_LAYOUT.

perform fieldcat tables it_fc.

*at selection screen

AT SELECTION-SCREEN.

if s_vbeln-low is not initial.

select single vbeln

from vbak

into vbak

where vbeln = s_vbeln-low.

if sy-subrc <> 0.

message e002.

endif.

endif.

if s_vbeln-high is not initial.

select single vbeln

from vbak

into vbak

where vbeln = s_vbeln-high.

if sy-subrc <> 0.

message e002.

endif.

endif.

if s_erdat is not initial.

if s_erdat-low > sy-datum.

message e003.

if s_erdat-high <= sy-datum.

message e004.

endif.

endif.

endif.

if s_bstnk-low is not initial.

select single bstnk

from vbak

into vbak

where bstnk = s_bstnk-low.

if sy-subrc <> 0.

message e002.

endif.

endif.

if s_bstnk-high is not initial.

select single bstnk

from vbak

into vbak

where bstnk = s_bstnk-high.

if sy-subrc <> 0.

message e002.

endif.

endif.

if s_bstdk is not initial.

if s_bstdk-low > sy-datum.

message e003.

if s_bstdk-high <= sy-datum.

message e004.

endif.

endif.

endif.

if s_kunnr is not initial.

select single kunnr

from kna1

into kna1

where kunnr in s_kunnr.

if sy-subrc <> 0.

message e000.

endif.

endif.

  • start of selection

START-OF-SELECTION.

PERFORM get_table_data.

  • end of selection

END-OF-SELECTION.

PERFORM display_data.

  • alv display

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_USER_COMMAND = 'UC_COMM'

I_GRID_TITLE = 'SALES ORDER STATUS'

IS_LAYOUT = I_LAYOUT

it_fieldcat = it_fc[]

IT_SORT = IT_SORT[]

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

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.

&----


*& Form get_table_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_table_data.

if s_erdat is not initial and

s_vbeln is initial and

s_bstnk is initial and

s_bstdk is initial and

s_kunnr is initial.

SELECT vbeln

erdat

kunnr

lifsk

faksk

vkbur

bstnk

bstdk

INTO TABLE it_vbak

FROM vbak

WHERE erdat IN s_erdat AND

auart eq 'ZOR'.

endif.

if s_vbeln is not initial and

s_erdat is not initial and

s_bstnk is initial and

s_bstdk is initial and

s_kunnr is initial.

SELECT vbeln

erdat

kunnr

lifsk

faksk

vkbur

bstnk

bstdk

INTO TABLE it_vbak

FROM vbak

WHERE vbeln IN s_vbeln AND

erdat IN s_erdat AND

auart eq 'ZOR'.

endif.

if s_vbeln is not initial and

s_erdat is not initial and

s_bstnk is not initial and

s_bstdk is initial and

s_kunnr is initial.

SELECT vbeln

erdat

kunnr

lifsk

faksk

vkbur

bstnk

bstdk

INTO TABLE it_vbak

FROM vbak

WHERE vbeln IN s_vbeln

AND erdat IN s_erdat

AND bstnk IN s_bstnk

AND auart EQ 'ZOR'.

endif.

if s_vbeln is not initial and

s_erdat is not initial and

s_bstnk is not initial and

s_bstdk is not initial and

s_kunnr is initial.

SELECT vbeln

erdat

kunnr

lifsk

faksk

vkbur

bstnk

bstdk

INTO TABLE it_vbak

FROM vbak

WHERE vbeln IN s_vbeln

AND erdat IN s_erdat

AND bstnk IN s_bstnk

AND bstdk IN s_bstdk

AND auart EQ 'ZOR'.

endif.

*if s_vbeln is not initial and

  • s_erdat is not initial and

  • s_bstnk is initial and

  • s_bstdk is initial and

  • s_kunnr is initial.

*SELECT vbeln

  • erdat

  • kunnr

  • lifsk

  • faksk

  • vkbur

  • bstnk

  • bstdk

  • INTO TABLE it_vbak

  • FROM vbak

  • WHERE vbeln IN s_vbeln

  • AND erdat IN s_erdat.

*endif.

if it_vbak[] is not initial.

SELECT vbeln

posnr

matnr

arktx

meins

kwmeng

abgru

INTO TABLE it_vbap

FROM vbap

FOR ALL ENTRIES IN it_vbak

WHERE vbeln = it_vbak-vbeln.

endif.

if it_vbap[] is not initial.

SELECT vbeln

posnr

matnr

lfimg

vgbel

vgpos

INTO TABLE it_lips

FROM lips

FOR ALL ENTRIES IN it_vbap

WHERE vgbel = it_vbap-vbeln

AND vgpos = it_vbap-posnr.

endif.

if it_lips[] is not initial.

SELECT vbeln

erdat

kunag

INTO TABLE it_likp

FROM likp

FOR ALL ENTRIES IN it_lips

WHERE vbeln = it_lips-vbeln.

endif.

if it_likp[] is not initial.

SELECT vbeln

vgbel

vgpos

aubel

aupos

INTO TABLE it_vbrp

FROM vbrp

FOR ALL ENTRIES IN it_lips

WHERE vgbel = it_lips-vbeln

AND vgpos = it_lips-posnr.

endif.

if it_vbrp[] is not initial.

SELECT vbeln

erdat

netwr

INTO TABLE it_vbrk

FROM vbrk

FOR ALL ENTRIES IN it_vbrp

WHERE vbeln = it_vbrp-vbeln.

endif.

if it_vbrk[] is not initial.

SELECT vbeln

lfstk

INTO TABLE it_vbuk

FROM vbuk

FOR ALL ENTRIES IN it_vbak

WHERE vbeln = it_vbak-vbeln.

endif.

ENDFORM. " get_table_data

&----


*& Form display_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM display_data .

LOOP AT it_vbap.

it_final-posnr = it_vbap-posnr.

it_final-matnr = it_vbap-matnr.

it_final-arktx = it_vbap-arktx.

it_final-meins = it_vbap-meins.

it_final-kwmeng = it_vbap-kwmeng.

it_final-abgru = it_vbap-abgru.

READ TABLE it_lips WITH KEY vgbel = it_vbap-vbeln

vgpos = it_vbap-posnr.

it_final-lfimg = it_lips-lfimg.

it_final-statu = it_vbap-kwmeng - it_lips-lfimg.

READ TABLE it_vbak WITH KEY vbeln = it_vbap-vbeln.

it_final-vbeln = it_vbak-vbeln.

it_final-erdat = it_vbak-erdat.

it_final-kunnr = it_vbak-kunnr.

it_final-lifsk = it_vbak-lifsk.

it_final-faksk = it_vbak-faksk.

it_final-vkbur = it_vbak-vkbur.

it_final-BSTNK = it_vbak-BSTNK.

it_final-BSTDK = it_vbak-BSTDK.

READ TABLE it_likp WITH KEY vbeln = it_lips-vbeln.

it_final-delno = it_likp-vbeln.

it_final-deldt = it_likp-erdat.

READ TABLE it_vbrp WITH KEY vgbel = it_lips-vbeln

vgpos = it_lips-posnr.

READ TABLE it_vbrk WITH KEY vbeln = it_vbrp-vbeln.

it_final-invoi = it_vbrk-vbeln.

it_final-invdt = it_vbrk-erdat.

it_final-netwr = it_vbrk-netwr.

READ TABLE it_vbuk WITH KEY vbeln = it_vbak-vbeln.

it_final-lfstk = it_vbuk-lfstk.

if it_final-lfstk = 'A'.

it_final-light = '1'.

elseif it_final-lfstk = 'B'.

it_final-light = '2'.

elseif it_final-lfstk = 'C'.

it_final-light = '3'.

endif.

APPEND it_final.

CLEAR it_final.

ENDLOOP.

if it_final[] is initial.

message i007.

endif.

ENDFORM. " display_data

&----


*& Form fieldcat

&----


  • text

----


  • -->P_IT_FC text

----


FORM fieldcat TABLES R_IT_FC.

DEFINE m_display.

it_fc-col_pos = &1.

it_fc-tabname = &2.

it_fc-fieldname = &3.

it_fc-ref_tabname = &4.

it_fc-ref_fieldname = &5.

it_fc-key = &6.

IT_FC-HOTSPOT = &7.

IT_FC-seltext_l = &8.

it_fc-quantity = &9.

append it_fc.

clear it_fc.

END-OF-DEFINITION.

m_display '1' 'IT_FINAL' 'VBELN' 'VBAK' 'VBELN' 'X' 'X' '' ''.

m_display '2' 'IT_FINAL' 'KUNNR' 'VBAK' 'KUNNR' 'X' '' '' ''.

m_display '3' 'IT_FINAL' 'ERDAT' 'VBAK' 'ERDAT' '' '' '' ''.

m_display '4' 'IT_FINAL' 'VKBUR' 'VBAK' 'VKBUR' '' '' '' ''.

m_display '5' 'IT_FINAL' 'POSNR' 'VBAP' 'POSNR' '' '' '' ''.

m_display '6' 'IT_FINAL' 'MATNR' 'VBAP' 'MATNR' '' '' '' ''.

m_display '7' 'IT_FINAL' 'ARKTX' 'VBAP' 'ARKTX' '' '' '' ''.

m_display '8' 'IT_FINAL' 'KWMENG' 'VBAP' 'KWMENG' '' '' '' 'NO'.

m_display '9' 'IT_FINAL' 'MEINS' 'VBAP' 'MEINS' '' '' '' ''.

m_display '10' 'IT_FINAL' 'LIFSK' 'VBAK' 'LIFSK' '' '' '' ''.

m_display '11' 'IT_FINAL' 'FAKSK' 'VBAK' 'FAKSK' '' '' '' ''.

m_display '12' 'IT_FINAL' 'DELNO' 'LIKP' 'VBELN' '' 'X' '' ''.

m_display '13' 'IT_FINAL' 'DELDT' 'LIKP' 'ERDAT' '' '' '' ''.

m_display '14' 'IT_FINAL' 'LFIMG' 'LIPS' 'LFIMG' '' '' '' 'NO'.

m_display '15' 'IT_FINAL' 'LFSTK' 'VBUK' 'LFSTK' '' '' '' ''.

m_display '16' 'IT_FINAL' 'STATU' 'VBUK' '' '' '' text-003 'NO'.

m_display '17' 'IT_FINAL' 'ABGRU' 'VBAP' 'ABGRU' '' '' '' ''.

m_display '18' 'IT_FINAL' 'INVOI' 'VBRK' 'VBELN' '' 'X' '' ''.

m_display '19' 'IT_FINAL' 'INVDT' 'VBRK' 'ERDAT' '' '' '' ''.

m_display '20' 'IT_FINAL' 'NETWR' 'VBRK' 'NETWR' '' '' '' ''.

m_display '21' 'IT_FINAL' 'BSTNK' 'VBAK' 'BSTNK' '' '' '' ''.

m_display '22' 'IT_FINAL' 'BSTDK' 'VBAK' 'BSTDK' '' '' '' ''.

ENDFORM. " fieldcat

&----


*& Form LAYOUT

&----


  • text

----


  • -->P_I_LAYOUT text

----


form LAYOUT using R_layout TYPE SLIS_LAYOUT_ALV.

R_LAYOUT-ZEBRA = 'X'.

R_LAYOUT-BOX_FIELDNAME = 'BOX'.

R_LAYOUT-LIGHTS_FIELDNAME = 'LIGHT'.

endform. " LAYOUT

&----


*& Form SORTING

&----


  • text

----


  • -->P_IT_SORT text

----


form SORTING tableS p_it_sort LIKE IT_SORT[].

P_IT_SORT-SPOS = '1'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'VBELN'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '2'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'KUNNR'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '3'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'ERDAT'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '4'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'BSTNK'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '5'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'BSTDK'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '14'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'DELDT'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '18'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'INVDT'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '13'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'DELNO'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '17'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'INVOI'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '19'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'NETWR'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

endform. " SORTING

hope this will be useful.

Regards

kothai.

10 REPLIES 10
Read only

Former Member
0 Likes
1,319

hi,

Sales order header --> VBAK

Sales order item --> VBAP

VBELN --> Sales order number field in both the tables

Read only

Former Member
0 Likes
1,319

hi,

BEGIN OF IT_VBAK OCCURS 0,

VBELN LIKE VBAK-VBELN, " SALES DOCUMENT

VKORG LIKE VBAK-VKORG, " DISTRIBUTION CHANNEL

VTWEG LIKE VBAK-VTWEG, " DISTRIBUTION CHANNEL

AUART LIKE VBAK-AUART, " SALES DOCUMENT TYPE

SPART LIKE VBAK-SPART, " DIVISION

AUDAT LIKE VBAK-AUDAT, " DOCUMENT DATE

KUNNR LIKE VBAK-KUNNR, " SOLD TO PARTY 1

NETWR LIKE VBAK-NETWR, " NET VALUE OF SALES DOC

END OF IT_VBAK.

DATA: BEGIN OF IT_VBAP OCCURS 0,

VBELN LIKE VBAP-VBELN, " SALES DOCUMENT

POSNR LIKE VBAP-POSNR, " SALES DOCUMENT ITEM

MATNR LIKE VBAP-MATNR, " MATERIAL NUMBER

ARKTX LIKE VBAP-ARKTX, " SALES ORDER ITEM

KWMENG LIKE VBAP-KWMENG, " ORDER QUANTITY

WERKS LIKE VBAP-WERKS, " PLANT

LGORT LIKE VBAP-LGORT, " STORAGE LOCATION

NETPR LIKE VBAP-NETPR, " NET PRICE

END OF IT_VBAP.

regards,

deepthi

Read only

Former Member
0 Likes
1,319

VBAK and VBAP

Read only

Former Member
0 Likes
1,319

Hi sudhir,

chk this thread

Read only

Former Member
0 Likes
1,320

hi.

refer to the program below. this program gives the complete details of sales order status.

&----


*& Report ZSD_SO_DETAILS

*&

&----


*&

*&

&----


REPORT ZSD_SO_DETAILS

message-id zqt_msg

no standard page heading.

  • type pools

TYPE-POOLS: slis.

*table declaration

TABLES: vbak, "Sales Document: Header Data

kna1. "General Data in Customer Master

*types declaration

TYPES: BEGIN OF t_vbak,

vbeln LIKE vbak-vbeln, "Sales Document

erdat LIKE vbak-erdat, "Date on Which Record Was Created

kunnr LIKE vbak-kunnr, "Sold-to party

lifsk LIKE vbak-lifsk, "Delivery block (document header)

faksk LIKE vbak-faksk, "Billing block in SD document

vkbur LIKE vbak-vkbur, "Sales Office

bstnk LIKE vbak-bstnk, "Customer purchase order number

bstdk LIKE vbak-bstdk, "Customer purchase order date

END OF t_vbak.

TYPES: BEGIN OF t_vbap,

vbeln LIKE vbap-vbeln, "Sales Document

posnr LIKE vbap-posnr, "Sales Document Item

matnr LIKE vbap-matnr, "Material Number

arktx LIKE vbap-arktx, "Short text for sales order item

meins LIKE vbap-meins, "Base Unit of Measure

kwmeng LIKE vbap-kwmeng,"Cumulative Order Quantity in Sales Units

abgru LIKE vbap-abgru, "Reason for rejection of quotations and sales orders

END OF t_vbap.

TYPES: BEGIN OF t_likp,

vbeln LIKE likp-vbeln, "Delivery

erdat LIKE likp-erdat, "Date on Which Record Was Created

kunag LIKE likp-kunag, "Sold-to party

END OF t_likp.

TYPES: BEGIN OF t_lips,

vbeln LIKE likp-vbeln, "Delivery

posnr LIKE lips-posnr, "Delivery Item

matnr LIKE lips-matnr, "Material Number

lfimg LIKE lips-lfimg, "Actual quantity delivered (in sales units)

vgbel LIKE lips-vgbel, "Document number of the reference document

vgpos LIKE lips-vgpos, "Item number of the reference item

END OF t_lips.

TYPES: BEGIN OF t_vbrp,

vbeln LIKE vbrp-vbeln, "Billing Document

vgbel LIKE vbrp-vgbel, "Document number of the reference document

vgpos LIKE vbrp-vgpos, "Item number of the reference item

aubel LIKE vbrp-aubel, "Sales Document

aupos LIKE vbrp-aupos, "Sales Document Item

END OF t_vbrp .

TYPES: BEGIN OF t_vbrk,

vbeln LIKE vbrk-vbeln, "Billing Document

erdat LIKE vbrk-erdat, "Date on Which Record Was Created

netwr LIKE vbrk-netwr, "Net Value in Document Currency

END OF t_vbrk.

TYPES: BEGIN OF t_vbuk,

vbeln LIKE vbuk-vbeln, "Sales and Distribution Document Number

lfstk LIKE vbuk-lfstk, "Delivery status

END OF t_vbuk.

TYPES: BEGIN OF t_final,

vbeln LIKE vbak-vbeln, "Sales Document

erdat LIKE vbak-erdat, "Date on Which Record Was Created

kunnr LIKE vbak-kunnr, "Sold-to party

lifsk LIKE vbak-lifsk, "Delivery block (document header)

faksk LIKE vbak-faksk, "Billing block in SD document

vkbur LIKE vbak-vkbur, "Sales office

bstnk LIKE vbak-bstnk, "Customer purchase order number

bstdk LIKE vbak-bstdk, "Customer purchase order date

posnr LIKE vbap-posnr, "Sales Document Item

matnr LIKE vbap-matnr, "Material Number

arktx LIKE vbap-arktx, "Short text for sales order item

meins LIKE vbap-meins, "Base Unit of Measure

kwmeng LIKE vbap-kwmeng, "Cumulative Order Quantity in Sales Units

delno LIKE likp-vbeln, "Delivery

deldt LIKE likp-erdat, "Date on Which Record Was Created

kunag LIKE likp-kunag, "Sold-to party

lfimg like lips-lfimg, "Actual quantity delivered (in sales units)

invoi LIKE vbrk-vbeln, "Billing Document

netwr LIKE vbrk-netwr, "Net Value in Document Currency

invdt LIKE vbrk-erdat, "Date on Which Record Was Created

lfstk LIKE vbuk-lfstk, "Delivery status

statu LIKE lips-lfimg, "Quantity to be delivered

abgru LIKE vbap-abgru, "Reason for rejection of quotations and sales orders

box,

light,

END OF t_final.

  • internal table declaration

DATA it_fc TYPE slis_t_fieldcat_alv WITH HEADER LINE.

DATA IT_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE.

DATA I_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA:it_vbak TYPE TABLE OF t_vbak WITH HEADER LINE,

it_vbap TYPE TABLE OF t_vbap WITH HEADER LINE,

it_likp TYPE TABLE OF t_likp WITH HEADER LINE,

it_lips TYPE TABLE OF t_lips WITH HEADER LINE,

it_vbrk TYPE TABLE OF t_vbrk WITH HEADER LINE,

it_vbrp TYPE TABLE OF t_vbrp WITH HEADER LINE,

it_vbuk TYPE TABLE OF t_vbuk WITH HEADER LINE,

it_final TYPE TABLE OF t_final WITH HEADER LINE.

  • variable declaration

DATA: v_status TYPE i.

*selection screen

SELECTION-SCREEN skip 1.

SELECT-OPTIONS s_vbeln FOR vbak-vbeln NO-EXTENSION.

SELECT-OPTIONS s_erdat FOR vbak-erdat OBLIGATORY NO-EXTENSION.

SELECTION-SCREEN skip 1.

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

SELECT-OPTIONS s_bstnk FOR vbak-bstnk NO-EXTENSION.

SELECT-OPTIONS s_bstdk FOR vbak-bstdk NO-EXTENSION.

SELECT-OPTIONS s_kunnr FOR vbak-kunnr NO-EXTENSION.

SELECTION-SCREEN END OF BLOCK b1.

  • initialization

INITIALIZATION.

PERFORM SORTING TABLES IT_SORT.

PERFORM LAYOUT USING I_LAYOUT.

perform fieldcat tables it_fc.

*at selection screen

AT SELECTION-SCREEN.

if s_vbeln-low is not initial.

select single vbeln

from vbak

into vbak

where vbeln = s_vbeln-low.

if sy-subrc <> 0.

message e002.

endif.

endif.

if s_vbeln-high is not initial.

select single vbeln

from vbak

into vbak

where vbeln = s_vbeln-high.

if sy-subrc <> 0.

message e002.

endif.

endif.

if s_erdat is not initial.

if s_erdat-low > sy-datum.

message e003.

if s_erdat-high <= sy-datum.

message e004.

endif.

endif.

endif.

if s_bstnk-low is not initial.

select single bstnk

from vbak

into vbak

where bstnk = s_bstnk-low.

if sy-subrc <> 0.

message e002.

endif.

endif.

if s_bstnk-high is not initial.

select single bstnk

from vbak

into vbak

where bstnk = s_bstnk-high.

if sy-subrc <> 0.

message e002.

endif.

endif.

if s_bstdk is not initial.

if s_bstdk-low > sy-datum.

message e003.

if s_bstdk-high <= sy-datum.

message e004.

endif.

endif.

endif.

if s_kunnr is not initial.

select single kunnr

from kna1

into kna1

where kunnr in s_kunnr.

if sy-subrc <> 0.

message e000.

endif.

endif.

  • start of selection

START-OF-SELECTION.

PERFORM get_table_data.

  • end of selection

END-OF-SELECTION.

PERFORM display_data.

  • alv display

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_USER_COMMAND = 'UC_COMM'

I_GRID_TITLE = 'SALES ORDER STATUS'

IS_LAYOUT = I_LAYOUT

it_fieldcat = it_fc[]

IT_SORT = IT_SORT[]

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

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.

&----


*& Form get_table_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_table_data.

if s_erdat is not initial and

s_vbeln is initial and

s_bstnk is initial and

s_bstdk is initial and

s_kunnr is initial.

SELECT vbeln

erdat

kunnr

lifsk

faksk

vkbur

bstnk

bstdk

INTO TABLE it_vbak

FROM vbak

WHERE erdat IN s_erdat AND

auart eq 'ZOR'.

endif.

if s_vbeln is not initial and

s_erdat is not initial and

s_bstnk is initial and

s_bstdk is initial and

s_kunnr is initial.

SELECT vbeln

erdat

kunnr

lifsk

faksk

vkbur

bstnk

bstdk

INTO TABLE it_vbak

FROM vbak

WHERE vbeln IN s_vbeln AND

erdat IN s_erdat AND

auart eq 'ZOR'.

endif.

if s_vbeln is not initial and

s_erdat is not initial and

s_bstnk is not initial and

s_bstdk is initial and

s_kunnr is initial.

SELECT vbeln

erdat

kunnr

lifsk

faksk

vkbur

bstnk

bstdk

INTO TABLE it_vbak

FROM vbak

WHERE vbeln IN s_vbeln

AND erdat IN s_erdat

AND bstnk IN s_bstnk

AND auart EQ 'ZOR'.

endif.

if s_vbeln is not initial and

s_erdat is not initial and

s_bstnk is not initial and

s_bstdk is not initial and

s_kunnr is initial.

SELECT vbeln

erdat

kunnr

lifsk

faksk

vkbur

bstnk

bstdk

INTO TABLE it_vbak

FROM vbak

WHERE vbeln IN s_vbeln

AND erdat IN s_erdat

AND bstnk IN s_bstnk

AND bstdk IN s_bstdk

AND auart EQ 'ZOR'.

endif.

*if s_vbeln is not initial and

  • s_erdat is not initial and

  • s_bstnk is initial and

  • s_bstdk is initial and

  • s_kunnr is initial.

*SELECT vbeln

  • erdat

  • kunnr

  • lifsk

  • faksk

  • vkbur

  • bstnk

  • bstdk

  • INTO TABLE it_vbak

  • FROM vbak

  • WHERE vbeln IN s_vbeln

  • AND erdat IN s_erdat.

*endif.

if it_vbak[] is not initial.

SELECT vbeln

posnr

matnr

arktx

meins

kwmeng

abgru

INTO TABLE it_vbap

FROM vbap

FOR ALL ENTRIES IN it_vbak

WHERE vbeln = it_vbak-vbeln.

endif.

if it_vbap[] is not initial.

SELECT vbeln

posnr

matnr

lfimg

vgbel

vgpos

INTO TABLE it_lips

FROM lips

FOR ALL ENTRIES IN it_vbap

WHERE vgbel = it_vbap-vbeln

AND vgpos = it_vbap-posnr.

endif.

if it_lips[] is not initial.

SELECT vbeln

erdat

kunag

INTO TABLE it_likp

FROM likp

FOR ALL ENTRIES IN it_lips

WHERE vbeln = it_lips-vbeln.

endif.

if it_likp[] is not initial.

SELECT vbeln

vgbel

vgpos

aubel

aupos

INTO TABLE it_vbrp

FROM vbrp

FOR ALL ENTRIES IN it_lips

WHERE vgbel = it_lips-vbeln

AND vgpos = it_lips-posnr.

endif.

if it_vbrp[] is not initial.

SELECT vbeln

erdat

netwr

INTO TABLE it_vbrk

FROM vbrk

FOR ALL ENTRIES IN it_vbrp

WHERE vbeln = it_vbrp-vbeln.

endif.

if it_vbrk[] is not initial.

SELECT vbeln

lfstk

INTO TABLE it_vbuk

FROM vbuk

FOR ALL ENTRIES IN it_vbak

WHERE vbeln = it_vbak-vbeln.

endif.

ENDFORM. " get_table_data

&----


*& Form display_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM display_data .

LOOP AT it_vbap.

it_final-posnr = it_vbap-posnr.

it_final-matnr = it_vbap-matnr.

it_final-arktx = it_vbap-arktx.

it_final-meins = it_vbap-meins.

it_final-kwmeng = it_vbap-kwmeng.

it_final-abgru = it_vbap-abgru.

READ TABLE it_lips WITH KEY vgbel = it_vbap-vbeln

vgpos = it_vbap-posnr.

it_final-lfimg = it_lips-lfimg.

it_final-statu = it_vbap-kwmeng - it_lips-lfimg.

READ TABLE it_vbak WITH KEY vbeln = it_vbap-vbeln.

it_final-vbeln = it_vbak-vbeln.

it_final-erdat = it_vbak-erdat.

it_final-kunnr = it_vbak-kunnr.

it_final-lifsk = it_vbak-lifsk.

it_final-faksk = it_vbak-faksk.

it_final-vkbur = it_vbak-vkbur.

it_final-BSTNK = it_vbak-BSTNK.

it_final-BSTDK = it_vbak-BSTDK.

READ TABLE it_likp WITH KEY vbeln = it_lips-vbeln.

it_final-delno = it_likp-vbeln.

it_final-deldt = it_likp-erdat.

READ TABLE it_vbrp WITH KEY vgbel = it_lips-vbeln

vgpos = it_lips-posnr.

READ TABLE it_vbrk WITH KEY vbeln = it_vbrp-vbeln.

it_final-invoi = it_vbrk-vbeln.

it_final-invdt = it_vbrk-erdat.

it_final-netwr = it_vbrk-netwr.

READ TABLE it_vbuk WITH KEY vbeln = it_vbak-vbeln.

it_final-lfstk = it_vbuk-lfstk.

if it_final-lfstk = 'A'.

it_final-light = '1'.

elseif it_final-lfstk = 'B'.

it_final-light = '2'.

elseif it_final-lfstk = 'C'.

it_final-light = '3'.

endif.

APPEND it_final.

CLEAR it_final.

ENDLOOP.

if it_final[] is initial.

message i007.

endif.

ENDFORM. " display_data

&----


*& Form fieldcat

&----


  • text

----


  • -->P_IT_FC text

----


FORM fieldcat TABLES R_IT_FC.

DEFINE m_display.

it_fc-col_pos = &1.

it_fc-tabname = &2.

it_fc-fieldname = &3.

it_fc-ref_tabname = &4.

it_fc-ref_fieldname = &5.

it_fc-key = &6.

IT_FC-HOTSPOT = &7.

IT_FC-seltext_l = &8.

it_fc-quantity = &9.

append it_fc.

clear it_fc.

END-OF-DEFINITION.

m_display '1' 'IT_FINAL' 'VBELN' 'VBAK' 'VBELN' 'X' 'X' '' ''.

m_display '2' 'IT_FINAL' 'KUNNR' 'VBAK' 'KUNNR' 'X' '' '' ''.

m_display '3' 'IT_FINAL' 'ERDAT' 'VBAK' 'ERDAT' '' '' '' ''.

m_display '4' 'IT_FINAL' 'VKBUR' 'VBAK' 'VKBUR' '' '' '' ''.

m_display '5' 'IT_FINAL' 'POSNR' 'VBAP' 'POSNR' '' '' '' ''.

m_display '6' 'IT_FINAL' 'MATNR' 'VBAP' 'MATNR' '' '' '' ''.

m_display '7' 'IT_FINAL' 'ARKTX' 'VBAP' 'ARKTX' '' '' '' ''.

m_display '8' 'IT_FINAL' 'KWMENG' 'VBAP' 'KWMENG' '' '' '' 'NO'.

m_display '9' 'IT_FINAL' 'MEINS' 'VBAP' 'MEINS' '' '' '' ''.

m_display '10' 'IT_FINAL' 'LIFSK' 'VBAK' 'LIFSK' '' '' '' ''.

m_display '11' 'IT_FINAL' 'FAKSK' 'VBAK' 'FAKSK' '' '' '' ''.

m_display '12' 'IT_FINAL' 'DELNO' 'LIKP' 'VBELN' '' 'X' '' ''.

m_display '13' 'IT_FINAL' 'DELDT' 'LIKP' 'ERDAT' '' '' '' ''.

m_display '14' 'IT_FINAL' 'LFIMG' 'LIPS' 'LFIMG' '' '' '' 'NO'.

m_display '15' 'IT_FINAL' 'LFSTK' 'VBUK' 'LFSTK' '' '' '' ''.

m_display '16' 'IT_FINAL' 'STATU' 'VBUK' '' '' '' text-003 'NO'.

m_display '17' 'IT_FINAL' 'ABGRU' 'VBAP' 'ABGRU' '' '' '' ''.

m_display '18' 'IT_FINAL' 'INVOI' 'VBRK' 'VBELN' '' 'X' '' ''.

m_display '19' 'IT_FINAL' 'INVDT' 'VBRK' 'ERDAT' '' '' '' ''.

m_display '20' 'IT_FINAL' 'NETWR' 'VBRK' 'NETWR' '' '' '' ''.

m_display '21' 'IT_FINAL' 'BSTNK' 'VBAK' 'BSTNK' '' '' '' ''.

m_display '22' 'IT_FINAL' 'BSTDK' 'VBAK' 'BSTDK' '' '' '' ''.

ENDFORM. " fieldcat

&----


*& Form LAYOUT

&----


  • text

----


  • -->P_I_LAYOUT text

----


form LAYOUT using R_layout TYPE SLIS_LAYOUT_ALV.

R_LAYOUT-ZEBRA = 'X'.

R_LAYOUT-BOX_FIELDNAME = 'BOX'.

R_LAYOUT-LIGHTS_FIELDNAME = 'LIGHT'.

endform. " LAYOUT

&----


*& Form SORTING

&----


  • text

----


  • -->P_IT_SORT text

----


form SORTING tableS p_it_sort LIKE IT_SORT[].

P_IT_SORT-SPOS = '1'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'VBELN'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '2'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'KUNNR'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '3'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'ERDAT'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '4'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'BSTNK'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '5'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'BSTDK'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '14'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'DELDT'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '18'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'INVDT'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '13'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'DELNO'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '17'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'INVOI'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

P_IT_SORT-SPOS = '19'.

P_IT_SORT-TABNAME = 'IT_FINAL'.

P_IT_SORT-FIELDNAME = 'NETWR'.

P_IT_SORT-UP = 'X'.

APPEND P_IT_SORT.

CLEAR P_IT_SORT.

endform. " SORTING

hope this will be useful.

Regards

kothai.

Read only

Former Member
0 Likes
1,319

YOu can use the bapi:

To get the sales order for a selection criteria,

you can use the fm: BAPI_SALESORDER_GETLIST

BAPI_SALESORDER_GETSTATUS for the details of the sales order.

Regards,

ravi

Read only

Former Member
0 Likes
1,319

Hi,

Sales Order Header Table : VBAK

Sales Order Item table : VBAP

Sales Flow : VBFA

Billing Header table : VBRK

Billing Item table : VBRP

Sales Partner table : VBPA

Custoemr Master : KNA1

Vendor Mafter : LFA1

Combine all table they have line to each other ...

get all necessary fields out of this and u ll be able to prepare a report which contains all Sales data ....

Read only

Former Member
0 Likes
1,319

Hi

<b>An Interactive ALV Report

&----


*& Report ZZ_22038_22098_002 *

*& *

&----


*& This is an Interactive ALV report, where on line slection we can see

*& the secondry list

*&

*& *

&----


REPORT ZZ_22038_22098_002 NO STANDARD PAGE HEADING LINE-SIZE 650

MESSAGE-ID ZZ_9838 .

TYPE-POOLS: SLIS.

*type declaration for values from ekko

TYPES: BEGIN OF I_EKKO,

EBELN LIKE EKKO-EBELN,

AEDAT LIKE EKKO-AEDAT,

BUKRS LIKE EKKO-BUKRS,

BSART LIKE EKKO-BSART,

LIFNR LIKE EKKO-LIFNR,

END OF I_EKKO.

DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,

WA_EKKO TYPE I_EKKO.

*type declaration for values from ekpo

TYPES: BEGIN OF I_EKPO,

EBELN LIKE EKPO-EBELN,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

MEINS LIKE EKPO-MEINS,

NETPR LIKE EKPO-NETPR,

END OF I_EKPO.

DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,

WA_EKPO TYPE I_EKPO .

*variable for Report ID

DATA: V_REPID LIKE SY-REPID .

*declaration for fieldcatalog

DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.

  • declaration for events table where user comand or set PF status will

  • be defined

DATA: V_EVENTS TYPE SLIS_T_EVENT,

WA_EVENT TYPE SLIS_ALV_EVENT.

  • declartion for layout

DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.

  • declaration for variant(type of display we want)

DATA: I_VARIANT TYPE DISVARIANT,

I_VARIANT1 TYPE DISVARIANT,

I_SAVE(1) TYPE C.

*PARAMETERS : p_var TYPE disvariant-variant.

*Title displayed when the alv list is displayed

DATA: I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.

DATA: I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.

INITIALIZATION.

V_REPID = SY-REPID.

PERFORM BUILD_FIELDCATLOG.

PERFORM EVENT_CALL.

PERFORM POPULATE_EVENT.

START-OF-SELECTION.

PERFORM DATA_RETRIEVAL.

PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.

PERFORM DISPLAY_ALV_REPORT.

&----


*& Form BUILD_FIELDCATLOG

&----


  • Fieldcatalog has all the field details from ekko

----


FORM BUILD_FIELDCATLOG.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'EBELN'.

WA_FIELDCAT-SELTEXT_M = 'PO NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'AEDAT'.

WA_FIELDCAT-SELTEXT_M = 'DATE.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'BUKRS'.

WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'BUKRS'.

WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'LIFNR'.

WA_FIELDCAT-NO_OUT = 'X'.

WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. "BUILD_FIELDCATLOG

&----


*& Form EVENT_CALL

&----


  • we get all events - TOP OF PAGE or USER COMMAND in table v_events

----


FORM EVENT_CALL.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = V_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.

ENDFORM. "EVENT_CALL

&----


*& Form POPULATE_EVENT

&----


  • Events populated for TOP OF PAGE & USER COMAND

----


FORM POPULATE_EVENT.

READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'TOP_OF_PAGE'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-FORM.

ENDIF.

READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'USER_COMMAND'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-NAME.

ENDIF.

ENDFORM. "POPULATE_EVENT

&----


*& Form data_retrieval

&----


  • retreiving values from the database table ekko

----


FORM DATA_RETRIEVAL.

SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.

ENDFORM. "data_retrieval

&----


*& Form bUild_listheader

&----


  • text

----


  • -->I_LISTHEADEtext

----


FORM BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.

DATA HLINE TYPE SLIS_LISTHEADER.

HLINE-INFO = 'this is my first alv pgm'.

HLINE-TYP = 'H'.

ENDFORM. "build_listheader

&----


*& Form display_alv_report

&----


  • text

----


FORM DISPLAY_ALV_REPORT.

V_REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'

I_GRID_TITLE = I_TITLE_EKKO

  • I_GRID_SETTINGS =

  • IS_LAYOUT = ALV_LAYOUT

IT_FIELDCAT = I_FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • i_default = 'ZLAY1'

I_SAVE = 'A'

  • is_variant = i_variant

IT_EVENTS = V_EVENTS

TABLES

T_OUTTAB = IT_EKKO

  • 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 TOP_OF_PAGE

&----


  • text

----


FORM TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_LISTHEADER

  • i_logo =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE

&----


*& Form USER_COMMAND

&----


  • text

----


  • -->R_UCOMM text

  • -->, text

  • -->RS_SLEFIELDtext

----


FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN '&IC1'.

READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.

PERFORM BUILD_FIELDCATLOG_EKPO.

PERFORM EVENT_CALL_EKPO.

PERFORM POPULATE_EVENT_EKPO.

PERFORM DATA_RETRIEVAL_EKPO.

PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.

PERFORM DISPLAY_ALV_EKPO.

ENDCASE.

ENDFORM. "user_command

&----


*& Form BUILD_FIELDCATLOG_EKPO

&----


  • text

----


FORM BUILD_FIELDCATLOG_EKPO.

WA_FIELDCAT-TABNAME = 'IT_EKPO'.

WA_FIELDCAT-FIELDNAME = 'EBELN'.

WA_FIELDCAT-SELTEXT_M = 'PO NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKPO'.

WA_FIELDCAT-FIELDNAME = 'EBELP'.

WA_FIELDCAT-SELTEXT_M = 'LINE NO'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MATNR'.

WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MENGE'.

WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MEINS'.

WA_FIELDCAT-SELTEXT_M = 'UOM'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'NETPR'.

WA_FIELDCAT-SELTEXT_M = 'PRICE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. "BUILD_FIELDCATLOG_EKPO

&----


*& Form event_call_ekpo

&----


  • we get all events - TOP OF PAGE or USER COMMAND in table v_events

----


FORM EVENT_CALL_EKPO.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = V_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.

ENDFORM. "event_call_ekpo

&----


*& Form POPULATE_EVENT

&----


  • Events populated for TOP OF PAGE & USER COMAND

----


FORM POPULATE_EVENT_EKPO.

READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'TOP_OF_PAGE'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-FORM.

ENDIF.

ENDFORM. "POPULATE_EVENT

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM F_TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_LISTHEADER

  • i_logo =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE

&----


*& Form USER_COMMAND

&----


  • text

----


  • -->R_UCOMM text

  • -->, text

  • -->RS_SLEFIELDtext

----


*retreiving values from the database table ekko

FORM DATA_RETRIEVAL_EKPO.

SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.

ENDFORM.

FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.

DATA: HLINE1 TYPE SLIS_LISTHEADER.

HLINE1-TYP = 'H'.

HLINE1-INFO = 'CHECKING PGM'.

ENDFORM.

FORM DISPLAY_ALV_EKPO.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND'

I_CALLBACK_TOP_OF_PAGE = '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_TITLE_EKPO

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = I_FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT =

I_SAVE = 'A'

  • IS_VARIANT =

IT_EVENTS = V_EVENTS

TABLES

T_OUTTAB = IT_EKPO

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.

</b>

Thanks

Manju

Read only

Former Member
0 Likes
1,319

hi Sudhir,

Check

http://www.sap-img.com/fu036.htm

Regards,

Santosh

Read only

Former Member
0 Likes
1,319

Thank u very much