Upload and ALV List
Hi ,
I have an requirement to Upload PDF and display the file using ALV List .
Question:
For Ex: 1. Input Para: Type: test.PDF
1. Do we have any Function Module to read PDF file ?
Cheers,
I am not sure of this
But what you can do is convert pdf to xml and then you can upload in sap using smartform...
Not sure! Please try.
Regards,
Lalit Mohan Gupta.
Similar Messages
-
Differences between ABAP lists and ALV lists
what is the differences between ABAP lists and ALV lists?
Edited by: pong pong on Apr 9, 2008 5:08 AMHello Pong Pong,
Please go thru help topics:
ALV Grid
http://help.sap.com/saphelp_47x200/helpdata/en/bf/3bd1369f2d280ee10000009b38f889/frameset.htm
ABAP Lists
http://help.sap.com/saphelp_47x200/helpdata/en/d2/cb408a455611d189710000e8322d00/frameset.htm
Regards,
Siddhesh -
Display totals on the first line in ALV grid and ALV LIST
Generally we wll display totals at the end..
bu the requirement is to display it in the first line of the column.
how to display the totals in the first line?
I have used ALV GRID and ALV LIST (choice) using function modules.
Plz help me
.for example : Po qty : Should display total po qty on the first line of the Po line item.IN LAYOUT
ILAYOUT-totals_before_items = 'X'.
REGARDS
SHIBA DUTTA -
Differences between normal list and ALV list
Hi All,
where can i find the differences between a Normal SAP List and ALV List(Documentation part).Imagine you have to write a report that lists out customer addresses. You will write code to get the input from the user via selection screen and then read the data based on the seletion from the database into an internal table(or a set of internal tables). Now once you have the data you will need to output this. In normal list reports, you will have to use 'WRITE' statements to format the output into columns and rows. Now suppose user wants some interactivity in it. Then you will have to provide some buttons and/or menu options through custom pf-status and then write logic for reacting to the user actions. After writing many such reportsm, you will feel like some of this can generalized and reused in every report.
That is exactly what ALV does. It takes out most of repeated sections of the code from out of you and provides you with excellent outputting functionality. It provides many standard functions like 'print', 'sort', 'filter', 'sum' etc by default. Imagine writing code yourself for all these if you were writing normal list program. One more major difference is the editing feature. If you were write a program that gives the user with editing features, then you will have to write a lot of logic. But with ALV, all the features like adding a row, deleting a row, copying a row, editing some fields of a row etc come by default.
Likewise, interactivity has become quite easy to implement. Like double clicking on a customer number, if the user wants to go to display customer transaction, it is very easy using ALV.
As pointed out here by others, go through the documentation of ALV and go through some of those demo programs and you will know the difference. ALV takes out a lot of burden of coding everything away from you and lets you worry about the business functionality that your report provides, rather than formatting the output or providing interactivity to the output.
Hope this helps,
Srinivas -
Change the Layout for Create Change Display and Alv List
Hi All,
I am working on Custom Development WD Application for Maintain Employee.
I need to Get help/advice to hadle the two Problems.
1) In my application I have to provide Create,Change & display Employee.
Customer needs seperate Link/Application for all Create , Change and Display in Portal.
I thought I am planning to Create Three Application in the WD Component(Create,Change & Display) while Pressing the Application I have to find out what is the Application They Pressed in the Componenet Controller to Change the Layout/Field (Edit/Display/Visisble) according to Create/Change/Display Employee.
For this How to Find the Application name of the WD Componenet.
2) To show the Employee List I am having using ALV LIst.
But my List consuists of 35 Fields. Customer not ready for scrolling the List to see all columns.
I thought I am planning to provide Visible/Invisble columns after providing one button.
If they pressed this button It will next set of Columns with out scrollibng.
How to handle this ?
Kindly help/advise me for both the Problems to proceed further.
Thanks in advance.
Dav1.For this How to Find the Application name of the WD Componenet.
DATA:
l_api type ref to if_wd_component,
l_application_api type ref to if_wd_application,
l_application_info type ref to if_wd_rr_application,
lv_name type string.
l_api = wd_this->wd_get_api( ).
l_application_api = l_api->get_application( ).
l_application_info = l_application_api->get_application_info( ).
lv_name = l_application_info->get_name( ).
> 2) To show the Employee List I am having using ALV LIst.
>
> But my List consuists of 35 Fields. Customer not ready for scrolling the List to see all columns.
Are they planning to buy Wide Screen monitor ??
I am not really fan of the solution you propose, at the same time i am not having better idea. I would get the customer on table and see how they would like to have the presentation of 35 columns without scrolling.
ALV provides customization, in that way users can select their own list of columns. -
Manual Fieldcatalog and ALV list display.
Hi,
Could anyone help me to know the step by step procedure to create a fieldcatalog manually and then using it for ALV list display?
Thanks,
Sandeep.Hi Sandeep,
Refer this code :
FORM build_fieldcatlog USING p_it_fieldcat TYPE slis_t_fieldcat_alv.
DATA: itab_fieldcat TYPE slis_fieldcat_alv.
FOR LIGHTS
CLEAR itab_fieldcat.
itab_fieldcat-col_pos = '1'. " POSITION OF THE COLUMN.
itab_fieldcat-fieldname = 'V_LIGHTS'. " FIELD FOR WHICH CATALOG ID FILLED.
itab_fieldcat-tabname = 'It_matstock'. " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.
itab_fieldcat-emphasize = 'C410'. " COLOR OF THIS COLUMN.
itab_fieldcat-seltext_l = 'Category'. " LONG TEXT FOR HEADER.
itab_fieldcat-seltext_m = 'Category'. " MEDIUM TEXT FOR HEADER.
itab_fieldcat-seltext_s = 'Category'. " SHORT TEXT FOR HEADER.
itab_fieldcat-outputlen = 7. " TO DEFINE OUTPUT LENGTH OF THE COLUMN.
APPEND itab_fieldcat TO p_it_fieldcat.
FOR CHECK BOX
CLEAR itab_fieldcat.
itab_fieldcat-col_pos = '2'. " POSITION OF THE COLUMN.
itab_fieldcat-fieldname = 'V_CHKBOX'. " FIELD FOR WHICH CATALOG ID FILLED.
itab_fieldcat-tabname = 'It_matstock'. " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.
itab_fieldcat-emphasize = 'C410'. " COLOR OF THIS COLUMN.
itab_fieldcat-seltext_l = 'CHECKBOX'. " LONG TEXT FOR HEADER.
itab_fieldcat-seltext_m = 'CHKBOX'. " MEDIUM TEXT FOR HEADER.
itab_fieldcat-seltext_s = 'CHKBOX'. " SHORT TEXT FOR HEADER.
itab_fieldcat-checkbox = 'X'. " CHECK BOX
itab_fieldcat-edit = 'X'.
itab_fieldcat-outputlen = 2. " TO DEFINE OUTPUT LENGTH OF THE COLUMN.
APPEND itab_fieldcat TO p_it_fieldcat.
*FOR MATERIAL NO (IT_MATSTOCK-MATNR)
CLEAR itab_fieldcat.
itab_fieldcat-col_pos = '3'. " POSITION OF THE COLUMN.
itab_fieldcat-fieldname = 'MATNR'. " FIELD FOR WHICH CATALOG ID FILLED.
itab_fieldcat-tabname = 'IT_MATSTOCK'. " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.
itab_fieldcat-emphasize = 'C410'. " COLOR OF THIS COLUMN.
itab_fieldcat-seltext_l = 'MATERIAL NO'. " LONG TEXT FOR HEADER.
itab_fieldcat-seltext_m = 'MATNO'. " MEDIUM TEXT FOR HEADER.
itab_fieldcat-seltext_s = 'MATNO'. " SHORT TEXT FOR HEADER.
itab_fieldcat-hotspot = 'X'. " HOT SPOT
itab_fieldcat-outputlen = 20. " TO DEFINE OUTPUT LENGTH OF THE COLUMN.
APPEND itab_fieldcat TO p_it_fieldcat.
FOR PLANT (IT_MATSTOCK-WERKS)
CLEAR itab_fieldcat.
itab_fieldcat-col_pos = '4'. " POSITION OF THE COLUMN.
itab_fieldcat-fieldname = 'WERKS'. " FIELD FOR WHICH CATALOG ID FILLED.
itab_fieldcat-tabname = 'IT_MATSTOCK'. " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.
itab_fieldcat-emphasize = 'C510'. " COLOR OF THIS COLUMN.
itab_fieldcat-seltext_l = 'PLANT'.
itab_fieldcat-seltext_m = 'PLANT'.
itab_fieldcat-seltext_s = 'PLANT'.
itab_fieldcat-outputlen = 10. " TO DEFINE OUTPUT LENGTH OF THE COLUMN.
APPEND itab_fieldcat TO p_it_fieldcat.
FOR STORAGE LOCATION (IT_MATSTOCK-LGORT)
CLEAR itab_fieldcat.
itab_fieldcat-col_pos = '5'. " POSITION OF THE COLUMN.
itab_fieldcat-fieldname = 'LGORT'. " FIELD FOR WHICH CATALOG ID FILLED.
itab_fieldcat-tabname = 'IT_MATSTOCK'. " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.
itab_fieldcat-emphasize = 'C610'. " COLOR OF THIS COLUMN.
itab_fieldcat-seltext_l = 'STORAGE LOCATION'.
itab_fieldcat-seltext_m = 'STORAGE LOC'.
itab_fieldcat-seltext_s = 'SLOC'.
itab_fieldcat-outputlen = 10. " TO DEFINE OUTPUT LENGTH OF THE COLUMN.
APPEND itab_fieldcat TO p_it_fieldcat.
FOR QUANTITY (IT_MATSTOCK-LABST)
CLEAR itab_fieldcat.
itab_fieldcat-col_pos = '6'. " POSITION OF THE COLUMN.
itab_fieldcat-fieldname = 'LABST'. " FIELD FOR WHICH CATALOG ID FILLED.
itab_fieldcat-tabname = 'IT_MATSTOCK'. " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.
itab_fieldcat-emphasize = 'C710'. " COLOR OF THIS COLUMN.
itab_fieldcat-seltext_l = 'QUANTITY'.
itab_fieldcat-seltext_m = 'QUANTITY'.
itab_fieldcat-seltext_s = 'QUAN'.
itab_fieldcat-outputlen = 10. " TO DEFINE OUTPUT LENGTH OF THE COLUMN.
APPEND itab_fieldcat TO p_it_fieldcat.
FOR UNIT OF MEASUREMENT (IT_MATSTOCK-MEINS)
CLEAR itab_fieldcat.
itab_fieldcat-col_pos = '7'. " POSITION OF THE COLUMN.
itab_fieldcat-fieldname = 'MEINS'. " FIELD FOR WHICH CATALOG ID FILLED.
itab_fieldcat-tabname = 'IT_MATSTOCK'. " INTERNAL TABLE TO WHICH THE FIELD BELONGS TO.
itab_fieldcat-emphasize = 'C110'. " COLOR OF THIS COLUMN.
itab_fieldcat-seltext_l = 'UNIT OF MEASURE'.
itab_fieldcat-seltext_m = 'UNIT OF MSURE'.
itab_fieldcat-seltext_s = 'UOM'.
itab_fieldcat-outputlen = 10. " TO DEFINE OUTPUT LENGTH OF THE COLUMN.
APPEND itab_fieldcat TO p_it_fieldcat.
FORM alv_display_grid .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
i_structure_name = 'D_STRUCTURE'
I_BACKGROUND_ID = ' '
i_grid_title =
I_GRID_SETTINGS =
is_layout =
it_fieldcat = it_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
it_sort =
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
i_save = 'A'
is_variant =
IT_EVENTS = I_EVENTCAT
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_matstock
EXCEPTIONS
program_error = 1
OTHERS = 2
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. " ALV_DISPLAY_GRID
Reward points if helpful.
Regards,
Hemant -
ALV Grid and ALV List difference?
Hello,
Can you help me differentiate ALV List and ALV grid and the low-level definition or context of each?
Also, can you give me a transaction code that outputs an ALV list as well as a tcode for ALV grid?
Thanks,
JennahHi Kirtish,
Thanks but I havent done any function module stuff as I am not an ABAPer but anyway can you guide me through thios?
"I hope this might slove your query. For more please refer to documentation on ALV and also implement the ALV LIST and GRID reports. By using class Class CL_GUI_ALV_GRID, Function module REUSE_ALV_LIST_DISPLAY , REUSE_ALV_GRID_DISPLAY and some more functions like that only."
I will give you some tcode can you please try tcode FBL1n? then execute the report. What is the output is it an ALV list?
I wish to see an ALV list also an ALV grid to see difference.
Tjhakns,
Jennah -
How to view the report of Upload and Download list
Hello,
I would like to see the Portal Activity Report of all the users who have logged in and out and their times and I would like to see the names also with how many uploades and downloades from the portal.
I can view only the user ids thats all in the Portal Activity Report.
Can anyone help me. Please
cheers
muraliHi Murali,
KM access is not logged by the portal activity report so far.
You would have to implement it on your own. For an introduction see Documents hits count (KM Activity Reporting)
Hope it helps
Detlev -
Report with ALV tree and ALV list?
I need to create a report with layout as same as this one
[http://trangiegie.com/MyFile/output.JPG]
It looks like a report with combination of ALV tree and list. The tree works like a navigation bar. Wonder if there are any demo programs like this. Will appreciate any help.For Tree alone - You can check program : BCALV_TREE_02
Program Name Report title
BCALV_GRID_DND_TREE ALV Grid: Drag and Drop with ALV Tree
BCALV_GRID_DND_TREE_SIMPLE ALV GRID: Drag and drop with ALV tree (simple)
BCALV_TEST_COLUMN_TREE Program BCALV_TEST_COLUMN_TREE
BCALV_TEST_SIMPLE_TREE Program BCALV_TEST_SIMPLE_TREE
BCALV_TREE_01 ALV Tree Control: Build Up the Hierarchy Tree
BCALV_TREE_02 ALV Tree Control: Event Handling
BCALV_TREE_03 ALV Tree Control: Use an Own Context Menu
BCALV_TREE_04 ALV Tree Control: Add a Button to the Toolbar
BCALV_TREE_05 ALV Tree Control: Add a Menu to the Toolbar
BCALV_TREE_06 ALV tree control: Icon column and icon for nodes/items
BCALV_TREE_DEMO Demo for ALV tree control
BCALV_TREE_DND ALV tree control: Drag & Drop within a hierarchy tree
BCALV_TREE_DND_MULTIPLE ALV tree control: Drag & Drop within a hierarchy tree
BCALV_TREE_EVENT_RECEIVER Include BCALV_TREE_EVENT_RECEIVER
BCALV_TREE_EVENT_RECEIVER01
BCALV_TREE_ITEMLAYOUT ALV Tree: Change Item Layouts at Runtime
BCALV_TREE_MOVE_NODE_TEST Demo for ALV tree control
BCALV_TREE_SIMPLE_DEMO Program BCALV_TREE_SIMPLE_DEMO
BCALV_TREE_VERIFY Verifier for ALV Tree and Simple ALV Tree -
Uploading logo into interactive reports and ALV rerports
hi experts,
how to upload logo into interactive reports and ALV reports.
thank u.hi for any thing in alv check these links,
chk out these links..
Simple ALV report
http://www.sapgenie.com/abap/controls/alvgrid.htm
http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
ALV
1. Please give me general info on ALV.
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
2. How do I program double click in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=11601
http://www.sapfans.com/forums/viewtopic.php?t=23010
3. How do I add subtotals (I have problem to add them)...
http://www.sapfans.com/forums/viewtopic.php?t=20386
http://www.sapfans.com/forums/viewtopic.php?t=85191
http://www.sapfans.com/forums/viewtopic.php?t=88401
http://www.sapfans.com/forums/viewtopic.php?t=17335
4. How to add list heading like top-of-page in ABAP lists?
http://www.sapfans.com/forums/viewtopic.php?t=58775
http://www.sapfans.com/forums/viewtopic.php?t=60550
http://www.sapfans.com/forums/viewtopic.php?t=16629
5. How to print page number / total number of pages X/XX in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
http://www.sapfans.com/forums/viewtopic.php?t=64320
http://www.sapfans.com/forums/viewtopic.php?t=44477
7. How can I set the cell color in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=52107
8. How do I print a logo/graphics in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=81149
http://www.sapfans.com/forums/viewtopic.php?t=35498
http://www.sapfans.com/forums/viewtopic.php?t=5013
9. How do I create and use input-enabled fields in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=84933
http://www.sapfans.com/forums/viewtopic.php?t=69878
10. How can I use ALV for reports that are going to be run in background?
http://www.sapfans.com/forums/viewtopic.php?t=83243
http://www.sapfans.com/forums/viewtopic.php?t=19224
11. How can I display an icon in ALV? (Common requirement is traffic light icon).
http://www.sapfans.com/forums/viewtopic.php?t=79424
http://www.sapfans.com/forums/viewtopic.php?t=24512
12. How can I display a checkbox in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=88376
http://www.sapfans.com/forums/viewtopic.php?t=40968
http://www.sapfans.com/forums/viewtopic.php?t=6919
Go thru these programs they may help u to try on some hands on
ALV Demo program
BCALV_DEMO_HTML
BCALV_FULLSCREEN_DEMO ALV Demo: Fullscreen Mode
BCALV_FULLSCREEN_DEMO_CLASSIC ALV demo: Fullscreen mode
BCALV_GRID_DEMO Simple ALV Control Call Demo Program
BCALV_TREE_DEMO Demo for ALV tree control
BCALV_TREE_SIMPLE_DEMO
BC_ALV_DEMO_HTML_D0100
reward points if useful,
regards,
venkat. -
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 -
Convert ALV list to PDF and send mails to respective persons
Hi All,
I have a requirement ..we have written a program which will give o/p in alv list.Now I got a requirement to download that program to ALV format.Kindly help me how to approch for that we have some standard FM's for that like CONVERT_ABAPSPOOLJOB_2_PDF..what are the necessary inputs I have to give for that FM,
Second requirement is I have to send an E mail of that list to respective persons.help me on this also
Regards
KKHi,
Try with this program which will send the spool to email.
PARAMETER: p_email1 LIKE somlreci1-receiver
DEFAULT '[email protected]',
p_sender LIKE somlreci1-receiver
DEFAULT '[email protected]',
p_delspl AS CHECKBOX.
*DATA DECLARATION
DATA: gd_recsize TYPE i.
* Spool IDs
TYPES: BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
* Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA: w_recsize TYPE i.
DATA: gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des.
* Spool to PDF conversions
DATA: gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
* Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
CONSTANTS: c_dev LIKE sy-sysid VALUE 'DEV',
c_no(1) TYPE c VALUE ' ',
c_device(4) TYPE c VALUE 'LOCL'.
*START-OF-SELECTION.
START-OF-SELECTION.
* Write statement to represent report output. Spool request is created
* if write statement is executed in background. This could also be an
* ALV grid which would be converted to PDF without any extra effort
WRITE 'Hello World'.
new-page.
commit work.
new-page print off.
IF sy-batch EQ 'X'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
*** Alternative way could be to submit another program and store spool
*** id into memory.
*submit ZSPOOLTOPDF2
* to sap-spool
* spool parameters %_print
* archive parameters %_print
* without spool dynpro
* and return.
* Get spool id from program called above
* IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
PERFORM convert_spool_to_pdf.
PERFORM process_email.
if p_delspl EQ 'X'.
PERFORM delete_spool.
endif.
IF sy-sysid = c_dev.
wait up to 5 seconds.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ENDIF.
ELSE.
SKIP.
WRITE:/ 'Program must be executed in background in-order for spool',
'request to be created.'.
ENDIF.
* FORM obtain_spool_id *
FORM obtain_spool_id.
CHECK NOT ( gd_jobname IS INITIAL ).
CHECK NOT ( gd_jobcount IS INITIAL ).
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident <> '0000000000'
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
IF sy-subrc = 0.
message s004(zdd) with gd_spool_nr.
gd_spool_nr = wa_tbtcp-listident.
MESSAGE s004(zdd) WITH gd_spool_nr.
ELSE.
MESSAGE s005(zdd).
ENDIF.
ENDFORM.
* FORM get_job_details *
FORM get_job_details.
* Get current job details
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
ENDFORM.
* FORM convert_spool_to_pdf *
FORM convert_spool_to_pdf.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
* Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att = gd_buffer.
APPEND it_mess_att.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
* FORM process_email *
FORM process_email.
DESCRIBE TABLE it_mess_att LINES gd_recsize.
CHECK gd_recsize > 0.
PERFORM send_email USING p_email1.
* perform send_email using p_email2.
ENDFORM.
* FORM send_email *
* --> p_email *
FORM send_email USING p_email.
CHECK NOT ( p_email IS INITIAL ).
REFRESH it_mess_bod.
* Default subject matter
gd_subject = 'Subject'.
gd_attachment_desc = 'Attachname'.
* CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
it_mess_bod = 'Message Body text, line 1'.
APPEND it_mess_bod.
it_mess_bod = 'Message Body text, line 2...'.
APPEND it_mess_bod.
* If no sender specified - default blank
IF p_sender EQ space.
gd_sender_type = space.
ELSE.
gd_sender_type = 'INT'.
ENDIF.
* Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_mess_bod
it_mess_att
using p_email
'Example .xls documnet attachment'
'PDF'
gd_attachment_name
gd_attachment_desc
p_sender
gd_sender_type
changing gd_error
gd_reciever.
ENDFORM.
* FORM delete_spool *
FORM delete_spool.
DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
ld_spool_nr = gd_spool_nr.
CHECK p_delspl <> c_no.
CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
EXPORTING
spoolid = ld_spool_nr.
ENDFORM.
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
* Send email
FORM send_file_as_email_attachment tables it_message
it_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.
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.
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[] = it_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.
Regards,
Raghav -
How to upload and overwrite a file from a dynamic list
I need to come up with a way to upload and overwrite and existing image file from a dynamically generated list. For instance, there would be a drop-down select box with Company A, Company B, Company C, etc. and when the user selects one of them it should display a prompt to upload a new logo image file, overwriting the existing logo file. Any help would be appreciated.
I'm not sure why you need a prompt. Sounds like an unnecessary annoyance to me.
A simple form with a select and input type="file" should get you started. Then I would probably do something like:
1. upload the file to a temp folder on your server.
2. Rename it according to what company was selected.
3. Move it to it's permanent folder. -
ALV List Layout add new button and modify Append Row Button Text and Logi
Hi All,
I am working on Employee custom development Application in Webdynpro ABAP>
In my ALV list Layout I have to add new two Buttons Top or Bottom of the ALV List.
If I am adding I have to add logic for those Buttons. How to add and add logic for those buttons.
as well as I have to Change the Text for Existing Button ''Append Row'' to "ADD NEW ROWS"
and I have to add logic in this button while Append New Row I have to generate ID no for New Rows .
Kindly help/advice me to proceed further.
Thanks in advance.
DavHi Dav,
To Add buttons please refer this thred,
ALV with user-defined buttons on toolbar in wd abap
To change or rename text in ALV standard buttons, please refer this ...
How can i change the text of an standard button in ALV?
and also see this article on self defined functions...
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/101df93f-4b5c-2910-14aa-9eb0338c2110?quicklink=index&overridelayout=true
Thanks,
Kris.
Edited by: kissnas on Feb 22, 2011 5:59 AM -
My subtotal and total text in ALV list does not show...
Hello Experts,
Please see my code below on what I am doing wrong. I want to display the subtotal and total text in my ALV list.
CLEAR gs_layout.
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.
gs_layout-subtotals_text = 'Subtotal'.
gs_layout-totals_text = 'Total'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = gs_layout
it_fieldcat = gt_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
it_sort = gt_sort
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
it_events = gt_events
* IT_EVENT_EXIT =
is_print = gs_print
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = lt_output_fin
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.Use on Thread. Don't Cross post. and Follow the Rules.
Maybe you are looking for
-
How to add a scrolling text to display in a web part?
Hi, I have 3 files in a doc library that is been referenced by a web part xml viewer in a page. I am referring only the xml file. WarningMessage.xml <script type="text/javascript" src="http://icare/sites/IT/tst/XmlWebParts/WarningMessage/WarningMess
-
HT1660 How do I load my itune library files from to another computer?
I have a new computer and am trying to find my itunes files. How do I do that?
-
Is there a way to connect remotely to another mac so I can help my parents?
I need to help my parents setup skype and they can't figure it out. Does anyone know of a way I can remotely connect to their mac?
-
How to create 9i db without sample schema?
I have (finally) gotten 9iR2 installed on RH 7.3. During installation I created sample database instance TEST. I then used dbca to create a second instance JSDB. I did not see (but may have missed) dbca questions regarding wether or not to create/loa
-
Dear MDM experts, Can we design the workflow in VISIO and make use of that from the Data Manager or does one always have to use Data Manager to get into VISIO to do the design. Appreciate your inputs. Thanks.