BDC and TREE_CONTROL
I created a BDC function module to create WE20 partner profiles when remotely called from a web order system. When running the BDC in SE37 (not in debug) it works fine. When running in debug, the CALL TRANSACTION fails but I don't see an error dump. When the web system makes the call, I get an OBJECTS_OBJREF_NOT_ASSIGNED ABAP dump and the details mention termination in "CREATE_TREE_CONTROL".
I came out to SDN and found thread "handling of tree control in BDC" which mentions it cannot be done. Since I find no BAPI for this, what other options do I have?
Thanks
Check out the function modules of function group EDI6. Particularly EDI_AGREE_PARTNER_INSERT. I'm not saying that's it, it just looks promising.
Similar Messages
-
hi
i want know what is the difference between BDC and LSMW and which is best also tell me BDC and LSMW using for which type data (like master or transactional data)
thanka in advance
deepakHi deepak,
LSMW and BDC are vastly different.
BDC (Batch Data Communication) is a technology used for data transfer. it is meant for transferring data thru SAP transactions itself. when u use BDC for data transfer, the sequence of steps is the same as when u use standard sap transaction screens for data upload. the only difference is that u can use different options for foreground/background processing.
LSMW on the other hand is a tool that helps migrate data from a legacy system (non-sap system ) to SAP system. it offers u various options to use either batch input, direct input, BAPIs or idocs. it involves a series of some 17-18 steps to migrate data.
BDC:
Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
Features :
BDC is an automatic procedure.
This method is used to transfer large amount of data that is available in electronic medium.
BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
BDC uses normal transaction codes to transfer data.
Types of BDC :
CLASSICAL BATCH INPUT (Session Method)
CALL TRANSACTION
BATCH INPUT METHOD:
This method is also called as CLASSICAL METHOD.
Features:
Asynchronous processing.
Synchronous Processing in database update.
Transfer data for more than one transaction.
Batch input processing log will be generated.
During processing, no transaction is started until the previous transaction has been written to the database.
CALL TRANSACTION METHOD :
This is another method to transfer data from the legacy system.
Features:
Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
Updating the database can be either synchronous or asynchronous. The program specifies the update type.
Transfer data for a single transaction.
Transfers data for a sequence of dialog screens.
No batch input processing log is generated.
For BDC:
http://myweb.dal.ca/hchinni/sap/bdc_home.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
http://www.sap-img.com/abap/learning-bdc-programming.htm
http://www.sapdevelopment.co.uk/bdc/bdchome.htm
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
LSMW:
The LSM Workbench is an R/3-based tool that supports You when transferring data from non-SAP systems ("Legacy Systems") to R/3 once or periodically.
The tool supports conversion of data of the legacy system in a convenient way. The data can then be imported into the R/3 system via batch input, direct input, BAPIs or IDocs.
Furthermore, the LSM Workbench provides a recording function that allows to generate a "data migration object" in an entry or change transaction.
The main advantages of the LSM Workbench:
Part of R/3 and thus independent of individual platforms
A variety of technical possibilities of data conversion:
Data consistency due to standard import techniques:
Batch input
Direct input
BAPIs (Business Application Programming Interfaces)
IDocs (Intermediate Documents)
The import technique to be used in an individual case depends on the business object.
Generation of the conversion program on the basis of defined rules
Clear interactive process guide
Interface for data in spreadsheet format
Creation of data migration objects on the basis of recorded transactions
Charge-free for SAP customers and SAP partners
http://help.sap.com/saphelp_nw04s/helpdata/en/87/f3ae74e68111d1b3ff006094b944c8/content.htm
http://www.sap-img.com/sap-data-migration.htm
http://www.scmexpertonline.com/downloads/SCM_LSMW_StepsOnWeb.doc
http://allsaplinks.com/lsmw.html
http://myweb.dal.ca/hchinni/sap/lsmw_home.htm -
How can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.
how can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.?
please explain the important questions.How to deal with table control / step loop in BDC
Steploop and table contol is inevitable in certain transactions. When we run BDC for such transactions, we will face the situation: how many visible lines of steploop/tablecontrol are on the screen? Although we can always find certain method to deal with it, such as function code 'NP', 'POPO', considering some extreme situation: there is only one line visible one the screen, our BDC program should display an error message. (See transaction 'ME21', we you resize your screen to let only one row visible, you can not enter mutiple lines on this screen even you use 'NP')
Now with the help of Poonam on sapfans.com developement forum, I find a method with which we can determine the number of visible lines on Transaction Screen from our Calling BDC program. Maybe it is useless to you, but I think it will give your some idea.
Demo ABAP code has two purposes:
1. how to determine number of visible lines and how to calculte page number;
(the 'calpage' routine has been modify to meet general purpose usage)
2. using field symbol in BDC program, please pay special attention to the difference in Static ASSIGN and Dynamic ASSIGN.
Now I begin to describe the step to implement my method:
(I use transaction 'ME21', screen 121 for sample,
the method using is Call Transation Using..)
Step1: go to screen painter to display the screen 121, then we can count the fixed line on this screen, there is 7 lines above the steploop and 2 lines below the steploop, so there are total 9 fixed lines on this screen. This means except these 9 lines, all the other line is for step loop. Then have a look at steploop itselp, one entry of it will occupy two lines.
(Be careful, for table control, the head and the bottom scroll bar will possess another two fixed lines, and there is a maximum number for table line)
Now we have : FixedLine = 9
LoopLine = 2(for table control, LoopLine is always equal to 1)
Step2: go to transaction itself(ME21) to see how it roll page, in ME21, the first line of new page is always occupied by the last line of last page, so it begin with index '02', but in some other case, fisrt line is empty and ready for input.
Now we have: FirstLine = 0
or FirstLine = 1 ( in our case, FirstLine is 1 because the first line of new page is fulfilled)
Step3: write a subroutine calcalculating number of pages
(here, the name of actual parameter is the same as formal parameter)
global data: FixedLine type i, " number of fixed line on a certain screen
LoopLine type i, " the number of lines occupied by one steploop item
FirstLine type i, " possbile value 0 or 1, 0 stand for the first line of new " scrolling screen is empty, otherwise is 1
Dataline type i, " number of items you will use in BDC, using DESCRIBE to get
pageno type i, " you need to scroll screen how many times.
line type i, " number of lines appears on the screen.
index(2) type N, " the screen index for certain item
begin type i, " from parameter of loop
end type i. " to parameter of loop
*in code sample, the DataTable-linindex stands for the table index number of this line
form calpage using FixedLine type i (see step 1)
LoopLine type i (see step 1)
FirstLine type i (see step 2)
DataLine type i ( this is the item number you will enter in transaction)
changing pageno type i (return the number of page, depends on run-time visible line in table control/ Step Loop)
changing line type i.(visible lines one the screen)
data: midd type i,
vline type i, "visible lines
if DataLine eq 0.
Message eXXX.
endif.
vline = ( sy-srows - FixedLine ) div LoopLine.
*for table control, you should compare vline with maximum line of
*table control, then take the small one that is min(vline, maximum)
*here only illustrate step loop
if FirstLine eq 0.
pageno = DataLine div vline.
if pageno eq 0.
pageno = pageno + 1.
endif.
elseif FirstLine eq 1.
pageno = ( DataLine - 1 ) div ( vline - 1 ) + 1.
midd = ( DataLine - 1 ) mod ( vline - 1).
if midd = 0 and DataLine gt 1.
pageno = pageno - 1.
endif.
endif.
line = vline.
endform.
Step4 write a subroutine to calculate the line index for each item.
form calindex using Line type i (visible lines on the screen)
FirstLine type i(see step 2)
LineIndex type i(item index)
changing Index type n. (index on the screen)
if FirstLine = 0.
index = LineIndex mod Line.
if index = '00'.
index = Line.
endif.
elseif FirstLine = 1.
index = LineIndex mod ( Line - 1 ).
if ( index between 1 and 0 ) and LineIndex gt 1.
index = index + Line - 1.
endif.
if Line = 2.
index = index + Line - 1.
endif.
endif.
endform.
Step5 write a subroutine to calculate the loop range.
form calrange using Line type i ( visible lines on the screen)
DataLine type i
FirstLine type i
loopindex like sy-index
changing begin type i
end type i.
If FirstLine = 0.
if loopindex = 1.
begin = 1.
if DataLine <= Line.
end = DataLine.
else.
end = Line.
endif.
elseif loopindex gt 1.
begin = Line * ( loopindex - 1 ) + 1.
end = Line * loopindex.
if end gt DataLine.
end = DataLine.
endif.
endif.
elseif FirstLine = 1.
if loopindex = 1.
begin = 1.
if DataLine <= Line.
end = DataLine.
else.
end = Line.
endif.
elseif loop index gt 1.
begin = ( Line - 1 ) * ( loopindex - 1 ) + 2.
end = ( Line - 1 ) * ( loopindex - 1 ) + Line.
if end gt DataLine.
end = DataLine.
endif.
endif.
endif.
endform.
Step6 using field sysbol in your BDC, for example: in ME21, but you should calculate each item will correponding to which index in steploop/Table Control
form creat_bdc.
field-symbols: <material>, <quan>, <indicator>.
data: name1(14) value 'EKPO-EMATN(XX)',
name2(14) value 'EKPO-MENGE(XX)',
name3(15) value 'RM06E-SELKZ(XX)'.
assign: name1 to <material>,
name2 to <quan>,
name3 to <indicator>.
do pageno times.
if sy-index gt 1
*insert scroll page ok_code"
endif.
perform calrange using Line DataLine FirstLine sy-index
changing begin end.
loop at DataTable from begin to end.
perform calindex using Line FirstLine DataTable-LineIndex changing Index.
name1+11(2) = Index.
name2+11(2) = Index.
name3+12(2) = Index.
perform bdcfield using <material> DataTable-matnr.
perform bdcfield using <quan> DataTable-menge.
perform bdcfield using <indicator> DataTable-indicator.
endloop.
enddo.
An example abap program of handling Table Control during bdc programming.
REPORT zmm_bdcp_purchaseorderkb02
NO STANDARD PAGE HEADING LINE-SIZE 255.
Declaring internal tables *
*-----Declaring line structure
DATA : BEGIN OF it_dummy OCCURS 0,
dummy(255) TYPE c,
END OF it_dummy.
*-----Internal table for line items
DATA : BEGIN OF it_idata OCCURS 0,
ematn(18), "Material Number.
menge(13), "Qyantity.
netpr(11), "Net Price.
werks(4), "Plant.
ebelp(5), "Item Number.
END OF it_idata.
*-----Deep structure for header data and line items
DATA : BEGIN OF it_me21 OCCURS 0,
lifnr(10), "Vendor A/c No.
bsart(4), "A/c Type.
bedat(8), "Date of creation of PO.
ekorg(4), "Purchasing Organisation.
ekgrp(3), "Purchasing Group.
x_data LIKE TABLE OF it_idata,
END OF it_me21.
DATA : x_idata LIKE LINE OF it_idata.
DATA : v_delimit VALUE ','.
DATA : v_indx(3) TYPE n.
DATA : v_fnam(30) TYPE c.
DATA : v_count TYPE n.
DATA : v_ne TYPE i.
DATA : v_ns TYPE i.
*include bdcrecx1.
INCLUDE zmm_incl_purchaseorderkb01.
Search help for file *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
START-OF-SELECTION.
To upload the data into line structure *
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_file
filetype = 'DAT'
TABLES
data_tab = it_dummy.
Processing the data from line structure to internal tables *
REFRESH:it_me21.
CLEAR :it_me21.
LOOP AT it_dummy.
IF it_dummy-dummy+0(01) = 'H'.
v_indx = v_indx + 1.
CLEAR it_idata.
REFRESH it_idata.
CLEAR it_me21-x_data.
REFRESH it_me21-x_data.
SHIFT it_dummy.
SPLIT it_dummy AT v_delimit INTO it_me21-lifnr
it_me21-bsart
it_me21-bedat
it_me21-ekorg
it_me21-ekgrp.
APPEND it_me21.
ELSEIF it_dummy-dummy+0(01) = 'L'.
SHIFT it_dummy.
SPLIT it_dummy AT v_delimit INTO it_idata-ematn
it_idata-menge
it_idata-netpr
it_idata-werks
it_idata-ebelp.
APPEND it_idata TO it_me21-x_data.
MODIFY it_me21 INDEX v_indx.
ENDIF.
ENDLOOP.
To open the group *
PERFORM open_group.
To populate the bdcdata table for header data *
LOOP AT it_me21.
v_count = v_count + 1.
REFRESH it_bdcdata.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0100',
' ' 'BDC_CURSOR' 'EKKO-LIFNR',
' ' 'BDC_OKCODE' '/00',
' ' 'EKKO-LIFNR' it_me21-lifnr,
' ' 'RM06E-BSART' it_me21-bsart,
' ' 'RM06E-BEDAT' it_me21-bedat,
' ' 'EKKO-EKORG' it_me21-ekorg,
' ' 'EKKO-EKGRP' it_me21-ekgrp,
' ' 'RM06E-LPEIN' 'T'.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'RM06E-EBELP',
' ' 'BDC_OKCODE' '/00'.
MOVE 1 TO v_indx.
*-----To populate the bdcdata table for line item data
LOOP AT it_me21-x_data INTO x_idata.
CONCATENATE 'EKPO-EMATN(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-ematn.
CONCATENATE 'EKPO-MENGE(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-menge.
CONCATENATE 'EKPO-NETPR(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-netpr.
CONCATENATE 'EKPO-WERKS(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-werks.
v_indx = v_indx + 1.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'RM06E-EBELP',
' ' 'BDC_OKCODE' '/00'.
ENDLOOP.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'RM06E-EBELP',
' ' 'BDC_OKCODE' '=BU'.
PERFORM bdc_transaction USING 'ME21'.
ENDLOOP.
PERFORM close_group.
End of selection event *
END-OF-SELECTION.
IF session NE 'X'.
*-----To display the successful records
WRITE :/10 text-001. "Sucess records
WRITE :/10 SY-ULINE(20).
SKIP.
IF it_sucess IS INITIAL.
WRITE :/ text-002.
ELSE.
WRITE :/ text-008, "Total number of Succesful records
35 v_ns.
SKIP.
WRITE:/ text-003, "Vendor Number
17 text-004, "Record number
30 text-005. "Message
ENDIF.
LOOP AT it_sucess.
WRITE:/4 it_sucess-lifnr,
17 it_sucess-tabix CENTERED,
30 it_sucess-sucess_rec.
ENDLOOP.
SKIP.
*-----To display the erroneous records
WRITE:/10 text-006. "Error Records
WRITE:/10 SY-ULINE(17).
SKIP.
IF it_error IS INITIAL.
WRITE:/ text-007. "No error records
ELSE.
WRITE:/ text-009, "Total number of erroneous records
35 v_ne.
SKIP.
WRITE:/ text-003, "Vendor Number
17 text-004, "Record number
30 text-005. "Message
ENDIF.
LOOP AT it_error.
WRITE:/4 it_error-lifnr,
17 it_error-tabix CENTERED,
30 it_error-error_rec.
ENDLOOP.
REFRESH it_sucess.
REFRESH it_error.
ENDIF.
CODE IN INCLUDE.
Include ZMM_INCL_PURCHASEORDERKB01
DATA: it_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: it_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA: E_GROUP_OPENED.
*-----Internal table to store sucess records
DATA:BEGIN OF it_sucess OCCURS 0,
msgtyp(1) TYPE c,
lifnr LIKE ekko-lifnr,
tabix LIKE sy-tabix,
sucess_rec(125),
END OF it_sucess.
DATA: g_mess(125) type c.
*-----Internal table to store error records
DATA:BEGIN OF it_error OCCURS 0,
msgtyp(1) TYPE c,
lifnr LIKE ekko-lifnr,
tabix LIKE sy-tabix,
error_rec(125),
END OF it_error.
Selection screen
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS session RADIOBUTTON GROUP ctu. "create session
SELECTION-SCREEN COMMENT 3(20) text-s07 FOR FIELD session.
SELECTION-SCREEN POSITION 45.
PARAMETERS ctu RADIOBUTTON GROUP ctu. "call transaction
SELECTION-SCREEN COMMENT 48(20) text-s08 FOR FIELD ctu.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD group.
SELECTION-SCREEN POSITION 25.
PARAMETERS group(12). "group name of session
SELECTION-SCREEN COMMENT 48(20) text-s05 FOR FIELD ctumode.
SELECTION-SCREEN POSITION 70.
PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.
"A: show all dynpros
"E: show dynpro on error only
"N: do not display dynpro
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 48(20) text-s06 FOR FIELD cupdate.
SELECTION-SCREEN POSITION 70.
PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'L'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) text-s03 FOR FIELD keep.
SELECTION-SCREEN POSITION 25.
PARAMETERS: keep AS CHECKBOX. "' ' = delete session if finished
"'X' = keep session if finished
SELECTION-SCREEN COMMENT 48(20) text-s09 FOR FIELD e_group.
SELECTION-SCREEN POSITION 70.
PARAMETERS e_group(12). "group name of error-session
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 51(17) text-s03 FOR FIELD e_keep.
SELECTION-SCREEN POSITION 70.
PARAMETERS: e_keep AS CHECKBOX. "' ' = delete session if finished
"'X' = keep session if finished
SELECTION-SCREEN END OF LINE.
PARAMETERS:p_file LIKE rlgrap-filename.
at selection screen *
AT SELECTION-SCREEN.
group and user must be filled for create session
IF SESSION = 'X' AND
GROUP = SPACE. "OR USER = SPACE.
MESSAGE E613(MS).
ENDIF.
create batchinput session *
FORM OPEN_GROUP.
IF SESSION = 'X'.
SKIP.
WRITE: /(20) 'Create group'(I01), GROUP.
SKIP.
*----open batchinput group
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = GROUP
USER = sy-uname.
WRITE:/(30) 'BDC_OPEN_GROUP'(I02),
(12) 'returncode:'(I05),
SY-SUBRC.
ENDIF.
ENDFORM. "OPEN_GROUP
end batchinput session *
FORM CLOSE_GROUP.
IF SESSION = 'X'.
*------close batchinput group
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),
(12) 'returncode:'(I05),
SY-SUBRC.
ELSE.
IF E_GROUP_OPENED = 'X'.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /.
WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).
ENDIF.
ENDIF.
ENDFORM. "CLOSE_GROUP
Start new transaction according to parameters *
FORM BDC_TRANSACTION USING TCODE TYPE ANY.
DATA: L_SUBRC LIKE SY-SUBRC.
*------batch input session
IF SESSION = 'X'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = it_BDCDATA.
WRITE: / 'BDC_INSERT'(I03),
TCODE,
'returncode:'(I05),
SY-SUBRC,
'RECORD:',
SY-INDEX.
ELSE.
REFRESH it_MESSTAB.
CALL TRANSACTION TCODE USING it_BDCDATA
MODE CTUMODE
UPDATE CUPDATE
MESSAGES INTO it_MESSTAB.
L_SUBRC = SY-SUBRC.
WRITE: / 'CALL_TRANSACTION',
TCODE,
'returncode:'(I05),
L_SUBRC,
'RECORD:',
SY-INDEX.
ENDIF.
Message handling for Call Transaction *
perform subr_mess_hand using g_mess.
*-----Erzeugen fehlermappe
IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
IF E_GROUP_OPENED = ' '.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = E_GROUP
USER = sy-uname
KEEP = E_KEEP.
E_GROUP_OPENED = 'X'.
ENDIF.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = it_BDCDATA.
ENDIF.
REFRESH it_BDCDATA.
ENDFORM. "BDC_TRANSACTION
Form subr_bdc_table *
text
-->P_0220 text *
-->P_0221 text *
-->P_0222 text *
FORM subr_bdc_table USING VALUE(P_0220) TYPE ANY
VALUE(P_0221) TYPE ANY
VALUE(P_0222) TYPE ANY.
CLEAR it_bdcdata.
IF P_0220 = ' '.
CLEAR it_bdcdata.
it_bdcdata-fnam = P_0221.
it_bdcdata-fval = P_0222.
APPEND it_bdcdata.
ELSE.
it_bdcdata-dynbegin = P_0220.
it_bdcdata-program = P_0221.
it_bdcdata-dynpro = P_0222.
APPEND it_bdcdata.
ENDIF.
ENDFORM. " subr_bdc_table
Form subr_mess_hand *
text *
-->P_G_MESS text *
FORM subr_mess_hand USING P_G_MESS TYPE ANY.
LOOP AT IT_MESSTAB.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = it_messtab-msgid
LANG = it_messtab-msgspra
NO = it_messtab-msgnr
v1 = it_messtab-msgv1
v2 = it_messtab-msgv2
IMPORTING
MSG = P_G_MESS
EXCEPTIONS
OTHERS = 0.
CASE it_messtab-msgtyp.
when 'E'.
it_error-error_rec = P_G_MESS.
it_error-lifnr = it_me21-lifnr.
it_error-tabix = v_count.
APPEND IT_ERROR.
when 'S'.
it_sucess-sucess_rec = P_G_MESS.
it_sucess-lifnr = it_me21-lifnr.
it_sucess-tabix = v_count.
APPEND IT_SUCESS.
endcase.
ENDLOOP.
Describe table it_sucess lines v_ns.
Describe table it_error lines v_ne.
ENDFORM. " subr_mess_hand
Also refer
http://sap.ittoolbox.com/groups/technical-functional/sap-dev/bdc-table-control-668404
and
http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
Regards,
srinivas
<b>*reward for useful answers*</b> -
'Create' Push button is not working in BDC and LSMW while uploading G/L master data
Hello Experts:
I am facing the following problem:
While uploading G/L master data with the BDC program, 'create' push button is not working even after executing following lines.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ACC_CRE'.
Create G/L account screen is not coming in BDC. Please suggest me what to do.
Thanks !!Re: 'Create' Push button is not working in BDC and LSMW while uploading G/L master data
Re: 'Create' Push button is not working in BDC and LSMW while uploading G/L master data
Hi Glen Anthony
Thank you for the reply Glen Anthony please take a look at the following code.
REPORT ZFI_BDC_FS00
NO STANDARD PAGE HEADING LINE-SIZE 255.
*INCLUDE BDCRECX1.
TYPES : BEGIN OF STR,
BUKRS TYPE GLACCOUNT_SCREEN_KEY-BUKRS, "Company Code
SAKNR TYPE GLACCOUNT_SCREEN_KEY-SAKNR, "G/L Account Number
KTOKS TYPE GLACCOUNT_SCREEN_COA-KTOKS, "G/L Account Group
XPLACCT TYPE GLACCOUNT_SCREEN_COA-XPLACCT, "P&L statement account
XBILK TYPE GLACCOUNT_SCREEN_COA-XBILK, "Indicator: Account is a balance sheet account?
TXT20_ML TYPE GLACCOUNT_SCREEN_COA-TXT20_ML, "G/L account short text
TXT50_ML TYPE GLACCOUNT_SCREEN_COA-TXT50_ML, "G/L account short text
WAERS TYPE GLACCOUNT_SCREEN_CCODE-WAERS, "Account currency
XSALH TYPE GLACCOUNT_SCREEN_CCODE-XSALH, "Indicator: Only Manage Balances in Local Currency
MWSKZ TYPE GLACCOUNT_SCREEN_CCODE-MWSKZ, "Tax Category in Account Master Record
XMWNO TYPE GLACCOUNT_SCREEN_CCODE-XMWNO, "Indicator: Tax code is not a required field
MITKZ TYPE GLACCOUNT_SCREEN_CCODE-MITKZ, "Account is reconciliation account
XOPVW TYPE GLACCOUNT_SCREEN_CCODE-XOPVW, "Indicator: Open item management?
XKRES TYPE GLACCOUNT_SCREEN_CCODE-XKRES, "Indicator: Can Line Items Be Displayed by Account?
ZUAWA TYPE GLACCOUNT_SCREEN_CCODE-ZUAWA, "Key for sorting according to assignment numbers
FSTAG TYPE GLACCOUNT_SCREEN_CCODE-FSTAG, "Field status group
XINTB TYPE GLACCOUNT_SCREEN_CCODE-XINTB, "Indicator: Is account only posted to automatically?
END OF STR.
DATA : ITAB TYPE TABLE OF STR WITH HEADER LINE,
IT_BDCDATA TYPE TABLE OF BDCDATA WITH HEADER LINE,
TXT(4096) TYPE C OCCURS 0,
MSG TYPE STRING,
COUNT(5) TYPE N.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : MY_FILE TYPE RLGRAP-FILENAME.
SELECTION-SCREEN : END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR MY_FILE.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
* FIELD_NAME = ' '
IMPORTING
FILE_NAME = MY_FILE
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
* I_LINE_HEADER =
I_TAB_RAW_DATA = TXT
I_FILENAME = MY_FILE
TABLES
I_TAB_CONVERTED_DATA = ITAB[]
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2
IF SY-SUBRC <> 0.
* IMPLEMENT SUITABLE ERROR HANDLING HERE
ENDIF.
START-OF-SELECTION.
COUNT = 0.
LOOP AT ITAB.
*PERFORM OPEN_GROUP.
REFRESH IT_BDCDATA.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_KEY-BUKRS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ACC_CRE'.
*PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'GLACCOUNT_SCREEN_KEY-BUKRS'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_KEY-SAKNR'
ITAB-SAKNR. "'5'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_KEY-BUKRS'
ITAB-BUKRS. "'TATA'.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=2102_GROUP'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_COA-KTOKS'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-KTOKS'
ITAB-KTOKS. "'GL'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-XPLACCT'
ITAB-XPLACCT. "'X'.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=2102_BS_PL'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_COA-XBILK'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-KTOKS'
ITAB-KTOKS. "'GL'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-XPLACCT'
ITAB-XPLACCT. "''.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-XBILK'
ITAB-XBILK. "'X'.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB02'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-KTOKS'
ITAB-KTOKS. "'GL'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-XBILK'
ITAB-XBILK. "'X'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_COA-TXT50_ML'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-TXT20_ML'
ITAB-TXT20_ML. "'G/L ACCOUNT'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-TXT50_ML'
ITAB-TXT50_ML. "'G/L ACCOUNT'.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB03'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-WAERS'
ITAB-WAERS. "'INR'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-XSALH'
ITAB-XSALH. "'X'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-MWSKZ'
ITAB-MWSKZ. "'*'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-XMWNO'
ITAB-XMWNO. "'X'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-MITKZ'
ITAB-MITKZ. "''.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_CCODE-ZUAWA'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-XOPVW'
ITAB-XOPVW. "'X'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-XKRES'
ITAB-XKRES. "'X'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-ZUAWA'
ITAB-ZUAWA. "'1'.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SAVE'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_CCODE-XINTB'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-FSTAG'
ITAB-FSTAG. "'G019'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-XINTB'
ITAB-XINTB. "'X'.
*PERFORM BDC_TRANSACTION USING 'FS00'.
CALL TRANSACTION 'FS00' USING IT_BDCDATA MODE 'E' UPDATE 'S'.
COUNT = COUNT + 1.
*PERFORM CLOSE_GROUP.
ENDLOOP.
CONCATENATE COUNT ' RECORDS UPDATED SUCCESSFULLY' INTO MSG.
MESSAGE MSG TYPE 'I'.
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR IT_BDCDATA.
IT_BDCDATA-PROGRAM = PROGRAM.
IT_BDCDATA-DYNPRO = DYNPRO.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
ENDFORM.
* INSERT FIELD *
FORM BDC_FIELD USING FNAM FVAL.
* IF FVAL <> NODATA.
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = FNAM.
IT_BDCDATA-FVAL = FVAL.
APPEND IT_BDCDATA.
* ENDIF.
ENDFORM. -
Differences between BDC and LSMW
Hello SAP Gurus,
Kindly let me know the various differences between BDC and LSMW.
Also, please tell me the STEPS of the CUT-OVER PLANNING (Shifting of Data from the Legacy System to the SAP System). Here, the "Data" means which data? Please explain in details.
Looking for your early feedback.
Regards,
Kaushik.Hi,
BDC- It is Batch data communication. Its used for data conversion from legacy system to SAP system. Only technical people can do it. Tcode is SHDB.
LSMW- It is legacy system migration workbench. Its also used for data conversion from legacy system to SAP system. But it is role of functional consultant.
There are 14 steps in LSMW. As soon as you complete the one step, automatically it will go to next step.
In general you can use LSMW. But if you want to transfer more than 40,000 data, then it is not possible in LSMW. That time you can take help of BDC.
Cutover strategy depends upon how the organizations design their data load strategies. Normally, you decide the sequence of Data loads for Configuration settings, Master data, Transaction data which follows whom and then you make a copy of the system as a Production system a day before and after checking the successful data loads, you go-live 100% or partial again depending upon organizational setup and policies.
Cutover planning is highly site specific. There's no thumb rule. The stock data as on the date of going live should be correctly entered. But stock being a highly dynamic quantity, the strategy for loading should be crystal clear. Then you have to load all the back dated transaction on the stock. Some stock comes into your plant/storage location as return and some stock is actually delivered to your customer through sales orders of various kinds.
Please refer this link,
[PP Cut over activity|http://www.sap-img.com/production/pp-questions-answers.htm]
Regards,
R.Brahmankar -
Is BDC and ALE taking a back seat after the introduction of Netweaver
Hello guys
I have heard lot of people saying that after Netweaver XI's introduction to the market, BDC and ALE are taking back seat in the market. Is this true?
Are there any links where I can read some good articles on this comparison in terms of both sales pitch as well as from a technical point of view.
Thanks
RamHi,
I dont think so, Though ALE will be used between SAP to Non SAP, in most of the real time scenarios we can see ALE have been using in between SAP to SAP only. In this case we no need to use XI instead of ALE.
Coming to the BDC, since there are lot of middle ware already existed in the market, i dont think customer can switch to XI immediately. may be it will take some time. In some cases we need to use only BDC.
Thanks
Jaya -
Can any one explain me the relation between BDC and reports events?
hi experts.....
can any one explain me the relation between BDC and reports events? we are using report events in BDC programmes why?\
Is reports events occurs in each and every concept in ABAP i.e creating custom idocs, smart forms, sap scripts, dialog programmes, module pool technics?
thanks in advanceThe forums are expert forums. So the first thing I would do is change your name.
It's like entering a grand prix in a car with a "Student Driver" sign.
Rob -
ABAP interfaces build using BDC and BAPIs can be used/replaced with the XI?
Hi,
We have develeloped our interfases using BDC and BAPIs. Now our client has decited to implement XI. Now could you please help in finding whether these interfaces can be used/replaced with the XI.
If yes, please let us know how?
Thanks and Regards,
ShwetaSingh,
Check this threads where they have discussed on how to use them with XI:
import BAPI into XI
Re: interface of xi with bapi
Re: BDC
Regards,
---Satish -
Hi,
Had some questions, would appreciate if somebody could help answer.
1) If I want to do a BDC on TCode T1 and if BDC is successful on T1 then do a BDC on Tcode T2 (all in the same program), Can we do a BDC using session method on multiple transactions in one session?
2) Can you call a screen from a function pool?
Thanks in advance.
MickHi Venkat,
I do not have a real life scenario, but this question came to mind when I was trying something.
But hypothetically consider a scenario where I create Purchase Orders using BDC and then if the BDC is successful then immediately do another BDC for Goods Receipt. This could also be part of some cleanup exercise where I want to do BDC's on 2 TCodes, the 2nd one only if the 1st one is successful.
Regards,
Mick -
What is BDC and LSMW? Difference
Dear experts!
Explore the concept of BDC and LSMW and their difference.
Merits/Demerits.
Transactions used for executing and viewing the same.
Rishi.Rishi,
Hope these links help you:
http://sap-img.com/bdc.htm
http://sap-img.com/sap-data-migration.htm
http://sap-img.com/sap-data-migration.htm
https://websmp206.sap-ag.de/lsmw
<b>LSMW</b>
Data Migration from Non-SAP Systems to SAP systems* Made Easy
The LSM Workbench is an SAP R/3 based tool that supports the one-time or periodic transfer of data from non-SAP systems ("legacy systems") to SAP systems.
The LSM Workbench helps you to organize your data migration project and guides you through the process by using a clear sequence of steps.
The most common conversion rules are predefined. Reusable conversion rules assure consistent data conversion for different data objects.
The LSM Workbench covers the following steps:
Read the legacy data from one or several files (e.g. spreadsheet tables, sequential files).
Convert the data from source format to target format.
Import the data using standard interfaces (Batch Input, Direct Input, BAPI, IDoc).
Detailed Information
Objectives
High Flexibility to Ensure the Optimal Solution
The Data Transfer Workbench gives you control of the SAP data transfer interfaces: from proven batch input, through very fast direct input, to Business APIs (BAPIs), which are also suitable for permanent interfaces. This solution is sufficient if certified partner products are available for the transfer of open interfaces, or if you explicitly want to do interface programming in ABAP or the language of the legacy system. SAP provides its customers with the Legacy System Migration (LSM) Workbench, which dramatically reduces the considerable expenditure involved in individual programming. This tool makes it possible to transfer data without any programming. You define the rules for the changeover. The LSM Workbench then uses this definition to generate an ABAP program and thus gives you considerable support during the migration.
Description
Data Migration Controlled by your SAP System
In contrast to many conventional approaches, the solution described here is a component of your SAP system. As a result it is no longer necessary to program in a number of different systems. All you need are basic unloading programs in the legacy system, or, alternatively, existing data interfaces can be used. Everything else takes place in the SAP system. With SAP R/3 Release 4.6C the LSM Workbench is also integrated into the Data Transfer Workbench, and can be called up there.
Maximum Quality
Data migration with the Data Transfer Workbench and the LSM Workbench guarantees maximum quality and consistency of your data in the SAP system. When data is imported, the system performs the same checks as it does during online entry. The update in your database is performed through the Standard Batch Input Program, the Standard Direct Input Program, IDOC interfaces, and R/3 System BAPIs.
Proven Concepts
SAP has already gathered over seven years of migration experience with its own products. The LSM Workbench has been developed on the basis of experience gained with the R/2-R/3 Migration Workbench. In the meantime, the LSM Workbench has also been successfully used over 500 times in the migration of legacy systems to R/3.Concepts and techniques that have proven their worth form the backbone of the LSM Workbench:
Transfer of business data objects (such as material master data) instead of individual tables
Definition of flexible conversion rules that are adapted as part of migration customizing
Automatic generation of a conversion program
Synergy Effects through Uniform Procedures
SAP's experience shows that certain algorithms and techniques appear over and over again during data conversion projects. These techniques have been standardized in the LSM Workbench and can be called at the touch of a button. With this concept of central rules you can ensure, for example, that your vendor numbers are converted in the same way in both your vendor master data and in your purchase orders. This uniform procedure guarantees the consistency of your data and captures synergy effects in cases where you need to migrate data from disparate legacy systems.
Importing Data from PCs
More and more medium-sized firms are implementing SAP solutions, and many of them have their legacy data in desktop programs. In this case, the data is exported in a format that can be read by PC spreadsheet systems. As a result, the data transfer is mere child's play: Simply enter the field names in the first line of the table, and the LSM Workbench's import routine automatically generates the input file for your conversion program.
Data Verification before Update in the Database
The LSM Workbench lets you check the data for migration against the current settings of your customizing. The check is performed after the data migration, but before the update in your database.
Substantial Reduction of Effort
SAP's experiences show that using the Data Transfer Workbench in conjunction with the LSM Workbench can reduce the effort required for data migration by 30% and more.
Project Library - A Knowledge Database
The LSM Workbench is a learning tool: The experience gained in other implementation projects is continually fed into the LSM Workbench, where it directly benefits your project. -
Can any body give the steps performed in BDC and SHDB clearly ?
Thanks in advance.
KPHi,
tricky bdc
http://www.erpgenie.com/phpBB2/viewtopic.php?t=15189&view=previous&sid=0f673e0abb595a082dbbd7a2276c22f8
Regards
Sudheer -
Diffrence between BDC and BAPI's
Hi all
can any one tell me when to go with BDC and when to BAPI
rewards are expectedHai Sai
Check the following Differences B/W BDC and BAPI
The steps to be followed are :
1. Find out the relevant BAPI (BAPI_SALESORDER_CHANGE for VA02).
[for VA01 use BAPI_SALESORDER_CREATEFROMDAT2]
2. Create a Z program and call the BAPi (same as a Funtion module call).
2. Now, if you see this BAPi, it has
-> Importing structures.
eg: SALESDOCUMENT: this will take the Sales order header data as input.
-> Tables parameters:
eg: ORDER_ITEM_IN: this will take the line item data as input.
Note :
Only specify fields that should be changed
Select these fields by entering an X in the checkboxes
Enter a U in the UPDATEFLAG field
Always specify key fields when changing the data, including in the checkboxes
The configuration is an exception here. If this needs to be changed, you need to complete it again fully.
Maintain quantities and dates in the schedule line data
Possible UPDATEFLAGS:
U = change
D = delete
I = add
Example
1. Delete the whole order
2. Delete order items
3. Change the order
4. Change the configuration
Notes
1. Minimum entry:
You must enter the order number in the SALESDOCUMENT structure.
You must always enter key fields for changes.
You must always specify the update indicator in the ORDER_HEADER_INX.
2. Commit control:
The BAPI does not run a database Commit, which means that the application must trigger the Commit so that the changes are read to the database. To do this, use the BAPI_TRANSACTION_COMMIT BAPI.
For further details... refer to the Function Module documentation for the BAPi.
Regards
Sreeni -
Hi All
1) Please give me a clear picture about BDC and Interfaces, what are the differences between?
2) What is the usage of Update Mode(Synchronous, Asynchronous and Local), please explain me differences between them?
Awaiting for your response.
Regards
Praveen1)
http://help.sap.com/saphelp_47x200/helpdata/en/fa/097140543b11d1898e0000e8322d00/frameset.htm
2)
You use the UPDATE parameter to specify how updates produced by a transaction should be processed. You can select between these modes:
A Asynchronous updating. In this mode, the called transaction does not wait for any updates it produces to be completed. It simply passes the updates to the SAP update service. Asynchronous processing therefore usually results in faster execution of your data transfer program.
Asynchronous processing is NOT recommended for processing any larger amount of data. This is because the called transaction receives no completion message from the update module in asynchronous updating. The calling data transfer program, in turn, cannot determine whether a called transaction ended with a successful update of the database or not.
If you use asynchronous updating, then you will need to use the update management facility (Transaction SM12) to check whether updates have been terminated abnormally during session processing. Error analysis and recovery is less convenient than with synchronous updating.
S Synchronous updating. In this mode, the called transaction waits for any updates that it produces to be completed. Execution is slower than with asynchronous updating because called transactions wait for updating to be completed. However, the called transaction is able to return any update error message that occurs to your program. It is much easier for you to analyze and recover from errors.
L Local updating. If you update data locally, the update of the database will not be processed in a separate process, but in the process of the calling program. (See the ABAP keyword documentation on SET UPDATE TASK LOCAL for more information.)
Regards,
Rich Heilman -
I want to display some fields using the BDC and i want to know thruogh whic
I want to display some fields using the BDC and i want to know thruogh which transaction these fields are displayed.Could you please help me out.
You can use JFreeChart which is a free and good tool to generate graphs in Java. It has samples and other guides which you can use to get started...
-
Give some pp module tcodes used in bdc and their purposes
give some pp module tcodes used in bdc and their purposes
thank you,
Regards,
Jagrut Bharatkumar ShuklaHi
Important PP tables are..
Master Data:
CRHD Work center header
MAPL Allocation of task lists to materials
PLAS Task list - selection of operations/activities
PLFH Task list - production resources/tools
PLFL Task list - sequences
PLKO Task list - header
PLKZ Task list: main header
PLPH Phases / suboperations
PLPO Task list operation / activity
PLPR Log collector for tasklists
PLMZ Allocation of BOM - items to operations
Production Orders:
STKO BOM - header
STPO BOM - item
STAS BOMs - Item Selection
STPN BOMs - follow-up control
STPU BOM - sub-item
STZU Permanent BOM data
PLMZ Allocation of BOM - items to operations
MAST Material to BOM link
KDST Sales order to BOM link
AUFK Production order headers
AFIH Maintenance order header
AUFM Goods movement for prod. order
AFKO Order header data PP orders
AFPO Order item
RESB Order componenten
AFRU Order completion confirmations
Planned orders and Independent requirements:
PLAF Planned orders
RESB Material reservations
PBIM Independent requirements for material
PBED Independent requirement data
PBHI Independent requirement history
PBIV Independent requirement index
RKPF header
Capacity Planning:
KBKO Header record for capacity requirements
KBED Capacity requirements records
KBEZ Add. data for table KBED (for indiv. capacities/splits)
Important Transcation:
CA usually reserved for routing type transactions. This includes reference rate routings and rate routings.
CA31, CA32, CA33: Reference Rate Routing Creationg
CA21, CA22, CA23: Rate Routing Creationg
CA63, CA64 Change documents for Routings
CA80, CA85, CA90, CA95, CA98: Where Used, Replacing Routings, etc.
CR Usually reserved for work center type transactions.
CR01, CR02, CR03: Work Center Creation
CR05, CR07, etc. Work Centers analysis, etc.
CS Usually reserved for BOM type transactions.
CS01, CS02, CS03 Bill of Materials
CS07, CS08, CS09: Extend Bill of materials
CS11, CS12, CS13: Explode Bill of materials
F Usually reserved for financial type transactions
A Usually reserved for financial type transactions.
LM Label Management type transactions
MB Usually reserved for inventory type transactions
MB51 Material document history
MB1A Goods Issue for Scrap
MB1B Goods transfer
MD Usually reserved for MRP type transactions
MD01, MD02, MD03, MDBT - MRP Run
MD04, MD07: Stock/Requirements List
MD05, MD06: MRP List (static)
MD11, MD12, MD13, MD16: Planned Order creation, etc
MD20, MD21: Planning file
ME Usually reserved for Purchasing Type Transactions
ME01, ME03, ME05 Source Lists
ME11, ME12, ME13 Info Records
ME21N, ME22N, ME23N: Purchase Order creation
ME31L, ME32L, ME33L: Scheduling Agreement Creation
ME51, ME57 Purchase Requisitions
ME38, ME38: Schedule Line display
ME37: Stock Transport Scheduling Agreements
ME27: Stock Transport Orders
MM Usually reserved for material master type transactions:
MM01, MM02, MM03: Material Master Creation
MM04 Change Documents
MM06: Mark for Deletion
MM60: Materials List
V Usually reserved for Sales and Distribution type transactions
VA Sales Orders
VL Deliveries
VT Shipments
VD Customer Master for Sales
VK Condition Records
http://www.sap-img.com/sap-pp.htm
http://www.erpgenie.com/sapfunc/pp.htm
Reward if usefull
Maybe you are looking for
-
hi can any one tell me what is workflow? where is it used ? how a workflow is created in SAP XI
-
Hi... I want to do scenario like file split and merge using BPM. for that i have used, 1.Receive 2.Transformation(1:N) 3.Block(ForEach) 4.Control 5.EndBlock 6.Transformation(N:1) 7.Send. while executing the scenario, the message is going to the qu
-
Problem with tetering using a Alpa 850 (sony) lr3, Windows 7,
Have already downloading the special pluginn for this problem but it will not work. can anyone help me to solve this problem?
-
Comparing dates in select query.
Hi Experts, I need to select data from one table such that the date field of the table should be either today's date or earlier date. How can I write such comparison statement in select query.
-
Problem in ALV display using OOPs
Hi, I have a dynamic selection screen where i am submitting one report to the other using SUBMIT statement. After entering values in the selection screen, the output should be displayed using ALV.so i created a screen in the 2nd report i.e ZARR_MASS