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

report in background

Former Member
0 Likes
805

Hi Experts,

how can i run report in background with out going sm35,

Pls reply with sample code ,

points will be rewarded.

Thanks,

Leena.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
752

Hi,

Go through this hope u can understand might be u dont want all the programe what i have given , just try to analyze whether is any points r useful in this .

When you generate the BDC (Batch Data Communication options define the processing mode for a batch input session) program with SHDB, you can remove a lot of unwanted fields by copying this customize abap include program. It allows you to execute the BDC program immediately without filling up those SAP generate fields. To run background, just run it as a background job.

  • Execute BDC immediately by replacing the include BDCRECX1

***INCLUDE ZBDCRECX1.

  • When you generate the program using SHDB, you can replace it

  • with this if you want to execute it immediately without having

  • to process it using SM35.

  • During testing you can used the original include.

  • For example,

  • include zbdcrecx1. "After test

  • include bdcrecx. "Before test

  • -------------------------------------

  • Declare your internal table as RECORD

  • -------------------------------------

  • for programs doing a data transfer by creating a batch-input session

  • and

  • for programs doing a data transfer by CALL TRANSACTION USING

*SELECTION-SCREEN BEGIN OF LINE.

  • PARAMETERS SESSION RADIOBUTTON GROUP CTU. "create session

  • SELECTION-SCREEN COMMENT 3(20) TEXT-S07 FOR FIELD SESSION.

  • selection-screen position 45.

  • PARAMETERS CTU RADIOBUTTON GROUP CTU DEFAULT 'X'. "call transaction

  • SELECTION-SCREEN COMMENT 48(20) TEXT-S08 FOR FIELD CTU.

*SELECTION-SCREEN END OF LINE.

PARAMETERS: SESSION NO-DISPLAY,

CTU NO-DISPLAY DEFAULT 'X'.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 3(20) TEXT-S01 FOR FIELD GROUP.

  • selection-screen position 25.

  • PARAMETERS GROUP(12). "group name of session

  • SELECTION-SCREEN COMMENT 48(20) TEXT-S05 FOR FIELD CTUMODE.

  • selection-screen position 70.

  • PARAMETERS CTUMODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.

  • "A: show all dynpros

  • "E: show dynpro on error only

  • "N: do not display dynpro

*SELECTION-SCREEN END OF LINE.

PARAMETERS: GROUP(12) NO-DISPLAY,

CTUMODE NO-DISPLAY DEFAULT 'N'.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 3(20) TEXT-S02 FOR FIELD USER.

  • selection-screen position 25.

  • PARAMETERS: USER(12) DEFAULT SY-UNAME. "user for session in batch

  • SELECTION-SCREEN COMMENT 48(20) TEXT-S06 FOR FIELD CUPDATE.

  • selection-screen position 70.

  • PARAMETERS CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L'.

  • "S: synchronously

  • "A: asynchronously

  • "L: local

*SELECTION-SCREEN END OF LINE.

PARAMETERS: USER(12) NO-DISPLAY DEFAULT SY-UNAME,

CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L' NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 3(20) TEXT-S03 FOR FIELD KEEP.

  • selection-screen position 25.

  • PARAMETERS: KEEP AS CHECKBOX. "' ' = delete session if finished

  • "'X' = keep session if finished

  • SELECTION-SCREEN COMMENT 48(20) TEXT-S09 FOR FIELD E_GROUP.

  • selection-screen position 70.

  • parameters E_GROUP(12). "group name of error-session

*SELECTION-SCREEN END OF LINE.

PARAMETERS: KEEP NO-DISPLAY,

E_GROUP(12) NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 3(20) TEXT-S04 FOR FIELD HOLDDATE.

  • selection-screen position 25.

  • PARAMETERS: HOLDDATE LIKE SY-DATUM.

  • SELECTION-SCREEN COMMENT 51(17) TEXT-S02 FOR FIELD E_USER.

  • selection-screen position 70.

  • PARAMETERS: E_USER(12) DEFAULT SY-UNAME. "user for error-session

*SELECTION-SCREEN END OF LINE.

PARAMETERS: HOLDDATE LIKE SY-DATUM NO-DISPLAY,

E_USER(12) DEFAULT SY-UNAME NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 51(17) TEXT-S03 FOR FIELD E_KEEP.

  • selection-screen position 70.

  • PARAMETERS: E_KEEP AS CHECKBOX. "' ' = delete session if finished

  • "'X' = keep session if finished

*SELECTION-SCREEN END OF LINE.

PARAMETERS: E_KEEP NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 51(17) TEXT-S04 FOR FIELD E_HDATE.

  • selection-screen position 70.

  • PARAMETERS: E_HDATE LIKE SY-DATUM.

*SELECTION-SCREEN END OF LINE.

*SELECTION-SCREEN SKIP.

PARAMETERS: E_HDATE LIKE SY-DATUM NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 1(33) TEXT-S10 FOR FIELD NODATA.

  • PARAMETERS: NODATA DEFAULT '/' LOWER CASE. "nodata

*SELECTION-SCREEN END OF LINE.

PARAMETERS: NODATA DEFAULT '/' LOWER CASE NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 1(33) FOR FIELD SMALLLOG.

  • PARAMETERS: SMALLLOG as checkbox. "' ' = log all transactions

  • "'X' = no transaction logging

*SELECTION-SCREEN END OF LINE.

PARAMETERS: SMALLLOG NO-DISPLAY.

----


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

----


  • at selection screen *

----


AT SELECTION-SCREEN.

  • group and user must be filled for create session

IF SESSION = 'X' AND

GROUP = SPACE OR USER = SPACE.

MESSAGE E613(MS).

ENDIF.

----


  • open dataset *

----


FORM OPEN_DATASET USING P_DATASET.

OPEN DATASET P_DATASET IN TEXT MODE.

IF SY-SUBRC <> 0.

WRITE: / TEXT-E00, SY-SUBRC.

STOP.

ENDIF.

ENDFORM.

----


  • close dataset *

----


FORM CLOSE_DATASET USING P_DATASET.

CLOSE DATASET P_DATASET.

ENDFORM.

----


  • create batchinput session *

  • (not for call transaction using...) *

----


FORM OPEN_GROUP.

IF SESSION = 'X'.

SKIP.

WRITE: /(20) 'Create group'(I01), GROUP.

SKIP.

  • open batchinput group

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING CLIENT = SY-MANDT

GROUP = GROUP

USER = USER

KEEP = KEEP

HOLDDATE = HOLDDATE.

WRITE: /(30) 'BDC_OPEN_GROUP'(I02),

(12) 'returncode:'(I05),

SY-SUBRC.

ENDIF.

ENDFORM.

----


  • end batchinput session *

  • (call transaction using...: error session) *

----


FORM CLOSE_GROUP.

IF SESSION = 'X'.

  • close batchinput group

CALL FUNCTION 'BDC_CLOSE_GROUP'.

WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),

(12) 'returncode:'(I05),

SY-SUBRC.

ELSE.

IF E_GROUP_OPENED = 'X'.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

WRITE: /.

WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).

ENDIF.

ENDIF.

ENDFORM.

----


  • Start new transaction according to parameters *

----


FORM BDC_TRANSACTION USING TCODE.

DATA: L_MSTRING(480).

DATA: L_SUBRC LIKE SY-SUBRC.

  • batch input session

IF SESSION = 'X'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING TCODE = TCODE

TABLES DYNPROTAB = BDCDATA.

IF SMALLLOG <> 'X'.

WRITE: / 'BDC_INSERT'(I03),

TCODE,

'returncode:'(I05),

SY-SUBRC,

'RECORD:',

SY-INDEX.

ENDIF.

  • call transaction using

ELSE.

REFRESH MESSTAB.

CALL TRANSACTION TCODE USING BDCDATA

MODE CTUMODE

UPDATE CUPDATE

MESSAGES INTO MESSTAB.

L_SUBRC = SY-SUBRC.

IF SMALLLOG <> 'X'.

  • WRITE: / 'CALL_TRANSACTION',

  • TCODE,

  • 'returncode:'(I05),

  • L_SUBRC,

  • 'RECORD:',

  • SY-INDEX.

IF SY-SUBRC = 0.

FORMAT COLOR OFF.

WRITE:/ 'Successfully Process ', MESSTAB, RECORD.

ELSE.

FORMAT COLOR COL_NEGATIVE.

WRITE:/ 'Failed Process ', MESSTAB, RECORD.

ENDIF.

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

ELSE.

WRITE: / MESSTAB.

ENDIF.

ENDLOOP.

SKIP.

ENDIF.

    • Erzeugen fehlermappe ************************************************

IF L_SUBRC <> 0 AND E_GROUP <> SPACE.

IF E_GROUP_OPENED = ' '.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING CLIENT = SY-MANDT

GROUP = E_GROUP

USER = E_USER

KEEP = E_KEEP

HOLDDATE = E_HDATE.

E_GROUP_OPENED = 'X'.

ENDIF.

CALL FUNCTION 'BDC_INSERT'

EXPORTING TCODE = TCODE

TABLES DYNPROTAB = BDCDATA.

ENDIF.

ENDIF.

REFRESH BDCDATA.

ENDFORM.

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM.

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

IF FVAL <> NODATA.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDIF.

ENDFORM.

if u think i havent understand properly just execuse me.

Reward points if helpful.

Thanks

Naveen khan

Message was edited by:

Pattan Naveen

Hi Experts,

how can i run report in background with out going sm35,

Pls reply with sample code ,

points will be rewarded.

Thanks,

Leena.

5 REPLIES 5
Read only

Former Member
0 Likes
752

Hi,

In order to restrict the user to run it only in background , you can as well check for SY-BATCH condition.

The other way is try to remove "execute in foreground" option from the menu and this can be done with the function module .

Do reward points if useful and close the thread if the doubt is cleared

data: begin of int_exc occurs 0,

code like sy-ucomm,

end of int_exc.

data wf_repid .

initialization.

clear int_exc.

int_exc-code = 'ONLI'.

append int_exc.

int_exc-code = 'PRIN'.

append int_exc.

move: sy-repid to wf_repid .

call function 'RS_SET_SELSCREEN_STATUS'

exporting

p_status = '%_00'

p_program = 'wf_repid'

tables

p_exclude = int_exc

Rewards,

Sankar

Read only

0 Likes
752

hi shankar

thanx for ur answer.......could you be bit elaborate....

Regards,

Hema.

Read only

0 Likes
752

Hi Hema..

This is the coding for ur Req:

You can try to SUBMIT to this program in the background using a JOB.

DATA: print_parameters TYPE pri_params,

valid_flag TYPE c LENGTH 1.

START-OF-SELECTION.

CALL FUNCTION 'GET_PRINT_PARAMETERS'

IMPORTING

out_parameters = print_parameters

valid = valid_flag

EXCEPTIONS

invalid_print_params = 2

OTHERS = 4.

CALL FUNCTION 'JOB_OPEN'

EXPORTING

jobname = name

IMPORTING

jobcount = number

EXCEPTIONS

cant_create_job = 1

invalid_job_data = 2

jobname_missing = 3

OTHERS = 4.

IF sy-subrc = 0.

SUBMIT submitable TO SAP-SPOOL

SPOOL PARAMETERS print_parameters

WITHOUT SPOOL DYNPRO

VIA JOB name NUMBER number

AND RETURN.

IF sy-subrc = 0.

CALL FUNCTION 'JOB_CLOSE'

EXPORTING

jobcount = number

jobname = name

strtimmed = 'X'

EXCEPTIONS

cant_start_immediate = 1

invalid_startdate = 2

jobname_missing = 3

job_close_failed = 4

job_nosteps = 5

job_notex = 6

lock_failed = 7

OTHERS = 8.

IF sy-subrc <> 0.

...

ENDIF.

ENDIF.

ENDIF.

<b>Reward Points if Helpful</b>

Read only

0 Likes
752

Hi Varma ,

Thanx a lot for ur effort and time.........thanx for your answer

Regards,

Hema.

Read only

Former Member
0 Likes
753

Hi,

Go through this hope u can understand might be u dont want all the programe what i have given , just try to analyze whether is any points r useful in this .

When you generate the BDC (Batch Data Communication options define the processing mode for a batch input session) program with SHDB, you can remove a lot of unwanted fields by copying this customize abap include program. It allows you to execute the BDC program immediately without filling up those SAP generate fields. To run background, just run it as a background job.

  • Execute BDC immediately by replacing the include BDCRECX1

***INCLUDE ZBDCRECX1.

  • When you generate the program using SHDB, you can replace it

  • with this if you want to execute it immediately without having

  • to process it using SM35.

  • During testing you can used the original include.

  • For example,

  • include zbdcrecx1. "After test

  • include bdcrecx. "Before test

  • -------------------------------------

  • Declare your internal table as RECORD

  • -------------------------------------

  • for programs doing a data transfer by creating a batch-input session

  • and

  • for programs doing a data transfer by CALL TRANSACTION USING

*SELECTION-SCREEN BEGIN OF LINE.

  • PARAMETERS SESSION RADIOBUTTON GROUP CTU. "create session

  • SELECTION-SCREEN COMMENT 3(20) TEXT-S07 FOR FIELD SESSION.

  • selection-screen position 45.

  • PARAMETERS CTU RADIOBUTTON GROUP CTU DEFAULT 'X'. "call transaction

  • SELECTION-SCREEN COMMENT 48(20) TEXT-S08 FOR FIELD CTU.

*SELECTION-SCREEN END OF LINE.

PARAMETERS: SESSION NO-DISPLAY,

CTU NO-DISPLAY DEFAULT 'X'.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 3(20) TEXT-S01 FOR FIELD GROUP.

  • selection-screen position 25.

  • PARAMETERS GROUP(12). "group name of session

  • SELECTION-SCREEN COMMENT 48(20) TEXT-S05 FOR FIELD CTUMODE.

  • selection-screen position 70.

  • PARAMETERS CTUMODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.

  • "A: show all dynpros

  • "E: show dynpro on error only

  • "N: do not display dynpro

*SELECTION-SCREEN END OF LINE.

PARAMETERS: GROUP(12) NO-DISPLAY,

CTUMODE NO-DISPLAY DEFAULT 'N'.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 3(20) TEXT-S02 FOR FIELD USER.

  • selection-screen position 25.

  • PARAMETERS: USER(12) DEFAULT SY-UNAME. "user for session in batch

  • SELECTION-SCREEN COMMENT 48(20) TEXT-S06 FOR FIELD CUPDATE.

  • selection-screen position 70.

  • PARAMETERS CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L'.

  • "S: synchronously

  • "A: asynchronously

  • "L: local

*SELECTION-SCREEN END OF LINE.

PARAMETERS: USER(12) NO-DISPLAY DEFAULT SY-UNAME,

CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L' NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 3(20) TEXT-S03 FOR FIELD KEEP.

  • selection-screen position 25.

  • PARAMETERS: KEEP AS CHECKBOX. "' ' = delete session if finished

  • "'X' = keep session if finished

  • SELECTION-SCREEN COMMENT 48(20) TEXT-S09 FOR FIELD E_GROUP.

  • selection-screen position 70.

  • parameters E_GROUP(12). "group name of error-session

*SELECTION-SCREEN END OF LINE.

PARAMETERS: KEEP NO-DISPLAY,

E_GROUP(12) NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 3(20) TEXT-S04 FOR FIELD HOLDDATE.

  • selection-screen position 25.

  • PARAMETERS: HOLDDATE LIKE SY-DATUM.

  • SELECTION-SCREEN COMMENT 51(17) TEXT-S02 FOR FIELD E_USER.

  • selection-screen position 70.

  • PARAMETERS: E_USER(12) DEFAULT SY-UNAME. "user for error-session

*SELECTION-SCREEN END OF LINE.

PARAMETERS: HOLDDATE LIKE SY-DATUM NO-DISPLAY,

E_USER(12) DEFAULT SY-UNAME NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 51(17) TEXT-S03 FOR FIELD E_KEEP.

  • selection-screen position 70.

  • PARAMETERS: E_KEEP AS CHECKBOX. "' ' = delete session if finished

  • "'X' = keep session if finished

*SELECTION-SCREEN END OF LINE.

PARAMETERS: E_KEEP NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 51(17) TEXT-S04 FOR FIELD E_HDATE.

  • selection-screen position 70.

  • PARAMETERS: E_HDATE LIKE SY-DATUM.

*SELECTION-SCREEN END OF LINE.

*SELECTION-SCREEN SKIP.

PARAMETERS: E_HDATE LIKE SY-DATUM NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 1(33) TEXT-S10 FOR FIELD NODATA.

  • PARAMETERS: NODATA DEFAULT '/' LOWER CASE. "nodata

*SELECTION-SCREEN END OF LINE.

PARAMETERS: NODATA DEFAULT '/' LOWER CASE NO-DISPLAY.

*SELECTION-SCREEN BEGIN OF LINE.

  • SELECTION-SCREEN COMMENT 1(33) FOR FIELD SMALLLOG.

  • PARAMETERS: SMALLLOG as checkbox. "' ' = log all transactions

  • "'X' = no transaction logging

*SELECTION-SCREEN END OF LINE.

PARAMETERS: SMALLLOG NO-DISPLAY.

----


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

----


  • at selection screen *

----


AT SELECTION-SCREEN.

  • group and user must be filled for create session

IF SESSION = 'X' AND

GROUP = SPACE OR USER = SPACE.

MESSAGE E613(MS).

ENDIF.

----


  • open dataset *

----


FORM OPEN_DATASET USING P_DATASET.

OPEN DATASET P_DATASET IN TEXT MODE.

IF SY-SUBRC <> 0.

WRITE: / TEXT-E00, SY-SUBRC.

STOP.

ENDIF.

ENDFORM.

----


  • close dataset *

----


FORM CLOSE_DATASET USING P_DATASET.

CLOSE DATASET P_DATASET.

ENDFORM.

----


  • create batchinput session *

  • (not for call transaction using...) *

----


FORM OPEN_GROUP.

IF SESSION = 'X'.

SKIP.

WRITE: /(20) 'Create group'(I01), GROUP.

SKIP.

  • open batchinput group

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING CLIENT = SY-MANDT

GROUP = GROUP

USER = USER

KEEP = KEEP

HOLDDATE = HOLDDATE.

WRITE: /(30) 'BDC_OPEN_GROUP'(I02),

(12) 'returncode:'(I05),

SY-SUBRC.

ENDIF.

ENDFORM.

----


  • end batchinput session *

  • (call transaction using...: error session) *

----


FORM CLOSE_GROUP.

IF SESSION = 'X'.

  • close batchinput group

CALL FUNCTION 'BDC_CLOSE_GROUP'.

WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),

(12) 'returncode:'(I05),

SY-SUBRC.

ELSE.

IF E_GROUP_OPENED = 'X'.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

WRITE: /.

WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).

ENDIF.

ENDIF.

ENDFORM.

----


  • Start new transaction according to parameters *

----


FORM BDC_TRANSACTION USING TCODE.

DATA: L_MSTRING(480).

DATA: L_SUBRC LIKE SY-SUBRC.

  • batch input session

IF SESSION = 'X'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING TCODE = TCODE

TABLES DYNPROTAB = BDCDATA.

IF SMALLLOG <> 'X'.

WRITE: / 'BDC_INSERT'(I03),

TCODE,

'returncode:'(I05),

SY-SUBRC,

'RECORD:',

SY-INDEX.

ENDIF.

  • call transaction using

ELSE.

REFRESH MESSTAB.

CALL TRANSACTION TCODE USING BDCDATA

MODE CTUMODE

UPDATE CUPDATE

MESSAGES INTO MESSTAB.

L_SUBRC = SY-SUBRC.

IF SMALLLOG <> 'X'.

  • WRITE: / 'CALL_TRANSACTION',

  • TCODE,

  • 'returncode:'(I05),

  • L_SUBRC,

  • 'RECORD:',

  • SY-INDEX.

IF SY-SUBRC = 0.

FORMAT COLOR OFF.

WRITE:/ 'Successfully Process ', MESSTAB, RECORD.

ELSE.

FORMAT COLOR COL_NEGATIVE.

WRITE:/ 'Failed Process ', MESSTAB, RECORD.

ENDIF.

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

ELSE.

WRITE: / MESSTAB.

ENDIF.

ENDLOOP.

SKIP.

ENDIF.

    • Erzeugen fehlermappe ************************************************

IF L_SUBRC <> 0 AND E_GROUP <> SPACE.

IF E_GROUP_OPENED = ' '.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING CLIENT = SY-MANDT

GROUP = E_GROUP

USER = E_USER

KEEP = E_KEEP

HOLDDATE = E_HDATE.

E_GROUP_OPENED = 'X'.

ENDIF.

CALL FUNCTION 'BDC_INSERT'

EXPORTING TCODE = TCODE

TABLES DYNPROTAB = BDCDATA.

ENDIF.

ENDIF.

REFRESH BDCDATA.

ENDFORM.

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM.

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

IF FVAL <> NODATA.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDIF.

ENDFORM.

if u think i havent understand properly just execuse me.

Reward points if helpful.

Thanks

Naveen khan

Message was edited by:

Pattan Naveen