cancel
Showing results for 
Search instead for 
Did you mean: 

retrive open order and open delivery value x custome

Former Member
0 Kudos

Hi,

how can i obtain a list of open order value and open delivery value per customer?

10x

bye

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Try Vl10G for open orders and VL06O for open deliveries for a customer.

Apart frm that there are info structures S066 and S067 for open orders and open deliveries for a customer respectively.......

Pls reward if helpful

Noopur

Former Member
0 Kudos

s066 and s067 are exactly what i need but this structures are valorized when i do fd32 and what i was looking is to have that or something like that shortly.

maybe is better if i make the user manually enters fd32 for every customer, then exit to make the system valuate this fields, then the user re-enters fd32 and valuating this filled field (open order, delivery, billing) the user can estimate the cutomer reliability limit credit.

a file list would be more beauty but surely more time consuming too.

tnx to all.

Answers (5)

Answers (5)

Former Member
0 Kudos

Check the following code which give details of pending orders & values and it can be modified as per ur requirement.

REPORT ZPEND_ORDER no standard page heading line-size 255.

&----


*& Purpose : Details of Sale order having pending deliveries *

*& ( For Rake order handling ) *

&----


tables : vbak, vbap, likp, lips, kna1, vbuk, vbpa, vepvg, vbfa, vbup.

data : pend_qty like vbap-kwmeng,

dlv_qty like vbap-kwmeng,

ord_qty like vbap-kwmeng.

data: begin of itab_vbak occurs 0,

vbeln like vbak-vbeln, "sales order no

audat like vbak-audat, " created date

auart like vbak-auart, " Sales Document Type

vkorg like vbak-vkorg, "Sales Organization

vtweg like vbak-vtweg, " distribution channel

spart like vbak-spart, " Division

vkgrp like vbak-vkgrp, " Sales group

vkbur like vbak-vkbur, " Sales office

kunnr like vbak-kunnr, " sold to party

kunag like vbak-kunnr, " ship to party

cust like vbak-kunnr, " sold to party

ship like kna1-name1, " ship to party

city like kna1-ort01, " ship to party location

deliv like likp-vbeln, " delivery

matnr like vbap-matnr,

arktx like vbap-arktx, " mat description

kwmeng like vbap-kwmeng,

kbmeng like vbap-kbmeng,

fkrel like vbap-matnr,

vstel like vbap-vstel,

route like vbap-route,

chln_no like likp-xabln,

grn_no like likp-bolnr,

truck_no like likp-traid,

dlv_dt like vbfa-erdat, "dlvy date

ord_qty like vbap-kwmeng,

dlvd_qty like vbap-kwmeng,

pend_qty like vbap-kwmeng,

kzwi5 like vbap-kzwi5,

posnr like vbap-posnr,

end of itab_vbak.

data posnr like vbap-posnr.

*FOR ALV DISPLAY

type-pools: slis.

constants: formname_top_of_page type slis_formname value 'TOP_OF_PAGE'.

*Data Decelararion for alv display

data: i_fieldtab type slis_t_fieldcat_alv,

i_heading type slis_t_listheader,

i_layout type slis_layout_alv,

i_sort type slis_t_sortinfo_alv,

i_print type slis_print_alv,

i_events type slis_t_event,

i_repname like sy-repid,

f2code like sy-ucomm value '&ETA',

i_save(1) type c,

i_exit(1) type c,

i_variant like disvariant,

h_text(50).

start-of-selection.

selection-screen skip 1.

selection-screen begin of block v1 with frame title text-001.

selection-screen skip 1.

select-options:

ord_no for vepvg-vbeln,

audat for vbak-audat obligatory,

matnr for vbap-matnr,

spart for vbap-spart obligatory,

vstel for vepvg-vstel obligatory,

sale_org for vbak-vkorg obligatory,

sale_off for vbak-vkbur.

selection-screen skip 1.

  • check box for ALV display

parameters p_alv as checkbox.

selection-screen end of block v1.

selection-screen skip 1.

data: ftab(72) occurs 5 with header line.

refresh ftab.

ftab = 'VBELN'. append ftab.

refresh itab_vbak.

initialization.

i_repname = sy-repid.

start-of-selection.

select vbeln audat vkorg vtweg spart vkbur kunnr from vbak

into

(itab_vbak-vbeln, itab_vbak-audat,

vbak-vkorg, vbak-vtweg, vbak-spart,

itab_vbak-vkbur, itab_vbak-kunnr)

where vbeln in ord_no

and audat in audat

and vbtyp = 'C'

and vkorg in sale_org

and spart in spart

and vkbur in sale_off.

if sy-subrc = 0.

select posnr kwmeng kbmeng matnr arktx "added for mat description

fkrel vstel route kzwi5 spart

from vbap into corresponding fields of itab_vbak

where vbeln = itab_vbak-vbeln .

check ( itab_vbak-fkrel = 'A' or "Delivery-related billing document

itab_vbak-fkrel = 'D' ) "Relevant for pro forma

and itab_vbak-vstel in vstel

and itab_vbak-matnr in matnr

and itab_vbak-spart in spart.

select single * from vbup where vbeln = itab_vbak-vbeln

and posnr = itab_vbak-posnr.

check vbup-gbsta ne 'C'.

dlv_qty = 0.

select single kunnr from vbpa into itab_vbak-kunnr

where vbeln = itab_vbak-vbeln

and parvw = 'WE'.

select single name1 ort01 from kna1 into

(itab_vbak-cust, itab_vbak-city)

where kunnr = itab_vbak-kunnr.

  • in case of partially processed sale order get delivery details

clear : dlv_qty, itab_vbak-dlv_dt, itab_vbak-dlvd_qty, itab_vbak-chln_no,

itab_vbak-grn_no, itab_vbak-truck_no.

if vbup-gbsta eq 'B'. "partially processed

dlv_qty = 0.

  • get details from delivery

select vbfavbeln vbfarfmng vbfavbtyp_n vbfaerdat

into (vbfa-vbeln, vbfa-rfmng, vbfa-vbtyp_n, vbfa-erdat)

from vbfa

where vbelv = itab_vbak-vbeln

and posnv = itab_vbak-posnr.

check vbfa-vbtyp_n = 'J'.

clear : dlv_qty, itab_vbak-dlv_dt, itab_vbak-dlvd_qty, itab_vbak-chln_no,

itab_vbak-grn_no, itab_vbak-truck_no.

select single erdat xabln bolnr traid kunag

into (itab_vbak-dlv_dt, itab_vbak-chln_no, itab_vbak-grn_no,

itab_vbak-truck_no, itab_vbak-kunag)

from likp

where vbeln = vbfa-vbeln.

if sy-subrc = 0.

dlv_qty = dlv_qty + vbfa-rfmng.

itab_vbak-dlv_dt = vbfa-erdat.

itab_vbak-dlvd_qty = dlv_qty.

itab_vbak-deliv = vbfa-vbeln.

endif.

append itab_vbak.

endselect.

elseif vbup-gbsta eq 'A'.

  • for unprocessed sale order

  • ship to party details

itab_vbak-kunag = itab_vbak-kunnr.

itab_vbak-ship = itab_vbak-cust.

append itab_vbak.

endif.

endselect.

endif.

clear itab_vbak.

endselect.

loop at itab_vbak.

  • clear with change in document / item no

on change of itab_vbak-vbeln or itab_vbak-posnr.

clear: dlv_qty,ord_qty,pend_qty.

endon.

at new posnr.

  • In case full qty not delivered

if itab_vbak-kwmeng > itab_vbak-dlvd_qty.

select single vbpa~kunnr into vbpa-kunnr

from vbpa

where vbeln = itab_vbak-vbeln

and posnr = itab_vbak-posnr

and parvw = 'WE'.

if sy-subrc eq 0.

itab_vbak-kunag = vbpa-kunnr.

select single name1 ort01 from kna1 into

(itab_vbak-ship, itab_vbak-city)

where kunnr = itab_vbak-kunag.

if sy-subrc ne 0.

select single vbpa~kunnr into vbpa-kunnr

from vbpa

where vbeln = itab_vbak-vbeln

and parvw = 'WE'.

itab_vbak-kunag = vbpa-kunnr.

if sy-subrc ne 0 and p_alv ne 'X'.

write 😕 'vbpadetls' , itab_vbak-vbeln, itab_vbak-posnr, itab_vbak-vbeln.

endif.

endif.

endif.

endif.

itab_vbak-ord_qty = itab_vbak-kwmeng.

  • Delivered Qty & Pending qty

dlv_qty = dlv_qty + itab_vbak-dlvd_qty.

itab_vbak-pend_qty = itab_vbak-kwmeng - dlv_qty.

modify itab_vbak transporting kunag ship city dlvd_qty ord_qty pend_qty .

endat.

endloop.

end-of-selection.

sort itab_vbak by vbeln posnr audat kunnr matnr.

if p_alv ne 'X'.

loop at itab_vbak.

select single kna1name1 kna1ort01

into

(kna1-name1, kna1-ort01)

from kna1

where kunnr = itab_vbak-kunnr.

pend_qty = itab_vbak-ord_qty - itab_vbak-dlvd_qty.

format color col_normal.

write : /01(10) itab_vbak-vbeln,

12(10) itab_vbak-audat,

24(8) itab_vbak-kunag no-zero,

34(6) itab_vbak-posnr no-zero,

42(10) itab_vbak-matnr no-zero,

54(15) itab_vbak-arktx,

72(25) itab_vbak-ship,

100(15) itab_vbak-city,

118(8) itab_vbak-ord_qty,

128(10) itab_vbak-route,

140(10) itab_vbak-dlv_dt,

152(10) itab_vbak-dlvd_qty,

164(10) itab_vbak-chln_no,

176(10) itab_vbak-grn_no,

188(10) itab_vbak-truck_no,

200(10) itab_vbak-pend_qty,

218(15) itab_vbak-kzwi5 left-justified.

format reset.

at end of audat.

sum.

pend_qty = itab_vbak-ord_qty - itab_vbak-dlvd_qty.

format color col_background.

write: /118(8) itab_vbak-ord_qty,

152(10) itab_vbak-dlvd_qty,

200(10) pend_qty,

218 itab_vbak-kzwi5 left-justified.

format reset.

endat.

at last.

sum.

pend_qty = itab_vbak-ord_qty - itab_vbak-dlvd_qty.

format color col_total.

write : /5 'Grand Total : '.

write: /118(8) itab_vbak-ord_qty,

152(10) itab_vbak-dlvd_qty,

200(10) pend_qty,

218 itab_vbak-kzwi5 left-justified.

format reset.

endat.

endloop.

else.

  • for ALV Display

i_repname = sy-repid.

perform fieldcat using i_fieldtab[].

perform eventtab using i_events[].

perform comment using i_heading[].

perform call_alv.

perform build_layout using i_layout.

endif.

top-of-page.

if p_alv ne 'X'.

format color col_heading.

write: /01 'Ord No',

12 'Ord Date',

24 'Sold to Party',

34 'Item No',

42 'Mat No',

54 'Mat Descp',

72 'Ship to Party',

100 'City',

118 'Qty',

128 'Route',

140 'Dlv Date',

152 'Dlv Qty',

164 'Challan No',

176 'GRN No',

188 'Truck No',

200 'Pend Qty',

218 'Total Value'.

format reset.

endif.

&----


*& Form fieldcat

&----


  • text

----


  • -->P_I_FIELDTAB[] text

----


form fieldcat using p_fieldtab type slis_t_fieldcat_alv.

data: l_fieldcat type slis_fieldcat_alv.

clear l_fieldcat.

l_fieldcat-tabname = 'ITAB_VBAK'.

l_fieldcat-fix_column = 'X'.

l_fieldcat-no_out = ' '.

l_fieldcat-fieldname = 'VKBUR'.

l_fieldcat-outputlen = 6.

l_fieldcat-seltext_l = 'Sales Office'.

l_fieldcat-no_zero = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'VSTEL'.

l_fieldcat-outputlen = 5.

l_fieldcat-seltext_l = 'Shipping Point'.

l_fieldcat-no_zero = ' '.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'VBELN'.

l_fieldcat-outputlen = 10.

l_fieldcat-seltext_l = 'Order No.'.

l_fieldcat-no_zero = 'X'.

l_fieldcat-hotspot = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'AUDAT'.

l_fieldcat-outputlen = 10.

l_fieldcat-seltext_l = 'Doc Date'.

l_fieldcat-hotspot = ''.

l_fieldcat-no_zero = ' '.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'POSNR'.

l_fieldcat-outputlen = 5.

l_fieldcat-seltext_l = 'Item'.

l_fieldcat-no_zero = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'MATNR'.

l_fieldcat-outputlen = 10.

l_fieldcat-seltext_l = 'Material No'.

l_fieldcat-no_zero = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'ARKTX'.

l_fieldcat-outputlen = 15.

l_fieldcat-seltext_l = 'Mat. Description'.

l_fieldcat-no_zero = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'KUNNR'.

l_fieldcat-outputlen = 8.

l_fieldcat-seltext_l = 'Sold to Party'.

l_fieldcat-no_zero = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'CUST'.

l_fieldcat-outputlen = 15.

l_fieldcat-seltext_l = 'Sold to Party Descp.'.

l_fieldcat-no_zero = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'KUNAG'.

l_fieldcat-outputlen = 8.

l_fieldcat-seltext_l = 'Ship to Party'.

l_fieldcat-no_zero = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'SHIP'.

l_fieldcat-outputlen = 15.

l_fieldcat-seltext_l = 'Ship to Party Descp'.

l_fieldcat-no_zero = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'CITY'.

l_fieldcat-outputlen = 13.

l_fieldcat-seltext_l = 'City'.

l_fieldcat-no_zero = ' '.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'DELIV'.

l_fieldcat-outputlen = 10.

l_fieldcat-seltext_l = 'Delivery No.'.

l_fieldcat-no_zero = 'X'.

l_fieldcat-hotspot = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'ORD_QTY'.

l_fieldcat-outputlen = 10.

l_fieldcat-seltext_l = 'Qty'.

l_fieldcat-no_zero = ' '.

l_fieldcat-hotspot = ' '.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'ROUTE'.

l_fieldcat-outputlen = 10.

l_fieldcat-seltext_l = 'Route'.

l_fieldcat-no_zero = 'X'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'DLV_DT'.

l_fieldcat-outputlen = 10.

l_fieldcat-seltext_l = 'Delivered date'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'DLVD_QTY'.

l_fieldcat-outputlen = 10.

l_fieldcat-seltext_l = 'Delivered Qty'.

l_fieldcat-no_zero = ' '.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'CHLN_NO'.

l_fieldcat-outputlen = 15.

l_fieldcat-seltext_l = 'Challan No'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'GRN_NO'.

l_fieldcat-outputlen = 15.

l_fieldcat-seltext_l = 'GR Number'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'TRUCK_NO'.

l_fieldcat-outputlen = 10.

l_fieldcat-seltext_l = 'Truck No'.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'PEND_QTY'.

l_fieldcat-outputlen = 10.

l_fieldcat-seltext_l = 'Pending Qty'.

l_fieldcat-no_zero = ' '.

append l_fieldcat to p_fieldtab.

l_fieldcat-fieldname = 'KZWI5'.

l_fieldcat-outputlen = 13.

l_fieldcat-seltext_l = 'Value'.

append l_fieldcat to p_fieldtab.

clear l_fieldcat.

endform. " FIELDCAT

&----


*& Form EVENTTAB

&----


  • text

----


  • -->P_I_EVENTS[] text

----


form eventtab using p_events type slis_t_event.

data: ls_event type slis_alv_event.

call function 'REUSE_ALV_EVENTS_GET'

exporting

i_list_type = 0

importing

et_events = p_events.

read table p_events with key name = slis_ev_top_of_page

into ls_event.

if sy-subrc = 0.

move formname_top_of_page to ls_event-form.

append ls_event to p_events.

endif.

endform. " EVENTTAB

&----


*& Form BUILD_LAYOUT

&----


  • text

----


  • -->P_LAYOUT text

----


form build_layout using p_layout type slis_layout_alv.

p_layout-f2code = f2code.

p_layout-zebra = 'X'.

p_layout-detail_popup = 'X'.

endform. " BUILD_LAYOUT

&----


*& Form COMMENT

&----


  • text

----


  • -->P_I_HEADING[] text

----


form comment using p_i_heading type slis_t_listheader.

data: hline type slis_listheader,

text(60) type c,

sep(20) type c.

clear: hline, text.

hline-typ = 'H'.

write : 'Pending Sale Order Details' to hline-info.

append hline to i_heading.

endform. " COMMENT

&----


*& Form TOP_OF_PAGE

&----


  • text

----


form top_of_page.

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

it_list_commentary = i_heading

i_logo = 'ALV_REPORT'.

endform. " TOP_OF_PAGE

&----


*& Form call_alv

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form call_alv .

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_interface_check = ' '

i_buffer_active = ' '

i_callback_program = i_repname

i_callback_pf_status_set = ' '

i_callback_user_command = 'FRM_ALV_USER_COMMAND'

i_structure_name = 'ITAB_VBAK'

i_background_id = ' '

is_layout = i_layout

it_fieldcat = i_fieldtab

it_sort = i_sort[]

i_default = 'X'

i_save = 'A'

is_variant = i_variant

it_events = i_events[]

is_print = i_print

tables

t_outtab = itab_vbak.

if sy-subrc <> 0.

write: 'SY-SUBRC: ', sy-subrc, 'REUSE_ALV_LIST_DISPLAY'.

endif.

endform. " call_alv

&----


*& Form frm_alv_user_command

&----


  • text

----


  • -->UCOMM text

  • -->SELFIELD text

----


form frm_alv_user_command using ucomm like sy-ucomm

selfield type slis_selfield.

case ucomm.

when '&IC1'.

if selfield-tabname = 'ITAB_VBAK'.

if selfield-fieldname = 'VBELN'.

read table itab_vbak index selfield-tabindex.

if sy-subrc = 0.

set parameter id 'AUN' field itab_vbak-vbeln.

call transaction 'VA03' and skip first screen.

endif.

elseif selfield-fieldname = 'DELIV'.

read table itab_vbak index selfield-tabindex.

if sy-subrc = 0.

set parameter id 'VL' field itab_vbak-deliv.

call transaction 'VL03N' and skip first screen.

endif.

endif.

endif.

endcase.

endform. "frm_alv_user_command

Former Member
0 Kudos

Hi,

for open sales orders for customer goto VA05.

and select open orders then u will get the result.

for open deleveries goto VL06O

then enter in <b>partner data</b> enter sold to party and in <b>status</b> data enter billing status as A the u will get open deliveries value.

if it helps pls make reward points.

thanks&regards

veera.

Former Member
0 Kudos

Hi Antonio,

Using VA05, you can get open order value per cutomer.

Reward points pls.

Regards,

Govind.

Former Member
0 Kudos

hi

try with tcode VC/2 and enter the customer number

regards

Former Member
0 Kudos

i need a list of record of this type

CUSTOMER OPENBILLING TOTAL BILLING