BDC For MM02 & MASS - BUS1001
HI,
I am trying to make BDC for updating Table - MARD, Feild - LGPBE using MM02.
The problem I facing is the selection of view (General Plant Data/ Storage 1).
For VERP Materials, it comes to 12th Position, while for HALB Materials is on 15th Position.
The reason for the same is that for VERP Materials, the Sales Views are not maintained.
I am facing the similar kind of problem while creating the BDC for MASS (Using Mass Maintenance - BUS1001).
I need to update the Storage Bin of all Materials.
What is the correct way to upload the same?
Thanks & Regards,
P K Karn
hi PK you have to program your BDC according to material type..
eg if material type = HALB
BDC1
else if material type = VERP
BDC2..
end if
regards..
Similar Messages
-
Hi Friends,
i want to write a BDC FOR MM02 T.CODE AT PLANT LEVEL AND METERIAL LEVEL.
I WANT UPLOAD THE BELOW FEILDS DATA :
THE FIELDS THAT I WANT UPLOAD IS EISBE(SAFETY STOCK) , MAABC(ABC INDICATOR)
AND WZEIT(LEAD TIME).....AT PLANT LEVEL AND METERIAL LEVEL.
PLS HELP ME.... IT IS AN URGENT.
REGARDS,because with LSMW , you can standard program RMDATIND (direct input ==> faster than batch input.
In step 1 : you select standard program (OBject 0020 method 0000)
In step 2 you define source structure ZSRC_MARA
In step 3 you list the fields : MATNR, WERKS, MAABC, MINBE
In step 4 you make the link of your source struture to BGR00, BMM00, BMMH1
In step 5 you map your fields + BMM00-XEID1 ( you have to flag the views you consider).
Finished from developpement side
DAvid -
Hello everyone!
I have developed a BDC program to batch input data into MM02 / MRP area.
It's working perfectly fine when I use mode 'A' in CALL TRANSACTION statement, but when I change it to 'N', so I can give this for the customer to test, it stops working, giving me an error in one of the screens, saying the "MRP area is not assigned to plant CH01" (when running with mode "E" it also gives me the error).
Here's my coding:
REPORT zload_mrp_areas.
Data and variables definition
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF t_header OCCURS 0,
link LIKE mara-matnr,
matnr LIKE mara-matnr,
werks LIKE marc-werks,
mstae(2) TYPE c,
perkz(2) TYPE c,
END OF t_header.
DATA: BEGIN OF t_details OCCURS 0,
muvbr(5) TYPE c,
unvbr(5) TYPE c,
matnr LIKE mara-matnr,
priod(6) TYPE c,
gsvbr(5) TYPE c,
END OF t_details.
DATA: v_count(3) TYPE n,
v_week LIKE scal-week,
v_week1(6) TYPE n,
v_week2(6) TYPE n,
v_page(5) TYPE p DECIMALS 2,
v_index(3) TYPE n,
v_field(19) TYPE c,
v_mode TYPE c,
v_date1 LIKE sy-datum,
v_date2 LIKE sy-datum,
v_date3 TYPE i.
Screen definition
SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001.
PARAMETERS: headfile LIKE rfpdo1-febauszf OBLIGATORY,
detsfile LIKE rfpdo1-febauszf OBLIGATORY.
SELECTION-SCREEN END OF BLOCK 1.
File selection
AT SELECTION-SCREEN ON VALUE-REQUEST FOR headfile.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
mask = ',Multicash,*.txt'
static = 'X'
CHANGING
file_name = headfile.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR detsfile.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
mask = ',Multicash,*.txt'
static = 'X'
CHANGING
file_name = detsfile.
START-OF-SELECTION *
START-OF-SELECTION.
Load files
PERFORM load_files.
PERFORM process_file.
*& Form LOAD_FILES
Load files from network to SAP
FORM load_files .
File upload
DATA: l_filename TYPE string.
l_filename = headfile.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_filename
filetype = 'ASC'
TABLES
data_tab = t_header.
IF sy-subrc <> 0.
ENDIF.
l_filename = detsfile.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_filename
filetype = 'ASC'
TABLES
data_tab = t_details.
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " LOAD_FILES
*& Form process_file
Load files into Material Master
FORM process_file .
LOOP AT t_header.
REFRESH bdcdata.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'RMMG1-MATNR' t_header-matnr.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SELA'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTR'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM bdc_field USING 'RMMG1-WERKS' t_header-werks.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTR'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SP12'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE' '=PB42'.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0010'.
PERFORM bdc_field USING 'SMDMA-BERID(01)' 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '=AEND'.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0020'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SP04'.
CLEAR v_week.
CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'
EXPORTING
date = sy-datum
IMPORTING
week = v_week.
CALL FUNCTION 'WEEK_GET_FIRST_DAY'
EXPORTING
week = v_week
IMPORTING
date = v_date1.
LOOP AT t_details WHERE matnr = t_header-matnr.
CLEAR: v_week1, v_week2.
v_week1 = v_week.
v_week = t_details-priod.
CALL FUNCTION 'WEEK_GET_FIRST_DAY'
EXPORTING
week = v_week
IMPORTING
date = v_date2.
v_date3 = v_date1 - v_date2.
v_page = v_date3 / 7.
IF v_page > 11.
v_index = v_page MOD 11.
v_page = v_page / 11.
COMPUTE v_count = TRUNC( v_page ).
ELSE.
v_index = v_page.
ENDIF.
IF v_index IS INITIAL.
v_index = 11.
v_count = v_count - 1.
ELSE.
v_index = v_index + 1.
ENDIF.
Paging
IF v_count NE 0.
v_count = v_count + 1.
DO v_count TIMES.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0020'.
PERFORM bdc_field USING 'BDC_OKCODE' '=P-'.
ENDDO.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0020'.
PERFORM bdc_field USING 'BDC_OKCODE' '=P++'.
v_count = v_count - 1.
DO v_count TIMES.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0020'.
PERFORM bdc_field USING 'BDC_OKCODE' '=P-'.
ENDDO.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0020'.
v_field = 'RM03M_DB-KOVBW(*)'.
REPLACE '*' WITH v_index INTO v_field.
PERFORM bdc_field USING v_field t_details-muvbr.
v_field = 'RM03M_DB-VBWRT(*)'.
REPLACE '*' WITH v_index INTO v_field.
PERFORM bdc_field USING v_field t_details-unvbr.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0020'.
PERFORM bdc_field USING 'BDC_OKCODE' '=WEIT'.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0020'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0020'.
PERFORM bdc_field USING 'BDC_OKCODE' '=P++'.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0020'.
PERFORM bdc_field USING 'BDC_OKCODE' '=UEBE'.
PERFORM bdc_dynpro USING 'SAPLMD_MGD1' '0010'.
PERFORM bdc_field USING 'BDC_OKCODE' '=UEBE'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
DATA: ITAB TYPE TABLE OF BDCMSGCOLL.
v_mode = 'N'.
CALL TRANSACTION 'MM02' USING bdcdata
MODE v_mode
UPDATE 'S'
MESSAGES INTO ITAB.
if sy-subrc is initial.
endif.
ENDLOOP.
ENDFORM. " process_file
*& Form BDC_DYNPRO
text
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
*& Form BDC_FIELD
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM. "BDC_FIELD
Can anyone help? Please!
Thanks and regards,
FernandaYou are trying to access one of the MRP area which is not yet assigned to CH01 plant. You need to make sure wheather the MRP view was already created for that material for CH01 plant.
So, first check your data against the MARC for material and plant. If you don't fine any material for that plant than don't run BDC for that plant.
Regards,
Naimesh Patel -
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. -
BDC for MM02 - Quality management
Hi Friends,
I need to create BDC program for MM02 with Quality Management View.
My problem is with the sequence of the QM view in MM02 for different material types as per with recording.
Kindly suggest me to resolve the issue.
Thanks & Regards,
S.Suresh
Edited by: The Rock on Nov 7, 2011 1:43 PMHi S.Suresh,
I would simply read table QMAT to check if material/plant has Inspection Type '01'.
Then, in case Inspection Type needs to be created, just call the BAPI_MATINSPCTRL_SAVEREPLICA FM with structure INSPECTIONCTRL properly filled-in.
If successful, then remember to call BAPI_TRANSACTION_COMMIT.
Hope this could help.
Bye,
Flavio -
BDC for MM02 Internal comments - Not working
I have created a BDC that inputs internal comments using MM02. It moves the data in okay in the BDC. The data is there the way it was formated. Several lines of comments added. But after it saves the data - it takes all of the lines and appends them into one and fills up the lines. For example - enter: line 1, then enter line: 2. Instead of having 2 lines showing 1 on the first and 2 on the second - I get 1 lines howing both: 2.
Any ideas?Check this. I think you may like it. This program excepts the material number and changes the internal comment text. I am forcing two lines, when I check after executing this program, the text is there in two lines. Please see if you can use the BAPI instead of BDC.
report zrich_0003 .
data: headdata type bapimathead.
data: clientdata type bapi_mara.
data: clientdatax type bapi_marax.
data: matlongtext type table of bapi_mltx with header line.
data: return type bapiret2 .
data: returnm type table of bapi_matreturn2 with header line.
data: xmara type mara.
parameters: p_matnr type mara-matnr.
select single * from mara into xmara
where matnr = p_matnr.
headdata-material = xmara-matnr.
headdata-ind_sector = xmara-mbrsh.
headdata-matl_type = xmara-mtart.
<b>matlongtext-applobject = 'MATERIAL'.
matlongtext-text_name = p_matnr.
matlongtext-text_id = 'IVER'.
matlongtext-langu = sy-langu.
matlongtext-text_line = 'This is line 1'.
append matlongtext.
matlongtext-applobject = 'MATERIAL'.
matlongtext-text_name = p_matnr.
matlongtext-text_id = 'IVER'.
matlongtext-langu = sy-langu.
matlongtext-text_line = 'This is line 2'.
append matlongtext.</b>
call function 'BAPI_MATERIAL_SAVEDATA'
exporting
headdata = headdata
clientdata = clientdata
clientdatax = clientdatax
importing
return = return
tables
<b> materiallongtext = matlongtext</b>
returnmessages = returnm.
Regards,
Rich Heilman
PS.
Put yourself on the SDN world map (http://sdn.idizaai.be/sdn_world/sdn_world.html) and earn 25 points.
Spread the wor(l)d! -
BDC help req for MM02??
hi
I made a BDC pgm for MM02,to update the Purchasing Group filed for a matnr,based on Plant.
But i am facing an prob that,when in a Matnr views,my curcur is coming to Purchsaing View ,it update the EKGRP filed,but when it directly comes to MRP 1,its given an error,that MARC-EKGRP not exits.
Moreover I had done only recording for Purchaing View,not for MRP 1 view,but not able to understand why its going there in MRP 1 view,some time for some materials.
Can any one tell me,how to rectify this prob?
Regds.Hi,
This problem occurs because,
Different materials have different types,
so this view will not be same for all,
so if you have done recording for 4th tab ,than for next material at 4th tab some other thing will be there,
to rectify this problem,
do the recording for basic data 1 (it will be present for very material ) and then goto the required tab,
i hope it fits to your requirement,
Regards,
Talwinder -
BDC for mass-upload on production order confirmation
Hi ALL
Is there any standard Program for the mass-upload on production order confirmation for labor and machine hours.
the T-code to do this is Co12.
thanks in advance !hi,
You can use standard SAP program RCCLBI03 to do mass upload
see these link
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/8046aa90-0201-0010-5e99-962948c83331
thanks
karthik -
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 -
Dear Gurus,
I want to create a BDC for GR-INBOUND DELIVERY.Is there any process that we have to upload two text files one at header level & one at item level.Pls suggest if there is any other method.
Regards,
Prasad.1)Create a recording of inbound delivery creation if u want to create in mass.
2) Make a note of all the filds recorded and make a excel sheet then convert it in notepad.
3) Upload it by LSMW. -
Hi ,
I am developing the BI program for Material Master (MM01) and change MM02(Both create and change).
Can you let me know how do i select particular views before creating/changing the material .
Is there any specific function module available to do this ..
If you help me with any sample coding ,that would be great.
Thanks
Raj& Description : This program is used to create material
*& master (tcode MM01) . Material data is available in tab delimited *
*& flat file. *
*& The Following is the flat file Structure: *
MATNR(018) "Material Number
MBRSH(001) "Industry Sectory
MTART(004) "Material Type
WERKS(004) "Plant
LGORT(004) "Storage Location
MAKTX(040) "Material Text
MEINS(003) "Basic Unit of Measurement
MATKL(009) "Material Group
PRDHA(018), "Product Hierarchy
MTPOS_MARA(004), "General Item Categoy Group
ZEINR(022) "Document
ZEIVR(002) "Doc Version
SPART(002) "Division
DWERK(004) "Delivery Plant
TAXKM(001) "Tax
KTGRM(002) "Account Assignemnt Group
MTPOS_MARA(004), "General. Item Category Group
MTPOS(004), "Item Category Group
MTVFP(002) "Availability check
*/ Begin of changes by Anoop for Sales Text Date: 17 feb 2004
s_ltex1(40), "Sales Text line 1
s_ltex2(40), "Sales Text line 2
s_ltex3(40), "Sales Text line 3
s_ltex4(40), "Sales Text line 4
s_ltex5(40), "Sales Text line 5
s_ltex6(40), "Sales Text line 6
**/ End of changes by Anoop for Sales Text Date: 17 feb 2004
**/ Begin of changes by Anoop for Purchase Order Text Date: 17 feb 2004
po_ltex1(40), "Purchase Order Text line 1
po_ltex2(40), "Purchase Order Text line 2
po_ltex3(40), "Purchase Order Text line 3
po_ltex4(40), "Purchase Order Text line 4
po_ltex5(40), "Purchase Order Text line 5
po_ltex6(40), "Purchase Order Text line 6
MAKTX(040) "Sales text
EKGRP(003) "Purchasing Group
DISMM(002) "MRP Type
DISPO(003) "MRP Controller
DISLS(002) "Lot Size
EKGRP(003) "Purchasing group
BSTFE(017) "Fixed Lot Size
BESKZ(001) "Procurement Type
LGPRO(004) "Prod. Storage Location
DZEIT(003) "In house production
PLIFZ(003) "Planned Delivery Time
FHORI(003) "Sch. Margin Key
STRGR(002) "Planning Strategy Group
MTVFP(002) "Availabilty Check
SBDKZ(001) "Ind/Collective
SERNP(004) "Serial Number Profile
LGPBE(010) "Storage Bin
GROES(032) "Size and Dimension
WEBAZ(003) "GR Processing Time
BKLAS(004) "Valuation Class
VPRSV(001) "Price Control
VERPR(015) "Moving Average Price
STPRS(015) "Standard Price
MYPOL(004) "LIFO Pool
EKALR(001) "With Qty structure
HKMAT(001) "Material Origin
ZPLP1(014) "Planned Price 1
ZPLD1(010) "Planned Price Date 1
*Include
INCLUDE bdcrecx1.
*Variables
DATA : v_filename TYPE string,
v_flag(1) TYPE c,
v_counter(2) TYPE c,
v_lines TYPE i,
v_count TYPE i VALUE 0.
*Selection-screen
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETER : filename LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
PARAMETER : v_basic1 TYPE checkbox,
v_basic2 TYPE checkbox,
v_sales1 TYPE checkbox,
v_sales2 TYPE checkbox,
v_salesg TYPE checkbox,
v_salest TYPE checkbox,
v_purcha TYPE checkbox,
Begin of changes by Anoop Date: 18 feb 2004.
v_potext TYPE checkbox,
*End of changes by Anoop Date: 18 feb 2004
v_mrp1 TYPE checkbox,
v_mrp2 TYPE checkbox,
v_mrp3 TYPE checkbox,
v_mrp4 TYPE checkbox,
v_wrksch TYPE checkbox,
v_gplnt1 TYPE checkbox,
v_gplnt2 TYPE checkbox,
v_qality TYPE checkbox,
v_acct1 TYPE checkbox,
v_acct2 TYPE checkbox,
v_testi TYPE checkbox,
v_cost2 TYPE checkbox.
SELECTION-SCREEN END OF BLOCK blk2.
SELECTION-SCREEN END OF BLOCK blk1.
*/ Comments given are the view names that have been incorporated into
the BDC for the transaction MM01.
**Internal Tables
DATA: BEGIN OF record,
*/ Basic Data 1..
data element: MATNR
matnr_001(018), "Material Number
data element: MBRSH
mbrsh_002(001), "Industry Sectory
data element: MTART
mtart_003(004), "Material Type
data element: WERKS_D
werks_019(004), "Plant
data element: LGORT_D
lgort_020(004), "Storage Location
*DATA ELEMENT : vkorg
vkorg(004), "Sales Organisation
*DATA ELEMENT : VTWEG
vtweg(002), "Distribution channel
data element: MAKTX
maktx_021(040), "Material Text
data element: MEINS
meins_022(003), "Basic Unit of Measurement
data element: MATKL
matkl_023(009), "Material Group
data element: PRODH_D
prdha_015(018),
data element: MTPOS_MARA
mtpos_mara_016(004),
data element: MTPOS_MARA
MTPOS_MARA_024(004),
*/ Basic Data 2...
data element: DZEINR
zeinr_026(022), "Document
data element: DZEIVR
zeivr_027(002), "Doc Version
data element: MEINS
MEINS_029(003),
*/ Sales : Sales Org. Data 1
data element: SPART
spart_020(002),
data element: DWERK_EXT
dwerk_021(004),
data element: TAXKM
taxkm_01_024(001),
*/ Sales : Sales Org. Data 2
data element: KTGRM
ktgrm_033(002),
data element: MTPOS_MARA
mtpos_mara_034(004),
data element: MTPOS
mtpos_035(004),
*/ Sales : General Plant/Data
data element: MTVFP
mtvfp_040(002),
data element: PRCTR
prctr_041(007),
*/ Sales Text
*/commented by Anoop
data element: MAKTX
maktx_041(040),
*/commented up to here by Anoop
*/ Begin of changes by Anoop for Sales Text Date: 17 feb 2004
s_ltex1(40),
s_ltex2(40),
s_ltex3(40),
s_ltex4(40),
s_ltex5(40),
s_ltex6(40),
*/ End of changes by Anoop for Sales Text Date: 17 feb 2004
*/ Purchasing..
data element: EKGRP
ekgrp_030(003),
data element: MEINS
MEINS_033(003),
data element: EKGRP
EKGRP_034(003),
*/ Begin of changes by Anoop for Purchase Order Text Date: 17 feb 2004
*/ Purchase Order Text
po_ltex1(40),
po_ltex2(40),
po_ltex3(40),
po_ltex4(40),
po_ltex5(40),
po_ltex6(40),
*/ MRP1..
data element: DISMM
dismm_035(002), "MRP Type
data element: DISPO
dispo_036(003), "MRP Controller
data element: DISLS
disls_037(002), "Lot Size
data element : EKGRP
ekgrp(003),
data element: MEINS
MEINS_039(003),
data element: EKGRP
EKGRP_040(003),
data element: DISMM
DISMM_041(002),
data element: DISPO
DISPO_042(003),
data element: DISLS
DISLS_043(002), "Proc. Type
data element: BSTFE
bstfe_044(017),
*/ MRP2..
data element: BESKZ
beskz_046(001),
data element: LGPRO
lgpro_047(004),
data element: DZEIT
dzeit_048(003),
data element: PLIFZ
plifz_049(003),
data element: FHORI
fhori_050(003),
data element: PERKZ
PERKZ_052(001),
*/ MRP3..
data element: STRGR
strgr_053(002),
data element: MTVFP
mtvfp_054(002),
*/ MRP4
data element: SBDKZ
sbdkz_056(001),
data element: MEINS
MEINS_058(003),
data element: LGPRO
LGPRO_059(004),
*/ Work Scheduling
data element: SERAIL
sernp_060(004),
data element: DZEIT
DZEIT_061(003),
data element: MEINS
MEINS_063(003),
*/ Plant Data/Str1
data element: LGPBE
lgpbe_064(010),
data element: DATTP
IPRKZ_065(001),
*/ Plant Data/Str2
data element: GROES
groes_067(032),
data element: SERAIL
SERNP_068(004),
data element: MEINS
MEINS_070(003),
*/ Quality Management
data element: WEBAZ
webaz_071(003),
data element: MEINS
MEINS_073(003),
*/ Accounting 1
data element: BKLAS
bklas_074(004),
data element: VPRSV
vprsv_075(001),
data element: PEINH
PEINH_076(006),
data element: VERPR
verpr_077(015),
data element: STPRS
stprs_078(015),
*/ Accounting 2
data element: MYPOOL
mypol_080(004),
data element: MEINS
MEINS_082(003),
*/ Cost Estimate 1.
data element: CK_EKALREL
ekalr_083(001),
data element: HKMAT
hkmat_084(001),
data element: CK_LOSGR
LOSGR_085(017),
*/ Costing 2..
data element: DZPLP1
zplp1_087(014),
data element: DZPLD1
zpld1_088(010),
data element: BKLAS
BKLAS_089(004),
data element: VPRSV
VPRSV_090(001),
data element: PEINH
PEINH_091(006),
data element: VERPR
VERPR_092(015),
data element: STPRS
STPRS_093(015),
END OF record.
*/ Begin of changes by Anoop Date: 17 feb 2004
*/ intermediate internal table for Sales Text and Purchase Order Text
*DATA: BEGIN OF s_tab OCCURS 0,
matnr LIKE mara-matnr,
s_ltex1 LIKE makt-maktx,
s_ltex2 LIKE makt-maktx,
s_ltex3 LIKE makt-maktx,
s_ltex4 LIKE makt-maktx,
s_ltex5 LIKE makt-maktx,
s_ltex6 LIKE makt-maktx,
END OF s_tab.
*DATA: BEGIN OF po_tab OCCURS 0,
matnr LIKE mara-matnr,
po_ltex1 LIKE makt-maktx,
po_ltex2 LIKE makt-maktx,
po_ltex3 LIKE makt-maktx,
po_ltex4 LIKE makt-maktx,
po_ltex5 LIKE makt-maktx,
po_ltex6 LIKE makt-maktx,
END OF po_tab.
*/ End of changes by Anoop Date: 17 feb 2004
DATA : itab LIKE record OCCURS 0 WITH HEADER LINE.
DATA : ok_code(5) TYPE c.
*AT SELECTION-SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
field_name = filename
CHANGING
file_name = filename.
*START-OF-SELECTION
START-OF-SELECTION.
v_filename = filename.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_filename
filetype = 'ASC'
has_field_separator = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = itab.
*/ Begin of changes by Anoop Date: 17 feb 2004
LOOP AT itab.
move itab-s_ltext+0(40) to itab-s_ltex1.
move itab-s_ltext+40(40) to itab-s_ltex2.
move itab-s_ltext+80(40) to itab-s_ltex3.
move itab-s_ltext+120(40) to itab-s_ltex4.
move itab-s_ltext+160(40) to itab-s_ltex5.
move itab-s_ltext+200(40) to itab-s_ltex6.
move itab-po_ltext+0(40) to itab-po_ltex1.
move itab-po_ltext+40(40) to itab-po_ltex2.
move itab-po_ltext+80(40) to itab-po_ltex3.
move itab-po_ltext+120(40) to itab-po_ltex4.
move itab-po_ltext+160(40) to itab-po_ltex5.
move itab-po_ltext+200(40) to itab-po_ltex6.
modify itab.
ENDLOOP.
*/ End of changes by Anoop Date: 17 feb 2004
DELETE itab WHERE matnr_001 = ' '.
DESCRIBE TABLE itab LINES v_lines.
PERFORM open_group.
LOOP AT itab.
v_count = v_count + 1.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
IF v_count = v_lines.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
ENDIF.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RMMG1-MATNR'
itab-matnr_001.
PERFORM bdc_field USING 'RMMG1-MBRSH'
itab-mbrsh_002.
PERFORM bdc_field USING 'RMMG1-MTART'
itab-mtart_003.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(17)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=P+'.
TRANSLATE itab-mtart_003 TO UPPER CASE.
*/ IF the data to be uploaded is of Material type 'Trading Goods'
the following view selection
IF itab-mtart_003 = 'HAWA'.
PERFORM view_sel3.
ENDIF.
*/ IF the data to be uploaded is of Material type 'Finished Goods'
the following view selection
IF itab-mtart_003 = 'FERT'.
PERFORM view_sel1.
ENDIF.
*/ IF the data to be uploaded is of Material type 'Semi-Finished Goods'
the following view selection
IF itab-mtart_003 = 'HALB'.
PERFORM view_sel2.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM bdc_field USING 'BDC_CURSOR'
'T001L-LGOBE'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'RMMG1-WERKS'
itab-werks_019.
PERFORM bdc_field USING 'RMMG1-LGORT'
itab-lgort_020.
PERFORM bdc_field USING 'RMMG1-VKORG'
itab-vkorg.
PERFORM bdc_field USING 'RMMG1-VTWEG'
itab-vtweg.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
IF v_basic1 = 'X'.
*/ Basic Data 1
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-MATKL'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARA-MATKL'
itab-matkl_023.
PERFORM bdc_field USING 'MARA-PRDHA'
itab-prdha_015.
PERFORM bdc_field USING 'MARA-MTPOS_MARA'
itab-mtpos_mara_016.
perform bdc_field using 'MARA-MTPOS_MARA'
itab-MTPOS_MARA_024.
ENDIF.
IF v_basic2 = 'X'.
*/ Basic Data 2
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-ZEIVR'.
PERFORM bdc_field USING 'MARA-ZEINR'
itab-zeinr_026.
PERFORM bdc_field USING 'MARA-ZEIVR'
itab-zeivr_027.
ENDIF.
IF itab-vkorg(004) <> ' '.
IF v_sales1 = 'X'.
*/ Sales : Sales Org. Data 1
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARA-SPART'
itab-spart_020.
PERFORM bdc_field USING 'MVKE-DWERK'
itab-dwerk_021.
PERFORM bdc_field USING 'MARA-MATKL'
itab-matkl_023.
****perform bdc_field using 'MVKE-SKTOF'
record-SKTOF_023.
IF itab-taxkm_01_024 <> ' '.
PERFORM bdc_field USING 'BDC_CURSOR'
'MG03STEUER-TAXKM(01)'.
PERFORM bdc_field USING 'MG03STEUER-TAXKM(01)'
itab-taxkm_01_024.
*/ After entering tax another screen in which no data has to be *
populated
PERFORM bdc_dynpro USING 'SAPLMGMM' '4200'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
record-maktx_021.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARA-SPART'
itab-spart_020.
PERFORM bdc_field USING 'MVKE-DWERK'
itab-dwerk_021.
PERFORM bdc_field USING 'MARA-MATKL'
itab-matkl_023.
ENDIF.
IF v_sales2 = 'X'.
*/ Sales : Sales Org. Data 2
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
*/commented by Anoop
*/ itab-maktx_041.
*/commented up to here by Anoop
*/ Begin of changes by Anoop Date: 17 feb 2004
itab-maktx_021.
*/ End of changes by Anoop Date: 17 feb 2004
PERFORM bdc_field USING 'BDC_CURSOR'
'MVKE-MTPOS'.
PERFORM bdc_field USING 'MVKE-KTGRM'
itab-ktgrm_033.
IF itab-mtpos_mara_034 <> ' '.
PERFORM bdc_field USING 'MARA-MTPOS_MARA'
itab-mtpos_mara_034.
ENDIF.
IF itab-mtpos_035 <> ' '.
PERFORM bdc_field USING 'MVKE-MTPOS'
itab-mtpos_035.
ENDIF.
ENDIF.
IF v_salesg = 'X'.
*/ Sales : General/Plant Data
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-MTVFP'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
***perform bdc_field using 'MARA-GEWEI'
record-GEWEI_039.
PERFORM bdc_field USING 'MARC-MTVFP'
itab-mtvfp_040.
IF itab-prctr_041 <> ' '.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-PRCTR'.
PERFORM bdc_field USING 'MARC-PRCTR'
itab-prctr_041.
ENDIF.
ENDIF.
IF v_salest = 'X'.
*/ Sales Text
PERFORM bdc_dynpro USING 'SAPLMGMM' '4040'.
IF itab-mtart_003 = 'HAWA' OR itab-mtart_003 = 'HALB'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SP09'.
ok_code = '=SP09'.
ELSEIF itab-mtart_003 = 'FERT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SP12'.
ok_code = '=SP12'.
ENDIF.
*/commented by Anoop
PERFORM bdc_field USING 'MAKT-MAKTX'
*/ itab-maktx_041.
*/commented up to here by Anoop
*/ Begin of changes by Anoop for Sales Text Date: 17 feb 2004
PERFORM bdc_field USING 'BDC_OKCODE' '=LTEX'.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXLINE(02)' .
PERFORM bdc_field USING 'BDC_OKCODE' '=TXBA' .
PERFORM bdc_field USING 'RSTXT-TXLINE(02)' itab-s_ltex1.
perform bdc_field using 'RSTXT-TXLINE(03)' itab-s_ltex2.
perform bdc_field using 'RSTXT-TXLINE(04)' itab-s_ltex3.
perform bdc_field using 'RSTXT-TXLINE(05)' itab-s_ltex4.
perform bdc_field using 'RSTXT-TXLINE(06)' itab-s_ltex5.
perform bdc_field using 'RSTXT-TXLINE(07)' itab-s_ltex6.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=YES' .
*/ End of changes by Anoop for Sales Text Date: 17 feb 2004
PERFORM bdc_dynpro USING 'SAPLMGMM' '4040'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
ENDIF.
ENDIF.
IF v_purcha = 'X' AND ok_code = '=SP09'.
CLEAR ok_code.
*/ Purchasing
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'SP11'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-EKGRP'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARC-EKGRP'
itab-ekgrp_030.
PERFORM bdc_field USING 'MARA-MATKL'
itab-matkl_023.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'ENTR'.
perform bdc_field using 'MAKT-MAKTX'
itab-maktx_021.
perform bdc_field using 'MARA-MEINS'
itab-meins_022.
perform bdc_field using 'MARC-EKGRP'
itab-ekgrp_030.
perform bdc_field using 'BDC_CURSOR'
'MARC-DISMM'.
perform bdc_field using 'MARC-DISMM'
itab-DISMM_035.
perform bdc_field using 'MARC-DISPO'
itab-DISPO_036.
perform bdc_field using 'MARC-DISLS'
itab-DISLS_037.
ENDIF.
*/ Begin of changes by Anoop for Purchase Order Text Date: 18 feb 2004
PERFORM bdc_dynpro USING 'SAPLMGMM' '4040'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
IF v_potext = 'X' .
CLEAR ok_code.
*Purchase Order Text
PERFORM bdc_dynpro USING 'SAPLMGMM' '4040'.
PERFORM bdc_field USING 'BDC_OKCODE' '=LTEX'.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXLINE(02)' .
PERFORM bdc_field USING 'BDC_OKCODE' '=TXBA' .
PERFORM bdc_field USING 'RSTXT-TXLINE(02)' itab-po_ltex1.
perform bdc_field using 'RSTXT-TXLINE(03)' itab-po_ltex2.
perform bdc_field using 'RSTXT-TXLINE(04)' itab-po_ltex3.
perform bdc_field using 'RSTXT-TXLINE(05)' itab-po_ltex4.
perform bdc_field using 'RSTXT-TXLINE(06)' itab-po_ltex5.
perform bdc_field using 'RSTXT-TXLINE(07)' itab-po_ltex6.
PERFORM bdc_field USING 'RSTXT-TXLINE(02)' itab-po_ltex1 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(03)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(03)' '*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(03)' itab-po_ltex2 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(04)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(04)' '*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(04)' itab-po_ltex3 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(05)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(05)' '*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(05)' itab-po_ltex4 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(06)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(06)' '*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(06)' itab-po_ltex5 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(07)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(07)' '*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(07)' itab-po_ltex6 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(08)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(08)' '*'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=YES' .
PERFORM bdc_dynpro USING 'SAPLMGMM' '4040'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
endif.
*/ End of changes by Anoop for Purchase Order Text Date: 18 feb 2004
IF v_mrp1 = 'X'.
*/ MRP 1
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'ENTR'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARC-EKGRP'
itab-ekgrp_030.
PERFORM bdc_field USING 'MARC-DISMM'
itab-dismm_035.
PERFORM bdc_field USING 'MARC-DISPO'
itab-dispo_036.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-DISLS'.
PERFORM bdc_field USING 'MARC-DISLS'
itab-disls_037.
IF itab-ekgrp <> ' '.
PERFORM bdc_field USING 'MARC-EKGRP'
itab-ekgrp.
ENDIF.
PERFORM bdc_field USING 'MARC-BSTFE'
itab-bstfe_044.
ENDIF.
IF v_mrp2 = 'X'.
*/ MRP 2
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'MARC-BESKZ'
itab-beskz_046.
PERFORM bdc_field USING 'MARC-LGPRO'
itab-lgpro_047.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-DZEIT'.
PERFORM bdc_field USING 'MARC-DZEIT'
itab-dzeit_048.
PERFORM bdc_field USING 'MARC-PLIFZ'
itab-plifz_049.
PERFORM bdc_field USING 'MARC-FHORI'
itab-fhori_050.
ENDIF.
IF v_mrp3 = 'X'.
*/ MRP 3
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
perform bdc_field using 'MARC-PERKZ'
itab-PERKZ_052.
PERFORM bdc_field USING 'MARC-STRGR'
itab-strgr_053.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-MTVFP'.
PERFORM bdc_field USING 'MARC-MTVFP'
itab-mtvfp_054.
ENDIF.
IF v_mrp4 = 'X'.
*/ MRP 4
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-SBDKZ'.
PERFORM bdc_field USING 'MARC-SBDKZ'
itab-sbdkz_056.
ENDIF.
IF v_wrksch = 'X'.
*/ WORK SCHEDULES
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-SERNP'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARC-LGPRO'
itab-lgpro_047.
PERFORM bdc_field USING 'MARC-SERNP'
itab-sernp_060.
PERFORM bdc_field USING 'MARC-DZEIT'
itab-dzeit_048.
ENDIF.
IF v_gplnt1 = 'X'.
*/ PLANT DATA/STR1
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARD-LGPBE'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARD-LGPBE'
itab-lgpbe_064.
perform bdc_field using 'MARA-IPRKZ'
itab-IPRKZ_065.
ENDIF.
IF v_gplnt2 = 'X'.
*/ PLANT DATA/STR2
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-GROES'.
PERFORM bdc_field USING 'MARA-GROES'
itab-groes_067.
PERFORM bdc_field USING 'MARC-SERNP'
itab-sernp_060.
ENDIF.
IF v_qality = 'X'.
*/ QUALITY MANAGEMENT
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PB01'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-WEBAZ'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARC-WEBAZ'
itab-webaz_071.
Addition done by Hymavathi on 24-01-2005
PERFORM bdc_dynpro USING 'SAPLQPLS' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMQAM-ARGUMENT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NEU'.
PERFORM bdc_dynpro USING 'SAPLQPLS' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMQAM-AKTIV(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=WEIT'.
PERFORM bdc_field USING 'RMQAM-ART(01)'
'01'.
PERFORM bdc_field USING 'RMQAM-AKTIV(01)'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-WEBAZ'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARC-WEBAZ'
itab-webaz_071.
End Of Addition Done By Hymavathi
ENDIF.
IF v_acct1 = 'X'.
*/ ACCOUNTING 1
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'BDC_CURSOR'
'MBEW-STPRS'.
PERFORM bdc_field USING 'MBEW-BKLAS'
itab-bklas_074.
PERFORM bdc_field USING 'MBEW-VPRSV'
-
Hi all,
I am performing BDC on MM02 to change MRP2 data.
I have used SELECTION_VIEWS_FIND to get the correct view. It works fine on my screen as i have access to all the views in MM02.
But when the user runs, it errors out as the user is restricted to only MRP view.
How do i get my BDC working based on user view?
Points will rewarded for helpful ansHi Ramesh babu, user has mrp view and my program also uses mrp view.
But the problem is my program when uses the FM SELECTION_VIEWS_FIND, it considers almost all view and the MRP 2 view is at 12 position say, but since user has only mrp view MRP 2 is at position 2 and hence mismatch. Now how do i get the current position of view in my program based on the user view? -
Hi Everybody!
I would like to enquire about how to edit a recording for a specific transaction.
I need to make a mass change for hundreds of fixed assets ( e.g. cost center / responsible cost center ) in SAP. In our old system version we had a t-code for this mass change called ZAMASS01. Point is, I cannot use it in the new SAP version so I have to upload this data via BDC manually,
I have tried to record the transaction ( AS02 ) in SHDB but after I saved the recording and tried to Edit it.
Apparently I do not have access for further actions. All I did was to export the .txt file but it's useless.
Can someone help me generate the BDC file?
Thank you in advance!In Oracle FA Descriptive flexfield information will be copied only if assets are being reclassified within the same major category. The descriptive flexfields should be set up with the same segments in both the old and the new category. Otherwise, descriptive flexfield information in the old category may be copied incorrectly into an incorrect segment in the new category. If a segment in the old category and a corresponding segment in the new category have different formats (for example, segment 1 in the old category is alphanumeric and segment 1 in the new category is in date format), the information will be copied, but you will need to correct the descriptive information in that segment.
-
Delete Variants for Transaction MASS
Is it possible to delete multiple variants for transaction MASS?
I am aware variants can be deleted one by one using Goto... Variants... Delete. However, I would like to delete over 200 variants which are no longer required.
Surely there is a standard function? Deleting hundreds of variants one at a time is not an option. Contracting an ABAP programmer is not an option.
Thanks for your advice.Hi G. Lakshmipathi,
Your suggestion to use BDC recording worked like a charm.
However, I am still surprised that there is no standard function.
Thanks for your help.
Regards,
Nathan -
Error while running a BDC for the Transaction F-02
Hi,
I'm getting an error <b><i>"Parking not possible during Batch Input"</i></b> while running a BDC for the transaction F-02.
When i click on the error message it displays the message [b<i>]"In Customizing, you can control whether an error message is issued."</b></i>
How to solve this issue?.
Waiting for ur replies.........
Regards
N.SenthilHi,
When you are doing the recording in SHDB, and in the same screen where the TCODE to be recorded is given, there are options that you can choose called "Recording Parameters"...Select the checkbox which says "Not a Batch Input Session", this will set the sy-binpt variable to " "(in a recording by default it is "X")...and you will not get this error...
Also make sure while writing the BDC program to make use of the "bdc options" parameter which has this property to switch of sy-binpt...
Refer below theard for sample bdc code for f-02.
https://forums.sdn.sap.com/click.jspa?searchID=5126766&messageID=1538409
Regards
Maybe you are looking for
-
Report shows "No data found" when validation fails
Hi folks, I'm new to the OTN and have a short question regarding validations/report pagination. We are using Apex 4.0.2.00.07. I have a page containing a report with three columns. First column is a checkbox (f30), the second one a date picker and th
-
I have been given a problem to solve and any advice would be brilliant. I have to create a list of paper and book objects that will include a method to add a book or paper object. The parameters are : parameters Paper parameters Book titleofPublicati
-
F110 - program RFFOAVIS_FPAYM email and print at the same time
Hello all, we are using program RFFOAVIS_FPAYM program for print and email paymnet advice. but the current scenario at a time only one process is woking email or print payment advice. but the user want to get the print and email adivce at the same t
-
Help on transacted session (urgent)
Hi all, While creating a transacted Session using separate application for sender and receiver, should both the sender and receiver be in transacted mode?. Our session creation looks something like this. QueueSession session = connection.createQueueS
-
I don't have Outlook on my PC so I assume my Calendar is not backed up in any way and all data will be lost after a Restore, correct? Thanks! h