Anda di halaman 1dari 4

Invoice form changes

GV_RE_LAND1
unit price -> gross price change PR00 KWERT
Discout % -> ZUNP - KWERT
total net -> gross - discount will give net
VAT numbder KNA1- STCEG
VAT% - Output Tax MWST

DATA: lt_konv TYPE STANDARD TABLE OF konv,


ls_konv TYPE konv,
lt_eipo TYPE STANDARD TABLE OF ty_eipo,
ls_eipo TYPE ty_eipo,
lv_exnum TYPE exnum,
ls_it_price TYPE lbbil_it_price,
lv_kbetr TYPE oiurep_numc7dec3.
CLEAR: gv_tot_inv_qty,
gv_tot_weight,
gv_sub_total_value,
gv_freight_value,
gv_vat_row_value,
gv_inv_total_value,
gv_others_chr_value,
gv_currency_value.
BREAK nkumar.
SELECT *
FROM konv
INTO TABLE lt_konv
FOR ALL ENTRIES IN is_bil_invoice-it_gen
WHERE knumv = is_bil_invoice-hd_gen-kond_numb
AND kposn = is_bil_invoice-it_gen-itm_number.
IF sy-subrc = 0.
SORT lt_konv.
ENDIF.
SELECT SINGLE exnum
FROM eikp
INTO lv_exnum
WHERE refnr = is_bil_invoice-hd_gen-bil_number.
IF sy-subrc = 0.
SELECT exnum
expos
stawn
FROM eipo
INTO TABLE lt_eipo
WHERE exnum = lv_exnum.
IF sy-subrc = 0.
SORT lt_eipo.
ENDIF.
ENDIF.
gv_currency_value = is_bil_invoice-hd_gen-bil_waerk.
LOOP AT is_bil_invoice-it_gen[] INTO gs_it_gen.
gs_item_table-posnr = gs_it_gen-itm_number.
gs_item_table-matnr = gs_it_gen-material.
gs_item_table-arktx = gs_it_gen-short_text.
gs_item_table-ean11 = gs_it_gen-ean_upc.
gs_item_table-fkimg = gs_it_gen-fkimg.
gs_item_table-ntgew = gs_it_gen-net_weight.
CALL METHOD /undarm/cl_utility_methods=>get_article_conversion_single
EXPORTING
iv_matnr = gs_it_gen-material
IMPORTING
ev_art_size = gs_item_table-msize
EXCEPTIONS
no_records_found = 1
missing_input_values = 2
characteristic_val_not_found = 3
size_or_var_conv_type_is_mandt = 4
gen_art_size_conv_type_mandt = 5
OTHERS = 6.
IF sy-subrc <> 0.
CLEAR gs_item_table-msize.
ENDIF.
READ TABLE lt_eipo INTO ls_eipo
WITH KEY exnum = lv_exnum
expos = gs_it_gen-itm_number.
IF sy-subrc = 0.
gs_item_table-stawn = ls_eipo-stawn.
ENDIF.
READ TABLE lt_konv INTO ls_konv
WITH KEY knumv = is_bil_invoice-hd_gen-kond_numb
kposn = gs_it_gen-itm_number
kschl = 'PR00'.
IF sy-subrc = 0.
gs_item_table-upric = ls_konv-kbetr.
ENDIF.
LOOP AT lt_konv INTO ls_konv
WHERE knumv = is_bil_invoice-hd_gen-kond_numb
AND kposn = gs_it_gen-itm_number
AND ( kschl = 'ZSMP' OR
kschl = 'ZPGP' OR
kschl = 'ZINP' OR
kschl = 'ZISP' OR
kschl = 'ZCBK' OR
kschl = 'ZAMZ' OR
kschl = 'ZRES' OR
kschl = 'ZADC' OR
kschl = 'ZLQP' ).
IF ls_konv-krech = 'A'.
IF ls_konv-kbetr IS NOT INITIAL.
lv_kbetr = ls_konv-kbetr / 1000.
gs_item_table-disct = gs_item_table-disct + ( ls_konv-kawrt * lv_kbetr )
.
ENDIF.
ELSEIF ls_konv-krech = 'C'.
gs_item_table-disct = gs_item_table-disct + ls_konv-kbetr.
ENDIF.
ENDLOOP.
IF gs_item_table-disct < 0.
gs_item_table-disct = gs_item_table-disct * -1.
ENDIF.
gs_item_table-nupri = gs_item_table-upric - gs_item_table-disct.
READ TABLE lt_konv INTO ls_konv
WITH KEY knumv = is_bil_invoice-hd_gen-kond_numb
kposn = gs_it_gen-itm_number
kschl = 'MWST'.
IF sy-subrc = 0.
IF ls_konv-krech = 'A'.
IF ls_konv-kbetr IS NOT INITIAL.
lv_kbetr = ls_konv-kbetr / 1000.
gs_item_table-vatpr = gs_item_table-vatpr + ( ls_konv-kawrt * lv_kbetr )
.
ENDIF.
ELSEIF ls_konv-krech = 'C'.
gs_item_table-vatpr = gs_item_table-vatpr + ls_konv-kbetr.
ENDIF.
ENDIF.
gs_item_table-tonet = gs_item_table-fkimg * gs_item_table-nupri.
gv_tot_inv_qty = gv_tot_inv_qty + gs_item_table-fkimg.
gv_tot_weight = gv_tot_weight + gs_item_table-ntgew.
gv_sub_total_value = gv_sub_total_value + gs_item_table-tonet.
APPEND gs_item_table TO gt_item_table.
CLEAR gs_item_table.
LOOP AT lt_konv INTO ls_konv
WHERE knumv = is_bil_invoice-hd_gen-kond_numb
AND kposn = gs_it_gen-itm_number
AND ( kschl = 'ZFRP' OR
kschl = 'ZFRD' OR
kschl = 'ZFPP' ).
IF ls_konv-krech = 'A'.
IF ls_konv-kbetr IS NOT INITIAL.
lv_kbetr = ls_konv-kbetr / 1000.
gv_freight_value = gv_freight_value + ( ls_konv-kawrt * lv_kbetr ).
ENDIF.
ELSEIF ls_konv-krech = 'C'.
gv_freight_value = gv_freight_value + ls_konv-kbetr.
ENDIF.
ENDLOOP.
READ TABLE is_bil_invoice-it_price[] INTO ls_it_price
WITH KEY bil_number = is_bil_invoice-hd_gen-bil_number
itm_number = gs_it_gen-itm_number.
IF sy-subrc = 0.
gv_vat_row_value = gv_vat_row_value + ls_it_price-mwsbp.
gv_inv_total_value = gv_inv_total_value +
gv_vat_row_value +
ls_it_price-netwr.
ENDIF.
ENDLOOP.
gv_others_chr_value = gv_inv_total_value -
gv_vat_row_value -
gv_freight_value -
gv_sub_total_value.

Anda mungkin juga menyukai