08-11-2008 12:33 PM
Hi guys,
can any body gimme the code of call tranaction method.
Thanks in advance.
regards,
chakkolthi,
08-11-2008 12:37 PM
Hi,
Check this below code, It is a BDC using call transaction method for creating domain.
report YH_calltransaction.
data:
t_messages like
standard table
of bdcmsgcoll.
data:
fs_messages type bdcmsgcoll.
data:
t_bdcdata like
standard table
of bdcdata.
data:
fs_bdcdata type bdcdata,
w_msg(70).
clear fs_bdcdata.
fs_bdcdata-program = 'SAPMSRD0'.
fs_bdcdata-dynpro = '0102'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'RSRD1-DOMA'.
fs_bdcdata-fval = 'X'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-fnam = 'RSRD1-DOMA_VAL'.
fs_bdcdata-fval = 'YH1151_CALL2'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'ADD'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'DD01D-DDTEXT'.
fs_bdcdata-fval = 'Domain_call'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-fnam = 'DD01D-DATATYPE'.
fs_bdcdata-fval = 'CHAR'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-fnam = 'DD01D-LENG'.
fs_bdcdata-fval = '8'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = '/00'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'WB_SAVE'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSTRD'.
fs_bdcdata-dynpro = '0100'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'TEMP'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'WB_ACTIVATE'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSEWORKINGAREA'.
fs_bdcdata-dynpro = '0205'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'WEIT'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'BACK'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPMSRD0'.
fs_bdcdata-dynpro = '0102'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'BACK'.
append fs_bdcdata to t_bdcdata.
call transaction 'SE11' using t_bdcdata mode 'N' 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 = w_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.
write:/ w_msg.
endloop.
Regards,
Sujit
08-11-2008 12:37 PM
Hi,
Check this below code, It is a BDC using call transaction method for creating domain.
report YH_calltransaction.
data:
t_messages like
standard table
of bdcmsgcoll.
data:
fs_messages type bdcmsgcoll.
data:
t_bdcdata like
standard table
of bdcdata.
data:
fs_bdcdata type bdcdata,
w_msg(70).
clear fs_bdcdata.
fs_bdcdata-program = 'SAPMSRD0'.
fs_bdcdata-dynpro = '0102'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'RSRD1-DOMA'.
fs_bdcdata-fval = 'X'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-fnam = 'RSRD1-DOMA_VAL'.
fs_bdcdata-fval = 'YH1151_CALL2'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'ADD'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'DD01D-DDTEXT'.
fs_bdcdata-fval = 'Domain_call'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-fnam = 'DD01D-DATATYPE'.
fs_bdcdata-fval = 'CHAR'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-fnam = 'DD01D-LENG'.
fs_bdcdata-fval = '8'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = '/00'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'WB_SAVE'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSTRD'.
fs_bdcdata-dynpro = '0100'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'TEMP'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'WB_ACTIVATE'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSEWORKINGAREA'.
fs_bdcdata-dynpro = '0205'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'WEIT'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'BACK'.
append fs_bdcdata to t_bdcdata.
clear fs_bdcdata.
fs_bdcdata-program = 'SAPMSRD0'.
fs_bdcdata-dynpro = '0102'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'BACK'.
append fs_bdcdata to t_bdcdata.
call transaction 'SE11' using t_bdcdata mode 'N' 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 = w_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.
write:/ w_msg.
endloop.
Regards,
Sujit
08-11-2008 12:37 PM
Hi deepak,
I am sending one link in that you can find the code.
i think its very useful to you.
http://www.sapdevelopment.co.uk/bdc/bdc_ctcode.htm
regards,
Jayan.
08-11-2008 12:52 PM
Hi!
Have a look at this transaction code. I'm uploading the names of domain in internal table t_domain from a txt file on presentation sever. After that I'm creating multiple domains using Call transaction.
REPORT z_calltransaction1.
DATA:
BEGIN OF fs_domain,
dom TYPE bdcdata-fval,
END OF fs_domain,
w_line TYPE i,
w_idx TYPE i VALUE 1.
DATA:
t_domain LIKE
STANDARD TABLE
OF fs_domain.
DATA: t_msg LIKE
STANDARD TABLE
OF bdcmsgcoll.
DATA: fs_msg TYPE bdcmsgcoll,
w_msg(80).
DATA: fs_bdcdata TYPE bdcdata.
DATA:
t_bdcdata LIKE
STANDARD TABLE
OF bdcdata.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'C:\Documents and Settings\ABC\Desktop\Domain.txt'
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = t_domain
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.
ELSE.
WRITE: 'UPLOAD SUCCESSFUL'.
ENDIF.
LOOP AT t_domain INTO fs_domain.
CLEAR fs_bdcdata.
fs_bdcdata-program = 'SAPMSRD0'.
fs_bdcdata-dynpro = '0102'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'RSRD1-DOMA'.
fs_bdcdata-fval = 'X'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-fnam = 'RSRD1-DOMA_VAL'.
fs_bdcdata-fval = fs_domain-dom.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'ADD'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'DD01D-DDTEXT'.
fs_bdcdata-fval = 'TEST_DOMAIN'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-fnam = 'DD01D-DATATYPE'.
fs_bdcdata-fval = 'CHAR'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-fnam = 'DD01D-LENG'.
fs_bdcdata-fval = '10'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = '/00'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'WB_SAVE'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-program = 'SAPLSTRD'.
fs_bdcdata-dynpro = '0100'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'TEMP'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'WB_CHECK'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'WB_ACTIVATE'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-program = 'SAPLSEWORKINGAREA'.
fs_bdcdata-dynpro = '0205'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'WEIT'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-program = 'SAPLSD01'.
fs_bdcdata-dynpro = '1200'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'BACK'.
APPEND fs_bdcdata TO t_bdcdata.
CLEAR fs_bdcdata.
fs_bdcdata-program = 'SAPMSRD0'.
fs_bdcdata-dynpro = '0102'.
fs_bdcdata-dynbegin = 'X'.
fs_bdcdata-fnam = 'BDC_OKCODE'.
fs_bdcdata-fval = 'BACK'.
APPEND fs_bdcdata TO t_bdcdata.
CALL TRANSACTION 'SE11' USING t_bdcdata MODE 'N' MESSAGES INTO t_msg.
CLEAR fs_domain.
REFRESH t_bdcdata.
ENDLOOP.
LOOP AT t_msg INTO fs_msg.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = fs_msg-msgid
lang = sy-langu
no = fs_msg-msgnr
v1 = fs_msg-msgv1
v2 = fs_msg-msgv2
v3 = fs_msg-msgv3
v4 = fs_msg-msgv4
IMPORTING
msg = w_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.
WRITE: / w_msg.
ENDLOOP.
Regards
Abhijeet