WHY BDC for infotypes?
Hi Gurus!
Was wondering when is it obligatory to use BDC instead of function module to upload data?
Aint it so that this function module HR_INFOTYPE_OPERATION works fine even when the infotype is enhanced?
Reward points for good answers.
Regards
Hi,
Sometimes BDC is required instead of FM 'HR_INFOTYPE_OPERATION', cause the infotype might be using some other include infotypes or strucutres for maintaining the data. for examples :
1. Infotype 25(Appraisals), the data is stored in some other tables hence the above FM will not work.
2.Infotype 0045(Loans) stored the payment details in IT 78 which cannot be update simultaneoulsy along with IT 0045,you need to call above FM twice for both IT 45 & IT 78, incase any one gives error you need to again call the same FM for deletion.
In all case where data is stored in different table rather than corresponing infotype table,I doubt the above FM will work. Hope this justifies.
Regards,
Dadarao.
Similar Messages
-
HR ABAP How to Write BDC For Infotype 0586
Hi Experts
Can Any One tell me how to write BDC for Infotype 0586 and also 585.
If we enter into the maintaining Screen, the lines in the Screen will dynamically changing depending on the values.
When I am doing recording , If I press page down after entering values in top lines, the lines are changing and the records are not updating Correctly.
I need to write BDC to Create Change.
Can any one please help me in this regard?
Thanks in Advance.
Regards
Avinash.http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
http://www.google.co.in/search?hl=en&q=SAPBDCtable+control&meta=
http://www.sap-basis-abap.com/abap/handling-table-control-in-bdc.htm
http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm -
hi
I have to do bdc for infotype 581. The manual senario for this is after entering data in 581 and if i click save button it will save the data and it will go to infotype 8 screen. There it will populate the hra and value in wagetype and amount automatically. i will save that too.
but when i did this in bdc, after entering the data in 581 and clicking the save button it is not going to infotype 8 screen.
how can i store that hra in infotype 8 for that particular PERNR.
pls send the solutions for this
thanks in advance to all who will helpHi,
When you are using BDC it will skip infotype 8. You should again upload infotype 8 for HRA.
Regards,
Ramu N. -
Hi,
I am trying to record a BDC for Infotype 0583 .
During manual creation , i am taken to the Infortpe 8 screen from the infotype 583 screen.
While recording through SHDB this is not happening. I am not taken to the Infotype 8 screen at all. The recording stops at the infotyp 0583 screen itself ,after I press the save buton.
Need some help guys.....
Regards,
Salishcheck this sample program
https://www.sdn.sap.com/irj/sdn/wiki?path=/pages/viewpage.action&pageid=13160
Regards
prabhu -
BDC for infotype 591??
HI
Can any1 send me BDC for infotype 591..had trouble with table control!!
Points will b suitably rewarded!!
Regards
GunjanHi Gunajn,
I am not connected to SAP now .. but this program should be fairly simple.. Use the function module GUI_UPLOAD or the other available OO methods to get your EXECL file into an internal table. loop at this table fill the p0591 record structure first say
p0591-pernr = itab-pernr.
p0591-infty = '0591'.
p0591-begda = itab-begda.
p0591-endda = itab-endda.
and so on fill up whatvevr fields you want, and then update infotype 0591 using std function module
call function 'HR_INFOTYPE_OPERATION'
exporting
infty = '0591'
number = itab-pernr
record = p0591
validityend = p0591-endda
validitybegin = p0591-begda
operation = 'INS'
tclas = 'A'
importing
return = rec_return.
the structure rec_return will help you trap errors if any. Start on these lines and paste your code if you still have issues. Your issue will sure be resolved on this forum.
Regards,
Suresh Datti.
Message was edited by: Suresh Datti -
Error in BDC for Infotype 0589
Hi friends,
I have developed a BDC program for Infotype 0589. After executing the program to upload data from file, I am getting error message: Field Q0589-ANZHL(7) input value is longer than screen field
Here I am adding my Sample code also.
REPORT ZTEST_0589.
PARAMETERS :
p_file TYPE rlgrap-filename. " Accepts File Name
*" Type declarations...................................................
TYPES :
BEGIN OF type_s_it0589,
pernr TYPE rp50g-pernr, " Personnel Number
inftyp TYPE rp50g-choic, " Infotype
begda TYPE p0589-begda, " Begin Date
endda TYPE p0589-endda, " End Date
lga01 TYPE q0589-lgart,
betrg01 TYPE q0589-betrg,
anzhl01 TYPE q0589-anzhl,
lga02 TYPE q0589-lgart,
betrg02 TYPE q0589-betrg,
anzhl02 TYPE q0589-anzhl,
lga03 TYPE q0589-lgart,
betrg03 TYPE q0589-betrg,
anzhl03 TYPE q0589-anzhl,
lga04 TYPE q0589-lgart,
betrg04 TYPE q0589-betrg,
anzhl04 TYPE q0589-anzhl,
lga05 TYPE q0589-lgart,
betrg05 TYPE q0589-betrg,
anzhl05 TYPE q0589-anzhl,
lga06 TYPE q0589-lgart,
betrg06 TYPE q0589-betrg,
anzhl06 TYPE q0589-anzhl,
lga07 TYPE q0589-lgart,
betrg07 TYPE q0589-betrg,
anzhl07 TYPE q0589-anzhl,
lga08 TYPE q0589-lgart,
betrg08 TYPE q0589-betrg,
anzhl08 TYPE q0589-anzhl,
END OF type_s_it0589.
Work variables
DATA:
w_file TYPE string, " File Name
w_betrg(50) TYPE c, " Proposed Contribution
w_anzhl(50) TYPE c, " Actual Contribution
w_count(2) TYPE n, " Counter
w_year(4) TYPE n, " Year
w_month(2) TYPE n, " Month
w_day(2) TYPE n, " Day
w_date(10) TYPE c, " Date
w_wage(50) TYPE c, " wage
w_waget(50) TYPE c, " wage type
w_curr(12) TYPE c, " Currency
w_tabrows LIKE sy-srows VALUE 7, " Table Control rows
w_update TYPE i, " Number of Updated Records
w_failed TYPE i, " Number of Failed Records
w_0589_lines TYPE i, " Number of Records in File
w_text TYPE string. " CheckBox for considering
" Actual Contributions
Structure to hold File Data *
DATA :
fs_it0589 TYPE type_s_it0589.
Structure to hold Batch input: New table field structure *
DATA :
fs_bdcdata TYPE bdcdata.
Structure to hold Messages in the SAP System *
DATA :
fs_messages TYPE bdcmsgcoll.
Structure to hold Personnel Number, Message Type & Message Text *
DATA:
BEGIN OF fs_log,
pernr TYPE rp50g-pernr,
msgtxt(200) TYPE c,
msgtyp TYPE c,
END OF fs_log.
Structure to hold Parameter string for runtime of CALL TRANSACTION *
DATA :
fs_opt TYPE ctu_params.
Internal Table to hold File Data *
DATA :
t_it0589 LIKE
STANDARD TABLE
OF fs_it0589.
Internal Table to hold Batch input: New table field structure *
DATA :
t_bdcdata TYPE
STANDARD TABLE
OF bdcdata.
Internal Table to hold Messages in the SAP System *
DATA:
t_messages TYPE TABLE OF bdcmsgcoll.
Internal Table to hold Personnel Number, Message Type & Message Text*
DATA:
t_log LIKE
STANDARD TABLE
OF fs_log.
FORM validate .
IF p_file IS INITIAL.
MESSAGE e005(zvalid).
ENDIF. " IF P_FILE IS INITIAL.
MOVE p_file TO w_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = w_file
filetype = 'ASC'
has_field_separator = 'X'
dat_mode = 'X'
TABLES
data_tab = t_it0589
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.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF t_it0589 IS INITIAL.
MESSAGE e006(zvalid).
ENDIF. " IF T_IT0589 IS INITIAL
ENDFORM. " FORM VALIDATE
FORM f4_help .
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p_file.
ENDFORM. " FORM F4_HELP
*& Form FILL_BDCDATA
FORM fill_bdcdata .
DESCRIBE TABLE t_it0589 LINES w_0589_lines.
LOOP AT t_it0589 INTO fs_it0589.
REFRESH t_bdcdata.
REFRESH t_messages.
PERFORM bdc_dynpro USING 'SAPMP50A' '1000'.
PERFORM bdc_field USING 'RP50G-PERNR'
fs_it0589-pernr.
w_year = fs_it0589-begda+0(4).
w_month = fs_it0589-begda+4(2).
w_day = fs_it0589-begda+6(2).
CONCATENATE w_day w_month w_year INTO w_date
SEPARATED BY '.'.
PERFORM bdc_field USING 'RP50G-BEGDA'
w_date.
w_year = fs_it0589-endda+0(4).
w_month = fs_it0589-endda+4(2).
w_day = fs_it0589-endda+6(2).
CONCATENATE w_day w_month w_year INTO w_date
SEPARATED BY '.'.
PERFORM bdc_field USING 'RP50G-ENDDA'
w_date.
PERFORM bdc_field USING 'RP50G-CHOIC'
fs_it0589-inftyp.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMP50A' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=INS'.
PERFORM bdc_dynpro USING 'MP058900' '2000'.
1st Row...............................................................
ADD 1 TO w_count.
MOVE fs_it0589-lga01 TO w_wage.
PERFORM bdc_field USING 'Q0589-LGART(01)'
w_wage.
MOVE fs_it0589-betrg01 TO w_curr.
PERFORM bdc_field USING 'Q0589-BETRG(01)'
w_curr.
MOVE fs_it0589-anzhl01 TO w_curr.
PERFORM bdc_field USING 'Q0589-ANZHL(01)'
w_curr.
2nd Row...............................................................
3rd Row...............................................................
4th Row...............................................................
5th Row...............................................................
6th Row...............................................................
ADD 1 TO w_count.
IF w_count > w_tabrows .
w_count = 1.
PERFORM bdc_field USING 'BDC_OKCODE'
'P+' .
PERFORM bdc_dynpro USING 'MP058900' '2000'.
ENDIF. " IF W_COUNT > W_TABROWS
MOVE fs_it0589-lga06 TO w_curr.
CONCATENATE 'Q0589-LGART(' w_count ')' INTO w_wage.
PERFORM bdc_field USING w_wage
w_curr.
MOVE fs_it0589-betrg06 TO w_curr.
CONCATENATE 'Q0589-BETRG(' w_count ')' INTO w_betrg.
PERFORM bdc_field USING w_betrg
w_curr.
MOVE fs_it0589-anzhl06 TO w_curr.
CONCATENATE 'Q0589-ANZHL(' w_count ')' INTO w_anzhl.
PERFORM bdc_field USING w_anzhl
w_curr.
7th Row...............................................................
ADD 1 TO w_count.
IF w_count > w_tabrows .
w_count = 1.
PERFORM bdc_field USING 'BDC_OKCODE'
'P+' .
PERFORM bdc_dynpro USING 'MP058900' '2000'.
ENDIF. " IF W_COUNT > W_TABROWS
MOVE fs_it0589-lga07 TO w_curr.
CONCATENATE 'Q0589-LGART(' w_count ')' INTO w_wage.
PERFORM bdc_field USING w_wage
w_curr.
MOVE fs_it0589-betrg07 TO w_curr.
CONCATENATE 'Q0589-BETRG(' w_count ')' INTO w_betrg.
PERFORM bdc_field USING w_betrg
w_curr.
MOVE fs_it0589-anzhl07 TO w_curr.
CONCATENATE 'Q0589-ANZHL(' w_count ')' INTO w_anzhl.
PERFORM bdc_field USING w_anzhl
w_curr.
*- -- Same upto 15 rows.......
Save..................................................................
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPD'.
Back..................................................................
PERFORM bdc_dynpro USING 'MP058900' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/EBCK'.
w_count = 0.
CALL TRANSACTION 'PA30' USING t_bdcdata
OPTIONS FROM fs_opt
MESSAGES INTO t_messages.
LOOP AT t_messages INTO fs_messages.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = fs_messages-msgid
lang = sy-langu
no = fs_messages-msgnr
v1 = fs_messages-msgv1
v2 = fs_messages-msgv2
v3 = fs_messages-msgv3
v4 = fs_messages-msgv4
IMPORTING
msg = fs_log-msgtxt
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. " IF SY-SUBRC NE 0
MOVE fs_it0589-pernr TO fs_log-pernr.
MOVE fs_messages-msgtyp TO fs_log-msgtyp.
APPEND fs_log TO t_log.
CLEAR fs_log.
IF fs_messages-msgtyp EQ 'S'
AND fs_messages-msgnr EQ '102'.
ADD 1 TO w_update.
ELSEIF fs_messages-msgtyp EQ 'S'
AND fs_messages-msgnr EQ '015'
OR fs_messages-msgtyp EQ 'E'.
ADD 1 TO w_failed.
ENDIF. " IF FS_MESSAGES-MSGTYP EQ 'S'
ENDLOOP. " LOOP AT T_MESSAGES
ENDLOOP. " LOOP AT T_IT0585
WRITE :/ 'Number of Records Fetched from file'(001),
50 w_0589_lines COLOR 1,
/ 'Number of Records Updated into the database'(002),
50 w_update COLOR 1,
/ 'Number of Records Failed to update into database'(003),
50 w_failed COLOR 6 .
SKIP 3.
WRITE :/ 'Detailed Log.....'(004).
SKIP 1.
LOOP AT t_log INTO fs_log.
AT NEW pernr.
WRITE :/ fs_log-pernr COLOR 1.
ENDAT. " AT NEW PERNR
IF fs_log-msgtyp = 'E'.
WRITE :15 fs_log-msgtxt COLOR 6 INVERSE ON.
ELSE.
WRITE :15 fs_log-msgtxt.
ENDIF. " IF FS_LOG-MSGTYP = 'E'
ENDLOOP. " LOOP AT T_LOG INTO FS_LOG
ENDFORM. " FORM FILL_BDCDATA
*& Form BDC_DYNPRO
This subroutine starts new screen *
There are no interface parameters to be passed to this subroutine. *
FORM bdc_dynpro USING program dynpro.
CLEAR fs_bdcdata.
fs_bdcdata-program = program.
fs_bdcdata-dynpro = dynpro.
fs_bdcdata-dynbegin = 'X'.
APPEND fs_bdcdata TO t_bdcdata.
ENDFORM. " FORM BDC_DYNPRO
*& Form BDC_FIELD
This subroutine inserts field *
There are no interface parameters to be passed to this subroutine. *
FORM bdc_field USING fnam fval.
CLEAR fs_bdcdata.
fs_bdcdata-fnam = fnam.
fs_bdcdata-fval = fval.
APPEND fs_bdcdata TO t_bdcdata.
ENDFORM. " FORM BDC_FIELD
Thanks,
Ziad khanHi Amit,
Thaks for reply. Amit, I am new to ABAP-HR so i dont know how to use FM "HR_MAINTAIN_MASTERDATA".
Can u please explain in detail.
Thanks
Ziad -
Can any body tell me how to upload data for infotype 2011
hi gurus,
please tell me hw to create the bdc for infotype 2011.Go to SHDB and record the Tcode PA30 with Infotype 2011.
~BiSu -
Maintain texts for Infotype 0019 via ABAP.
Hi,
The issue is related to maintaining texts for Infotype 0019. I have a program below. The main problem is I am facing is for some records it inserts text in Infotype (0019) but for some it does not. Can anyone suggest why so or a way to resolve this problem ???
REPORT ytbctest009.
TABLES: pernr, pcl1.
INFOTYPES: 0019.
DATA: key LIKE pskey.
DATA: BEGIN OF ptext OCCURS 200.
DATA: line(72).
DATA: END OF ptext.
SELECTION-SCREEN BEGIN OF BLOCK abc WITH FRAME TITLE text-001.
PARAMETERS: p_pernr LIKE pernr-pernr.
SELECTION-SCREEN END OF BLOCK abc.
ptext-line = 'TEST 1'.
APPEND ptext.
ptext-line = 'Test 2'.
APPEND ptext.
ptext-line = 'Test 3'.
APPEND ptext.
rp-read-infotype p_pernr 0019 0019 '18000101' '99991231'.
SORT p0019 DESCENDING.
READ TABLE p0019 INDEX 1.
p0019-itxex = 'X'.
MOVE-CORRESPONDING p0019 TO key .
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '0019'
number = p_pernr
validityend = p0019-endda
validitybegin = p0019-begda
record = p0019
operation = 'MOD'.
EXPORT ptext TO DATABASE pcl1(tx) ID key.
Thanks in advance.Hi Rajashree,
I hope , below code will solve the problem.
<b>Main Code</b>
FUNCTION zhr_mustus_update_it0019.
*"*"Local interface:
*" IMPORTING
*" VALUE(IM_PERNR) TYPE P0019-PERNR OPTIONAL
*" VALUE(IM_USRID) TYPE PA0105-USRID OPTIONAL
*" VALUE(IM_SUBTY) TYPE P0019-SUBTY
*" VALUE(IM_TERMN) TYPE P0019-TERMN OPTIONAL
*" VALUE(IM_MNDAT) TYPE P0019-MNDAT OPTIONAL
*" VALUE(IM_BVMRK) TYPE P0019-BVMRK OPTIONAL
*" VALUE(IM_TEXT) TYPE CHAR30 OPTIONAL
*" EXPORTING
*" VALUE(EX_RETURN_MESSAGE) TYPE STRING
*" VALUE(EX_MESSAGE_ID) TYPE ARBGB
*" VALUE(EX_MESSAGE_NUMBER) TYPE MSGNR
*" EXCEPTIONS
*" SYSTEM_FAILURE
*" COMMUNICATION_FAILURE
REFRESH bdcdata.
REFRESH it_bdc_message.
* Validations
PERFORM validations USING im_usrid im_subty im_mndat
CHANGING im_pernr
g_task_date
g_rem_date.
* Return message
MOVE:
g_message TO ex_return_message,
'ZMSGHR' TO ex_message_id,
g_msgno TO ex_message_number.
* If there any error don't process
CHECK ex_return_message IS INITIAL.
* If reminder date is missing then its creation
IF im_mndat IS INITIAL.
* Fill BDC for PA30 Creation
PERFORM fill_bdc_for_creation USING im_pernr
im_subty
im_text
g_task_date
g_rem_date.
ELSE.
* Its a change, Fill BDC for PA30 change
PERFORM fill_bdc_for_change USING im_pernr
im_subty
im_termn
im_bvmrk
im_text.
ENDIF.
* Call transaction PA30
PERFORM bdc_call_transaction.
* Return message
MOVE:
g_message TO ex_return_message,
g_msgid TO ex_message_id,
g_msgno TO ex_message_number.
ENDFUNCTION.
<b>All Above Subroutines,</b>
*& Form Validations
* Validations for MUS/TUS
* -->U_USRID User id for TUS
* -->U_SUBTY Subtype 10 - MUS, 11 - TUS
* -->U_MNDAT Reminder date
* <--PERNR Person for MUS
* <--U_TASK_DATE Task date
* <--U_REM_DATE Reminder date
FORM validations USING u_usrid LIKE pa0105-usrid
u_subty LIKE p0019-subty
u_mndat LIKE p0019-mndat
CHANGING u_pernr LIKE p0019-pernr
u_task_date LIKE sy-datum
u_rem_date LIKE sy-datum.
DATA:
BEGIN OF it_tmp_0019 OCCURS 0,
termn LIKE pa0019-termn,
END OF it_tmp_0019.
CLEAR g_message.
* Validations for MUS
IF u_subty EQ c_subty_10.
MOVE sy-datum TO u_task_date.
IF u_pernr IS INITIAL.
* Person number is missing
MOVE:
text-001 TO g_message,
'003' TO g_msgno.
ELSEIF u_mndat IS INITIAL.
* Its creation, check if there is already a open item
SELECT pernr
FROM pa0019
INTO u_pernr
WHERE pernr EQ u_pernr
AND subty EQ u_subty
AND bvmrk NE '2'.
EXIT.
ENDSELECT.
IF sy-subrc EQ 0.
* Throw an error if there is already a open item
MOVE:
text-006 TO g_message,
'004' TO g_msgno.
ENDIF.
ENDIF.
ENDIF.
* Validations for TUS
IF u_subty EQ c_subty_11.
IF u_usrid IS INITIAL
AND u_pernr IS INITIAL.
* User/Person number is missing
MOVE:
text-002 TO g_message,
'005' TO g_msgno.
ELSEIF NOT u_usrid IS INITIAL.
SELECT pernr
FROM pa0105
INTO u_pernr
WHERE usrid EQ u_usrid.
ENDSELECT.
IF u_pernr IS INITIAL.
* Person number is missing
MOVE:
text-001 TO g_message,
'006' TO g_msgno.
ENDIF.
ENDIF.
IF g_message IS INITIAL.
SELECT termn
FROM pa0019
INTO TABLE it_tmp_0019
WHERE pernr EQ u_pernr
AND subty EQ u_subty
AND bvmrk NE '2'.
READ TABLE it_tmp_0019 WITH KEY termn = sy-datum.
* There is no open task for today
IF sy-subrc NE 0.
MOVE sy-datum TO u_task_date.
ELSE.
* There is a open task for today, new task should be created next
* available date and reminder date is yesterday's date
SORT it_tmp_0019 DESCENDING.
READ TABLE it_tmp_0019 INDEX 1.
u_task_date = it_tmp_0019-termn + 1.
u_rem_date = sy-datum - 1.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. "VALIDATIONS
*& Form Fill_bdc_for_creation
* BDC data for creation , Transaction PA30
* -->U_PERNR Person
* -->U_SUBTY Subty MUS - 10, TUS - 11
* -->U_TEXT Text
* -->U_TASK_DATE Task date
* -->U_REM_DATE Task date
FORM fill_bdc_for_creation USING u_pernr LIKE p0019-pernr
u_subty LIKE p0019-subty
u_text TYPE char30
u_task_date LIKE sy-datum
u_rem_date LIKE sy-datum.
* Scree1
DATA:
l_task_date(10),
l_rem_date(10).
* Use system date as Task date
WRITE:
u_task_date TO l_task_date,
u_rem_date TO l_rem_date.
PERFORM bdc_dynpro USING 'SAPMP50A' '1000'.
PERFORM bdc_field USING 'RP50G-PERNR'
u_pernr.
PERFORM bdc_field USING 'RP50G-CHOIC'
'0019'.
PERFORM bdc_field USING 'RP50G-SUBTY'
u_subty.
PERFORM bdc_field USING 'BDC_OKCODE'
'=INS'.
* Screen2
PERFORM bdc_dynpro USING 'MP001900' '2000'.
PERFORM bdc_field USING 'P0019-TMART'
u_subty.
PERFORM bdc_field USING 'P0019-TERMN'
l_task_date.
IF NOT u_rem_date IS INITIAL.
PERFORM bdc_field USING 'P0019-MNDAT'
l_rem_date.
ENDIF.
PERFORM bdc_field USING 'RP50M-TEXT1'
u_text.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'MP001900' '2000'.
PERFORM bdc_field USING 'P0019-TMART'
u_subty.
PERFORM bdc_field USING 'P0019-TERMN'
l_task_date.
IF NOT u_rem_date IS INITIAL.
PERFORM bdc_field USING 'P0019-MNDAT'
l_rem_date.
ENDIF.
PERFORM bdc_field USING 'RP50M-TEXT1'
u_text.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPD'.
ENDFORM. "fill_bdc_for_creation
*& Form fill_bdc_for_change
* BDC data for change , Transaction PA30
* -->U_PERNR Person
* -->U_SUBTY subtype MUS - 10 , TUS - 11
* -->U_MNDAT Reminder date
* -->U_BVMRK Status
* -->U_TEXT Text
FORM fill_bdc_for_change USING u_pernr LIKE p0019-pernr
u_subty LIKE p0019-subty
u_termn LIKE p0019-termn
u_bvmrk LIKE p0019-bvmrk
u_text TYPE char30.
* Scree1
DATA l_termn_date(10).
WRITE u_termn TO l_termn_date.
PERFORM bdc_dynpro USING 'SAPMP50A' '1000'.
PERFORM bdc_field USING 'RP50G-PERNR'
u_pernr.
PERFORM bdc_field USING 'RP50G-CHOIC'
'0019'.
PERFORM bdc_field USING 'RP50G-SUBTY'
u_subty.
PERFORM bdc_field USING 'RP50G-BEGDA'
l_termn_date.
PERFORM bdc_field USING 'RP50G-ENDDA'
l_termn_date.
PERFORM bdc_field USING 'BDC_OKCODE'
'=MOD'.
* Screen2
PERFORM bdc_dynpro USING 'MP001900' '2000'.
PERFORM bdc_field USING 'P0019-TMART'
u_subty.
PERFORM bdc_field USING 'P0019-TERMN'
l_termn_date.
PERFORM bdc_field USING 'RP50M-TEXT1'
u_text.
PERFORM bdc_field USING 'P0019-BVMRK'
u_bvmrk.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPD'.
ENDFORM. "fill_bdc_for_change
FORM bdc_call_transaction.
DATA:
l_mode(1) TYPE c VALUE 'N',
l_lines TYPE i,
l_msgvar1 LIKE balm-msgv1,
l_msgvar2 LIKE balm-msgv2,
l_msgvar3 LIKE balm-msgv3,
l_msgvar4 LIKE balm-msgv4.
CALL TRANSACTION 'PA30' USING bdcdata MODE l_mode
MESSAGES INTO it_bdc_message.
* Get last message
DESCRIBE TABLE it_bdc_message LINES l_lines.
READ TABLE it_bdc_message INDEX l_lines.
MOVE:
it_bdc_message-msgid TO g_msgid,
it_bdc_message-msgnr TO g_msgno,
it_bdc_message-msgv1 TO l_msgvar1,
it_bdc_message-msgv2 TO l_msgvar2,
it_bdc_message-msgv3 TO l_msgvar3,
it_bdc_message-msgv4 TO l_msgvar4.
* Prepare message
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = sy-langu
msg_id = g_msgid
msg_no = g_msgno
msg_var1 = l_msgvar1
msg_var2 = l_msgvar2
msg_var3 = l_msgvar3
msg_var4 = l_msgvar4
IMPORTING
msg_text = g_message
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
MOVE text-005 TO g_message.
ENDIF.
ENDFORM. "BDC_FIELD
* Start new screen *
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
* Insert field *
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM. "BDC_FIELD
Cheers.
Santosh. -
Hello All,
A code has been written in the User exit for Tcode ME22N, Which sets the indicator on PO line item. This has been done by modifying the standard itab POT by using field symbols, because the fields to be modified are shown in display mode in the tcode ME22N and cannot be done in BDC. See the below code in user exit ZXM06U43.
DATA char(50) VALUE '(SAPLMEPO)POT[]'.
CLEAR wa_ind.
FIELD-SYMBOLS <f1> TYPE ANY.
Move memory of internal table POT to field symbol f1.
ASSIGN (char) TO <f1>.
Move content of f1 to internal table i_ind
i_ind[] = <f1> .
LOOP AT i_ind INTO wa_ind.
IF wa_ind-pstyp = '9'. " Service PO - item category
IF PO Line item has History per Purchasing Document as 'D'
Set indicators on, for the line item.
CLEAR v_cnt.
SELECT COUNT( * ) INTO v_cnt FROM ent5100
WHERE ebeln = wa_ind-ebeln
AND ebelp = wa_ind-ebelp
AND bewtp = 'D'.
IF sy-subrc = 0.
wa_ind-wepos = 'X'. " Set Goods Receipt Indicator
wa_ind-webre = 'X'. " Set GR-based IV Indicator
wa_ind-lebre = 'X'. " Set Srv-based IV Indicator
ELSE.
*End of addition SAP-20070910104025 - SL36 - D01K963369
wa_ind-wepos = ' '. " Clear Goods Receipt Indicator
wa_ind-webre = ' '. " Clear GR-based IV Indicator
wa_ind-lebre = ' '. " Clear Srv-based IV Indicator
wa_ind-xersy = ' '. " Clear ERS Indicator
ENDIF.
MODIFY i_ind FROM wa_ind INDEX sy-tabix.
ENDIF.
ENDLOOP.
<f1> = i_ind[].
ENDIF.
ENDIF.
This code is in production and has been working fine.
The requirnment is now to make this indicator work for all the Purchase order before this code has been written in the Exit. For this my functional suggests that to write a separate program using BDC for PO change and jus add a period/dot in the short text and save it. The code has been written, the user exit and the above code is getting triggrred values are updated in internal table correctly.
However the flags was not set or cleared when seen in the tcode ME22N . This works fine if the tcode me22n is run directly and not working in BDC.
I have tried with ME22 without enjoy transaction in BDC changing the POT Program to SAPMM06E. It does not work.
Please help me as why it is not uodating in the table when using BDC.
Thanks in Advance.
Senthil KumarHi All,
Any luck on this??
Thanks -
BDC for MIGO for GR OutBound Delivery( A01 & R05 ) from Movement Type 107 to 109
Hi,
I am stuck with a very typical situation need all your expertise and advices for a solution.
We are basically trying to create change the movement type from 107 to 109 through MIGO.
I have made a BDC recording for MIGO ( because we would like to track each delivery specifically under shipment , I know that there is a BAPI which is there to do this but it works fine if we do the shipment with Purchase Order as input which dont want in that manner )
Process:
1. Creating Production Order
2. Creating Purchase Order
3. Creating STO
4. Deliveries
5. PGI for Deliveries
6. Shipment for group of outbound Deliveries
I have created a z program where i am passing shipment number in the selection screen.
Then it would take all the deliveries for that shipment and pass each delivery to MIGO and process it and change the status from 107 to 109.
Interesting part here is, the code works absolutely perfect only from my ID. But when I test from other ID it is not executing, so to check where is the problem I have added mess_tab to the CALL TRANSACTION to capture what message is been populated for my ID comparing with others
Message Captured on Others ID's:
MSGID: 00
MSGNR: 344
MSGV1: SAPLMIGO
MSGV2: 1300
Message Captured on MY ID:
MSGID: MIGO
MSGNR: 012
MSGV1: 5000005802
MSGV2: (empty)
This is the problem this program is executing only on MY ID, rest all ID's it is not processing.
We have cross verified with security and basis regarding any authorization issues but nothing came up.
Please help me what could be the issue ( WHY it is processing successfully for my and WHY NOT for other ID's)
Below is the main code :
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL' " Converting Date format to DD/MM/YYYY
EXPORTING
DATE_INTERNAL = sy-datum
IMPORTING
DATE_EXTERNAL = lv_date_external
EXCEPTIONS
DATE_INTERNAL_IS_INVALID = 1
OTHERS = 2.
IF SY-SUBRC <> 0. "#EC NEEDED
* Implement suitable error handling here
ENDIF.
* Validating input shipment number with database table VTTP
SELECT VTTP~TKNUM
VTTP~TPNUM
VTTP~VBELN
FROM VTTP INNER JOIN VTTK
ON VTTP~TKNUM = VTTK~TKNUM
INTO TABLE IT_VTTP
WHERE VTTK~TKNUM = P_TKNUM
AND VTTK~STDIS = 'X'.
IF sy-subrc = 0.
* Validating all deliveries having same Delivery type or not
SELECT * FROM likp INTO TABLE it_likp FOR ALL ENTRIES IN it_vttp WHERE vbeln = it_vttp-vbeln
AND vbtyp = 'J'.
IF sy-subrc = 0.
CLEAR lv_lines.
LOOP AT it_likp INTO wa_likp.
REFRESH:it_vbfa,BDCDATA.
* Validating if Delivery Type = 109 (GR already done), or Delivery Type = 107 (must process for GR )
SELECT * FROM vbfa INTO TABLE it_vbfa WHERE vbelv = wa_likp-vbeln
* AND vbtyp_v = 'J'
AND bwart = '109'.
IF sy-subrc = 0.
lv_flag1 = 'X'.
ELSE.
SELECT * FROM vbfa INTO TABLE it_vbfa WHERE vbelv = wa_likp-vbeln
* AND vbtyp_v = 'J'
AND bwart = '107'.
IF sy-subrc NE 0.
MESSAGE 'No Deliveries with Movement Type "107" ' TYPE 'I'.
ELSE.
lv_flag2 = 'X'.
lv_lines = lv_lines + 1.
** BDC for MIGO
perform bdc_dynpro using 'SAPLMIGO' '0001'.
perform bdc_field using 'BDC_OKCODE'
'=OK_GO'.
perform bdc_field using 'GODYNPRO-ACTION'
'A01'.
perform bdc_field using 'GODYNPRO-REFDOC'
'R05'.
perform bdc_field using 'GODEFAULT_TV-BWART'
'109'.
perform bdc_field using 'BDC_CURSOR'
'GODYNPRO-OUTBOUND_DELIVERY'.
perform bdc_field using 'GODYNPRO-OUTBOUND_DELIVERY'
wa_likp-vbeln. "'80019574'.
perform bdc_field using 'GOHEAD-BLDAT'
lv_date_external. "'04/29/2015'.
perform bdc_field using 'GOHEAD-BUDAT'
lv_date_external. "'04/29/2015'.
perform bdc_field using 'GOHEAD-WEVER'
'1'.
perform bdc_dynpro using 'SAPLMIGO' '0001'.
perform bdc_field using 'BDC_OKCODE'
'=OK_POST1'.
perform bdc_field using 'GODEFAULT_TV-BWART'
'109'.
perform bdc_field using 'GOHEAD-BLDAT'
lv_date_external. "'04/29/2015'.
perform bdc_field using 'GOHEAD-LFSNR'
wa_likp-vbeln. "'0080019574'.
perform bdc_field using 'GOHEAD-BUDAT'
lv_date_external. "'04/29/2015'.
perform bdc_field using 'GOHEAD-WEVER'
'1'.
perform bdc_field using 'GODYNPRO-DETAIL_ZEILE'
' 1'.
perform bdc_field using 'GOITEM-ERFME'
'EA'.
perform bdc_field using 'GOITEM-ERFMG'
'1'.
perform bdc_field using 'GOITEM-LSMNG'
'1'.
perform bdc_field using 'GOITEM-LSMEH'
'EA'.
perform bdc_field using 'GOITEM-MIGO_ELIKZ'
'1'.
perform bdc_field using 'GOITEM-BWART'
'109'.
perform bdc_field using 'GOITEM-LGOBE'
'RX Cross-docking'.
perform bdc_field using 'BDC_CURSOR'
'GODYNPRO-DETAIL_TAKE'.
perform bdc_field using 'GODYNPRO-DETAIL_TAKE'
'X'.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'G_TIP_DONT_SHOW_AGAIN'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=OK_TIP_GO'.
PERFORM bdc_field USING 'G_TIP_DONT_SHOW_AGAIN'
'X'.
*& Avoid unncessary screens to populate while processing background.
LV_OPTIONS-DISMODE = 'N'.
LV_OPTIONS-UPDMODE = 'S'.
LV_OPTIONS-NOBINPT = 'X'.
CALL TRANSACTION 'MIGO' USING BDCDATA OPTIONS FROM LV_OPTIONS MESSAGES INTO IT_MESSTAB1 .
WAIT UP TO 1 SECONDS.
DELETE IT_MESSTAB1 WHERE MSGTYP NE 'E'.
IF IT_MESSTAB1[] IS NOT INITIAL.
APPEND LINES OF IT_MESSTAB1 TO IT_MESSTAB.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ELSE.
MESSAGE 'Shipment Number does not exists Or not Planned' TYPE 'E'.
ENDIF.
ELSE.
MESSAGE 'Please insert Shipment Number' TYPE 'E'.
ENDIF.
IF lv_flag1 = 'X' AND lv_flag2 = 'X'.
MESSAGE 'This shipment is processed with an inconsistent goods receipt' TYPE 'I'.
ELSEIF lv_flag1 = 'X'.
MESSAGE 'Shipment already been processed for these deliveries' TYPE 'I'.
ELSEIF lv_flag2 = 'X'.
lv_lines1 = lv_lines.
CONDENSE lv_lines1 NO-GAPS .
CONCATENATE lv_lines1 'Goods Receipt are posted for the shipment '
INTO lv_message SEPARATED BY space.
MESSAGE lv_message TYPE 'I'.
ENDIF.
* Display Messages from Message TAB.
DELETE ADJACENT DUPLICATES FROM IT_MESSTAB.
DATA:lv_msg TYPE string.
LOOP AT IT_MESSTAB INTO WA_MESSTAB.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = WA_MESSTAB-MSGID
NO = WA_MESSTAB-MSGNR
V1 = WA_MESSTAB-MSGV1
V2 = WA_MESSTAB-MSGV2
V3 = WA_MESSTAB-MSGV3
V4 = WA_MESSTAB-MSGV4
IMPORTING
MSG = lv_msg
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
WRITE:/ lv_msg.
ENDLOOP.
* Start new screen *
FORM BDC_DYNPRO USING PROGRAM DYNPRO. "#EC PF_NO_TYPE
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
* Insert field *
FORM BDC_FIELD USING FNAM FVAL. "#EC PF_NO_TYPE
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDFORM.
Thanks,
SriniHi Rob,
Thanks for quick reply.
I have checked the NOTE : 304122
But there in the NOTE it says ( " BAPI, BAPI_GOODSMVT_CANCEL, BAPI_GOODSMVT_CREATE, CNTL_ERROR" )
These BAPI's work perfectly for (purchase order as input type), but here out type is ( A01 & R05 ) we are giving DELIVERY NUMBER as input to MIGO.
So for this scenario we cannot use those BAPI's mentioned in the NOTE.
Also as stated earlier in the message interesting part is
"The code works absolutely perfect only from my ID. But when I test from other ID it is not executing. Code is working exactly as expected ONLY to my ID. When i try to execute the same code from another's ID it is not working"
So what do you think might be the issue? -
Problem with uploading data from excel using BDC for tcode f-02
Hi All,
I am uploading data from excel using BDC for tcode f-02. The problem here is, while recording, the values of some fields are recording twice. I dont know why it's happening so. But if I run my abap program, I have to give those fields twice in my excel sheet. Otherwise data does not upload. But it is not the feasible way. We must give those fields once in excel. Please tell me, how I can solve the issue.
With regards,
Rosaline.Hi,
in BDC each and every action is recording. If your press enter in same screen that also recorded once aging may be this is your case repeating field values will appear. we can solve the problem for repeat fields like below.
suppose in your excel having repeated field X1 X2 X3 the X2 contains repeated field X3 means delete the X3 field.
Now In your itab having X1 and X2 fields. While in the LOOP the ITAB pass the X2 field to repeated the fields.
LOOP at ITAB to WA.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'BDC_CURSOR'.
bdcdata_wa-fval = 'RM08M-EBELN'.
APPEND bdcdata_wa TO bdcdata_tab.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'INVFO-BLDAT'.
bdcdata_wa-fval = wa-X2." 1st time pass the X2 fields
APPEND bdcdata_wa TO bdcdata_tab.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = 'INVFO-BLDAT'.
bdcdata_wa-fval = wa-X2." pass the same value to repeated field
APPEND bdcdata_wa TO bdcdata_tab.
Endloop.
Hope you can understand.
Regards,
Dhina.. -
Program does BDC for transaction F-52 or f-53
Hi GuruI am functional person and working with a developer in a program . The program does BDC for transaction F-52 or f-53 . I am uploading a file ,so that the program picks it and o either F-52 or F-53 based on condition. When i try to upload the program with mulitple record ,i am getting the message difference is too large to clear . If i execute the same program without doing any changes again i can see few more records getting posted . when i do next time remaining records are posted . Insted of getting posted in one ,I have to execute the program more than once .can any one help me out why this is happening
i think you should ask your programmer to use transaction SM35 to process the BDC in foreground mode (first changing the mode to A). I would think you will see what's going wrong then. There are a few transactions that look different in foreground mode than in background and you will see where the difference is if you use this method to process
-
Problem in BDC FOR uploading more than 1 insep. typ in QM view for MM01
Hi,
I had made a BDC in which i am trying to upload the data for the QM view which is being extended in it but the problem is when the program reaches the to QM view it is only able to upload only 1 inspection Type which is working fine but when there is more than 1 it gives error that its QM View has already maintained. Please provide me guiddlines how to solve this problem .
Here's is the link to the code which i am trying to modify:-
http://docs.google.com/Edit?id=dngp529_2fxwgmrgg
Edited by: ricx .s on Apr 16, 2009 2:30 PMhi,
But is it not possible that while creating the insepction type for the first it should simultaneously take the value of 2nd inspection type .
see,ina bdc of qp01 or ca01 we can insert the values at the screen but why can't we do d same in the bdc of mm01,
I had made a bdc for tcode MM02 in which i am able to upload the data but in that there is a problem that some of the materials have the Quality managmnt View at position no. 11 or 13 of the screen.
here's is d link for the code of the program :-
http://docs.google.com/Doc?id=dngp529_3wcgnjdf3
plzz provide me guidelines how to solve it .
Edited by: ricx .s on Apr 17, 2009 9:26 AM
Edited by: ricx .s on Apr 17, 2009 10:56 AM -
Hi,
I am working on a BDC for the tcode MM02 in which i have to insert the Inspection Type in the Quality Managment View of materials. i had executed the code which was working fine,but when i executed it ,it remains on the same screen where the after specifying on the file path. I dont know why it is happening ,plzz provide me guidelines for solving this problem.report ZMM02 no standard page heading line-size 255.
include bdcrecx1.
DATA: BEGIN OF ZVBM OCCURS 0,
MATNR(18) TYPE C,
BRGEW(16) TYPE C,
NTGEW(16) TYPE C,
END OF ZVBM.
start-of-selection.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = 'c:\vijay.txt'
FILETYPE = 'DAT'
HEADLEN = ' '
LINE_EXIT = ' '
TRUNCLEN = ' '
USER_FORM = ' '
USER_PROG = ' '
DAT_D_FORMAT = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = ZVBM
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
perform open_group.
LOOP AT ZVBM.
perform bdc_dynpro using 'SAPLMGMM' '0060'.
perform bdc_field using 'BDC_CURSOR'
'RMMG1-MATNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RMMG1-MATNR'
zvbm-matnr.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
'X'.
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'MAKT-MAKTX'
'VIJAY3'.
perform bdc_field using 'MARA-MEINS'
'KG'.
perform bdc_field using 'MARA-MATKL'
'01'.
perform bdc_field using 'MARA-SPART'
'01'.
perform bdc_field using 'BDC_CURSOR'
'MARA-NTGEW'.
perform bdc_field using 'MARA-BRGEW'
zvbm-brgew.
perform bdc_field using 'MARA-GEWEI'
'KG'.
perform bdc_field using 'MARA-NTGEW'
zvbm-ntgew.
perform bdc_transaction using 'MM02'.
ENDLOOP.
perform close_group. -
Hi friends,
I am using BDC for MIRO....In screen number 6220 where POs and items are to filled in table control where i need to fill 100 records... When i am using page down option during recording it is capturing function code as /OO .But while running BDC program this function code /OO is becoming ineffective..means page down is not happening when '/OO' is executed....can anybody help me out in what can be done in solving the problem...
Regards.Hi Raju,
But our requirement is to to do the recording only till all the items are filled in the pop up screen..As no page-down button is available in the screen...i guess that is why page-down activity done from key-board is not working fine......Any suggestions from ur side........
Regards.
Maybe you are looking for
-
I have a project that I'm working on that I could use some help on. Some background on it is I'm taking data from a balance via RS-232 (can be a selectable list of balances), and then communicating with them on their own separate COM port. I need the
-
Can't download driver Photosmart D110
I am trying to download printer driver and software to my new computer which has Windows 8 but when I click download nothing happens. I have tried this with chrome and explorer. No response to either. I can't find the CD that came with the printer
-
Reg : Heading display in Adobe Forms
I have Created an appln using Adobe Forms. In Body Pages Data is displayed with Heading. I have given Flowed Option for mulitple pages display.I want the Heading to be reflected in all the body pages. I don't want to display it in Master Page bcos I
-
I can't open iTunes after install this massage iTunes has encountered a problem and needs to close. We are sorry for the inconvenience. AppName: itunes.exe AppVer: 10.6.3.25 ModName: unknown ModVer: 0.0.0.0 Offset: 08690745 help me plzzzzzz.
-
C655s5307 satelitte recovery disc problem
Hi, I'm new to the forum and have just purchased the above. I did alot of research and Toshiba seemed the best way to go. I tried to make my recovery discs 1st thing and the first disc had an error and the rest were okay. I then tried to load Kaspers