Problem in bdc for adding another inspection type in mm01
Hi,
i had made a code in which it will maintain the quality view and there it will going to insert twi insoection type ZSTAGE and 03 . Te problem is when it uploads the value of 1 inspection type it works fine but when it is going to insert another insoection type i.e. 03 it again picks up the zstage .
plzz provide me guidlines how to solve this problem that both of the inspection type should be inserted.
here's d link for the code:-
http://docs.google.com/Doc?id=dfxswwff_1p9zdnnf2
Edited by: ricx .s on Apr 20, 2009 8:48 AM
ur code looking ok..
just change it..
call function <b>'WS_UPLOAD'</b>--->to <b>gui_upload</b>
EXPORTING
FILENAME = p_fl_mct
FILETYPE = 'ASC'
TABLES
data_tab = Tmp_tab
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
OTHERS = 10.
if sy-subrc <> 0.
message e398(00) with 'Unable to upload data'.
endif.
Similar Messages
-
Configure another Inspection Type for Production Order
Hi QM Gurus,
I have one scenario, my client wants to have another inspection type for inspection lot origin goods receipt from production because they have this requirement that for some materials they need to have a status profile that will be active for inspection type standard 04. And there are also some materials from goods receipt from production that does not need status profile. Since the only thing that we could assign as specific status profile is to its inspection type. Hence, i need to create another inspection type for lot origin goods receipt from production aside from inspection type 04 that will create automatic inspection lots with different status profiles.I try this in configuration but no inspection lots has been made for new inspection type assigned to LOt origin 04 and also assigned in the material master inspection set-up. How will i do this???
Thanks.
Regards,
Matildo, Edsel
QM ConsultantHello Edsel,
you can configure for example an inspection type 0401 and activate this inspection type for the inspection origin 04 in customizing. Please look at the following customizing items:
Transaction QCC3
-> Inspection Lot Creation
- Maintain Inspection Types
- Maintain Inspection Lot Origins and Assign Inspection Types
By activating the correspondent inspection type in the material master you can decide which inspection type is used. If you need both then you could think about using the exit QAAT0001 to assign the correspondent inspection type.
Regards
Isabelle -
Problem in BDC FOR uploading more than 1 insep. typ in QM view for MM01
Hi,
I had made a BDC in which i am trying to upload the data for the QM view which is being extended in it but the problem is when the program reaches the to QM view it is only able to upload only 1 inspection Type which is working fine but when there is more than 1 it gives error that its QM View has already maintained. Please provide me guiddlines how to solve this problem .
Here's is the link to the code which i am trying to modify:-
http://docs.google.com/Edit?id=dngp529_2fxwgmrgg
Edited by: ricx .s on Apr 16, 2009 2:30 PMhi,
But is it not possible that while creating the insepction type for the first it should simultaneously take the value of 2nd inspection type .
see,ina bdc of qp01 or ca01 we can insert the values at the screen but why can't we do d same in the bdc of mm01,
I had made a bdc for tcode MM02 in which i am able to upload the data but in that there is a problem that some of the materials have the Quality managmnt View at position no. 11 or 13 of the screen.
here's is d link for the code of the program :-
http://docs.google.com/Doc?id=dngp529_3wcgnjdf3
plzz provide me guidelines how to solve it .
Edited by: ricx .s on Apr 17, 2009 9:26 AM
Edited by: ricx .s on Apr 17, 2009 10:56 AM -
Hi,
I am working on a BDC for the tcode MM02 in which i have to insert the Inspection Type in the Quality Managment View of materials. i had executed the code which was working fine,but when i executed it ,it remains on the same screen where the after specifying on the file path. I dont know why it is happening ,plzz provide me guidelines for solving this problem.report ZMM02 no standard page heading line-size 255.
include bdcrecx1.
DATA: BEGIN OF ZVBM OCCURS 0,
MATNR(18) TYPE C,
BRGEW(16) TYPE C,
NTGEW(16) TYPE C,
END OF ZVBM.
start-of-selection.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = 'c:\vijay.txt'
FILETYPE = 'DAT'
HEADLEN = ' '
LINE_EXIT = ' '
TRUNCLEN = ' '
USER_FORM = ' '
USER_PROG = ' '
DAT_D_FORMAT = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = ZVBM
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.
perform open_group.
LOOP AT ZVBM.
perform bdc_dynpro using 'SAPLMGMM' '0060'.
perform bdc_field using 'BDC_CURSOR'
'RMMG1-MATNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RMMG1-MATNR'
zvbm-matnr.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
'X'.
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'MAKT-MAKTX'
'VIJAY3'.
perform bdc_field using 'MARA-MEINS'
'KG'.
perform bdc_field using 'MARA-MATKL'
'01'.
perform bdc_field using 'MARA-SPART'
'01'.
perform bdc_field using 'BDC_CURSOR'
'MARA-NTGEW'.
perform bdc_field using 'MARA-BRGEW'
zvbm-brgew.
perform bdc_field using 'MARA-GEWEI'
'KG'.
perform bdc_field using 'MARA-NTGEW'
zvbm-ntgew.
perform bdc_transaction using 'MM02'.
ENDLOOP.
perform close_group. -
Problem in bdc for table control for line items
Hi experts,
I am runnig a bdc for ME52.
i am just entering PR number, in the second screen i have got all the line items. I need to select these line item 10 and double click or hit enter, it takes me to screen 3, there im just checking a checkbox and saving.
Again i need to select the line item 20 and double click or hit enter. again the same process.
Again repeat for all the line items.
But my problem is it is updating everytime for only line item 10. for line item 20 and others it say "no chnge in the data".
I am pasting my code here. please check and revert me back .plz.
DATA: w_output LIKE LINE OF i_output.
REFRESH I_ITAB[].
SELECT * FROM EBAN
INTO TABLE i_itab
WHERE banfn in s_banfn AND
bsart in s_bsart AND
bstyp in s_bstyp AND
matnr in s_matnr AND
werks in s_werks AND
lfdat in s_lfdat AND
pstyp in s_pstyp AND
knttp in s_knttp AND
estkz in s_estkz AND
loekz eq ' '.
IF sy-subrc = 0.
CLEAR: w_itab,
i_poitab[].
SORT i_itab by banfn.
LOOP AT i_itab INTO w_itab where menge GT eban-bsmng.
IF p_close = 'X' AND p_rep = 'X'.
IF w_itab-ebakz = 'X'.
w_itab-ebakz = ' '.
APPEND w_itab to i_poitab.
ENDIF.
ELSEIF p_open = 'X' AND p_rep = 'X'.
IF w_itab-ebakz = ' '.
w_itab-ebakz = 'X'.
APPEND w_itab to i_poitab.
ENDIF.
ELSEIF p_close = 'X' AND p_repw = 'X'.
IF w_itab-ebakz = ' '.
APPEND w_itab to i_poitab.
ENDIF.
ELSEIF p_open = 'X' AND p_repw = 'X'.
IF w_itab-ebakz = 'X'.
APPEND w_itab to i_poitab.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
LOOP AT i_poitab into w_output.
APPEND w_output to i_output.
PERFORM CALL_BDC.
endloop.
IF p_rep = 'X'.
PERFORM CALL_BDC.
ENDIF.
ENDFORM. " GET_DATA
*& Form CALL_BDC
text
--> p1 text
<-- p2 text
FORM CALL_BDC.
DATA: seltab(5) TYPE N,
seltab1(2) TYPE N,
tempvar(30) TYPE N,
cnt TYPE N.
LOOP AT i_output.
clear: seltab,
seltab1.
seltab = i_output-bnfpo.
seltab1 = seltab+2(2).
perform bdc_dynpro using 'SAPMM06B' '0105'.
perform bdc_field using 'BDC_CURSOR'
'EBAN-BANFN'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'EBAN-BANFN'
i_output-banfn.
perform bdc_dynpro using 'SAPMM06B' '0106'.
clear tempvar.
*cnt = 1.
concatenate 'EBAN-BNFPO(' seltab1 ')' into tempvar.
perform bdc_field using 'BDC_CURSOR'
'EBAN-BNFPO(seltab1)'.
tempvar.
perform bdc_field using 'BDC_OKCODE'
'=DETA'.
perform bdc_field using 'RM06B-BNFPO'
i_output-bnfpo.
perform bdc_field using 'RM06B-TCSELFLAG(seltab1)'
'X'.
perform bdc_dynpro using 'SAPMM06B' '0102'.
perform bdc_field using 'BDC_CURSOR'
'EBAN-EBAKZ'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'EBAN-EBAKZ'
i_output-ebakz.
CALL TRANSACTION 'ME52' USING bdc_data MODE 'A'
MESSAGES INTO i_bdcmsg.
COMMIT WORK AND WAIT.
ENDLOOP.
ENDFORM. " CALL_BDC
*& Form bdc_dynpro
text
-->P_0686 text
-->P_0687 text
FORM bdc_dynpro USING program dynpro.
CLEAR bdc_data.
bdc_data-program = program.
bdc_data-dynpro = dynpro.
bdc_data-dynbegin = 'X'.
APPEND bdc_data.
CLEAR bdc_data.
ENDFORM.
thanks,
NLooks like table control logic is wrong -- do compare with below program...
only table contril area
REPORT ZPadmam
NO STANDARD PAGE HEADING LINE-SIZE 255.
DATA : BEGIN OF itab OCCURS 0,
i1 TYPE i,
lifnr LIKE rf02k-lifnr,
bukrs LIKE rf02k-bukrs,
ekorg LIKE rf02k-ekorg,
ktokk LIKE rf02k-ktokk,
anred LIKE lfa1-anred,
name1 LIKE lfa1-name1,
sortl LIKE lfa1-sortl,
land1 LIKE lfa1-land1,
akont LIKE lfb1-akont,
fdgrv LIKE lfb1-fdgrv,
waers LIKE lfm1-waers,
END OF itab.
DATA : BEGIN OF jtab OCCURS 0,
j1 TYPE i,
banks LIKE lfbk-banks,
bankl LIKE lfbk-bankl,
bankn LIKE lfbk-bankn,
END OF jtab.
DATA : cnt(4) TYPE n.
DATA : fdt(20) TYPE c.
DATA : c TYPE i.
INCLUDE bdcrecx1.
START-OF-SELECTION.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = 'C:\first1.txt'
filetype = 'DAT'
TABLES
data_tab = itab.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = 'C:\second.txt'
filetype = 'DAT'
TABLES
data_tab = jtab.
LOOP AT itab.
PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-KTOKK'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF02K-LIFNR'
itab-lifnr.
PERFORM bdc_field USING 'RF02K-BUKRS'
itab-bukrs.
PERFORM bdc_field USING 'RF02K-EKORG'
itab-ekorg.
PERFORM bdc_field USING 'RF02K-KTOKK'
itab-ktokk.
PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-LAND1'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFA1-ANRED'
itab-anred.
PERFORM bdc_field USING 'LFA1-NAME1'
itab-name1.
PERFORM bdc_field USING 'LFA1-SORTL'
itab-sortl.
PERFORM bdc_field USING 'LFA1-LAND1'
itab-land1.
PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-KUNNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKN(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
cnt = 0.
LOOP AT jtab WHERE j1 = itab-i1.
cnt = cnt + 1.
CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-banks.
CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-bankl.
CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-bankn.
IF cnt = 5.
cnt = 0.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=P+'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKN(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
ENDIF.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0210'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-FDGRV'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFB1-AKONT'
itab-akont.
PERFORM bdc_field USING 'LFB1-FDGRV'
itab-fdgrv.
PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-ZTERM'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0220'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB5-MAHNA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0310'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFM1-WAERS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFM1-WAERS'
itab-waers.
PERFORM bdc_dynpro USING 'SAPMF02K' '0320'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-LIFNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_transaction USING 'XK01'.
ENDLOOP.
PERFORM close_group.
Thanks
Seshu -
hi all,
I had written the bdc for mr21 using session method. I am not able to change the standard price using BDC. Recording is perfect. Using transaction mr21 I can change the price but using bdc , it's not changing.It is not giving any error. it gives message that no changes in price have been made.
Thanks in Advance.
Regards,
AtulHi,
In the code check for one thing...
when you are populating the price value in the table use the following code and then check if it works.
data lw_string type string.
write price to lw_string currency currncykey " here price is the variable which contains the value... and
" Currency key is the currency key for the price which you can get from the table where you get the price.
"then
bdcdata-fieldval = lw_string.
append bdcdata.
Just check if this works, As earlier I faced a similar kind of a problem when I did this it was resolved....
Regards,
Siddarth -
hello all,
i am doing BDC for change routing (ca02) transaction.
in that my need is to assign PRT allocation for operations.
i have written a program for it but if suppose for a particlular operation i want to assign PRT and if there are no PRT assigned for that particular operation before that recording fails.and if already there is atleast one PRT assigned to that operation it runs fine. so i want to remove this error.for that may be i shd first record tha no of PRTS on screen and save that in particular counter and if suppose its greater than 0 then it will run the code and if not it will escape.
I know some of u will not understand the problem..in that case i have all screen shots and program ready for it ....plz send u r mail address to me and i will send u my problem with all details on u r mail id.waiting for quick reply.
Edited by: abhijeet shastri on Feb 5, 2008 9:01 AMhi,
Here you have to take 2 perform statements, one is for PRT and another one is for without PRT
After populating the input internal table, need check whether the particuler operation is having PRT values or not.
if PRT values are available then go for PRT screen (Perform statement for PRT values).
if not PRT values are available then go for not PRT screen.
If the PRT screen is depedable on process operation values.
then you have to make prevalidation . in prevalidation the appropriate operation containing any values for the same then call perform statement for the same. else skip that session through coding.
Ask to your functional consultant regarding tables (In which table you will PRT screen values based on process operation fields) for PRT pre validation.
I hope this message will clear your doubt
Regards,
Sreenivasa Babu -
Problem in BDC for Transaction F-02
Hi Friends,
I am struck up in BDC for TransactionF-02.i am unable to load the data of my test data.when i am loading its loading the second record not the first record.
Below is the test data
H,RAWATEB,1
M,11072006,ZE,1000,11072006,20,SAR,,,,,RAWATIB,,SALARIES,1000
D,50,482000,3648.61,Z1,,,1000,1111,,,,,,
D,40,113001,3648.61,Z1,,,1000,,,,,,,
D,17,001011,3000000.00,Z1,,,1000,,,,,,,
D,40,113001,3000000.00,Z1,,,1000,,,,,,,
M,17082004,ZE,1000,11072006,20,SAR,,,,,RAWATIB,,SALARIES,1000
D,50,482000,3202.82,Z1,,,1000,1112,,,,,,
D,40,113001,3202.82,Z1,,,1000,,,,,,,
D,50,482000,2600000.00,Z1,,,1000,1111,,,,,,
D,40,001011,2600000.00,Z1,,,1000,,,,,,,
T,0000000002
<b></b>
the report is below
REPORT ZFGLDR0030 line-count 60
line-size 160
message-id 00.
====================================================================
****************************TABLES**********************************
====================================================================
tables: bkpf.
====================================================================
**************************RECORD LAYOUTS****************************
====================================================================
Data: begin of bdc_tab occurs 200.
include structure bdcdata.
data: end of bdc_tab.
Data: Begin of tmp_tab occurs 200,
fld1(255) type c,
end of tmp_tab.
DATA: BEGIN OF upload_tab OCCURS 200,
fld1(1) type c,
fld2(10) type c,
fld3(10) type c,
fld4(16) type c,
fld5(10) type c,
fld6(2) type c,
fld7(4) type c,
fld8(10) type c,
fld9(10) type c,
fld10(10) type c,
fld11(10) type c,
fld12(12) type c,
fld13(25) type c,
fld14(50) type c,
fld15(4) type c,
fld16(1) type c,
END OF upload_tab.
data : tmp_rec like upload_tab.
DATA: BEGIN OF upload1_tab OCCURS 200,
fld1(1) type c,
fld2(10) type c,
fld3(10) type c,
fld4(16) type c,
fld5(10) type c,
fld6(2) type c,
fld7(4) type c,
fld8(10) type c,
fld9(10) type c,
fld10(10) type c,
fld11(10) type c,
fld12(12) type c,
fld13(25) type c,
fld14(50) type c,
fld15(4) type c,
fld16(1) type c,
END OF upload1_tab.
Data: upload2_tab like tmp_rec occurs 200 with header line.
Data: Del_tab like tmp_rec occurs 200 with header line.
DATA: V_SYTABIX TYPE I,
v_kunnr like knb1-kunnr,
v_brsch like kna1-brsch,
v_datum like sy-datum,
v_tmp(1) type c,
v_flag type i,
v_ccode(10) type c,
v_glcd(10) type c,
v_len type n,
v_rem(50) type c,
v_docno(12) type c,
v_dtype(3) type c,
v_sno(8) type n,
v_upd_flag type i,
v_idx like sy-tabix,
v_budat like bkpf-budat,
v_fld5(10) type c,
v_date(10) type c.
====================================================================
*********************SELECTION-SCREEN******************************
====================================================================
selection-screen: begin of block b1 with frame .
parameters:p_fl_mct like rlgrap-filename
default 'C:\test' obligatory,
p_sesid like apqi-groupid default 'RAWATIB',
p_user like apqi-userid default sy-uname.
selection-screen: end of block b1.
selection-screen: begin of block b2 with frame .
parameters:p_opt1 radiobutton group grp1 default 'X',
p_opt2 radiobutton group grp1,
p_budat like bkpf-budat.
selection-screen: end of block b2.
====================================================================
Validate SELECTION-SCREEN **************************
====================================================================
At Selection-screen.
translate p_fl_mct to upper case.
if p_opt2 = 'X' and p_budat = '00000000'.
message e398(00) with 'Please enter date to use as Posting date'.
endif.
at selection-screen on value-request for p_fl_mct.
data : v_mask(120) type c.
v_mask = ',IT2 files (.),.'.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = ' '
DEF_PATH = ' '
MASK = v_mask
TITLE = 'File Selection for Upload'
IMPORTING
FILENAME = p_fl_mct
RC =
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
end-of-selection.
====================================================================
*****************************CONSTANTS******************************
====================================================================
====================================================================
*****************************VARIABLES******************************
====================================================================
====================================================================
TOP OF PAGE*******************************
====================================================================
top-of-page.
start-of-selection.
v_upd_flag = 0.
perform initialise_process.
perform bdc_open.
perform process_upload_tab.
perform terminate_process.
end-of-selection.
====================================================================
Form : Initialise_Process *
====================================================================
FORM initialise_process.
Initialises variables *
move : sy-repid to sy-tvar0,
sy-uname to sy-tvar1,
p_sesid to sy-tvar2,
sy-pagno to sy-tvar3.
write: sy-datum to sy-tvar4,
sy-uzeit to sy-tvar5.
Selecting the GL codes to be updated**********************
call function 'WS_UPLOAD'
EXPORTING
FILENAME = p_fl_mct
FILETYPE = 'ASC'
TABLES
data_tab = Tmp_tab
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
OTHERS = 10.
if sy-subrc <> 0.
message e398(00) with 'Unable to upload data'.
endif.
Validation for Upload file **********************
read table tmp_tab index 1.
split tmp_tab-fld1 at ',' into tmp_rec-fld1
tmp_rec-fld2
tmp_rec-fld3
tmp_rec-fld4
tmp_rec-fld5
tmp_rec-fld6
tmp_rec-fld7
tmp_rec-fld8
tmp_rec-fld9
tmp_rec-fld10
tmp_rec-fld11
tmp_rec-fld12
tmp_rec-fld13
tmp_rec-fld14
tmp_rec-fld15
v_tmp.
if tmp_rec-fld2 <> 'RAWATEB'.
message e398(00) with 'Invliad file format, cannot upload'.
endif.
loop at tmp_tab.
clear upload_tab.
v_tmp = tmp_tab-fld1+0(1).
if v_tmp = 'M' or v_tmp = 'D'.
split tmp_tab-fld1 at ',' into upload_tab-fld1
upload_tab-fld2
upload_tab-fld3
upload_tab-fld4
upload_tab-fld5
upload_tab-fld6
upload_tab-fld7
upload_tab-fld8
upload_tab-fld9
upload_tab-fld10
upload_tab-fld11
upload_tab-fld12
upload_tab-fld13
upload_tab-fld14
upload_tab-fld15
v_tmp.
if upload_tab-fld1 = 'M'.
clear tmp_rec.
move upload_tab to tmp_rec.
else.
clear upload1_tab.
move upload_tab to upload1_tab.
upload1_tab-fld10 = tmp_rec-fld2.
upload1_tab-fld12 = tmp_rec-fld12.
upload1_tab-fld15 = tmp_rec-fld15.
append upload1_tab.
endif.
append upload_tab.
endif.
endloop.
Mark the already uploaded Transaction to skip ***********
Loop at upload_tab.
if upload_tab-fld1 = 'M'.
v_idx = sy-tabix.
move upload_tab-fld24(4) to v_budat0(4).
move upload_tab-fld22(2) to v_budat4(2).
move upload_tab-fld20(2) to v_budat6(2).
Select single * from bkpf where BLART = upload_tab-fld3 and
BUKRS = upload_tab-fld4 and
XBLNR = upload_tab-fld12 and
budat = v_budat.
if sy-subrc = 0.
do 1000 times.
clear del_tab.
move upload_tab to del_tab.
append del_tab.
upload_tab-fld16 = '*'.
modify upload_tab index v_idx.
v_idx = v_idx + 1.
Read table upload_tab index v_idx.
if upload_tab-fld1 = 'M' or sy-subrc <> 0.
exit.
endif.
enddo.
endif.
endif.
endloop.
ENDFORM. "initialise_process
====================================================================
Form : Process_Ord_itab *
====================================================================
FORM process_upload_tab .
v_flag = 0.
loop at upload_tab where fld16 <> '*' .
Performing the Save at the end of Transaction *************
if upload_tab-fld1 = 'M' and v_flag = 1.
perform load_save.
perform bdc_insert.
endif.
Putting the Header information of the document ************
if upload_tab-fld1 = 'M'.
perform load_header.
v_date = v_fld5.
v_rem = upload_tab-fld14.
v_flag = 0.
endif.
Putting the Detail information of the document ************
if upload_tab-fld1 = 'D'.
if upload_tab-fld2 = '40' or upload_tab-fld2 = '50' .
perform Load_next.
v_tmp = v_glcd.
v_len = strlen( upload_tab-fld3 ).
If ( v_tmp = '2' or v_tmp = '4' or v_tmp = '0' ) .
Perform load_ccenter.
elseif v_flag = 1.
perform upload_blank.
endif.
perform load_Detail.
v_flag = 1.
v_glcd = upload_tab-fld3.
v_ccode = upload_tab-fld9.
else.
perform Load_next.
v_tmp = v_glcd.
v_len = strlen( upload_tab-fld3 ).
perform upload_blank.
perform load_Detail_301.
v_flag = 0.
v_glcd = '1'.
endif.
endif.
endloop.
if v_flag = 1.
perform load_save.
endif.
perform bdc_insert.
v_upd_flag = 1.
ENDFORM. "process_upload_tab
====================================================================
Form : BDC_OPEN *
====================================================================
FORM bdc_open.
call function 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = p_sesid
user = p_user
keep = 'X'.
ENDFORM. "bdc_open
====================================================================
Form : Fill_BDC_Tab *
====================================================================
FORM fill_bdc_tab using dynbegin
name
value.
if dynbegin = 'X'.
clear bdc_tab.
move: name to bdc_tab-program,
value to bdc_tab-dynpro,
'X' to bdc_tab-dynbegin.
append bdc_tab.
else.
clear bdc_tab.
move: name to bdc_tab-fnam,
value to bdc_tab-fval.
append bdc_tab.
endif.
ENDFORM. "fill_bdc_tab
====================================================================
Form : BDC_INSERT *
====================================================================
FORM bdc_insert .
call function 'BDC_INSERT'
EXPORTING
tcode = 'F-02'
TABLES
dynprotab = bdc_tab.
refresh bdc_tab.
clear bdc_tab.
ENDFORM. "bdc_insert
====================================================================
Form : BDC_CLOSE *
====================================================================
FORM bdc_close.
call function 'BDC_CLOSE_GROUP'.
ENDFORM. "bdc_close
====================================================================
Form : Terminate_Process *
====================================================================
FORM terminate_process.
perform bdc_close.
ENDFORM. "terminate_process
*& Form load_Header
FORM load_Header.
If upload_tab-fld1 = 'M'.
v_fld5 = upload_tab-fld5.
if p_opt2 = 'X'.
move p_budat6(2) to v_fld50(2).
move p_budat4(2) to v_fld52(2).
move p_budat0(4) to v_fld54(4).
endif.
perform fill_bdc_tab using:
'X' 'SAPMF05A' '0100',
' ' 'BDC_CURSOR' 'RF05A-NEWKO',
' ' 'BKPF-BLDAT' upload_tab-fld2,
' ' 'BKPF-BLART' upload_tab-fld3,
' ' 'BKPF-BUKRS' upload_tab-fld4,
' ' 'BKPF-BUDAT' v_fld5,
' ' 'BKPF-WAERS' upload_tab-fld7,
' ' 'BKPF-XBLNR' upload_tab-fld12,
' ' 'BKPF-BKTXT' upload_tab-fld13.
Endif.
ENDFORM. "load_Header
*& Form load_Detail
FORM load_Detail.
perform fill_bdc_tab using:
'X' 'SAPMF05A' '0300',
' ' 'BDC_CURSOR' 'BSEG-WRBTR',
' ' 'BSEG-WRBTR' upload_tab-fld4,
' ' 'BSEG-VALUT' v_date,
' ' 'BSEG-SGTXT' v_rem.
ENDFORM. " LOAD_DATA
*& Form load_Detail
FORM load_Detail_301.
perform fill_bdc_tab using:
'X' 'SAPMF05A' '0301',
' ' 'BDC_CURSOR' 'RF05A-NEWUM',
' ' 'BSEG-WRBTR' upload_tab-fld4,
' ' 'BSEG-VALUT' v_date,
' ' 'BSEG-SGTXT' v_rem.
ENDFORM. " LOAD_DATA
*& Form load_Next
FORM Load_next.
perform fill_bdc_tab using:
' ' 'RF05A-NEWBS' upload_tab-fld2,
' ' 'RF05A-NEWKO' upload_tab-fld3,
' ' 'BDC_OKCODE' '/00'.
ENDFORM. "Load_next
*& Form load_Save
FORM Load_save.
perform fill_bdc_tab using:
'X' 'SAPMF05A' '0300',
' ' 'BDC_OKCODE' '=BU'.
v_tmp = v_glcd.
v_len = strlen( upload_tab-fld3 ).
If ( v_tmp = '2' or v_tmp = '4' or v_tmp = '0' ) .
Perform load_ccenter.
elseif v_flag = 1.
perform upload_blank.
endif.
perform fill_bdc_tab using:
'X' 'SAPMF05A' '0700',
' ' 'BDC_OKCODE' '=BU'.
ENDFORM. "Load_save
*& Form load_CCenter
FORM Load_Ccenter.
perform fill_bdc_tab using:
'X' 'SAPLKACB' '0002',
' ' 'BDC_CURSOR' 'COBL-KOSTL',
' ' 'COBL-KOSTL' '4200-0451',
' ' 'COBL-KOSTL' v_ccode,
' ' 'COBL-KOSTL' '4200-0295',
' ' 'BDC_OKCODE' '/EENTE'.
ENDFORM. "Load_Ccenter
*& Form load_blank
FORM UpLoad_blank.
perform fill_bdc_tab using:
'X' 'SAPLKACB' '0002',
' ' 'BDC_OKCODE' '/EENTE'.
ENDFORM. "UpLoad_blankur code looking ok..
just change it..
call function <b>'WS_UPLOAD'</b>--->to <b>gui_upload</b>
EXPORTING
FILENAME = p_fl_mct
FILETYPE = 'ASC'
TABLES
data_tab = Tmp_tab
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
OTHERS = 10.
if sy-subrc <> 0.
message e398(00) with 'Unable to upload data'.
endif. -
Hi,
I have developed a BDC for material assignment by c202 tcode.
but I am geting a error 'No batch input data for screen SAPLSPO2 0300' .
the screen SAPLSPO2 0300 is not present in my recording...
or Is there any BAPI / FM for material assignment (c202).
Can any one ...
Regards.
ABGThis error means that the recording is expecting you to populate that screen.
Is another, unexpected screen popping up when running your recording using live data? If so you may need to re-record it and either press a button or fill a field on this screen. -
Hi All,
I am making a BDC for IT0000.
I have done the recording and developed a program for that.
IT0105 is also there in info grouping for action.When I am executing the bdc in Foreground Processing the error is coming "No batch input data for screen MP010500 2000" for IT0105.
When I am processing the program in background error is coming in the screen IT0105.But the screen displayed here for IT0105 shows different fields from what it shows in foreground processing.
Can anyone help me out in solving the problem?Hi Sutapa,
Try making the call transaction in mode 'E' and it will stop in the screen which is giving you the error. Some screens will come up only during the backend run(mode N). So in that case you need to write the code after seeing it in mode 'E' which all are the screens coming up.
Cheers
JK. -
Hi friends,
I am using BDC for MIRO....In screen number 6220 where POs and items are to filled in table control where i need to fill 100 records... When i am using page down option during recording it is capturing function code as /OO .But while running BDC program this function code /OO is becoming ineffective..means page down is not happening when '/OO' is executed....can anybody help me out in what can be done in solving the problem...
Regards.Hi Raju,
But our requirement is to to do the recording only till all the items are filled in the pop up screen..As no page-down button is available in the screen...i guess that is why page-down activity done from key-board is not working fine......Any suggestions from ur side........
Regards. -
We have developed a bdc for t-code MB01. We want to genreate material documents in background. For some reasons we are not in a position to use BAPI for MIGO (as we are not able to input data of two fields). we are on ECC 6.0
BDC for MB01 is working fine. Only thing is we want to input "Goods recipient" also in this bdc. But we are not able to find this field in MB01. is it possible to get goods recipient also in MB01? how to do it?
Also is there any problem in using bdc for MB01 instead of MIGO?Hello,
try LSMW with Object 0110 - Material movement.
You can develop standard LSMW for this object in half an hour.
Andrzej -
Dear Experts ,
I am doing a BDC for MB1B...
In my selection screen I am having,
Plant, Vendor No, text and and options to enter 5 different materials and its corresponding qauntity.
When the user enter the above details and execute , these details should trigger in MB1B
( using BDC background ).
My problem is i the final stage where the document needs to get saved, as in my case
its getting saved and also if the user enters only 1 material the loop should happen only once, but here
its getting looped with balnk values.
I have pasted my code below, please have look and advice me.
REFRESH: BDCDATA, MESSTAB.
PERFORM DYNPRO USING:
'X' 'SAPMM07M' '0400',
' ' 'RM07M-BWARTWA' '941',
' ' 'RM07M-WERKS' itab-WERKS,
' ' 'RM07M-LGORT' itab-LGORT,
' ' 'MKPF-BKTXT' itab-BKTXT,
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMM07M' '0421',
' ' 'MSEGK-UMWRK' itab-WERKS,
' ' 'MSEGK-LIFNR' itab-VEND,
' ' 'BDC_OKCODE' 'NLE',
'X' 'SAPLKACB' '0002',
' ' 'BDC_OKCODE' '/00'.
LOOP AT ITAB1.
QAN = ITAB1-ERFMG.
QTY = QAN+6(6).
CNT = CNT + 1.
CN = CNT.
CONCATENATE 'MSEG-MATNR(' CN ')' INTO FN1.
CONCATENATE 'MSEG-ERFMG(' CN ')' INTO FN2.
PERFORM DYNPRO USING:
'X' 'SAPMM07M' '0421',
' ' FN1 ITAB1-MATNR,
' ' FN2 QTY,
' ' 'BDC_OKCODE' '/00',
'X' 'SAPLKACB' '0002',
' ' 'BDC_OKCODE' '=ENTE'.
ENDLOOP.
CALL TRANSACTION 'MB1B' USING BDCDATA MODE 'A'Hi Naga,
Thanks a lot for ur valuable advice !!
Now my document is getting posted , while using:
*CALL TRANSACTION 'MB1B' USING BDCDATA MODE 'A' *
but when I am using
*CALL TRANSACTION 'MB1B' USING BDCDATA MODE 'N' *
I am getting 'S' message No batch input data for screen SAPLKACB 0002.
I am pasting my code please have a look and advice me.
REFRESH: BDCDATA, MESSTAB.
PERFORM DYNPRO USING:
'X' 'SAPMM07M' '0400',
' ' 'RM07M-BWARTWA' '941',
' ' 'RM07M-WERKS' S_WERKS,
' ' 'RM07M-LGORT' S_LGORT,
' ' 'MKPF-BKTXT' S_BKTXT,
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMM07M' '0421',
' ' 'MSEGK-UMWRK' S_WERKS,
' ' 'MSEGK-LIFNR' S_VEND,
' ' 'BDC_OKCODE' 'NLE',
'X' 'SAPLKACB' '0002',
' ' 'BDC_OKCODE' '/00'.
LOOP AT ITAB.
DELETE ITAB WHERE MATNR IS INITIAL.
QAN = ITAB-ERFMG.
QTY = QAN+6(6).
CNT = CNT + 1.
CN = CNT.
CONCATENATE 'MSEG-MATNR(' CN ')' INTO FN1.
CONCATENATE 'MSEG-ERFMG(' CN ')' INTO FN2.
PERFORM DYNPRO USING:
'X' 'SAPMM07M' '0421',
' ' FN1 ITAB-MATNR,
' ' FN2 QTY,
' ' 'BDC_OKCODE' '/00'.
ENDLOOP.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD USING 'DKACB-FMORE'
'X'.
PERFORM DYNPRO USING 'X' 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
CALL TRANSACTION 'MB1B' USING BDCDATA MODE 'N'
MESSAGES INTO MESSTAB.
Rgds
Karthik -
Hi Experts,
I m facing a problem while doing the BDC for F-32, i want to make Normal OI check field as Uncheck through BDC , while recording i have uncheck the check box and the field value appears to be ' ' in the recording , but when i process the BDC the field remains CHECKED by Default.
pls help how can i unchecked the field.
I have tried it by puting the value of the field 'X' also but still it remains checked .
pls help me how can i UNCHECKED the Normal OI screen field .Hi
The output format of an amonut is managed by the currency, you shouldn't have any particular problem,
In BDC program the field to be used to transfer the amount has to be char, so probably the easier solution is to write it into the bdc field in according to the currency:
WRITE <AMOUNT> CURRENCY <CUURENCY> TO <BDC FIELD>.
Max -
Problem in BDC for F-02 -- Currency Problem
Dear Experts,
I have written a BDC for F-02 to upload the opening balances of vendors.
Problem is , this BDC is for Libya country, where decimal places is 3.
Now when i run my BDC, if the amount is 22.54, it will upload it as 22.540, which is ok, but if the amount is 22.543, it upload it as 22.540 instead of 22.543.
can one provide some guidance in this....
Regards,
MaverickHi
The output format of an amonut is managed by the currency, you shouldn't have any particular problem,
In BDC program the field to be used to transfer the amount has to be char, so probably the easier solution is to write it into the bdc field in according to the currency:
WRITE <AMOUNT> CURRENCY <CUURENCY> TO <BDC FIELD>.
Max
Maybe you are looking for
-
Loop at field-symbol (any table) into string ?
Hi Everyone, I need little help, I have a requirement to extract table content with columns names as the header. After doing some search I figured out the best way to this since table name will be only avaialbe at runtime through a selection field .
-
Printing attachments only in mail
hi is there a way to print only attachments? or do i need to open each attachment and print? sometimes i can get up to 10 attachments and its troublesome to open it one by one to print thanks in advance
-
How to know if a MRP run element is using Quota Arrangement and lot size?
Hi all, Two questions: A) How to determine if a source is actually pulled from Quota Arrangement? I am wondering if there is anyway from ABAP table or from Transaction (i.e. Purchasing Order) in which the source is pulled from a Quota Arrangement? We
-
Tutorial for creating a J2EE project with "Flex Builder 3 Beta 3 " ?
Hi, I'm trying to set up a Flex environment with: Flex Builder 3 Beta 3 stand alone WTP (from eclipse update manager) LCDS 2.5 (with JRun) JBoss 4.2.2GA At this moment I successful installed everything (but not set up). I added WTP at Flex Builder3 (
-
hi can any1 over here help me out in how to establish connection between 2 RF modem's for data transfer , between client & server USing LABVIEW? I want to establish a connection between 2 PC's through RF modem on client & server side & to set up PPP