LSMW for uploading data in MM01
Hi,
I have never used LSMW.I have to upload data for material master for MM01 Fields are MATNR MTART LGORT MEINS etc from MARA MARC and MAKT table.I have the records in text file for uploading.
Could you please tell me which step will be good?
Direct i/p I do not want to use.
Batch i/p recording-Please explain me step while recording in MM01.
IDOC which msg type to be used and also port no details.
BAPI Which BAPI should be used?
Rgds,
Rag
use LSMW BAPI method
Business Object BUS1001006 Standard material
Method SAVEDATA Create and change materia
Message Type MATMAS_BAPI Create and change materia
Basic Type MATMAS_BAPI02 Create and Change Materia
Similar Messages
-
Which method is easiest for uploading data using LSMW?
which method is easiest for uploading data using LSMW (Direct method or batch input method) bcs I am facing lot of problem using batch input method while recording.Even I cannot use direct method using standard program.can anyone tell me some other easiest way for uploading MM01.?
I personally used the direct input way 6 years ago and it was a little bit of a struggle cause I was very new to SAP at the time. But it worked out to be ok in the end. You just have to keep messing with it till the errors are clear and then you can upload for real. The test mode is a nice touch, you can get rid of all of the errors before actually uploading the data.
Regards,
Rich Heilman -
Which one is better for uploading data LSMW or ECATT ?
I am going to implement my product in customer place.which tool I can use for uploading data.ECATT or LSMW whch one is better to upload master data and transaction data ,which one is user friendly?kindly guide me on this.
Hello TJK,
LSMW and eCATT has different functionalitites and different advantages, but common thing is they are used for data upload.
eCATT is mainly used as a testing tool for follow-on transactions i.e. Purchase Requisition, Purchase order, Goods Receipt etc.
Where as LSMW is used for Master data (Materials, Customer, Vendor, BOM, Inforecord etc) and some of the transactions data (Purchase order, purchase requisition)
There are many standard objects are available in LSMW so most of the consultants use LSMW, but again depends on the requirement.
This will help to understand the basics of eCATT.
/people/sumeet.kaul/blog/2005/07/26/ecatt-an-introduction
and here it is for LSMW
/people/hema.rao/blog/2006/09/14/lsmw--step-by-step
Hope this will help.
Regards
Arif Mansuri -
When we have LSMW for migrating data then why we will go for Session/Call ?
Hi Guru's,
Could you please tell me ...
When we have LSMW for migrating data , why will go for Sessions/call Transaction for migrating? when we do with LSMW we can complete the object with less time then why we have will do with session/call transaction?
when we have to use LSMW ? and when we have to use SESSION/ CALL TRANSACTION ..
thanks in advance..
vardhanLSMW can't upload large amount of data into the database.
Whereas BDC SESSION CALL /TRANSACTION method can upload large amount of data into the database.
The error capture method is superior in BDC.
BDC programs can be scheduled to run on periodic basis as per the customer requirements. -
Error in doing LSMW for uploading in Sale order
Dear Sir,
While doing test run for LSMW for uploading 15 Sale order , first order saved with no error and from second order the following error is displayed.
Exchange rate of 1 in INR 2 for date 25.05.2009 3 could not be determined.
Kindly do the needfull.Sir,
If we manually enter, order getting saved for all the sale order.
Why it is not possible while doing LSMW.
Please clarify.
Regards
Sethuraman -
Program RFEBKA00(T-Code- ff.5 ) for upload data problems
Hi Gurus,
Program RFEBKA00(T-Code- ff.5 ) for upload the bank statement data and passing the with parameters.
When execute then :
Getting warning message u201CWRONG PARAMETER: FILE_NAMEu201D
Getting error message u201CFile in disk drive can not be openu201D.
My text file data for upload:--
0000 01INGBNL2AXXXX00001
0000 01INGBNL2AXXXX00001
940 00
:20:INGEB
:25:0656905271
:28C:132
:60F:C100708EUR25470,35
:61:100709C2885,40N078
:86:AT673200000003743077 RLNWATWW F . W Kopieranstaltbetriebs- GmbH
:86: RG: 1001853
:61:100709C1296,41N078
:86:0666065284 Drukkerij Wilco BV Postbus 1477 3800 BL AMERSFOORT F
:86:ACT.NRS 1001851
:62F:C100709EUR29652,16
:64:C100709EUR29652,16
:65:C100710EUR29652,16
:65:C100711EUR29652,16
:65:C100712EUR29652,16
:65:C100713EUR34204,84
:65:C100714EUR34204,84
:65:C100715EUR34204,84
:86:D000000C000002D0,00C4181,81
:86:CF (Netherlands) Holding Limited BV
-XXX
If you have any Idea for upload data in ff.5 TCode please help.
Subasha SahooHi Sunita,
If your data is in a text file , simply save the file as tab delimited.
Then use FM 'GUI_UPOAD' to upload the file data into internal table.
Hope this helps.
Regards,
Abhijeet Kapgate -
BDC for Uploading data from XL sheet with unknown order of fields
Hi SAP Gurus,
My requirement is as follows,
A BDC is to be developed for uploading data from an XL sheet, but the problem here is , the order of fileds in the sheet can be changed .
ie, for example the fields in the XL sheet are :-
matnr maktx menge amount
but the user can give as
matnr amount menge maktx
or
maktx matnr amount menge
how i can solve this problem.
Thanks and Regards,
pavan.Hi Pavan,
You need to handle it by your self, you can create a dynamic table based on the file value.
The field name pass from file with the record as a header, and based on the header name create your dynamic table.
afterward you can pass your value to BDC.
for creating dynamic table you can use this method
call method cl_alv_table_create=>create_dynamic_table
exporting
i_style_table =
it_fieldcatalog = it_field[]
i_length_in_byte =
importing
ep_table = dyn_tab
e_style_fname =
exceptions
generate_subpool_dir_full = 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.
-Dhirendra -
Uploading data in MM01 for different material types
Hi,
I have a doubt regarding uploading the data in MM01 for different material types.
Generally in MM01, we have different views for different material types. The number of views will vary depending upon the material type that we select.
I have a scenario, where in to upload the data, I have a flat file that consists of data for different message types. So, how to upload the data in such case.
Can anyone help me on the same by providing explanation or sample code...? What would be the possible ways to upload data in such scenario.
That would be of great help.
Thanks & Regards,
Pradeep.See the below code and use FM SELECTION_VIEWS_FIND..
REPORT zjpmuim306 NO STANDARD PAGE HEADING LINE-SIZE 250 MESSAGE-ID
zjpm001.
*& I N B O U N D V I A A B A P : Batch input Session method *
*& Development ID: IM_DD_306_LJP *
*& Report : ZJPMUIM306 *
*& The Purpose of the Object is to interface Create Input Record *
*& for SAP Migration from the Material master of BPCS All the *
*& information received at BPCS is collected into a single record. *
*& By using session method upload data from file ,one item is
*& created for one record *
*& Change Log: *
*& Init Who Date Text *
*& MALIKDH1 Seshu Reddy 26-07-2003 Initial Version *
Constants *
CONSTANTS:c_vkorg(4) type c value 'JP20', " Sales Organization
c_vtweg(2) type c value 'TR' , " Distribution Channel
c_werks(4) Type c value 'JP01' , " Plant
c_viewlist(15) VALUE 'KDEALBSZXVPCFQG'," View list
c_scm_view TYPE msichtausw-dytxt VALUE 'SCM View',
c_sd_view TYPE msichtausw-dytxt VALUE 'SD View',
c_seq_code(2) VALUE 'Z1', " Sequential Code
c_keep(1) TYPE c VALUE 'X', " Keep
c_group LIKE apqi-groupid VALUE 'IM306', " Session Name
c_tcode LIKE tstc-tcode VALUE 'MM02', " Transaction Code
c_blank(1) VALUE ' ', " Blank
c_intls(1) VALUE 'N'. " Logistic Status
Variables *
DATA: g_flag1(1), " Variable to hold
g_flag(1), " Variable to hold
g_file LIKE rlgrap-filename VALUE
'C:\Documents and Settings\seshur\Desktop\HCLT123.CSV'. " File name
Internal tables/ Work area *
Internal Table for Delimter
DATA : BEGIN OF t_delim OCCURS 0,
text(1000),
END OF t_delim.
Internal table for BDC processing
DATA : t_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
Internal table for holding the data which has to be uploaded.
DATA: BEGIN OF t_bpcs OCCURS 0,
matnr(15) TYPE c, " material no
dosage(40) TYPE c, " Dosage form(Local)
appearance(40) TYPE c, " Appearance
idcode(6) TYPE c, " Identification Code
prostformno(10) TYPE c, "SOP
weitab(7) TYPE c, " Weight/tablet
uom1(2) TYPE c, " UOM of Carton
uom2(2) TYPE c, " UOM of Case
carsize(14) TYPE c, " Carton size
cassize(14) TYPE c, " Case size
rupqty(11) TYPE c, " Round up
abvname(3) TYPE c, " Product short name
END OF t_bpcs.
*Internal table for t_bpcs
DATA: BEGIN OF t_mdata OCCURS 0,
matnr LIKE marc-matnr, " Material number
zzjp_dos_frm LIKE marc-zzjp_dos_frm, " Dosage form(Local)
zzjp_aprn LIKE marc-zzjp_aprn, " Appearance
zzjp_con_id LIKE marc-zzjp_con_id," Identification Code
zzjp_nyu_sop LIKE marc-zzjp_nyu_sop,"SOP
zzjp_wei_tab(10) type c , " Weight/tablet
zzjp_bio LIKE marc-zzjp_bio,"Biologics Indicator
zzjp_itf LIKE marc-zzjp_itf, " ITF code
zzjp_car(2) type c, " UOM of Carton
zzjp_cas(2) type c, " UOM of Case
zzjp_car_size(11) type c," Carton size
zzjp_cas_size(11) type c, " Case size
zzjp_rupqty(11) type c, " Round up
zzjp_init_ls LIKE marc-zzjp_init_ls, " Logistic Status
zzjp_re1 LIKE marc-zzjp_re1, "Document type(Local)
zzjp_re2 LIKE marc-zzjp_re2, "Report type
zzjp_re3 LIKE marc-zzjp_re3, "Shipping report type
zzjp_pro_id LIKE mvke-zzjp_pro_id," Product output sequence
zzjp_bu_id LIKE mvke-zzjp_bu_id, " Business unit indicator
zzjp_abv_name LIKE mvke-zzjp_abv_name," Product short name
zzjp_abv_id1 LIKE mvke-zzjp_abv_id1," Product short name output
zzjp_abv_id2 LIKE mvke-zzjp_abv_id2," Product short name internal
zzjp_spl_id LIKE mvke-zzjp_spl_id, " Sample internal order
END OF t_mdata.
Internal table for Mara Table
DATA: BEGIN OF t_mara OCCURS 0,
matnr LIKE mara-matnr, " material Number
vpsta LIKE mara-vpsta, " Maintenance status of complete material
pstat like mara-pstat, " Maintenance status
END OF t_mara.
Internal table for Material Master View Selection Screens
DATA: BEGIN OF t_bildtab OCCURS 0.
INCLUDE STRUCTURE mbildtab.
DATA: END OF t_bildtab.
internal table for T_bildtab
DATA: t_bildtab_dup LIKE t_bildtab OCCURS 0 WITH HEADER LINE.
*Work area for T_bildtab internal table(Views Selection)
DATA: BEGIN OF w_data,
flag1 type c,
anzd70 TYPE i,
field1(20) type c,
field2(20) type c,
field3(20) type c,
field4(20) type c,
count(2) TYPE c,
END OF w_data.
Main Processing *
START-OF-SELECTION.
Store data from file into internal table
PERFORM f_uplaod_data.
Transfer the uploaded data into t_mdata internal Table
PERFORM f_process_data.
Selecting The views based on Material number
PERFORM f_view_list.
Open a BDC Session
PERFORM f_bdc_open.
*Selecting the fields from mara table
SELECT matnr
vpsta
pstat
FROM mara
INTO TABLE t_mara
FOR ALL ENTRIES IN t_mdata
WHERE matnr = t_mdata-matnr.
SORT t_mara BY matnr.
SORT t_mdata BY matnr.
Transfer the uploaded data into BDCDATA structure
PERFORM f_process_bdc.
Close The BDC Session
PERFORM f_close_group.
*& Form F_VIEW_LIST *
Routine to used for Calling the function module *
Selection_views_find *
FORM f_view_list.
CALL FUNCTION 'SELECTION_VIEWS_FIND'
EXPORTING
bildsequenz = c_seq_code
pflegestatus = c_viewlist
TABLES
bildtab = t_bildtab
EXCEPTIONS
call_wrong = 1
empty_selection = 2
OTHERS = 3.
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. " F_VIEW_LIST
*& Form f612_view_sort *
Routine to used for Selecting The views based on Material Number *
FORM f612_view_sort.
t_bildtab_dup[] = t_bildtab[].
Reading the Internal table t_mara
READ TABLE t_mara WITH KEY matnr = t_mdata-matnr.
TRANSLATE t_mara-pstat USING ' $'.
CLEAR: w_data-flag1, w_data-anzd70.
LOOP AT t_bildtab_dup.
IF t_bildtab_dup-pstat CA t_mara-pstat.
w_data-anzd70 = w_data-anzd70 + 1.
IF t_bildtab_dup-kzanz IS INITIAL.
t_bildtab_dup-kzanz = 'X'.
w_data-flag1 = 'X'.
MODIFY t_bildtab_dup.
ENDIF.
ELSE.
IF NOT t_bildtab_dup-kzanz IS INITIAL.
CLEAR t_bildtab_dup-kzanz.
w_data-flag1 = 'X'.
MODIFY t_bildtab_dup.
ENDIF.
ENDIF.
ENDLOOP.
TRANSLATE t_mara-pstat USING '$ '.
IF NOT w_data-flag1 IS INITIAL.
SORT t_bildtab_dup BY kzanz DESCENDING idxbd ASCENDING.
ENDIF.
*Reading The internal table for T_bildtab_dup
READ TABLE t_bildtab_dup WITH KEY dytxt = c_scm_view.
IF t_bildtab_dup-kzanz = 'X'.
WRITE sy-tabix TO w_data-count.
w_data-count = w_data-count + 2.
IF w_data-anzd70 > 18.
w_data-count = w_data-count - 18.
ENDIF.
CONCATENATE 'MSICHTAUSW-DYTXT(' w_data-count ')' INTO w_data-field1.
CONCATENATE 'MSICHTAUSW-KZSEL(' w_data-count ')' INTO w_data-field2.
ENDIF.
READ TABLE t_bildtab_dup WITH KEY dytxt = c_sd_view.
IF t_bildtab_dup-kzanz = 'X'.
WRITE sy-tabix TO w_data-count.
IF w_data-anzd70 > 18.
w_data-count = w_data-count + 2.
w_data-count = w_data-count - 18.
ENDIF.
CONCATENATE 'MSICHTAUSW-DYTXT(' w_data-count ')' INTO w_data-field3.
CONCATENATE 'MSICHTAUSW-KZSEL(' w_data-count ')' INTO w_data-field4.
ENDIF.
ENDFORM. " f612_view_sort
*& Form f_uplaod_data *
Routine to used for Uploading the data from file to Internal table *
FORM f_uplaod_data.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = g_file
filetype = 'DAT'
TABLES
data_tab = t_delim
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF t_bpcs IS INITIAL.
LOOP AT t_delim.
SPLIT t_delim-text AT ',' INTO t_bpcs-matnr
t_bpcs-dosage
t_bpcs-appearance
t_bpcs-idcode
t_bpcs-prostformno
t_bpcs-weitab
t_bpcs-uom1
t_bpcs-uom2
t_bpcs-carsize
t_bpcs-cassize
t_bpcs-rupqty
t_bpcs-abvname.
APPEND t_bpcs.
ENDLOOP.
ENDIF.
ENDFORM. " f_uplaod_data
*& Form F_BDC_OPEN
Routine to create BDC Session to be processed
FORM f_bdc_open.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = c_group
keep = c_keep
user = sy-uname
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.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
MESSAGE S000 WITH 'Batch input session is created successfully'(T02).
ENDIF.
ENDFORM. " F_BDC_OPEN
*& Form F_PROCESS_BDC
Processing of BDCDATA Structure
FORM f_process_bdc.
LOOP AT t_mdata.
PERFORM f612_view_sort.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=AUSW'.
PERFORM f_bdc_field USING 'RMMG1-MATNR'
t_mdata-matnr.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
IF w_data-anzd70 > 18.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=P+'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
ENDIF.
reading the t_bildtab internal table
READ TABLE t_bildtab_dup WITH KEY dytxt = c_scm_view.
IF t_bildtab_dup-kzanz = 'X'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
w_data-field1.
PERFORM f_bdc_field USING w_data-field2 'X'.
g_flag = 'X'.
ENDIF.
reading the t_bildtab internal table
READ TABLE t_bildtab_dup WITH KEY dytxt = c_sd_view.
IF sy-subrc EQ 0.
g_flag = 'X'.
ENDIF.
IF t_bildtab_dup-kzanz = 'X'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
w_data-field3.
PERFORM f_bdc_field USING w_data-field4 'X'.
g_flag1 = 'X'.
ENDIF.
IF g_flag = 'X' AND g_flag1 = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-VTWEG'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'RMMG1-VKORG'
c_vkorg.
PERFORM f_bdc_field USING 'RMMG1-VTWEG'
c_vtweg.
CLEAR g_flag.
CLEAR g_flag1.
ELSE.
IF g_flag = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
ELSE.
IF g_flag1 = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-VTWEG'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'RMMG1-VKORG'
c_vkorg.
PERFORM f_bdc_field USING 'RMMG1-VTWEG'
c_vtweg.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=ENTR'.
ENDIF.
ENDIF.
ENDIF.
*Processing of SCM View
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM f_bdc_field USING 'BDC_CURSOR' 'MARC-ZZJP_DOS_FRM'.
PERFORM f_bdc_field USING 'MARC-ZZJP_DOS_FRM'
t_mdata-zzjp_dos_frm.
PERFORM f_bdc_field USING 'MARC-ZZJP_APRN'
t_mdata-zzjp_aprn.
PERFORM f_bdc_field USING 'MARC-ZZJP_CON_ID'
t_mdata-zzjp_con_id.
PERFORM f_bdc_field USING 'MARC-ZZJP_NYU_SOP'
t_mdata-zzjp_nyu_sop.
PERFORM f_bdc_field USING 'MARC-ZZJP_WEI_TAB'
t_mdata-zzjp_wei_tab.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAR'
t_mdata-zzjp_car.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAS'
t_mdata-zzjp_cas.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAR_SIZE'
t_mdata-ZZJP_CAR_SIZE.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAS_SIZE'
t_mdata-ZZJP_CAS_SIZE.
PERFORM f_bdc_field USING 'MARC-ZZJP_RUPQTY'
t_mdata-ZZJP_RUPQTY.
PERFORM f_bdc_field USING 'MARC-ZZJP_BIO'
t_mdata-zzjp_bio.
PERFORM f_bdc_field USING 'MARC-ZZJP_ITF'
t_mdata-zzjp_itf.
PERFORM f_bdc_field USING 'MARC-ZZJP_INIT_LS'
t_mdata-zzjp_init_ls.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE1'
t_mdata-zzjp_re1.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE2'
t_mdata-zzjp_re2.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE3'
t_mdata-zzjp_re3.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'/00'.
*Processing of SD View
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM f_bdc_field USING 'BDC_CURSOR' 'MVKE-ZZJP_PRO_ID'.
PERFORM f_bdc_field USING 'MVKE-ZZJP_PRO_ID'
t_mdata-zzjp_pro_id.
PERFORM f_bdc_field USING 'MVKE-ZZJP_BU_ID'
t_mdata-zzjp_bu_id.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_NAME'
t_mdata-zzjp_abv_name.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_ID1'
t_mdata-zzjp_abv_id1.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_ID2'
t_mdata-zzjp_abv_id2.
PERFORM f_bdc_field USING 'MVKE-ZZJP_SPL_ID'
t_mdata-zzjp_spl_id.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM f_bdc_dynpro USING 'SAPLSPO1' '0300'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=YES'.
perform f_bdc_insert.
REFRESH T_BDCDATA.
ENDLOOP.
ENDFORM. " F_PROCESS_BDC
*& Form f_bdc_dynpro
p_prog is the program name to which data is passed *
p_dyno is the screen number to which the data is passed
Routine for populating the BDCDATA structure with the
Screen related information
FORM f_bdc_dynpro USING p_prog
p_dyno.
t_bdcdata-program = p_prog.
t_bdcdata-dynpro = p_dyno.
t_bdcdata-dynbegin = 'X'.
APPEND t_bdcdata.
CLEAR t_bdcdata.
ENDFORM. " F_bdc_dynpro
*& Form F_BDC_FIELD
p_fnam is the field name to which value is passed
p_fval is the field value which is passed
p_fnam is the field name to which value is passed
p_fval is the field value which is passed
FORM f_bdc_field USING p_fnam
p_fval.
t_bdcdata-fnam = p_fnam.
t_bdcdata-fval = p_fval.
APPEND t_bdcdata.
CLEAR t_bdcdata.
ENDFORM. " F_bdc_field
*& Form F_PROCESS_DATA *
Routine to used for moving data from T_bpcs internal table to *
t_mdata Internal Table *
FORM f_process_data.
LOOP AT t_bpcs.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = t_bpcs-matnr
IMPORTING
output = t_mdata-matnr.
MOVE t_bpcs-dosage TO t_mdata-zzjp_dos_frm.
MOVE t_bpcs-appearance TO t_mdata-zzjp_aprn.
MOVE t_bpcs-idcode TO t_mdata-zzjp_con_id.
MOVE t_bpcs-prostformno TO t_mdata-zzjp_nyu_sop.
MOVE t_bpcs-weitab TO t_mdata-zzjp_wei_tab.
MOVE c_blank TO t_mdata-zzjp_bio.
MOVE c_blank TO t_mdata-zzjp_itf.
MOVE t_bpcs-uom1 TO t_mdata-zzjp_car.
MOVE t_bpcs-uom2 TO t_mdata-zzjp_cas.
MOVE t_bpcs-carsize TO t_mdata-zzjp_car_size.
MOVE t_bpcs-cassize TO t_mdata-zzjp_cas_size.
MOVE t_bpcs-rupqty TO t_mdata-zzjp_rupqty.
MOVE c_intls TO t_mdata-zzjp_init_ls.
MOVE c_blank TO t_mdata-zzjp_re1.
MOVE c_blank TO t_mdata-zzjp_re2.
MOVE c_blank TO t_mdata-zzjp_re3.
MOVE c_blank TO t_mdata-zzjp_pro_id.
MOVE c_blank TO t_mdata-zzjp_bu_id.
MOVE t_bpcs-abvname TO t_mdata-zzjp_abv_name.
MOVE c_blank TO t_mdata-zzjp_abv_id1.
MOVE c_blank TO t_mdata-zzjp_abv_id2.
MOVE c_blank TO t_mdata-zzjp_spl_id.
APPEND t_mdata.
ENDLOOP.
ENDFORM. " F_PROCESS_DATA
*& Form f_bdc_close
Routine to close the BDC Session
FORM f_close_group.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
not_open = 1
queue_error = 2
OTHERS = 3.
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. " f_close_group
*& Form f_bdc_insert
routine to input batch data into the Transaction MM02 from the
session created
FORM f_bdc_insert.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = c_tcode
TABLES
dynprotab = t_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.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " f_bdc_insert
Reward Points if it is useful
Thanks
Seshu -
LSMW for uploading Vendor Invoice in F-43
Hi All,
I want to upload Vendor Invoice using LSMW in F-43. But in the 3rd Step- Maintain Source Fields, I am unable to maintain same field more than once. System throws error stating that same field is maintained. Hence, when I complete all the steps and run the Batch Input Session, I dont have the respective fields and data in them.
I want to know whether we can upload Transactions through LSMW or its only useful for Master Data upload.
Thanks.Hi,
It is better to create a customized transaction code for the below BAPI to upload the vendor invoice/credit note details
API_ACC_DOCUMENT_POST - Can be used to post AP/AR.
following are the input fields
Header Text
Site
Document Date
Posting Date
Vendor
GL
Reference text
Item Text1
Item Text2
Amount
Currency
If the amount with credit indicator treated as GL credit and there is no sign with amount it should be treated as GL debit
thanks
Muhammed Riyas -
BAPI_INSPECTIONPLAN_CREATE -Program for uploading data
Hi,
we are having some difficulties in loaing data through LSMW -Direct input method.
I want to use BAPI_INSPECTIONPLAN_CREATE for uploading my data.
I am new to this type of loads.Any ideas?
regard
PraveenHello,
i see YSCI_MAEX_UPLOAD_R3 dveloped report by you. (starting with Y*)
When you directly updates tables you wont get any log, as soon as you report wont generate them.
Usually report should (after executed) generate spool when "WRITE" command is present.
Check when executed in background whether it does generate spool.
TA: SM37 in the "job log" check for spool.
@Anyway, standard log can be seen in GTS in TA: SLG1 (but this is not the case).
Best regards,
Gabriel.
@Spool can be easily downloaded to PC. -
How to creat LSMW to Upload data FB01
Dear All
I want to upload data with defrenet reference for Ex:-
I have data form excel sheet like this:-
code Account Account name assigin. value date cost center text doc number
40 XXXX .............. 123 XXXXXXX ??????????? 100000123
40 XXXX ............. 111 XXXXXX ??????????? 100000123
50 XXXX ............. 56456 12/12/2013 ??????????? 100000123
40 XXXX .............. 123 XXXXXXX ??????????? 100000124
40 XXXX ............. 111 XXXXXX ??????????? 100000124
50 XXXX ............. 56456 12/12/2013 ??????????? 100000124
40 XXXX .............. 123 XXXXXXX ??????????? 100000125
40 XXXX ............. 111 XXXXXX ??????????? 100000125
50 XXXX ............. 56456 12/12/2013 ??????????? 100000125
and I gave it doc number I want to uploud this data to sap
any one has any ideaMustafa,
Ok. Import the enclosed file in your LSMW and create a excel sheet like below:
BLDAT C(008) Document Date
BLART C(002) Document Type
BUKRS C(004) Company Code
BUDAT C(008) Posting Date
WAERS C(004) Currency
XBLNR C(016) Reference
BKTXT C(025) Header Text
NEWBS C(002) Posting Key 01
NEWKO C(017) GL Account
WRBTR C(013) Amount
ZUONR C(018) assignment
SGTXT C(050) Historical Text
NEWKO2 C(017) Off setting GL Account
WRBTR2 C(013) Off Setting Amount
ZUONR2 C(018) assignment
SGTXT2 C(050) Historical Text
NEWBS2 C(002) Posting Key 02
If you have a ABAPer I recommend you ask for a development for document mass upload.
Let me know if you need more information.
Regards -
Scheduling Problem for uploading Data from Flat file to SAP
Hi guys,
I am facing a weared problem in uploading some leave records in z table. The code is working fine if we run it through se38 after selecting the file from a shared location from production server which has all the access rights.
This folder lies in the \usr folder of SAP Production.
I have kept all the Flat files in the shared path "
Tis-mum-iz-s1\migration\SAP-INT\leave\" ...
To give u exact directory structure..
Tis-mum-iz-s1 is the Server Name
usr is the SAP System folder used for uploads and downloads
usr |
...-> Migration |
-> SAP-INT |
-> leave -> (Flat Files)
Migration folder is shared with all rights.
Obviously, we cannot give shared drive as the variant in the scheduler.
So i use the system path i.e. \usr\sap\tmp\migration\sap-int\leave\ as the variant.
All my other download programs are working fine with this path as a variant...
But my this particular upload program does not work with this path....
I am giving u my code...
TATA INTERACTIVE SYSTEMS (A Division of TATA INDUSTRIES LIMITED)
REPORT : ZMIGRATE_ZLEAVE
DESCRIPTION : To Upload the Leave data. (ZLEAVE)
CREATED BY : Abhishek Bachhawat
CREATED ON : 01.09.2005
CONSULTANT : ANAND
REPORT ZMIGRATE_ZLEAVE.
TABLES: ZLEAVE.
data: begin of wtab,
MANDT(3),
ZLVID(8),
PERNR(8),
ZSTDT(8),
ZENDT(8),
ZDAYS(4),
AEDAT(8),
ERDAT(8),
end of wtab,
itab like WTAB occurs 0 WITH HEADER LINE.
data: temp like zleave occurs 0 WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK file
WITH FRAME TITLE text-005.
parameters: file like rlgrap-filename Obligatory.
Concatenate File SY-DATUM '_Leave.txt' into File.
SELECTION-SCREEN END OF BLOCK file.
at SELECTION-SCREEN ON VALUE-REQUEST FOR file .
CALL FUNCTION 'WS_FILENAME_GET'
IMPORTING
FILENAME = file.
IF SY-SUBRC <> 0.
ENDIF.
start-of-selection.
if file ne space.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = FILE
FILETYPE = 'DAT'
TABLES
DATA_TAB = ITAB.
else.
message e000(zps) with 'Specify a file'.
endif.
SORT ITAB BY ZLVID.
LOOP AT ITAB.
REFRESH TEMP.
CLEAR TEMP.
TEMP-MANDT = sy-mandt.
TEMP-ERDAT = SY-DATUM.
TEMP-ZLVID = ITAB-ZLVID.
TEMP-PERNR = ITAB-PERNR.
TEMP-ZSTDT = ITAB-ZSTDT.
TEMP-ZENDT = ITAB-ZENDT.
TEMP-ZDAYS = ITAB-ZDAYS.
TEMP-AEDAT = ITAB-AEDAT.
TEMP-ERDAT = ITAB-ERDAT.
APPEND TEMP.
SELECT SINGLE *
FROM ZLEAVE
WHERE ZLVID = TEMP-ZLVID
AND PERNR = TEMP-PERNR.
IF SY-SUBRC = 0.
UPDATE ZLEAVE SET ZSTDT = TEMP-ZSTDT
ZENDT = TEMP-ZENDT
ZDAYS = TEMP-ZDAYS
AEDAT = TEMP-AEDAT
ERDAT = TEMP-ERDAT
WHERE ZLVID = TEMP-ZLVID
AND PERNR = TEMP-PERNR.
ELSE.
INSERT ZLEAVE FROM TABLE TEMP.
COMMIT WORK.
ENDIF.
ENDLOOP.Hi,
open dataset file for input in text mode.
check sy-subrc = 0.
while sy-subrc = 0.
read dataset file into wa.
if sy-subrc = 0.
append wa to itab.
else.
exit.
endif.
endwhile.
close dataset file.
regards
Siggi
PS: check also the F1-help for open, read and close statements! -
FM for uploading data into internal table from Excel sheet
Hi,
I have a slight problem in one of the function modules that I have created. Actually it has been copied from a standard SAP function module KCD_EXCEL_OLE_TO_INT_CONVERT. Now my created function module is throwing me a dump suggesting Data objects in a Unicode program are not convertible. Can anybody help me out in removing the error .
Actually the need of copying the standard FM to a ZFM is to increase the length of the column which can be uploaded thru this FM. The standard FM has a restriction of being able to upload 32 characters whereas my requirement is to upload data having at least 150 characters. So in order to care the need I made a ZStructure ZAKHIL_CELLS taking the Value parameters as 150 characters instead of 32 characters.
Well this is all done because I wanted to upload a excel sheet into an internal table and not use a tab delimited file. Can anybody help in this regard or suggest some other function module which can upload more than 150 characters from a excel sheet .
m also attaching structure of my ZStructure for ur reference .
STRUCTURE ZAKHIL_CELLS1 .
ROW KCD_EX_ROW_N NUMC 4 Flexible Excel upload: row number
COL KCD_EX_COL_N NUMC 4 Column
VALUE KCD_VALUE CHAR 150 External Data Transfer: Values of Parameters or Variables
Thanks & Rgds,
Akhilhi,
sample excel sheet.
coloumn 1 is name and column 2 is age
name age
A 8
C 13
D 55
DATA : int_excel LIKE alsmex_tabline OCCURS 0 WITH HEADER LINE.
data : record like db_name_age occurs 0 with header line.
DATA : v_start_col TYPE i VALUE '1', "starting col
v_start_row TYPE i VALUE '1', " starting row
v_end_col TYPE i VALUE '2', " total columns
v_end_row TYPE i VALUE '10'. "total no of record
FORM f_upload .
CLEAR : int_excel, int_excel[].
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = wf_filename
i_begin_col = v_start_col
i_begin_row = v_start_row
i_end_col = v_end_col
i_end_row = v_end_row
TABLES
intern = int_excel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
*Message is 'Unable to upload data from ' wf_filename.
MESSAGE e169(zm050) WITH wf_filename.
ELSE.
SORT int_excel BY row col.
REFRESH : record.
CLEAR : record.
LOOP AT int_excel.
CASE int_excel-col. "go thru each column.
WHEN 1.
record-name = int_excel-value.
WHEN 2.
record-age = int_excel-value.
ENDCASE.
AT END OF row.
APPEND record.
CLEAR record.
ENDAT.
ENDLOOP.
*inserting into table
ENDIF.
if this helped pld rewrd points,
rgrds
anver -
Is a BAPIBadi available for uploading data to create Service Entry Sheet?
Dear MM Gurus,
Users are currently entering Service PO and creating Service Entry sheet for the Subcontractor consultants (using Transaction code - ML81N) by referring to the Service PO.
Due to the high amount of data, the users do not want to create Service Entry sheet using ML81N.
Rather, they have the flat files containing approved timesheet data of the consultants every month and want to upload the flat files. Is there any BAPI or BADI available for uploading such data monthly, to create a Service Entry sheet automatically? Is this feasible?
Do other companies follow this procedure? Any ideas/suggestions are welcome.
thanks
MHello ,,,
BAPI_ENTRYSHEET_CREATE
Take the help of ABAPER and write a upload progrme for creation of Service entry sheet.
Mahesh Naik -
LSMW for master data & transaction data
Hello Experts,
We have master data :
1)Material
2)Vendor
and
Transaction data
3)Open PR
4)Open PO
5)Stock Posting
Can we use LSMW for all these?
Or which one is recommended for each one of them...
Whether BDC or LSMW recommended ?
Kindly suggest...
Regards
Maheshalternativ you can use standard reports:
RFBIKR00 fpr vendors
RMDATIND for material
RM06BBI0 FOR PR
RM06EEI0
RM06EEI1
RSTXLITF
for PO
and RM07MMBL for material (transaction data)
hope that helps
Andreas
Maybe you are looking for
-
SOA Suite 11.1.1.5
Can anybody provide me the link to download SOA Suite 11.1.1.5 for OIM 11.1.1.5. I am not able to get the installer for 11.1.1.5. In the Oracle site it is available for SOA Suite 11.1.1.6
-
Hello, I have a question. On the 13" Macbook Pro there is only one audio port for audio in-out. But how can I connect a headset with two cables(earphones and microphone) to a Macbook Pro? I hope you can help me further Thanks, Djmaster329
-
In Premiere CS5 how do you move a still image smoothly?
I am working with a colleague and we want to be able to move an image on the screen to another location on screen but it needs to look natural. The movement needs to accelerate from stand still, then be continuous movement and then decelerating movem
-
Settings for 30 second TV spot?
I have a client that needs a part of a video I produced for his website to be used for a 30 second TV spot. I have never produced for broadcast and need a little help. What is the best way to get a TV ready file; straight from FCP or export to Comp
-
No scientific notation in csv file
Hi, All I have a package is extracting data from DB to CSV file. And I made up a column like '48484848484848484', when I load this column into CSV file, it shows me scientific notation along with the data. How can I get rid of the scientific notation