2 alv-lists in one batch job
How can I create 2 ALV-lists in one batch job
with fm REUSE_ALV_LIST_DISPLAY ?
kind regards
Andreas
Try this...
* In SELECTION-SCREEN area, define type of email and recepient.
PARAMETERS: p_email TYPE somlreci1-receiver, "Name of Shared Distribution List
p_rectyp TYPE so_escape. "Type C for Shared Distribution List
* In body of program, call 1st alv grid, send the spool to the recepient, call 2nd alv grid, send the spool to the recepient.
PERFORM 03display_data.
PERFORM send_spool_2_user USING sy-spono.
PERFORM 04display_data.
PERFORM send_spool_2_user USING sy-spono.
* Form to sent the spool to the recepient.
FORM send_spool_2_user USING p_spono.
spool_number = p_spono.
IF sy-batch = x AND spool_number IS NOT INITIAL.
IF p_email IS NOT INITIAL
AND p_rectyp IS NOT INITIAL.
*PARAMETERS: p_email TYPE somlreci1-receiver DEFAULT 'ZDALLEN',
* p_rectyp type so_escape DEFAULT 'C'.
PERFORM set_spool_title_name.
PERFORM build_txt_data_table.
PERFORM populate_email_message_body.
* Send file by email as .txt speadsheet
PERFORM send_file_as_email_attachment
TABLES it_message
it_attach
USING p_email
v_spl_title "Title of Email
'ALI' "File Format (ALI=List)
v_spl_name "File Name (Can't see how this is used)
v_spl_name "Description on Attachment max 12 characters
CHANGING gd_error
gd_reciever.
* Instructs mail send program for SAPCONNECT to send email(rsconn01)
PERFORM initiate_mail_execute_program.
ENDIF.
ENDIF.
ENDFORM. " send_spool_2_user
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
* Send email
FORM send_file_as_email_attachment TABLES pit_message
pit_attach
USING p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
CHANGING p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
* Fill the document data.
w_doc_data-doc_size = 1.
* Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
* Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = pit_attach[].
* Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
* Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = ld_attdescription.
t_packing_list-obj_name = ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
* Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
t_receivers-receiver = ld_email.
t_receivers-rec_type = 'C'.
t_receivers-com_type = ' '.
t_receivers-notif_del = ' '.
t_receivers-notif_ndel = ' '.
APPEND t_receivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
* Populate zerror return code
ld_error = sy-subrc.
* Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM. "SEND_FILE_AS_EMAIL_ATTACHMENT
*& Form INITIATE_MAIL_EXECUTE_PROGRAM
* Instructs mail send program for SAPCONNECT to send email.
FORM initiate_mail_execute_program.
WAIT UP TO 2 SECONDS.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ENDFORM. " INITIATE_MAIL_EXECUTE_PROGRAM
Edited by: Deborah Allen on May 11, 2010 12:36 AM
Similar Messages
-
How to print two alv lists in one spool request
Hello,
I have made a report which has one alv list based on CL_SALV_TABLE and a message box displayed in a splitter container based on SBAL. In dialog mode everything is fine.
If I run the report in batch mode, I have put the alv table to
list_display = abap_true.
For printing the messages I am using FM BAL_DSP_LOG_PRINT. It has this nice parameter
i_s_list_append = abap_true.
Unfortunatly the messages are not appended to the alv list, nor are they in the same spool request.
I think the system will put it only into the first spool request, when the name, the printer, the number of prints and the format are the same and of couse, if the spool request is still open for appenfing (which it is).
The name and the format are not the same in my case. So I tried to set the name to TEST using the print options of the FM
ls_print_options-print_ctrl-pri_params-plist = 'TEST'.
But unfortunately it is not working. No changes to the name, when I run the report in batch mode.
Who has experiance with that? Why are both lists not in the same spool request? Are my findings right? Why isn't the name changed?
Thank you for your help,
Peterdo 2 times
perform write_form.
end do.
for header u can give condtion in form.
use if condition in the editor...
this will help u...
Reward IF....... <= IF what? Points removed... read [the rules|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement]!
Regards
Anbu
Edited by: Julius Bussche on Jul 17, 2008 7:01 PM -
Is it possible to have Multiple Spool requests in one batch job overview?
Hi,
While running one of my z program in back ground, there are two spools generated (one by write statement and one by OPEN_FORM statement and both the spools are available in SP01 Transaction), but when i see the job overview in transaction SM37, I only see one spool request (that of the last spool request). Can any body in the group please tell me is it possible to see multiple spool requests in the job overview of one Abap program and if yes, how?
Thank you.
AbinashHi Jayanthi,
Thank you for the link. But probably that discussion was also an unsolved one.
Anyway, does any one in the group think that display of multiple spools per one step job is dependent on client / SAP Server setting? Because as evident from the chain of mails in the link provided by Jayanthi, some people say that they see multiple spool requests for one program in batch mode job overview (SM37)? If yes, can some body tell me the required configuration? -
ALV List, which one is better?
Hi All,
I need a suggestion which type of ALV(Block, hierarchy, etc...) is Best for given situation below.
I am showing data in ALV with respect to multiple Vendors. There are multiple line items to single Vendor and then Summary of printed line items. In Summary i am showing % values. This is repeated for all Vendors.
Please suggest.
ThanksHi,
Grid layout is best
Regards,
Bhaskar -
Program or function module to get active Batch jobs
Hi Experts,
I need a program or a FM that would give me the list of active batch jobs and also the time they were running
for.
Plz help me outYou Just follow the below code, It is exactly same as your requirement.
TYPES: BEGIN OF ty_itbl,
jobname TYPE tbtcp-jobname,
jobcount TYPE tbtcp-jobcount,
stepcount TYPE i,"tbtcp-stepcount,
sdldate TYPE tbtcp-sdldate,
sdltime TYPE tbtcp-sdltime,
sdluname TYPE tbtcp-sdluname,
status TYPE tbtco-status,
END OF ty_itbl.
DATA : wt_itbl TYPE TABLE OF ty_itbl,
wa_itbl TYPE ty_itbl.
SELECT a~jobname
a~jobcount
a~stepcount
a~sdldate
a~sdltime
a~sdluname
b~status
INTO CORRESPONDING FIELDS OF TABLE wt_itbl
FROM tbtcp AS a
INNER JOIN tbtco AS b
ON b~jobname EQ a~jobname
AND b~jobcount EQ a~jobcount
WHERE a~progname IN wp_prog
AND a~sdldate IN wp_date
AND b~status eq <STATUS>. "<-Give the Active Status here -
There is a program which runs in batch mode every 30 mins. After successful execution, program updates last run time stamp in a Z table. For each sales org we set one batch job, like this there are several jobs running in same time & some jobs are not updating time stamp. My gut feeling is reason could be table lock. We canu2019t ask batch team to schedule all jobs in sequential manner with in 30 mins duration because of huge number of jobs.
How we can overcome this problem.. Check for table lock using ENQUEUE_E_TABLES and wait for some time is feasible solution? Can some one guide me in this regard please?
Thanks in advance.Hi Perez C,
you may try ENQUEUE and skip for reprocessing, you can also set WAIT = 'X' in the ENQUEUE call. This will wait a pre-set time (default I think like 3 seconds) trying to lock the object. In most cases it helps. But if you can not lock successfully, you should write it to application log at least.
Regards,
Clemens -
How to get the list of batch jobs running in a specific application server
Hi Team,
I am trying to check in SM37 if there is any specific condition to get the list of batch jobs assigned to a specific target server but cant find any.
Is there is way to find the list of batch jobs assigned to run in one specific application server.( Target server specified in SM36 while job creation)Hello,
This is what you can do in SM37.
Execute the list of batch jobs, when the result appears on the screen edit the ALV grid via CTRL+F7.
Now add the following columns "TargetServ" and "Executing server".
You will now have two extra columns in your result list.
TargetServr contains the value of the application server where the job should run when you have explicitely filled it in.
Often this is empty, this means that at runtime SAP will determine itself on which application server the job will run (depending of course where the BGD processes are defined).
Executing server is filled in always for all executed jobs, this is the actual application server where the job has run.
You can also add these two fields in your initial selection screen of SM37 by using the "Extended job selection" button.
I hope this isusefull.
Wim -
Report to be sent to a list of recipients in an e:mail (part of batch job)
Hi,
I need to generate a report using ALV functionality.
Currently my report requirement is to sent to a list of recipients in an e:mail (part of the batch job set-up) and the recipients just download the report in a spreadsheet format.
Could you please give me the suggestions the way which I need to follow and how I will be able to set this report as a part of batch job which will send the report details to the users in the form of Email.
Points will be rewarded for the answers.
Regards,
Ravi GanjiHi,
IN SM36..You will see a button for "Spool list recipient" which is next to the target server button..
press that button..
Give the email address in the recipient field..
GIve the steps and start condition and then release the job..
THanks,
Naren -
How to send an updated list using batch job
Hi All,
The program displays data on the screen, if the data looks ok, then there is an option to update.
When I run update, the program submits a batch job and the basic list gets updated, but my batch job is still sending the data on the screen. how can i send the updated list using batch job.
Ex: output of the program
1 2
there is an update button on the screen, when i press update button, my program submits in batch job, the above list becomes
1 2
3 4
but when i check the spool, it shows the o/p as 1 2 ..it is not sending the updated list.
Please suggest me how to send the updated data
Thanks,
KumarHi Krishna,
I have added a button on the alv list. when i press update button, my program updates the list, then submits the batch job. I am attaching the sample test program i am trying with, please suggest me how can i get the updated list.
*& Report ZTESTSSSSS
REPORT ZTESTSSSSS.
DATA: gt_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat type slis_t_fieldcat_alv,
gt_sort TYPE slis_t_sortinfo_alv,
g_repid LIKE sy-repid,
gt_layout TYPE slis_layout_alv.
start-of-selection.
lt_return-type = 'S'.
lt_return-message = 'test message'.
append lt_return.
CLEAR gt_fieldcat.
gt_fieldcat-fieldname = 'TYPE'.
gt_fieldcat-outputlen = '3'.
gt_fieldcat-tabname = 'LT_RETURN'.
gt_fieldcat-seltext_l = 'Type'.
gt_fieldcat-seltext_m = 'Type'.
gt_fieldcat-seltext_s = 'Type'.
APPEND gt_fieldcat TO lt_fieldcat.
CLEAR gt_fieldcat.
gt_fieldcat-fieldname = 'MESSAGE'.
gt_fieldcat-outputlen = '15'.
gt_fieldcat-tabname = 'LT_RETURN'.
gt_fieldcat-seltext_l = 'Message'.
gt_fieldcat-seltext_m = 'Message'.
gt_fieldcat-seltext_s = 'Message'.
APPEND gt_fieldcat TO lt_fieldcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = lt_fieldcat
TABLES
T_OUTTAB = lt_return
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
*& Form set_pf_status
text
-->RT_EXTAB text
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'STANDARD'.
ENDFORM. "Set_pf_status
*& Form user_command
text
-->R_UCOMM text
-->RS_SELFIELD text
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: li_count TYPE I.
IF r_ucomm EQ 'UPD'.
Adding another message
lt_return-type = 'S'.
lt_return-message = 'Another test message'.
APPEND lt_return.
rs_selfield-refresh = 'X'.
rs_selfield-col_stable = 'X'.
rs_selfield-row_stable = 'X'.
l_upd = 'X'.
LOOP AT lt_return.
WRITE: / lt_return-type, lt_return-message.
ENDLOOP.
IF sy-batch IS INITIAL.
l_upd = 'X'.
Open the Job
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = w_name
IMPORTING
jobcount = w_number
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
IF sy-subrc = 0.
SUBMIT ('ZTESTSSSSS') VIA JOB w_name NUMBER w_number
AND RETURN
WITH p_recnnr = p_recnnr.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = w_number
jobname = w_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.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. "User_command
Thanks,
Kumar -
Converting alv list to excel and send to sapoffice or mail in batch mode
Hi every one.
I have the alv list and then I can send to sapoffice or mail in batch mode.
If I open the list in Sapoffice I can save the list in XLS format or if I open the list by mail, I can select all the content (because is a html file), select the copy option and then open EXCEL and paste the content.
Can I use an option to convert the alv list to an excel format and then send to mail or sapconnect in batch mode?if your requirement is to send a Excel sheet by Email then use this sample program.
*& Report ZEMAIL_ATTACH *
*& Example of sending external email via SAPCONNECT *
REPORT ZEMAIL_ATTACH .
TABLES: ekko.
PARAMETERS: p_email TYPE somlreci1-receiver
DEFAULT '[email protected]'.
TYPES: BEGIN OF t_ekpo,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
END OF t_ekpo.
DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0,
wa_ekpo TYPE t_ekpo.
TYPES: BEGIN OF t_charekpo,
ebeln(10) TYPE c,
ebelp(5) TYPE c,
aedat(8) TYPE c,
matnr(18) TYPE c,
END OF t_charekpo.
DATA: wa_charekpo TYPE t_charekpo.
DATA: it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
WITH HEADER LINE.
DATA: it_attach TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
WITH HEADER LINE.
DATA: t_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
t_contents LIKE solisti1 OCCURS 0 WITH HEADER LINE,
t_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
t_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE,
t_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE,
w_cnt TYPE i,
w_sent_all(1) TYPE c,
w_doc_data LIKE sodocchgi1,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
*START_OF_SELECTION
START-OF-SELECTION.
Retrieve sample data from table ekpo
PERFORM data_retrieval.
Populate table with detaisl to be entered into .xls file
PERFORM build_xls_data_table.
*END-OF-SELECTION
END-OF-SELECTION.
Populate message body text
perform populate_email_message_body.
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_message
it_attach
using p_email
'Example .xls documnet attachment'
'XLS'
'filename'
changing gd_error
gd_reciever.
Instructs mail send program for SAPCONNECT to send email(rsconn01)
PERFORM initiate_mail_execute_program.
*& Form DATA_RETRIEVAL
Retrieve data form EKPO table and populate itab it_ekko
FORM data_retrieval.
SELECT ebeln ebelp aedat matnr
UP TO 10 ROWS
FROM ekpo
INTO TABLE it_ekpo.
ENDFORM. " DATA_RETRIEVAL
*& Form BUILD_XLS_DATA_TABLE
Build data table for .xls document
FORM build_xls_data_table.
CONSTANTS: con_cret TYPE x VALUE '0D', "OK for non Unicode
con_tab TYPE x VALUE '09'. "OK for non Unicode
*If you have Unicode check active in program attributes thnen you will
*need to declare constants as follows
*class cl_abap_char_utilities definition load.
*constants:
con_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB,
con_cret type c value cl_abap_char_utilities=>CR_LF.
CONCATENATE 'EBELN' 'EBELP' 'AEDAT' 'MATNR'
INTO it_attach SEPARATED BY con_tab.
CONCATENATE con_cret it_attach INTO it_attach.
APPEND it_attach.
LOOP AT it_ekpo INTO wa_charekpo.
CONCATENATE wa_charekpo-ebeln wa_charekpo-ebelp
wa_charekpo-aedat wa_charekpo-matnr
INTO it_attach SEPARATED BY con_tab.
CONCATENATE con_cret it_attach INTO it_attach.
APPEND it_attach.
ENDLOOP.
ENDFORM. " BUILD_XLS_DATA_TABLE
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
Send email
FORM send_file_as_email_attachment tables pit_message
pit_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
changing p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
Fill the document data.
w_doc_data-doc_size = 1.
Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = pit_attach[].
Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = ld_attdescription.
t_packing_list-obj_name = ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
t_receivers-receiver = ld_email.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'.
t_receivers-notif_ndel = 'X'.
APPEND t_receivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
Populate zerror return code
ld_error = sy-subrc.
Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM.
*& Form INITIATE_MAIL_EXECUTE_PROGRAM
Instructs mail send program for SAPCONNECT to send email.
FORM initiate_mail_execute_program.
WAIT UP TO 2 SECONDS.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ENDFORM. " INITIATE_MAIL_EXECUTE_PROGRAM
*& Form POPULATE_EMAIL_MESSAGE_BODY
Populate message body text
form populate_email_message_body.
REFRESH it_message.
it_message = 'Please find attached a list test ekpo records'.
APPEND it_message.
endform. " POPULATE_EMAIL_MESSAGE_BODY
- Guru -
ALV List only 80 Columns when runinning as background job
Hello Guys,
I have a Problem with an ALV List.
We use the FM REUSE_ALV_HIERSEQ_LIST_DISPLAY for a Document Journal.
When I run it in foreground it works fine. But when I view the spool in background the list makes a break at excactly 80 signs, but the line size should be about 120.
In the report the Line-Size is set correctly, even the print parameters seem to be ok. We are running it with X_65_255.
I saw that there are some SAP Notes to this topic, but on our release (SAP_BASIS 700) the notes are already implemented.
Has anyone a solution to this topic?
Thanks and regards
RolandTry this.
[ALV List only 80 Columns when running in background job|https://forums.sdn.sap.com/click.jspa?searchID=25735042&messageID=5686003] -
ALV list display in a Background job - Spool output
Hi,
We are currently working on a report scheduled to be run in the background job, and the ALV list is displayed in the spool output.
ALV list in the spool does not look the same as front run job, the column headers are all crowded together, and there is no grid in-between different columns or rows. It's hard to read.
Is there a way to add grid for this kind of output?
Thanks!Hi Deepak:
I expanded your report into two rows display, and the grid in the spool display simply gone!
report zzscratch line-size 120 no standard page heading.
type-pools slis.
tables pa0001.
data : li_field type standard table of slis_fieldcat_alv,
gi_events type standard table of slis_alv_event,
gr_layout_bck type slis_layout_alv,
gr_save like disvariant,
gr_events type slis_alv_event.
types : begin of gtt_emp,
pernr type persno,
ename like pa0001-ename,
uname like pa0001-UNAME,
end of gtt_emp.
data : lr_field type slis_fieldcat_alv.
data : lc_rep like syst-repid.
data : li_emp type standard table of gtt_emp,
lr_emp type gtt_emp.
data : gv_ref_table type lvc_rtname.
gv_ref_table = 'CATSDB'.
lr_field-fieldname = 'PERNR'.
lr_field-ref_tabname = gv_ref_table.
lr_field-inttype = 'N'.
lr_field-outputlen = 8.
lr_field-seltext_l = 'EMPLOYEE Number'.
append lr_field to li_field.
lr_field-fieldname = 'ENAME'.
lr_field-ref_tabname = 'PA0001'.
lr_field-inttype = 'C'.
lr_field-outputlen = 40.
lr_field-seltext_l = 'EMPLOYEE Name'.
append lr_field to li_field.
lr_field-fieldname = 'UNAME'.
lr_field-ref_tabname = 'PA0001'.
lr_field-inttype = 'C'.
lr_field-outputlen = 12.
lr_field-seltext_l = 'User Name'.
lr_field-row_pos = 2.
lr_field-col_pos = 1.
append lr_field to li_field.
lc_rep = sy-repid.
gr_layout_bck-edit_mode = 'D'.
gr_save-report = sy-repid.
lr_emp-pernr = '00000001'.
lr_emp-ename = 'abc'.
lr_emp-uname = 'testus'.
append lr_emp to li_emp.
lr_emp-pernr = '00000002'.
lr_emp-ename = 'def'.
append lr_emp to li_emp.
lr_emp-pernr = '00000003'.
append lr_emp to li_emp.
lr_emp-pernr = '00000004'.
append lr_emp to li_emp.
lr_emp-pernr = '00000005'.
append lr_emp to li_emp.
lr_emp-pernr = '00000006'.
append lr_emp to li_emp.
lr_emp-pernr = '00000007'.
append lr_emp to li_emp.
lr_emp-pernr = '00000008'.
append lr_emp to li_emp.
end-of-selection.
Function module for ALV grid display
call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_buffer_active = 'X'
i_callback_program = lc_rep
is_layout = gr_layout_bck
it_fieldcat = li_field
i_save = 'A'
is_variant = gr_save
it_events = gi_events
TABLES
t_outtab = li_emp[]
EXCEPTIONS
program_error = 1
others = 2.
if sy-subrc <> 0.
clear gr_messages.
message e023 into gr_messages.
append gr_messages to gi_messages.
endif. -
Multiple ALV lists in a single spool of a job
Hi All,
Executing a custom program in background generates 2 lists in two different spools.
First list - ALV Grid displayed as ALV list
Second List - ALV Blocked List.
Though both the Spool request numbers generated during the execution of the program are displayed in the JOB LOG of the background job,only the latest spool(ALV Blocked List) is saved under this job.
We should go to Tx:SP01/02 to view the First list(ALV Grid) generated in the first Spool request.
Can someone tell me how to get both the lists in a single spool request..(Programmatically)
Or let me know if there is a way to display both the spool numbers in the Spool list of the job in SM37.
Thanks in advance.
HemanthHi Hemanth,
maybe you can have a look at the function RSPO_INSERT_SPOOL_CONCATENATE. There is a documentation in the function module transaction.
Regards
Frédéric -
How to view ALL batch job details (SM37) at one glance ?
Dear all,
I am documenting all released batch job details, the information required includes the job name, client number, job frequency .. etc.
In order to see that information, i go to SM37 and click on each job to see the details. I have about 60 jobs released, to get their details i have to click on them at least 60 times.
Is there a report or table that i can refer to that provides me the information of all the jobs in one screen ?
Thanks.
Advice and comment will be appreciated.
Regards,
KentDear Prashanth,
Thanks for the link, I managed to get the required information from table TBTCO or TBTCP with below selected fields.
JOBNAME = Background job name
SDLSTRTDT = Planned Start Date for Background Job
SDLSTRTTM = Planned start time for background Job
SDLUNAME = Initiator of job/step scheduling
PRDMINS = Duration period (in minutes) for a batch job
PRDHOURS = Duration period (in hours) for a batch job
PRDDAYS = Duration (in days) of DBA action
PRDWEEKS = Duration period (in weeks) for a batch job
PRDMONTHS = Duration period (in months) for a batch job
PERIODIC = Periodic jobs indicator ('X')
STATUS = State of Background Job, S = Released, F = Finished
AUTHCKMAN = Background client for authorization check
EVENTID = Background Processing Event
EVENTPARM = Background Event Parameters (Such as, Jobname/Jobcount)
Dear Juan,
Thanks for your reply.
Regards,
Kent -
How to print check box in ALV list display and how to pick selected ones
Hi
i am displaying one ALV list dispaly. for that im adding one check box fields by filling the fieldcat as below:
wa_fldcat-checkbox = 'X'.
wa_fldcat-edit = 'X'.
but the check box is showing disable mode only. i want to display that check box and if i select that check box i want pick that records. for ALV grid i found one FM to pick records of selectedones as below.
DATA ref_grid TYPE REF TO cl_gui_alv_grid.
IF ref_grid IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = ref_grid.
ENDIF.
IF ref_grid IS NOT INITIAL.
CALL METHOD ref_grid->check_changed_data.
ENDIF.
but how can i do for list display to pick those selected one records.
Can any one sugget regarding this.
Thanks in advance.
Rahul.Hi,
Thanks. now it's enabled. but how can we pick the records from that list whichever i selected through that check box.
i found this one for ALV grid:
DATA ref_grid TYPE REF TO cl_gui_alv_grid.
IF ref_grid IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = ref_grid.
ENDIF.
IF ref_grid IS NOT INITIAL.
CALL METHOD ref_grid->check_changed_data.
ENDIF.
but how for ALV normal list display.
Thanks.
rahul
Maybe you are looking for
-
Cannot open projects after updating to 10.0.1
it asks me to update my projects. i press ok. projects are all displayed in the project pane. but when i try to open a project (or sometimes even when I select a particular project), i get the spinning rainbow wheel. i've already tried trashing ~/Lib
-
I already submitted the issue on bugs.kde.org: https://bugs.kde.org/show_bug.cgi?id=270414 Version: unspecified (using KDE 4.6.2) OS: Linux When i rename a file using folderview, the file is renamed, but an error is triggered
-
How do I change the order of context menu items in Private Windows?
In the context menu that appears when I right-click on a link, I prefer to have "Open Link in New Window" at the top of the menu instead of "Open Link in New Tab". I have added code to userChrome.css to make that switch: #context-openlink { -moz-box-
-
UNABLE TO DOWNLOAD APPS THIS TIME
Starting to get on my nerves now all the time when i try to download apps or update existing ones it always says 'unable to download apps at this time, retry or done' clicked retry same message appears tried again a couple of hours later same freeeki
-
Export Image into MS Word using SAP DESKTOP Integration
Hello folks, I am trying to export an image from application server to MS Word document using METHOD ADD_BINARY_ITEM of I_OI_LINK_SERVER, I want to know what exactly i need to specify in EXPORTING parameter TABLE_URL? Kindly help, It is urgent. Thank