Bdc /bapi urgent
Hi all,
there is a existing bdc program for goods receipt in our system.
I had added 2 lines of code to the existing recording part of the program.
the problem is at last screen the command =BU is not coming in the popup screen(which will show all the okcodes, even popup window is not coming)
when i comment my part of the code, the popup window is showing =BU command...
I dont understand whatz the problem is .....
i have tried to post goods receipt using bapi_goodsmvt_create, but its throwing error messages.
I have to post good with subcontract material.
I have PO number, Delivery No, Quantity.
Material etc....
Thanks in advance.
Hello Rao,
You have to debug your BDC and have to find out as we don't have your system access.
Also for the BAPI you can populate the data to the BAPI as per the belwo code :
DATA: gmhead type BAPI2017_GM_HEAD_01.
DATA: gmcode type BAPI2017_GM_CODE.
DATA: itab type table of BAPI2017_GM_ITEM_CREATE with header line.
data: it_err type table of BAPIRET2 with header line.
DATA: it_test type ZTEST_WM.
gmhead-pstng_date = sy-datum.
gmhead-doc_date = sy-datum.
gmhead-header_txt = 'TEST'.
gmcode-gm_code = '03'. "03 - MB1A - Goods Issue
itab-material = '100-300'.
itab-plant = '1000'.
itab-stge_loc = '0088'.
itab-move_type = '201'.
itab-entry_qnt = '1'.
itab-gr_rcpt = w_goods_recipient.
itab-costcenter = '1000'.
itab-orderid = w_order_num.
itab-reserv_no = '66132'.
itab-res_item = '0001'.
itab-network = w_network.
append itab.
clear itab.
*break ppanand.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
GOODSMVT_HEADER = gmhead
GOODSMVT_CODE = gmcode
IMPORTING
MATERIALDOCUMENT = mat_doc
MATDOCUMENTYEAR = doc_yr
TABLES
GOODSMVT_ITEM = itab
RETURN = it_err.
*break-point.
read table it_err with key type = 'E'.
if sy-subrc <> 0.
it_test-mat_doc = mat_doc.
it_test-doc_yr = doc_yr.
it_test-sdate = sy-datum.
it_test-stime = sy-uzeit.
insert ZTEST_WM from it_test.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
break-point.
COMMIT WORK.
do 30 times.
wait up to 3 seconds.
break-point.
enddo.
break-point.
else.
break-point.
endif.
Hope this helps.
Thanks,
Greetson
Similar Messages
-
hi friends,
Tel me a snenorio wher u should go for BDC , BAPI and LSMW....pls dont give technical defintions....pls suggest me the snerios.....
Thanks in advance...
Regards...
BalajiHi,
<u><b>BAPI:</b></u>
SAP created the Business Framework to allow the technical integration and exchange of business data among SAP components and between SAP and non-SAP components. Important components of the Business Framework are the Business Application Programming Interfaces (BAPIs), which represent visible interfaces at the component boundaries and whose properties serve to integrate these components.
The integration can include both components within a local network and components that are connected with one another through the Internet.
BAPIs allow integration at the business level, not the technical level. This provides for greater stability in the link, and independence from the underlying communication technology.
You can get all the standard SAP BAPI functions with the transactions code 'BAPI'.
<u><b>BDC:</b></u>
Batch Data Communication or BDC is a batch interfacing technique that SAP developed. It is mainly used for uploading data into the SAP R/3 system. BDC works by simulating the user input from transactional screen via an ABAP program.
The data input data file will come in the form of a flat file which the user save as file type txt file or prn file from the Microsoft Excel program. An Abaper will create a program to read the text file and upload into the SAP system.
Normally, the tcode SHDB will be used to record the transaction code the user used. After, the simulation, the Abaper can generate a sample program and modify from there. It makes the programming easier and faster.
<u><b>LSMW:</b></u>
No ABAP effort are required for the SAP data migration. However, effort are required to map the data into the structure according to the pre-determined format as specified by the pre-written ABAP upload program of the LSMW.
The Legacy System Migration Workbench (LSMW) is a tool recommended by SAP that you can use to transfer data once only or periodically from legacy systems into an R/3 System.
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.
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.
So although it was designed for uploading of legacy data it is not restricted to this use.
We use it for mass changes, i.e. uploading new/replacement data and it is great, but there are limits on its functionality, depending on the complexity of the transaction you are trying to replicate.
The SAP transaction code is 'LSMW' for SAP version 4.6x.
For those with the older SAP version (4.7 and below), the data migration programs might not have been pre-loaded.
You can download the LSMW at no cost from SAPNet under Services, SAP Methodology and Tools, category Tools.
If you are an existing SAP customer with an OSS ID, you can access the SAP Service Marketplace to download the LSWM for your Basis teams to install to your SAP system: http://service.sap.com/lsmw
The LSM Workbench carries out the following tasks:
Reads the transfer data from one or more files (for example, spreadsheets, sequential files etc.)
Converts the data from the source format into the target format
Note that with background processing, the input file must not be located in the presentation server. Access to presentation server files is only possible when you are working online.
Regards,
Bhaskar -
INTERVIEW RELATED BDC, BAPI
hI !!!!
If interviewer asks
1) What is the most difficult situation you faced in BDC, BAPI, Reports, Smartforms or give me any good scenario how i handled it.
2) What wer the appreciations you got . on this what shoul i say
3) in Enhancement project how will we get Specs which software and what will be
Project duration ?
Thansk for answering my queried .hi !!
Suppose i have a badi using it i modify salesorder no suppose ..
i have an definition to implement it and using its parametes i'll write the code.
Now how shall i find the sales order field or any relevant field what has the value to be modified.
How would we find this relevant field no tonly in sales order any transaction
thanks -
hi i want to run bdc for VF46.after running this report i need click on the output and do the collective processing .since VF46 is an alv report the screen number doesnt reflect when we do the recording.kindly help me out since there is no bapi for this
its very urgent
regards
prajithHi,
Is SHDB not recording the ALV output..
Thanks,
Naren -
Error while creating BOM using BAPI (urgent)
Hi all,
Thanks for ur help. i am getting some error while creting a BOM using that BAPI
BAPI_MATERIAL_BOM_GROUP_CREATE.
errors are
1) Error/warning when checking the structure of the BOM group with ID =
2)Alternative does not exist for material assignment to material BAPIBOMFG1
is it mandatory to pass the bom group id to this bapi?
In bomgroup structure , i am not passing anything to BOM_GROUP field.
is it mandatory to pass this data? i am giving my coding below.plz suggest , where i am making mistake. it is urgent.
regards
pabitra
report z_bom_create
line-size 132
line-count 65
no standard page heading.
*-- DATA DECLARATION--
include <icon> .
*---Tables
tables : s076, t100, marc .
*---Types
types : begin of t_upload, " Upload file data
col1(18),
col2(10),
col3(30),
col4(12),
col5(50),
end of t_upload,
begin of t_split,
location like stpu-ebort,
end of t_split.
data:begin of i_return occurs 10.
include structure bapiret2.
data:end of i_return.
types:begin of t_item."occurs 10.
include structure BAPI1080_ITM_C.
types:end of t_item.
types:begin of t_subitem." occurs 10.
include structure BAPI1080_SUI_C.
types:end of t_subitem.
types:begin of t_header." occurs 10.
include structure BAPI1080_MBM_C.
types:end of t_header.
types:begin of t_bomgroup." occurs 10.
include structure BAPI1080_BGR_C.
types:end of t_bomgroup.
types:begin of t_variant." occurs 10.
include structure BAPI1080_BOM_C.
types:end of t_variant.
*--- Tables
data: i_upload type standard table of t_upload, " to hold data
i_upload1 type standard table of t_upload,
i_split type standard table of t_split,
i_item type standard table of t_item,
i_subitem type standard table of t_subitem,
i_header type standard table of t_header,
i_bomgroup type standard table of t_bomgroup,
i_variant type standard table of t_variant.
data: wa_upload type t_upload, " to hold file data,
wa_upload1 type t_upload, " to hold plan data,
wa_split type t_split,
wa_item type t_item,
wa_subitem type t_subitem,
wa_header type t_header,
wa_bomgroup type t_bomgroup,
wa_variant type t_variant.
data:v_matnr like mara-matnr,
v_start like sy-index,
v_count(3) type c.
*--Constants
data: c_dot type c value '.',
c_x type c value 'X',
c_comma type c value ','.
-------Selection Screen Design -
*Selection screen for input of upload file address
selection-screen skip 2.
selection-screen begin of block blk1 with frame.
parameters : p_file like rlgrap-filename obligatory .
parameters : p_matnr like mara-matnr obligatory,
p_werks like marc-werks obligatory memory id wrk,
p_stlan like afko-stlan obligatory default '1' .
selection-screen end of block blk1.
---AT SELECTION SCREEN -
at selection-screen on value-request for p_file.
*--For popup to select file.
perform f_give_help.
at selection-screen on p_matnr.
perform f_check_matnr.
-----START OF SELECTION -
*--Data upload using WS_Upload.
perform f_get_data.
perform f_get_bom_data.
perform f_get_bom_data1.
perform f_call_bapi.
*& Form f_give_help
text
--> p1 text
<-- p2 text
FORM f_give_help.
call function 'WS_FILENAME_GET'
exporting
mask = ',.,..'
mode = 'O'
importing
filename = p_file
exceptions
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
others = 5.
if sy-subrc <> 0 and not sy-msgty is initial.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
ENDFORM. " f_give_help
*& Form f_check_matnr
text
--> p1 text
<-- p2 text
FORM f_check_matnr.
CALL FUNCTION 'BAPI_MAT_BOM_EXISTENCE_CHECK'
EXPORTING
MATERIAL = p_matnr
PLANT = p_werks
BOMUSAGE = '1'
VALID_FROM_DATE =
VALID_TO_DATE =
TABLES
RETURN = i_return.
ENDFORM. " f_check_matnr
*& Form f_get_data
text
--> p1 text
<-- p2 text
FORM f_get_data.
call function 'WS_UPLOAD'
exporting
CODEPAGE = ' '
filename = p_file
filetype = 'DAT'
tables
data_tab = i_upload
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.
ENDFORM. " f_get_data
*& Form f_get_bom_data
text
--> p1 text
<-- p2 text
FORM f_get_bom_data.
delete i_upload where col1 is initial.
delete i_upload where col1 cs 'ITEM'.
read table i_upload into wa_upload with key col1 = 'FINISHED GOOD:'.
if sy-subrc = 0.
v_matnr = wa_upload-col2.
if v_matnr <> p_matnr.
message e001(zl) with p_matnr.
endif.
else.
message e000(zl).
endif.
ENDFORM. " f_get_bom_data
*& Form f_get_bom_data1
text
--> p1 text
<-- p2 text
FORM f_get_bom_data1.
loop at i_upload into wa_upload where col1 CS 'FINISHED GOOD'.
v_start = sy-tabix + 1.
loop at i_upload into wa_upload1 from v_start .
if wa_upload1-col1 cs 'FINISHED GOOD'.
exit.
else.
perform f_split_upload_data.
endif.
endloop.
endloop.
ENDFORM. " f_get_bom_data1
*& Form f_split_upload_data
text
--> p1 text
<-- p2 text
FORM f_split_upload_data.
if not wa_upload1-col5 is initial.
if wa_upload1-col5 cs c_comma.
split wa_upload1-col5 at c_comma into table i_split.
loop at i_split into wa_split.
v_count = v_count + 1.
endloop.
if wa_upload1-col4 <> v_count.
wa_upload1-col4 = v_count.
endif.
clear wa_upload1-col5.
clear wa_split.
loop at i_split into wa_split.
wa_upload1-col5 = wa_split-location.
append wa_upload1 to i_upload1.
endloop.
else.
append wa_upload1 to i_upload1.
endif.
else.
append wa_upload1 to i_upload1.
endif.
ENDFORM. " f_split_upload_data
*& Form f_call_bapi
text
--> p1 text
<-- p2 text
FORM f_call_bapi.
clear wa_upload1.
wa_header-material = p_matnr.
wa_header-plant = p_werks.
wa_header-bom_usage = p_stlan.
append wa_header to i_header.
wa_bomgroup-bom_usage = p_stlan.
wa_bomgroup-created_in_plant = p_werks.
append wa_bomgroup to i_bomgroup.
wa_variant-alternative_bom = 1.
wa_variant-base_qty = 1.
wa_variant-valid_from_date = sy-datum.
append wa_variant to i_variant.
loop at i_upload1 into wa_upload1.
wa_item-item_no = wa_upload1-col1.
wa_item-item_cat = wa_upload1-col2.
wa_item-component = wa_upload1-col3.
wa_item-comp_qty = wa_upload1-col4.
append wa_item to i_item.
wa_subitem-subitem_qty = '1'.
wa_subitem-installation_point = wa_upload1-col5.
append wa_subitem to i_subitem.
endloop.
CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
EXPORTING
TESTRUN = ' '
ALL_ERROR = ' '
TABLES
BOMGROUP = i_bomgroup
VARIANTS = i_variant
ITEMS = i_item
SUBITEMS = i_subitem
MATERIALRELATIONS = i_header
ITEMASSIGNMENTS =
SUBITEMASSIGNMENTS =
TEXTS =
RETURN = i_return.
if i_return[] is initial.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
*write: /'BOM created:', stpo-stlnr.
else.
*if not i_return[] is initial.
loop at i_return.
IF i_return-TYPE = 'E'.
errmsg-type = i_return-type.
errmsg-line = i_return-message.
append errmsg.
ULINE /1(108).
write:/ icon_led_RED as icon, i_return-MESSAGE.
ULINE /1(108).
ENDIF.
IF i_return-TYPE = 'W'.
errmsg-type = i_return-type.
errmsg-line = i_return-message.
append errmsg.
ULINE /1(108).
write:/ icon_led_YELLOW as icon, i_return-MESSAGE.
ULINE /1(108).
ENDIF.
ENDLOOP.
*write: / i_return-id, i_return-number, i_return-message(80).
*endloop.
*write: /'Error'.
endif.
ENDFORM. " f_call_bapiHi shashi,
Thanks for ur help.i tried after passing the group but it is giving same error.
i am getting the error
"Error/warning when checking the structure of the BOM group with ID= test"
i am gettig the above error when i put bomgroup-bom_group_identification = 'TEST'.
whatever i am putting in this field, the same error is comming having different value.
if i put--- bomgroup-bom_group_identification = ' '. then i will get error
"Error/warning when checking the structure of the BOM group with ID=
if i omit that field, then also , i am getting same error.
plz suggest what r the fields i need to pass for BOMGROUP structure for that bapi?
regards
pabitra -
BDC / Bapi For Post Incoming Payment (F-28)
Hi
Im creating BDC for F-28. But it got error coming out.
>> It says DB05B-PSZAH(02) is not an input field.
What I do is: First, I search for Line Item then Document Number. Then It return to basic list. Then I loop again for the second Line Item Number and Document Number.
I can activate the first amount but cannot for the next amount and so on.
Anybody could help me on this??
Is there any BAPI for Post Incoming Payment (F-28)?
Thank you.
Regards.i dont think there is a BAPI for this Transaction...
i have done a BDC on F-28 myself....pasting the code....hope it helps you....
*******NOTE********
the parameter in the subroutine is to see if there is a single document or multiple documents being posted.
FORM fill_bdc_data_f-28_9005 USING p_i_mult_doc TYPE c.
**BDC from screen 9005
DATA : l_amt_bdc(13), l_amt_bdc_remain(13), l_amt_bdc_mult(13),
l_amt_bdc_mult_remain(13), l_assignment(14), l_period(2),
l_amount(13).
CLEAR t_bdcdata.
REFRESH t_bdcdata.
PERFORM bdc_dynpro USING 'SAPMF05A' '0103'.
PERFORM bdc_field USING 'BDC_OKCODE' '=AB'. "OK CODE - doc overview
**get user default date format and pass date in that format
PERFORM convert_date_to_user_format USING bkpf-bldat.
PERFORM bdc_field USING 'BKPF-BLDAT' w_date. "cheque date
CLEAR w_date.
PERFORM bdc_field USING 'BKPF-BLART' i_blart. "doc type
PERFORM bdc_field USING 'BKPF-BUKRS' i_bukrs. "comp code
**get user default date format and pass date in that format
PERFORM convert_date_to_user_format USING bkpf-budat.
PERFORM bdc_field USING 'BKPF-BUDAT' w_date. "posting date
CLEAR w_date.
l_period = sy-datum+4(2).
PERFORM bdc_field USING 'BKPF-MONAT' l_period. "period
PERFORM bdc_field USING 'BKPF-WAERS' 'INR'. "currency
PERFORM bdc_field USING 'BKPF-BKTXT' i_bankl. "doc. hdr. text
PERFORM bdc_field USING 'BKPF-XBLNR' i_xblnr. "Ref. Document No.
PERFORM bdc_field USING 'BSEG-ZUONR' i_zuonr. "Assignment(Depot Code)
PERFORM bdc_field USING 'RF05A-KONTO' i_bank_gl. "Bank GL acc
PERFORM bdc_field USING 'BSEG-GSBER' i_gsber. "Business Area
l_amount = bseg-wrbtr.
PERFORM bdc_field USING 'BSEG-WRBTR' l_amount. "Amount
PERFORM bdc_field USING 'BSEG-PRCTR' ''. "Profit Center
**open items data
PERFORM bdc_field USING 'RF05A-AGKOA' 'D'. "Acc type (D=customers)
PERFORM bdc_field USING 'RF05A-XNOPS' 'X'. "Std OIs check box
**end of first screen
**document overview screen
PERFORM bdc_dynpro USING 'SAPMF05A' '0700'. "Overview Screen
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-AZEI1(01)'. "cursor
PERFORM bdc_field USING 'BDC_OKCODE' '/00'. "OK CODE
PERFORM bdc_field USING 'RF05A-NEWBS' '19'. "posting key
PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
PERFORM bdc_field USING 'RF05A-NEWUM' 'B'. "Spl GL Indicator
**for single document selected
CLEAR l_amt_bdc.
IF p_i_mult_doc = ''.
***new screen - next line item
PERFORM bdc_dynpro USING 'SAPMF05A' '0303'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE
**for single document, use the bouncing amount calculated earlier
l_amt_bdc = w_amt_ant_bouncing.
PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc. "amount
**due date - same as posting date on screen
**get user default date format and pass date in that format
PERFORM convert_date_to_user_format USING bkpf-budat.
PERFORM bdc_field USING 'BSEG-ZFBDT' w_date. "due date
CLEAR w_date.
**assignment
CLEAR l_assignment.
CONCATENATE t_seldoc_ant_bouncing-belnr
t_seldoc_ant_bouncing-gjahr INTO l_assignment.
PERFORM bdc_field USING 'BSEG-ZUONR' l_assignment. "assignment
PERFORM bdc_field USING 'BSEG-GSBER' i_gsber.
**if there is some remaining amount, then go for another line item
IF w_rem_amt_ant_bouncing > 0.
PERFORM bdc_field USING 'RF05A-NEWBS' '15'. "posting key
PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
**new screen
PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-ZTERM'. "CURSOR
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE-ENTER
l_amt_bdc_remain = w_rem_amt_ant_bouncing.
PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_remain.
PERFORM bdc_field USING 'BSEG-ZTERM' '0001'.
**AGAIN
PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-WRBTR'. "CURSOR
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE-SAVE
PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_remain.
PERFORM bdc_field USING 'BSEG-ZTERM' '0001'. "pmt term -hardcoded
PERFORM bdc_field USING 'BSEG-SKFBT' l_amt_bdc_remain.
ENDIF.
**multiple documents
ELSE.
**initialize remaining amount to amt entered on screen
l_amt_bdc_mult_remain = bseg-wrbtr.
LOOP AT t_seldoc_ant_bouncing.
IF l_amt_bdc_mult_remain > 0.
IF bseg-wrbtr > t_seldoc_ant_bouncing-rem_amt.
l_amt_bdc_mult = t_seldoc_ant_bouncing-rem_amt.
ELSE.
l_amt_bdc_mult = bseg-wrbtr.
ENDIF.
**remaining amt = screen amt - amt calculated above.
l_amt_bdc_mult_remain = l_amt_bdc_mult_remain - l_amt_bdc_mult.
PERFORM bdc_dynpro USING 'SAPMF05A' '0303'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE
PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_mult. "amount
PERFORM bdc_field USING 'BSEG-GSBER' i_gsber. "Business Area
**due date - same as posting date on screen
**get user default date format and pass date in that format
PERFORM convert_date_to_user_format USING bkpf-budat.
PERFORM bdc_field USING 'BSEG-ZFBDT' w_date. "due date
CLEAR w_date.
**assignment
CLEAR l_assignment.
CONCATENATE t_seldoc_ant_bouncing-belnr
t_seldoc_ant_bouncing-gjahr INTO l_assignment.
PERFORM bdc_field USING 'BSEG-ZUONR' l_assignment. "assignment
**posting key 19 for all but last document
PERFORM bdc_field USING 'RF05A-NEWBS' '19'. "posting key
PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
PERFORM bdc_field USING 'RF05A-NEWUM' 'B'. "Spl GL
ENDIF.
ENDLOOP.
ENDIF.
**post remaining amount
IF p_i_mult_doc = 'X'.
**new screen if there is some amount left
IF l_amt_bdc_mult_remain > 0.
**posting key 15 with remaining amount
PERFORM bdc_field USING 'RF05A-NEWBS' '15'. "posting key
PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
PERFORM bdc_field USING 'RF05A-NEWUM' ''. "Spl GL
**new screen
PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE
PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_mult_remain.
PERFORM bdc_field USING 'BSEG-ZTERM' '0001'. "pmt term - hardcoded
ELSE.
**if no amount is left, no need for a further line item
PERFORM bdc_field USING 'RF05A-NEWBS' ''. "posting key
PERFORM bdc_field USING 'RF05A-NEWKO' ''. "customer
PERFORM bdc_field USING 'RF05A-NEWUM' ''. "Spl GL
ENDIF.
ENDIF.
**clear variables
CLEAR : l_amount, l_assignment, l_amt_bdc,
l_amt_bdc_remain,l_amt_bdc_mult, l_amt_bdc_mult_remain.
ENDFORM. " fill_bdc_data_F-28_9005 -
BDC-BAPI to change payment proposal - FBZ0?
Hi all,
How could i change the payment proposal in TCODE: FBZO using bath input? In case the run date has several payment proposal lines, I cannot use BDC because FBZ0 display payment proposals on ALV, wich is a enjoy SAP control (BDC won't support enjoy SAP Controls). There are another BAPI or FM to do that?
Thanks,
Hung.Solution is : set user parameter F110O_NO_ALV = 'X'. (in code or Su3)
Thanks. -
Hi,
i designed a bapi which is internally calling a transaction (i.e. TRIP ), and returning the status.
when i call this in back end(abap) side it is giving the desired results correctly. but when i call the bapi from the front end side , i am getting the error : objects_objref_not_assigned.
what could be the reasons.
for your information : we have provided the correct user name and password to execute this tcode.
regards
girihi,
thx for your response, but in the front end side they are calling the rfc using the JCO connection.
for your information other bapi's are all working the way which we call.
regards
giri
since it's very urgent if you give your phone no or email .id , it would be helpful.
thx -
Is it possible to DELETE the Sub Asset either from BDC/BAPI etc?
Hi Experts,
I am guessing, the following idea may work for my problem, but, pls, let me give some info, abt the same.......
1 - At the sales order creation time, each LINE ITEM creates the SubAsset, say,
Line_ Item_1 -
> creates SubAsset_1,
Line_ Item_2 -
> creates SubAsset_2, so on
2 - if some reasons, if the user deletes Line_ Item_1, I need to delete that particlar SubAsset_1,
so, pls. let me know that,
1- If the user, deletes the item_1, then I wanna, to delete the created SubAsset_1, so then, I guess, SubAsset_2 shuld be modified as SubAsset_1
2- Is it works out? makes sense?
3- If so, Wht is the best method to delete a SubAsset from Asset Master? Is it AS02 BDC or Is there any BAPI or any other?
thanq.
Message was edited by:
Srinivasas i did not hear any thing, so, am closing.
-
BDC/BAPI Assign characteristics to material using CL24n
Hi Gurus
My requirement is :
We have already assigned characteristics to the material class, Now we need to assign characteristics values to materials.
Assign characteristics to material using cl24n(Class name & Classtype) > only new assignments > material.
What should I go for ? BDC or BAPI.
Please suggest me how to proceed with BAPI as I personally feel BAPI is better than BDC.
Thanks in Advance
DineshBAPI/BDC for assigning characteristic to material
-
Hi,
I have a requirement where I need to develop a upload program (from flat file) for MI01 and MI04 t-code. I have created a BDC for MI01 t-code which is running successfully. But I cant able to create the same for MI04 t-code. And also I didnt find any such kind or MI04. instead I found a lot of posts suggesting for BAPI (instead of BDC).
After all this I decided to go for BAPI which I haven't developed till now. With this situation I searched it (BAPI for MI04) in the forum. But I could not find a complete code. In almost all the posts, only part of the code i.e FM's are listed. As I am new to the BAPI, I was searching for a complete code (BAPI for MI04).
Can anyone post the BAPI code for MI04 transaction.
Regards,
Praveenuse ''BAPI_MATPHYSINV_COUNT' bapi...
u have to fill all the structures or ITAB which are mandatory. Then pass them to this BAPI. after that use BAPI_TRANSACTION_COMMIT to update the database
and how to create .txt file to upload data to this transaction.
the text file should contain all the fields which are necessary to pass to bapai structures /ITABs
better , u can run the corresponding trn.. to know all mandt fields
U can use GUI_upload to upload the flat file.
Reward if useful -
Standard program / bdc / bapi to upload customer data.
hi experts,
i need standard program/bdc/lsmw/bapi to upload customer amster data .Hi,
Please check this links on how to use direct input program RFBIDE00.
http://www.sapbrain.com/TOOLS/LSMW/SAP_LSMW_steps_introduction.html
http://www.scmexpertonline.com/downloads/SCM_LSMW_StepsOnWeb.doc
Regards,
Ferry Lianto -
MB1B BDC/BAPI PROBLEM (FOR SAP IS -RETAILS)
i am getting coding block error in mb1b recording while it is running correctly otherwise.i have also tried through bapi but no data is being posted and bapi gives error that data is not maintain in perticular plant whereas the data is there in the plant.
REGDShi please if u dont mind send me BDC for MB1B
please please help me
[email protected] -
To create Multilevel BOM---- BAPI (urgent)
Hi all,
i am using BAPI_MATERIAL_BOM_GROUP_CREATE to create a <u><b>MULTI LEVEL</b></u> BOM in sap. but i am not getting any field for <b>LEVEL</b> in this BAPI.so, can i create a multilevel bom without a level ?
can u plz suggest, how can i use this BAPI to create a <b>multi level</b> bom?
is there any field relating to assembly indicator (stlkz) in this BAPI?i am not getting this field.plz suggest.
any idea will be highly appreaciated.
Regards
pabitraHi eswar,
Thanks for ur help. i am getting some error while creting a BOM using that BAPI.
errors are
1) Error/warning when checking the structure of the BOM group with ID =
2)Alternative does not exist for material assignment to material BAPIBOMFG1
is it mandatory to pass the bom group id to this bapi?
In bomgroup structure , i am not passing anything to BOM_GROUP field.
is it mandatory to pass this data? i am giving my coding below.plz suggest , where i am making mistake. it is urgent.
regards
pabitra
report z_bom_create
line-size 132
line-count 65
no standard page heading.
*-- DATA DECLARATION--
include <icon> .
*---Tables
tables : s076, t100, marc .
*---Types
types : begin of t_upload, " Upload file data
col1(18),
col2(10),
col3(30),
col4(12),
col5(50),
end of t_upload,
begin of t_split,
location like stpu-ebort,
end of t_split.
data:begin of i_return occurs 10.
include structure bapiret2.
data:end of i_return.
types:begin of t_item."occurs 10.
include structure BAPI1080_ITM_C.
types:end of t_item.
types:begin of t_subitem." occurs 10.
include structure BAPI1080_SUI_C.
types:end of t_subitem.
types:begin of t_header." occurs 10.
include structure BAPI1080_MBM_C.
types:end of t_header.
types:begin of t_bomgroup." occurs 10.
include structure BAPI1080_BGR_C.
types:end of t_bomgroup.
types:begin of t_variant." occurs 10.
include structure BAPI1080_BOM_C.
types:end of t_variant.
*--- Tables
data: i_upload type standard table of t_upload, " to hold data
i_upload1 type standard table of t_upload,
i_split type standard table of t_split,
i_item type standard table of t_item,
i_subitem type standard table of t_subitem,
i_header type standard table of t_header,
i_bomgroup type standard table of t_bomgroup,
i_variant type standard table of t_variant.
data: wa_upload type t_upload, " to hold file data,
wa_upload1 type t_upload, " to hold plan data,
wa_split type t_split,
wa_item type t_item,
wa_subitem type t_subitem,
wa_header type t_header,
wa_bomgroup type t_bomgroup,
wa_variant type t_variant.
data:v_matnr like mara-matnr,
v_start like sy-index,
v_count(3) type c.
*--Constants
data: c_dot type c value '.',
c_x type c value 'X',
c_comma type c value ','.
-------Selection Screen Design -
*Selection screen for input of upload file address
selection-screen skip 2.
selection-screen begin of block blk1 with frame.
parameters : p_file like rlgrap-filename obligatory .
parameters : p_matnr like mara-matnr obligatory,
p_werks like marc-werks obligatory memory id wrk,
p_stlan like afko-stlan obligatory default '1' .
selection-screen end of block blk1.
---AT SELECTION SCREEN -
at selection-screen on value-request for p_file.
*--For popup to select file.
perform f_give_help.
at selection-screen on p_matnr.
perform f_check_matnr.
-----START OF SELECTION -
*--Data upload using WS_Upload.
perform f_get_data.
perform f_get_bom_data.
perform f_get_bom_data1.
perform f_call_bapi.
*& Form f_give_help
text
--> p1 text
<-- p2 text
FORM f_give_help.
call function 'WS_FILENAME_GET'
exporting
mask = ',.,..'
mode = 'O'
importing
filename = p_file
exceptions
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
others = 5.
if sy-subrc <> 0 and not sy-msgty is initial.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
ENDFORM. " f_give_help
*& Form f_check_matnr
text
--> p1 text
<-- p2 text
FORM f_check_matnr.
CALL FUNCTION 'BAPI_MAT_BOM_EXISTENCE_CHECK'
EXPORTING
MATERIAL = p_matnr
PLANT = p_werks
BOMUSAGE = '1'
VALID_FROM_DATE =
VALID_TO_DATE =
TABLES
RETURN = i_return.
ENDFORM. " f_check_matnr
*& Form f_get_data
text
--> p1 text
<-- p2 text
FORM f_get_data.
call function 'WS_UPLOAD'
exporting
CODEPAGE = ' '
filename = p_file
filetype = 'DAT'
tables
data_tab = i_upload
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.
ENDFORM. " f_get_data
*& Form f_get_bom_data
text
--> p1 text
<-- p2 text
FORM f_get_bom_data.
delete i_upload where col1 is initial.
delete i_upload where col1 cs 'ITEM'.
read table i_upload into wa_upload with key col1 = 'FINISHED GOOD:'.
if sy-subrc = 0.
v_matnr = wa_upload-col2.
if v_matnr <> p_matnr.
message e001(zl) with p_matnr.
endif.
else.
message e000(zl).
endif.
ENDFORM. " f_get_bom_data
*& Form f_get_bom_data1
text
--> p1 text
<-- p2 text
FORM f_get_bom_data1.
loop at i_upload into wa_upload where col1 CS 'FINISHED GOOD'.
v_start = sy-tabix + 1.
loop at i_upload into wa_upload1 from v_start .
if wa_upload1-col1 cs 'FINISHED GOOD'.
exit.
else.
perform f_split_upload_data.
endif.
endloop.
endloop.
ENDFORM. " f_get_bom_data1
*& Form f_split_upload_data
text
--> p1 text
<-- p2 text
FORM f_split_upload_data.
if not wa_upload1-col5 is initial.
if wa_upload1-col5 cs c_comma.
split wa_upload1-col5 at c_comma into table i_split.
loop at i_split into wa_split.
v_count = v_count + 1.
endloop.
if wa_upload1-col4 <> v_count.
wa_upload1-col4 = v_count.
endif.
clear wa_upload1-col5.
clear wa_split.
loop at i_split into wa_split.
wa_upload1-col5 = wa_split-location.
append wa_upload1 to i_upload1.
endloop.
else.
append wa_upload1 to i_upload1.
endif.
else.
append wa_upload1 to i_upload1.
endif.
ENDFORM. " f_split_upload_data
*& Form f_call_bapi
text
--> p1 text
<-- p2 text
FORM f_call_bapi.
clear wa_upload1.
wa_header-material = p_matnr.
wa_header-plant = p_werks.
wa_header-bom_usage = p_stlan.
append wa_header to i_header.
wa_bomgroup-bom_usage = p_stlan.
wa_bomgroup-created_in_plant = p_werks.
append wa_bomgroup to i_bomgroup.
wa_variant-alternative_bom = 1.
wa_variant-base_qty = 1.
wa_variant-valid_from_date = sy-datum.
append wa_variant to i_variant.
loop at i_upload1 into wa_upload1.
wa_item-item_no = wa_upload1-col1.
wa_item-item_cat = wa_upload1-col2.
wa_item-component = wa_upload1-col3.
wa_item-comp_qty = wa_upload1-col4.
append wa_item to i_item.
wa_subitem-subitem_qty = '1'.
wa_subitem-installation_point = wa_upload1-col5.
append wa_subitem to i_subitem.
endloop.
CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
EXPORTING
TESTRUN = ' '
ALL_ERROR = ' '
TABLES
BOMGROUP = i_bomgroup
VARIANTS = i_variant
ITEMS = i_item
SUBITEMS = i_subitem
MATERIALRELATIONS = i_header
ITEMASSIGNMENTS =
SUBITEMASSIGNMENTS =
TEXTS =
RETURN = i_return.
if i_return[] is initial.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
*write: /'BOM created:', stpo-stlnr.
else.
*if not i_return[] is initial.
loop at i_return.
IF i_return-TYPE = 'E'.
errmsg-type = i_return-type.
errmsg-line = i_return-message.
append errmsg.
ULINE /1(108).
write:/ icon_led_RED as icon, i_return-MESSAGE.
ULINE /1(108).
ENDIF.
IF i_return-TYPE = 'W'.
errmsg-type = i_return-type.
errmsg-line = i_return-message.
append errmsg.
ULINE /1(108).
write:/ icon_led_YELLOW as icon, i_return-MESSAGE.
ULINE /1(108).
ENDIF.
ENDLOOP.
*write: / i_return-id, i_return-number, i_return-message(80).
*endloop.
*write: /'Error'.
endif.
ENDFORM. " f_call_bapi -
hi,
why BAPI is required instead of BDC and what secenario we will use BAPI and BDC?
Thanks in advance.Hi Baskar,
Difference between BDC and BAPI
BDC is traditional way of coding the transactions for uploading the legacy data, Sap is changing all transactions to Object oriented programming. Since BAPI is Object based and supports all the new transactions it is preffered over BDC. More over BAPI's process data faster than BDC.
BAPI is a SAP-supplied function module with a defined interface, which allows you to interact with various business objects. SAP guarantees the integrity of your database for anything updated using a BAPI. BDC is a method of driving screens programatically, for updating SAP data. BAPIs are generally faster than BDCs.
A BAPI is faster because it is updating the DB "directly". Whereas BDC with call
transaction goes through the whole screen sequence like any user would do, simply put, fills screens.
However - there is not always a BAPI for a particular transaction and not all functions that are performed by a transaction can be done by a BAPI. BDCs produce error sessions which can be processed by the user, while BAPIs don't.
First choose the BAPI ,if there is no BAPI go for BDC.
why BAPI first not BDC.
SAP comes up with Change in Version, so each and every time they will change the screens/number etc.
so you have to change your BDC programs accordingly.
and also Most of the Latest versions transactions are Enjoy Transaction. they will not support BDC's in Background.
But Using BAPI's No such disadvantages.
A BAPI is faster because it is updating the DB "directly" through ABAP code.
A BDC with call transaction goes through the whole screen sequence like any user would do, simply put, it is filling screens.
Actually it depends on your requirement but BAPI is more effective as it is standard function module to update SAP databases rather than BDC.
using bdc over bapi has advantages and also disadvantages
advantages:
1. using bdc we can upload data into database tables using 2 ways
1. foreground -
means that user interaction is there for each and every record.
2. back ground -
no user interaction and tasks are done automatically.
using these two options is one of the greatest advantage over bapi.
2. in bdc call transaction method we can control the display of screen resolution which is not possible with bapi's
3. bdc is generally used for transferring of large amount of data than bapi's
4.session method of bdc allows us to place data directly in application server and then finally transfered into sap database tables
disadvantages:
1.bdc is only used for sap to sap system data transferring
2. bapis's generally works more faster than bdc's
3. using bapis we can connect to remote systems and also to non sap systems.
if useful reward some points.
A BAPI is a method of a SAP Business Object. BAPI enables SAP and third party applications to interact and integrate
with each other at the Business Object / Process level.
Check this link to know more about BAPI.
http://www.sapgenie.com/abap/bapi/example.htm
http://sappoint.com/abap/
Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a
typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is not bi-directional.
BDC works on the principle of simulating user input for transactional screen, via an ABAP program. Typically the input comes in the form
of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The
transaction is then started using this internal table as the input and executed in the background.
In Call Transaction, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling.
It can also be used for real-time interfaces and custom error handling & logging features. .
To know more about BDC,
check the link.
http://sappoint.com/abap/
Main differences are...
In case of bdc data transfer takes place from flat file into sap system ie the file existing in sap system to sap sytem
where is bapi's r remotly enabled function modules which are assigned to some business objects n used to transfer the data between different business partners who are using different systems other than sap.
not only that...
when you plan to upgrade your system version then bdc willnot support those upgradations where as bapi's will support.
<b>Reward points if this helps.
Manish</b>
Maybe you are looking for
-
Hello there, I was wondering if there was a way to configure maximum file size that is allowed as an attachment to BPM 11g process. We are building a process and we need to attach document as big as 50MB, but it seems like default limit on file size
-
I'm new to Oracle. I have installed Oracle SQL Developer 3.0.04 and Java 1.7. When I run Oracle SQL Developer, I will get the window Running this product is supported with minimum Java version of 1.6.0_04 and a maximum version less than 1.7. This pro
-
How to create an S/MIME message in Windows Phone 8?
Hi! I am communicating with a backend that requires me to create on the Phone a message that follows the S/MIME standard. I have stored a public key in the IsolatedStorage on the phone, but I am not sure how to build the S/MIME message since there do
-
Firefox crashes after browsing through 2 to 3 pages
I am using the newest version of Firefox and even after updating everything and running in Safe Mode the crashing still persists. Please help.
-
IBooks crashing on page 5?
I have several iBooks created for a school curriculum on OSX 10.9.1 (and since updated) Mac Book Air and iMac machines. About half of the books (6 of the 15) we created are crashing on page three in iBooks on our student devices - all new iPad Air wi