BDC TRansaction
hi folks,
I am having two issues related to the BDC transaction, I have recorded the below transaction using the BDC transaction recorder
'X' 'SAPMP50A' '1000',
' ' 'BDC_OKCODE' '=INS',
' ' 'RP50G-PERNR' REC-PERNR,
' ' 'BDC_CURSOR' 'T582S-ITEXT(01)',
' ' 'RP50G-SELEC(01)' 'X',
' ' 'RP50G-TIMR6' 'X',
'X' 'MP000000' '2000',
' ' 'BDC_CURSOR' 'P0000-MASSG',
' ' 'BDC_OKCODE' '/00',
' ' 'P0000-BEGDA' format_termin,
' ' 'P0000-MASSN' 'TM',
' ' 'P0000-MASSG' zmassg,
'X' 'MP000000' '2000',
' ' 'BDC_CURSOR' 'P0000-BEGDA',
' ' 'BDC_OKCODE' '/00',
' ' 'P0000-BEGDA' format_termin,
' ' 'P0000-MASSN' 'TM',
' ' 'P0000-MASSG' zmassg,
'X' 'MP000000' '2000',
' ' 'BDC_CURSOR' 'P0000-BEGDA',
' ' 'BDC_OKCODE' 'UPD',
' ' 'P0000-BEGDA' format_termin,
' ' 'P0000-MASSN' 'TM',
' ' 'P0000-MASSG' zmassg,
'X' 'MP000100' '2010',
' ' 'BDC_CURSOR' 'P0001-SACHZ',
' ' 'BDC_OKCODE' 'UPD',
' ' 'P0001-BEGDA' format_termin,
' ' 'P0001-ENDDA' '12/31/9999',
*' ' 'P0001-BTRTL' 'SNXP',
*' ' 'P0001-ABKRS' 'GA',
*' ' 'P0001-ANSVH' '04',
*' ' 'P0001-SACHP' 'H13',
*' ' 'P0001-PLANS' '99999999',
' ' 'P0001-SACHZ' 'P99',
*' ' 'P0001-SACHA' '026',
'X' 'MP003500' '2000',
' ' 'BDC_CURSOR' 'P0035-DAT35',
' ' 'BDC_OKCODE' '/00',
' ' 'P0035-BEGDA' format_termin,
' ' 'P0035-ENDDA' '12/31/9999',
' ' 'P0035-BLEHR' ZBLEHR,
' ' 'P0035-DAT35' format_termin,
'X' 'MP003500' '2000',
' ' 'BDC_CURSOR' 'P0035-BEGDA',
' ' 'BDC_OKCODE' '=UPD',
' ' 'P0035-BEGDA' format_termin,
' ' 'P0035-ENDDA' '12/31/9999',
' ' 'P0035-BLEHR' ZBLEHR,
' ' 'P0035-DAT35' format_termin,
'X' 'MP005000' '3000',
' ' 'BDC_CURSOR' 'P0050-BEGDA(01)',
' ' 'BDC_OKCODE' '=DLIM',
' ' 'RP50M-BEGDA' format_termin,
' ' 'RP50M-ENDDA' '12/31/9999',
' ' 'RP50M-ABGRD' format_termin,
' ' 'RP50M-PAGEA' ' 1',
' ' 'RP50M-SELE2(01)' 'X',
' ' 'BDC_OKCODE' '/11',
' ' 'BDC_OKCODE' '/11'.
The process flow:
Menu Path: Human Resources > Personnel Management -> HR Master Data -> Maintain -> Enter
Personnel Number -> Select Actions (0000) Infotype -> Create -> Enter the defined date -> Select Action Termination -> Insert Termination Reason -> Click SAVE -> Insert P99 in Time Administrator field -> click SAVE _->Populate 12/31/9999 in End Date on IT 0035 -> Populate "ELIG" -> Populate Termination Date in DAT 35 -> click SAVE -> Delimit IT 0050.
I have two questions.
Firslty, when I SAVE the data entered for each infotype that action is not getting recorded in the transaction recorder which means that transaction is stopping right after the Actions (0000) infotype as a result the subsequent infotypes are not getting populated even though I recorded the entire process in the transaction recorder.
Secondly, delimit the Time recording info IT0050 I click the delimit button again this action is not recorded in the transaction recorder.
Bottom line: the action related to the buttons(SAVE or DELIMIT) is not getting recorded.
How can I solve this?
Any leads would be helpful
Thanks in advance.\
Vinu.
hi folks,
In the thread you have mentioned to add the (termination date)date record to '0050-enda' I did that and I commented the begda portion of it.
As I was examining how the data is getting populated on the screen (for DElimit 0050) by default the termination date is taken into the 'begda' field
That means the screen is getting populated as
03/31/2006 to 03/31/2006 and the second thing is it is throwing an error ' choose the valid function' which means the delimit action is not getting recorded.
How can I solve this problem?
'X' 'MP005000' '3000',
' ' 'BDC_CURSOR' 'P0050-BEGDA(01)',
' ' 'BDC_OKCODE' '=DLIM',
*' ' 'RP50M-BEGDA' format_termin,
' ' 'RP50M-ENDDA' format_termin,
' ' 'RP50M-ABGRD' format_termin,
' ' 'RP50M-PAGEA' ' 1',
' ' 'RP50M-SELE2(01)' 'X',
' ' 'BDC_OKCODE' '/11',
' ' 'BDC_OKCODE' '/11'.
ANY LEADS WILL BE HELPFUL.
THANKS.
VINU
Similar Messages
-
BDC transaction "The function is not possible"
Dear Experts,
I have made a BDC transaction program according to recording from SHDB in order to have batch transaction for FB50.
However, when I run the program. It shows an error "The function is not possible". But when I press the "Save" button manually, the function passed and result is saved. Just do not know what happens.
report YFB50 no standard page heading line-size 255.
include bdcrecx1.
type-pools : TRUXS.
data : rawdata type TRUXS_T_TEXT_DATA.
parameters: sfile TYPE localfile default 'C:\fb50.txt'.
parameters: plant like BKPF-BUKRS default '1000'.
data: pfile type string.
data: post_date(8) type c.
data: record_count(2) type c.
data: v_HKONT(19) type c.
data: v_SHKZG(19) type c.
data: v_WRBTR(19) type c.
data: v_SGTXT(19) type c.
data: v_KOSTL(19) type c.
*** DO NOT CHANGE - the generated data section - DO NOT CHANGE ***
* If it is nessesary to change the data section use the rules:
* 1.) Each definition of a field exists of two lines
* 2.) The first line shows exactly the comment
* '* data element: ' followed with the data element
* which describes the field.
* If you don't have a data element use the
* comment without a data element name
* 3.) The second line shows the fieldname of the
* structure, the fieldname must consist of
* a fieldname and optional the character '_' and
* three numbers and the field length in brackets
* 4.) Each field must be type C.
*** Generated data section with specific formatting - DO NOT CHANGE ***
data: begin of record occurs 0,
* data element: HKONT
HKONT(010),
* data element: SHKZG
SHKZG(007),
* data element: WRBTR
WRBTR(017),
* data element: SGTXT
SGTXT(050),
* data element: KOSTL
KOSTL(010),
end of record.
*** End generated data section ***
start-of-selection.
pfile = sfile.
concatenate sy-datum+6(2) sy-datum+4(2) sy-datum+0(4) into post_date.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = pfile
TABLES
DATA_TAB = rawdata
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.
WRITE:/ 'SY-SUBRC:', SY-SUBRC.
ENDIF.
CALL FUNCTION 'TEXT_CONVERT_CSV_TO_SAP'
EXPORTING
I_FIELD_SEPERATOR = ';'
I_TAB_RAW_DATA = rawdata
TABLES
I_TAB_CONVERTED_DATA = record
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2.
perform bdc_dynpro using 'SAPMF05A' '1001'.
*Input header information
perform bdc_field using 'BDC_OKCODE'
'/00'.
*Document Date
perform bdc_field using 'ACGL_HEAD-BLDAT'
post_date.
*Posting Date
perform bdc_field using 'ACGL_HEAD-BUDAT'
post_date.
perform bdc_field using 'BDC_OKCODE'
'/ECCDE'.
perform bdc_dynpro using 'SAPLACHD' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
*Company Code
perform bdc_field using 'BKPF-BUKRS'
plant.
perform bdc_dynpro using 'SAPMF05A' '1001'.
*Input header information
perform bdc_field using 'BDC_OKCODE'
'/BU'.
*Document Date
perform bdc_field using 'ACGL_HEAD-BLDAT'
post_date.
*Posting Date
perform bdc_field using 'ACGL_HEAD-BUDAT'
post_date.
*Input item text
loop at record.
*write sy-tabix to record_count.
*concatenate 'ACGL_ITEM-HKONT(' record_count ')' into v_HKONT.
*concatenate 'ACGL_ITEM-SHKZG(' record_count ')' into v_SHKZG.
*concatenate 'ACGL_ITEM-WRBTR(' record_count ')' into v_WRBTR.
*concatenate 'ACGL_ITEM-SGTXT(' record_count ')' into v_SGTXT.
*concatenate 'ACGL_ITEM-KOSTL(' record_count ')' into v_KOSTL.
perform bdc_field using v_HKONT
record-HKONT.
perform bdc_field using v_SHKZG
record-SHKZG.
perform bdc_field using v_WRBTR
record-WRBTR.
perform bdc_field using v_SGTXT
record-SGTXT.
perform bdc_field using v_KOSTL
record-KOSTL.
endloop.
perform bdc_transaction using 'FB50'.
Here is my input:
206090203;H;41.74;abc;MISHK
206090203;H;14.36;abc;FACHK
206100100;S;41.74;def;MISHK
206070100;S;14.36;def;FACHK
Regards,
CatoMake your LOOP.... ENDLOOP... Like this
LOOP AT RECORD.
perform bdc_dynpro using 'SAPMF05A' '1001'.
*Input header information
perform bdc_field using 'BDC_OKCODE'
'/00'.
*Document Date
perform bdc_field using 'ACGL_HEAD-BLDAT'
post_date.
*Posting Date
perform bdc_field using 'ACGL_HEAD-BUDAT'
post_date.
perform bdc_field using 'BDC_OKCODE'
'/ECCDE'.
perform bdc_dynpro using 'SAPLACHD' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
*Company Code
perform bdc_field using 'BKPF-BUKRS'
plant.
perform bdc_dynpro using 'SAPMF05A' '1001'.
*Input header information
perform bdc_field using 'BDC_OKCODE'
'/BU'.
*Document Date
perform bdc_field using 'ACGL_HEAD-BLDAT'
post_date.
*Posting Date
perform bdc_field using 'ACGL_HEAD-BUDAT'
post_date.
*Input item text
**loop at record.
*write sy-tabix to record_count.
*concatenate 'ACGL_ITEM-HKONT(' record_count ')' into v_HKONT.
*concatenate 'ACGL_ITEM-SHKZG(' record_count ')' into v_SHKZG.
*concatenate 'ACGL_ITEM-WRBTR(' record_count ')' into v_WRBTR.
*concatenate 'ACGL_ITEM-SGTXT(' record_count ')' into v_SGTXT.
*concatenate 'ACGL_ITEM-KOSTL(' record_count ')' into v_KOSTL.
perform bdc_field using v_HKONT
record-HKONT.
perform bdc_field using v_SHKZG
record-SHKZG.
perform bdc_field using v_WRBTR
record-WRBTR.
perform bdc_field using v_SGTXT
record-SGTXT.
perform bdc_field using v_KOSTL
record-KOSTL.
**endloop.
perform bdc_transaction using 'FB50'.
ENDLOOP.
Now should work fine.. -
ABAP - BDC transaction not saving changes to records
I am trying to write my first ABAP code using BDC recording. Essentially I would like to flag the "Final Delivery" field (EKPO-EGLKZ) for a range of documents by recording transaction MASS.
The code runs without errors - but the changes are not saved. I have run the code in "Processing Mode: A" (Display all screens) and the program successfully loops through each record & saves the updated fields. When I look at the documents in ME23N the changes have not been saved. Running the MASS transaction manually results in the changes being successfully saved so I can rule out any data validation issues.
Does anyone know why the changes refuse to save when running the code below?
I have considered trying to use BAPI_PO_CHANGE instead of BDC, but I am new to ABAP and I thought the BDC code would be less complex.
report Z_MASS_REMOVE_FDI_DCI
no standard page heading line-size 255.
include bdcrecx1.
TYPES: BEGIN OF ty_tab,
MASSOBJTYP(7),
MASSVARNAM(7),
DOCNO(9),
ITEM(1),
END OF ty_tab.
DATA : it_tab TYPE STANDARD TABLE OF ty_tab.
DATA : wa_tab TYPE ty_tab.
START-OF-SELECTION.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'X:\STO.TXT'
* FILETYPE = 'ASC
has_field_separator = 'X'
TABLES
data_tab = it_tab
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
END-OF-SELECTION.
LOOP AT it_tab INTO wa_tab.
WRITE:/ wa_tab-MASSOBJTYP,
wa_tab-MASSVARNAM,
wa_tab-DOCNO,
wa_tab-ITEM.
PERFORM open_group.
perform bdc_dynpro using 'SAPMMSDL' '0100'.
perform bdc_field using 'BDC_CURSOR'
'MASSSCREEN-OBJECT'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'MASSSCREEN-OBJECT'
wa_tab-MASSOBJTYP.
perform bdc_field using 'MASSSCREEN-VARNAME'
wa_tab-MASSVARNAM.
perform bdc_dynpro using 'SAPMMSDL' '0100'.
perform bdc_field using 'BDC_CURSOR'
'MASSSCREEN-OBJECT'.
perform bdc_field using 'BDC_OKCODE'
'=NEXT'.
perform bdc_dynpro using 'SAPLMASS_SEL_DIALOG' '0100'.
perform bdc_field using 'BDC_CURSOR'
'MASSFREESEL-LOW(01)'.
perform bdc_field using 'MASSFREESEL-LOW(01)'
wa_tab-DOCNO.
perform bdc_dynpro using 'SAPLMASS_SEL_DIALOG' '0100'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'MASSFREESEL-LOW(02)'.
perform bdc_field using 'MASSFREESEL-LOW(02)'
wa_tab-ITEM.
perform bdc_dynpro using 'SAPLMASS_SEL_DIALOG' '0100'.
perform bdc_field using 'BDC_OKCODE'
'=CRET'.
perform bdc_field using 'BDC_CURSOR'
'MASSFREESEL-LOW(01)'.
perform bdc_dynpro using 'SAPLMASSINTERFACE' '0200'.
perform bdc_field using 'BDC_OKCODE'
'=FDAE'.
perform bdc_field using 'BDC_CURSOR'
'NR_ITEMS'.
perform bdc_dynpro using 'SAPLMASSINTERFACE' '0200'.
perform bdc_field using 'BDC_OKCODE'
'=SAVE'.
perform bdc_field using 'BDC_CURSOR'
'NR_ITEMS'.
perform bdc_dynpro using 'SAPLMASSMSGLIST' '0300'.
perform bdc_field using 'BDC_CURSOR'
'REOML-MSGTXT(01)'.
perform bdc_field using 'BDC_OKCODE'
'=EXIT'.
perform bdc_transaction using 'MASS'.
ENDLOOP.
PERFORM close_group.Where is BDC_INSERT.
If u use OPEN and CLOSE_group u need to use INSERT_GROUP also to update in database.
A session will be created and u nedd to run the Session in Sm35 in order to update the database.
Edited by: Ranjith Kumar on Sep 18, 2008 6:41 AM -
How to download BDC transaction data to excel sheet directly.
Please don't have your subject in all CAPITALS. Now edited
Hello Experts,
i have been working on a BDC Tool,so the main job of this tool is
Generate BDCDATA from Excel Tool and pass as an input to a program to perform BDC (Session/Call Transaction).
so i want to the download data from BDC recording directly to excel sheet but i am unable to download it.
hope u all are clear with my question
with thanx and regards
harish
Edited by: Matt on Apr 24, 2009 10:44 AMHiii,
Plz refer the below code.
CALL TRANSACTION 'MEK1' USING it_bdcdata OPTIONS FROM x_ctuprms
MESSAGES INTO it_bdcmsg.
***collect the messages.
LOOP AT it_bdcmsg INTO wa_bdcmsg.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = wa_bdcmsg-msgid
lang = sy-langu
no = wa_bdcmsg-msgnr
v1 = wa_bdcmsg-msgv1
v2 = wa_bdcmsg-msgv2
v3 = wa_bdcmsg-msgv3
v4 = wa_bdcmsg-msgv4
IMPORTING
msg = message
EXCEPTIONS
not_found = 1
OTHERS = 2.
**collect the messages into an internal table.
endloop.
then use "gui_download" to download data.
Regards,
Anil N. -
hi,
i am create a programm for f-27 type DG by bdc session method
when i execute it on 3rd screen of execution it ask for the values for PAYMENT TERMS but in manual entry OF F-27 it does not TAKE ANY PAYMENT TERMS. plz check my code and tell me where is the problem in coding.
CODES:
REPORT zcrdtdgupld
NO STANDARD PAGE HEADING LINE-SIZE 255.
*INCLUDE zdata_declarations.
I N T E R N A L T A B L E *
DATA: BEGIN OF wa_data,
bldat TYPE BDC_FVAL, "Document Date10
blart TYPE BDC_FVAL, "Document Type
bukrs TYPE BDC_FVAL, "Company Code
budat TYPE BDC_FVAL, "Posting Date10
monat TYPE BDC_FVAL, "Period
waers TYPE BDC_FVAL, "Currency
xblnr TYPE BDC_FVAL, "Reference Field
docid TYPE BDC_FVAL, "Document ID
newbs TYPE BDC_FVAL, "Posting Key
newko TYPE BDC_FVAL, "Account Code
wrbtr TYPE BDC_FVAL, "Amount in Documentcurrency
zfbdt TYPE BDC_FVAL, "Baseline Date10
newbs2 TYPE BDC_FVAL, "Account Key2
newko2 TYPE BDC_FVAL, "Account code2
wrbtr2 TYPE BDC_FVAL, "bseg-wrbtr,"Amount2
kostl TYPE BDC_FVAL, " cost center
prctr TYPE BDC_FVAL, " profit center
END OF wa_data.
D A T A *
DATA: it_data LIKE TABLE OF wa_data.
DATA: it_bdcdata TYPE TABLE OF bdcdata.
DATA: wa_bdcdata LIKE LINE OF it_bdcdata.
DATA: v_file TYPE string.
S E L E C T I O N S C R E E N *
SELECTION-SCREEN BEGIN OF BLOCK b.
PARAMETERS : pa_file LIKE fc03tab-pl00_file OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b.
AT SELECTION-SCREEN *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_file.
PERFORM get_file USING pa_file.
S T A R T O F S E L E C T I O N *
START-OF-SELECTION.
v_file = pa_file.
*uploading flat file into internal table
PERFORM upload_file USING v_file CHANGING it_data.
*open the session
PERFORM open_session.
*POPULATING THE BDCDATA
LOOP AT it_data INTO wa_data.
REFRESH it_bdcdata.
PERFORM bdc_dynpro USING 'SAPMF05A' '0100' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BKPF-BLDAT' wa_data-bldat.
PERFORM bdc_field USING 'BKPF-BLART' wa_data-blart.
PERFORM bdc_field USING 'BKPF-BUKRS' wa_data-bukrs.
PERFORM bdc_field USING 'BKPF-BUDAT' wa_data-budat.
PERFORM bdc_field USING 'BKPF-MONAT' wa_data-monat.
PERFORM bdc_field USING 'BKPF-WAERS' wa_data-waers.
PERFORM bdc_field USING 'BKPF-XBLNR' wa_data-xblnr.
PERFORM bdc_field USING 'FS006-DOCID' wa_data-docid.
PERFORM bdc_field USING 'RF05A-NEWBS' wa_data-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO' wa_data-newko.
PERFORM bdc_dynpro USING 'SAPMF05A' '0301' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BSEG-WRBTR' wa_data-wrbtr.
PERFORM bdc_field USING 'BSEG-ZFBDT' wa_data-zfbdt.
PERFORM bdc_field USING 'RF05A-NEWBS' wa_data-newbs2.
PERFORM bdc_field USING 'RF05A-NEWKO' wa_data-newko2.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
PERFORM bdc_field USING 'BSEG-WRBTR' wa_data-wrbtr2.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002' 'X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'COBL-PRCTR'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL' wa_data-kostl. "'101902'
PERFORM bdc_field USING 'COBL-PRCTR' wa_data-prctr.
PERFORM bdc_insert USING 'F-27' it_bdcdata.
ENDLOOP.
*close the session
PERFORM close_session.
*& Form get_file
text
-->P_PA_FILE text
FORM get_file USING p_pa_file.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
program_name = syst-repid
field_name = 'PA_FILE'
CHANGING
file_name = pa_file.
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. " get_file
*& Form upload_file
text
-->P_V_FILE text
<--P_IT_DATA text
FORM upload_file USING p_v_file
CHANGING p_it_data LIKE it_data.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = p_v_file
filetype = 'DAT'
has_field_separator = '#'
TABLES
data_tab = p_it_data.
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. " upload_file
*& Form open_session
text
--> p1 text
<-- p2 text
FORM open_session .
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
DEST = FILLER8
group = 'JAYANT'
HOLDDATE = FILLER8
keep = 'X'
user = sy-uname.
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. " open_session
*& Form bdc_dynpro
text
-->P_0043 text
-->P_0044 text
FORM bdc_dynpro USING program TYPE BDC_PROG
dynpro TYPE BDC_DYNR
dynbegin TYPE BDC_START.
wa_bdcdata-program = program.
wa_bdcdata-dynpro = dynpro.
wa_bdcdata-dynbegin = dynbegin.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR wa_bdcdata.
ENDFORM. " bdc_dynpro
*& Form bdc_field
text
-->P_0048 text
-->P_0049 text
FORM bdc_field USING fnam TYPE FNAM_____4
fval TYPE BDC_FVAL.
wa_bdcdata-fnam = fnam.
wa_bdcdata-fval = fval.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR wa_bdcdata.
ENDFORM. " bdc_field
*& Form bdc_insert
text
-->P_0183 text
-->P_IT_BDCDATA text
FORM bdc_insert USING p_tcode TYPE sytcode
p_it_bdcdata LIKE it_bdcdata.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = p_tcode
TABLES
dynprotab = p_it_bdcdata.
ENDFORM. " bdc_insert
*& Form close_session
text
--> p1 text
<-- p2 text
FORM close_session .
CALL FUNCTION 'BDC_CLOSE_GROUP'.
ENDFORM. "close_session
plz help me in this programm
thanks
jayant.why not post this in the ABAP forum?
You expect Basis people to help you on this one? -
How to Change Sold to using BDC transaction after perform the order
After creating an auto new sales order how will i change the sold to and ship to a new order before saving.
Here sample code:
perform load_orders.
CALL TRANSACTION 'VA41' USING itab_bdc
MODE p_mode UPDATE 'S'
MESSAGES INTO bdcmsg
thanks,
MaryHi,
Why don't you try to make the Partner Function for Sold to Party as Modifible (Don't select Non Modifible) for the Sales Order Header in partner determination determintaion setting in customizing.
You have to check with the partner determination procedure assigned to your sales order type and check accordingly.
Reward points if it helps.
Regards,
Harsh -
Hmmm..Date is updation probs in BDC transaction
Hi all, very gud morning
I have written a BDC program to a dialog UI screen,
So in dialog screen there is a date field, which wud be entered and updated.
So if v update the date, using screen its been updated into the database corectly.
ex: if i enter 30.05.2007, its updated as the same.
But if i have saved the data in a .txt file and if i update the database using BDC, its been updating as 30.05.2020 into the database instead of taking it as 30.05.2007
So do u knw watz the problem n solution for this?
Regards,
SouravHi Sowrabh,
You can facing this problem because SAP date field accepts only 8 characters
and when you are giving the value of 10 chracters, it is truncating the last 2 characters.
You can try the following code:
Data: i_dat(10),
o_dat type d.
*You can replace i_dat with ur date fld
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = i_dat
IMPORTING
output = o_dat.
Use the variable o_dat in ur upload.
Regards -
How to pass BDC transaction with error ?
hi,
i want to build document with F-22 through BDC, but can't do that without handly intervene.
in my program, if i set the display as 'A', and press enter to pass some error message, finaly i can create a document. following is message:
CALL_TRANSACTION F-22 returncode: 0 RECORD: 0
FB01 SAPMF05A 0301WEZ001 067
FB01 SAPMF05A 0301WEZ001 066
FB01 SAPMF05A 0300WEZ001 066
FB01 SAPMF05A 0300EEZ001 073
I
Correct the error reported before on the next screen
FB01 SAPMF05A 0300WEZ001 066
FB01 SAPMF05A 0300EEZ001 073
I
Correct the error reported before on the next screen
FB01 SAPMF05A 0330WEZ001 066
FB01 SAPMF05A 0301WEZ001 067
FB01 SAPMF05A 0301WEZ001 066
FB01 SAPMF05A 0301WEZ001 067
FB01 SAPMF05A 0301WEZ001 066
FB01 SAPMF05A 0301WEZ001 067
FB01 SAPMF05A 0301WEZ001 066
S
Document 100001678 was posted in company code 3100
obviously, in this list there're 2 'I' type message, i think they prevent me from create document automatic.
result , if i set the display mode as 'N' , the result is like this, and no document was created.
CALL_TRANSACTION F-22 returncode: 1,001 RECORD: 0
FB01 SAPMF05A 0301WEZ001 067
FB01 SAPMF05A 0301WEZ001 066
FB01 SAPMF05A 0300WEZ001 066
FB01 SAPMF05A 0300EEZ001 073
how can i solve this ?? any help will be really appreciable.
thank you in advance!!hi,
MESSAGE_TEXT_BUILD for building the message text based on the parameters in the BDCMSGCOL
DATA :messtab TYPE TABLE OF bdcmsgcoll.
DATA: wa_messtab TYPE bdcmsgcoll.
DATA: wa_textout TYPE t100-text.
LOOP AT messtab INTO wa_messtab .
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = wa_messtab-msgid
msgnr = wa_messtab-msgnr
msgv1 = wa_messtab-msgv1
msgv2 = wa_messtab-msgv2
msgv3 = wa_messtab-msgv3
msgv4 = wa_messtab-msgv4
IMPORTING
message_text_output = wa_textout.
MESSAGE wa_textout TYPE wa_messtab-msgtyp.
ENDLOOP.
<b>*Reward points</b>
Regards -
How to uploade multiple flatfiles for single transaction using BDC?
How to uploade multiple flatfiles for single transaction using BDC?
Hi,
You need to upload all data files into an internal table first either using OPEN DATASET (application server files) or GUI_UPLOAD (PC files).
Then loop at the internal table and call BDC transaction to process the data.
Regards,
Ferry Lianto -
Hi gurus
I am writing a bdc for 3 transaction , it runs fines if i execute them seperately , can u let me know who do i merge 3 transactions in one BDC . transactions used are FBRA, F.80 and F-04 .
is their any specific way .... pls send the code if possible.....
thanks in advance.
its urgentHi Shweta
do u want to run all 3 transaction at a time or run separtely..
If u want 3 at a time then
define 3 internal table and 3 BDC struture.
In FM BDC_INSERT use appropriate internal for correct transactio.
Like...
FM BDC_OPEN_GROUP..
Call Function 'BDC_INSERT'
Exporting
tcode = 'FRBA'
importing
table = itab1.
Call Function 'BDC_INSERT'
Exporting
tcode = 'F-04'
importing
table = itab2.
Call Function 'BDC_INSERT'
Exporting
tcode = 'F.80'
importing
table = itab3.
call FM "BDC_CLOSE_GROUP.
Reward me if its useful
Regards
Ravi -
Field not getting updated in BDC while running in background
Hi Friends,
I'm executing a BDC transaction to update the Alternate Tax Classification (VBAK_TAXK1) field in Sales Order. I'm passing value 1 to the field and then saving it directly. While running the BDC in background, the field is not getting updated. On the other hand i checked it running in foreground, the field got updated without any error message.
Can anybody help me advicing why the field is not getting updated in background?
Thanks,
BestinHi ,
Check the the log if you are using a session method and if call transaction then capture the messages for the same,
Because in the foreground the BDC will update the records even if there is a warning message nut in background it will not update. So check the data which you are inserting and try avoid the warning messages also so that it can run smoothly in backfround.
Thanks & Regards
Jyo -
How to delete record from table control in BDC?
Hello friends,
I am running a BDC program to delete records.
I have file with following records and i got these records into t_itab.
Material Plant Start date End date Cost
MQ100001 S001 09/01/2008 09/31/2008 55.00
MQ100004 S002 09/01/2008 09/31/2008 56.00
MQ100008 S003 09/01/2008 09/31/2008 57.00
Now, I have BDC transaction in which table control screen which contains following structure.
MQ100001 S001 09/01/2008 09/31/2008 55.00
MQ100002 S002 09/01/2008 09/31/2008 56.00
MQ100004 S003 09/01/2008 09/31/2008 47.00
MQ100005 S004 09/01/2008 09/31/2008 25.00
MQ100006 S012 09/01/2008 09/31/2008 76.00
MQ100007 S033 09/01/2008 09/31/2008 17.00
MQ100008 S011 09/01/2008 09/31/2008 95.00
MQ100009 S002 09/01/2008 09/31/2008 46.00
I have recorded from SHDB in which first record will be delete.
So, when i loop through t_itab,instead of deleting MQ100001,MQ100004 and MQ100008 from BDC screen,
it is deleting MQ100001,MQ100002 and MQ100004 (first record for each process ).
Which i don't want to.
Is there any facility in BDC to put records on top which i want to delete?
Please guide me.
Regards,
RHHi,
While doing recording check for Filter button available for the table control, if it available then do the recording for the same.
Once it is done while passing the data from internal table put the value into Filter field.
Hope it resolves your issue.
Thanks & Regards.
Nagaraj Kalbavi -
How to delete record from table control using BDC?
Hello friends,
I am running a BDC program to delete records.
I have file with following records and i got these records into t_itab.
Material Plant Start date End date Cost
MQ100001 S001 09/01/2008 09/31/2008 55.00
MQ100004 S002 09/01/2008 09/31/2008 56.00
MQ100008 S003 09/01/2008 09/31/2008 57.00
Now, I have BDC transaction in which table control screen which contains following structure.
MQ100001 S001 09/01/2008 09/31/2008 55.00
MQ100002 S002 09/01/2008 09/31/2008 56.00
MQ100004 S003 09/01/2008 09/31/2008 47.00
MQ100005 S004 09/01/2008 09/31/2008 25.00
MQ100006 S012 09/01/2008 09/31/2008 76.00
MQ100007 S033 09/01/2008 09/31/2008 17.00
MQ100008 S011 09/01/2008 09/31/2008 95.00
MQ100009 S002 09/01/2008 09/31/2008 46.00
I have recorded from SHDB in which first record will be delete.
So, when i loop through t_itab,instead of deleting MQ100001,MQ100004 and MQ100008 from BDC screen,
it is deleting MQ100001,MQ100002 and MQ100004 (first record for each process ).
Which i don't want to.
Is there any facility in BDC to put records on top which i want to delete?
Please guide me.
Regards,
RHOne option is to identify the table and find out the location as the number of row which should be deleted from the table and then in the bdc program instead of postioning the cursor on the row 1(using the statement perform bdc_cursor ....(01)), replace the 01 with the row number.
Second option is that if a filter control is available for the table control, then filter the data each and every time with the material number to be deleted and then delete the first row.
Regards
Farzan -
What are the importent transaction codes in edi
what are the importent transaction codes in edi
hi,
=>sale - ALE Customizing
=>bale - Distribution Administration (ALE)
=>wedi - IDOC Type and EDI Basis
=>shdb - BDC (Transaction Recorder)
=>lsmw - LSMW
=>bapi - BAPI
=>spau - Display Modified DE Objects
=>spdd - Display Modified DDIC Objects
=>sara - central idoc archiving
=>stms - Transport Management System
=>wedi - IDOC Type and EDI Basis (IDOC Configuration)
=>bd21 - Analyze change pointers - create IDOC from change pointer
=>bd10 - Send Material Master
=>bd12 - Send Customer Master
=>bd14 - Send Vendor Master
=>bd50 - Activate Change Pointer for Message Type
=>bd55 - Conversion rule user exit (Link conversion rule user exit to the different system \ partner combinations)
=>bd54 - Maintain Logical Systems
=>bd71 - Distribute Customer Model
=>bd87 - Process Inbound IDOCs
=>bd88 - Process Outbound IDOCs
=>bdm2 - Cross-system IDOC Reporting
=>bdm7 - ALE Audit - statistical analyses
=>bdm8 - ALE Audit - sending confirmations
=>bd61 - Activate Change Pointer generally
=>bmv0 - Direct Input Data Transfer Administration
=>rz04 - Operation Mode
=>rz12 - RFC Server Group Maintenance
=>sar3 - Archiving object customizing
=>s001 - SAPoffice Inbox
=>s010 - Standards Texts (SAP Script)
=>se01 - Transport Organizer (Extended View - Performing and managing the transport of development object across different systems)
=>se09 - Transport (Workbench) Organizer (Controlling and keeping track of Development work and Development Objects)
=>se78 - Administration of Form Graphics (Import Graphics into SAP System)
=>se84 - ABAP Repository Information (search for SAP objects)
=>su01 - User Maintenance (Security)
=>su02 - Maintain Authorization Profiles
=>su03 - Maintain Authorizations
=>sm36 - Background Job Scheduling
=>sm37 - Background Job Monitoring (display batch jobs)
=>sm31 - Table Maintenance
=>sm30 - Calling View Maintenance
=>sm35 - Batch Input Monitoring (Error Logs)
=>sm50 - Process Overview
=>sm58 - Transactional RFC Monitoring
=>sm59 - Maintain RFC Destinations (Define RFC Configuration)
=>snro - Number Range Objects (for IDOCs)
=>we02 - Display IDOC
=>we05 - IDOC lists
=>we07 - IDOC statistics
=>we12 - Inbound processing of outbound file - convert outbound to inbound file
=>we14 - Process (dispatch) IDOCs through Port - RSEOUT00
=>we15 - Outbound IDOC from NAST - message control
=>we16 - Inbound File
=>we18 - Generate status file
=>we19 - Test tool
=>we20 - Add new Message Type to Partner Profile
=>we21 - Maintain Port Definition
=>we30 - IDOC Type development
=>we31 - IDOC Segment development
=>we41 - Process Code Outbound
=>we42 - Process Code Inbound
=>we46 - IDoc Administration
=>we47 - Status Code Maintenance
=>we57 - Assign function module to logical message and IDoc type
=>we63 - IDOC Type for Parser Output
=>we82 - Assign IDOC to Message Type
=>we60 - IDOC Documentation - IDOC Types
=>we61 - IDOC Documentation - IDOC Record Types
=>we81 - Create new IDOC Message Types
=>we82 - Assign IDOC to Message Type
=>pa20 - Display HR Master Data
=>pa30 - Maintain HR Master Data
=>bd59 - Create and assign Filter Object Type for Message Type
=>bd64 - Maintenance of ALE or any other Distribution Model
Hope this helps, Do reward. -
How to return the result ( fields ) form using the BDC in background mode ?
hi,
I am now having to develop a sub routines for executing the transaction COR1 using BDC ( transaction SHDB ) , in the FORM i pass the 4 params for the fields of the screens of the transaction ( COR1 is used for creating the process order ) , and at last i have to take the number of the process order that has been created by the transaction , how can i do that , if we can no , in which table it is contained ( AUFNR ) ? .
In fact , i use the CALL TRANSACTION 'COR1' USING BDCDATA......
so , if you please to help me resolve this problem ( it is really urgent )...
Thank you so much .Thank you so much for your reply , I think that it would be very useful to me .
Hi Vijay Sai , i have used the itab TYPE BDCMSGCOLL for calling the transaction but just for taking the error messages , so as you say , it contains all the values of the fields including AUFNR ( which i need to get the its value after creating with COR1 ) .......if it is right , we just need to access the new value by using the query at the internal table just like :
LOOP AT itab INTO wa.
if wa-fname = 'AUFNR' .
res = ws-fval .
ENDIF.
Is that right ?
Maybe you are looking for
-
Can anyone tell me how I can convert my old IMAC from "dial up" to go on the internet as high speed? I have an ISP provider for a more modern computer that I own, but I really would like to use my old IMAC on the internet as well? How can I make it c
-
Working with different versions of FCP
My apologies if this is answered somewhere else but is there any way to work on a newer version of FCP then take that project to an older version? We have 5.1 at home but the workplace has 5.0. I'd like to do some work at home and am not sure how tak
-
Question about using Logic with guitar on stage. HELP!
Hello, I'm a guitarist. I would need some advises about using Logic in a live situation.. How do you move from one track to the other using the keyboard? Could that action be controlled by some kind of footswitch? Also, the REC button has to be alway
-
Remove Information message for maximum rates check program
When we set a maximum rate, we put that a business reason is required. This is working correctly but I am getting an information message u201CIf necessary, split up the receipt to not exceed the maximum rateu201D . The customer would like to remove t
-
Prints Garbled Text with HP845C
My Garbled Text problem: My MacBook is back from Applecare after it went dead, and the internal hard disk was wiped clean by them as I requested, and in checking completed print jobs, I see that they did try printing a document or two after reformatt