Emailing output to multiple Vendors
HI all,
I have an Purchase order smartform for which I have a driver program and in that I have given a Vendor email address so that the output can go to his email ID.
Now my question is how to send an email to multiple vendors ?
what more additions to be done in the programmig part?
if anybody has some examples plz send me...
Thx
Hi,
check below link its useful for you
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/email%2bfrom%2bsap
Regards,
Madhu
Similar Messages
-
Scheduling of Discoverer Reports and emailing output to multiple recipients
Hi,
Is is possible using Oracle Discoverer Server (Plus and Viewer) version 10.1.2 to schedule workbooks and then have the output of the scheduled workbooks emailed to multiple email recipients at the time the scheduled report completes?
Kind regards,
Leigh.hi,
Within the discoverer tool there is no functional sulotion to email scheduled reports.
This issue came up several times in the past to this forum,
the solution is to use a third party tool that once the scheuled run is completed the third party tool will collect the output file and mail it.
the workaround is described in MOS [ID 373812.1] How to Schedule Reports to Run at a Specific Time and Automatically E-mail The Output
Tamir -
Converting report output to pdf by submit spooland email to multiple vendor
Hi all,
my current program converting the report output to pdf and then downaloding andsending to vendor email.If user enter single vendor is o.k. but if suppose user enter multiple vendors,report is dipalying with multiple vendor information and all this information converting to one pdf file only.but i need particular vendor pdf have particular vendor info only excluding remaining vendor info.I am pasting my code.can anyone suggest?
TYPES: BEGIN OF type_data,
lifnr TYPE ekko-lifnr,
matnr TYPE lips-matnr,
vgbel TYPE lips-vgbel,
vgpos TYPE lips-vgpos,
mfrgr TYPE lips-mfrgr,
vbeln TYPE ekes-vbeln,
erdat TYPE ekes-erdat,
lfdat TYPE ekes-eindt,
lgort TYPE lips-lgort,
verur TYPE ekes-xblnr,
lfuhr TYPE ekes-uzeit,
lfimg TYPE lips-lfimg,
meins TYPE lips-meins,
posnr TYPE lips-posnr,
kdmat TYPE lips-kdmat,
dabmg TYPE ekes-dabmg,
eindt TYPE eket-eindt,
* Add by liza DEVK989704
park TYPE ZPO_PARK-menge,
* End by liza DEVK989704
END OF type_data.
DATA: gt_data TYPE STANDARD TABLE OF type_data.
DATA: gw_data LIKE LINE OF gt_data.
form display_list.
DATA: lv_maktx TYPE makt-maktx,
lv_adv(01) TYPE c.
DATA: lv_menge TYPE zomm_t0104m-menge.
*-- Set titles
title1 = 'Shipping notifications'.
title2 = '(Formerly Known As Matsushita Industrial )'.
title3 = sy-title.
IF NOT pa_fax IS INITIAL.
NEW-PAGE LINE-SIZE 120 LINE-COUNT 44.
title3 = 'Outstanding shipping notifications by supplier'.
ENDIF.
SORT gt_data BY lifnr lfdat matnr vgbel vgpos eindt.
LOOP AT gt_data INTO gw_data.
AT NEW lifnr.
NEW-PAGE.
sy-pagno = 1.
*-- Get the vendor name
CLEAR: gv_name1,
gv_telf1,
gv_telfx.
SELECT SINGLE name1 telf1 telfx
INTO (gv_name1, gv_telf1, gv_telfx)
FROM lfa1
WHERE lifnr = gw_data-lifnr.
ENDAT.
AT NEW matnr.
*-- Get the material description
CLEAR lv_maktx.
SELECT SINGLE maktx INTO lv_maktx
FROM makt
WHERE matnr = gw_data-matnr
AND spras = sy-langu.
ENDAT.
*-- If "only pending shipping notifications" is selected, remove all
* entries with no pending quantity
IF gw_data-lfimg LE gw_data-dabmg AND
pa_pend = 'X'.
CONTINUE.
ENDIF.
*-- Highlight entries where the SN delivery date is before the PO
* delivery date
IF gw_data-lfdat < gw_data-eindt.
FORMAT INTENSIFIED ON.
lv_adv = 'X'.
ELSE.
FORMAT INTENSIFIED OFF.
CLEAR lv_adv.
ENDIF.
lv_menge = gw_data-lfimg - gw_data-dabmg.
* Add by liza DEVK989704
clear: PARKING, T_PARK.
refresh: T_PARK.
Select * from ZPO_PARK into T_PARK
where vbeln = gw_data-vbeln
and lifnr = gw_data-lifnr
and matnr = gw_data-matnr.
Append T_PARK.
Endselect.
Loop at T_PARK.
PARKING = PARKING + T_PARK-menge.
Endloop.
gw_data-park = PARKING.
* End by liza DEVK989704
IF pa_fax IS INITIAL.
WRITE:/2(18) gw_data-matnr,
(40) lv_maktx,
gw_data-vgbel,
gw_data-eindt,
(04) gw_data-mfrgr,
(18) gw_data-verur,
gw_data-vbeln,
gw_data-lfdat,
(07) gw_data-lfimg UNIT gw_data-meins,
(07) gw_data-dabmg UNIT gw_data-meins,
(07) lv_menge UNIT gw_data-meins,
gw_data-lgort,
gw_data-erdat,
(01) lv_adv,
* Add by liza DEVK989704
(08) gw_data-park.
* End by liza DEVK989704
ELSE.
WRITE:/2(12) gw_data-matnr,
(26) lv_maktx,
gw_data-vgbel,
(16) gw_data-verur,
gw_data-vbeln,
gw_data-lfdat,
(07) gw_data-lfimg UNIT gw_data-meins,
(07) gw_data-dabmg UNIT gw_data-meins,
(07) lv_menge UNIT gw_data-meins,
gw_data-lgort.
ENDIF.
PERFORM write_vline.AT END OF lifnr.
If pa_dtim NE '000000'.
ULINE.
SKIP.
WRITE:/12 TS_VEND.
WRITE:/12 TS_ATT.
WRITE:/12 TS_FROM.
SKIP. "D01K934099
WRITE:/12'DELIVERY TIME:',pa_dtim. "D01K934099
SKIP. "D01K934099
WRITE:/12 TS_TEXT1.
WRITE:/12 TS_TEXT2.
WRITE:/12 TS_TEXT3.
WRITE:/12 TS_TEXT4.
Else.
ULINE.
SKIP.
WRITE:/12 TS_VEND.
WRITE:/12 TS_ATT.
WRITE:/12 TS_FROM.
WRITE:/12 TS_TEXT1.
WRITE:/12 TS_TEXT2.
WRITE:/12 TS_TEXT3.
WRITE:/12 TS_TEXT4.
Endif.
ENDAT.
move-corresponding gw_data to t_data.
move : lv_maktx to t_data-maktx,
lv_menge to t_data-menge,
lv_adv to t_data-adv,
parking to t_data-park.
append t_data.
L_X = 'X'.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
NO_DIALOG = L_X
IMPORTING
OUT_PARAMETERS = GS_PRINT_PARAMS
VALID = G_VALID
IF SY-SUBRC 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
GS_PRINT_PARAMS-PAART = 'X_65_80'.
GS_PRINT_PARAMS-LINSZ = '185'.
* /*----------store the current selection screen details---------/
CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
EXPORTING
CURR_REPORT = SY-REPID
TABLES
SELECTION_TABLE = T_RSPARAMS
EXCEPTIONS
NOT_FOUND = 1
NO_REPORT = 2
OTHERS = 3
IF SY-SUBRC 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* /*--- importing variable value set at first time to restrict the infinite loop --------/.
IMPORT VAR FROM MEMORY ID 'abc' .
VAR = VAR + 1 .
P_UNAME = SY-UNAME .
P_REPID = SY-REPID .
* /*------checking variable to restricted scecond time exction of this block of code---------/
IF VAR = 1 .
V_MEMID = 1 .
EXPORT VAR TO MEMORY ID 'abc' .
* /*-----------submitting the spool request--------------/
SUBMIT (P_REPID) WITH SELECTION-TABLE T_RSPARAMS
TO SAP-SPOOL
SPOOL PARAMETERS GS_PRINT_PARAMS
WITHOUT SPOOL DYNPRO
AND RETURN.
endif.
FREE MEMORY ID 'abc'.
* /*-------Calculating the lenth of report name--------/
v_len = STRLEN( P_REPID ) .
* /*-------consutrucing the database variable rq2name to search the spool request---------/
IF v_len >= 9 .
CONCATENATE P_REPID+0(9)
P_UNAME+0(3) INTO LC_RQ2NAME .
ELSE.
V_LEN1 = 9 - V_LEN .
DO V_LEN1 TIMES .
CONCATENATE V_TEMP '_' INTO V_TEMP .
ENDDO.
CONCATENATE P_REPID V_TEMP
P_UNAME INTO LC_RQ2NAME .
ENDIF.
* /*--------selecting the spool request using the above constructed variable----------/
SELECT * FROM TSP01 INTO TABLe IT_TSP01
WHERE RQ2NAME = LC_RQ2NAME .
* /*--------sorting the internal table-----------/
SORT it_tsp01 BY RQCRETIME DESCENDING .
* /*--------reading the first spool request-------/
READ TABLE IT_TSP01 INDEX 1.
* /*--------Convert Spool to PDF-----------/
IF GS_PRINT_PARAMS-PDEST IS INITIAL.
GS_PRINT_PARAMS-PDEST = 'LOCL'.
ENDIF.
CONCATENATE P_DEST T_DATA-LIFNR '.PDF' INTO G_FILENAME.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = IT_TSP01-RQIDENT
NO_DIALOG = SPACE
IMPORTING
PDF_BYTECOUNT = G_BYTECOUNT
TABLES
PDF = T_PDF
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
IF SY-SUBRC 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. -
PO output sending to vendor via email by PDF Format
Hi All,
Business needs to send the PO output in PDF Format to multiple vendor contact via email. They also needs soem text in the body of the mail.
Is it possible to config via standard SAP or we need to develop a customed program?
Suppose If it is possible via standard SAP can some one post the detailed steps.
Thanks in Advance
Regards
KarthickExternal Send - Sending PO by email
In order to send PO, your Basis team must configure the system first so that external email can be send out from SAP. If it is not configured, no settings you do on MM will work.
1. You must maintain email address in vendor master data.
2. The same applies to your user master data. For the output type for default values, a communication strategy needs
to be maintained in the Customizing that supports the e-mail. You can find the definition of the communication strategy in the
Customizing via the following path:
(SPRO -> IMG -> SAP Web Application Server -> Basic Services -> Message Control -> Define Communication Strategy).
As a default, communication strategy CS01 is delivered. This already contains the necessary entry for the external communication. Bear in mind that without a suitable communication strategy it is not possible to communicate with a partner via Medium 5 (external sending).
3. Use the standard SAP environment (program 'SAPFM06P', FORM routine 'ENTRY_NEU' and form 'MEDRUCK') as the processing routines.
4. In the condition records for the output type (for example, Transaction MN04), use medium '5' (External send).
5. You can use Transaction SCOT to trigger the output manually. The prerequisite for a correct sending is that the node is set correctly. This is not described here, but it must have already been carried out.
6. To be able to display, for example, the e-mail in Outlook, enter PDF as the format in the node -
Need to send PO email to multiple vendors
HI SAP Guru,
I am currently sending email for PO to vendor. However, my user now wants to send the same PO to multiple email address for the same PO.
How can I configure it?
Do I need to customized the sapscript printing for email?
Thanks in advanceHi
Use function CONVERT_OTFSPOOLJOB_2_PDF.
to convert your smartform spool request into PDF format
then you can mail it to multiple people using mail function
SO_NEW_DOCUMENT_ATT_SEND_API1
i have tried it same way.
Gaurav Sood -
Balance Confirmation Report for multiple vendors
Hi all,
I have developed report in FI which gives details about opening balance,fiscal year, document number, posting date and amount in the output.In selection screen I am passing single values of fiscal year(GJAHR), vendor(LIFNR) and company code(BUKLRS). This report is working fine for single vendor but now I need to change it for multiple vendors. I tried but not getting desired result in the output.
Following is code for single vendor in selection screen.
SORT t_bsikbsak BY bukrs belnr gjahr buzei.
LOOP AT t_bsikbsak.
t_pre_bal-netpr = t_bsikbsak-dmbtr.
t_pre_bal-sgtxt = 'Opening Balance'.
IF t_bsikbsak-shkzg EQ 'H'.
t_pre_bal-netpr = t_pre_bal-netpr * -1.
ENDIF.
COLLECT t_pre_bal.
ENDLOOP.
LOOP AT t_pre_bal.
itab-netpr = t_pre_bal-netpr.
itab-sgtxt = t_pre_bal-sgtxt.
APPEND itab.
ENDLOOP.
SORT t_bseg BY bukrs belnr gjahr buzei.
CLEAR itab.
LOOP AT t_bseg.
ON CHANGE OF t_bseg-bukrs OR t_bseg-belnr OR t_bseg-gjahr.
READ TABLE t_bkpf WITH KEY bukrs = t_bseg-bukrs
belnr = t_bseg-belnr
gjahr = t_bseg-gjahr.
IF sy-subrc IS INITIAL.
itab-budat = t_bkpf-budat.
itab-belnr = t_bkpf-belnr.
itab-gjahr = t_bkpf-gjahr.
ENDIF.
ENDON.
IF t_bseg-koart = 'K' AND t_bseg-lifnr = s_lifnr.
itab-sgtxt = t_bseg-sgtxt.
READ TABLE t_bsak WITH KEY bukrs = t_bseg-bukrs
belnr = t_bseg-belnr
gjahr = t_bseg-gjahr.
IF t_bseg-shkzg EQ 'H'.
t_bseg-dmbtr = t_bseg-dmbtr * -1.
ENDIF.
itab-netpr = itab-netpr + t_bseg-dmbtr.
ELSEIF t_bseg-hkont = '0044100040'. " G/L for INTEREST EXPENSES
itab-inamt = t_bseg-dmbtr.
ELSEIF t_bseg-hkont = '0012300060'. " G/L for TDS ON INTEREST
itab-tdamt = t_bseg-dmbtr.
ENDIF.
AT END OF bukrs.
append_flag = 'X'.
ENDAT.
AT END OF belnr.
append_flag = 'X'.
ENDAT.
AT END OF gjahr.
append_flag = 'X'.
ENDAT.
IF append_flag = 'X'.
APPEND itab.
CLEAR itab.
CLEAR : append_flag.
ENDIF.
ENDLOOP.
Closing Balance
LOOP AT itab.
t_temp-netpr = itab-netpr.
t_temp-sgtxt = 'Closing Balance'.
COLLECT t_temp.
ENDLOOP.
CLEAR itab.
LOOP AT t_temp.
itab-netpr = t_temp-netpr.
itab-sgtxt = 'Closing Balance'.
APPEND itab.
ENDLOOP.
Kindly provide some input how to do it for multiple vendors in same code otherwise provide some suggestions for new code.
Thanks in Advance.waiting for response.
Thanks & Regards,
Harshada PatilHi,
Thanks for quick response.Following is the structure of internal tables which I am using in this program.
TYPES : BEGIN OF ty_bsikbsak ,
bukrs TYPE bsik-bukrs,
lifnr TYPE bsik-lifnr,
umsks TYPE bsik-umsks,
umskz TYPE bsik-umskz,
augdt TYPE bsik-augdt,
augbl TYPE bsik-augbl,
gjahr TYPE bsik-gjahr,
belnr TYPE bsik-belnr,
buzei TYPE bsik-buzei,
zuonr TYPE bsik-zuonr,
shkzg TYPE bsik-shkzg,
dmbtr TYPE bsik-dmbtr,
END OF ty_bsikbsak.
TYPES : BEGIN OF ty_bkpf ,
bukrs TYPE bkpf-bukrs,
belnr TYPE bkpf-belnr,
gjahr TYPE bkpf-gjahr,
bldat TYPE bkpf-bldat,
budat TYPE bkpf-budat,
stblg TYPE bkpf-stblg,
stjah TYPE bkpf-stjah,
END OF ty_bkpf.
TYPES : BEGIN OF ty_bseg ,
bukrs TYPE bseg-bukrs,
belnr TYPE bseg-belnr,
gjahr TYPE bseg-gjahr,
buzei TYPE bseg-buzei,
koart TYPE bseg-koart,
shkzg TYPE bseg-shkzg,
dmbtr TYPE bseg-dmbtr,
sgtxt TYPE bseg-sgtxt,
hkont TYPE bseg-hkont,
lifnr TYPE bseg-lifnr,
END OF ty_bseg.
DATA : t_bsik TYPE TABLE OF ty_bsikbsak WITH HEADER LINE.
DATA : t_bsak TYPE TABLE OF ty_bsikbsak WITH HEADER LINE.
DATA : t_bsikbsak TYPE TABLE OF ty_bsikbsak WITH HEADER LINE.
DATA : t_bkpf TYPE TABLE OF ty_bkpf WITH HEADER LINE.
DATA : t_bkpf2 TYPE TABLE OF ty_bkpf WITH HEADER LINE.
DATA : wa_bkpf TYPE ty_bkpf .
DATA : t_bseg TYPE TABLE OF ty_bseg WITH HEADER LINE.
DATA: BEGIN OF t_pre_bal OCCURS 0,
netpr TYPE bseg-dmbtr,
sgtxt TYPE bseg-sgtxt,
lifnr TYPE bseg-lifnr,
END OF t_pre_bal.
DATA: t_pre_bal1 LIKE t_pre_bal.
DATA: BEGIN OF t_temp OCCURS 0,
netpr TYPE bseg-dmbtr,
sgtxt TYPE bseg-sgtxt,
lifnr TYPE bseg-lifnr,
END OF t_temp.
DATA: BEGIN OF itab OCCURS 0,
gjahr LIKE bsik-gjahr,
belnr LIKE bsik-belnr,
budat LIKE bkpf-budat,
sgtxt LIKE bseg-sgtxt,
lifnr LIKE lfa1-lifnr,
netpr LIKE bseg-dmbtr, " Net Amount
inamt LIKE bseg-dmbtr, " Interest Amount
tdamt LIKE bseg-dmbtr, " TDS Amount
END OF itab.
RANGES: r_budat FOR bkpf-budat.
I have Included vendor(LIFNR) in all these structures.Now I am using three internal tables to hold opening balance, Closing balance and line item accounting documents from bseg table respectively.here, I need to collect all these three internal tables into one internal table according to vendor(LIFNR) with it's opening balance, accounting documents and closing balance. can anyone guide me through this so that I can collect all these three internal tables into single one.
Thanks & Regards,
Harshada Patil
Edited by: Harshada.up on Feb 15, 2011 9:33 AM -
How to configure Email output in SD
Dear friends Pls sent me details of how to configure email output in SD module.
<REMOVED>
Thanks & Regards,
<REMOVED>Hi
Idoc Def :Standard SAP format for electronic data interchange between systems (Intermediate Document). Different message types (such as delivery confirmations or purchase orders) normally represent different specific formats, the IDoc types. However, multiple message types with related content can be assigned to one IDoc type: For example, the IDoc type ORDERS01 transfers the "logical" message types ORDERS (purchase order) and ORDRSP (order confirmation).
Idocs are of two types basic type and the extension type .we need to configure the system settings for this process .
IDOC (Intermediate Document) - A data holder.
IDOC is divided in to three parts.
Control Record
Data Record
Status Record
Control record (Table: EDIDC):
- Every IDOC has only one Control Record
- Each Control Record contains header information like:
o IDOC Number
o Direction of IDOC: Inbound or Outbound
o Date and Time of creation of IDOC
o Date and time when the IDOC was last modified.
o Message Type of IDOC
o IDOC type and extension of IDOC
o Sender and Receiver Partner
Data record (Table: EDID4):
- Data Record contains Data to be processed.
- Every IDOC has one data record with multiple segments in hierarchy.
- Segments and Hierarchy of Segments are defined by IDOC Type and Extension.
- IDOC created has to strictly follow the hierarchy; else IDOC fails with Syntax error.
- Segments which are repetitive have qualifiers attached to it
Status record (Table: EDIDS):
- Status Record describes the status of IDOC.
- Each IDOC contains one status Record with multiple status information.
- Status at each level is appended to IDOC. E.g. When IDOC is created in SAP, Status is This IDoc has been generated through a test transaction, When the IDOC is added to system it is IDOC added, IDOC ready to be transferred to Application
- Status should always be read bottom-up. Status at the top is the latest status.
- Some Example of Status Records:
o Inbound:
§ 53 - IDOC successfully posted
§ 51 IDOC Failed
§ 64 - IDOC ready to be transferred to Application
o
Outbound:
§ 30 IDOC ready for Dispatch
§ 03 IDOC passed to port OK
§ 12 IDOC Dispatched
§ 16 Functional Acknowledgement Positive
§ 17 functional Acknowledgement Negative
IDoc Type: Defines the segments and hierarchy of segments
o Transaction Code:
§ WE30 To create, change or display the IDOC type and the extension.
§ WE31 To create the Segment
- IDOC type defines the segments to be used in the IDOC.
- It also defines the hierarchy and syntax of the segments.
- IDOC extension is nothing but to add segments to standard IDOC types.
- Transaction WE31 allows you to create segments.
- Program RSEIDOC3 documents the use of each IDOC type.
Segments:
Attributes of a Segment:
- Mandatory Segment: If checked, this segment should always exist in the IDOC.
- Minimum Number:
- Maximum Number: Maximum number of times this segment can be repeated in IDOC. -
Parent Segment: Parent of this segment
- Hierarchy level: Level of hierarchy.
Segment Definition (WE31):
Messsage Type: Defines the type of data in the IDOC
o Transaction Code:
§ WE81 To create, change or display the Message type and the extension.
§ WE82 Using this transaction you can link Message Type, IDOC Type, IDOC Extension and version.
- Message type identifies the type of data IDOC holds. E.g. Orders (ORDERS), Delivery (DESADV), Invoice (INVOICE). It also defines what needs to be done with the data in the IDOC, in case of Inbound IDOC, and which data to be extracted in case of Outbound IDOC.
- Message Type is linked to a process code, which in turn is linked to a Function Module. This function module extracts from or posts data to SAP depending on direction of IDOC.
- Relation between Message Type, IDOC type and IDOC extension needs to define. Without this relation Message type or IDOC type cannot be used.
Message Type Create, Change or Display (WE81):
Setup link between Message Type, IDOC Type, IDOC Extension and Version (WE82)
Process Code: Function Module is linked to a process code. This function module in executed for inbound or outbound IDOC.
o Transaction Codes:
§ WE41 Outbound Process Code
§ WE42 Inbound Process Code
- Process codes are linked to a Function Module.
- Relationship is Message Type is linked to a Process Code which is linked to a Function Module.
- In case if you are using a stand alone code to trigger an IDOC, you need not define a process code.
RFC Destination: System definition of destination.
o Transaction Code: SM59
- RFC destination identifies the destination of IDOC.
- In case of ALE:
o In ALE the communication mode is IDOC to IDOC, hence the type used is R/3 Connections.
o It is the destination SAP system which will receive the IDOC.
o In RFC destination you define the destination SAP system details like System, Login and Password.
Go thr below links:
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf
Sail -
Multiple vendor to see in print preview
Hi All,
I have a requierment where I have data for more then 1 vendor. I need to print the data in smartform for them.
I am done with the printing of data in smartforms but got stuck at one point.
Req is: there are 3 vendors that need to be print in smartform.
I have done the coding in Driver program and sending the data to smartform in loop by which I am able to print the multiple vendor data. But user need to see the output of 3 vendors in Print preview.
at present when user execute the report and select print preview 1 vendor data is shown. but to see the other vendor data user needs to come out of print preview and then again select print preview to see the 2 vendor data.
same for more then 2 or 4 or 5.
User wants to see the data for all the 3 vendor in print preview without going back and fourth. Please suggest how should I achieve this.
Thanks.Hi Anil,
I do have next page in smartform but issues is data in Main window and secondary window both are changing. Secondary window has logo, company address based on vendor.
Changes are getting replicated in main window for multiple vendor but not in Secondary window. Please suggest any answer for this. -
Email to mulitple email id define in Vendor Master
Hi ,
Can anybody help to find the solution for sending email to multiple vendor email address defined in vendor master. In fact right now the email goes to single vendor which is defined as standard. But we want to send email to multiple vendors defined in vendor master email address and in email address we also want to define internal users to whom the email should be send.
Regards
SunitaDear Heinz India Team,
SAP Standard only gives option of sending one email in general data tab, but the workaround for that is instead of a customized program, you can maintain the email address in Contact Person fields and just ask your technical person to pick the email address from there.
you can give the logic that... pick up the field person number which is for Contact Person and use that in table ADR6.
I hope this will solve your problem without much customizing
Reward Points if it helps,
Regards,
N -
Simultaneous output to multiple external DACs
Hello,
Just wondering if anyone has figured out how a single MacBook Pro can output audio simultaneously to 2 or more USB external DACs so that you deliver high quality source music signal to multiple zones of a building ?
Can this be done through wi-fi ?
I've been trawling through numerous blogs and posts and can't find anything other than accounts of unsuccessful tries with the Aggregate Sound Device.
Thanks.
ClementHi Raj,
The requirement is for one customer master if i want to add more then one email id and for those email ids , I want to generate a invoice output using VF02 , We can add more than one email id in Customer master but we can not use all the email ids the same time to trigger the output.
If I want to send the output to multiple email ids maintained in the customer master , how i can do that?
Thanks
Ananda -
Send output to multiple recepients(Using External send)
Hi
Using the external send for outputs we can send the email of outputs to customers using the email id given in the customer master record , Is it possible to send the output to multiple recepints the same output?
Because in the customer master we can add more than one email id but system will select only one email id for sending the output.
Thanks and Regards,
AnandaHi Raj,
The requirement is for one customer master if i want to add more then one email id and for those email ids , I want to generate a invoice output using VF02 , We can add more than one email id in Customer master but we can not use all the email ids the same time to trigger the output.
If I want to send the output to multiple email ids maintained in the customer master , how i can do that?
Thanks
Ananda -
Email Output on any changes done in sale documents
Hi all,
Give me a suggestion. Is there any output type to trigger an email output to a sales partner (sales employee) when a sale document is changed.
Regards,
MahibhanHello Mahiban,
Goto NACE transaction> Select V1 for sales> Select output type--> Go to description (let, BA00). Goto general tab and activate check for multiple issuing.
If you add an order item to a sales order for which the order confirmation was already sent, you will want to send a changed output to the same customer this will trigger the same.
Hope it helps.
Reward points if helpful.
Regards,
Priyanka -
Email Notification for multiple business partners
Hi,
I can send email to a single partner based on my action. Is it possible to send the emails to multiple partners for a single action.
Thanks in advance.
Regards,
M.RHi;
Email notification to multiple business partners is not provided in standart SAP functions via actions. It is not related with actions and conditions. Below is the code for the related method... I may send the screenshots if you can give me your mail address... Use this method with smartform: CRM_IST_ORDER_CONFIRMATION_01
CLASS : CL_DOC_PROCESSING_CRM_ORDER
METHOD NAME: ....
METHOD DEFINITION:
IS_ARCHIVE_INDEX Importing Type TOA_DARA
IS_ARCHIVE_PARAMETERS Importing Type ARC_PARAMS
IS_CONTROL_PARAMETERS Importing Type SSFCTRLOP
IS_OUTPUT_OPTIONS Importing Type SSFCOMPOP
IO_APPL_OBJECT Importing Type Ref To OBJECT
IP_SMART_FORM Importing Type TDSFNAME
IS_MAIL_APPL_OBJ Importing Type SWOTOBJID
IS_MAIL_RECIPIENT Importing Type SWOTOBJID
IS_MAIL_SENDER Importing Type SWOTOBJID
IO_PARTNER Importing Type Ref To CL_PARTNER_PPF
IP_USER_SETTINGS Importing Type TDBOOL
IP_APPLICATION_LOG Importing Type BALLOGHNDL
ES_DOCUMENT_OUTPUT_INFO Exporting Type SSFCRESPD
ES_JOB_OUTPUT_INFO Exporting Type SSFCRESCL
ES_JOB_OUTPUT_OPTIONS Exporting Type SSFCRESOP
ET_ERROR_TAB Exporting Type TSFERROR
CT_ARCHIVE_INDEX_TAB Changing Type TSFDARA
METHOD z_anahtar_kullanici_yeni.
*This Method is used to print service order.
generally used constants of generic order
INCLUDE: crm_direct.
DATA:
control_parameters TYPE ssfctrlop.
function name
DATA: function_name TYPE rs38l_fnam,
dummy(254) TYPE c,
ls_archive_index TYPE toa_dara,
ls_orderadm_h TYPE crmt_output_orderadm_h_com,
ls_activity_h TYPE crmt_output_activity_h_com,
ls_opport_h TYPE crmt_output_opport_h_com,
ls_orgman_h TYPE crmt_output_orgman_h_com,
lt_partner_h TYPE crmt_output_partner_h_comt,
ls_partner_h TYPE crmt_output_partner_h_comt,
ls_pricingdata_h TYPE crmt_output_pricingdata_h_com,
ls_sales_h TYPE crmt_output_sales_h_com,
ls_shipping_h TYPE crmt_output_shipping_h_com,
lt_payplan_d_h TYPE crmt_output_payplan_d_h_comt,
ls_customer_h TYPE crmt_output_customer_h_com,
ls_cumulat_h TYPE crmt_output_cumulat_h_com,
lt_billing_h TYPE crmt_output_billing_h_comt,
lt_cancel_h TYPE crmt_output_cancel_h_comt,
lt_appointment_h TYPE crmt_output_appointment_h_comt,
lt_billplan_d_h TYPE crmt_output_billplan_d_h_comt,
lt_billplan_h TYPE crmt_output_billplan_h_comt,
lt_status_d_h TYPE crmt_output_status_d_h_comt,
lt_status_h TYPE crmt_output_status_h_comt,
lt_srv_subject_h TYPE crmt_output_srv_subject_h_comt,
lt_srv_reason_h TYPE crmt_output_srv_reason_h_comt,
lt_srv_result_h TYPE crmt_output_srv_result_h_comt,
ls_acs_h TYPE crmt_acs_h_com,
lt_srv_subject_i TYPE crmt_output_srv_subject_h_comt,
lt_srv_refobj_h TYPE crmt_output_srv_refobj_h_comt,
lt_srv_refobj_i TYPE crmt_output_srv_refobj_h_comt,
lt_orderadm_i TYPE crmt_output_orderadm_i_comt,
lt_orgman_i TYPE crmt_output_orgman_i_comt,
lt_pricingdata_i TYPE crmt_output_pricingdata_i_comt,
lt_pricing_i TYPE crmt_output_pricing_i_comt,
lt_product_i TYPE crmt_output_product_i_comt,
lt_sales_i TYPE crmt_output_sales_i_comt,
lt_service_i TYPE crmt_output_service_i_comt,
lt_shipping_i TYPE crmt_output_shipping_i_comt,
lt_schedlin_i TYPE crmt_output_schedlin_i_comt,
lt_customer_i TYPE crmt_output_customer_i_comt,
lt_partner_i TYPE crmt_output_partner_i_comt,
lt_item_cstics_i TYPE crmt_item_cstics_tab,
lt_billing_i TYPE crmt_output_billing_i_comt,
lt_cancel_i TYPE crmt_output_cancel_i_comt,
lt_finprod_i TYPE crmt_output_finprod_i_comt,
lt_ordprp_i TYPE crmt_output_ordprp_i_comt,
lt_appointment_i TYPE crmt_output_appointment_i_comt,
lt_billplan_d_i TYPE crmt_output_billplan_d_i_comt,
lt_billplan_i TYPE crmt_output_billplan_i_comt,
lt_orderadm_i_qt TYPE crmt_output_orderadm_i_qt_comt,
lt_schedlin_i_cf TYPE crmt_output_schedlin_i_cf_comt,
lt_status_i TYPE crmt_output_status_i_comt,
lt_working_set_e_s_bbp TYPE /1cn/working_set_e_s_bbp_t,
lv_language LIKE sy-langu,
lo_order TYPE REF TO cl_doc_crm_order,
lv_object_guid TYPE crmt_object_guid,
lv_status TYPE jstat,
lt_status TYPE TABLE OF jstat,
lv_error_tab_wrk TYPE ssferror,
ls_output_options TYPE ssfcompop,
for assignments - begin
lt_service_i_assi TYPE crmt_output_service_i_***_comt
for assignments - end
fill internal structure for the output options
ls_output_options = is_output_options.
get the function name for this smart form
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = ip_smart_form
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
fm_name = function_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3
IF sy-subrc <> 0.
add an error message to processing protocol
MESSAGE i015(sppf_media) WITH ip_smart_form INTO dummy.
CALL METHOD cl_log_ppf=>add_message
EXPORTING
ip_problemclass = '1'
ip_handle = ip_application_log.
EXIT.
ENDIF.
determine the tables of the application
CALL FUNCTION 'CRM_OUTPUT_SINGLE_READ'
EXPORTING
iv_object = io_appl_object
iv_smart_form = ip_smart_form
ir_partner = io_partner
IMPORTING
es_output_orderadm_h = ls_orderadm_h
es_output_activity_h = ls_activity_h
es_output_opport_h = ls_opport_h
es_output_orgman_h = ls_orgman_h
es_output_pricingdata_h = ls_pricingdata_h
es_output_sales_h = ls_sales_h
es_output_shipping_h = ls_shipping_h
et_output_partner_h = lt_partner_h
et_output_payplan_d_h = lt_payplan_d_h
es_output_customer_h = ls_customer_h
es_output_cumulat_h = ls_cumulat_h
et_output_billing_h = lt_billing_h
et_output_cancel_h = lt_cancel_h
et_output_appointment_h = lt_appointment_h
et_output_billplan_d_h = lt_billplan_d_h
et_output_billplan_h = lt_billplan_h
et_output_status_d_h = lt_status_d_h
et_output_status_h = lt_status_h
et_output_srv_subject_h = lt_srv_subject_h
et_output_srv_reason_h = lt_srv_reason_h
et_output_srv_result_h = lt_srv_result_h
et_output_srv_refobj_h = lt_srv_refobj_h
et_output_srv_refobj_i = lt_srv_refobj_i
et_output_srv_subject_i = lt_srv_subject_i
es_output_acs_h = ls_acs_h
et_output_orderadm_i = lt_orderadm_i
et_output_orgman_i = lt_orgman_i
et_output_pricingdata_i = lt_pricingdata_i
et_output_pricing_i = lt_pricing_i
et_output_product_i = lt_product_i
et_output_sales_i = lt_sales_i
et_output_service_i = lt_service_i
et_output_shipping_i = lt_shipping_i
et_output_schedlin_i = lt_schedlin_i
et_output_partner_i = lt_partner_i
et_item_cstics_i = lt_item_cstics_i
et_output_customer_i = lt_customer_i
et_output_billing_i = lt_billing_i
et_output_cancel_i = lt_cancel_i
et_output_finprod_i = lt_finprod_i
et_output_ordprp_i = lt_ordprp_i
et_output_appointment_i = lt_appointment_i
et_output_billplan_d_i = lt_billplan_d_i
et_output_billplan_i = lt_billplan_i
et_output_orderadm_i_qt = lt_orderadm_i_qt
et_output_schedlin_i_cf = lt_schedlin_i_cf
et_output_status_i = lt_status_i
et_output_wrk_set_e_s_bbp = lt_working_set_e_s_bbp
ev_language = lv_language
for assignments - begin
et_output_service_i_assi = lt_service_i_assi
for assignments - end
set mail title
SELECT SINGLE caption INTO ls_output_options-tdtitle
FROM stxfadmt WHERE
formname = ip_smart_form AND
langu = lv_language.
IF ls_output_options-tdtitle IS INITIAL.
SELECT SINGLE caption INTO ls_output_options-tdtitle
FROM stxfadmt WHERE
formname = ip_smart_form.
ENDIF.
CONCATENATE 'Servis Masası - Yeni bir sorun açıldı:'
ls_orderadm_h-object_id INTO ls_output_options-tdtitle
SEPARATED BY space.
is_mail_appl_obj -
fill this parameter if your application object is a BOR object
the output will be connected with the BOR object via SAP Office
this is done for mail and fax but not for print outputs
------>
is_mail_appl_obj-LOGSYS =
is_mail_appl_obj-OBJTYPE =
is_mail_appl_obj-OBJKEY =
is_mail_appl_obj-DESCRIBE =
------>
language of smart form----
determin here the language of the smart form
control_parameters = is_control_parameters.
control_parameters-langu = lv_language.
fill archive parameters for archive link -
IF is_output_options-tdarmod = '2' OR
is_output_options-tdarmod = '3'.
archive_index_tab
READ TABLE ct_archive_index_tab INTO ls_archive_index INDEX 1.
ls_archive_index-object_id = ls_orderadm_h-guid.
IF ls_archive_index-object_id IS INITIAL.
DELETE ct_archive_index_tab INDEX 1.
ELSE.
MODIFY ct_archive_index_tab FROM ls_archive_index INDEX 1.
ENDIF.
ENDIF.
DATA : zzpartner TYPE crmt_output_partner_h_com .
DATA : zzadres TYPE so_name .
DATA : zobjkey TYPE swotobjid-objkey .
DATA: lv_user TYPE syuname,
lv_mailaddr TYPE so_name,
lv_type_id TYPE so_escape,
lv_partnno TYPE ppfdpartno,
lv_partner_no TYPE bu_partner,
lv_partner TYPE crmt_object_guid,
ls_mail_recipient TYPE swotobjid.
LOOP AT lt_partner_h INTO zzpartner .
CLEAR zzadres.
CHECK zzpartner-ref_partner_fct EQ 'ZSLFN001'.
SELECT SINGLE smtp_addr FROM adr6 INTO zzadres
WHERE addrnumber = zzpartner-addr_nr.
CHECK sy-subrc EQ 0.
lv_mailaddr = zzadres.
lv_type_id = 'U'.
CALL FUNCTION 'CREATE_RECIPIENT_OBJ_PPF'
EXPORTING
ip_mailaddr = lv_mailaddr
ip_type_id = lv_type_id
IMPORTING
ep_recipient_id = ls_mail_recipient
EXCEPTIONS
invalid_recipient = 1
OTHERS = 2.
delete the old recipient object
CALL FUNCTION 'DELETE_RECIPIENT_OBJECT_PPF'
EXPORTING
is_recipient_id = is_mail_recipient.
call function to process smart form
CALL FUNCTION function_name
EXPORTING
archive_index = is_archive_index
archive_index_tab = ct_archive_index_tab
archive_parameters = is_archive_parameters
control_parameters = control_parameters
mail_appl_obj = is_mail_appl_obj
mail_recipient = is_mail_recipient
mail_recipient = ls_mail_recipient
mail_sender = is_mail_sender
output_options = ls_output_options
user_settings = ip_user_settings
orderadm_h = ls_orderadm_h
activity_h = ls_activity_h
opport_h = ls_opport_h
orgman_h = ls_orgman_h
partner_h = lt_partner_h
pricingdata_h = ls_pricingdata_h
sales_h = ls_sales_h
shipping_h = ls_shipping_h
payplan_d_h = lt_payplan_d_h
cumulat_h = ls_cumulat_h
customer_h = ls_customer_h
acs_h = ls_acs_h
billing_h = lt_billing_h
cancel_h = lt_cancel_h
appointment_h = lt_appointment_h
billplan_d_h = lt_billplan_d_h
billplan_h = lt_billplan_h
status_d_h = lt_status_d_h
status_h = lt_status_h
srv_subject_h = lt_srv_subject_h
srv_reason_h = lt_srv_reason_h
srv_result_h = lt_srv_result_h
srv_subject_i = lt_srv_subject_i
srv_refobj_h = lt_srv_refobj_h
srv_refobj_i = lt_srv_refobj_i
orderadm_i = lt_orderadm_i
orderadm_i_qt = lt_orderadm_i_qt
orgman_i = lt_orgman_i
pricingdata_i = lt_pricingdata_i
pricing_i = lt_pricing_i
product_i = lt_product_i
sales_i = lt_sales_i
service_i = lt_service_i
schedlin_i = lt_schedlin_i
schedlin_i_cf = lt_schedlin_i_cf
shipping_i = lt_shipping_i
partner_i = lt_partner_i
item_cstics_i = lt_item_cstics_i
customer_i = lt_customer_i
billing_i = lt_billing_i
cancel_i = lt_cancel_i
finprod_i = lt_finprod_i
ordprp_i = lt_ordprp_i
appointment_i = lt_appointment_i
billplan_d_i = lt_billplan_d_i
billplan_i = lt_billplan_i
status_i = lt_status_i
working_set_e_s_bbp = lt_working_set_e_s_bbp
language = lv_language
for assignments - begin
service_i_assi = lt_service_i_assi
for assignments - end
IMPORTING
document_output_info = es_document_output_info
job_output_info = es_job_output_info
job_output_options = es_job_output_options
EXCEPTIONS
output_canceled = 1
parameter_error = 2
OTHERS = 3.
IF sy-subrc = 0.
determine header guid to set status printed
lo_order ?= io_appl_object.
lv_object_guid = lo_order->get_crm_obj_guid( ).
set status printed into the crm order
CALL FUNCTION 'CRM_STATUS_SET_INTERN'
EXPORTING
iv_objnr = lv_object_guid
iv_status = gc_status-printed
xnoauto = true
EXCEPTIONS
object_not_found = 1
status_inconsistent = 2
status_not_allowed = 3
OTHERS = 4.
ELSE.
CASE sy-subrc.
WHEN 1.
MESSAGE e016(sppf_media) INTO dummy.
WHEN 2.
MESSAGE e017(sppf_media) WITH function_name INTO dummy.
WHEN 3.
MESSAGE e018(sppf_media) WITH function_name INTO dummy.
ENDCASE.
CALL METHOD cl_log_ppf=>add_message
EXPORTING
ip_problemclass = '1'
ip_handle = ip_application_log.
ENDIF.
get error table
CALL FUNCTION 'SSF_READ_ERRORS'
IMPORTING
errortab = et_error_tab.
fill error into crm_order status
LOOP AT et_error_tab INTO lv_error_tab_wrk
WHERE msgty = gc_msgtype-error.
CALL FUNCTION 'CRM_MESSAGE_COLLECT'
EXPORTING
iv_caller_name = gc_object_name-order
iv_msgno = lv_error_tab_wrk-msgno
iv_msgid = lv_error_tab_wrk-msgid
iv_msgty = lv_error_tab_wrk-msgty
iv_msgv1 = lv_error_tab_wrk-msgv1
iv_msgv2 = lv_error_tab_wrk-msgv2
iv_msgv3 = lv_error_tab_wrk-msgv3
iv_msgv4 = lv_error_tab_wrk-msgv4
IV_ERROR_RELEVANCE = FALSE
iv_msglevel = gc_msglevel-administrator
EXCEPTIONS
not_found = 1
appl_log_error = 2
OTHERS = 3.
ENDLOOP.
ENDLOOP .
ENDMETHOD. -
One Output with multiple communication types
Hello,
My requirement is to print the document as well as send an email to the customers from the same output. Basically One output with multiple communication types ( PRINT & EMAIL). How to configure this in the output type configuration area? Please reply. ThanksThis should be possible with the same output type,
have the output type defined with multiple medium in NACE under processing routines. (say print out in one line & external send in another).
have the condition record maintained appropriately for different customers with different medium.
Note: if your access has customer, dont think you can maintain both 1 & 5 for the same access.
if this functionality is required, i think you can acheive this by maintaining the output under different access, but this will not ensure the same condition type flowing into the document unless the earlier condition type goes to processed status.
Thanks & Regards
Ilango -
How to use one email adress for multiple recipients
Hello,
I'd like to know how to use one email adress for multiple recipients.
this would be very useful or projects. for example;
if i send one mail to [email protected], all people in this project get an email.
I will add the people in this project myself.
I know it is possible, but I don't know how to do it ;-)
please help me!Hope this help.
_http://technet.microsoft.com/en-us/library/cc164331(v=exchg.65) .aspx
Maybe you are looking for
-
The link to pdf documents, from Safari to iBooks, has ceased to exist on my iPad. What happened & how to fix??? In the past, when opening a pdf thru Safari, just tapping on it, brought up the option to "Open in iBooks", but it no longer pops up. Ugh
-
Issues after making an excel full screen
Hi, I am using a piece of code to make an excel workbook full screen. Code is working correctly but the problem is when this particular workbook is opened, if I open any other excel workbook that will also opening in full screen. I don't want this. T
-
How to modify a default report in ByDesign / Time series?
Hello everybody, I am currently working with the HR Dashboard - Employee Time (HCMTLMU01_Q0010) and I am facing a problem with the time series <Year to date>. Actually, this is a problem for all reports with Time Series. I would like to know if it is
-
Can I use photoshop elements 7 with windows 7 operation system?
I have elements 7 disc, but my computer is down and have to use a new computer which has windows 7.
-
HTML equivalent of ScriptUI ListBox?
Hello, forgive my ignorance: what is in the HTML land the proper way to emulate good old ScriptUI Listbox component? I thought to use <select> specifying the size property, like: <select size=3> <optgroup label="Swedish Cars"> <option value="vo