Batch input data method
can i know about batch input method in BDCs?
Hi..,
<b>DONT POST THE SAME THREADS AGAIN AND AGAIN !! CLOSE UR THREADS, WHEN UR PROBLEM IS SOLVED !! REWARD ALL HELPFUL ANSWERS !!</b>
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.
Types of BDC :
CLASSICAL BATCH INPUT (Session Method)
CALL TRANSACTION
BATCH INPUT METHOD:
Features:
Asynchronous processing.
Synchronous updating 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 :
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
Check these link:
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm
http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
http://www.planetsap.com/bdc_main_page.htm
call Transaction or session method ?
regards,
sai ramesh
Similar Messages
-
No batch input data for screen occured in Call Transaction method for PA40
Hi,
I creatred an interface to update an employee action data ( Change of position ) PA40 by using Call transaction method.
while executing the interface, I got the below error.
No batch input data for screen MP049100 200
this interface updated the first employee from file, then after it is giving the below error frequently.
No batch input data for screen MP049100 200
regards,
Ashok Reddy RevooriThe infogroup of action Change Position may be having infotype 0491. The infotypes screen sequence is decided based on employee's country grouping and user group. For the employee where you are receiving error, infotype 0491 screen is appearing for which you do not have BDC data.
-
BDC - Session Method - No batch input data for screen SAPMZ_TPSCREEN02 100
Hi ABAP Experts,
I have written a Dialog Program For a Screen Which contains 5 fields namely,
carrid,
connid,
fldate,
price,
planetype.
I have written the PAI logic to insert whatever entries entered in the fields, into Database Table SFLIGHT.
I created a Transaction and Tested whether the entries are succesfully entetered into the Database Table and it works just fine.
Now i planned to write a BDC program for the above Transaction so that i can upload data to the Database table from a flat file.
I went to SHDB transaction and created a new recording and transferred the program to generate a source code.
include bdcrecx1.
start-of-selection.
loop at itab.
perform open_group.
perform bdc_dynpro using 'SAPMZ_TPSCREEN02' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=CREA'.
perform bdc_field using 'BDC_CURSOR'
'SFLIGHT-PLANETYPE'.
perform bdc_field using 'SFLIGHT-CARRID'
'AA'.
perform bdc_field using 'SFLIGHT-CONNID'
'0017'.
perform bdc_field using 'SFLIGHT-FLDATE'
'11/01/2007'.
perform bdc_field using 'SFLIGHT-PRICE'
'767'.
perform bdc_field using 'SFLIGHT-PLANETYPE'
'A310-200F'.
perform bdc_transaction using 'Z_TPSCREEN02'.
perform close_group.
Then i defined an internal table which contains the same fields as those in my Screen and Transaction.
I populated the internal table from a flat file using GUI_UPLOAD function module.
I want to clarify - I got this flat file by using the GUI_DOWNLOAD module and later i uploaded the same file using GUI_UPLOAD.
I tested whether the internal table is populated or not using LOOP AT ITAB. WRITE Statements.
Its working just fine.
Finally my code look like this.
report ZVMREC
no standard page heading line-size 255.
TABLES: sflight.
DATA: BEGIN OF itab OCCURS 0,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price TYPE sflight-price,
planetype TYPE sflight-planetype,
END OF itab.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'C:\users\vamc\documents\flightinfo.txt'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
tables
data_tab = itab.
include bdcrecx1.
start-of-selection.
loop at itab.
perform open_group.
perform bdc_dynpro using 'SAPMZ_TPSCREEN02' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=CREA'.
perform bdc_field using 'BDC_CURSOR'
'SFLIGHT-PLANETYPE'.
perform bdc_field using 'SFLIGHT-CARRID'
'AA'.
perform bdc_field using 'SFLIGHT-CONNID'
'0017'.
perform bdc_field using 'SFLIGHT-FLDATE'
'11/01/2007'.
perform bdc_field using 'SFLIGHT-PRICE'
'767'.
perform bdc_field using 'SFLIGHT-PLANETYPE'
'A310-200F'.
perform bdc_transaction using 'Z_TPSCREEN02'.
perform close_group.
endloop.
I checked for errors, activated and executed.
I gave session name and executed, it generated same number of sessions as number of records.
I went to SM35 and Processed one of the sessions in foreground.
It brought my screen up with all fields fill up by the fields of first record in the internal table and with
OK Code popping up.
I check the OK Code.
Now the problem has come up, its says
*No batch input data for screen SAPMZ_TPSCREEN02 1000 *
My session was now incorrectly processed,
Please help me to fix this problem.
I searched so many forums and google it a lot.
But i didn't find any clue.
Kindly take your time and have a look at this problem and let me know how can i fix it.
Thank you very much all.
Shiv
Edited by: Sivaram Naga on Apr 15, 2008 5:57 AMI used this code to convert the date format. I'm still getting the short dump.
DATA: v_yyyy(4) TYPE c,
v_mm(2) TYPE c,
v_dd(2) TYPE c,
v_date(8) TYPE c.
v_yyyy = itab-fldate(4).
v_mm = itab-fldate+4(2).
v_dd = itab-fldate+6(2).
concatenate v_yyyy v_mm v_dd into v_date.
I'm once again, putting my code.
report ZVMREC
no standard page heading line-size 255.
TABLES: sflight.
DATA: BEGIN OF itab OCCURS 0,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price TYPE sflight-price,
planetype TYPE sflight-planetype,
END OF itab.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'C:\users\vamc\documents\flightinfo.txt'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
tables
data_tab = itab.
include bdcrecx1.
start-of-selection.
loop at itab.
DATA: v_yyyy(4) TYPE c,
v_mm(2) TYPE c,
v_dd(2) TYPE c,
v_date(8) TYPE c.
v_yyyy = itab-fldate(4).
v_mm = itab-fldate+4(2).
v_dd = itab-fldate+6(2).
concatenate v_yyyy v_mm v_dd into v_date.
perform open_group.
perform bdc_dynpro using 'SAPMZ_TPSCREEN02' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=CREA'.
perform bdc_field using 'BDC_CURSOR'
'SFLIGHT-PLANETYPE'.
perform bdc_field using 'SFLIGHT-CARRID'
ITAB-CARRID.
perform bdc_field using 'SFLIGHT-CONNID'
ITAB-CONNID.
perform bdc_field using 'SFLIGHT-FLDATE'
V_DATE.
perform bdc_field using 'SFLIGHT-PRICE'
ITAB-PRICE.
perform bdc_field using 'SFLIGHT-PLANETYPE'
ITAB-PLANETYPE.
perform bdc_transaction using 'Z_TPSCREEN02'.
perform close_group.
endloop.
Kindly take a look at it and please help me out. I tried very hard. But i dont understand why?
Thanks
Shiv
Edited by: Sivaram Naga on Apr 15, 2008 5:46 PM -
Error in LSMW for MM41 - "No batch input data for screen SAPLMGMW 0100"
I'm trying to create an LSMW for MM41 to create new Retail articles en Mass. This will be used to only create the Basic view as other LSMW's already exist to maintain the other views. I've created the Recording and setup the LSMW already. My data is read correctly from the source file. When I execute the batch session it fails with the following error - "No batch input data for screen SAPLMGMW 0100".
I assume the fields in MM41 screen are not setup for batch processing. Could someone with more knowledge or experience in SAP Retail please confirm my assumption and explain where this is setup or provide an alternative to creating new articles en Mass via MM41? The direct input method is more suited for MM01 and not MM41.
Regards
FawaazHi Guys,
Thanks so much for all the prompt responses. My issue is now resolved.
The issue, I'm sure, was my default settings in the MM41 screen which the recording probably took into account or the batch program didn't like. I deleted my recording and created a new one but before I started the recording, I went into the MM41 screen and removed all default values AND view selections. I made my Basic view selection constant in my recording and also in my field mapping. My LSMW for MM41 is now working perfectly.
Just to answer some of the questions above, my LSMW was Reading and Converting the data in my source file fine. When I display the Read and Converted data, it shows the data fields in the correct place.
Thanks again.
Regards
Fawaaz -
LSMW for material master using Batch input recording method
Dears,
I am using Batch input recording method to upload material master data. But while selecting views , I need to scroll to select the vies lets say Plant storage loc view. While scrolling and selecting ,views are not recorded propelry . That is when I run in foreground system selects only basic data and purchasing views but the plant data views are not selected(palnt data views are selected by scrolling while recording).
How to resolve this issue.
Pls help
Regards
KameshHI,
, I need to scroll to select the vies lets say Plant storage loc view. While scrolling and selecting ,views are not recorded propelry
Don,t scroll use Page down button from key Bord
like select Basis view and then press page down button from key board ,then you will get next view now select it
Regards
Kailas Ugale -
Start screen does not exist in batch input data
I'm using .NET Connector calling Rfc_Call_Transaction funtion throught a proxy, i stablished all the params as you can see in the code below, but i get the message cited in the subject 'Start screen does not exist in batch input data'.
What do you think is happening? or Where can i get the samples needed for perform this type of request?
private BDCDATA FillBDCDATA(string Program,
string Dynbegin,
string Dynpro,
string Fnam,
string Fval)
BDCDATA st_DATA = new BDCDATA();
st_DATA.Program = Program;
st_DATA.Dynbegin = Dynbegin;
st_DATA.Dynpro = Dynpro;
st_DATA.Fnam = Fnam;
st_DATA.Fval = Fval;
return st_DATA;
private void button3_Click(object sender, System.EventArgs e)
SAPProxy proxy = null;
try
proxy = new SAPProxy("ASHOST=" + txtHost.Text +
" SYSNR=" + txtSysnr.Text +
" CLIENT=" + txtMand.Text +
" LANG=" + txtLang.Text +
" USER=" + txtUser.Text +
" PASSWD=" + txtPass.Text);
catch(Exception excpt)
txtMsg.Text = excpt.Message;
if (proxy == null)
return;
BDCDATATable tblBDCDATA = new BDCDATATable();
MESSAGEINF infMessage = new MESSAGEINF();
//BDCDATA st_DATA = new BDCDATA();
tblBDCDATA.Add(FillBDCDATA("SAPMKBUA", "0111", "0111", "BDC_OKCODE", "/00"));
tblBDCDATA.Add(FillBDCDATA("SAPMKBUA", "0111", "0111", "BPDY-BLDAT", "30.12.2004"));
tblBDCDATA.Add(FillBDCDATA("SAPMKBUA", "0111", "0111", "BPDY-VERSN", "0"));
tblBDCDATA.Add(FillBDCDATA("SAPMKBUA", "0111", "0111", "FMPS-FIKRS", "ente"));
tblBDCDATA.Add(FillBDCDATA("SAPMKBUA", "0111", "0111", "BPDY-JAHR", "2005"));
proxy.Rfc_Call_Transaction("FM9J","", out infMessage, ref tblBDCDATA);
txtMsg.Text = infMessage.Msgtx;Jose,
I imagine you are passing, for the Dynbegin parameter of the private method FillBDCDATA, invalid values.
Why don't you try this way:
tblBDCDATA.Add(FillBDCDATA("SAPMKBUA", "X", "0111", " "," "));
tblBDCDATA.Add(FillBDCDATA(" ", " ", " ", "BDC_OKCODE", "/00"));
tblBDCDATA.Add(FillBDCDATA(" ", " ", " ", "BPDY-BLDAT", "30.12.2004"));
tblBDCDATA.Add(FillBDCDATA(" ", " ", " ", "BPDY-VERSN", "0"));
tblBDCDATA.Add(FillBDCDATA(" ", " ", " ", "FMPS-FIKRS", "ente"));
tblBDCDATA.Add(FillBDCDATA(" ", " ", " ", "BPDY-JAHR", "2005"));
I hope I could help you.
Regards,
Daniel Carvalho -
Error Message "No batch input data for screen SAPMF05A 0700" for FV60&FB60
Dear All,
I doing a BDC Upload program for Create Vendor Invoice and Park using FV60 ,But i can't upload successfully by Batch Input method and i am gettin the Error Message "No batch input data for screen SAPMF05A 0700'.I tried using FB60 and got the same error message. When i do in the direct method i can able to do it ,But can't park the document successfully and can do it untill sumilate only.
How to overcome this issue and if you already encounter this kind of problem please advice me.
Thanks in Advance.
DeesanthHi,
Below is my recording.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'INVFO-ACCNT' gwa_inv_up-lifnr.
perform bdc_field using 'INVFO-BLDAT' gwa_inv_up-bldat.
perform bdc_field using 'INVFO-XBLNR' gwa_inv_up-xblnr.
perform bdc_field using 'INVFO-BUDAT' gwa_inv_up-budat.
perform bdc_field using 'INVFO-MONAT' '9'.
perform bdc_field using 'INVFO-BLART' gwa_inv_up-blart.
perform bdc_field using 'INVFO-WRBTR' gwa_inv_up-dmbtr.
perform bdc_field using 'INVFO-WAERS' gwa_inv_up-waers.
perform bdc_field using 'INVFO-XMWST' gwa_inv_up-xmwst.
perform bdc_field using 'INVFO-MWSKZ' 'P0'.
perform bdc_field using 'INVFO-SGTXT' gwa_inv_up-sgtxt.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'BDC_OKCODE' '=PAYM'.
perform bdc_field using 'INVFO-GSBER' gwa_inv_up-gsber.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'BDC_OKCODE' '=BS'.
perform bdc_field using 'INVFO-ZLSCH' gwa_inv_up-zlsch.
cnt = 1.
cnt1 = 1.
clear gwa_inv_line.
loop at gt_inv_up into gwa_inv_line where indic = 'D'
and count = gwa_inv_up-count.
if cnt1 gt 1.
concatenate 'ACGL_ITEM-MARKSP(' cnt ')' into fld.
perform bdc_field using fld 'X'.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'BDC_OKCODE' '=0005'.
endif.
concatenate 'ACGL_ITEM-HKONT(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-lifnr.
concatenate 'ACGL_ITEM-SHKZG(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-shkzg.
concatenate 'ACGL_ITEM-WRBTR(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-dmbtr.
concatenate 'ACGL_ITEM-MWSKZ(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-mwskz.
concatenate 'ACGL_ITEM-SGTXT(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-sgtxt.
concatenate 'ACGL_ITEM-GSBER(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-gsber.
concatenate 'ACGL_ITEM-KOSTL(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-kostl.
concatenate 'ACGL_ITEM-PROJK(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-posid.
concatenate 'ACGL_ITEM-FISTL(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-fistl.
concatenate 'ACGL_ITEM-FIPOS(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-fipos.
concatenate 'ACGL_ITEM-GEBER(' cnt ')' into fld.
perform bdc_field using fld gwa_inv_line-geber.
perform bdc_field using 'BDC_CURSOR' fld.
cnt1 = cnt1 + 1.
endloop.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'BDC_OKCODE' '=BS'.
perform bdc_dynpro using 'SAPMSSY0' '0120'.
perform bdc_field using 'BDC_OKCODE' '=BP'.
call transaction 'FB60' using gt_bdcdata mode 'N' pdate 'S'
messages into gt_bdc_messages.
Thanks,
Deesanth -
BDC Batch input session method
Hi ,
I am new to SAP progamming. Pls let me know the basics of BDC Batch Input session method and Call transaction method. I want to know the pros and cons of both methods with justification. Please help me in this regarding.Hi,
Session method.
1) synchronous processing.
2) can tranfer large amount of data.
3) processing is slower.
4) error log is created
5) data is not updated until session is processed.
Call transaction.
1) asynchronous processing
2) can transfer small amount of data
3) processing is faster.
4) errors need to be handled explicitly
5) data is updated automatically
Check these link:
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm
http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
http://www.planetsap.com/bdc_main_page.htm
Session method:
1. Data migration is done in two steps .. Generate session and Process session.
So resouces can be used efficiently. good for bulkdata migration.
2. Session method generates error log when u process a session.
3. No SY-SUBRC can be returned after each transaction is called.
4. Provides synchronous Updation only...
Call transaction method:
1. Data migration is done in single steps ..bcoz Transactions are called immediately after filling BDCDATA table. So good for small amount of data.
2. We have to collect error messages using BDCMSGCOLL Table
3. Returns SY-SUBRC and Messages ..after each Call Transaction..very useful feature for further processing based on the Status and Messages..
4. Supports Asynch or Synch Updation.
Example code for session method
Here is the porgram for Purchase order
REPORT zmm0069 NO STANDARD PAGE HEADING
MESSAGE-ID z0
LINE-SIZE 132
LINE-COUNT 65(2).
Internal Tables *
*Internal table for the purchasing info records fields.
DATA: BEGIN OF i_inforecord OCCURS 0,
matnr(18),
lifnr(10),
uom(3),
ekgrp(3),
planned_time(3),
under_tol(3),
over_tol(3),
qty(10),
price_cat(5),
inco(3),
designation(28),
netpr(13),
scale_qty1(10),
scale_pr1(13),
scale_qty2(10),
scale_pr2(13),
scale_qty3(13),
scale_pr3(10),
scale_qty4(13),
scale_pr4(10),
scale_qty5(13),
scale_pr5(10),
scale_qty6(13),
scale_pr6(10),
scale_qty7(13),
scale_pr7(10),
scale_qty8(13),
scale_pr8(10),
scale_qty9(13),
scale_pr9(10),
scale_qty10(13),
scale_pr10(10),
END OF i_inforecord.
Internal table for Old and New Vendor number
DATA : BEGIN OF i_lfb1 OCCURS 1,
lifnr(10),
altkn(10),
END OF i_lfb1.
Declare internal table for Call Transaction and BDC Session
DATA: i_bdc_table LIKE bdcdata OCCURS 0 WITH HEADER LINE.
Global Variables *
DATA: g_counter(2) TYPE n,
g_field_name(18) TYPE c,
zc_yes TYPE syftype VALUE 'X'.
Selection Screen *
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
PARAMETERS: p_fname1 TYPE localfile .
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-002.
PARAMETERS: p_rloc1 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-003.
PARAMETERS p_group(12) OBLIGATORY DEFAULT 'ZPURCHINFO'.
SELECTION-SCREEN END OF BLOCK c.
SELECTION-SCREEN END OF BLOCK b.
SELECTION-SCREEN END OF BLOCK a.
**WRITE the report header
TOP-OF-PAGE.
INCLUDE zheading.
Start of selection *
START-OF-SELECTION.
Load Input file
PERFORM f_load_input_file.
Create BDC records.
PERFORM create_bdc_records .
*& Form Create_BDC_records
Perform the BDC for the records in the internal table
FORM create_bdc_records .
IF NOT i_inforecord[] IS INITIAL.
Open BDC session
PERFORM open_bdc_session.
SELECT lifnr altkn FROM lfb1 INTO TABLE i_lfb1
FOR ALL ENTRIES IN i_inforecord
WHERE altkn = i_inforecord-lifnr.
Sorting the Internal table for better performance
SORT i_lfb1 BY altkn.
LOOP AT i_inforecord.
***Mapping Old Vendor number to the new Vendor number
READ TABLE i_lfb1 WITH KEY altkn = i_inforecord-lifnr BINARY
SEARCH.
IF sy-subrc EQ 0.
i_inforecord-lifnr = i_lfb1-lifnr.
ENDIF.
CLEAR i_bdc_table[].
PERFORM insert_screen_header.
call transaction 'ME11' using i_bdc_table
mode 'A'.
CLEAR i_bdc_table.
ENDLOOP.
CLEAR i_inforecord[].
PERFORM close_bdc_session.
Release the BDC sessions created
PERFORM release_bdc.
ENDIF.
ENDFORM. " open_group
*& Form bdc_dynpro_start
Start the screen for the transfer of fields
FORM bdc_dynpro_start USING p_g_program_1
p_g_screen.
CLEAR i_bdc_table.
i_bdc_table-program = p_g_program_1.
i_bdc_table-dynpro = p_g_screen.
i_bdc_table-dynbegin = 'X'.
APPEND i_bdc_table.
ENDFORM. " bdc_dynpro_start_start
*& Form bdc_insert_field
Insert field *
FORM bdc_insert_field USING f_name f_value.
IF f_value <> space.
CLEAR i_bdc_table.
i_bdc_table-fnam = f_name.
i_bdc_table-fval = f_value.
APPEND i_bdc_table.
ENDIF.
ENDFORM. "bdc_insert_field
*& Form open_bdc_session
Open a BDC session
FORM open_bdc_session .
Open BDC session and create and update records
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
DEST = FILLER8
group = p_group
HOLDDATE = FILLER8
keep = 'X'
user = sy-uname
RECORD = FILLER1
PROG = SY-CPROG
IMPORTING
QID =
EXCEPTIONS
client_invalid = 1
destination_invalid = 2
group_invalid = 3
group_is_locked = 4
holddate_invalid = 5
internal_error = 6
queue_error = 7
running = 8
system_lock_error = 9
user_invalid = 10
OTHERS = 11
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " create_bdc_session
*& Form insert_screen_header
Screen flow for the transfer of fields
FORM insert_screen_header .
First Screen 100
PERFORM bdc_dynpro_start USING 'SAPMM06I' '0100'.
PERFORM bdc_insert_field USING:'BDC_CURSOR' 'EINA-LIFNR',
'BDC_OKCODE' '/00',
'EINA-LIFNR' i_inforecord-lifnr,
'EINA-MATNR' i_inforecord-matnr,
'EINE-EKORG' '1000',
'RM06I-NORMB' zc_yes.
Next Screen 101
PERFORM bdc_dynpro_start USING 'SAPMM06I' '0101'.
PERFORM bdc_insert_field USING : 'BDC_CURSOR' 'EINA-MAHN1',
'BDC_OKCODE' '/00',
'EINA-MEINS' i_inforecord-uom.
*Next Screen 102
PERFORM bdc_dynpro_start USING 'SAPMM06I' '0102'.
PERFORM bdc_insert_field USING : 'BDC_CURSOR' 'EINE-INCO2',
'EINE-APLFZ' i_inforecord-planned_time,
'EINE-EKGRP' i_inforecord-ekgrp,
'EINE-NORBM' i_inforecord-qty.
PERFORM bdc_insert USING 'EINE-UEBTK' ' '.
PERFORM bdc_insert_field USING:'EINE-PEINH' i_inforecord-scale_qty1,
'EINE-BPRME' i_inforecord-uom,
'EINE-UNTTO' '5',
'EINE-UEBTO' '25',
'EINE-MEPRF' i_inforecord-price_cat,
'EINE-NETPR' i_inforecord-netpr,
'EINE-INCO1' i_inforecord-inco,
'EINE-INCO2' i_inforecord-designation.
Checking for Scale quantities
IF i_inforecord-scale_qty2 = space.
PERFORM bdc_insert_field USING 'BDC_OKCODE' '=BU'.
PERFORM insert_bdc_new.
ELSE.
PERFORM bdc_insert_field USING 'BDC_OKCODE' '=KO'.
Next Screen 201
PERFORM bdc_dynpro_start USING 'SAPMV13A' '0201'.
PERFORM bdc_insert_field USING : 'BDC_CURSOR' 'RV13A-DATAB',
'BDC_OKCODE' '=PSTF'.
Next Screen 201
PERFORM bdc_dynpro_start USING 'SAPMV13A' '0201'.
PERFORM bdc_insert_field USING : 'BDC_CURSOR' 'KONP-KSCHL(01)',
'BDC_OKCODE' '=PSTF',
'RV130-SELKZ(01)' zc_yes.
LAST SCREEN 303
PERFORM bdc_dynpro_start USING 'SAPMV13A' '0303'.
PERFORM bdc_insert_field USING : 'BDC_CURSOR' 'KONM-KBETR(03)',
'BDC_OKCODE' '=SICH'.
Counter to Loop the Item level entry
g_counter = 0.
PERFORM scale_entry USING i_inforecord-scale_qty2
i_inforecord-scale_pr2.
PERFORM scale_entry USING i_inforecord-scale_qty3
i_inforecord-scale_pr3.
PERFORM scale_entry USING i_inforecord-scale_qty4
i_inforecord-scale_pr4.
PERFORM scale_entry USING i_inforecord-scale_qty5
i_inforecord-scale_pr5.
PERFORM scale_entry USING i_inforecord-scale_qty6
i_inforecord-scale_pr6.
PERFORM scale_entry USING i_inforecord-scale_qty7
i_inforecord-scale_pr7.
PERFORM scale_entry USING i_inforecord-scale_qty8
i_inforecord-scale_pr8.
PERFORM scale_entry USING i_inforecord-scale_qty9
i_inforecord-scale_pr9.
PERFORM scale_entry USING i_inforecord-scale_qty10
i_inforecord-scale_pr10.
PERFORM insert_bdc_new.
ENDIF.
ENDFORM. " insert_screen_header
*& Form insert_bdc
Insert BDC
FORM insert_bdc_new .
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = 'ME11'
POST_LOCAL = NOVBLOCAL
PRINTING = NOPRINT
SIMUBATCH = ' '
CTUPARAMS = ' '
TABLES
dynprotab = i_bdc_table
EXCEPTIONS
internal_error = 1
not_open = 2
queue_error = 3
tcode_invalid = 4
printing_invalid = 5
posting_invalid = 6
OTHERS = 7
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CLEAR i_bdc_table[].
ENDFORM. " insert_bdc
*& Form close_bdc_session
Close the BDC session
FORM close_bdc_session .
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
not_open = 1
queue_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " close_bdc_session
*& Form f_load_input_file
Upload the file
FORM f_load_input_file.
Check always Local file for upload
IF p_rloc1 = zc_yes.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_fname1
filetype = 'DAT'
TABLES
data_tab = i_inforecord
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.
STOP.
ENDIF.
ENDIF.
ENDFORM. " f_load_input_file
*& Form release_bdc
Release the session
FORM release_bdc.
SUBMIT rsbdcsub WITH mappe EQ p_group
WITH von EQ sy-datum
WITH bis EQ sy-datum
WITH fehler EQ '.'
EXPORTING LIST TO MEMORY
AND RETURN.
ENDFORM. " release_bdc
*& Form scale_entry
Populate the Scale quantities
-->P_SCALE_QTY
-->P_SCALE_PRICE
FORM scale_entry USING p_scale_qty
p_scale_price.
Increment the Counter
g_counter = g_counter + 1.
IF p_scale_qty <> space.
CONCATENATE 'KONM-KSTBM(' g_counter ')' INTO g_field_name.
PERFORM bdc_insert_field USING g_field_name p_scale_qty.
CONCATENATE 'KONM-KBETR(' g_counter ')' INTO g_field_name.
PERFORM bdc_insert_field USING g_field_name p_scale_price.
ENDIF.
ENDFORM.
*& Form bdc_insert
To uncheck the Unlimited (UEBTK)
FORM bdc_insert USING f_name f_value.
CLEAR i_bdc_table.
i_bdc_table-fnam = f_name.
i_bdc_table-fval = f_value.
APPEND i_bdc_table.
ENDFORM. " bdc_insert
Reward points if it is usefull ....
Cheers,
Chandra Sekhar. -
How to handile errors in batch input(session)method
Hi Friends..
How to <b>Re upload the error records</b> in batch input(session)method in BDC Programming?
Regards
D BabuHi
U can do it manually by SM35: the wrong trxs can be run again.
If you want to do automatically I don't think you can do it easyly, because to know if a record was loaded successfully depends on how you have loaded it and your data source .
For example:
if the records have to be loaded are from a file and every record is a trx, you could re-read the file and match it with session log:
Log--Result--
Record file
Trx 1 OK 1
Trx 2 OK 2
Trx 3 KO 3 (Re-load it)
Trx 4 OK 4
Trx 5 KO 5 (Re-load it)
Trx 6 OK 6
How to read session log see trx sm35
Max -
No batch input data for screen for VF01
Hi All,
Iam trying to to create billing document using BDC for VF01 with sales order. For single line item it is working fine and that to in Mode 'A'. But while creating invoices using multiple sales orders , Iam getting the following error.
No batch input data for screen 'SAPMV60A' '0102' . Error - 0344.
Kindly help me as I was strucked here.
My code .
PERFORM bdc_dynpro USING 'SAPMV60A' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'KOMFK-VBELN(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'KOMFK-VBELN(01)'
gwa_bdc-vbeln.
PERFORM bdc_dynpro USING 'SAPMV60A' '0104'.
PERFORM bdc_field USING 'BDC_CURSOR'
'VBRK-FKART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMV60A' '0104'.
PERFORM bdc_field USING 'BDC_CURSOR'
'VBRK-FKART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SICH'.
REFRESH messtab[].
CALL TRANSACTION 'VF01' USING bdcdata
OPTIONS FROM wa_options
MESSAGES INTO messtab.
Please <removed by moderator> help.
Thanks ,
Srikanth.A
Edited by: Thomas Zloch on Sep 15, 2011 1:47 PMHi Jurgen
LOOP AT git_bdc INTO gwa_bdc.
refresh messtab[].
PERFORM bdc_dynpro USING 'SAPMV60A' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'KOMFK-VBELN(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'KOMFK-VBELN(01)'
gwa_bdc-vbeln.
PERFORM bdc_dynpro USING 'SAPMV60A' '0104'.
PERFORM bdc_field USING 'BDC_CURSOR'
'VBRK-FKART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMV60A' '0104'.
PERFORM bdc_field USING 'BDC_CURSOR'
'VBRK-FKART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMV60A' '0104'.
PERFORM bdc_field USING 'BDC_CURSOR'
'VBRK-FKART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SICH'.
REFRESH messtab[].
CALL TRANSACTION 'VF01' USING bdcdata
OPTIONS FROM wa_options
MESSAGES INTO messtab.
Error message population....
REFRESH bdcdata[].
ENDLOOP.
Thanks,
Srikanth.A -
No batch input data for screen SAPMSSY3 0131 in Sales order IDOC
I am processing Sales order IDOCS in status 64 using RBDAPP01 .Some of them error out to status 51 with the message -
No batch input data for screen SAPMSSY3 0131 .
I know the standard IDOC inbound process tries to simulate the posting in a BDC like process.
Now, I went to we19 and the screen hangs up in a pop up in the partners tab with partner type 'WE' and my shipto (which is actually filled in the IDOC), missing..upon repeatedly hitting enter, it goes thru and an idoc is posted in status 53. But still unable to get through the root of this issue.
Any, insight will help.Hi,
I think the pop-up is generated through and user-exit for which recording is missing. This is why your idoc stays in status 64...
Handle the screen recording in the user exit IDOC_INPUT_ORDERS
user exit routine
PERFORM customer_function_dynpro.
FORM CUSTOMER_FUNCTION_DYNPRO.
CALL CUSTOMER-FUNCTION '002'
EXPORTING DXVBAK = XVBAK
DVTCOMAG = VTCOMAG
DLAST_DYNPRO = LAST_DYNPRO
DXMESCOD = IDOC_CONTRL-MESCOD
TABLES DXBDCDATA = BDCDATA
DXVBAP = XVBAP
DXVBEP = XVBEP
DYVBEP = YVBEP
DXVBADR = XVBADR
DYVBADR = YVBADR
DXVBPA = XVBPA
DXVBUV = XVBUV
DIDOC_DATA = IDOC_DATA
DXKOMV = XKOMV
DXVEKP = XVEKP
DYVEKP = YVEKP
EXCEPTIONS
USER_ERROR = 01.
Regards,
Krishnakumar -
"no batch input data for screen SAPLMR!M 6220 in BDC while holding Invoice
Hi
I am facing a problem while uploading Invoice data and to hold the data in miro transaction I am getting the error
"no batch input data for screen SAPLMR!M 6220 " . It is for non PO data only I am facing this problem using BDC.
But for Po based Invoice I am getting Invoice number while holding the Invoice. I am Using SHBDB to record the
transaction details
Please give me some solution regrading this.
SamirKrish ,
I am doing it in same transaction MIRO for both PO and NON-PO. I am able to generate an Invoice number while holding the Invoice For NON-PO taking vendor as invoice Party .While I am recording it in SHDB and trying to use the
same in my BDC Programe it is throughing this error and also by testing the program which has been generated by the
SHDB trnasaction i am getting the same Error . Is there any diferrent trnasaction that is used to hold NON_PO invoice ?
Where Invoice number will be generated automatically ? -
No batch input data for screen SAPMSSY3 0131
Dear All,
I have developed a report where i need to upload (old and new)incoterms,payment terms,document type and update in the table ekko with my new values (incoterms,payment terms and document type).
Problem :For this report i have uploaded the excel sheet and values are getting uploaded into my internal table.but when using bapi_agreement_maintain to update the ekko table ,in return table its showing No batch input data for screen SAPMSSY3 0131.
Anyone please give the reason/solution to solve the problem.
Regards,
Bhavani.Hi,
screen SAPMSSY3 0131 is the debugging screen so if you have any break-points in any of the transactions remove the breakpoint and check.
Basically this BAPI is calling a transaction to execute a transaction in no dialog mode so if you have break-points in any of those program you will face this issue.
Regards,
Himanshu -
Error: No batch input data for screen SAPMZVKDIALOGDEMO 1000 Help Needed
Hi Experts!
I wrote a program for BDC. I am attaching the code herewith. When i am trying to process the session in SM35, i was getting the error: No batch input data for screen SAPMZVKDIALOGDEMO 1000. Can anyone please tell me, what am i doing wrong.
Thanks.
REPORT zvkbdcdemo01.
DATA: bdc_tab LIKE bdcdata OCCURS 6 WITH HEADER LINE.
DATA: session LIKE apqi-groupid VALUE 'Session #1'.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
* DEST = FILLER8
group = session
* HOLDDATE = FILLER8
* KEEP = FILLER1
user = sy-uname
* RECORD = FILLER1
* PROG = SY-CPROG
* IMPORTING
* QID =
* EXCEPTIONS
* CLIENT_INVALID = 1
* DESTINATION_INVALID = 2
* GROUP_INVALID = 3
* GROUP_IS_LOCKED = 4
* HOLDDATE_INVALID = 5
* INTERNAL_ERROR = 6
* QUEUE_ERROR = 7
* RUNNING = 8
* SYSTEM_LOCK_ERROR = 9
* USER_INVALID = 10
* OTHERS = 11
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
PERFORM fill_bdc_tab.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = 'ZVKTR001'
* POST_LOCAL = NOVBLOCAL
* PRINTING = NOPRINT
* SIMUBATCH = ' '
* CTUPARAMS = ' '
TABLES
dynprotab = bdc_tab
* EXCEPTIONS
* INTERNAL_ERROR = 1
* NOT_OPEN = 2
* QUEUE_ERROR = 3
* TCODE_INVALID = 4
* PRINTING_INVALID = 5
* POSTING_INVALID = 6
* OTHERS = 7
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'BDC_CLOSE_GROUP'
* EXCEPTIONS
* NOT_OPEN = 1
* QUEUE_ERROR = 2
* OTHERS = 3
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*& Form fill_bdc_tab
* text
FORM fill_bdc_tab.
REFRESH bdc_tab.
PERFORM populate_bdc_tab USING:
'1' 'SAPMZVKDIALOGDEMO' '1000',
' ' 'SFLIGHT-CARRID' 'LH',
' ' 'SFLIGHT-CONNID' '0400',
' ' 'SFLIGHT-FLDATE' '07/07/2007',
' ' 'SFLIGHT-PRICE' '1982',
' ' 'SFLIGHT-CURRENCY' 'EUR',
' ' 'SFLIGHT-PLANETYPE' 'A310-300',
' ' 'BDC_OKCODE' 'CREA'.
ENDFORM. "fill_bdc_tab
*& Form POPULATE_BDC_TAB
* text
* -->FLAG text
* -->VAR1 text
* -->VAR2 text
FORM populate_bdc_tab USING flag var1 var2.
CLEAR bdc_tab.
IF flag = '1'.
bdc_tab-program = var1.
bdc_tab-dynpro = var2.
bdc_tab-dynbegin = 'X'.
ELSE.
bdc_tab-fnam = var1.
bdc_tab-fval = var2.
ENDIF.
APPEND bdc_tab.
ENDFORM. "POPULATE_BDC_TABThis normally means that you are trying to insert data on a screen for which a particular field is not available.
So check screen number, screen fields and report name. In case of screen fields, use F1, F9 (technical information), and check the name of the screen field for batch processing (all the way at th bottom of the pop-up). This can differ from actual name of the screen field.
If all this is ok, try to create a recording of the transaction with SM37. -
Error message 00 344 : No batch input data for the screen SAPMF02D 0324
Hi Experts,
We are working with SAP CRM 4.0 and SAP R/3 6.20
We have an important number of BDocs (type 'BUPA_MAIN' ) in status E02 with the error message
00 344 : 'No batch input data for the screen SAPMF02D 0324'.
Can any one help us to explain the cause of this message and how to resolve it ??
Thanks you in advance for your help !
Best regards,
Nabil.Any ideas ?
We really appreciate your help !
Maybe you are looking for
-
IPod Replacement Program, incomplete Address?
Hi, I submitted a incomplete address to apple, therefore I think that might be why UPs could not successfully deliver the empty box to my house, what do I do, call Apple's support? or is there any other way I can correct my home address? The empty bo
-
Problems in deleting reminders
When I get multiple reminders in one window the button "Delete" and "Postpone" do react very slow or not at all. With the result that, if the Delete-button was pushed several times, it delets either nothing or also the following reminders. Has anyone
-
Rounding PR00 in header level (+1 item with the same material)
I have currently a problem, my customer prints the invoice by sumarizing the materials (line items with the same material and pr00), but by doing this the unit price by the quantity is not correct because the rouding at line item is not the same when
-
I can not get the control panel of my blog
I can not get the control panel of my blog with my google acount. http://tsalimi.blogspot.com
-
Unable to send alerts to External users
Hello, We've implemented SharePoint 2013 for internal and external domain users. We setup all users in our AD but the external users have their own company email addresses. Now, all of our users i.e. Internal DC users and External DC users can access