I am having BDC upload problem . 2 transaction upload in one pgm.
Hi ,
I am having problems .In one BDC program that i have written. The data is plopulating the first tcode screens i.e of T Code KL01 but its not populating screen of TCode KP26.
Please can you let me the reason why the screen of t code KP26 is not getting populated correctly .
please help me with directions of where i am going wrong
The code is below .
report ZPM_ACTIVITY_UPLOAD
no standard page heading line-size 255.
*include bdcrecx1.
***************DATA DECLARATION**************************
DATA : message like bdcmsgcoll occurs 0.
DATA : bdcdata type standard table of bdcdata with header line .
data : file type string,
v_msg(255).
DATA:Begin of itab_main occurs 0,
LSTAR type CSLAZ-LSTAR,
DATAB_ANFO(10),
DATAB_ANFO type CSLAZ-DATAB_ANFO,
KTEXT type CSLAZ-KTEXT,
LTEXT type CSLAZ-LTEXT,
LEINH_CHAR type CSLAZ-LEINH_CHAR,
KSTTY type CSLAZ-KSTTY,
LATYP type CSLAZ-LATYP,
VKSTA type CSLAZ-VKSTA,
VERSN type CCSS-VERSN,
PERBL type RKPLN-PERBL,
PERBL1 type RKPLN-PERBL,
GJAHR type CCSS-GJAHR,
KOSTL type CCSS-KOSTL,
LSTAR1 type CCSS-LSTAR,
TKV type RKPLN-TKV,
End of itab_main.
Data :v_file type string.
Data :Begin of itab_KL01 occurs 0,
KL01_LSTAR type CSLAZ-LSTAR,
KL01_DATAB_ANFO(10), " type CSLAZ-DATAB_ANFO,
KL01_DATAB_ANFO type CSLAZ-DATAB_ANFO,
KL01_KTEXT type CSLAZ-KTEXT,
KL01_LTEXT type CSLAZ-LTEXT,
KL01_LEINH_CHAR type CSLAZ-LEINH_CHAR,
KL01_KSTTY type CSLAZ-KSTTY,
KL01_LATYP type CSLAZ-LATYP,
KL01_VKSTA type CSLAZ-VKSTA,
End of itab_KL01.
Data : Begin of error_itab occurs 0,
msg(255),
End of error_itab.
Data :wa_error_itab like line of error_itab.
Data : Begin of itab_KP26 occurs 0,
KP26_VERSN type CCSS-VERSN,
KP26_PERBL type RKPLN-PERBL,
KP26_PERBL1 type RKPLN-PERBL,
KP26_GJAHR type CCSS-GJAHR,
KP26_KOSTL type CCSS-KOSTL,
KP26_LSTAR type CCSS-LSTAR,
KP26_TKV type RKPLN-TKV,
End of itab_KP26.
data : l_v_tab type abap_char1
value cl_abap_char_utilities=>horizontal_tab.
data : counter type c value 0,
countere type c value 0,
counters type c value 0.
PARAMETER: p_file TYPE ibipparms-path obligatory." Needed to upload the file
At selection-screen on value-request for p_file.
Perform get_file.
start-of-selection.
perform file_upload.
Perform split_itab.
****************************************KL01
loop at itab_KL01.
refresh bdcdata.
perform bdc_dynpro using 'SAPLKMA6' '0200'.
perform bdc_field using 'BDC_CURSOR'
'CSLAZ-LSTAR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'CSLAZ-KOKRS'
'1000'.
perform bdc_field using 'CSLAZ-LSTAR'
itab_KL01-KL01_LSTAR .
perform bdc_field using 'CSLAZ-DATAB_ANFO'
itab_KL01-KL01_DATAB_ANFO.
perform bdc_field using 'CSLAZ-DATBI_ANFO'
'31.12.9999'.
perform bdc_dynpro using 'SAPLKMA6' '0299'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'BDC_CURSOR'
'CSLAZ-TARKZ'.
perform bdc_field using 'CSLAZ-KTEXT'
itab_KL01-KL01_KTEXT.
perform bdc_field using 'CSLAZ-LTEXT'
itab_KL01-KL01_LTEXT.
perform bdc_field using 'CSLAZ-LEINH_CHAR'
itab_KL01-KL01_LEINH_CHAR.
perform bdc_field using 'CSLAZ-KSTTY'
itab_KL01-KL01_KSTTY.
perform bdc_field using 'CSLAZ-LATYP'
itab_KL01-KL01_LATYP.
perform bdc_field using 'CSLAZ-VKSTA'
itab_KL01-KL01_VKSTA .
call transaction 'KL01' using BDCDATA MODE 'A' update 's' messages into message .
If sy-subrc eq 0.
counters = counters + 1.
else.
countere = countere + 1 .
perform error_msg.
wa_error_itab-msg = v_msg.
append wa_error_itab-msg to error_itab.
clear wa_error_itab-msg.
endif.
Endloop.
Loop at itab_KP26.
refresh bdcdata.
perform bdc_dynpro using 'SAPLSPO4' '0300'.
perform bdc_field using 'BDC_CURSOR'
'SVALD-VALUE(01)'.
perform bdc_field using 'BDC_OKCODE'
'=FURT'.
perform bdc_field using 'SVALD-VALUE(01)'
'1000'.
perform bdc_dynpro using 'SAPLKPP0' '1000'.
perform bdc_field using 'BDC_CURSOR'
'KPP0B-VALUE(09)'.
perform bdc_field using 'BDC_OKCODE'
'=CSUB'.
perform bdc_field using 'KPP1B-ONLY'
'X'.
perform bdc_field using 'KPP0B-VALUE(01)'
itab_KP26-KP26_VERSN .
perform bdc_field using 'KPP0B-VALUE(02)'
itab_KP26-KP26_PERBL.
perform bdc_field using 'KPP0B-VALUE(03)'
itab_KP26-KP26_PERBL1 .
perform bdc_field using 'KPP0B-VALUE(04)'
itab_KP26-KP26_GJAHR .
perform bdc_field using 'KPP0B-VALUE(06)'
itab_KP26-KP26_KOSTL .
perform bdc_field using 'KPP0B-VALUE(09)'
itab_KP26-KP26_LSTAR.
perform bdc_dynpro using 'SAPLKPP2' '0112'.
perform bdc_field using 'BDC_CURSOR'
'K-BK_0403'.
perform bdc_field using 'BDC_OKCODE'
'=CBUC'.
perform bdc_field using 'Z-BDC08(01)'
itab_KP26-KP26_TKV .
call transaction 'KP26' using BDCDATA MODE 'A' update 'S' messages into message .
If sy-subrc eq 0.
counters = counters + 1.
else.
countere = countere + 1 .
perform error_msg.
wa_error_itab-msg = v_msg.
append wa_error_itab-msg to error_itab.
clear wa_error_itab-msg.
endif.
Endloop.
counter = countere + counters.
write /: 'Total Number of Records is',counter .
Write /: 'Total Number of Successfull records',counters.
Write /: 'Total Number of error records',countere.
If countere GT 0.
Write :/'The error out record message are'.
Loop at error_itab.
write:/ error_itab-msg.
Endloop.
Endif.
*& Form file_upload
text
--> p1 text
<-- p2 text
FORM file_upload .
v_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = v_file
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = l_v_tab
TABLES
DATA_TAB = itab_main
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 <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " file_upload
*& Form split_itab
text
--> p1 text
<-- p2 text
FORM split_itab .
loop at itab_main.
MOVE itab_main-LSTAR TO itab_KL01-KL01_LSTAR.
MOVE itab_main-DATAB_ANFO TO itab_KL01-KL01_DATAB_ANFO.
MOVE itab_main-KTEXT TO itab_KL01-KL01_KTEXT.
MOVE itab_main-LTEXT TO itab_KL01-KL01_LTEXT.
MOVE itab_main-LEINH_CHAR TO itab_KL01-KL01_LEINH_CHAR.
MOVE itab_main-KSTTY TO itab_KL01-KL01_KSTTY.
MOVE itab_main-LATYP TO itab_KL01-KL01_LATYP.
MOVE itab_main-VKSTA TO itab_KL01-KL01_VKSTA.
MOVE itab_main-VERSN TO itab_KP26-KP26_VERSN.
MOVE itab_main-PERBL TO itab_KP26-KP26_PERBL.
MOVE itab_main-PERBL1 TO itab_KP26-KP26_PERBL1.
MOVE itab_main-GJAHR TO itab_KP26-KP26_GJAHR.
MOVE itab_main-KOSTL TO itab_KP26-KP26_KOSTL.
MOVE itab_main-LSTAR1 TO itab_KP26-KP26_LSTAR.
MOVE itab_main-TKV TO itab_KP26-KP26_TKV.
APPEND itab_KL01.
APPEND itab_KP26.
CLEAR itab_KL01.
CLEAR itab_KP26.
endloop.
ENDFORM. " split_itab
*& Form get_file
text
--> p1 text
<-- p2 text
FORM get_file .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = p_file.
ENDFORM. " get_file
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.
if fval <> space.
clear bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
append bdcdata.
endif.
endform. "bdc_field
*& Form error_msg
text
--> p1 text
<-- p2 text
FORM error_msg .
call function 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
lang = 'E'
IMPORTING
msg = v_msg
EXCEPTIONS
not_found = 1
others = 2.
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. " error_msg
Hi ,
I am having problems .In one BDC program that i have written. The data is plopulating the first tcode screens i.e of T Code KL01 but its not populating screen of TCode KP26.
Please can you let me the reason why the screen of t code KP26 is not getting populated correctly .
please help me with directions of where i am going wrong
The code is below .
report ZPM_ACTIVITY_UPLOAD
no standard page heading line-size 255.
*include bdcrecx1.
***************DATA DECLARATION**************************
DATA : message like bdcmsgcoll occurs 0.
DATA : bdcdata type standard table of bdcdata with header line .
data : file type string,
v_msg(255).
DATA:Begin of itab_main occurs 0,
LSTAR type CSLAZ-LSTAR,
DATAB_ANFO(10),
DATAB_ANFO type CSLAZ-DATAB_ANFO,
KTEXT type CSLAZ-KTEXT,
LTEXT type CSLAZ-LTEXT,
LEINH_CHAR type CSLAZ-LEINH_CHAR,
KSTTY type CSLAZ-KSTTY,
LATYP type CSLAZ-LATYP,
VKSTA type CSLAZ-VKSTA,
VERSN type CCSS-VERSN,
PERBL type RKPLN-PERBL,
PERBL1 type RKPLN-PERBL,
GJAHR type CCSS-GJAHR,
KOSTL type CCSS-KOSTL,
LSTAR1 type CCSS-LSTAR,
TKV type RKPLN-TKV,
End of itab_main.
Data :v_file type string.
Data :Begin of itab_KL01 occurs 0,
KL01_LSTAR type CSLAZ-LSTAR,
KL01_DATAB_ANFO(10), " type CSLAZ-DATAB_ANFO,
KL01_DATAB_ANFO type CSLAZ-DATAB_ANFO,
KL01_KTEXT type CSLAZ-KTEXT,
KL01_LTEXT type CSLAZ-LTEXT,
KL01_LEINH_CHAR type CSLAZ-LEINH_CHAR,
KL01_KSTTY type CSLAZ-KSTTY,
KL01_LATYP type CSLAZ-LATYP,
KL01_VKSTA type CSLAZ-VKSTA,
End of itab_KL01.
Data : Begin of error_itab occurs 0,
msg(255),
End of error_itab.
Data :wa_error_itab like line of error_itab.
Data : Begin of itab_KP26 occurs 0,
KP26_VERSN type CCSS-VERSN,
KP26_PERBL type RKPLN-PERBL,
KP26_PERBL1 type RKPLN-PERBL,
KP26_GJAHR type CCSS-GJAHR,
KP26_KOSTL type CCSS-KOSTL,
KP26_LSTAR type CCSS-LSTAR,
KP26_TKV type RKPLN-TKV,
End of itab_KP26.
data : l_v_tab type abap_char1
value cl_abap_char_utilities=>horizontal_tab.
data : counter type c value 0,
countere type c value 0,
counters type c value 0.
PARAMETER: p_file TYPE ibipparms-path obligatory." Needed to upload the file
At selection-screen on value-request for p_file.
Perform get_file.
start-of-selection.
perform file_upload.
Perform split_itab.
****************************************KL01
loop at itab_KL01.
refresh bdcdata.
perform bdc_dynpro using 'SAPLKMA6' '0200'.
perform bdc_field using 'BDC_CURSOR'
'CSLAZ-LSTAR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'CSLAZ-KOKRS'
'1000'.
perform bdc_field using 'CSLAZ-LSTAR'
itab_KL01-KL01_LSTAR .
perform bdc_field using 'CSLAZ-DATAB_ANFO'
itab_KL01-KL01_DATAB_ANFO.
perform bdc_field using 'CSLAZ-DATBI_ANFO'
'31.12.9999'.
perform bdc_dynpro using 'SAPLKMA6' '0299'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'BDC_CURSOR'
'CSLAZ-TARKZ'.
perform bdc_field using 'CSLAZ-KTEXT'
itab_KL01-KL01_KTEXT.
perform bdc_field using 'CSLAZ-LTEXT'
itab_KL01-KL01_LTEXT.
perform bdc_field using 'CSLAZ-LEINH_CHAR'
itab_KL01-KL01_LEINH_CHAR.
perform bdc_field using 'CSLAZ-KSTTY'
itab_KL01-KL01_KSTTY.
perform bdc_field using 'CSLAZ-LATYP'
itab_KL01-KL01_LATYP.
perform bdc_field using 'CSLAZ-VKSTA'
itab_KL01-KL01_VKSTA .
call transaction 'KL01' using BDCDATA MODE 'A' update 's' messages into message .
If sy-subrc eq 0.
counters = counters + 1.
else.
countere = countere + 1 .
perform error_msg.
wa_error_itab-msg = v_msg.
append wa_error_itab-msg to error_itab.
clear wa_error_itab-msg.
endif.
Endloop.
Loop at itab_KP26.
refresh bdcdata.
perform bdc_dynpro using 'SAPLSPO4' '0300'.
perform bdc_field using 'BDC_CURSOR'
'SVALD-VALUE(01)'.
perform bdc_field using 'BDC_OKCODE'
'=FURT'.
perform bdc_field using 'SVALD-VALUE(01)'
'1000'.
perform bdc_dynpro using 'SAPLKPP0' '1000'.
perform bdc_field using 'BDC_CURSOR'
'KPP0B-VALUE(09)'.
perform bdc_field using 'BDC_OKCODE'
'=CSUB'.
perform bdc_field using 'KPP1B-ONLY'
'X'.
perform bdc_field using 'KPP0B-VALUE(01)'
itab_KP26-KP26_VERSN .
perform bdc_field using 'KPP0B-VALUE(02)'
itab_KP26-KP26_PERBL.
perform bdc_field using 'KPP0B-VALUE(03)'
itab_KP26-KP26_PERBL1 .
perform bdc_field using 'KPP0B-VALUE(04)'
itab_KP26-KP26_GJAHR .
perform bdc_field using 'KPP0B-VALUE(06)'
itab_KP26-KP26_KOSTL .
perform bdc_field using 'KPP0B-VALUE(09)'
itab_KP26-KP26_LSTAR.
perform bdc_dynpro using 'SAPLKPP2' '0112'.
perform bdc_field using 'BDC_CURSOR'
'K-BK_0403'.
perform bdc_field using 'BDC_OKCODE'
'=CBUC'.
perform bdc_field using 'Z-BDC08(01)'
itab_KP26-KP26_TKV .
call transaction 'KP26' using BDCDATA MODE 'A' update 'S' messages into message .
If sy-subrc eq 0.
counters = counters + 1.
else.
countere = countere + 1 .
perform error_msg.
wa_error_itab-msg = v_msg.
append wa_error_itab-msg to error_itab.
clear wa_error_itab-msg.
endif.
Endloop.
counter = countere + counters.
write /: 'Total Number of Records is',counter .
Write /: 'Total Number of Successfull records',counters.
Write /: 'Total Number of error records',countere.
If countere GT 0.
Write :/'The error out record message are'.
Loop at error_itab.
write:/ error_itab-msg.
Endloop.
Endif.
*& Form file_upload
text
--> p1 text
<-- p2 text
FORM file_upload .
v_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = v_file
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = l_v_tab
TABLES
DATA_TAB = itab_main
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 <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " file_upload
*& Form split_itab
text
--> p1 text
<-- p2 text
FORM split_itab .
loop at itab_main.
MOVE itab_main-LSTAR TO itab_KL01-KL01_LSTAR.
MOVE itab_main-DATAB_ANFO TO itab_KL01-KL01_DATAB_ANFO.
MOVE itab_main-KTEXT TO itab_KL01-KL01_KTEXT.
MOVE itab_main-LTEXT TO itab_KL01-KL01_LTEXT.
MOVE itab_main-LEINH_CHAR TO itab_KL01-KL01_LEINH_CHAR.
MOVE itab_main-KSTTY TO itab_KL01-KL01_KSTTY.
MOVE itab_main-LATYP TO itab_KL01-KL01_LATYP.
MOVE itab_main-VKSTA TO itab_KL01-KL01_VKSTA.
MOVE itab_main-VERSN TO itab_KP26-KP26_VERSN.
MOVE itab_main-PERBL TO itab_KP26-KP26_PERBL.
MOVE itab_main-PERBL1 TO itab_KP26-KP26_PERBL1.
MOVE itab_main-GJAHR TO itab_KP26-KP26_GJAHR.
MOVE itab_main-KOSTL TO itab_KP26-KP26_KOSTL.
MOVE itab_main-LSTAR1 TO itab_KP26-KP26_LSTAR.
MOVE itab_main-TKV TO itab_KP26-KP26_TKV.
APPEND itab_KL01.
APPEND itab_KP26.
CLEAR itab_KL01.
CLEAR itab_KP26.
endloop.
ENDFORM. " split_itab
*& Form get_file
text
--> p1 text
<-- p2 text
FORM get_file .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = p_file.
ENDFORM. " get_file
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.
if fval <> space.
clear bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
append bdcdata.
endif.
endform. "bdc_field
*& Form error_msg
text
--> p1 text
<-- p2 text
FORM error_msg .
call function 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
lang = 'E'
IMPORTING
msg = v_msg
EXCEPTIONS
not_found = 1
others = 2.
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. " error_msg
Similar Messages
-
I am having some huge problems with my colorspace settings. Every time I upload my raw files from my Canon 5D mark II or 6D the pics are perfect in color. That includes the back of my camera, the pic viewer on my macbook pro, and previews. They even look normal when I first open them in photoshop. I will edit, save, and then realize once i've sent it to myself to test the color is WAY off. This only happens in photoshop. I've read some forums and have tried different things, but it seems to be making it worse. PLEASE HELP! Even viewing the saved image on the mac's pic viewer is way off once i've edited in photoshop. I am having to adjust all my colors by emailing myself to test. Its just getting ridiculous.
Check the color space in camera raw, the options are in the link at the bottom of the dialog box. Then when saving make sure you save it to the srgb color space when sending to others. Not all programs understand color space and or will default to srgb. That won't necessarily mean it will be accurate, but it will put it in the ballpark. Using save for web will use the srgb color space.
-
BDC upload problem in hr master
Hi,
we are facing a problem in BDC upload for hr master tcode pa40.
we want to stop bdc after 2 screens only and not process further screens. how to do this?
please help
Thanks.Hi,
If you are using Session Mode :
After 2nd screen's is porcessed Use \BEND in the ok code field of BDC TABLE.
This will work,
Regards,
Gurpreet. -
I have Iphoto '09, version 8.1.2 (424). I am having an identical problem. All my pictures are imported into Iphoto when I downloaded them from my camera. Until recently, I thought that the pictures were actually saved in the library. Since I need to crop my pictures for the web, and Iphoto doesn't do that, I purchased Photoshop Elements to do that. To my surprise, when I try to get a picture from Iphoto to Photoshop, it can't be done. That was when I realized, after wasting a lot of time, that the photos are not in the Iphoto library.
I started naming the pictures on Iphoto so I had a recognizable file name to open on Photoshop. Couldn't find it. I looked in the Backup folder and the Transfer software folder (I have a Nikon camera), and the names I entered in the Iphoto display, could not be found.
When I am trying to upload a photo to the web, I get the Finder folder showing with an active folder called "Photos" under "Media", which only displays Iphoto and PhotoBooth. This is a folder name that I cannot find in my HD anywhere when I look for it. If I edit a picture with Photoshop, I am not going to save it back to Iphoto (not sure whether it will work properly). How do I get my folder of edited photos to show when I want to upload a picture to the web?
Where (the name of the folder) do I find the pictures I see displayed on the Iphoto library, including any name changes, keywords added, and so on?See my response to your other post.
-
Performance problem with transaction log
We are having some performance problem in SAP BW 3.5 system running on MS SQL server 2000.The box is sized 63,574 MB. The transaction logs gets filled up after loading data in to a transactional cube or after doing selective deletion. The size of the transaction log is 7,587MB currently.
Basis team feels that when performing either loading or selective deletion, SQL server views it as a single transaction and doesn't commit until every record is written. And so as a result, transaction logs fills up ultimately bringing the system down.
The system log shows a DBIF error during the transaction log fill up as follows:
Database error 9002 at COM
> [9002] the log file for database 'BWP' is full. Back up the
> Transaction log for the database to free up some log space.
Function COMMIT on connection R/3 failed
Perform rollback
Can we make changes to Database to make commit action frequently? Is there any parameters we could change to reduce the packet size? Is there some setting to be changed in SQL server?
Any Help will be appreciated.if you have disk space avialable you can allocate more space to the transaction log.
-
Problem creating transactional iview for BW system
Hi gurus
We are facing one problem creating a transactional iview for a BW 3.5 system . We wanto to call transaction SU01 in our BW system using an iview. When we use SAP for html, we have all the menu on the iview , I mean the same result as if we use smen, not SU01.
And if we use SAP GUI , we are always having the same GUI Error
Sapgui 640 [Build 8986] Wed Apr 01 12:25:05 2009
: 'service '' unknown
Time Wed Apr 01 12:25:03 2009
Component NI (network interface)
Release 640
Version 37
Module ninti.c
Line 505
Method NiPGetServByName2: service '' not found
Return Code -3
System Call getservbyname_r
Counter 1
Please, can you help us?
Thanks in advance and best regards.Thanks Bala for your quick reply. I´ve tried with function module RSBB_URL_PREFIX_GET and all the settings were OK. Still the same result.
Adding more information. We have another WAS 6.40 server with different Module(we have RM and XRPM , not BW) and we are having the same problems. I am wondering if its related with some special config or activation
Maybe I´ve forgot some service activation in SICF? I´m able to reach the SMEN, but not the SU01
or I´m missing some config elsewhere?
Thanks in advance.
Best regards.
Edited by: Jose Ignacio Arlandis on Apr 2, 2009 8:41 AM -
HT1386 I AM HAVING TROUBLE UPLOADING PHOTOS FROM PC TO IPAD.
I AM HAVING TROUBLE UPLOADING PHOTOS FROM PC TO IPAD. I GET SOME PHOTOS UPLOADED AND THEN TRY TO ADD MORE.. AND ALL THE PREVIOUS ONES DISAPPEAR! THIS IS VERY FRUSTRATING. CANT I ADD NEW PHOTOS ONCE I UPLOAD ANY!
If you REALLY want to use the stock Photos (I wouldn't as it has major problems as is also explained both at http://www.iphonelife.com/blog/87/all-one-photo-viewer-roundup-70-price-drop-bes t-image-viewer and in the https://discussions.apple.com/thread/3812013?start=345&tstart=0 thread here - look directly at the first two messages), you need to ceate subfolders in parallel to the original ones. Then, the previously synched pics won't disappear.
But, again, I do NOT recommend using the built-in Photos. Using third-party apps like Photo Manager Pro is the way to go until Apple fix the issues with Photos. -
I'm having trouble uploading my macfamilyTree 7 database to iCloud. It seems stuck on 6 % I can see the storage value has changed in iCloud on my devices but I cannot see my upload or access it.
I have this problem as well and the MacFamilyTree developers have been unable to help. It appears to be related to the media attached to a family tree. If you have a family tree without any media attached then it will upload without any issues, however more than around 5MB of files seems to stop this. The file size in icloud appears correct but according to mft 7 the upload is still taking place.
If anyone has any suggestions.... -
BDC upload program for inoftypes 14 and 168
Hi All,
I am uploading IT 14 and 168 through a single BDC program. i am opening the bdc session using
BDC_OPEN_GROUP before bdc recording. my requirement is to upload IT 168 only when uploading
of IT 14 is successful. For this i am using the message table of the first upload(for IT14). if the message
type is 'S'(success) then i am uploading IT168 else i am moving it to an error internal table. Please suugest
wthr this logic is fine. Also where should i call BDC_CLOSE_GROUP. currently i am calling it after the
PERFORM for upload of infotype 168 but it is giving error "unable to open BDC_CLOSE_GROUP".
Can anyone suggest me the solution through some sample code.
i am attaching here my code for your reference.
REPORT ZUSAHR_IN_BN_E_014_168 NO STANDARD PAGE HEADING
LINE-COUNT 65 LINE-SIZE 132.
*=======================================================================
TYPE-POOLS
*=======================================================================
TYPE-POOLS: slis,
truxs.
*=======================================================================
TABLES
*=======================================================================
TABLES: pernr.
*=======================================================================
INFOTYPES
*=======================================================================
INFOTYPES: 0000, "Action
0014, "Recurring payement/deductions
0168. "Insurance plan
*=======================================================================
TYPES
*=======================================================================
TYPES : BEGIN OF t_0014_0168,
num(20) type c, "Number
actcode(1) type c, "action code
lgart LIKE p0014-lgart, "Wage Type
betrg LIKE q0014-betrg, "Amount
betrg(14) type c, "Amount
bplan LIKE p0168-bplan, "Benefit plan
bcovr like p0168-bcovr, "Insurance Option
END OF t_0014_0168,
BEGIN OF t_pernr,
pernr LIKE p0002-pernr, "personnel number
perid like p0002-perid, "SSN
END OF t_pernr,
BEGIN OF errmsg,
pernr LIKE p0014-pernr, "personnel number
messg(85), " message text
END OF errmsg,
BEGIN OF succmsg,
pernr LIKE p0014-pernr, "personnel number
messg(85), " message text
END OF succmsg.
*=======================================================================
INTERNAL TABLES
*=======================================================================
DATA : i_itab TYPE STANDARD TABLE OF t_0014_0168,
i_pernr TYPE STANDARD TABLE OF t_pernr,
i_bdcitab TYPE STANDARD TABLE OF bdcdata ,
i_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll,
i_errmsg TYPE STANDARD TABLE OF errmsg,
i_succmsg TYPE STANDARD TABLE OF succmsg.
*=======================================================================
RANGES
*=======================================================================
*=======================================================================
DATA DECLARATION
*=======================================================================
DATA : messg(85).
*=======================================================================
GLOBAL WORKAREAS
*=======================================================================
DATA : wa_itab TYPE t_0014_0168,
wa_pernr TYPE t_pernr,
wa_bdcitab TYPE bdcdata ,
wa_bdcmsgcoll TYPE bdcmsgcoll,
wa_errmsg TYPE errmsg,
wa_succmsg TYPE succmsg.
*=======================================================================
GLOBAL VARIABLES
*=======================================================================
DATA : g_n1 TYPE sy-dbcnt.
*=======================================================================
GLOBAL CONSTANTS
*=======================================================================
DATA : g_x TYPE c VALUE 'X',
g_asc TYPE char10 VALUE 'ASC',
g_xls(3) TYPE c VALUE 'XLS',
g_f TYPE c VALUE 'F',
g_1 TYPE c VALUE '1',
g_0 TYPE c VALUE '0',
g_u TYPE c VALUE 'U',
g_int(3) TYPE c VALUE 'INT',
g_raw(3) TYPE c VALUE 'RAW',
G_A(1) TYPE C VALUE 'A',
G_C(1) TYPE C VALUE 'C',
G_D(1) TYPE C VALUE 'D'.
*=======================================================================
SELECTION-SCREEN
*=======================================================================
*Block for Additional selection
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_check TYPE char1 DEFAULT 'X', "check box for test run
p_file1 TYPE rlgrap-filename OBLIGATORY, " upload file
p_file2 TYPE rlgrap-filename OBLIGATORY, " succ emp
p_file3 TYPE rlgrap-filename OBLIGATORY. " err emp
SELECTION-SCREEN END OF BLOCK b1.
*=======================================================================
AT SELECTION-SCREEN
*=======================================================================
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
PERFORM sub_file_intake.
*=======================================================================
START-OF-SELECTION
*=======================================================================
START-OF-SELECTION.
PERFORM sub_data_upload.
PERFORM GET_PERNR_SSN.
*=======================================================================
END-OF-SELECTION
*=======================================================================
END-OF-SELECTION.
*> upload the data using BDC
PERFORM sub_bdc_upload.
*> To display the contents of the input file for test run
IF p_check = space.
PERFORM sub_output.
ELSE.
*> To display in the messages after uploading the input file
PERFORM sub_output_messages.
ENDIF.
*& Form sub_file_intake
F4 on filename to accept file
--> p1 text
<-- p2 text
FORM sub_file_intake .
To provide F4 Functionality for file path
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
program_name = syst-repid
CHANGING
file_name = p_file1
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
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. " sub_file_intake
*& Form SUB_DATA_UPLOAD
Upload the input file and perform the checkings.
--> p1 text
<-- p2 text
FORM SUB_DATA_UPLOAD .
*> local variable for filename
DATA : l_file1 TYPE string.
*> assign value for file1.
l_file1 = p_file1.
*> function to upload the input file
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_file1
filetype = g_asc
has_field_separator = g_x
TABLES
data_tab = i_itab
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 <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " SUB_DATA_UPLOAD
*& Form sub_output
if program is on test run mode then display records
FORM sub_output .
*> Count the number of employee to be processed
CLEAR g_n1.
DESCRIBE TABLE i_itab LINES g_n1.
IF g_n1 NE 0.
*> if program is in test run mode then display
LOOP AT i_itab INTO wa_itab.
WRITE: / wa_itab-num,
wa_itab-lgart,
wa_itab-betrg,
wa_itab-bplan,
wa_itab-bcovr.
ENDLOOP.
ENDIF.
ENDFORM. " sub_output
*& Form sub_bdc_upload
bdc upload
FORM sub_bdc_upload .
*> Count the number of employee to be processed
CLEAR g_n1.
DESCRIBE TABLE i_itab LINES g_n1.
IF g_n1 NE 0.
PERFORM sub_open_group.
PERFORM sub_bdc_sessions.
PERFORM sub_close_group.
ELSE.
MESSAGE e003(zmsg) WITH text-021.
ENDIF.
ENDFORM. " sub_bdc_upload
*& Form sub_open_group
bdc_open_group
FORM sub_open_group .
*> group name
DATA : c_group LIKE apqi-groupid .
c_group = text-001.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = c_group
holddate = sy-datum
keep = g_x
user = sy-uname
prog = sy-cprog
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. " sub_open_group
*& Form sub_close_group
Close the BDC Session
FORM sub_close_group .
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. " sub_close_group
*& Form sub_bdc_sessions
BDC Sessions
FORM sub_bdc_sessions .
*> Local Constants
DATA: l_ctumode LIKE ctu_params-dismode VALUE 'A',
l_cupdate LIKE ctu_params-updmode VALUE 'S',
l_startdate(10) type c,
l_enddate(10) type c,
l_tcode(4) TYPE c VALUE 'PA30',
l_info(2) TYPE c VALUE '14'.
LOOP AT i_itab INTO wa_itab.
perform bdc_dynpro using 'SAPMP50A' '1000'.
IF wa_itab-actcode = G_A.
perform bdc_field using 'BDC_OKCODE'
'=INS'.
ELSEIF wa_itab-actcode = G_D.
perform bdc_field using 'BDC_OKCODE'
'=DEL'.
ELSEIF wa_itab-actcode = G_C.
perform bdc_field using 'BDC_OKCODE'
'=MOD'.
ENDIF.
perform bdc_field using 'RP50G-PERNR' wa_itab-num.
perform bdc_field using 'RP50G-TIMR6'
'X'.
perform bdc_field using 'BDC_CURSOR'
'RP50G-CHOIC'.
perform bdc_field using 'RP50G-CHOIC' l_info.
perform bdc_dynpro using 'MP001400' '2010'.
perform bdc_field using 'BDC_CURSOR'
'Q0014-BETRG'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'P0014-BEGDA'
'03/18/2008'.
perform bdc_field using 'P0014-ENDDA'
'12/31/9999'.
perform bdc_field using 'P0014-LGART' wa_itab-lgart.
perform bdc_field using 'Q0014-BETRG' wa_itab-betrg.
perform bdc_field using 'Q0014-BETRG'
wa_itab-betrg.
' 248'.
perform bdc_field using 'P0014-BETRG' wa_itab-betrg.
perform bdc_field using 'P0014-WAERS'
'USD'.
perform bdc_dynpro using 'MP001400' '2010'.
perform bdc_field using 'BDC_CURSOR'
'P0014-BEGDA'.
perform bdc_field using 'BDC_OKCODE'
'=UPD'.
perform bdc_field using 'P0014-BEGDA'
'03/18/2008'.
perform bdc_field using 'P0014-ENDDA'
'12/31/9999'.
perform bdc_field using 'P0014-LGART' wa_itab-lgart.
perform bdc_field using 'Q0014-BETRG' wa_itab-betrg.
perform bdc_field using 'P0014-BETRG' wa_itab-betrg.
perform bdc_field using 'P0014-WAERS'
'USD'.
*> refresh the message tab
REFRESH i_bdcmsgcoll.
CALL TRANSACTION l_tcode USING i_bdcitab
MODE l_ctumode
UPDATE l_cupdate
MESSAGES INTO i_bdcmsgcoll.
*> refresh the bdc data tab
REFRESH i_bdcitab.
*> store the message for this pernr
PERFORM sub_build_messages.
ENDLOOP.
ENDFORM. " sub_bdc_sessions
Start new screen *
FORM bdc_dynpro USING program dynpro.
CLEAR wa_bdcitab.
wa_bdcitab-program = program.
wa_bdcitab-dynpro = dynpro.
wa_bdcitab-dynbegin = g_x.
APPEND wa_bdcitab TO i_bdcitab.
ENDFORM. "BDC_DYNPRO
Insert field *
FORM bdc_field USING fnam fval.
IF fval <> space.
CLEAR wa_bdcitab.
wa_bdcitab-fnam = fnam.
wa_bdcitab-fval = fval.
APPEND wa_bdcitab TO i_bdcitab.
ENDIF.
ENDFORM. "BDC_FIELD
*& Form sub_build_messages
Generate the messages
FORM sub_build_messages .
*> Local Constants
DATA : l_s TYPE c VALUE 'S'.
LOOP AT i_bdcmsgcoll INTO wa_bdcmsgcoll.
*> generate the message
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = wa_bdcmsgcoll-msgid
msgnr = wa_bdcmsgcoll-msgnr
msgv1 = wa_bdcmsgcoll-msgv1
msgv2 = wa_bdcmsgcoll-msgv2
msgv3 = wa_bdcmsgcoll-msgv3
msgv4 = wa_bdcmsgcoll-msgv4
IMPORTING
message_text_output = messg
EXCEPTIONS
OTHERS = 1.
IF sy-subrc EQ 0.
*> if message type is 'S' then store in successful table
IF wa_bdcmsgcoll-msgtyp = l_s.
MOVE wa_itab-num TO wa_succmsg-pernr.
MOVE messg TO wa_succmsg-messg.
APPEND wa_succmsg TO i_succmsg.
CLEAR wa_succmsg.
PERFORM BDC_UPLOAD_168.
ELSE.
*> if message type is 'E' then store in error table
MOVE wa_itab-num TO wa_errmsg-pernr.
MOVE messg TO wa_errmsg-messg.
APPEND wa_errmsg TO i_errmsg.
CLEAR wa_errmsg.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " sub_build_messages
*& Form sub_output_messages
text
--> p1 text
<-- p2 text
FORM sub_output_messages .
IF p_check = g_x.
*> clear the count
CLEAR g_n1.
*> count the number of successful employees
DESCRIBE TABLE i_succmsg LINES g_n1.
IF g_n1 <> 0 .
*> download success file
PERFORM sub_succ_file.
*> display the successful employees
WRITE :/ text-002.
LOOP AT i_succmsg INTO wa_succmsg.
WRITE:/ wa_succmsg-pernr, wa_succmsg-messg.
ENDLOOP.
ENDIF.
*> clear the count
CLEAR g_n1.
*> count the number of error employees
DESCRIBE TABLE i_errmsg LINES g_n1.
IF g_n1 <> 0 .
*> download error file
PERFORM sub_err_file.
*> display the error employees
WRITE :/ text-003.
LOOP AT i_errmsg INTO wa_errmsg.
WRITE:/ wa_errmsg-pernr,wa_errmsg-messg.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM. " sub_output_messages
*& Form SUB_SUCC_FILE
text
--> p1 text
<-- p2 text
FORM sub_succ_file .
*> local variable for filename
DATA : l_file1 TYPE string.
*> assign value for file1.
l_file1 = p_file2.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = l_file1
filetype = g_asc
TABLES
data_tab = i_succmsg
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22.
IF sy-subrc EQ 0.
MESSAGE s003(zmsg) WITH text-006.
ENDIF.
ENDFORM. " SUB_SUCC_FILE
*& Form SUB_ERR_FILE
text
--> p1 text
<-- p2 text
FORM sub_err_file .
*> local variable for filename
DATA : l_file1 TYPE string.
*> assign value for file1.
l_file1 = p_file3.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = l_file1
filetype = g_asc
TABLES
data_tab = i_errmsg
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22.
IF sy-subrc EQ 0.
MESSAGE s003(zmsg) WITH text-007.
ENDIF.
ENDFORM. " SUB_ERR_FILE
*& Form GET_PERNR_SSN
text
--> p1 text
<-- p2 text
FORM GET_PERNR_SSN .
data : l_cnt type i.
describe table i_itab lines l_cnt.
if l_cnt ge 0.
SELECT PERNR PERID FROM PA0002 INTO table i_pernr
FOR ALL ENTRIES IN i_itab
WHERE PERID EQ i_itab-num.
IF SY-SUBRC EQ 0.
PERFORM MODIFY_TABLE.
ENDIF.
endif.
ENDFORM. " GET_PERNR_SSN
*& Form MODIFY_TABLE
text
--> p1 text
<-- p2 text
FORM MODIFY_TABLE .
LOOP AT i_itab INTO wa_itab.
READ TABLE i_pernr INTO wa_pernr WITH KEY perid = wa_itab-num.
IF SY-SUBRC EQ 0.
MOVE WA_PERNR-PERNR TO WA_ITAB-NUM.
MODIFY i_itab FROM wa_itab.
ENDIF.
ENDLOOP.
ENDFORM. " MODIFY_TABLE
*& Form BDC_UPLOAD_168
text
--> p1 text
<-- p2 text
FORM BDC_UPLOAD_168 .
PERFORM sub_open_group.
PERFORM sub_bdc_sessions_168.
PERFORM sub_close_group.
ENDFORM. " BDC_UPLOAD_168
*& Form SUB_BDC_SESSIONS_168
text
--> p1 text
<-- p2 text
FORM SUB_BDC_SESSIONS_168 .
DATA: l_ctumode LIKE ctu_params-dismode VALUE 'A',
l_cupdate LIKE ctu_params-updmode VALUE 'S',
l_sdate(10) type c,
l_edate(10) type c,
l_tcode(4) TYPE c VALUE 'PA30',
l_info(3) TYPE c VALUE '168'.
LOOP AT i_itab INTO wa_itab.
perform bdc_dynpro using 'SAPMP50A' '1000'.
IF wa_itab-actcode = G_A.
perform bdc_field using 'BDC_OKCODE'
'=INS'.
ELSEIF wa_itab-actcode = G_D.
perform bdc_field using 'BDC_OKCODE'
'=DEL'.
ELSEIF wa_itab-actcode = G_C.
perform bdc_field using 'BDC_OKCODE'
'=MOD'.
ENDIF.
perform bdc_field using 'RP50G-PERNR' wa_itab-num.
perform bdc_field using 'RP50G-TIMR6'
'X'.
perform bdc_field using 'BDC_CURSOR'
'RP50G-CHOIC'.
perform bdc_field using 'RP50G-CHOIC' l_info.
perform bdc_dynpro using 'MP016800' '2000'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'P0168-BEGDA'
'03/18/2008'.
perform bdc_field using 'P0168-ENDDA'
'12/31/9999'.
perform bdc_field using 'BDC_CURSOR'
'P0168-BCOVR'.
perform bdc_field using 'P0168-BPLAN' wa_itab-bplan.
perform bdc_field using 'P0168-BCOVR' wa_itab-bcovr.
perform bdc_field using 'Q0168-CSTDT'
'03/18/2008'.
perform bdc_field using 'Q0168-EEPER'
'2'.
perform bdc_field using 'P0168-PERIO'
'2'.
perform bdc_dynpro using 'MP016800' '2000'.
perform bdc_field using 'BDC_CURSOR'
'P0168-BEGDA'.
perform bdc_field using 'BDC_OKCODE'
'=UPD'.
perform bdc_field using 'P0168-BEGDA'
'03/18/2008'.
perform bdc_field using 'P0168-ENDDA'
'12/31/9999'.
perform bdc_field using 'P0168-BPLAN' wa_itab-bplan.
perform bdc_field using 'P0168-BCOVR' wa_itab-bcovr.
perform bdc_field using 'Q0168-CSTDT'
'03/18/2008'.
perform bdc_field using 'Q0168-EEPER'
'2'.
*> refresh the message tab
REFRESH i_bdcmsgcoll.
CALL TRANSACTION l_tcode USING i_bdcitab
MODE l_ctumode
UPDATE l_cupdate
MESSAGES INTO i_bdcmsgcoll.
*> refresh the bdc data tab
REFRESH i_bdcitab.
*> store the message for this pernr
PERFORM sub_build_messages_168.
ENDLOOP.
ENDFORM. " SUB_BDC_SESSIONS_168
*& Form SUB_BUILD_MESSAGES_168
text
--> p1 text
<-- p2 text
FORM SUB_BUILD_MESSAGES_168 .
*> Local Constants
DATA : l_s TYPE c VALUE 'S'.
LOOP AT i_bdcmsgcoll INTO wa_bdcmsgcoll.
*> generate the message
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = wa_bdcmsgcoll-msgid
msgnr = wa_bdcmsgcoll-msgnr
msgv1 = wa_bdcmsgcoll-msgv1
msgv2 = wa_bdcmsgcoll-msgv2
msgv3 = wa_bdcmsgcoll-msgv3
msgv4 = wa_bdcmsgcoll-msgv4
IMPORTING
message_text_output = messg
EXCEPTIONS
OTHERS = 1.
IF sy-subrc EQ 0.
*> if message type is 'S' then store in successful table
IF wa_bdcmsgcoll-msgtyp = l_s.
MOVE wa_itab-num TO wa_succmsg-pernr.
MOVE messg TO wa_succmsg-messg.
APPEND wa_succmsg TO i_succmsg.
CLEAR wa_succmsg.
ELSE.
*> if message type is 'E' then store in error table
MOVE wa_itab-num TO wa_errmsg-pernr.
MOVE messg TO wa_errmsg-messg.
APPEND wa_errmsg TO i_errmsg.
CLEAR wa_errmsg.
ENDIF.
ENDIF.
ENDLOOP.
Many thanks in advance!!!!
RupeshFor the IDOC perspective, you can uses CREMAS.
For the mass maintenance you still have XK99 (which also uses CREMAS internally)
True there is NO BAPI
For the BDC and the table control. Well this is not really true.
In batchinput, instead of maintaining the rows by there Number, you should select it at the first position.
OK-CODE /06 will open a selection screen SAPMF02K 2324. The result of the selection screen goes to the first line of the table control.
Of course this works only in BDC
reward points if helpful
Edited by: Alain Bacchi on Jun 18, 2008 8:48 AM -
can u send me the step by step process for a BDC program
i had given a excel sheet with field names and length .....that is to be uploaded
it is material master(MM01)
thanks in advanceHi,
for the bdc upload
step1. go to the Transaction SHDb and create a new recording for the transaction MM01 and save the recording.
step 2: from the same transaction select the recording and go the program.
Note: if you have ur file in presentation server insted of open dataset use gui_upload.
make the needed necessary changes in the coding.
i've attached the sample coding, keep that as reference and do according to your need.
REPORT zmm01_bdc
NO STANDARD PAGE HEADING LINE-SIZE 255.
INCLUDE bdcrecx1.
DATA: dataset(132) 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,
data element: MATNR
matnr_001(018),
data element: MBRSH
mbrsh_002(001),
data element: MTART
mtart_003(004),
data element: XFELD
kzsel_01_004(001),
data element: XFELD
kzsel_02_005(001),
data element: MATNR
matnr_006(018),
data element: MBRSH
mbrsh_007(001),
data element: MTART
mtart_008(004),
data element: XFELD
kzsel_01_009(001),
data element: XFELD
kzsel_02_010(001),
data element: MAKTX
maktx_011(040),
data element: MEINS
meins_012(003),
data element: MATKL
matkl_013(009),
data element: MTPOS_MARA
mtpos_mara_014(004),
data element: MAKTX
maktx_015(040),
END OF record.
DATA l_lines TYPE i .
DATA it_record LIKE TABLE OF record WITH HEADER LINE .
DATA wa_record LIKE record .
End generated data section ***
START-OF-SELECTION.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename ='C:\MM01_FILE.TXT'
filetype = 'ASC'
has_field_separator = '#'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = it_record
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 <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
PERFORM open_dataset USING dataset.
PERFORM open_group.
DO.
READ DATASET dataset INTO record.
IF sy-subrc <> 0. EXIT. ENDIF.
LOOP AT it_record INTO wa_record.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MTART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RMMG1-MATNR'
record-matnr_001.
PERFORM bdc_field USING 'RMMG1-MBRSH'
record-mbrsh_002.
PERFORM bdc_field USING 'RMMG1-MTART'
record-mtart_003.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)'
record-kzsel_01_004.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(02)'
record-kzsel_02_005.
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'
record-matnr_006.
PERFORM bdc_field USING 'RMMG1-MBRSH'
record-mbrsh_007.
PERFORM bdc_field USING 'RMMG1-MTART'
record-mtart_008.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)'
record-kzsel_01_009.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(02)'
record-kzsel_02_010.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
record-maktx_011.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-MATKL'.
PERFORM bdc_field USING 'MARA-MEINS'
record-meins_012.
PERFORM bdc_field USING 'MARA-MATKL'
record-matkl_013.
PERFORM bdc_field USING 'MARA-MTPOS_MARA'
record-mtpos_mara_014.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
record-maktx_015.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_transaction USING 'MM01'.
ENDDO.
PERFORM close_group.
PERFORM close_dataset USING dataset. -
Hi,
I am facing a problem in BDC upload for hr master data tcode pa40.
I want to stop bdc after 3 screens and i dont want to processforthe remaining screens.
Can anyone help me onthis?
Thanks in advance.Hi Anil,
I am regret to you becz i could nt tell thanks because i am full busy of my work.
Thanks a lot.
I have checked with your valuable logic. Now I am processing BDC upto two screens.
Regards,
Sreekanth -
hie gurus , can anyone help me , i have created a bdc upload for transaction MFBF repetitive manufacturing backflush
, when i upload a material with multiple production version i get an error , production version for material could not be
determined. initially its supposed to give a pop up window that allows me to select the production version, in the bdc recording so the pop window is not being called in the program for some reason i have not modified the recording
in anyway this is straight from sm35 recording to my z program :
perform bdc_dynpro using 'SAPLBARM' '0800'.
perform bdc_field using 'BDC_OKCODE'
'=GOON'.
perform bdc_field using 'RM61B-RB_BAUGR'
'X'.
perform bdc_field using 'RM61B-BUDAT'
'06.06.2011'.
perform bdc_field using 'RM61B-BLDAT'
'06.06.2011'.
perform bdc_field using 'BDC_CURSOR'
'RM61B-MATNR'.
perform bdc_field using 'RM61B-MATNR'
'900-03-000'.
perform bdc_field using 'RM61B-WERKS'
'1200'.
perform bdc_field using 'RM61B-ERFMG'
'1111'.
error screen not being called
perform bdc_dynpro using 'SAPLBARM' '0160'.
perform bdc_field using 'BDC_CURSOR'
'MKAL-VERID(02)'.
perform bdc_field using 'BDC_OKCODE'
'=GOON'.
perform bdc_field using 'RM61B-SELEK(02)'
'X'.Hi Daniel,
Please check the BAPIs available in Function group 2127 if you can use any. That way you do not have to manipulate the screens in BDC.
Regards,
Shyam -
Problem with Transaction-Duration Dialog
Hello All,
I wonder if somebody could shed a light on the problem that we're having
with transaction-duration dialog service object. The problem is this.
When we call the service object and its SQL statement fails (for
example, because of constraint violation) Forte raises AbortException.
It also clears the error stack, so we have no way to know what caused
it, original error ("ORA -... Constraint Violation") disappears. All we
get is this:
USER ERROR: Access to a load balanced router member (which is a service
object) failed for the reasons below.
Class: qqsp_AbortTransaction with ReasonCode: SP_ER_USERABORT
Error #: [601, 162]
Detected at: qqdo_LbRouter::Route at 2
Last TOOL statement: method tester.test, line 3
Error Time: Thu Jul 2 15:56:40
Distributed method called: SO_UmbrellaProxy.testAbortExc (object
name
site/sosa_sampleservice_cl0/th_testabort_cl0-bmso0x15d:0x1) from
partition
"TH_TestAbort_cl0_Client", (partitionId =
DC5B2DC0-0EA9-11D2-AFD0-5F72194BAA77:0x15d:0x2, taskId =
[DC5B2DC0-0EA9-11D2-AFD0-5F72194BAA77:0x15d.4]) in application
"Forte_cl0", pid 74 on node AANANIEV in environment archenv
Originator: SP_AO_XACTMGR
Exception occurred (locally) on partition "Forte_cl0_Client",
(partitionId
= DC5B2DC0-0EA9-11D2-AFD0-5F72194BAA77:0x15d:0x1, taskId =
[DC5B2DC0-0EA9-11D2-AFD0-5F72194BAA77:0x15d:0x1.16]) in
application
"Forte_cl0", pid 74 on node AANANIEV in environment archenv.
USER ERROR: Your transaction was aborted
Class: qqsp_AbortTransaction with ReasonCode: SP_ER_USERABORT
Error #: [402, 45]
Detected at: XactMgr.TXAbort at 1
Error Time: Thu Jul 2 15:56:40
Originator: SP_AO_XACTMGR
Exception occurred (remotely) on partition
"TH_TestAbort_cl0_Part1-router", (partitionId =
DC5B2DC0-0EA9-11D2-AFD0-5F72194BAA77:0x15b:0x9, taskId =
[DC5B2DC0-0EA9-11D2-AFD0-5F72194BAA77:0x15d:0x2.17]) in
application
"TH_TestAbort_cl0", pid 18196 on node hp9000_1 in environment
archenv.
Has anyone experienced this problem with "transaction-duration" service
object? Is there any way to find out the cause of "AbortException"? It
seems impossible to catch the AbortException on the server partition,
looks like Forte exits right away.
Everything works fine with "message-duration" dialog, unfortunately it
is not an option for us because of the way our batch programs were
designed.
Any help is greatly appreciated.
Alexander Ananiev
Claremont Technology Group
916-558-4127
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>thanks Peter for trying to help
ok, i've narrowed down the problem, it seems that when i try and save a file onto one partition of one of my ext drives it won't save to my last save dir but if i save to another partition/drive it works ok, also if i rename the 'dodgy' partition it also seems to work ok, so somehow the name of the drive has become corrupted.
anybody ever heard of this? or how i could fix this as it's a quite annoying because alot of my audio files are referenced on this partition, so itunes or Cubase (audio sequencer) can't find my files now. -
I am having trouble uploading anAperture photographic book to Apple. The first time I tried “Buy Book” theorder proceeded normally but when it came to uploading the book to Apple it"uploaded" for six hours without going through so I aborted theattempt and cancelled the order.
The second time I tried the samething happened so after nine hours I found that the "Quit Aperture"button had greyed out so I had to Force Quit. I do not know if the order wascancelled but I do not think that the upload was successful.
What can I do about this problem?I also am not able to print a book. I have Aperture on two Mac, MacBook Pro (current) and a MacPro - both printed books prior to update 3.1.3 now all I get is the spinning ball then I have to Force Quit. I tried books I have ordered in the past (trying to print a new book) and they also failed. This is not a picture problem but a problem with 3.1.3 update. I would like to print some more books and give Apple some money but can't.
Any suggestions?
Ken -
Ive reset full iPad numerous times, connected to itunes on pc and downloaded newest software and still having the same problems!! Ive already been to the apple store the 1st time this happened and was told it just needed the new software uploaded, but 1 week later the same thing started happening again. I live about 10 miles from an apple store and its right in the town center so a nightmare for parking. Cant be bothered with the hassle of going all the way there when there not much help!
problem solved after updating itunes to 10.6.3
Maybe you are looking for
-
Tri - State Checkbox in pdf form
Hi all, I'm using Adobe Acrobat 9 Standard to create forms. I want to include a tri state checkbox (Checked / Un-Unchecked / Crossed) in my form. There is an option to add checkboxes but they are only bi state ( Checked & Un Checked). Do you have any
-
Does a ibook G4 have a clock battery?
I am using the 1.2ghz ibook G4 I bought last May. Does it have a clock battery? Last night I accidently left my ibook's battery out of the unit. Then I came to it today, only to find the date and time reset. Ths has led me to believe that the ibook l
-
Hello, I have 2 location HO & Branch with call manager publisher 9.1 in HO and subscriber in branch. In HO users use E1 on VG to reach PSTN, I am planning to get E1 in Branch and I want branch users to go to PSTN by branch voice gateway, is it possib
-
Status overview iview Objective Settings & appraisals
Hi, is there a way to hide some status columns in the status overview iview of objective settings and appraisals. we tried by deactivating the available status in the appraisal template, but it does not seem to affect the iview. we would like to hide
-
My old macbook switches on briefly, makes the usual sound - then goes black and silent. It has occasionally switched itself off recently - but then come back on again after a moment a few presses of the power button. It has a new battery 4 months ago