Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

call transaction

Former Member
0 Likes
745

how to run call transaction method in back ground ?give clear picture about this?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
720

Hi,

Try it like this.

Call transaction <TCODE> using <Internal table name> update 's' <b>mode 'n'</b>.

Regards

Haritha.

5 REPLIES 5
Read only

amit_khare
Active Contributor
0 Likes
720

call transaction tcode using bdctab mode N.

MODE N is for background call.

Regards,

Amit

Reward all helpful replies.

Read only

Former Member
0 Likes
720

HI JEEVITHA

seee this prog. its will help u .

copy and run this prog.

TYPES : BEGIN OF t_disp ,

vendorno(9),

compcc(13),

purchorg(14),

accgroup(15),

title(7),

name(5),

country(8),

ordcurr(14),

END OF t_disp.

TYPES : BEGIN OF t_err,

msgtyp LIKE bdcmsgcoll-msgtyp,

l_mstring(250),

END OF t_err.

DATA: i_disp TYPE STANDARD TABLE OF t_disp,

wa_disp TYPE t_disp,

i_err TYPE STANDARD TABLE OF t_err,

wa_err TYPE t_err.

----


  • data definition

----


  • Batchinputdata of single transaction

DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.

  • messages of call transaction

DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.

  • error session opened (' ' or 'X')

DATA: e_group_opened.

  • message texts

TABLES: t100.

PARAMETER : p_file1 LIKE ibipparms-path,

p_cmode LIKE ctu_params-dismode DEFAULT 'N'.

"A: show all dynpros

"E: show dynpro on error only

"N: do not display dynpro

*selction screen.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

program_name = syst-cprog

dynpro_number = syst-dynnr

IMPORTING

file_name = p_file1.

AT SELECTION-SCREEN ON p_file1.

IF p_file1 IS INITIAL.

MESSAGE 'FILE IS NOT FOUND' TYPE 'E'.

ENDIF.

START-OF-SELECTION.

PERFORM f_disp_file1.

END-OF-SELECTION.

PERFORM f_disp_errs.

&----


*& Form F_DISP_FILE1

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM f_disp_file1 .

DATA: l_filename1 TYPE string.

MOVE p_file1 TO l_filename1.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = l_filename1

filetype = 'ASC'

has_field_separator = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

data_tab = i_disp

  • 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.

*? prepare BDC data

DELETE i_disp INDEX 1.

LOOP AT i_disp INTO wa_disp .

PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF02K-KTOKK'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RF02K-LIFNR'

wa_disp-vendorno.

  • 'ztest_1'.

PERFORM bdc_field USING 'RF02K-BUKRS'

wa_disp-compcc.

  • '0001'.

PERFORM bdc_field USING 'RF02K-EKORG'

wa_disp-purchorg.

  • '0001'.

PERFORM bdc_field USING 'RF02K-KTOKK'

wa_disp-accgroup.

  • '0001'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFA1-SPRAS'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_field USING 'LFA1-ANRED'

  • wa_disp-title.

'Mr.'.

PERFORM bdc_field USING 'LFA1-NAME1'

wa_disp-name.

  • 'test name'.

PERFORM bdc_field USING 'LFA1-SORTL'

'TEST NAME'.

PERFORM bdc_field USING 'LFA1-LAND1'

wa_disp-country.

  • 'in'.

PERFORM bdc_field USING 'LFA1-SPRAS'

'en'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFA1-KUNNR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFBK-BANKS(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0210'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB1-AKONT'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB1-ZTERM'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0220'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB5-MAHNA'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0310'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFM1-WAERS'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=UPDA'.

PERFORM bdc_field USING 'LFM1-WAERS'

wa_disp-ordcurr.

  • 'inr'.

PERFORM bdc_transaction USING 'XK01'.

  • WRITE:/ WA_DISP-VendorNo,

  • WA_DISP-COMPCC,

  • WA_DISP-PURCHORG,

  • WA_DISP-ACCGROUP,

  • WA_DISP-title,

  • WA_DISP-name,

  • WA_DISP-country,

  • WA_DISP-ORDCURR.

CLEAR: wa_disp.

REFRESH bdcdata.

ENDLOOP.

ENDFORM. " F_DISP_FILE1

----


  • 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

&----


*& Form bdc_transaction

&----


  • text

----


  • -->P_0322 text

----


FORM bdc_transaction USING tcode.

DATA: l_mstring(480),

l_subrc LIKE sy-subrc.

REFRESH messtab.

CALL TRANSACTION tcode USING bdcdata

MODE p_cmode

UPDATE 'L'

MESSAGES INTO messtab.

l_subrc = sy-subrc.

  • IF SMALLLOG <> 'X'.

  • WRITE: / 'CALL_TRANSACTION',

  • TCODE,

  • 'returncode:'(I05),

  • L_SUBRC,

  • 'RECORD:',

  • SY-INDEX.

LOOP AT messtab.

SELECT SINGLE * FROM t100 WHERE sprsl = messtab-msgspra

AND arbgb = messtab-msgid

AND msgnr = messtab-msgnr.

IF sy-subrc = 0.

l_mstring = t100-text.

IF l_mstring CS '&1'.

REPLACE '&1' WITH messtab-msgv1 INTO l_mstring.

REPLACE '&2' WITH messtab-msgv2 INTO l_mstring.

REPLACE '&3' WITH messtab-msgv3 INTO l_mstring.

REPLACE '&4' WITH messtab-msgv4 INTO l_mstring.

ELSE.

REPLACE '&' WITH messtab-msgv1 INTO l_mstring.

REPLACE '&' WITH messtab-msgv2 INTO l_mstring.

REPLACE '&' WITH messtab-msgv3 INTO l_mstring.

REPLACE '&' WITH messtab-msgv4 INTO l_mstring.

ENDIF.

CONDENSE l_mstring.

  • WRITE: / messtab-msgtyp, l_mstring(250).

*? Send this errors to err internal table

wa_err-msgtyp = messtab-msgtyp.

wa_err-l_mstring = l_mstring.

APPEND wa_err TO i_err.

ELSE.

  • WRITE: / messtab.

ENDIF.

CLEAR: messtab, wa_err.

ENDLOOP.

SKIP.

  • ENDIF.

ENDFORM. " bdc_transaction

&----


*& Form f_disp_errs

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM f_disp_errs .

SORT i_err BY msgtyp.

LOOP AT i_err INTO wa_err.

AT FIRST.

WRITE : / text-002.

ULINE.

ENDAT.

AT NEW msgtyp.

IF wa_err-msgtyp = 'S'.

WRITE : / text-003.

ULINE.

ELSEIF wa_err-msgtyp = 'E'.

WRITE : / text-001.

ULINE.

ENDIF.

ENDAT.

WRITE : / wa_err-msgtyp, wa_err-l_mstring.

CLEAR wa_err.

ENDLOOP.

ENDFORM. " f_disp_errs

Read only

Former Member
0 Likes
721

Hi,

Try it like this.

Call transaction <TCODE> using <Internal table name> update 's' <b>mode 'n'</b>.

Regards

Haritha.

Read only

Former Member
0 Likes
720

give the mode as N [no screen mode] ..........

Read only

Former Member
0 Likes
720

hi

i send u flat file values as below

Vendor No. company code Purchase Org Acc.Group title name country order currency

ztest100 0001 0001 0001 Mr. test1 in INR

ztest101 0001 0001 0001 Mr. test2 in INR

check it once u clearly understood ur doubt