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

Hi Experts

Former Member
0 Likes
1,057

Hi Experts,

i have an interactive alv report . in that there is a button as CREATE INVOICE . In my selection screen , there are two radiobuttons,

1.fore ground

2.background

if the option is fore ground, i ll click create invoice button to create invoice ,( I HAVE DONE THIS)

if the option is background , i should not click the button .,,, i have to select all the in the primary list to create invoice ..

HOW TO DO THIS ?

Very urgent please

Regards

Karthik

8 REPLIES 8
Read only

Former Member
0 Likes
1,030

use

if sy-batch = 'X'. (IF it is running background)

write u r code

endif.

Madhavi

Read only

0 Likes
1,030

Hi Madhavi

could u plz explain me little more about this job? so that i can proceed/

regards

karthik

Read only

0 Likes
1,030

if u want to know whether prg is running in background

then u need to check sy-batch field

if sy-batch = 'X' i.e. u r prg is running in background

if it satisfies this condition

then u add ur prg logic here like retreiving the infromation from database and post in the releavent t.code. all those things.

Madhavi

Read only

0 Likes
1,030

Hi

i only select the option whethr to run in foreground or background. if i select the background it has to run in background and i have to send the mails ,, not showing as report

Read only

0 Likes
1,030

u need to use some fm like : job-open, job_submit, job_close.

See this example :

&----


*& Report ZPROGRAM_ONE *

*& *

&----


*& *

*& *

&----


REPORT zprogram_one .

PRASHANT PATIL

TABLES : mara,

tsp01.

type-pools:slis.

TYPES : BEGIN OF t_mara,

matnr TYPE mara-matnr,

ersda TYPE mara-ersda,

ernam TYPE mara-ernam,

laeda TYPE mara-laeda,

END OF t_mara.

DATA : i_mara TYPE STANDARD TABLE OF t_mara,

wa_mara TYPE t_mara,

wa_index TYPE indx, " For Index details

wa_index_key TYPE indx-srtfd VALUE 'PRG_ONE',

i_jobsteplist TYPE STANDARD TABLE OF tbtcstep, " For spool number

wa_params TYPE pri_params, " To Get Print Parameters

wa_jobhead TYPE tbtcjob, " To know the status of job

wa_jobsteplist TYPE tbtcstep, " To know the spool

w_jobname TYPE tbtco-jobname, " Job name for bckgrnd job

w_jobcount TYPE tbtco-jobcount, " Unique id for bckgrd job

w_path TYPE string, " Upload path

w_lsind TYPE sy-lsind, " Index

wa_seltab TYPE rsparams,

i_seltab TYPE STANDARD TABLE OF rsparams,

wa_index1 TYPE indx, " For Index details

wa_index_key1 TYPE indx-srtfd VALUE 'PRG_TWO',

i_fieldcat TYPE slis_t_fieldcat_alv,

wa_fieldcat LIKE LINE OF i_fieldcat.

-


CONSTANTS DECLARATION *

-


CONSTANTS :

c_a(1) TYPE c VALUE 'A',

c_m(1) TYPE c VALUE 'M',

c_l(1) TYPE c VALUE 'L',

c_c(1) TYPE c VALUE 'C',

c_zfdr(4) TYPE c VALUE 'ZFDR',

c_x(1) TYPE c VALUE 'X',

c_locl(4) TYPE c VALUE 'LOCL', " Destination is LOCAL

c_f(1) TYPE c VALUE 'F', " Job Status - Failed

c_s(1) TYPE c VALUE 'S',

c_p(1) TYPE c VALUE 'P'.

*----


SELECTION SCREEN PARAMETERS

*----


SELECT-OPTIONS : s_matnr FOR mara-matnr.

START-OF-SELECTION.

*----


Before the export, fill the data fields before CLUSTR

*----


wa_index-aedat = sy-datum.

wa_index-usera = sy-uname.

EXPORT s_matnr

TO DATABASE indx(st) FROM wa_index ID wa_index_key.

*----


To Open the Job for background processing

*----


PERFORM open_job.

*----


To get the print parameters

*----


PERFORM get_print_parameters.

*----


Submit the job in background

*----


PERFORM job_submit.

*----


Close the background job

*----


PERFORM job_close.

***************************************************************

This is the output screen with the buttons ********

***************************************************************

Create 3 buttons DISPLAY SPOOL, STATUS, JOBLOG

SET PF-STATUS 'ZS001'.

WRITE: / 'The program is submitted in Background'.

WRITE: / 'Press DISPLAY SPOOL to see the spool'.

WRITE: / 'Press STATUS to see the status of the background'.

AT USER-COMMAND.

*----


If user presses the 'BACK' button

*----


IF sy-ucomm = 'BAK'.

IF wa_jobhead-status = c_f OR

wa_jobhead-status = c_a.

LEAVE TO SCREEN 0.

ENDIF.

ENDIF.

*----


If the user presses the 'DISPLAY SPOOL' Button

*----


IF sy-ucomm = 'DISPLAY'.

PERFORM display_spool.

ENDIF.

*----


If the user presses the 'JOB STATUS' Button

*----


IF sy-ucomm = 'STATUS'.

PERFORM display_status.

ENDIF.

*----


If the user presses the 'JOB LOG' Button

*----


IF sy-ucomm = 'JOBLOG'.

PERFORM display_job_log.

ENDIF.

&----


*& Form open_job

&----


text

-


--> p1 text

<-- p2 text

-


FORM open_job .

*----


This is to Create a new job which is to be submitted in background to

process sales order/delivery/invoice

Here we would get a unique id ( Jobcount ) which identifies our job

along with the job name which we have assigned to our job

*----


CONCATENATE sy-uname

sy-datum

sy-uzeit

INTO w_jobname . " Assign unique jobname

CALL FUNCTION 'JOB_OPEN'

EXPORTING

DELANFREP = ' '

JOBGROUP = ' '

jobname = w_jobname

SDLSTRTDT = NO_DATE

SDLSTRTTM = NO_TIME

JOBCLASS =

IMPORTING

jobcount = w_jobcount

CHANGING

RET =

EXCEPTIONS

cant_create_job = 1

invalid_job_data = 2

jobname_missing = 3

OTHERS = 4

.

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. " open_job

&----


*& Form get_print_parameters

&----


text

-


--> p1 text

<-- p2 text

-


FORM get_print_parameters .

DATA : l_valid TYPE c.

*----


This is to get the Print Parameters for the job which is to be

submitted in background to process sales order/delivery/invoice

*----


CALL FUNCTION 'GET_PRINT_PARAMETERS'

EXPORTING

ARCHIVE_ID = C_CHAR_UNKNOWN

ARCHIVE_INFO = C_CHAR_UNKNOWN

ARCHIVE_MODE = C_CHAR_UNKNOWN

ARCHIVE_TEXT = C_CHAR_UNKNOWN

AR_OBJECT = C_CHAR_UNKNOWN

ARCHIVE_REPORT = C_CHAR_UNKNOWN

AUTHORITY = C_CHAR_UNKNOWN

COPIES = C_NUM3_UNKNOWN

COVER_PAGE = C_CHAR_UNKNOWN

DATA_SET = C_CHAR_UNKNOWN

DEPARTMENT = C_CHAR_UNKNOWN

destination = c_locl " LOCL

EXPIRATION = C_NUM1_UNKNOWN

immediately = space

IN_ARCHIVE_PARAMETERS = ' '

IN_PARAMETERS = ' '

LAYOUT = C_CHAR_UNKNOWN

LINE_COUNT = C_INT_UNKNOWN

LINE_SIZE = C_INT_UNKNOWN

LIST_NAME = C_CHAR_UNKNOWN

LIST_TEXT = C_CHAR_UNKNOWN

MODE = ' '

new_list_id = c_x

PROTECT_LIST = C_CHAR_UNKNOWN

no_dialog = c_x

RECEIVER = C_CHAR_UNKNOWN

RELEASE = C_CHAR_UNKNOWN

REPORT = C_CHAR_UNKNOWN

SAP_COVER_PAGE = C_CHAR_UNKNOWN

HOST_COVER_PAGE = C_CHAR_UNKNOWN

PRIORITY = C_NUM1_UNKNOWN

SAP_OBJECT = C_CHAR_UNKNOWN

TYPE = C_CHAR_UNKNOWN

user = sy-uname

USE_OLD_LAYOUT = ' '

UC_DISPLAY_MODE = C_CHAR_UNKNOWN

DRAFT = C_CHAR_UNKNOWN

ABAP_LIST = ' '

USE_ARCHIVENAME_DEF = ' '

DEFAULT_SPOOL_SIZE = C_CHAR_UNKNOWN

PO_FAX_STORE = ' '

NO_FRAMES = C_CHAR_UNKNOWN

IMPORTING

OUT_ARCHIVE_PARAMETERS =

out_parameters = wa_params

valid = l_valid

EXCEPTIONS

archive_info_not_found = 1

invalid_print_params = 2

invalid_archive_params = 3

OTHERS = 4

.

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. " get_print_parameters

&----


*& Form job_submit

&----


text

-


--> p1 text

<-- p2 text

-


FORM job_submit .

*----


The job which we have created & the unique id ( jobcount ) which we

have got identifies our job. Hence those parameters are passed along

with the name of the background program "ZPROGRAM_TWO"

The job is submitted in background.

*----


CALL FUNCTION 'JOB_SUBMIT'

EXPORTING

ARCPARAMS =

authcknam = sy-uname

COMMANDNAME = ' '

OPERATINGSYSTEM = ' '

EXTPGM_NAME = ' '

EXTPGM_PARAM = ' '

EXTPGM_SET_TRACE_ON = ' '

EXTPGM_STDERR_IN_JOBLOG = 'X'

EXTPGM_STDOUT_IN_JOBLOG = 'X'

EXTPGM_SYSTEM = ' '

EXTPGM_RFCDEST = ' '

EXTPGM_WAIT_FOR_TERMINATION = 'X'

jobcount = w_jobcount

jobname = w_jobname

LANGUAGE = SY-LANGU

priparams = wa_params

report = 'ZPROGRAM_TWO'

VARIANT = ' '

IMPORTING

STEP_NUMBER =

EXCEPTIONS

bad_priparams = 1

bad_xpgflags = 2

invalid_jobdata = 3

jobname_missing = 4

job_notex = 5

job_submit_failed = 6

lock_failed = 7

program_missing = 8

prog_abap_and_extpg_set = 9

OTHERS = 10

.

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. " job_submit

&----


*& Form job_close

&----


text

-


--> p1 text

<-- p2 text

-


FORM job_close .

*----


Once the job is submitted in background then the job is closed

*----


CALL FUNCTION 'JOB_CLOSE'

EXPORTING

AT_OPMODE = ' '

AT_OPMODE_PERIODIC = ' '

CALENDAR_ID = ' '

EVENT_ID = ' '

EVENT_PARAM = ' '

EVENT_PERIODIC = ' '

jobcount = w_jobcount

jobname = w_jobname

LASTSTRTDT = NO_DATE

LASTSTRTTM = NO_TIME

PRDDAYS = 0

PRDHOURS = 0

PRDMINS = 0

PRDMONTHS = 0

PRDWEEKS = 0

PREDJOB_CHECKSTAT = ' '

PRED_JOBCOUNT = ' '

PRED_JOBNAME = ' '

SDLSTRTDT = NO_DATE

SDLSTRTTM = NO_TIME

STARTDATE_RESTRICTION = BTC_PROCESS_ALWAYS

strtimmed = c_x

TARGETSYSTEM = ' '

START_ON_WORKDAY_NOT_BEFORE = SY-DATUM

START_ON_WORKDAY_NR = 0

WORKDAY_COUNT_DIRECTION = 0

RECIPIENT_OBJ =

TARGETSERVER = ' '

DONT_RELEASE = ' '

TARGETGROUP = ' '

DIRECT_START =

IMPORTING

JOB_WAS_RELEASED =

CHANGING

RET =

EXCEPTIONS

cant_start_immediate = 1

invalid_startdate = 2

jobname_missing = 3

job_close_failed = 4

job_nosteps = 5

job_notex = 6

lock_failed = 7

invalid_target = 8

OTHERS = 9

.

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. " job_close

&----


*& Form display_spool

&----


text

-


--> p1 text

<-- p2 text

-


FORM display_spool .

*----


To Read the Job to get the spool details

*----


DATA : l_rqident TYPE tsp01-rqident, " Spool Number

l_spoolno TYPE tsp01_sp0r-rqid_char.

CLEAR : l_rqident,

w_lsind,

wa_jobsteplist.

REFRESH : i_jobsteplist.

SET PF-STATUS 'ZAR02'.

*----


Get the Spool Number

*----


CALL FUNCTION 'BP_JOB_READ'

EXPORTING

job_read_jobcount = w_jobcount

job_read_jobname = w_jobname

job_read_opcode = '20'

JOB_STEP_NUMBER =

IMPORTING

job_read_jobhead = wa_jobhead

TABLES

job_read_steplist = i_jobsteplist

CHANGING

RET =

EXCEPTIONS

invalid_opcode = 1

job_doesnt_exist = 2

job_doesnt_have_steps = 3

OTHERS = 4

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

*----


Read the Job Step list to get the spool number

*----


READ TABLE i_jobsteplist INTO wa_jobsteplist INDEX 1.

CHECK wa_jobsteplist-listident <> space.

*----


Spool Number

*----


l_rqident = wa_jobsteplist-listident.

MOVE l_rqident TO l_spoolno.

*----


Check the spool in TSP01

*----


SELECT SINGLE * FROM tsp01 WHERE rqident = l_rqident.

IF sy-subrc = 0.

LEAVE TO LIST-PROCESSING.

CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'

EXPORTING

spoolid = l_spoolno

IMPORTING

RC =

STATUS =

.

PERFORM show_alv.

ENDIF.

w_lsind = sy-lsind.

IF sy-lsind GE 19.

sy-lsind = 1.

ENDIF.

ENDFORM. " display_spool

&----


*& Form show_alv

&----


text

-


--> p1 text

<-- p2 text

-


FORM show_alv .

*----


Before the import, fill the data fields before CLUSTR.

*----


wa_index1-aedat = sy-datum.

wa_index1-usera = sy-uname.

*----


To Import the selection screen data from Calling Program

*----


IMPORT i_mara

FROM DATABASE indx(st) ID wa_index_key1 TO wa_index1.

FREE MEMORY ID wa_index_key1.

This prepares the field-catalog for ALV.

PERFORM prepare_fieldcatalog.

This displays the output in ALV format .

PERFORM display_alv.

ENDFORM. " show_alv

&----


*& Form display_status

&----


text

-


--> p1 text

<-- p2 text

-


FORM display_status .

*----


To Display the STATUS of the JOB which is exectued in background

*----


CLEAR : wa_jobsteplist.

REFRESH : i_jobsteplist.

WRITE:/ 'DISPLAYING JOB STATUS'.

CALL FUNCTION 'BP_JOB_READ'

EXPORTING

job_read_jobcount = w_jobcount

job_read_jobname = w_jobname

job_read_opcode = '20'

JOB_STEP_NUMBER =

IMPORTING

job_read_jobhead = wa_jobhead

TABLES

job_read_steplist = i_jobsteplist

CHANGING

RET =

EXCEPTIONS

invalid_opcode = 1

job_doesnt_exist = 2

job_doesnt_have_steps = 3

OTHERS = 4

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

*----


To Display the status text as per the status type

*----


CASE wa_jobhead-status.

WHEN 'S'. WRITE: / 'Scheduled'.

WHEN 'R'. WRITE: / 'Released'.

WHEN 'F'. WRITE: / 'Completed'.

WHEN 'A'. WRITE: / 'Cancelled'.

WHEN OTHERS.

ENDCASE.

IF sy-lsind GE 19.

sy-lsind = 1.

ENDIF.

ENDFORM. " display_status

&----


*& Form display_job_log

&----


text

-


--> p1 text

<-- p2 text

-


FORM display_job_log .

*----


To display the log of the background program

*----


LEAVE TO LIST-PROCESSING.

CALL FUNCTION 'BP_JOBLOG_SHOW_SM37B'

EXPORTING

client = sy-mandt

jobcount = w_jobcount

joblogid = ' '

jobname = w_jobname

EXCEPTIONS

error_reading_jobdata = 1

error_reading_joblog_data = 2

jobcount_missing = 3

joblog_does_not_exist = 4

joblog_is_empty = 5

joblog_show_canceled = 6

jobname_missing = 7

job_does_not_exist = 8

no_joblog_there_yet = 9

no_show_privilege_given = 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. " display_job_log

&----


*& Form prepare_fieldcatalog

&----


text

-


--> p1 text

<-- p2 text

-


FORM prepare_fieldcatalog .

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'MATNR'.

wa_fieldcat-tabname = 'I_MARA'.

wa_fieldcat-reptext_ddic = 'Material no.'.

wa_fieldcat-outputlen = '18'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'ERSDA'.

wa_fieldcat-tabname = 'I_MARA'.

wa_fieldcat-reptext_ddic = 'Creation date'.

wa_fieldcat-outputlen = '10'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'ERNAM'.

wa_fieldcat-tabname = 'I_MARA'.

wa_fieldcat-reptext_ddic = 'Name of Person'.

wa_fieldcat-outputlen = '10'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'LAEDA'.

wa_fieldcat-tabname = 'I_MARA'.

wa_fieldcat-reptext_ddic = ' Last Change'.

wa_fieldcat-outputlen = '10'.

APPEND wa_fieldcat TO i_fieldcat.

ENDFORM. " prepare_fieldcatalog

&----


*& Form display_alv

&----


text

-


--> p1 text

<-- p2 text

-


FORM display_alv .

Call ABAP List Viewer (ALV)

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

it_fieldcat = i_fieldcat

tables

t_outtab = i_mara.

ENDFORM. " display_alv

• ZPROGRAM_TWO: This is the 2nd program which would be called from program ZPROGRAM_ONE.

&----


*& Report ZPROGRAM_TWO *

*& *

&----


*& *

*& *

&----


REPORT zprogram_two .

PRASHANT PATIL

TABLES : mara.

TYPE-POOLS:slis.

TYPES : BEGIN OF t_mara,

matnr TYPE mara-matnr,

ersda TYPE mara-ersda,

ernam TYPE mara-ernam,

laeda TYPE mara-laeda,

END OF t_mara.

DATA : i_mara TYPE STANDARD TABLE OF t_mara,

wa_mara TYPE t_mara,

wa_index TYPE indx, " For Index details

wa_index_key TYPE indx-srtfd VALUE 'PRG_ONE',

wa_index1 TYPE indx, " For Index details

wa_index_key1 TYPE indx-srtfd VALUE 'PRG_TWO',

i_fieldcat TYPE slis_t_fieldcat_alv,

wa_fieldcat LIKE LINE OF i_fieldcat.

SELECT-OPTIONS : s_matnr FOR mara-matnr.

*----


Before the import, fill the data fields before CLUSTR.

*----


wa_index-aedat = sy-datum.

wa_index-usera = sy-uname.

*----


To Import the selection screen data from Calling Program

*----


IMPORT s_matnr

FROM DATABASE indx(st) ID wa_index_key TO wa_index.

FREE MEMORY ID wa_index_key.

SELECT matnr

ersda

ernam

laeda

FROM mara

INTO TABLE i_mara

WHERE matnr IN s_matnr.

PERFORM prepare_fieldcatalog.

PERFORM display_alv.

*----


Before the export, fill the data fields before CLUSTR

*----


wa_index1-aedat = sy-datum.

wa_index1-usera = sy-uname.

EXPORT i_mara

TO DATABASE indx(st) FROM wa_index1 ID wa_index_key1.

&----


*& Form prepare_fieldcatalog

&----


text

-


--> p1 text

<-- p2 text

-


FORM prepare_fieldcatalog .

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'MATNR'.

wa_fieldcat-tabname = 'I_MARA'.

wa_fieldcat-outputlen = '18'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'ERSDA'.

wa_fieldcat-tabname = 'I_MARA'.

wa_fieldcat-outputlen = '10'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'ERNAM'.

wa_fieldcat-tabname = 'I_MARA'.

wa_fieldcat-outputlen = '10'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'LAEDA'.

wa_fieldcat-tabname = 'I_MARA'.

wa_fieldcat-outputlen = '10'.

APPEND wa_fieldcat TO i_fieldcat.

ENDFORM. " prepare_fieldcatalog

&----


*& Form display_alv

&----


text

-


--> p1 text

<-- p2 text

-


FORM display_alv .

Call ABAP List Viewer (ALV)

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

it_fieldcat = i_fieldcat

TABLES

t_outtab = i_mara.

ENDFORM. " display_alv

its possible to display ALV Grid using OO ALV. Following code can be used instead of FM.

In the PBO, add following code

SET PF-STATUS 'ZSTAT'.

If program is executed in background

CALL METHOD cl_gui_alv_grid=>offline

RECEIVING

e_offline = off.

IF off IS INITIAL.

IF container1 IS INITIAL.

CREATE OBJECT container1

EXPORTING

container_name = 'CC_ALV1' .

ENDIF.

ENDIF.

CREATE OBJECT g_grid1

EXPORTING

i_parent = container1.

CALL METHOD g_grid1->set_table_for_first_display

EXPORTING

I_BUFFER_ACTIVE =

I_BYPASSING_BUFFER =

I_CONSISTENCY_CHECK =

I_STRUCTURE_NAME =

IS_VARIANT =

i_save = 'A'

i_default = ' '

is_layout =

is_print =

IT_SPECIAL_GROUPS =

it_toolbar_excluding =

IT_HYPERLINK =

IT_ALV_GRAPHICS =

IT_EXCEPT_QINFO =

CHANGING

it_outtab = i_output

it_fieldcatalog = i_fieldcatalog

IT_SORT =

IT_FILTER =

EXCEPTIONS

invalid_parameter_combination = 1

program_error = 2

too_many_lines = 3

OTHERS = 4

.

IF sy-subrc 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

Reward points if useful

Regards

Madhavi

Read only

Former Member
0 Likes
1,030

Hi,

According to my understanding u r executing the program online only. based on the radiobuttons selection, invoice creation process varies.

In foreground you will be selecting the Create button, then u r triggering the process will the selected records on ALV.

In background, you can create the invoice before displaying the ALV . (as no button available on the ALV to process).

Read only

0 Likes
1,030

Hi ramesh,

in the selection screen , i am having two buttons , one is fore ground and another is background.

if i press the fore ground it is normal interactive alv .

if i press the background rediobutton , no need to show my output . just it should run in background, it has to send mails

*LOGISTICS DATA(MM DATA) IS IN DIFFERENT DATABASE SERVER.

ALL R RFC ENABLED .*

thats it.

help me in this regards

karthik

Edited by: karthikeyan palaniayya on Jan 7, 2008 7:35 AM

Read only

0 Likes
1,030

Hi,

Ex: p_fg (foreground)

p_bg(background)

If p_fg = 'X'.

process the foreground activites.

else.

Instead of displaying alv , do the rest as foreground process.

endif.

Hope this helps you.