Vendor's material
Hi experts,
I am creating vendor's stock report. I am facing problem i am not getting all material for perticular vendor in MSEG but when i am checking standard report ME2O or MB5B it showing the material at vendor. so how can i get all material for perticular vendor. any FM or somthing else plz giv me solution.
SELECT * FROM MKPF
INTO TABLE IT_MKPF
WHERE BUDAT IN PODATE.
IF NOT IT_MKPF[] IS INITIAL.
SELECT * FROM MSEG
INTO TABLE IT_MSEG
FOR ALL ENTRIES IN IT_MKPF
WHERE MBLNR = IT_MKPF-MBLNR AND
MJAHR = IT_MKPF-MJAHR AND
WERKS = PLANT AND
LIFNR = VENDOR AND
( BWART = '541' AND SHKZG = 'S' OR
BWART = '542' AND SHKZG = 'H' OR
BWART = '543' AND SHKZG = 'H' OR
BWART = '544' AND SHKZG = 'S' OR
BWART = '548' AND SHKZG = 'H' OR
BWART = '549' AND SHKZG = 'S' ) .
ENDIF. plz giv me solution.
Thanks,
Vishal.
*& Report Z_MM_STCK_FG_T
report z_mm_stck_fg_t.
TABLES:mara,marc,mkpf,mseg,komp,vbrp.
TYPE-POOLS:slis.
TYPES :BEGIN OF ty_mb5b,
matnr TYPE matnr,
budat TYPE budat,
mb_open TYPE p DECIMALS 3,
END OF ty_mb5b.
DATA:wa_mb5b TYPE ty_mb5b.
DATA:it_mb5b TYPE STANDARD TABLE OF ty_mb5b INITIAL SIZE 0.
TYPES:BEGIN OF ty_fgl,
mblnr TYPE mblnr,
vgart TYPE vgart,
blart TYPE blart,
bldat TYPE bldat,
budat TYPE budat,
aedat TYPE aedat,
xblnr TYPE xblnr1,
bktxt TYPE bktxt,
zeile TYPE mblpo,
bwart TYPE bwart,
xauto TYPE mb_xauto,
matnr TYPE matnr,
werks TYPE werks_d,
lgort TYPE lgort_d,
charg TYPE charg_d,
insmk TYPE mb_insmk,
zusch TYPE dzusch,
zustd TYPE dzustd,
sobkz TYPE sobkz,
lifnr TYPE elifn,
kunnr TYPE ekunn,
kdauf TYPE kdauf,
kdpos TYPE kdpos,
kdein TYPE kdein,
plpla TYPE plpla,
shkzg TYPE shkzg,
waers TYPE waers,
dmbtr TYPE dmbtr,
bnbtr TYPE bnbtr,
bualt TYPE bualt,
shkum TYPE shkum,
dmbum TYPE dmbum,
bwtar TYPE bwtar_d,
menge TYPE menge_d,
meins TYPE meins,
erfmg TYPE erfmg,
erfme TYPE erfme,
bpmng TYPE bpmng,
bprme TYPE bbprm,
ebeln TYPE bstnr,
ebelp TYPE ebelp,
lfbja TYPE lfbja,
lfbnr TYPE lfbnr,
lfpos TYPE lfpos,
sjahr TYPE mjahr,
smbln TYPE mblnr,
smblp TYPE mblpo,
elikz TYPE elikz,
sgtxt TYPE sgtxt,
equnr TYPE equnr,
wempf TYPE wempf,
ablad TYPE ablad,
gsber TYPE gsber,
kzbew TYPE kzbew,
tcode2 TYPE tcode,
umwrk TYPE umwrk,
umcha TYPE umcha,
END OF ty_fgl.
TYPES:BEGIN OF ty_fgl1,
mblnr TYPE mblnr,
vgart TYPE vgart,
blart TYPE blart,
bldat TYPE bldat,
budat TYPE budat,
aedat TYPE aedat,
xblnr TYPE xblnr1,
bktxt TYPE bktxt,
zeile TYPE mblpo,
bwart TYPE bwart,
xauto TYPE mb_xauto,
matnr TYPE matnr,
werks TYPE werks_d,
lgort TYPE lgort_d,
charg TYPE charg_d,
insmk TYPE mb_insmk,
zusch TYPE dzusch,
zustd TYPE dzustd,
sobkz TYPE sobkz,
lifnr TYPE elifn,
kunnr TYPE ekunn,
kdauf TYPE kdauf,
kdpos TYPE kdpos,
kdein TYPE kdein,
plpla TYPE plpla,
shkzg TYPE shkzg,
waers TYPE waers,
dmbtr TYPE dmbtr,
bnbtr TYPE bnbtr,
bualt TYPE bualt,
shkum TYPE shkum,
dmbum TYPE dmbum,
bwtar TYPE bwtar_d,
menge TYPE menge_d,
meins TYPE meins,
erfmg TYPE erfmg,
erfme TYPE erfme,
bpmng TYPE bpmng,
bprme TYPE bbprm,
ebeln TYPE bstnr,
ebelp TYPE ebelp,
lfbja TYPE lfbja,
lfbnr TYPE lfbnr,
lfpos TYPE lfpos,
sjahr TYPE mjahr,
smbln TYPE mblnr,
smblp TYPE mblpo,
elikz TYPE elikz,
sgtxt TYPE sgtxt,
equnr TYPE equnr,
wempf TYPE wempf,
ablad TYPE ablad,
gsber TYPE gsber,
kzbew TYPE kzbew,
tcode2 TYPE tcode,
umwrk TYPE umwrk,
END OF ty_fgl1.
TYPES:BEGIN OF ty_bsim,
belnr TYPE belnr_d,
matnr TYPE matnr,
bwkey TYPE bwkey,
shkzg TYPE shkzg,
budat TYPE budat,
dmbtr TYPE dmbtr,
END OF ty_bsim.
TYPES:BEGIN OF ty_shkzg,
mblnr TYPE mblnr,
matnr TYPE matnr,
budat TYPE budat,
shkzg TYPE shkzg,
s_menge TYPE menge_d,
h_menge TYPE menge_d,
s_dmbtr TYPE dmbtr,
h_dmbtr TYPE dmbtr,
lifnr TYPE elifn,
kunnr TYPE ekunn,
xblnr TYPE xblnr1,
charg TYPE charg_d,
END OF ty_shkzg.
TYPES:BEGIN OF ty_shkzg1,
mblnr TYPE mblnr,
matnr TYPE matnr,
budat TYPE budat,
shkzg TYPE shkzg,
s_menge TYPE menge_d,
h_menge TYPE menge_d,
s_dmbtr TYPE dmbtr,
h_dmbtr TYPE dmbtr,
lifnr TYPE elifn,
kunnr TYPE ekunn,
xblnr TYPE xblnr1,
charg TYPE charg_d,
bwart TYPE bwart,
ebeln TYPE ebeln,
ebelp TYPE ebelp,
lgort TYPE lgort_d,
umwrk TYPE umwrk,
END OF ty_shkzg1.
TYPES:BEGIN OF ty_makt,
matnr TYPE matnr,
maktx TYPE maktx,
END OF ty_makt.
TYPES:BEGIN OF ty_c_shkzg,
mblnr TYPE mblnr,
matnr TYPE matnr,
budat TYPE budat,
shkzg TYPE shkzg,
s_menge TYPE menge_d,
h_menge TYPE menge_d,
s_dmbtr TYPE dmbtr,
h_dmbtr TYPE dmbtr,
lifnr TYPE elifn,
kunnr TYPE ekunn,
xblnr TYPE xblnr1,
charg TYPE charg_d,
END OF ty_c_shkzg.
TYPES:BEGIN OF ty_final,
mblnr TYPE mblnr,
matnr TYPE matnr,
budat TYPE budat,
shkzg TYPE shkzg,
s_menge TYPE menge_d,
h_menge TYPE menge_d,
s_dmbtr TYPE dmbtr,
h_dmbtr TYPE dmbtr,
lifnr TYPE elifn,
kunnr TYPE ekunn,
xblnr TYPE xblnr1,
charg TYPE charg_d,
balance TYPE menge_d,
balancev TYPE menge_d,
open TYPE menge_d,
openv TYPE menge_d,
mb_open TYPE p DECIMALS 3,
hsdat TYPE hsdat,
END OF ty_final.
TYPES:BEGIN OF ty_f_shkzg,
mblnr TYPE mblnr, "Material Document
matnr TYPE matnr, "Material Number
budat TYPE budat, "Posting Date
kbetr TYPE kbetr, "MRP Rate
lifnr TYPE elifn, "Vendor Number
kunnr TYPE ekunn, "Customer Number
xblnr TYPE xblnr1, "Reference Document Number
open TYPE menge_d, "Opening Stock
s_menge TYPE menge_d, "Reciept Stock
h_menge TYPE menge_d, "Issue Stock
balance TYPE menge_d, "Closing Stock
charg TYPE charg_d, "Batch Number
hsdat TYPE hsdat, "Manufaturing Period
bwart TYPE bwart, "Movement type
ebeln TYPE ebeln, "Purchase order No
ebelp TYPE ebelp, "Purchase order Line item
lgort TYPE lgort_d, "Storage Location
s_dmbtr TYPE dmbtr,
h_dmbtr TYPE dmbtr,
balancev TYPE dmbtr,
openv TYPE dmbtr,
umwrk TYPE umwrk,
vbeln type VBELN_VF,
END OF ty_f_shkzg.
*TYPES:BEGIN OF ty_f_shkzg,
mblnr TYPE mblnr, "Material Document
matnr TYPE matnr, "Material Number
budat TYPE budat, "Posting Date
kbetr TYPE kbetr, "MRP Rate
lifnr TYPE elifn, "Vendor Number
kunnr TYPE ekunn, "Customer Number
xblnr TYPE xblnr1, "Reference Document Number
open TYPE p DECIMALS 2, "Opening Stock
s_menge TYPE p DECIMALS 2, "Reciept Stock
h_menge TYPE p DECIMALS 2, "Issue Stock
balance TYPE p DECIMALS 2, "Closing Stock
charg TYPE charg_d, "Batch Number
hsdat TYPE hsdat, "Manufaturing Period
bwart TYPE bwart, "Movement type
ebeln TYPE ebeln, "Purchase order No
ebelp TYPE ebelp, "Purchase order Line item
lgort TYPE lgort_d, "Storage Location
s_dmbtr TYPE dmbtr,
h_dmbtr TYPE dmbtr,
balancev TYPE dmbtr,
openv TYPE dmbtr,
umwrk TYPE umwrk,
END OF ty_f_shkzg.
TYPES:BEGIN OF ty_f_shkzg_l,
mblnr TYPE mblnr, "Material Document
matnr TYPE matnr, "Material Number
budat TYPE budat, "Posting Date
kbetr TYPE kbetr, "MRP Rate
lifnr TYPE elifn, "Vendor Number
kunnr TYPE ekunn, "Customer Number
xblnr TYPE xblnr1, "Reference Document Number
open TYPE menge_d, "Opening Stock
s_menge TYPE menge_d, "Reciept Stock
h_menge TYPE menge_d, "Issue Stock
balance TYPE menge_d, "Closing Stock
charg TYPE charg_d, "Batch Number
hsdat TYPE hsdat, "Manufaturing Period
bwart TYPE bwart, "Movement type
ebeln TYPE ebeln, "Purchase order No
ebelp TYPE ebelp, "Purchase order Line item
lgort TYPE lgort_d, "Storage Location
s_dmbtr TYPE dmbtr,
h_dmbtr TYPE dmbtr,
balancev TYPE dmbtr,
openv TYPE dmbtr,
reswk TYPE reswk,
werks TYPE werks_d, "Plant
k_name1(40) TYPE c, "Customer Name
l_name1(40) TYPE c, "Vendor Name
p_name1(40) TYPE c, "Plant Name
m_name1( 90) TYPE c, "Material Description
s_name1(40) TYPE c,
vbeln type VBELN_VF,
END OF ty_f_shkzg_l.
*TYPES:BEGIN OF ty_f_shkzg_l,
mblnr TYPE mblnr, "Material Document
matnr TYPE matnr, "Material Number
budat TYPE budat, "Posting Date
kbetr TYPE kbetr, "MRP Rate
lifnr TYPE elifn, "Vendor Number
kunnr TYPE ekunn, "Customer Number
xblnr TYPE xblnr1, "Reference Document Number
open TYPE p DECIMALS 2, "Opening Stock
s_menge TYPE p DECIMALS 2, "Reciept Stock
h_menge TYPE p DECIMALS 2, "Issue Stock
balance TYPE p DECIMALS 2, "Closing Stock
charg TYPE charg_d, "Batch Number
hsdat TYPE hsdat, "Manufaturing Period
bwart TYPE bwart, "Movement type
ebeln TYPE ebeln, "Purchase order No
ebelp TYPE ebelp, "Purchase order Line item
lgort TYPE lgort_d, "Storage Location
s_dmbtr TYPE dmbtr,
h_dmbtr TYPE dmbtr,
balancev TYPE dmbtr,
openv TYPE dmbtr,
reswk TYPE reswk,
werks TYPE werks_d, "Plant
k_name1(40) TYPE c, "Customer Name
l_name1(40) TYPE c, "Vendor Name
p_name1(40) TYPE c, "Plant Name
m_name1(90) TYPE c, "Material Description
s_name1(40) TYPE c,
END OF ty_f_shkzg_l.
TYPES:BEGIN OF ty_kna1,
kunnr TYPE kunnr,
name1 TYPE ad_name1,
city1 TYPE ad_city1,
END OF ty_kna1.
TYPES:BEGIN OF ty_lfa1,
lifnr TYPE lifnr,
name1 TYPE ad_name1,
city1 TYPE ad_city1,
END OF ty_lfa1.
TYPES:BEGIN OF ty_werks,
werks TYPE werks_d,
name1 TYPE ad_name1,
city1 TYPE ad_city1,
END OF ty_werks.
TYPES:BEGIN OF ty_reswk,
werks TYPE werks_d,
name1 TYPE ad_name1,
city1 TYPE ad_city1,
END OF ty_reswk.
TYPES:BEGIN OF ty_a974,
kschl TYPE kscha,
matnr TYPE matnr,
charg TYPE charg_d,
datbi TYPE kodatbi,
datab TYPE kodatab,
knumh TYPE knumh,
kbetr TYPE kbetr,
END OF ty_a974.
TYPES:BEGIN OF ty_a926,
kappl TYPE kappl,
kschl TYPE kscha,
matnr TYPE matnr,
datbi TYPE kodatbi,
datab TYPE kodatab,
knumh TYPE knumh,
kbetr TYPE kbetr,
END OF ty_a926.
TYPES: BEGIN OF ty_konv,
matnr TYPE matnr,
knumh TYPE knumh,
kbetr TYPE kbetr,
END OF ty_konv.
TYPES:BEGIN OF ty_mch1,
matnr TYPE matnr,
charg TYPE charg_d,
hsdat TYPE hsdat,
END OF ty_mch1.
TYPES:BEGIN OF ty_ekko,
ebeln TYPE ebeln,
ebelp TYPE ebelp,
werks TYPE werks_d,
reswk TYPE reswk,
END OF ty_ekko.
TYPES:BEGIN OF ty_bkpf,
bukrs TYPE bukrs,
belnr TYPE belnr_d,
gjahr TYPE gjahr,
budat TYPE budat,
xblnr TYPE xblnr1,
bktxt TYPE bktxt,
tcode TYPE tcode,
matnr TYPE matnr,
dmbtr TYPE dmbtr,
END OF ty_bkpf.
TYPES:BEGIN OF ty_bseg,
bukrs TYPE bukrs,
belnr TYPE belnr_d,
gjahr TYPE gjahr,
budat TYPE budat,
matnr TYPE matnr,
werks TYPE werks,
dmbtr TYPE dmbtr,
END OF ty_bseg.
TYPES : begin of ty_vbrp,
vbeln type VBELN_VF,
vgbel( 16) type c ,
matnr type matnr,
end of ty_vbrp.
DATA: wa_shkzg TYPE ty_shkzg,
wa_shkzg1 TYPE ty_shkzg1,
wa_c_shkzg TYPE ty_c_shkzg,
wa_final TYPE ty_final,
wa_f_shkzg TYPE ty_f_shkzg,
wa_f_shkzg_l TYPE ty_f_shkzg_l,
wa_fgl TYPE ty_fgl,
wa_fglc TYPE ty_fgl,
wa_fgl1 TYPE ty_fgl1,
wa_a974 TYPE ty_a974,
wa_a926 TYPE ty_a926,
wa_konv TYPE ty_konv,
wa_mch1 TYPE ty_mch1,
wa_kna1 TYPE ty_kna1,
wa_lfa1 TYPE ty_lfa1,
wa_werks TYPE ty_werks,
wa_reswk TYPE ty_reswk,
wa_makt TYPE ty_makt,
wa_bkpf TYPE ty_bkpf,
wa_bseg TYPE ty_bseg,
wa_bsim TYPE ty_bsim,
wa_ekko TYPE ty_ekko,
wa_vbrp type ty_vbrp.
DATA: it_fgl TYPE STANDARD TABLE OF ty_fgl INITIAL SIZE 0,
it_fglc TYPE STANDARD TABLE OF ty_fgl INITIAL SIZE 0,
it_fgl1 TYPE STANDARD TABLE OF ty_fgl1 INITIAL SIZE 0,
it_shkzg TYPE STANDARD TABLE OF ty_shkzg INITIAL SIZE 0,
it_shkzg1 TYPE STANDARD TABLE OF ty_shkzg1 INITIAL SIZE 0,
it_c_shkzg TYPE STANDARD TABLE OF ty_c_shkzg INITIAL SIZE 0,
it_final TYPE STANDARD TABLE OF ty_final INITIAL SIZE 0,
it_f_shkzg TYPE STANDARD TABLE OF ty_f_shkzg INITIAL SIZE 0,
it_f_shkzg_l TYPE STANDARD TABLE OF ty_f_shkzg_l INITIAL SIZE 0,
it_a974 TYPE STANDARD TABLE OF ty_a974 INITIAL SIZE 0,
it_a926 TYPE STANDARD TABLE OF ty_a926 INITIAL SIZE 0,
it_konv TYPE STANDARD TABLE OF ty_konv INITIAL SIZE 0,
it_mch1 TYPE STANDARD TABLE OF ty_mch1 INITIAL SIZE 0,
it_kna1 TYPE STANDARD TABLE OF ty_kna1 INITIAL SIZE 0,
it_lfa1 TYPE STANDARD TABLE OF ty_lfa1 INITIAL SIZE 0,
it_werks TYPE STANDARD TABLE OF ty_werks INITIAL SIZE 0,
it_reswk TYPE STANDARD TABLE OF ty_reswk INITIAL SIZE 0,
it_makt TYPE STANDARD TABLE OF ty_makt INITIAL SIZE 0,
it_bkpf TYPE STANDARD TABLE OF ty_bkpf INITIAL SIZE 0,
it_bseg TYPE STANDARD TABLE OF ty_bseg INITIAL SIZE 0,
it_ekko TYPE STANDARD TABLE OF ty_ekko INITIAL SIZE 0,
it_bsim TYPE STANDARD TABLE OF ty_bsim INITIAL SIZE 0,
it_vbrp TYPE STANDARD TABLE OF ty_vbrp INITIAL SIZE 0.
*DATA: BEGIN OF bestand OCCURS 100,
bwkey LIKE mbew-bwkey,
werks LIKE mseg-werks,
matnr LIKE mseg-matnr,
charg LIKE mseg-charg,
endmenge(09) TYPE p DECIMALS 3,
anfmenge(09) TYPE p DECIMALS 3,
meins LIKE mara-meins,
endwert(09) TYPE p DECIMALS 2,
anfwert(09) TYPE p DECIMALS 2,
soll(09) TYPE p DECIMALS 3,
haben(09) TYPE p DECIMALS 3,
sollwert(09) TYPE p DECIMALS 2,
habenwert(09) TYPE p DECIMALS 2,
waers LIKE t001-waers,
END OF bestand.
DATA:temp1 TYPE menge_d,
temp2 TYPE dmbtr,
c TYPE i,
count TYPE i,
temp TYPE menge_d,
tempv TYPE dmbtr,
tgjahr TYPE gjahr.
*For ALV
DATA: gt_fld TYPE slis_t_fieldcat_alv,
gt_ev TYPE slis_t_event,
gt_hdr TYPE slis_t_listheader,
gt_sort TYPE slis_t_sortinfo_alv.
DATA: wa_fld TYPE slis_fieldcat_alv,
wa_ev TYPE slis_alv_event,
wa_hdr TYPE slis_listheader,
wa_sort TYPE slis_sortinfo_alv,
wa_layout TYPE slis_layout_alv.
DATA: mtrl LIKE sy-repid,
title LIKE sy-title,
l_matnr LIKE mara-matnr.
DEFINE fld.
wa_fld-fieldname = & 1.
wa_fld-tabname = &2.
wa_fld-outputlen = &3.
wa_fld-seltext_l = &4.
wa_fld-seltext_m = & 5.
wa_fld-seltext_s = &6.
wa_fld-col_pos = &7.
wa_fld-fix_column = &8.
wa_fld-do_sum = & 9.
append wa_fld to gt_fld.
clear wa_fld.
END-OF- DEFINITION.
DATA:strtdte TYPE sy-datum.
DATA:strt1dte LIKE mkpf-budat.
RANGES : l_ra_datum FOR mkpf-budat.
CONSTANTS: c_top TYPE slis_formname VALUE 'TOP_OF_PAGE' ,
c_user_command TYPE slis_formname VALUE 'USER_COMMAND'.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS:matnr FOR mara-matnr." OBLIGATORY.
PARAMETERS :werks LIKE marc-werks OBLIGATORY.
*PARAMETERS:lgort LIKE mseg-lgort.
SELECT-OPTIONS:datum FOR mkpf-budat. " DEFAULT '20060831'.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON matnr.
IF matnr-low IS INITIAL.
MESSAGE 'Please Enter the Material Number' TYPE 'E'.
SET CURSOR FIELD matnr-low.
ENDIF.
SELECT matnr
INTO (l_matnr)
FROM mara
FOR ALL ENTRIES IN matnr
WHERE matnr = matnr-low.
ENDSELECT.
IF sy-subrc = 0.
SELECT matnr
INTO (l_matnr)
FROM mara
FOR ALL ENTRIES IN matnr
WHERE matnr = matnr-low
AND mtart = 'FERT'.
ENDSELECT.
IF sy-subrc NE 0.
MESSAGE 'Please Enter Finished goods Material' TYPE 'E'.
ENDIF.
ELSEIF sy-subrc NE 0.
MESSAGE 'Material Number Does Not Exists nor Activated' TYPE 'E' .
SET CURSOR FIELD matnr-low.
ENDIF.
INITIALIZATION.
mtrl = sy-repid.
title = sy-title.
LOOP AT DATUM.
STRTDTE = DATUM-LOW.
DATUM-LOW = '31.08.2006'.
MODIFY DATUM FROM DATUM.
ENDLOOP.
*BREAK-POINT.
START-OF-SELECTION.
PERFORM select_data_from_mkpf_mseg.
PERFORM select_data_from_a974.
PERFORM select_data_from_a926.
PERFORM select_data_from_konv.
PERFORM select_data_from_mch1.
PERFORM retrive_open_stock.
PERFORM data_cal_format.
perform data_vbrp.
PERFORM data_cal_final.
END -OF-SELECTION.
*BUILDING FIELD CATALOG
PERFORM build_fieldcat.
*BUILD EVENT
PERFORM build_event.
*BUILD LISTHEADER
PERFORM build_listheader.
*SORTING THE FIELDCAT DISPLAY
PERFORM sort_fieldcat.
*FIELDCAT LAYOUT BUILD
PERFORM build_layout.
*ALV GRID DISPLAY
PERFORM grid_display.
*& Form select_data_from_mkpf_mseg
Select data from MKPF and MSEG tables based on the selection parameters
--> p1 text
<-- p2 text
FORM select_data_from_mkpf_mseg .
DATA:tempvar TYPE p DECIMALS 3.
LOOP AT datum INTO l_ra_datum.
if not l_ra_matnr-low is initial and
l_ra_matnr-sign = 'I' and
l_ra_matnr-option = 'EQ' and
l_ra_matnr-high is initial.
strtdte = datum-high.
l_ra_datum-option = 'BT'.
l_ra_datum-low = '20060831'.
l_ra_datum-high = datum-high.
APPEND l_ra_datum.
endif.
CLEAR l_ra_datum.
ENDLOOP.
strt1dte = '20060831'.
SELECT a~mblnr
a~vgart
a~blart
a~bldat
a~budat
a~aedat
a~xblnr
a~bktxt
a~tcode2
b~matnr
b~charg
b~werks
b~bwart
b~lgort
b~lifnr
b~kunnr
b~shkzg
b~menge
b~ebeln
b~ebelp
b~umwrk
b~xauto
b~dmbtr
b~umcha
INTO CORRESPONDING FIELDS OF TABLE it_fgl
FROM mkpf AS a
INNER JOIN mseg AS b ON a~mblnr = b~mblnr
WHERE b~matnr IN matnr
AND b~werks EQ werks
AND b~lgort EQ lgort
AND a~budat IN l_ra_datum
AND b~bwart NOT IN ('321', '343','344','651').
and xauto ne 'X'.
IF sy-subrc NE 0.
MESSAGE 'Data does not exists for the entered selection criteria' TYPE 'I'.
LEAVE LIST-PROCESSING.
ENDIF.
it_fglc[] = it_fgl[].
CLEAR wa_fgl.
CLEAR wa_fglc.
LOOP AT it_fgl INTO wa_fgl WHERE bwart = '101' AND dmbtr EQ space.
READ TABLE it_fglc INTO wa_fglc WITH KEY bwart = '641' xauto = 'X' ebeln = wa_fgl-ebeln ebelp = wa_fgl-ebelp. "umcha = wa_fgl-charg.
IF sy-subrc = 0.
IF wa_fgl-menge NE wa_fglc-menge.
tempvar = wa_fglc-dmbtr / wa_fglc-menge.
wa_fgl-dmbtr = wa_fgl-menge * tempvar.
ELSE.
wa_fgl-dmbtr = wa_fglc-dmbtr.
ENDIF.
ELSE.
READ TABLE it_fglc INTO wa_fglc WITH KEY bwart = '643' xauto = 'X' ebeln = wa_fgl-ebeln ebelp = wa_fgl-ebelp. "umcha = wa_fgl-charg.
IF sy-subrc = 0 .
IF wa_fgl-menge NE wa_fglc-menge.
tempvar = wa_fglc-dmbtr / wa_fglc-menge.
wa_fgl-dmbtr = wa_fgl-menge * tempvar.
ELSE.
wa_fgl-dmbtr = wa_fglc-dmbtr.
ENDIF.
ENDIF.
ENDIF.
MODIFY it_fgl FROM wa_fgl.
CLEAR wa_fgl.
CLEAR wa_fglc.
ENDLOOP.
LOOP AT it_fgl INTO wa_fgl WHERE bwart = '102' AND dmbtr EQ space.
READ TABLE it_fglc INTO wa_fglc WITH KEY bwart = '642' xauto = 'X' ebeln = wa_fgl-ebeln ebelp = wa_fgl-ebelp. "umcha = wa_fgl-charg.
IF sy-subrc = 0.
IF wa_fgl-menge NE wa_fglc-menge.
tempvar = wa_fglc-dmbtr / wa_fglc-menge.
wa_fgl-dmbtr = wa_fgl-menge * tempvar.
ELSE.
wa_fgl-dmbtr = wa_fglc-dmbtr.
ENDIF.
ELSE.
READ TABLE it_fglc INTO wa_fglc WITH KEY bwart = '644' xauto = 'X' ebeln = wa_fgl-ebeln ebelp = wa_fgl-ebelp. "umcha = wa_fgl-charg.
IF sy-subrc = 0.
IF wa_fgl-menge NE wa_fglc-menge.
tempvar = wa_fglc-dmbtr / wa_fglc-menge.
wa_fgl-dmbtr = wa_fgl-menge * tempvar.
ELSE.
wa_fgl-dmbtr = wa_fglc-dmbtr.
ENDIF.
ENDIF.
ENDIF.
MODIFY it_fgl FROM wa_fgl.
CLEAR wa_fgl.
CLEAR wa_fglc.
ENDLOOP.
*DELETE it_fgl WHERE bwart EQ '101' AND DMBTR EQ space.
*DELETE it_fgl WHERE bwart EQ '102' AND DMBTR EQ space.
SORT it_fgl BY matnr budat.
DELETE it_fgl WHERE bwart EQ '641' AND xauto EQ 'X'.
DELETE it_fgl WHERE bwart EQ '642' AND xauto EQ 'X' .
DELETE it_fgl WHERE bwart EQ '643' AND xauto EQ 'X'.
DELETE it_fgl WHERE bwart EQ '644' AND xauto EQ 'X'.
SELECT matnr
bwkey
belnr
gjahr
buzei
buzid
shkzg
dmbtr
budat
blart
FROM bsim
INTO CORRESPONDING FIELDS OF TABLE it_bsim
FOR ALL ENTRIES IN it_fgl
WHERE matnr EQ it_fgl-matnr
AND bwkey EQ werks
AND budat IN l_ra_datum "EQ it_fgl-budat
AND blart EQ 'PR'.
LOOP AT it_bsim INTO wa_bsim.
wa_fgl-mblnr = wa_bsim-belnr.
wa_fgl-matnr = wa_bsim-matnr.
wa_fgl-bwart = 'PRC'.
wa_fgl-shkzg = wa_bsim-shkzg.
wa_fgl-budat = wa_bsim-budat.
wa_fgl-dmbtr = wa_bsim-dmbtr.
APPEND wa_fgl TO it_fgl.
CLEAR wa_fgl.
CLEAR wa_bsim.
ENDLOOP.
SORT it_fgl BY matnr budat.
it_fglc[] = it_fgl[].
LOOP AT it_fgl INTO wa_fgl."WHERE tcode2 NE 'MIGO_GR'.
wa_shkzg-matnr = wa_fgl-matnr.
wa_shkzg-budat = wa_fgl-budat.
wa_shkzg1-matnr = wa_fgl-matnr.
wa_shkzg1-budat = wa_fgl-budat.
wa_shkzg1-charg = wa_fgl-charg.
wa_shkzg1-ebeln = wa_fgl-ebeln.
wa_shkzg1-ebelp = wa_fgl-ebelp.
wa_shkzg1-lgort = wa_fgl-lgort.
wa_shkzg1-umwrk = wa_fgl-umwrk.
IF wa_fgl-shkzg = 'S'.
wa_shkzg1-s_menge = wa_fgl-menge.
wa_shkzg-s_menge = wa_fgl-menge.
wa_shkzg1-s_dmbtr = wa_fgl-dmbtr.
wa_shkzg-s_dmbtr = wa_fgl-dmbtr.
ELSEIF wa_fgl-shkzg = 'H'.
wa_shkzg1-h_menge = wa_fgl-menge.
wa_shkzg-h_menge = wa_fgl-menge.
wa_shkzg1-h_dmbtr = wa_fgl-dmbtr.
wa_shkzg-h_dmbtr = wa_fgl-dmbtr.
ENDIF.
wa_fgl1-mblnr = wa_fgl-mblnr.
wa_fgl1-lifnr = wa_fgl-lifnr.
wa_fgl1-kunnr = wa_fgl-kunnr.
wa_fgl1-xblnr = wa_fgl-xblnr.
wa_fgl1-bwart = wa_fgl-bwart.
wa_fgl1-ebeln = wa_fgl-ebeln.
wa_fgl1-ebelp = wa_fgl-ebelp.
wa_fgl1-umwrk = wa_fgl-umwrk.
APPEND wa_fgl1 TO it_fgl1.
APPEND wa_shkzg TO it_shkzg.
APPEND wa_shkzg1 TO it_shkzg1.
CLEAR wa_shkzg.
CLEAR wa_shkzg1.
CLEAR wa_fgl1.
clear wa_fgl.
ENDLOOP.
LOOP AT it_shkzg INTO wa_shkzg.
COLLECT wa_shkzg INTO it_c_shkzg.
ENDLOOP.
ENDFORM. " select_data_from_mkpf_mseg
*& Form select_data_from_a974
text
--> p1 text
<-- p2 text
FORM select_data_from_a974 .
SELECT kschl
matnr
charg
datbi
datab
knumh
FROM a974
INTO CORRESPONDING FIELDS OF TABLE it_a974
FOR ALL ENTRIES IN it_fgl
WHERE matnr EQ it_fgl-matnr
AND charg EQ it_fgl-charg
AND kschl EQ 'ZMRP'.
ENDFORM. " select_data_from_a974
*& Form select_data_from_a926
Select KNUMH from a926 table
--> p1 text
<-- p2 text
FORM select_data_from_a926 .
SELECT matnr
knumh
datbi
datab
FROM a953
INTO CORRESPONDING FIELDS OF TABLE it_a926
FOR ALL ENTRIES IN it_fgl
WHERE matnr EQ it_fgl-matnr
AND kschl EQ 'ZMRP'.
ENDFORM . " select_data_from_a926
*& Form select_data_from_konv
select KBETR from table KONV for fetching MRP rate of Material
--> p1 text
<-- p2 text
FORM select_data_from_konv .
SELECT knumh
kbetr
FROM konp
INTO CORRESPONDING FIELDS OF TABLE it_konv
FOR ALL ENTRIES IN it_a974
WHERE knumh = it_a974-knumh.
SELECT knumh
kbetr
FROM konp
INTO CORRESPONDING FIELDS OF TABLE it_konv
FOR ALL ENTRIES IN it_a926
WHERE knumh = it_a926-knumh.
LOOP AT it_a974 INTO wa_a974.
READ TABLE it_konv INTO wa_konv WITH KEY knumh = wa_a974-knumh.
wa_a974-kbetr = wa_konv-kbetr.
MODIFY it_a974 FROM wa_a974 TRANSPORTING kbetr.
CLEAR wa_a974.
ENDLOOP .
LOOP AT it_a926 INTO wa_a926.
READ TABLE it_konv INTO wa_konv WITH KEY knumh = wa_a926-knumh.
wa_a926-kbetr = wa_konv-kbetr.
MODIFY it_a926 FROM wa_a926 TRANSPORTING kbetr.
CLEAR wa_a926.
ENDLOOP.
ENDFORM. " select_data_from_konv
*& Form select_data_from_mch1
text
--> p1 text
<-- p2 text
FORM select_data_from_mch1 .
SELECT
matnr
charg
hsdat
FROM mch1
INTO TABLE it_mch1
FOR ALL ENTRIES IN it_fgl
WHERE matnr = it_fgl-matnr
AND charg = it_fgl-charg.
ENDFORM. " select_data_from_mch1
*& Form retrive_open_stock
text
--> p1 text
<-- p2 text
FORM retrive_open_stock .
it_final[] = it_c_shkzg[].
SORT it_final BY matnr budat.
LOOP AT it_final INTO wa_final.
ON CHANGE OF wa_final-matnr.
wa_mb5b-matnr = wa_final-matnr.
wa_mb5b-budat = wa_final-budat.
APPEND wa_mb5b TO it_mb5b.
CLEAR wa_mb5b.
CLEAR wa_final.
ENDON.
ENDLOOP.
LOOP AT it_mb5b INTO wa_mb5b.
SUBMIT zmm_stlg_rm07mlbd
EXPORTING LIST TO MEMORY WITH matnr EQ wa_mb5b-matnr
WITH werks EQ werks
WITH datum = wa_mb5b-budat
WITH bwbst = 'X' AND RETURN.
IMPORT bestand FROM MEMORY ID 'stockledger2'.
LOOP AT bestand.
wa_mb5b-mb_open = bestand-anfmenge.
MODIFY it_mb5b FROM wa_mb5b TRANSPORTING mb_open.
ENDLOOP.
DELETE FROM MEMORY ID 'stockledger2'.
ENDLOOP.
LOOP AT it_final INTO wa_final.
wa_final-open = temp.
wa_final-balance = wa_final-s_menge - wa_final-h_menge.
temp = wa_final-balance.
wa_final-openv = tempv.
wa_final-balancev = wa_final-s_dmbtr - wa_final-h_dmbtr.
tempv = wa_final-balancev.
MODIFY it_final FROM wa_final TRANSPORTING balance open.
ENDLOOP.
ENDFORM. " retrive_open_stock
*& Form data_cal_format
text
--> p1 text
<-- p2 text
FORM data_cal_format .
CLEAR wa_final.
CLEAR wa_shkzg.
CLEAR wa_shkzg1.
LOOP AT it_shkzg1 INTO wa_shkzg1.
c = c + 1.
READ TABLE it_fgl1 INTO wa_fgl1 INDEX c .
wa_shkzg1-mblnr = wa_fgl1-mblnr.
wa_shkzg1-lifnr = wa_fgl1-lifnr.
wa_shkzg1-kunnr = wa_fgl1-kunnr.
wa_shkzg1-xblnr = wa_fgl1-xblnr.
wa_shkzg1-bwart = wa_fgl1-bwart.
wa_shkzg1-ebeln = wa_fgl1-ebeln.
wa_shkzg1-ebelp = wa_fgl1-ebelp.
wa_shkzg1-umwrk = wa_fgl1-umwrk.
MODIFY it_shkzg1 FROM wa_shkzg1.
CLEAR wa_shkzg1.
ENDLOOP.
LOOP AT it_final INTO wa_final.
ON CHANGE OF wa_final-matnr.
clear temp1.
clear temp2.
READ TABLE it_mb5b INTO wa_mb5b WITH KEY matnr = wa_final-matnr budat = wa_final-budat.
temp1 = wa_mb5b-mb_open.
ENDON.
wa_f_shkzg-open = temp1.
wa_f_shkzg-openv = temp2.
count = count + 1.
LOOP AT it_shkzg1 INTO wa_shkzg1 WHERE matnr EQ wa_final-matnr AND budat EQ wa_final-budat.
wa_f_shkzg-matnr = wa_shkzg1-matnr.
wa_f_shkzg-budat = wa_shkzg1-budat.
wa_f_shkzg-charg = wa_shkzg1-charg.
wa_f_shkzg-mblnr = wa_shkzg1-mblnr.
wa_f_shkzg-lgort = wa_shkzg1-lgort.
wa_f_shkzg-lifnr = wa_shkzg1-lifnr.
wa_f_shkzg-kunnr = wa_shkzg1-kunnr.
wa_f_shkzg-xblnr = wa_shkzg1-xblnr.
wa_f_shkzg-bwart = wa_shkzg1-bwart.
wa_f_shkzg-ebeln = wa_shkzg1-ebeln.
wa_f_shkzg-ebelp = wa_shkzg1-ebelp.
wa_f_shkzg-s_menge = wa_shkzg1-s_menge.
wa_f_shkzg-h_menge = wa_shkzg1-h_menge.
wa_f_shkzg-s_dmbtr = wa_shkzg1-s_dmbtr.
wa_f_shkzg-h_dmbtr = wa_shkzg1-h_dmbtr.
wa_f_shkzg-umwrk = wa_shkzg1-umwrk.
APPEND wa_f_shkzg TO it_f_shkzg.
CLEAR wa_f_shkzg.
CLEAR wa_shkzg.
CLEAR wa_shkzg1.
ENDLOOP .
wa_f_shkzg-budat = wa_final-budat.
wa_f_shkzg-s_menge = wa_final-s_menge.
wa_f_shkzg-h_menge = wa_final-h_menge.
wa_f_shkzg-balance = ( ( temp1 + wa_final-s_menge ) - wa_final-h_menge ).
wa_f_shkzg-open = temp1.
temp1 = wa_f_shkzg-balance.
wa_f_shkzg-s_dmbtr = wa_final-s_dmbtr.
wa_f_shkzg-h_dmbtr = wa_final-h_dmbtr.
wa_f_shkzg-balancev = ( ( temp2 + wa_final-s_dmbtr ) - wa_final-h_dmbtr ).
wa_f_shkzg-openv = temp2.
temp2 = wa_f_shkzg-balancev.
APPEND wa_f_shkzg TO it_f_shkzg.
CLEAR wa_final.
CLEAR wa_f_shkzg.
ENDLOOP.
LOOP AT it_f_shkzg INTO wa_f_shkzg.
READ TABLE it_a974 INTO wa_a974 WITH KEY matnr = wa_f_shkzg-matnr charg = wa_f_shkzg-charg.
IF wa_f_shkzg-budat BETWEEN wa_a974-datab AND wa_a974-datbi.
wa_f_shkzg-kbetr = wa_a974-kbetr.
ENDIF .
IF wa_a974-kbetr IS INITIAL.
READ TABLE it_a926 INTO wa_a926 WITH KEY matnr = wa_f_shkzg-matnr.
IF wa_f_shkzg-budat BETWEEN wa_a926-datab AND wa_a926-datbi.
wa_f_shkzg-kbetr = wa_a926-kbetr.
ENDIF.
ENDIF.
MODIFY it_f_shkzg FROM wa_f_shkzg TRANSPORTING kbetr.
CLEAR wa_f_shkzg.
CLEAR wa_a974.
clear wa_a926.
ENDLOOP.
LOOP AT it_f_shkzg INTO wa_f_shkzg.
READ TABLE it_mch1 INTO wa_mch1 WITH KEY matnr = wa_f_shkzg-matnr charg = wa_f_shkzg-charg.
wa_f_shkzg-hsdat = wa_mch1-hsdat.
MODIFY it_f_shkzg FROM wa_f_shkzg TRANSPORTING hsdat matnr.
CLEAR wa_f_shkzg.
CLEAR wa_mch1.
ENDLOOP.
ENDFORM. " data_cal_format
*& Form data_vbrp
text
--> p1 text
<-- p2 text
FORM data_vbrp .
select vgbel
vbeln
into corresponding fields of table it_vbrp
from vbrp.
for all entries in it_f_shkzg_l
WHERE matnr EQ it_f_shkzg_l-matnr.
ENDFORM. " data_vbrp
*& Form data_cal_final
text
--> p1 text
<-- p2 text
FORM data_cal_final .
DATA:enddate LIKE mkpf-budat.
enddate = datum-low - 1.
it_f_shkzg_l[] = it_f_shkzg[].
*loop at it_f_shkzg into wa_f_shkzg where budat le strtdte.
*move-corresponding wa_f_shkzg to wa_f_shkzg_l.
*append wa_f_shkzg_l to it_f_shkzg_l.
*clear wa_f_shkzg_l.
*endloop.
DATA :k_name1( 40) TYPE c,
l_name1(40) TYPE c,
i_name1( 40) TYPE c,
p_name1(40) TYPE c,
p_city( 10) TYPE c,
t_name1(90) TYPE c.
SELECT a~reswk
b~ebeln
b~ebelp
b~werks
INTO CORRESPONDING FIELDS OF TABLE it_ekko
FROM ekko AS a
INNER JOIN ekpo AS b ON a~ebeln = b~ebeln
Similar Messages
-
Vendor and material assignment
Hi all,
Is there any possibility to assign vendor to materials or material to vendor? our user wants that while taking drop down for vendor in ME21N screen, only vendors who sales materials, mentioned in purchase order, will be listed down.
Any idea to do this?
Best Regards,
AI.Hi Al,
Let me first clear that, vendor and material is possible through the Source List only in case of purchase requisitions i.e. ME51N and not in case of ME21N.
Still it can be achieved through minor ABAP developement. We can add IF statement in the BADI related to ME21N and give the selection criteria as you desired vendor and material combination, so that same material get copied to PO once you use the particular vendor. As its almost like hard coding, this is not very advisable, but if the requirement is stringent then this is one of the possible solution.
Moreover Vendor to material combintation is only possible and not material to vendor. As according to transaction flow one need to enter org data and vendor first before proceeding to the further data entry.
come back in case you need to know more.
bye,
sachin -
Vendor outstanding - Material Group wise
Dear experts,
We have created one vendor account giving the recon account in Master as Sundry creditors. But he will supplies the packing material, Raw Material, Stores material etc.
Requirement is we want to know the outstanding Packing material wise, Raw material wise and stores material wise. Material groups has been created as Packing material, Raw material and Stores material. Is there any way to find out the outstanding material group wise.
With single vendor master, can we able to take the outstanding material group wise.
BSRME2L is Material group wise vendor wise purchase order details tracking.
But the requirement is Vendor outstanding - Material groupwise if single vendor master is there.
How best we can generate the report either in standard or ABAP. -
Hi, Finding fixed vendor for material
Hi,
my requirement is to copy the fixed vendor address to text object( available in the text tab of the VA01 transaction).
I am entering the article numbers in the va01 transaction with some 5 item numbers.
i am getting the Purchase requisition number(BANFN) and BNFPO( purchase req item number) from the VBEP table .
after getting the BANFN & BNFPO i have to pick the fixed vendor for the corresponding item number from EBAN.
EBAN is holding the values for only the last item number .
can u please tell me the internal table associated EBAN.
I am using the USEREXIT_SAVE_DOCUMENT from the include MV45AFZZ.
Is there any other way so that i can pick fixed vendor for an given article.?
Advance thanks
regards
paveee....Hi
try this
1) In sorce list fixed your vendor for material and plant combination ME01
2) for another source create info record for second vendor and material ,combination in ME11
Regards
Kailas ugale -
Purchasing info record for vendor's material number ONLY?
Hello gurus,
we have materials that must be ordered with refernce to a contract. We purchase these materials only from one vendor and exclusively using that contract (only one source of supply). We do need purchasing info records to store the vendor's material number.
Now, the problem is that if we have one contract and a purchasing info record, the system interprets the PIR as a second dource of supply. So, when I create a new PO, the price is automatically taken from the PIR and not from the contract.
Is it possible to create PIR's for the vendor's material number without creating a second soucre of supply?
Thanks in advance
Alicia
PS: I do know that i can use order lists but that does not solve the problem when manually creating a new PO...why dont you maintain the vendors material number already in the contract item?
why do you create an info record that has a different price than the contract?
Edited by: Jürgen L. on Jan 5, 2009 2:21 PM -
Back Flushing Vendor consigment Material in process order
Dear Experts,
I have a question Regarding Vendor consignment back flushing
while i am doing order confirmation system not proposing vendor name and in good movement tab
may i know what configuration or master data setup is missing
My requirment is i need to back flush vendor consginment material automatically
currently i need to manually choose the vendor while confiming the order
Thanks in advance
Rgrds
RajDear Experts,
I manage to use stock determination group for back flushing consignment material
it works fine system automatically picking up vendor as we do not have multiple vendors
now i have new issue
for instance
i have a RAW material A used in a Product A when i do confirmation system can able to do back flush with movement type 261 K
i am using same RAW material A used in product B and when i do confirmation system give me a error
as below
Pipeline/consignment movement posted without value
Message no. M7234Diagnosis
The system has determined a consignment/pipeline price of 0.00.
Possible reasons:
The system could not find any valid condition for the posting date in the consignment/pipeline info record.
A price of 0.00 was defined in the info record.
System Response
Depending on how the system is configured, the message can be either a warning or an error message.
A withdrawal from this consignment stock or from the pipeline will not create vendor liabilities. For materials with moving average price control, withdrawals are posted without value. For materials with standard price control, a price difference posting is carried out.
The message is also issued when materials are received into consignment stock, as the system must check whether a consignment price of zero is required.
Procedure
If you have authorization, check whether the conditions or the price has been defined correctly in the info record, if necessary. If there is a condition with a price other than zero, check whether the posting date of the movement lies within the condition's validity period.
Proceed
just wonder does any one have this issue
so strange i can issue to product A and not product B
Please help me if you have any problem
Rgrds
Raj -
Different Pricing Schema in PO and PIR for same vendor and material
Dear Experts,
I am facing an issue related to MM.
I have a vendor and a material under a plant, purchase Org, purchase group.
When we are creating a Purchase Info Record (PIR), it is picking one pricing schema, while when creating PO for same vendor and material, it is picking another different pricing schema.
As per my knowledge, pricing schema in PO is picked as per pricing schema group of Vendor and I believe same applies for PIR as well. I have only one vendor pricing schema group.
Because of this issue, I have to manually key-in condition values in PO for all condition types even though I have maintained a purchase info record.
Please suggest, what can be reason.
Regards,
PraveenHi,
Thanks for clearing my doubts.
However, I stuck-up in another issue.
Problem is that condition type- PB00 is linked with almost all pricing schemas.
Hence, I can't change pricing procedure in condition type- PB00.
Also, I can't include all J* related condition types in RM0002 as well.
Hence, if PB00 remains as RM0002 and I maintain my pricing procedure- ZJIMPO to all J* condition types, still I am not able to create PIR for all J* conditions. Error "Condition type J1CV is not in procedure A M RM0002".
How to handle this issue? Please suggest.
Thanks
Praveen -
Hi Experts
How do we transfer the Vendor and material groups from ECC to SRM
RegardsHi SAP MAN,
We do replicate vendors from backend system to SRM via transaction code BBP_GETVD, and products are replicated through middle ware settings.
These middleware settings are maintained in both ECC and SRM systems.
regards,
IGA. -
Error: Vendor and Material Import tasks fail
Hi gurus.
Our CLM Vendor and Material imports tasks have been working fine until recently when we experienced the error:
Data Import Service: File: Material20150401-101647-817.xml is corrupt and cannot be imported
We have not done changes to either CLM/PI/ERP. Please can you shed some light what's causing this error? Thanking you in advance.HI
which version and service pack you are using ?
we are using V9-SP19.
In SP16 SAP has fix an issue with Vendor import.
check this :
Fix has been done to handle the processing of Payment Term field for Vendor import. Vendor XML import file should contain a field tag as
<PAY_TERM></PAY_TERM> with desired value specified within the tag.
this might be an issue.
Thanks
kanchan -
Hi,
I have a vendor for one material.
How can I connect the both (vendor and Material). ?
Ca I do it In the Material masta data MM01?
Thanks
DedeHi,
You can connect them by creating / maintaining source list (ME01 / ME03 /ME04). If you maintain source list, info records, material masters, vendor masters (quota arrangement in case of several sources of supply) you can convert PR (created during MRP run) to PO very easily.
BR
Csaba
Edited by: Csaba Szommer on Mar 20, 2008 10:59 AM -
Fixed and Non fixed vendor for material procurement
Hi,
We need to have fixed vendors to procure materials but incase if we couldnt find the materials with the fixed vendor or if we need to procure the same material from a different vendor. Please let me know if we need to maintain source list in this scenario, we also dont maintain any agreements with vendors.
Thank you.Hi
try this
1) In sorce list fixed your vendor for material and plant combination ME01
2) for another source create info record for second vendor and material ,combination in ME11
Regards
Kailas ugale -
What is procedure for creating new vendor and material master data in ABAP
What is procedure for creating new vendor and material master data in ABAP .
see below code which is used for creation of vendor master as well as extension...
*& Report ZFC_VENDOR_CREATE *
REPORT ZFC_VENDOR_CREATE LINE-SIZE 100
NO STANDARD PAGE HEADING
MESSAGE-ID ZZ.
TABLES
TABLES : SSCRFIELDS. " Fields on selection screens
CONSTANTS
DATA : C_SPLIT TYPE C VALUE '#'. " Used for Has Separator in GUI_UPLAOD
TYPES
Int'table to hold Vendor Master Data
TYPES : BEGIN OF TY_VENDOR_MASTER,
FLAG TYPE C, " Update Flag
LIFNR TYPE LIFNR, " Vendor Number
BUKRS TYPE BUKRS, " Company Code
KTOKK TYPE KTOKK, " Account Group
ANRED TYPE ANRED, " Title
NAME1 TYPE NAME1_GP, " Name1
NAME2 TYPE NAME2_GP, " Name2
SORTL TYPE SORTL, " Search Term 1
SORT2 TYPE AD_SORT2UL, " Search Term 2
STRAS TYPE STRAS_GP, " Street
PSTLZ TYPE PSTLZ, " Postal Code
ORT01 TYPE ORT01_GP, " City
REGIO TYPE REGIO, " Region
LAND1 TYPE LAND1_GP, " Country
SPRAS TYPE SPRAS, " Language
VBUND TYPE RASSC, " Trading Partner
BANKS TYPE BANKS, " Country
BANKL TYPE BANKK, " Bank Key
BANKN TYPE BANKN, " Bank Account
BKONT TYPE BKONT, " Bank Control Key
BANKA TYPE BANKA, " Name of Bank
AKONT TYPE AKONT, " Reconciliation Account
FDGRV TYPE FDGRV, " Cash Management Group
ZTERM TYPE DZTERM, " Payment Terms
REPRF TYPE REPRF, " Check Double Invoice
ZWELS TYPE DZWELS, " Payment Methods
XPORE TYPE XPORE, " Pay all items separately
END OF TY_VENDOR_MASTER,
Int'table to hold Vendor Extend Data
BEGIN OF TY_VENDOR_EXTEND,
FLAG TYPE C, " Update Flag
LIFNR TYPE LIFNR, " Vendor Number
BUKRS TYPE BUKRS, " Company Code
KTOKK TYPE KTOKK, " Account Group
REF_LIFNR TYPE LIFNR, " Reference Vendor Number
REF_BUKRS TYPE BUKRS, " Reference Company Code
AKONT TYPE AKONT, " Reconciliation Account
FDGRV TYPE FDGRV, " Cash Management Group
ZTERM TYPE DZTERM, " Payment Terms
REPRF TYPE REPRF, " Check Double Invoice
ZWELS TYPE DZWELS, " Payment Methods
XPORE TYPE XPORE, " Pay all items separately
END OF TY_VENDOR_EXTEND,
Int'table to hold Error Records Data
BEGIN OF TY_ERROR,
MSG(200) TYPE C, " To hold Message
LIFNR TYPE LIFNR, " Vendor Number
BUKRS TYPE BUKRS, " Company Code
END OF TY_ERROR.
DATA (Simple Fields)
DATA : W_COUNT TYPE I, " Variable to hold count of Records
W_SUCC_REC TYPE I, " No. of Success Records
W_SUCC_REC1 TYPE I, " No. of Updated Records
W_ERR_REC TYPE I, " No. of Error Records
w_noupdate_rec type i. " No. of Records not Changed
INTERNAL TABLES
Int'table to hold uploaded data from File
DATA : IT_VENDOR_MASTER TYPE STANDARD TABLE OF TY_VENDOR_MASTER,
WA_IT_VENDOR_MASTER TYPE TY_VENDOR_MASTER,
IT_VENDOR_EXTEND TYPE STANDARD TABLE OF TY_VENDOR_EXTEND,
WA_IT_VENDOR_EXTEND TYPE TY_VENDOR_EXTEND,
WA_IT_BDCDATA TYPE BDCDATA,
IT_BDCDATA TYPE STANDARD TABLE OF BDCDATA,
WA_IT_MESSTAB TYPE BDCMSGCOLL,
IT_MESSTAB TYPE STANDARD TABLE OF BDCMSGCOLL,
IT_ERROR TYPE STANDARD TABLE OF TY_ERROR,
WA_IT_ERROR TYPE TY_ERROR,
it_error_fk01 type standard table of ty_error,
wa_it_error_fk01 type ty_error,
it_error_fk02 type standard table of ty_error,
wa_it_error_fk02 type ty_error,
it_succ_rec1 type standard table of ty_error,
wa_it_succ_rec1 type ty_error,
it_noupdate type standard table of ty_error,
wa_it_noupdate type ty_error.
FLAGS
DATA : FL_FLAG1 TYPE C, " Flag to check error upload file
FL_FLAG2 TYPE C, " Flag to hold value
FL_FLAG3 TYPE C, " Flag to hold value
FL_FLAG4 TYPE C. " Flag to hold value
SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN : BEGIN OF LINE,
COMMENT 1(30) TEXT-001,
POSITION POS_LOW.
PARAMETERS : P_FILE(128) DEFAULT 'C:\UPLOAD.TXT' OBLIGATORY.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE,
COMMENT 1(30) TEXT-002,
POSITION POS_LOW.
PARAMETERS : P_VENMAS RADIOBUTTON GROUP R1 DEFAULT 'X'.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE,
COMMENT 1(30) TEXT-003,
POSITION POS_LOW.
PARAMETERS : P_VENEXT RADIOBUTTON GROUP R1.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN : BEGIN OF LINE,
COMMENT 1(30) TEXT-004,
POSITION POS_LOW.
PARAMETERS : P_MODE(1) DEFAULT 'N'.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE,
COMMENT 1(30) TEXT-005,
POSITION POS_LOW.
PARAMETERS : P_GROUP(12) DEFAULT 'ZFC_VENDOR_C' OBLIGATORY.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE,
COMMENT 1(30) TEXT-016,
POSITION POS_LOW.
PARAMETERS : P_GROUP1(12) DEFAULT 'ZFC_VENDOR_U' OBLIGATORY.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN ON
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
Form to get file path for upload of data
PERFORM GET_FILE_PATH.
AT SELECTION-SCREEN ON BLOCK B1.
Form to Validate data specified on Selection Screen
CHECK SSCRFIELDS-UCOMM EQ 'ONLI'.
PERFORM VALIDATE_DATA.
START - OF - SELECTION
START-OF-SELECTION.
IF P_VENMAS = 'X'.
Form to upload data from Presentation Server for Vendor Master
PERFORM UPLOAD_DATA TABLES IT_VENDOR_MASTER.
IF FL_FLAG1 NE 'X'.
SORT IT_VENDOR_MASTER BY LIFNR BUKRS KTOKK.
DELETE IT_VENDOR_MASTER WHERE LIFNR = ' '
AND BUKRS = ' '
AND KTOKK = ' '.
Form to process data for Vendor Master
PERFORM INSERT_VENDOR_MASTER_DATA.
ENDIF.
ELSEIF P_VENEXT = 'X'.
Form to upload data from Presentation Server for Vendor Extend
PERFORM UPLOAD_DATA TABLES IT_VENDOR_EXTEND.
IF FL_FLAG1 NE 'X'.
SORT IT_VENDOR_EXTEND BY LIFNR BUKRS KTOKK.
DELETE IT_VENDOR_EXTEND WHERE LIFNR = ' '
AND BUKRS = ' '
AND KTOKK = ' '.
Form to process data for Vendor Master
PERFORM CHK_AND_INS_VENDOR_EXTEND_DATA.
ENDIF.
ENDIF.
END - OF - SELECTION
END-OF-SELECTION.
IF FL_FLAG1 NE 'X'.
FORMAT COLOR 7.
WRITE:/2 TEXT-O01. " Total Number of records read :
FORMAT COLOR OFF.
WRITE:40 W_COUNT.
FORMAT COLOR 7.
WRITE:/2 TEXT-O02. " Total Number of Success records :
FORMAT COLOR OFF.
WRITE:40 W_SUCC_REC.
FORMAT COLOR 7.
WRITE:/2 TEXT-O07. " Total Number of Updated records :
FORMAT COLOR OFF.
WRITE:40 W_SUCC_REC1.
FORMAT COLOR 7.
WRITE:/2 TEXT-O08. " Total Number of Unchanged records :
FORMAT COLOR OFF.
WRITE:40 W_noupdate_REC.
FORMAT COLOR 7.
WRITE:/2 TEXT-O03. " Total Number of Error records :
FORMAT COLOR OFF.
WRITE:40 W_ERR_REC.
if not it_succ_rec1 is initial.
skip 1.
perform display_changed_report.
endif.
if not it_noupdate is initial.
skip 1.
perform display_nochange_report.
endif.
IF NOT IT_ERROR IS INITIAL.
SKIP 3.
Form to display error data
PERFORM DISPLAY_ERROR_REPORT.
ENDIF.
IF FL_FLAG2 = 'X'.
SKIP 2.
FORMAT COLOR 4.
WRITE:/2 TEXT-O04. " BDC Session Name for Creation (FK01) :
FORMAT COLOR OFF.
WRITE:40 P_GROUP.
perform display_error_report_fk01.
ENDIF.
IF FL_FLAG3 = 'X'.
SKIP 2.
FORMAT COLOR 4.
WRITE:/2 TEXT-O09. " BDC Session Name for Updation (FK02) :
FORMAT COLOR OFF.
WRITE:40 P_GROUP1.
perform display_error_report_fk02.
ENDIF.
ENDIF.
*& Form GET_FILE_PATH
This form is used to get the specified path for uploading of data from
flat file with the help of F4 function key
FORM GET_FILE_PATH .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_FILE.
ENDFORM. " GET_FILE_PATH
*& Form VALIDATE_DATA
This form is used to validate the data given by user on the Selection
Screen and the appropriate message is been displayed when an wrong
entry is inputted
FORM VALIDATE_DATA .
IF SY-BATCH EQ 'X'.
CLEAR SSCRFIELDS-UCOMM.
MESSAGE E001(ZZ) WITH TEXT-011.
" Excel file not to be used in Batch Mode
ENDIF.
IF P_MODE NE 'A' AND P_MODE NE 'N' AND P_MODE NE 'E'.
MESSAGE E001(ZZ) WITH TEXT-012.
" Session Mode should be either A or N or E
ENDIF.
ENDFORM. " VALIDATE_DATA
*& Form UPLOAD_DATA
This form is used to upload data from Presentation Server for either
Vendor Master or Vendor Extend
FORM UPLOAD_DATA TABLES P_IT_VENDOR.
DATA : L_FILENAME TYPE STRING,
L_FILETYPE TYPE CHAR10 VALUE 'ASC',
L_HEADER_LENGTH TYPE I VALUE 0,
L_READ_BY_LINE TYPE CHAR01 VALUE 'X'.
MOVE P_FILE TO L_FILENAME.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = L_FILENAME
FILETYPE = L_FILETYPE
HEADER_LENGTH = L_HEADER_LENGTH
READ_BY_LINE = L_READ_BY_LINE
HAS_FIELD_SEPARATOR = C_SPLIT
TABLES
DATA_TAB = P_IT_VENDOR
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17.
IF SY-SUBRC <> 0.
MESSAGE I001(ZZ) WITH TEXT-006 L_FILENAME.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
FL_FLAG1 = 'X'.
ELSEIF P_IT_VENDOR[] IS INITIAL.
MESSAGE I001(ZZ) WITH TEXT-014. " Uploaded File contains no data
FL_FLAG1 = 'X'.
ENDIF.
ENDFORM. " UPLOAD_DATA
*& Form INSERT_VENDOR_MASTER_DATA
This form is used to process BDC data for Vendor Master
FORM INSERT_VENDOR_MASTER_DATA .
DATA : L_LIFNR TYPE LIFNR.
CLEAR : L_LIFNR.
sort it_vendor_master by flag.
LOOP AT IT_VENDOR_MASTER INTO WA_IT_VENDOR_MASTER.
W_COUNT = W_COUNT + 1.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_IT_VENDOR_MASTER-LIFNR
IMPORTING
OUTPUT = WA_IT_VENDOR_MASTER-LIFNR.
if wa_it_vendor_master-flag = 'A'.
SELECT SINGLE LIFNR
FROM LFB1
INTO L_LIFNR
WHERE LIFNR = WA_IT_VENDOR_MASTER-LIFNR
AND BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
IF SY-SUBRC EQ 0.
WA_IT_ERROR-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
WA_IT_ERROR-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
WA_IT_ERROR-MSG = TEXT-015.
APPEND WA_IT_ERROR TO IT_ERROR.
W_ERR_REC = W_ERR_REC + 1.
CLEAR : WA_IT_ERROR, L_LIFNR.
ELSE.
REFRESH IT_BDCDATA.
CLEAR IT_BDCDATA.
PERFORM POPULATE_BDC_DATA_VEN_MASTER.
PERFORM CALL_TRANSACTION.
ENDIF.
CLEAR : WA_IT_VENDOR_MASTER.
elseif wa_it_vendor_master-flag = 'C'.
IF FL_FLAG2 = 'X' and fl_flag4 ne 'X'.
PERFORM CLOSE_BDC_SESSION.
fl_flag4 = 'X'.
ENDIF.
REFRESH IT_BDCDATA.
CLEAR IT_BDCDATA.
PERFORM POPULATE_BDC_DATA_VEN_MASTER.
PERFORM CALL_TRANSACTION_FK02.
CLEAR : WA_IT_VENDOR_MASTER.
elseif wa_it_vendor_master-flag = 'N'.
WA_IT_noupdate-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
WA_IT_noupdate-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
WA_IT_noupdate-MSG = TEXT-018.
APPEND WA_IT_noupdate TO IT_noupdate.
W_noupdate_REC = W_noupdate_REC + 1.
CLEAR : WA_IT_noupdate, WA_IT_VENDOR_MASTER.
endif.
ENDLOOP.
IF FL_FLAG3 = 'X'.
PERFORM CLOSE_BDC_SESSION.
ENDIF.
ENDFORM. " INSERT_VENDOR_MASTER_DATA
*& Form POPULATE_BDC_DATA_VEN_MASTER
This form is used to populate BDC data of Vendor Master
FORM POPULATE_BDC_DATA_VEN_MASTER .
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_IT_VENDOR_MASTER-ZTERM
IMPORTING
OUTPUT = WA_IT_VENDOR_MASTER-ZTERM.
IF WA_IT_VENDOR_MASTER-REPRF = 'Y'.
WA_IT_VENDOR_MASTER-REPRF = 'X'.
ENDIF.
IF WA_IT_VENDOR_MASTER-XPORE = 'Y'.
WA_IT_VENDOR_MASTER-XPORE = 'X'.
ENDIF.
if wa_it_vendor_master-flag = 'A'.
PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0105',
BDC_FIELD USING 'RF02K-LIFNR' WA_IT_VENDOR_MASTER-LIFNR,
BDC_FIELD USING 'RF02K-BUKRS' WA_IT_VENDOR_MASTER-BUKRS,
BDC_FIELD USING 'RF02K-KTOKK' WA_IT_VENDOR_MASTER-KTOKK,
BDC_FIELD USING 'BDC_OKCODE' '/00'.
elseif wa_it_vendor_master-flag = 'C'.
PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0106',
BDC_FIELD USING 'RF02K-LIFNR' WA_IT_VENDOR_MASTER-LIFNR,
BDC_FIELD USING 'RF02K-BUKRS' WA_IT_VENDOR_MASTER-BUKRS,
BDC_FIELD USING 'BDC_OKCODE' '=MALL',
BDC_DYNPRO USING 'SAPMF02K' '0106',
BDC_FIELD USING 'RF02K-D0110' 'X',
BDC_FIELD USING 'RF02K-D0120' 'X',
BDC_FIELD USING 'RF02K-D0130' 'X',
BDC_FIELD USING 'RF02K-D0210' 'X',
BDC_FIELD USING 'RF02K-D0215' 'X',
BDC_FIELD USING 'RF02K-D0220' 'X',
BDC_FIELD USING 'BDC_OKCODE' '/00'.
endif.
perform :BDC_DYNPRO USING 'SAPMF02K' '0110',
BDC_FIELD USING 'LFA1-ANRED' WA_IT_VENDOR_MASTER-ANRED,
BDC_FIELD USING 'LFA1-NAME1' WA_IT_VENDOR_MASTER-NAME1,
BDC_FIELD USING 'LFA1-NAME2' WA_IT_VENDOR_MASTER-NAME2,
BDC_FIELD USING 'LFA1-SORTL' WA_IT_VENDOR_MASTER-SORTL,
BDC_FIELD USING 'LFA1-STRAS' WA_IT_VENDOR_MASTER-STRAS,
BDC_FIELD USING 'LFA1-ORT01' WA_IT_VENDOR_MASTER-ORT01,
BDC_FIELD USING 'LFA1-PSTLZ' WA_IT_VENDOR_MASTER-PSTLZ,
BDC_FIELD USING 'LFA1-LAND1' WA_IT_VENDOR_MASTER-LAND1,
BDC_FIELD USING 'LFA1-REGIO' WA_IT_VENDOR_MASTER-REGIO,
BDC_FIELD USING 'LFA1-SPRAS' WA_IT_VENDOR_MASTER-SPRAS,
BDC_FIELD USING 'BDC_OKCODE' '/00',
BDC_DYNPRO USING 'SAPMF02K' '0120',
BDC_FIELD USING 'LFA1-VBUND' WA_IT_VENDOR_MASTER-VBUND,
BDC_FIELD USING 'BDC_OKCODE' '/00',
BDC_DYNPRO USING 'SAPMF02K' '0130',
BDC_FIELD USING 'LFBK-BANKS(01)' WA_IT_VENDOR_MASTER-BANKS,
BDC_FIELD USING 'LFBK-BANKL(01)' WA_IT_VENDOR_MASTER-BANKL,
BDC_FIELD USING 'LFBK-BANKN(01)' WA_IT_VENDOR_MASTER-BANKN,
BDC_FIELD USING 'BDC_OKCODE' '=BANK',
BDC_DYNPRO USING 'SAPLBANK' '0100',
BDC_FIELD USING 'BNKA-BANKA' WA_IT_VENDOR_MASTER-BANKA,
BDC_FIELD USING 'BDC_OKCODE' '=ENTR',
BDC_DYNPRO USING 'SAPMF02K' '0130',
BDC_FIELD USING 'BDC_OKCODE' '=ENTR',
BDC_DYNPRO USING 'SAPMF02K' '0210',
BDC_FIELD USING 'LFB1-AKONT' WA_IT_VENDOR_MASTER-AKONT,
BDC_FIELD USING 'LFB1-FDGRV' WA_IT_VENDOR_MASTER-FDGRV,
BDC_FIELD USING 'BDC_OKCODE' '=/00',
BDC_DYNPRO USING 'SAPMF02K' '0215',
BDC_FIELD USING 'LFB1-ZTERM' WA_IT_VENDOR_MASTER-ZTERM,
BDC_FIELD USING 'LFB1-REPRF' WA_IT_VENDOR_MASTER-REPRF,
BDC_FIELD USING 'LFB1-ZWELS' WA_IT_VENDOR_MASTER-ZWELS,
BDC_FIELD USING 'LFB1-XPORE' WA_IT_VENDOR_MASTER-XPORE,
BDC_FIELD USING 'BDC_OKCODE' '=UPDA'.
ENDFORM. " POPULATE_BDC_DATA_VEN_MASTER
*& Form BDC_DYNPRO
This form is used to move data to BDCDATA int'table
FORM BDC_DYNPRO USING PROGRAM TYPE BDC_PROG
DYNPRO TYPE BDC_DYNR.
CLEAR WA_IT_BDCDATA.
WA_IT_BDCDATA-PROGRAM = PROGRAM.
WA_IT_BDCDATA-DYNPRO = DYNPRO.
WA_IT_BDCDATA-DYNBEGIN = 'X'.
APPEND WA_IT_BDCDATA TO IT_BDCDATA.
ENDFORM. " BDC_DYNPRO
*& Form BDC_FIELD
This form is used to move data to BDCDATA int'table
FORM BDC_FIELD USING FNAM TYPE ANY
FVAL TYPE ANY.
CLEAR WA_IT_BDCDATA.
WA_IT_BDCDATA-FNAM = FNAM.
WA_IT_BDCDATA-FVAL = FVAL.
APPEND WA_IT_BDCDATA TO IT_BDCDATA.
ENDFORM. " BDC_FIELD
*& Form CALL_TRANSACTION
This form is used to Call FK01 for processing of data either for
Vendor Master or Vendor Extend. The error records are inserted to
Session which can be processed using SM35
FORM CALL_TRANSACTION .
DATA : L_OPTION TYPE CTU_PARAMS,
L_SUBRC TYPE SYSUBRC.
REFRESH IT_MESSTAB.
CLEAR IT_MESSTAB.
L_OPTION-DEFSIZE = 'X'.
L_OPTION-DISMODE = P_MODE.
L_OPTION-UPDMODE = 'S'.
CALL TRANSACTION 'FK01'
USING IT_BDCDATA
MESSAGES INTO IT_MESSTAB
OPTIONS FROM L_OPTION.
L_SUBRC = SY-SUBRC.
IF L_SUBRC = 0.
W_SUCC_REC = W_SUCC_REC + 1.
ELSE.
IF FL_FLAG2 NE 'X'.
PERFORM OPEN_BDC_SESSION.
FL_FLAG2 = 'X'.
ENDIF.
PERFORM BDC_INSERT.
W_ERR_REC = W_ERR_REC + 1.
PERFORM ERROR_RECORD_DATA.
ENDIF.
ENDFORM. " CALL_TRANSACTION
*& Form OPEN_BDC_SESSION
Form used to open session for Error out Records
FORM OPEN_BDC_SESSION .
DATA : L_USERID TYPE APQ_MAPN, " Variable to hold user-id
L_GROUP TYPE APQ_GRPN. " Variable to hold value
MOVE P_GROUP TO L_GROUP.
MOVE SY-UNAME TO L_USERID.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = L_GROUP
KEEP = SPACE
USER = L_USERID
EXCEPTIONS
CLIENT_INVALID = 1
DESTINATION_INVALID = 2
GROUP_INVALID = 3
GROUP_IS_LOCKED = 4
HOLDDATE_INVALID = 5
INTERNAL_ERROR = 6
QUEUE_ERROR = 7
RUNNING = 8
SYSTEM_LOCK_ERROR = 9
USER_INVALID = 10
OTHERS = 11.
IF SY-SUBRC <> 0.
WRITE:/ TEXT-008. " Unable to open BDC Session
ENDIF.
ENDFORM. " OPEN_BDC_SESSION
*& Form BDC_INSERT
This form is used to insert error records to a Session method
FORM BDC_INSERT .
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'FK01'
TABLES
DYNPROTAB = IT_BDCDATA
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS = 7.
IF SY-SUBRC <> 0.
WRITE:/ TEXT-009. " Unable to Insert Data to BDC Session
ENDIF.
ENDFORM. " BDC_INSERT
*& Form ERROR_RECORD_DATA
This form is used to process the messages for the error records which
will be displayed on the output report
FORM ERROR_RECORD_DATA .
DATA : L_LINES TYPE I,
L_MSG(200) TYPE C.
DESCRIBE TABLE IT_MESSTAB LINES L_LINES.
READ TABLE IT_MESSTAB INTO WA_IT_MESSTAB INDEX L_LINES.
IF SY-SUBRC = 0.
CLEAR L_MSG.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = WA_IT_MESSTAB-MSGID
LANG = SY-LANGU
NO = WA_IT_MESSTAB-MSGNR
V1 = WA_IT_MESSTAB-MSGV1
V2 = WA_IT_MESSTAB-MSGV2
V3 = WA_IT_MESSTAB-MSGV3
V4 = WA_IT_MESSTAB-MSGV4
IMPORTING
MSG = L_MSG
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC = 0.
WA_IT_ERROR_fk01-MSG = L_MSG.
ENDIF.
IF P_VENMAS = 'X'.
WA_IT_ERROR_fk01-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
WA_IT_ERROR_fk01-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
ELSEIF P_VENEXT = 'X'.
WA_IT_ERROR_fk01-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
WA_IT_ERROR_fk01-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
ENDIF.
APPEND WA_IT_ERROR_fk01 TO IT_ERROR_fk01.
CLEAR WA_IT_ERROR_fk01.
ENDIF.
ENDFORM. " ERROR_RECORD_DATA
*& Form CLOSE_BDC_SESSION
Form used to close session of the Error Records
FORM CLOSE_BDC_SESSION .
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
WRITE:/ TEXT-010. " Unable to Close BDC Session
ENDIF.
ENDFORM. " CLOSE_BDC_SESSION
*& Form CHK_AND_INS_VENDOR_EXTEND_DATA
This form is used to process BDC data for Vendor Extend
FORM CHK_AND_INS_VENDOR_EXTEND_DATA .
DATA : L_LIFNR TYPE LIFNR.
CLEAR : L_LIFNR, fl_flag4.
sort it_vendor_extend by flag.
LOOP AT IT_VENDOR_EXTEND INTO WA_IT_VENDOR_EXTEND.
W_COUNT = W_COUNT + 1.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_IT_VENDOR_EXTEND-REF_LIFNR
IMPORTING
OUTPUT = WA_IT_VENDOR_EXTEND-REF_LIFNR.
if wa_it_vendor_extend-flag = 'A'.
SELECT SINGLE LIFNR
FROM LFB1
INTO L_LIFNR
WHERE LIFNR = WA_IT_VENDOR_EXTEND-REF_LIFNR
AND BUKRS = WA_IT_VENDOR_EXTEND-REF_BUKRS.
IF SY-SUBRC NE 0.
WA_IT_ERROR-LIFNR = WA_IT_VENDOR_EXTEND-REF_LIFNR.
WA_IT_ERROR-BUKRS = WA_IT_VENDOR_EXTEND-REF_BUKRS.
WA_IT_ERROR-MSG = TEXT-007.
APPEND WA_IT_ERROR TO IT_ERROR.
W_ERR_REC = W_ERR_REC + 1.
CLEAR : WA_IT_ERROR, L_LIFNR.
ELSE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_IT_VENDOR_EXTEND-LIFNR
IMPORTING
OUTPUT = WA_IT_VENDOR_EXTEND-LIFNR.
SELECT SINGLE LIFNR
FROM LFB1
INTO L_LIFNR
WHERE LIFNR = WA_IT_VENDOR_EXTEND-LIFNR
AND BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
IF SY-SUBRC EQ 0.
WA_IT_ERROR-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
WA_IT_ERROR-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
WA_IT_ERROR-MSG = TEXT-015.
APPEND WA_IT_ERROR TO IT_ERROR.
W_ERR_REC = W_ERR_REC + 1.
CLEAR : WA_IT_ERROR, L_LIFNR.
ELSE.
REFRESH IT_BDCDATA.
CLEAR IT_BDCDATA.
PERFORM POPULATE_BDC_DATA_VEN_EXTEND.
PERFORM CALL_TRANSACTION.
ENDIF.
ENDIF.
CLEAR : WA_IT_VENDOR_EXTEND.
elseif wa_it_vendor_extend-flag = 'C'.
IF FL_FLAG2 = 'X' and fl_flag4 ne 'X'.
PERFORM CLOSE_BDC_SESSION.
fl_flag4 = 'X'.
ENDIF.
REFRESH IT_BDCDATA.
CLEAR IT_BDCDATA.
PERFORM POPULATE_BDC_DATA_VEN_extend.
PERFORM CALL_TRANSACTION_FK02.
CLEAR : WA_IT_VENDOR_EXTEND.
elseif wa_it_vendor_extend-flag = 'N'.
WA_IT_noupdate-LIFNR = WA_IT_VENDOR_extend-LIFNR.
WA_IT_noupdate-BUKRS = WA_IT_VENDOR_extend-BUKRS.
WA_IT_noupdate-MSG = TEXT-019.
APPEND WA_IT_noupdate TO IT_noupdate.
W_noupdate_REC = W_noupdate_REC + 1.
CLEAR : WA_IT_noupdate, WA_IT_VENDOR_EXTEND.
endif.
ENDLOOP.
IF FL_FLAG2 = 'X'.
PERFORM CLOSE_BDC_SESSION.
ENDIF.
if fl_flag3 = 'X'.
PERFORM CLOSE_BDC_SESSION.
ENDIF.
ENDFORM. " CHK_AND_INS_VENDOR_EXTEND_DATA
*& Form POPULATE_BDC_DATA_VEN_EXTEND
This form is used to populate BDC data of Vendor Extend
FORM POPULATE_BDC_DATA_VEN_EXTEND .
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_IT_VENDOR_EXTEND-ZTERM
IMPORTING
OUTPUT = WA_IT_VENDOR_EXTEND-ZTERM.
IF WA_IT_VENDOR_EXTEND-REPRF = 'Y'.
WA_IT_VENDOR_EXTEND-REPRF = 'X'.
ENDIF.
IF WA_IT_VENDOR_extend-XPORE = 'Y'.
WA_IT_VENDOR_extend-XPORE = 'X'.
ENDIF.
if wa_it_vendor_extend-flag = 'A'.
PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0105',
BDC_FIELD USING 'RF02K-LIFNR' WA_IT_VENDOR_EXTEND-LIFNR,
BDC_FIELD USING 'RF02K-BUKRS' WA_IT_VENDOR_EXTEND-BUKRS,
BDC_FIELD USING 'RF02K-KTOKK' WA_IT_VENDOR_EXTEND-KTOKK,
BDC_FIELD USING 'RF02K-REF_LIFNR'
WA_IT_VENDOR_EXTEND-REF_LIFNR,
BDC_FIELD USING 'RF02K-REF_BUKRS'
WA_IT_VENDOR_EXTEND-REF_BUKRS,
BDC_FIELD USING 'BDC_OKCODE' '/00'.
elseif wa_it_vendor_extend-flag = 'C'.
PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0106',
BDC_FIELD USING 'RF02K-LIFNR' WA_IT_VENDOR_extend-LIFNR,
BDC_FIELD USING 'RF02K-BUKRS' WA_IT_VENDOR_extend-BUKRS,
BDC_FIELD USING 'RF02K-D0210' 'X',
BDC_FIELD USING 'RF02K-D0215' 'X',
BDC_FIELD USING 'BDC_OKCODE' '/00'.
endif.
perform :BDC_DYNPRO USING 'SAPMF02K' '0210',
BDC_FIELD USING 'LFB1-AKONT' WA_IT_VENDOR_EXTEND-AKONT,
BDC_FIELD USING 'LFB1-FDGRV' WA_IT_VENDOR_EXTEND-FDGRV,
BDC_FIELD USING 'BDC_OKCODE' '=/00',
BDC_DYNPRO USING 'SAPMF02K' '0215',
BDC_FIELD USING 'LFB1-ZTERM' WA_IT_VENDOR_EXTEND-ZTERM,
BDC_FIELD USING 'LFB1-REPRF' WA_IT_VENDOR_EXTEND-REPRF,
BDC_FIELD USING 'LFB1-ZWELS' WA_IT_VENDOR_EXTEND-ZWELS,
BDC_FIELD USING 'LFB1-XPORE' WA_IT_VENDOR_extend-XPORE,
BDC_FIELD USING 'BDC_OKCODE' '=UPDA'.
ENDFORM. " POPULATE_BDC_DATA_VEN_EXTEND
*& Form DISPLAY_ERROR_REPORT
This form is used to display the error records on the output screen
FORM DISPLAY_ERROR_REPORT .
IF P_VENMAS = 'X'.
WRITE:/ TEXT-O05. " Error List for Vendor Master
ELSEIF P_VENEXT = 'X'.
WRITE:/ TEXT-O06. " Error List for Vendor Master Extended
ENDIF.
WRITE:/ SY-ULINE(100).
FORMAT COLOR 1.
WRITE:/1 SY-VLINE,
2 TEXT-H01, " Vendor Number
17 SY-VLINE,
18 TEXT-H02, " Company Code
31 SY-VLINE,
32 TEXT-H03, " Error Message
100 SY-VLINE.
FORMAT COLOR OFF.
WRITE:/ SY-ULINE(100).
LOOP AT IT_ERROR INTO WA_IT_ERROR.
FORMAT COLOR 2.
WRITE:/1 SY-VLINE,
2 WA_IT_ERROR-LIFNR,
17 SY-VLINE,
18 WA_IT_ERROR-BUKRS,
31 SY-VLINE,
32 WA_IT_ERROR-MSG,
100 SY-VLINE.
CLEAR : WA_IT_ERROR.
FORMAT COLOR OFF.
ENDLOOP.
WRITE:/ SY-ULINE(100).
ENDFORM. " DISPLAY_ERROR_REPORT
*& Form CALL_TRANSACTION_FK02
Form used to Call Transaction FK02
form CALL_TRANSACTION_FK02 .
DATA : L_OPTION TYPE CTU_PARAMS,
L_SUBRC TYPE SYSUBRC.
REFRESH IT_MESSTAB.
CLEAR IT_MESSTAB.
L_OPTION-DEFSIZE = 'X'.
L_OPTION-DISMODE = P_MODE.
L_OPTION-UPDMODE = 'S'.
CALL TRANSACTION 'FK02'
USING IT_BDCDATA
MESSAGES INTO IT_MESSTAB
OPTIONS FROM L_OPTION.
L_SUBRC = SY-SUBRC.
IF L_SUBRC = 0.
W_SUCC_REC1 = W_SUCC_REC1 + 1.
WA_IT_succ_rec1-MSG = Text-017.
IF P_VENMAS = 'X'.
WA_IT_succ_rec1-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
WA_IT_succ_rec1-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
ELSEIF P_VENEXT = 'X'.
WA_IT_succ_rec1-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
WA_IT_succ_rec1-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
ENDIF.
APPEND WA_IT_succ_rec1 TO IT_succ_rec1.
ELSE.
IF FL_FLAG3 NE 'X'.
PERFORM OPEN_BDC_SESSION_fk02.
FL_FLAG3 = 'X'.
ENDIF.
PERFORM BDC_INSERT_fk02.
W_ERR_REC = W_ERR_REC + 1.
PERFORM ERROR_RECORD_DATA1.
ENDIF.
endform. " CALL_TRANSACTION_FK02
*& Form OPEN_BDC_SESSION_fk02
Form used to Open session for FK02
form OPEN_BDC_SESSION_fk02 .
DATA : L_USERID TYPE APQ_MAPN, " Variable to hold user-id
L_GROUP TYPE APQ_GRPN. " Variable to hold value
MOVE P_GROUP1 TO L_GROUP.
MOVE SY-UNAME TO L_USERID.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = L_GROUP
KEEP = SPACE
USER = L_USERID
EXCEPTIONS
CLIENT_INVALID = 1
DESTINATION_INVALID = 2
GROUP_INVALID = 3
GROUP_IS_LOCKED = 4
HOLDDATE_INVALID = 5
INTERNAL_ERROR = 6
QUEUE_ERROR = 7
RUNNING = 8
SYSTEM_LOCK_ERROR = 9
USER_INVALID = 10
OTHERS = 11.
IF SY-SUBRC <> 0.
WRITE:/ TEXT-008. " Unable to open BDC Session
ENDIF.
endform. " OPEN_BDC_SESSION_fk02
*& Form BDC_INSERT_fk02
Form used to insert data into BDC session using FK02
form BDC_INSERT_fk02 .
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'FK02'
TABLES
DYNPROTAB = IT_BDCDATA
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS = 7.
IF SY-SUBRC <> 0.
WRITE:/ TEXT-009. " Unable to Insert Data to BDC Session
ENDIF.
endform. " BDC_INSERT_fk02
*& Form display_changed_report
Form to display Updated Vendor data
form display_changed_report .
IF P_VENMAS = 'X'.
WRITE:/ TEXT-O10. " Updated List for Vendor Master
ELSEIF P_VENEXT = 'X'.
WRITE:/ TEXT-O11. " Updated List for Vendor Master Extended
ENDIF.
WRITE:/ SY-ULINE(100).
FORMAT COLOR 1.
WRITE:/1 SY-VLINE,
2 TEXT-H01, " Vendor Number
17 SY-VLINE,
18 TEXT-H02, " Company Code
31 SY-VLINE,
32 TEXT-H04, " Message
100 SY-VLINE.
FORMAT COLOR OFF.
WRITE:/ SY-ULINE(100).
LOOP AT IT_succ_rec1 INTO WA_IT_succ_rec1.
FORMAT COLOR 2.
WRITE:/1 SY-VLINE,
2 WA_IT_succ_rec1-LIFNR,
17 SY-VLINE,
18 WA_IT_succ_rec1-BUKRS,
31 SY-VLINE,
32 WA_IT_succ_rec1-MSG,
100 SY-VLINE.
CLEAR : WA_IT_succ_rec1.
FORMAT COLOR OFF.
ENDLOOP.
WRITE:/ SY-ULINE(100).
endform. " display_changed_report
*& Form display_nochange_report
Form to display No Changed data for Vendors
form display_nochange_report .
IF P_VENMAS = 'X'.
WRITE:/ TEXT-O12. " No Changes List for Vendor Master
ELSEIF P_VENEXT = 'X'.
WRITE:/ TEXT-O13. " No Changes List for Vendor Master Extended
ENDIF.
WRITE:/ SY-ULINE(100).
FORMAT COLOR 1.
WRITE:/1 SY-VLINE,
2 TEXT-H01, " Vendor Number
17 SY-VLINE,
18 TEXT-H02, " Company Code
31 SY-VLINE,
32 TEXT-H04, " Message
100 SY-VLINE.
FORMAT COLOR OFF.
WRITE:/ SY-ULINE(100).
LOOP AT IT_noupdate INTO WA_IT_noupdate.
FORMAT COLOR 2.
WRITE:/1 SY-VLINE,
2 WA_IT_noupdate-LIFNR,
17 SY-VLINE,
18 WA_IT_noupdate-BUKRS,
31 SY-VLINE,
32 WA_IT_noupdate-MSG,
100 SY-VLINE.
CLEAR : WA_IT_noupdate.
FORMAT COLOR OFF.
ENDLOOP.
WRITE:/ SY-ULINE(100).
endform. " display_nochange_report
*& Form ERROR_RECORD_DATA1
Form to get Error Message for Changed Vendors
form ERROR_RECORD_DATA1 .
DATA : L_LINES TYPE I,
L_MSG(200) TYPE C.
DESCRIBE TABLE IT_MESSTAB LINES L_LINES.
READ TABLE IT_MESSTAB INTO WA_IT_MESSTAB INDEX L_LINES.
IF SY-SUBRC = 0.
CLEAR L_MSG.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = WA_IT_MESSTAB-MSGID
LANG = SY-LANGU
NO = WA_IT_MESSTAB-MSGNR
V1 = WA_IT_MESSTAB-MSGV1
V2 = WA_IT_MESSTAB-MSGV2
V3 = WA_IT_MESSTAB-MSGV3
V4 = WA_IT_MESSTAB-MSGV4
IMPORTING
MSG = L_MSG
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC = 0.
WA_IT_ERROR_fk02-MSG = L_MSG.
ENDIF.
IF P_VENMAS = 'X'.
WA_IT_ERROR_fk02-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
WA_IT_ERROR_fk02-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
ELSEIF P_VENEXT = 'X'.
WA_IT_ERROR_fk02-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
WA_IT_ERROR_fk02-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
ENDIF.
APPEND WA_IT_ERROR_fk02 TO IT_ERROR_fk02.
CLEAR WA_IT_ERROR_fk02.
ENDIF.
endform. " ERROR_RECORD_DATA1
*& Form display_error_report_fk01
Form to display Error Report for Master Vendors (FK01)
form display_error_report_fk01 .
IF P_VENMAS = 'X'.
WRITE:/ TEXT-O05. " Error List for Vendor Master (FK01)
ELSEIF P_VENEXT = 'X'.
WRITE:/ TEXT-O06. " Error List for Vendor Master Extended (FK01)
ENDIF.
WRITE:/ SY-ULINE(100).
FORMAT COLOR 1.
WRITE:/1 SY-VLINE,
2 TEXT-H01, " Vendor Number
17 SY-VLINE,
18 TEXT-H02, " Company Code
31 SY-VLINE,
32 TEXT-H04, " Message
100 SY-VLINE.
FORMAT COLOR OFF.
WRITE:/ SY-ULINE(100).
LOOP AT IT_ERROR_fk01 INTO WA_IT_ERROR_fk01.
FORMAT COLOR 2.
WRITE:/1 SY-VLINE,
2 WA_IT_ERROR_fk01-LIFNR,
17 SY-VLINE,
18 WA_IT_ERROR_fk01-BUKRS,
31 SY-VLINE,
32 WA_IT_ERROR_fk01-MSG,
100 SY-VLINE.
CLEAR : WA_IT_ERROR_fk01.
FORMAT COLOR OFF.
ENDLOOP.
WRITE:/ SY-ULINE(100).
endform. " display_error_report_fk01
*& Form display_error_report_fk02
Form to display Error Report for changed Vendors (FK02)
form display_error_report_fk02 .
IF P_VENMAS = 'X'.
WRITE:/ TEXT-O14. " Error List for Vendor Master (FK02)
ELSEIF P_VENEXT = 'X'.
WRITE:/ TEXT-O15. " Error List for Vendor Master Extended (FK02)
ENDIF.
WRITE:/ SY-ULINE(100).
FORMAT COLOR 1.
WRITE:/1 SY-VLINE,
2 TEXT-H01, " Vendor Number -
Material wise Vendor List & Vendor wise material list
Hi all,
Can any body help me how to get the report for
1) Material wise vendor report: that mean list showing the list of vendors from which that material is purchased and
2) Vendor wise material list: that mean list of materials purchased from a perticular Vendor...
Will be rewarded for answers...
ShashHi ,
Use T. Code: SE16 and enter EINA table name.
If u want report for material / vendor, Enter material in MATNR field and execute and get the report.
If u want report for/ vendor /material, Enter Vendor l in LIFNR field and execute get the report.
Regards,
Biju K -
Difference between Return Delivery to Vendor - Against Material Document &
Hi,
Can any body explain in detail what is the difference between the below 2 scenarios-
Difference between Return Delivery to Vendor - Against Material Document & Return Delivery to Vendor - Against Returns PO
Thanks in adv
Reg
SSKHi,
Return delivery to Vendor against material document is done when you want to send the entire qty back to vendor and when your vendor invoice is not paid.
You create Returns order, when you want to return some qty for which you can not trace any material document.
For eg: During some festival season, you have purchased more stock. After that some stock is left with you which you would like to return to the vendor.
Or you have found them damaged at a later point of time. -
Reversal of vendor consigned material stock
Hi,
we have one vendor consigned material. In the initial uploading of stocks by 561 k an excessive stock was uploded. now we want to reduce the stock without paying to the vendor. We cannot use 562 k as it is locked now, please help.
Thanks.
S JHi,
This is really very difficult sitution. i can propose you my 2 suggestions to rectify this issue:
1) First try to know the reason why 562 k is blocked..If possible try to open this MVT type.
2) Else what you do, book the excess Quantity to scrap..Issue it with mvt 551.
Hope this helps
Utsav -
Vendor return material (urgent)
Pls guide me Vendor return Business Process.
What I know:- eg I do the GR for 10 Nos. of any material, Then IV will be done. But some reason Management is decide that 5 Nos. of material has been return to vendor. then I made a PO for Vendor Return. then Done GR to Movement Type 161. Material is exciseable. On the time of GR Part 1 is posted & before IV Prat II also posted. then how cancel these documet. I use J1IEX What doc. no. we Put there PO for return vendor or GR no when posted for return.
Pls guide meFollowing is the correct process
Return PO, Tick return material option
MIGO with Mvt type 161
Then Go to J1IS transaction and put this material document number. against trans MATD.No need to do j1iex
follow thios process.
Regards
Kedar Kulkarni
Maybe you are looking for
-
Load data from flat file to target table with scheduling in loader
Hi All, I have requirement as follows. I need to load the data to the target table on every Saturday. My source file consists of dataof several sates.For every week i have to load one particular state data to target table. If first week I loaded AP d
-
FF crashes on start up after install
FF crashes on startup, no page displayed. Crashes in Safe mode. Un-install, re-install gives same result. Crash report is too obtuse for me to understand.
-
Change Bank Account on Printed Checks via F110
Hello Gurus- I have a requirement to change the account number on the printed checks which is done by the House Bank configuration. I was wondering if there was anything else I should consider or keep in mind when making changes to accounts numbers
-
Selecting Datasource Location in Crystal XI causes software to lockup
Anytime I click on Set Datasource Location in Crystal Reports XI Release 2, the software locks up. I have to do a CTRL ALT DEL and End Task. Can someone help me? Thanks! Glynn
-
Activites after Upgrading with Support Package
Hi This week, we upgraded from 8 to 13 SP level in our SCM 5.0 system. Here i am confused what are all activities we have to do as application support ? My BASIS is not really cooperative/ not fully knowledgeable in this. After the implementation of