Restrict to run the same report
Hi All,
Is it possible to avoid triggering same report by multiple users at the same time?
If so please let me know.
Thanks,
Mohan
No,
Each user will run a instance of the report , with different/same parameters.
So its not possible to restrict from this application.
Similar Messages
-
How to run the same report at report runtime?
i have this report that is automatically run when choosing the icon at reports runtime.
its it possible that i can run the same report without having to exit the runtime?! can i display the run button on the toolbar?
i need help on this! thanksWhat
about still running ONE report, but every supplier starting on a new page? Is that more realistic? So supplier will not be a parameter any more, but just something that creates a new page on the report?
Yes thats a much better option. Its very easy to generate such a report in SSRS. You dont need a parameter
in that case but just needs to add Supplier as a grouping field in the tablix. Then add other columns and groups if required. Select option set page break after each instance of the group for first grouping (ie based on supplier field). Then report will render
with one page per supplier. On exporting to excel also each supplier data goes to a different tab
Here's a similar requirement I did for one of my projects
http://visakhm.blogspot.in/2013/10/using-ssrs-to-export-sqlserver-data-to.html
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page -
How to find out tcode from a program that can run the same report?
Hello all,
I have a program name and I can see it is successfully proccessed. Now if I want to get the report via a tcode, how can I get it?
How can I find the tcode from the program itself?
Regards,Hi,
1) Go into SE80, > Enter the name of the program, and press 'Enter'.
2) You will see a folder called 'Transactions' appearing in the object list on the bottom left.
3) Open the folder, and you'll find T.code of that program.
Thanks,
Nirav -
Run a query multiple times in the same report for different nodes in Hier
Hi,
I have created a query as per my requirements. But my issue is I need to run the report for all the profit centers in a hierarchy. Right now I enter a node value of the hierarchy in the variable and I get the result. But I want to run it for each node in the hierarchy and display the result in the same report.Is it possible to do so in web using information broadcaster or any BI 7.0 tools. Has anyone done similar to this in web. I would prefer the web route rather than the excel but if excel is the only answer I will follow the excel path.
Looking forward to your suggestions on this.
Thanks,
KalHello Kal,
if the number of Profit Centers is limited, you could probably work with query views (one for each PC) and include all these into your Web Template.
If this is not appropriate, I don´t know if there is any way of programming possible.
Regards
Cornelia -
Running the alv report in background and sending it thro email
hi,
i have to run the alv report in background and send the output through emailHi
Many a times there is a requirement to display ALV Grid (not ALV List) in the background Job. I have checked the SDN Forum for the same and it has been mentioned that ALV Grid cannot be displayed in Background, but the list output of ALV is possible. So user wont have the actual Grid interface but the List interface.
There is a workaround to display ALV Grid in Background Job. The only restriction is you cant schedule the job through SM36. You need to execute the transaction of the report program, fill in the selection screen data and hit Execute.
The job would be executed in background. User will be able to see the Job Log and Job Status after executing the program. User doesnt have to go to SM37 to view the job status/log. Once the Job Status is changed to COMPLETED, user can click on DISPLAY SPOOL to view the ALV Grid.
Limitations:
Cant schedulea background job
The session should be active until the background job is completed. If the session is closed, then user wont be able to check the output in ALV Grid. User would be able to check the output through spool or SM37
Advantages:
If the spool width is greater than 255 characters, then the entire width could be seen in the output because the output is directed to an ALV Grid and not to spool
Interface of ALV Grid is available instead of ALV List even though its a background job.
Program wont give the TIME OUT error
Steps Required:
1. Once you execute the program, the following screen would be displayed
2. Click Display Job Status to check the Status of the Background Job
3. Click on Display the Job Log to check the Log
4. Click on Display Job Status to check the Job Status
5. Click on DISPLAY SPOOL to check the spool content once the Job Status is changed to COMPLETED. Output is displayed in ALV Grid
Programs:
1. Two different programs needs to be created
ZPROGRAM_ONE: This is the 1st program, where the selection screen and all the data validations would be done. Error handling for invalid data should be done in this program.
Once the data validation is done, this program would call the 2nd program ZPROGEAM_TWO. Build the logic to display ALV Grid in this program. The logic will only display ALV in foreground and it wont be reflected in the spool.
ZPROGRAM_TWO: This program would fetch all the data and do all the processing. If you want the spool output along with ALV Grid output, then build the logic in this program to display ALV Grid.
*& 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
Anji -
Error While Run the WebI Report on SAP BW Query
Hi
I have build the universe on SAP BW Query . I built the same universe on the SAP BW DEV and SAP BW Test
When I tried to run the WEBI Report on the Universe which is built on the SAP BW Test
WebI Report is prompting for the below values
Calendar Year
Profit Center
Profit Center Hierarchy
Version.
Here I can see the List of values for the Calendar Year and Profit Center. Its giving me below error when I look for list of values for the Profit Center and Profit Center Hierarchy.
u2018Database error: [SOFA Driver] : The operation completed successfully.. Contact your Business Objects administrator or database supplier for more information. (Error: WIS 10901)u2019
My Questions:
1. Why I am getting this error. Because of authentication or configurations set on the Profit Center and Profit Center Hierarchy objects? If so , please let me know what I need to set?
When I tried to run the same WEBI Report on universe which build on SAP BW Dev Query. I can see list of values for the Calendar Year, Version, Profit Center, Profit Center Hierarchy.
But when I selected the values and tried to run the report. I got below error.
u2018Query 1 - P&L Structure Monthly_Devtst
Database error: [SOFA Driver] : The MDX query SELECT NON EMPTY HIERARCHIZE( {[Measures].[4CEX5LZ5571LCZHJBK0L0360P],[Measures].[4CEX5MM6Q2UPWV3VT27LU9261]} ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS , NON EMPTY HIERARCHIZE( { [0CALMONTH].[LEVEL00].MEMBERS } ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON ROWS FROM [ZFIGLPCBM/ZZFIGLPCBM04_Q011] SAP VARIABLES [!V000001] INCLUDING =[0PROFIT_CTR 1000HCICONS08] [!V000002] INCLUDING =2 [!V000003] INCLUDING =2008 [!V000004] INCLUDING =000 failed to execute with the error Value "0000000002" for variable "Profit Center" is invalid. Contact your Business Objects administrator or database supplier for more information. (Error: WIS 10901)u2019
My Questions :
1. What is this error? Please suggest the solution to run the report successfully.
Also I am attaching Print Screens of DEV and Test reports Prompts and Errors.
Here I am using Business Objects XI R2 SP4
I am sorry if I confused you with elaborated explanation, I have very less knowledge of BO and SAP BW ..
Please help me with your valuable suggestions.
Thanks,
AnithaHi Ingo,
- the BI Query in the Test system is running correct and all the variables do work ?
Yes, BI Query is working fine in the Test System and I can see all the variables too
In BI Query I can see values for Calendar Year, Version, Profit Center, Profit Center Hierarchy
- the Universe has all the variables ?
Yes, Universe has all the variables.
- do you see values in the Web Intelligence prompts when you run the report ?
No,
I can only see values for the Calendar Year & Version in the Web Intelligence Prompt.
When I try to see values for the Profit Center & Profit Center Hierarchy in the Web Intelligence Prompt, its showing below error.
u2018Database error: [SOFA Driver] : The operation completed successfully.. Contact your Business Objects administrator or database supplier for more information. (Error: WIS 10901)u2019
I can send you the Print Screens of Prompts & Errors, but i don't know how to attach the file here.
Thanks,
Anitha -
Hello,
1) I am suddenly getting an error message ‘Load Report failed’ in a production server (where the VS2003 application is deployed) when the Crystal Report is executed. This has happened maybe because of the Windows/Crystal Report Updates!
I am able to see the same report perfectly fine in the development computer using VS 2003.
I am using the 9.1 version which is part of the Visual Studio 2003.
The event logs show 'Either the keycode library is not registered or it cannot be loaded ...EventID=10029'. See attached screen shot.
Please help?
2) Since I was getting a registration suggestion window for using Crystal Reports, I registered twice using different email address and it said that it will send me the KeyCode for the Crystal report but after successful registration I never got any keycode but just an email acknowledging the Registration.
I believe the KeyCode is required to use it in the server to execute/run a report.
Can SAP representative email the keycode to my gmail account?
My product key is:
Please help to resolve both my problems
Thanks in advance,
Sanjay ChudasamaIf I memory servers, you have to open the Crystal_Regwiz2003.msm in the .NET deployment project. One of the properties of the msm was Keycode (or similar). You entered the keycode here. To find your keycode; in VS2003 IDE, go to the Help | About screen. You will see one of the installed components as Crystal Reports and the keycode will be on the right of that. Copy the keycode from here, paste in the above.
For more details see the article Crystal Reports and Visual Studio .NET - Application Deployment.
- Ludek
Follow us on Twitter
Got Enhancement ideas? Try the SAP Idea Place
Share Your Knowledge in SCN Topic Spaces -
Error while running the FR report
I have created an Financial report for HFM application but When i try running the same it give ADM dirver error.
I even restarted all the services. But getting the same error.
Any help will be appreciatedWe had a similar error.
I order to run a report from Financial reporting you must have installed the ADM driver. This driver is included in the installation of the HFM Desktop.
So, in order to run the report, you must install the driver, configure the Server and Web Configuration by registering the target cluster/server and the report will run without problem
Regards -
I have a Toshiba external hard drive that i used with MacBook. I now have a MacBook Pro running OS 10.7.5. It does not register that the Toshiba hard drive is plugged in, yet if I plug it into an iMac running the same OS it does work.
I don't know the answer to your problem, but until you resolve it do not upgrade OS X.
I would suggest you try a reinstall:
Reinstall Lion, Mountain Lion, or Mavericks without erasing drive
Boot to the Recovery HD:
Restart the computer and after the chime press and hold down the COMMAND and R keys until the menu screen appears. Alternatively, restart the computer and after the chime press and hold down the OPTION key until the boot manager screen appears. Select the Recovery HD and click on the downward pointing arrow button.
Repair
When the recovery menu appears select Disk Utility. After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list. In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive. If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported then click on the Repair Permissions button. When the process is completed, then quit DU and return to the main menu.
Reinstall Lion, Mountain Lion, or Mavericks
OS X Mavericks- Reinstall OS X
OS X Mountain Lion- Reinstall OS X
OS X Lion- Reinstall Mac OS X
Note: You will need an active Internet connection. I suggest using Ethernet
if possible because it is three times faster than wireless. -
Printing a bill and a letter in the same report
I wanna print in the same report 2 pages for each row of my table, one for a letter, the other for the bill so I put the letter on the heading page of my report and the bill page on the body.
The problem is , when I run it , all letters are printed first and then bills.and that's not good for me because I wanna have for example: on page 1 :letter for row 1 and on page 2 :bill for row 1,
on page 3 :letter for row 2 and on page 4 :bill for row 2 and so on...unfortunalty I could not do it...
Thank u for helping me<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by al_scott:
I wanna print in the same report 2 pages for each row of my table, one for a letter, the other for the bill so I put the letter on the heading page of my report and the bill page on the body.
The problem is , when I run it , all letters are printed first and then bills.and that's not good for me because I wanna have for example: on page 1 :letter for row 1 and on page 2 :bill for row 1,
on page 3 :letter for row 2 and on page 4 :bill for row 2 and so on...unfortunalty I could not do it...
Thank u for helping me<HR></BLOCKQUOTE>
Hai,
Heade Page will always fire first. Try to put both of them in the Body. Letter in outer repeating frame and Bill in the inner repeating frame and set max records per page to 1. After printing letter insert blank lines so the bill goes to next page.
regards,
Mathan -
Using more than one Business area in the same report
Hi,
Is it possible / recommended to use more than one business area in the same report.
For example, I have a sales (business area sales) report on one tab and a rebates(rebates business area) report on a second tab.
ThanksHello
Possible: yes
Recommended: no
This can certainly be done and Discoverer will not prevent you from having reports that use different business areas as you describe.
However, for management and security purposes it does not make for ease of use. As you know a user has the ability to share a workbook with another user. If they do this then ALL reports within that workbook are shared. If the receiving user does not have access to one or more of the business areas then some reports will run and some will not. This can be very confusing to an end user and a possible nightmare to administer.
My recommendation would be to have a workbook per business area and not mix.
If there is more than one business area per functional area, for example sales and returns, then so long as the users have access to both business areas then you could use a common workbook.
Personally I would not even do this, so my strongest advice would be to have all reports in a workbook written against the same business area.
Hope this helps
Michael -
Why's the SQL format different for the same report on different PCs?
I have 2 PCs running the same version of Crystal Reports (11.0.0.1994) using an identically configured system DSN with the exact same driver. When I view the SQL that CR is using on PC 1, part of it looks like this:
" FROM {oj (("PUB"."LOQEstimate" "LOQEstimate1" LEFT OUTER JOIN "PUB"."LOQComponent" "LOQComponent1" ON ("LOQEstimate1"."Estimate-ID"="LOQComponent1"."Estimate-ID") AND"
On PC 2 it looks like this:
"FROM "PUB"."LOQEstimate" "LOQEstimate1", "PUB"."LOQComponent" "LOQComponent1", "PUB"."CustContact" "CustContact1", "PUB"."LOQSegment" "LOQSegment1"
WHERE"
It's the exact same report. Can someone tell me why the SQL is different?
TIA for the help.Thanks for the reply, Patrick. Here are the answers you requested:
1. Verify you are indeed using the same driver, and they are of the same version
The driver on both PCs is the Progress OpenEdge 10.1A driver. The file is pgoe1021.dll, version 05.10.0037.
2. Verify if you have the same database client install on both computer.
Both use prowin32.exe, v10.1.1.1326
If everything is the same, then it might be a registry key, and in this case, can you provide the following information:
1. What database are you connecting to? ( Oracle, DB2, ... )
Progress OpenEdge 10 RDMS (/community [original link is broken])
2. What is the version of the database?
10.1A
3. What is the version of the database client?
v10.1.1.1326
4. How are you connecting to your database? ( Native, ODBC, OLEDB,... )
ODBC
5. If you are connecting via ODBC, what is the name of the driver used and it's version?
The driver is the Progress OpenEdge 10.1A driver. The file is pgoe1021.dll, version 05.10.0037.
6. What is the SQL query syntax do you prefer? ( PC 1, or the one generated on PC 2 )
The SQL generated on PC1 doesn't return any records. The SQL generated on PC2 does. Records are preferable ;o) -
WS-SDK Scheduling two instances of the same report with different params
I'm using the web services SDK for Business Objects XI 3.1 SP 2 to schedule reports. I've got it so that I can successful schedule a report with prompts, setting the value for the prompt and running the report.
However, I'm now trying to schedule two instances of the same report using a single call to BIPlatform.Schedule. It creates the correct number of new instances, the last of which is completely correct. The first one (and in fact if I do more than two all the rest except the last) lose the parameter value from the prompt and the schedule information and the type. So for example if I schedule two instances, both PDF, both for 8am tomorrow with parameters of 1 and 2, I get:
A Webi instance, scheduled to run immediately with no parameters specified and
A PDF instance, scheduled for 8am tomorrow with parameter 2
Any idea what I'm doing wrong?
Cheers,
Jack
Edited by: Jackson Pope on Feb 3, 2011 1:34 PMCan you possibly post your code here that sets params and schedules? Also as you schedule 2 instances on a single report in a sinlgle biplatform.schedule call(): as you query for InfoObject what you actually query for a single report isn't it, or do you schedule a report template and reschdule it previous instance?
-
How to run the 9I report from the forms menue 9i
how to run the 9I report from the forms menue 9i.
Shehzad LatifHi,
1. create a Reports Object node in Forms. If you use teh same object node name then you can write generic code that works in all Forms
2. Get the whitepaper about Forms/reports integrtion
http://otn.oracle.com/products/forms/pdf/frm9isrw9i.pdf
Frank -
Correcting Multiple Schedules on the Same Report
Hi Created a report and scheduled it to run daily at 8am. Works Great. two months later a change is requested I make the change and republish the report, but fail to schedule it for the same time. Now I have the same report with the same name scheduled and running to the end user twice daily - 8 am and 2pm. she only wants to see it once a day. Furthermore I have another change request for the report which I have made and am now ready to republish and reschedule version 3.
Is it possible to remove the Scheduling jobs for the first two versions, but preserve the 100+ instances in the infoview folder that she may still want to access, and also publish the 3rd version and schedule it for 8am and keep them all as the same name and make it appear seamless to the end user?Hi ,
Log in to CMC and Navaigate to the scheduled report then select the report and see the History of teh Report . from the History select the previous versions of the Scheduled jobs from the list click on the actions and delete .
Maybe you are looking for
-
How can we see multiple devices on a single map using find my ipad?
We have 70 iPad/iPhone devices that we want to locate at any given time. How can we display them on a single map?
-
Hi Gurs, I am creating RFQ with reference to PR for Vendor Consignment Stock(i.e. Item Category as 'K'), i am getting an error as Field selection PT2A not defined . Can any one can guide me why i am getting this error. Thanks in advance.. Regards Jay
-
I have a nokia 6110 navigator. Can someone tell me if there is a way to clear the message inbox without deleting each message individually?
-
What's the best way to erase and reinstall Lion?
I'm a little confused by the various posts I've read about erasing and reinstaling lion. My MBP is about 4 years old. I upgraded to lion last summer and it never worked great, but over the last 3-6 months its been dragging. I want to start fresh.
-
J2ee server problem with details
I 'm working on Win 2000 machine. While starting the j2ee server from command line with the command j2ee -verbose I am getting error message as follows J2EE server listen port: 1050 Naming service started:1050 Exception in thread "main" java.lang.NoS