‎2008 May 02 10:08 AM
Hi Guru,
>>I have an issue releted bdc programming.
>>I have written a bdc program (using SHDB) for 'Create Customer Master' using Tcode XD01.
>> The below code showing the coding for customer master create . and this code is working properly.
>>After executing this report i am processing the bdc session using sm35 in forground.
>> The session is running successfully with no error and status is ok (green right mark).
>>Now If i wish to check 'Log' for this session i can check by selecting the session and then pressing 'Log' button. It will show 'log overview' with date, time, session name........and then double clicking on it ,,,,, it will show details log of that session with---[Time] [Message] [Transaction] [Index] [module] [Screen] [Index] [ Type of Message] [ Message Area] [ Message No]
>>Up to this I dont have any issue
>>Now my requirment is to get all those log detail into a text file on my desktop as soon as the processing is complete.
>>So what code should i write in below bdc program to download that log details.
>>Pls help.
Regards
Saifur Rahaman
***************************START**************************
report z_xd01_new
no standard page heading line-size 255.
*include bdcrecx1.
data: begin of itab occurs 0 ,
bukrs type rf02d-bukrs,
vkorg type rf02d-vkorg,
vtweg type rf02d-vtweg,
spart type rf02d-spart,
ktokd type rf02d-ktokd,
anred type kna1-anred,
name1 type kna1-name1,
sortl type kna1-sortl,
name2 type kna1-name2,
name3 type kna1-name3,
name4 type kna1-name4,
stras type kna1-stras,
pfach type kna1-pfach,
ort01 type kna1-ort01,
pstlz type kna1-pstlz,
ort02 type kna1-ort02,
pfort type kna1-pfort,
pstl2 type kna1-pstl2,
land1 type kna1-land1,
regio type kna1-regio,
spras TYPE kna1-spras,*
telx1 type kna1-telx1,
telf1 type kna1-telf1,
telfx type kna1-telfx,
telf2 type kna1-telf2,
teltx type kna1-teltx,
knurl TYPE kna1-knurl,*
stceg type kna1-stceg,
cityc type kna1-cityc,
lzone type kna1-lzone,
niels type kna1-niels,
kukla type kna1-kukla,
akont type knb1-akont,
fdgrv type knb1-fdgrv,
vzskz type knb1-vzskz,
zterm type knb1-zterm,
awahr TYPE knvv-awahr,*
vkbur type knvv-vkbur,
waers TYPE knvv-waers,*
kalks TYPE knvv-kalks,*
versg type knvv-versg,
lprio TYPE knvv-lprio,*
kzazu TYPE knvv-kzazu,*
vsbed type knvv-vsbed,
antlf TYPE knvv-antlf,*
bokre TYPE knvv-bokre,*
ktgrd type knvv-ktgrd,
taxkd type knvi-taxkd,
end of itab.
data: bdcdata like bdcdata occurs 0 with header line.
data: saif like apqi-groupid value 'sai'.
start-of-selection.
call function 'GUI_UPLOAD'
exporting
filename = 'c:/1.txt'
filetype = 'ASC'
has_field_separator = '|'
HEADER_LENGTH = 0*
READ_BY_LINE = 'X'*
DAT_MODE = ' '*
CODEPAGE = ' '*
IGNORE_CERR = ABAP_TRUE*
REPLACEMENT = '#'*
CHECK_BOM = ' '*
NO_AUTH_CHECK = ' '*
IMPORTING*
FILELENGTH =*
HEADER =*
tables
data_tab = 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.
call function 'BDC_OPEN_GROUP'
exporting
client = sy-mandt
DEST = FILLER8*
group = saif
HOLDDATE = FILLER8*
keep = 'X'
user = sy-uname
RECORD = FILLER1*
prog = sy-cprog
IMPORTING*
QID =*
EXCEPTIONS*
CLIENT_INVALID = 1*
DESTINATION_INVALID = 2*
GROUP_INVALID = 3*
GROUP_IS_LOCKED = 4*
HOLDDATE_INVALID = 5*
INTERNAL_ERROR = 6*
QUEUE_ERROR = 7*
RUNNING = 8*
SYSTEM_LOCK_ERROR = 9*
USER_INVALID = 10*
OTHERS = 11*
.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.*
endif.
loop at itab.
refresh bdcdata.
clear bdcdata.
*perform open_group.
perform bdc_dynpro using 'SAPMF02D' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KTOKD'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02D-BUKRS'
itab-bukrs.
perform bdc_field using 'RF02D-VKORG'
itab-vkorg.
perform bdc_field using 'RF02D-VTWEG'
itab-vtweg.
perform bdc_field using 'RF02D-SPART'
itab-spart.
perform bdc_field using 'RF02D-KTOKD'
itab-ktokd.
perform bdc_dynpro using 'SAPMF02D' '0110'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-TELTX'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNA1-ANRED'
itab-anred.
perform bdc_field using 'KNA1-NAME1'
itab-name1.
perform bdc_field using 'KNA1-SORTL'
itab-sortl.
perform bdc_field using 'KNA1-NAME2'
itab-name2.
perform bdc_field using 'KNA1-NAME3'
itab-name3.
perform bdc_field using 'KNA1-NAME4'
itab-name4.
perform bdc_field using 'KNA1-STRAS'
itab-stras.
perform bdc_field using 'KNA1-PFACH'
itab-pfach.
perform bdc_field using 'KNA1-ORT01'
itab-ort01.
perform bdc_field using 'KNA1-PSTLZ'
itab-pstlz.
perform bdc_field using 'KNA1-ORT02'
itab-ort02.
perform bdc_field using 'KNA1-PFORT'
itab-pfort.
perform bdc_field using 'KNA1-PSTL2'
itab-pstl2.
perform bdc_field using 'KNA1-LAND1'
itab-land1.
perform bdc_field using 'KNA1-REGIO'
itab-regio.
perform bdc_field using 'KNA1-SPRAS'
'EN'.
perform bdc_field using 'KNA1-TELX1'
itab-telx1.
perform bdc_field using 'KNA1-TELF1'
itab-telf1.
perform bdc_field using 'KNA1-TELFX'
itab-telfx.
perform bdc_field using 'KNA1-TELF2'
itab-telf2.
perform bdc_field using 'KNA1-TELTX'
itab-teltx.
perform bdc_dynpro using 'SAPMF02D' '0120'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-CITYC'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNA1-STCEG'
itab-stceg.
perform bdc_field using 'KNA1-CITYC'
itab-cityc.
perform bdc_field using 'KNA1-LZONE'
itab-lzone.
perform bdc_dynpro using 'SAPMF02D' '0125'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-KUKLA'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNA1-NIELS'
itab-niels.
perform bdc_field using 'KNA1-KUKLA'
itab-kukla.
perform bdc_dynpro using 'SAPMF02D' '0130'.
perform bdc_field using 'BDC_CURSOR'
'KNBK-BANKS(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0340'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0360'.
perform bdc_field using 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0210'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-VZSKZ'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNB1-AKONT'
itab-akont.
perform bdc_field using 'KNB1-FDGRV'
itab-fdgrv.
perform bdc_field using 'KNB1-VZSKZ'
itab-vzskz.
perform bdc_dynpro using 'SAPMF02D' '0215'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-ZTERM'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNB1-ZTERM'
itab-zterm.
perform bdc_dynpro using 'SAPMF02D' '0220'.
perform bdc_field using 'BDC_CURSOR'
'KNB5-MAHNA'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0230'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-VRSNR'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0610'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_dynpro using 'SAPMF02D' '0310'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-VERSG'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVV-AWAHR'
'100'.
perform bdc_field using 'KNVV-VKBUR'
itab-vkbur.
perform bdc_field using 'KNVV-WAERS'
'INR'.
perform bdc_field using 'KNVV-KALKS'
'1'.
perform bdc_field using 'KNVV-VERSG'
itab-versg.
perform bdc_dynpro using 'SAPMF02D' '0315'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-VSBED'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVV-LPRIO'
''.
perform bdc_field using 'KNVV-KZAZU'
'X'.
perform bdc_field using 'KNVV-VSBED'
itab-vsbed.
perform bdc_field using 'KNVV-ANTLF'
'9'.
perform bdc_dynpro using 'SAPMF02D' '0320'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-KTGRD'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVV-BOKRE'
'X'.
perform bdc_field using 'KNVV-KTGRD'
itab-ktgrd.
perform bdc_dynpro using 'SAPMF02D' '1350'.
perform bdc_field using 'BDC_CURSOR'
'KNVI-TAXKD(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVI-TAXKD(01)'
itab-taxkd.
perform bdc_dynpro using 'SAPMF02D' '0324'.
perform bdc_field using 'BDC_CURSOR'
'KNVP-PARVW(01)'.
perform bdc_field using 'BDC_OKCODE'
'=UPDA'.
*perform bdc_transaction using 'XD01'.
*perform close_group.
call function 'BDC_INSERT'
exporting
tcode = 'XD01'
POST_LOCAL = NOVBLOCAL*
PRINTING = NOPRINT*
SIMUBATCH = ' '*
CTUPARAMS = ' '*
tables
dynprotab = bdcdata
EXCEPTIONS*
INTERNAL_ERROR = 1*
NOT_OPEN = 2*
QUEUE_ERROR = 3*
TCODE_INVALID = 4*
PRINTING_INVALID = 5*
POSTING_INVALID = 6*
OTHERS = 7*
.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.*
endif.
endloop.
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.
*----
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 <> NODATA.*
clear bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
append bdcdata.
ENDIF.*
endform. "BDC_FIELD
***************************END**************************
‎2008 May 02 11:33 AM
You can not have log messages in your program, since this program creates a batch inout session to be processed at a later time. Unless, you change your code to do call transaction instead and get messages into an internal table, like
CALL TRANSACTION 'XD01' USING BDCDATA MODE 'N'
MESSAGES INTO ITAB.
‎2008 May 02 11:33 AM
You can not have log messages in your program, since this program creates a batch inout session to be processed at a later time. Unless, you change your code to do call transaction instead and get messages into an internal table, like
CALL TRANSACTION 'XD01' USING BDCDATA MODE 'N'
MESSAGES INTO ITAB.