New Output Type for E-MAIL - What Programs to use
Hi ,
I am Configuring a new Output Type for E-mail Invoices. Based on the Billing Indicator on the Customer Master the New output type for E-mail should be determined and send an e-mail. To test this i have setup a new output type and used the below parameters:
Program : RSNASTSO
Form Routine: SAPOFFICE_AUFRUF
PDF/SmartForm Form: SAPOFFICE_AUFRUF_VX
Form Type: PDF
I have the e-mail address in the general data of both Bill to and Sold TO. The partner Function for this output type is BP.
When i created an Invoice i got the below error, I have highlighted the line with astericks which are showing up as error.
Processing log for program RSNASTSO routine SAPOFFICE_AUFRUF
Function module SO_NAME_CONVERT with return code
Text 220V30900018667 ZRD3E0500000425 ID STAM language E not found
**No address exists - Error**
**Error while copying recipient object - Error**
**Specify at least one recipient - Error**
Message object FOL29000000000004SCR33000000000044 created or sent
At this point i just want to be able to send an invoice via e-mail using standard program. I am looking to confirm if i am using the correct parameters. Any help will be greatly appreciated.
Thanks,
Irfan.
Hi ,
You can ty using the function module SO_NEW_DOCUMENT_ATT_SEND_API1
here you will to also pass the logic that the PDF should be sent to a email recipient as per mentione din the bill to party function module
Thanks
Prashant
Similar Messages
-
New Output type for purchase return excise invoice..?
Hi all
For purchase return process with exisable material.
Here I m using the transaction
1.J1IS to create purchase return excise invoice and
2.J1IV for posting to accounts & print purchase return excise invoice
.In standard SAP the output for purchase return excise invoice is JEXC.
here my query is started,
ABAPer created the new program for purchase return output with all new layouts,
And from functional side i have defined new output type for the same as YEXC copying from JEXC.
While doing the transaction J1IV, i getting the output type YEXC, i m not able to print preview.
To proceed further i need some body guidence. Like where to assign the output type.
some body can give some inputs .
Thanks
sap-mmHi AP thanks for ur immediate response.
But i have done all the configuratuion in NACE only.
There in nace i m not able find out the mistake or missing configuration.
Can u expalin me step by step process end to end .
Thanks
sap-mm -
New output type for Messages in purchase order
I am using new output type for messages. I want to make it appear as default output type when clicked on messages. I have maintained it through NACR transaction. Do I need to maintain message determination schema ?
Hi,
Check following configuration as well.
The following process is to be followed
Output determination of Purchase Order
1. Condition Table
SPRO > Material Management> Purchasing -> Message -> Output Control->Condition Tables->Define Condition Table for Purchase Order
Select:
Purchasing Doc. Type,
Purch. Organization,
Vendor
Company code
select which ever the criteria you require.
2. Access Sequences
SPRO -> Material Management-> Purchasing -> Message -> Output Control->Access Sequences->Define Condition Table for Purchase Order
3. Message Type
SPRO -> Material Management-> Purchasing -> Message -> Output Control->Message Types->Define Message Type for Purchase Order
4. Message Determination Schemas
4.1. Message Determination Schemas
SPRO -> Material Management-> Purchasing -> Message -> Output Control->Message Schema->Define Message Schema for Purchase Order-> Maintain Message Determination Schema
4.2. Assign Schema to Purchase Order
SPRO -> Material Management-> Purchasing -> Message -> Output Control->Message Schema->Define Message Schema for Purchase Order-> Assign Schema to Purchase Order
5. Partner Roles per Message Type
SPRO -> Material Management-> Purchasing -> Message -> Output Control-> Partner Roles per Message Type ->Define Partner Role for Purchase Order
6. Condition Record
Navigation Path: SAP Menu-> Logistics -> Material Management -> Purchasing-> Master data->Messages-> Purchase Order-> MN04-> Create
The printers are also assigned as local printers in the su01
settings of a particular user as output device.
Now you create PO (ME21N) and save it. Go to ME22N and print the PO by giving output type.
Deepak. -
Hi Gurus,
The requirement is to set up a New GR slip by copying an existing GR slip from another System. I have identified the program and the Smart Form that needs to be copied. Can you please explain in detail the configuration settings that need to be done so that once the program and the Smart form are linked to the new output type, the GR slip can be operational. Also please let me know the transaction codes also.
Many thanks in advance.Hi,
As far as I am aware,
1. A new o/p type has to be created
2. Access sequence, can be used, if the existing ones fulfill the criterion(What would be the best combination for a GR Slip?) Otherwise a new one to be created.
3. Create a new condition table.
4. Create Condition records- Can you please let me know the transaction for creating the condition records?
5.Do a MIGO for the condition record combination maintained and see whether the Output type is getting
picked up.
Can you please let me know whether there is something that I have missed out?
Thanks in advance. -
New output type for billing documents
Hello All,
We have created a new output type (ZD05) for a billing document to send an automatic mail to "send to Party" along with the existing print output (ZD02).
ZD02 is triggered automatically on saving the billing document where as ZD05 has to be added manually to the output of the billing document.
Every time we add ZD05 manually, system automatically adds/trigger ZD02 automatically along with ZD05. We dont want this additional ZD05 output to be triggered on adding ZD02.
It will be of great help if anyone can let me klnow the configuration setting which we can do to stop this.
Points assured.
Warm Regards,
Jatinder BansalHi there,
Check what do you have in default settings. You should have "send immediately while saving the application" to trigger the O/p immediately. Transmission medium should be external send to trigger it as a mail O/p.
Also maintain the condition records. Only then O/p will trigger automatically.
Try checking the requirement that is assigned to the O/p in the determination procedure. See if there is any condition to triggger ZD05 & ZD02 together.
Regards,
Sivanand -
IMG settings after creating new output type for a purchase order smartform
Hi all,
Do I need to make changes in IMG after creating a new output type in NACE for a purchase order smartform?
I have customized a purchase order smartform according to the requirements and copied an existing output type and assigned the custom form name.
When I am trying to create a purchase order to test it, I am going to the message tab for assigning the output type and if I press F4 on the output type field or if I give the copied output type there, it says output type is not defined.
Do I need to make any changes in SPRO?
Regards,
AnikYes. You have to add the new output type to the proper message determination schema.
Go to the IMG and select Materials Management -> Purchasing -> Messages -> Output control -> Message determination schemas -> Define message schema for purchase order -> Maintain Message Determination Schema: Purchase Order.
Select the proper schema, then Control Data and insert your new output type into the schema (eventually with any requirement that may be necessary... you probably want to use 101 like in case of the regular NEU message).
This should do it. -
Output type for the managed codes cut letter is hard coded
Hello,
Very Good afternoon!
I have a requirement to create new Output Types for a Smart Form.
The already existing Output types are hard coded as shown Below :
CONSTANTS : c_kschl_order LIKE nast-kschl
VALUE 'ZUS0',
c_kschl_order1 LIKE nast-kschl
VALUE 'ZUS1',
Now they do not want to use ZUS1. Insted they wnat to use New Output Types.
u2022 Remove ZUS1 as we no longer use this one.
u2022 Add ZAU0
u2022 Add ZNZ0
u2022 Add ZJP0
u2022 Add ZCN0
u2022 Add ZKR0
How to add these Output types without Hardcoding as shown ABove.
Any Suggestions will be appreciated.....
For reference..I will paste the code of the Program here.
Here is the code :
PROGRAM DECLARATION
PROGRAM ID Z_RVADOR01_SALES_CUT_LETTER
TABLES: vbak, "Sales Document: Header Data
vbap, "Sales Document: Item Data
vbpa, "Sales Document: Partner
vbep, "Sales Document: Schedule Line Data
kna1, "General Data in Customer Master
MARA, "Material Master
KOMK, "Communicationarea for conditions
KOMP, "Communicationarea for conditions
KOMVD, "Communicationarea for conditions
VBCO3, "Communicationarea for view
VBDKA, "Headerview
VBDPA, "Itemview
VBDPAU, "Subitemnumbers
CONF_OUT, "Configuration data
SADR, "Addresses
TVAG, "Reason for rejection
VEDKA, "Servicecontract head data
VEDPA, "Servicecontract position data
VEDKN, "Servicecontract head notice data
VEDPN, "Servicecontract pos. notice data
RISERLS, "Serialnumbers
KOMSER, "Serialnumbers for print
TVBUR, "Sales office
TVKO, "Sales organisation
ADRS, "Communicationarea for Address
FPLTDR, "billing schedules
WTAD_ADDIS_IN_SO_PRINT, "additional
WTAD_BUYING_PRINT_EXTRA_TEXT, "texts belonging to additional
adrc,
adr6,
t247.
INCLUDE RVADTABL.
INCLUDE RVDIREKT.
INCLUDE VEDADATA.
data for access to central address maintenance
INCLUDE SDZAVDAT.
TYPE-POOLS: ADDI.
DATA PRICE_PRINT_MODE(1) TYPE C. "Print-mode
DATA: RETCODE LIKE SY-SUBRC. "Returncode
DATA: REPEAT(1) TYPE C.
DATA: XSCREEN(1) TYPE C. "Output on printer or screen
DATA: BEGIN OF STEU, "Controldata for output
VDKEX(1) TYPE C,
VDPEX(1) TYPE C,
KBKEX(1) TYPE C,
KBPEX(1) TYPE C,
END OF STEU.
DATA: BEGIN OF TVBDPA OCCURS 0. "Internal table for items
INCLUDE STRUCTURE VBDPA.
DATA: END OF TVBDPA.
DATA: BEGIN OF TKOMV OCCURS 50.
INCLUDE STRUCTURE KOMV.
DATA: END OF TKOMV.
DATA: BEGIN OF TKOMVD OCCURS 50.
INCLUDE STRUCTURE KOMVD.
DATA: END OF TKOMVD.
DATA: BEGIN OF TVBDPAU OCCURS 5.
INCLUDE STRUCTURE VBDPAU.
DATA: END OF TVBDPAU.
DATA: BEGIN OF TKOMCON OCCURS 50.
INCLUDE STRUCTURE CONF_OUT.
DATA: END OF TKOMCON.
DATA: BEGIN OF TKOMSERVH OCCURS 1.
INCLUDE STRUCTURE VEDKA.
DATA: END OF TKOMSERVH.
DATA: BEGIN OF TKOMSERVP OCCURS 5.
INCLUDE STRUCTURE VEDPA.
DATA: END OF TKOMSERVP.
DATA: BEGIN OF TKOMSERVHN OCCURS 5.
INCLUDE STRUCTURE VEDKN.
DATA: END OF TKOMSERVHN.
DATA: BEGIN OF TKOMSERVPN OCCURS 5.
INCLUDE STRUCTURE VEDPN.
DATA: END OF TKOMSERVPN.
DATA: BEGIN OF TKOMSER OCCURS 5.
INCLUDE STRUCTURE RISERLS.
DATA: END OF TKOMSER.
DATA: BEGIN OF TKOMSER_PRINT OCCURS 5.
INCLUDE STRUCTURE KOMSER.
DATA: END OF TKOMSER_PRINT.
DATA: BEGIN OF TFPLTDR OCCURS 5.
INCLUDE STRUCTURE FPLTDR.
DATA: END OF TFPLTDR.
DATA: TADDI_PRINT TYPE ADDI_SO_PRINT_ITAB WITH HEADER LINE.
TYPES:BEGIN OF ty_orders ,
xblnr LIKE mkpf-xblnr, "delivery number
erfmg LIKE mseg-erfmg, "goods issue quantity
custname LIKE kna1-name1, "customer name
bstnk LIKE vbak-bstnk, "purchase order number
ean11 LIKE vbap-ean11, "upc
kdmat LIKE vbap-kdmat, "customer material code
arktx LIKE vbap-arktx, "description
csrno LIKE kna1-kunnr, "customer service rep number
spras LIKE kna1-spras, "customer language key
csrname LIKE kna1-name1, "customer service rep name
csremail LIKE adr6-smtp_addr, "csr email
csrphone LIKE kna1-telf1, "csr telephone
csrext LIKE adrc-tel_extens, "csr extension
csrfax LIKE kna1-telfx, "csr fax
total LIKE lips-lfimg, "cut quantity
ldate(18) TYPE c,
END OF ty_orders.
CONSTANTS: c_kschl_order LIKE nast-kschl
VALUE 'ZUS0',
c_kschl_order1 LIKE nast-kschl
VALUE 'ZUS1', c_parvw_shipto LIKE vbpa-parvw
VALUE 'WE',
c_parvw_csr LIKE vbpa-parvw
VALUE 'ZS',
c_eng(1) TYPE c VALUE 'E',
c_sep(1) TYPE c VALUE '/',
c_sale(25) type c VALUE 'Sales Order'.
DATA: WA_VBAK TYPE VBAK,
tbl_ord TYPE ty_orders OCCURS 0 WITH HEADER LINE,
w_csrname(30) TYPE c,
w_csrno(30) TYPE c,
w_email LIKE adr6-smtp_addr,
f_shipto_found TYPE c,
w_custname(30) TYPE c,
w_month(2),
w_ldate(18),
w_total LIKE lips-lfimg,
w_lines TYPE i VALUE 0,
f_mail(1) TYPE c,
cnt_1 TYPE i VALUE 0,
cnt_2 TYPE i VALUE 0,
tbl_otf LIKE itcoo OCCURS 0 WITH HEADER LINE,
w_type(25) TYPE c,
st_doc_data LIKE sodocchgi1,
tbl_objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
tbl_line LIKE tline OCCURS 0 WITH HEADER LINE,
tbl_attach LIKE solisti1 OCCURS 10 WITH HEADER LINE,
tbl_objhead LIKE solisti1 OCCURS 10 WITH HEADER LINE,
tbl_proc_para LIKE soparai1 OCCURS 10 WITH HEADER LINE,
tbl_maillist LIKE somlreci1 OCCURS 10 WITH HEADER LINE,
tbl_pack_list LIKE sopcklsti1 OCCURS 10 WITH HEADER LINE,
tbl_cpo LIKE itcpo OCCURS 0 WITH HEADER LINE,"SAPscript output
" interface
tbl_cpp LIKE itcpp OCCURS 0 WITH HEADER LINE,"SAPscript output
" parameters
tbl_smtp TYPE szadr_adsmtp_line OCCURS 0 WITH HEADER LINE,
tbl_cdhdpos LIKE cdshw OCCURS 0 WITH HEADER LINE,
tbl_cdpos LIKE cdshw OCCURS 0 WITH HEADER LINE,
wrk_lines LIKE sy-tabix,
hltlines TYPE i,
off1 TYPE p,
fle1(2) TYPE p,
fle2(2) TYPE p,
htabix LIKE sy-tabix,
hfeld(500) TYPE c.
FORM ENTRY USING RETURN_CODE US_SCREEN.
if sy-tcode = 'VA01'.
IF nast-kschl = c_kschl_order.
SELECT SINGLE * FROM VBAK INTO WA_VBAK WHERE vbeln = nast-objky.
IF SY-SUBRC = 0.
CLEAR RETCODE.
XSCREEN = US_SCREEN.
PERFORM PROCESSING USING us_screen.
IF RETCODE NE 0.
RETURN_CODE = 1.
ELSE.
RETURN_CODE = 0.
ENDIF.
ELSE.
retcode = sy-subrc.
syst-msgid = 'ZVERROR'.
syst-msgno = '000'.
syst-msgty = 'E'.
syst-msgv1 = NAST-KSCHL.
syst-msgv1 = 'Sales Order cut letter
for this order already issued'.
syst-msgv2 = ' '.
PERFORM protocol_update.
ENDIF.
ELSE.
CLEAR retcode.
xscreen = us_screen.
PERFORM processing USING us_screen.
IF retcode NE 0.
return_code = 1.
ELSE.
return_code = 0.
ENDIF.
ENDIF.
endif.
ENDFORM.
FORM PROCESSING *
FORM PROCESSING USING proc_screen.
CASE nast-kschl.
WHEN c_kschl_order.
PERFORM get_orders.
CHECK retcode = 0.
PERFORM openform USING proc_screen vbak-landtx.
CHECK retcode = 0.
PERFORM layout.
CHECK retcode = 0.
CHECK proc_screen NE 'X'.
w_type = c_sale.
PERFORM send_email USING proc_screen.
WHEN c_kschl_order1.
PERFORM get_orders.
CHECK retcode = 0.
CHECK proc_screen NE 'X'.
w_type = c_sale.
PERFORM send_email USING proc_screen.
WHEN OTHERS.
retcode = 1.
syst-msgid = 'E0'.
syst-msgno = '430'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDCASE.
IF retcode EQ 0.
syst-msgid = '69'.
syst-msgno = '254'.
syst-msgty = 'S'.
syst-msgv1 = nast-kschl.
PERFORM protocol_update.
ELSE.
syst-msgid = 'CKCC'.
syst-msgno = '036'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
ENDFORM.
FORM PROTOCOL_UPDATE *
The messages are collected for the processing protocol. *
FORM PROTOCOL_UPDATE.
IF xscreen EQ space.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
MSG_ARBGB = SYST-MSGID
MSG_NR = SYST-MSGNO
MSG_TY = SYST-MSGTY
MSG_V1 = SYST-MSGV1
MSG_V2 = SYST-MSGV2
MSG_V3 = SYST-MSGV3
MSG_V4 = SYST-MSGV4
EXCEPTIONS
OTHERS = 1.
ELSE.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
*& Form get_orders
text
--> p1 text
<-- p2 text
FORM get_orders.
DATA : f_csr_found TYPE c.
SELECT SINGLE vbeln vkorg vdatu bstnk kunnr
FROM vbak
INTO (vbak-vbeln,vbak-vkorg,vbak-vdatu,vbak-bstnk,vbak-kunnr)
WHERE vbeln EQ nast-objky.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'VN'.
syst-msgno = '203'.
syst-msgty = 'E'.
syst-msgv1 = 'VBAK'.
syst-msgv2 = sy-subrc.
PERFORM protocol_update.
ENDIF.
SELECT vbeln posnr matnr pmatn arktx abgru kdmat werks
FROM vbap
INTO (vbap-vbeln,vbap-posnr,vbap-matnr,vbap-pmatn,
vbap-arktx,vbap-abgru,vbap-kdmat,vbap-werks)
WHERE vbeln = vbak-vbeln
AND abgru NE space "select items havng Rejection Reason
and PSTYV NE 'ZHDR'.
to check whether the reason for rejection was picked from the
managed codes tables
data: war_abgru type abgru,
w_exist type c.
clear : war_abgru, w_exist.
select single abgru from ZMAT_REJ002
into war_abgru
where vkorg = vbak-vkorg
and kunnr <> vbak-kunnr
and MATNR = vbap-matnr
and datef <= vbak-vdatu
and datet >= vbak-vdatu.
if sy-subrc <> 0.
select single abgru from ZMAT_REJ003
into war_abgru
where vkorg = vbak-vkorg
and kunnr <> vbak-kunnr
and MATNR = vbap-matnr
and datef <= vbak-vdatu
and datet >= vbak-vdatu.
if sy-subrc <> 0.
select single abgru from ZMAT_REJ001
into war_abgru
where vkorg = vbak-vkorg
and werks <> vbap-werks
and matnr = vbap-matnr
and datef <= vbak-vdatu
and datet >= vbak-vdatu.
if sy-subrc <> 0.
select single abgru from ZMAT_REJ004
into war_abgru
where vkorg = vbak-vkorg
and matnr = vbap-matnr
and datef >= vbak-vdatu
and datet <= vbak-vdatu.
if sy-subrc <> 0.
else.
w_exist = 'X'.
endif.
else.
w_exist = 'X'.
endif.
else.
w_exist = 'X'.
endif.
else.
w_exist = 'X'.
endif.
if w_exist = 'X'.
end for check from managed codes table
*to find the quantity fields
SELECT SINGLE wmeng bmeng
FROM vbep
INTO (vbep-wmeng,vbep-bmeng)
WHERE vbeln EQ vbap-vbeln
AND posnr EQ vbap-posnr.
*to get info about the customer
SELECT SINGLE kunnr
FROM vbpa
INTO vbpa-kunnr
WHERE vbeln EQ vbak-vbeln
AND parvw EQ c_parvw_shipto.
IF sy-subrc EQ 0.
f_shipto_found = 'X'.
SELECT SINGLE name1 spras
FROM kna1
INTO (kna1-name1,kna1-spras)
WHERE kunnr EQ vbpa-kunnr.
IF sy-subrc EQ 0.
w_custname = kna1-name1.
CLEAR kna1-name1.
ENDIF.
ENDIF.
SELECT SINGLE kunnr
FROM vbpa
INTO vbpa-kunnr
WHERE vbeln EQ vbak-vbeln
AND parvw EQ c_parvw_csr.
IF SY-SUBRC EQ 0.
f_csr_found = 'X'.
SELECT SINGLE kunnr name1 name2 adrnr
FROM kna1
INTO (kna1-kunnr,kna1-name1,kna1-name2,
kna1-adrnr)
WHERE kunnr EQ vbpa-kunnr.
IF sy-subrc EQ 0.
w_csrno = kna1-kunnr.
w_csrname = kna1-name1.
CLEAR kna1-name1.
SELECT SINGLE tel_number tel_extens fax_number
FROM adrc
INTO (adrc-tel_number,adrc-tel_extens,
adrc-fax_number)
WHERE addrnumber EQ kna1-adrnr.
CLEAR: adr6, w_email.
SELECT SINGLE * FROM adr6 WHERE addrnumber = kna1-adrnr.
IF sy-subrc = 0.
w_email = adr6-smtp_addr.
ENDIF.
ENDIF.
ENDIF.
*to get the date format in french
IF kna1-spras NE c_eng.
w_month = sy-datum+4(2).
SELECT SINGLE ltx
FROM t247
INTO t247-ltx
WHERE spras EQ kna1-spras
AND mnr EQ w_month.
CONCATENATE sy-datum+6(2)
t247-ltx
sy-datum+0(4)
INTO w_ldate
SEPARATED BY space.
ELSE.
CONCATENATE sy-datum+4(2)
sy-datum+6(2)
sy-datum+0(4)
INTO w_ldate
SEPARATED BY c_sep.
ENDIF.
w_total = vbep-wmeng - vbep-bmeng.
IF w_total GT 0.
PERFORM fill_orders.
ELSE.
IF vbap-abgru NE space.
w_total = vbep-wmeng.
PERFORM fill_orders.
ENDIF.
ENDIF.
CLEAR vbap.
endif. " check for w_exist for Managed Codes entry
ENDSELECT.
IF tbl_ord[] IS INITIAL.
retcode = 1.
syst-msgid = 'FZ'.
syst-msgno = '027'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
IF f_csr_found IS INITIAL.
syst-msgid = '8B'.
syst-msgno = '127'.
syst-msgty = 'W'.
syst-msgv1 = c_parvw_csr.
PERFORM protocol_update.
ENDIF.
IF f_shipto_found IS INITIAL.
syst-msgid = '8B'.
syst-msgno = '127'.
syst-msgty = 'W'.
syst-msgv1 = c_parvw_shipto.
PERFORM protocol_update.
ENDIF.
ENDFORM. " get_orders
*& Form layout
text
--> p1 text
<-- p2 text
FORM layout.
SORT tbl_ord BY bstnk kdmat.
LOOP AT tbl_ord.
AT FIRST.
PERFORM writeform_text.
ENDAT.
PERFORM writeform.
AT LAST.
PERFORM writeform_footer.
ENDAT.
ENDLOOP.
CLEAR : cnt_1,cnt_2.
PERFORM closeform.
ENDFORM. " layout
*& Form openform
text
FORM openform USING us_screen us_country.
DESCRIBE TABLE tbl_ord LINES w_lines.
IF w_lines EQ 0.
retcode = '1'.
syst-msgid = 'FE'.
syst-msgno = '078'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
CHECK retcode EQ 0.
INCLUDE zrvadopfo.
ENDFORM. " openform
*& Form send_email
text
-->P_PROC_SCREEN text
FORM send_email USING PROC_SCREEN.
f_mail = 'X'.
PERFORM openform USING proc_screen vbak-landtx.
LOOP AT tbl_ord.
AT FIRST.
PERFORM writeform_text.
ENDAT.
PERFORM writeform.
AT LAST.
PERFORM writeform_footer.
ENDAT.
ENDLOOP.
CLEAR cnt_2.
PERFORM closeform.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF' "'ASCII'
IMPORTING
bin_filesize = st_doc_data-doc_size
TABLES
otf = tbl_otf
lines = tbl_line
EXCEPTIONS "DEVK912166
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'OA'. "DEVK912166
syst-msgno = '186'. "DEVK912166
syst-msgty = 'E'. "DEVK912166
PERFORM protocol_update.
ENDIF.
REFRESH tbl_objtxt.
CLEAR tbl_objtxt.
CLEAR tbl_proc_para.
REFRESH tbl_proc_para.
CLEAR tbl_maillist.
REFRESH tbl_maillist.
CLEAR tbl_pack_list.
REFRESH tbl_pack_list.
st_doc_data-obj_name = 'Sales Order Cut Letter'.
st_doc_data-obj_langu = 'E'. "DEVK905849
st_doc_data-sensitivty = 'F'. "DEVK905849
st_doc_data-obj_prio = 1. "DEVK905849
CONCATENATE w_type 'Cut Letter' INTO "#EC NOTEXT
st_doc_data-obj_descr SEPARATED BY space.
DATA w_line(3) TYPE c.
PERFORM format_pdf. "DEVK905849
concatenate VBAK-VBELN '.PDF' into tbl_objhead.
tbl_objhead = 'Sales Order Cut Letter.PDF'.
APPEND tbl_objhead.
"DEVK905849
CLEAR wrk_lines.
DESCRIBE TABLE tbl_attach LINES wrk_lines.
fields needed for email
tbl_maillist-com_type = 'INT'.
tbl_maillist-receiver = w_email.
tbl_maillist-rec_type = 'U'.
APPEND tbl_maillist.
send email
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
STARTING NEW TASK 'MAIL'
EXPORTING
document_data = st_doc_data
document_type = 'PDF'
COMMIT_WORK = 'X' " added after ECC6.0 upgrade
TABLES
object_header = tbl_objhead
object_content = tbl_objtxt
receivers = tbl_maillist
EXCEPTIONS "DEVK912166
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
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'ZA_G'. "DEVK912166
syst-msgno = '922'. "DEVK912166
syst-msgty = 'E'. "DEVK912166
syst-msgv1 = sy-subrc. "DEVK912166
syst-msgv2 = tbl_smtp-adsmtp-smtp_addr. "DEVK912166
PERFORM protocol_update.
syst-msgid = 'VW'.
syst-msgno = '001'.
syst-msgty = 'E'.
syst-msgv1 = 'Print successful:email Recepient Invalid'."#EC NOTEXT
PERFORM protocol_update.
ENDIF.
ENDFORM. " send_email
*& Form fill_orders
text
--> p1 text
<-- p2 text
FORM fill_orders.
tbl_ord-bstnk = vbak-bstnk.
tbl_ord-kdmat = vbap-kdmat.
tbl_ord-xblnr = vbak-vbeln.
tbl_ord-ean11 = vbap-pmatn.
tbl_ord-arktx = vbap-arktx.
tbl_ord-csrno = w_csrno .
tbl_ord-csremail = w_email.
tbl_ord-spras = kna1-spras .
tbl_ord-csrphone = adrc-tel_number.
tbl_ord-csrfax = adrc-fax_number.
tbl_ord-csrext = adrc-tel_extens.
tbl_ord-total = w_total.
tbl_ord-custname = w_custname.
tbl_ord-csrname = w_csrname .
tbl_ord-ldate = w_ldate.
APPEND tbl_ord.
CLEAR tbl_ord.
CLEAR w_total.
CLEAR w_ldate.
ENDFORM. " fill_orders
*& Form writeform_text
text
--> p1 text
<-- p2 text
FORM writeform_text.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'WTEXT'
window = 'WINDOW2'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'EBR'.
syst-msgno = '056'.
syst-msgty = 'E'.
syst-msgv1 = 'WTEXT'.
syst-msgv2 = 'WINDOW2'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " writeform_text
*& Form writeform
text
--> p1 text
<-- p2 text
FORM writeform.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'EMAIN'
window = 'MAIN'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'EBR'.
syst-msgno = '056'.
syst-msgty = 'E'.
syst-msgv1 = 'WTEXT'.
syst-msgv2 = 'WINDOW2'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " writeform
*& Form writeform_footer
text
--> p1 text
<-- p2 text
FORM writeform_footer.
IF nast-spras = 'N'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'FOOTER'
window = 'MAIN'
EXCEPTIONS
element = 1
window = 2.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'WFOOTER'
window = 'WINDOW12'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'EBR'.
syst-msgno = '056'.
syst-msgty = 'E'.
syst-msgv1 = 'WFOOTER'.
syst-msgv2 = 'WINDOW12'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " writeform_footer
*& Form closeform
text
--> p1 text
<-- p2 text
FORM closeform.
CALL FUNCTION 'CLOSE_FORM'
TABLES
otfdata = tbl_otf
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
OTHERS = 3.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'PS'.
syst-msgno = '005'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " closeform
*& Form format_pdf
text
--> p1 text
<-- p2 text
FORM format_pdf.
FIELD-SYMBOLS <fs>.
DESCRIBE TABLE tbl_line LINES hltlines.
DESCRIBE FIELD tbl_line LENGTH fle1 IN BYTE MODE . Defect#1579-
DESCRIBE FIELD tbl_objtxt LENGTH fle2 IN BYTE MODE . Defect#1579-
Start of Defect#1579+
DESCRIBE FIELD tbl_line LENGTH fle1 IN CHARACTER MODE.
DESCRIBE FIELD tbl_objtxt LENGTH fle2 IN CHARACTER MODE.
End of Defect#1579+
CLEAR tbl_objtxt.
REFRESH tbl_objtxt.
LOOP AT tbl_line.
htabix = sy-tabix.
MOVE tbl_line TO hfeld+off1.
IF htabix = hltlines.
fle1 = strlen( tbl_line ).
ENDIF.
off1 = off1 + fle1.
IF off1 GE fle2.
CLEAR tbl_objtxt.
tbl_objtxt = hfeld(fle2).
APPEND tbl_objtxt.
SHIFT hfeld BY fle2 PLACES.
off1 = off1 - fle2.
ENDIF.
IF htabix = hltlines.
IF off1 GT 0.
CLEAR tbl_objtxt.
tbl_objtxt = hfeld(off1).
APPEND tbl_objtxt.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " format_pdf
ANy Suggestion or help will be appreciated!
Regards,
Kittu
Edited by: Kittu on Jun 30, 2008 12:32 PMHello Julie Waller,
Very Good evening!
Thank you very much for your response!
Sometimes...I miss the basic things and start concentarcting on typical ways to fix the issue. ....which will only make my issue critical.
Hello Sathya,
Thank you for your response!
POints are rewarded..
Have a great day ahead!
Regards,
Kittu -
Regarding Creation of Output types for SAP SCRIPTS
Hi All,
I want to create new output types for my SAP Script.
What is the procedure for creating new <b>Z - Output Type</b>.
Like <b>ZA01 for Sales Order</b>.
What is the procedure can any body help me in this regard.
It is not to use <b>ZA01</b> in <b>NACE</b> & connect Print Program & Layout set against Form Entry.
It is for creation of <b>ZA01 Output</b> Type itself.
If anybody knows the procedure please post the steps.
Also please mention will there be any diffrence in creation from <b>Module to Module</b> (or) <b>Transaction (Vs) Transaction</b>. Just like <b>Sales Order (Vs) Purchase Order (Vs) Production Order</b>.
Thanks in advance.
Thanks & Regards,
Rayeez.hi Shaik,
Steps for output type:
Go to NACE Transaction
Select V1 - Sales.
Click Output type
In edit mode , click on new entries.
Give output type as ZA01 with some descp.
Then enter , then u need to give the Access seq. as 0010
Rest proprties are more and less similar to the BA00 standard output type in V1 only.
After that u need to give the processing routines.
In that u need to give the Program name
followed by Form routine name
In this way u can create the output from NACE tran.
Let me know if u want anything else.
Cheers
Rewrd points, if found helpful -
Hi all,
I want to create new output type for quotes that will create an IDOC file at the quote level.
It will Include all of the same segments that are currently being populated for IDOCS created for ZBA4 order confirmation output type. Also it will
Include expiry date from quote header vbak.bnddt (segment E1EDK03, qualifier 006).
Include S0A Reference from quotation header text remarks (segment E1EDKT1)
How to that??
Thanks in advance.
RajDear Kittu,
For your requirement needs output determination settings for the billing.
I don't think you can have Medium PDF ,you can send the PDF file Via Medium Mail.
To do the output determination proceed with this path
IMG>Sales and Distribution->Basic functions>Output control>Output determination>Output Determination Using the Condition Technique-->Maintain Output Determination for Billing Documents.
-->Maintain Condition Tables
-->Maintain Output Types
-->Maintain Access Sequences
-->Assign Output Types To Partner Functios
-->Maintain Output Determination Procedure
-->Assign Output Determination Procedures
You have to assign output program to your output type.You need develop the program such a way that to send the PDF file Via Mail.
After these settings you need to maintain the condition record with Medium Mail in VV31 transaction.
I hope this will help you,
Regards,
Murali. -
Hi All,
I have to define new output type for PO Print-out E-mail.
Please povide me details,what are the required setting need to be done for triggering the mail (Functional side).
Regards
PavanHi,
You needn't to create one new output type, you can use the same one as output type's medium "Print out", just maintain the medium 5-"External send", that will be okay!
Good luck
Tao -
Problem in creating New output types - Urgent
hi all,
Issue is that we had created a new plant(NSC) and for that plant, we had created new scripts for Indent and Sales Order. Means I have to create new output types for NSC Orders and Indents.
What i did that I went to SPRO- IMG- Basic Functions- Output Control- Output Determination- Output Det using Cond Tech- Output Det for Sales Documents , created new output types ANSC and BNSC for AN00 and BA00 respectively.
Then Output Types assigned to Partner Functions. Then I went to 'Maintain output determination procedure' and copied V06000 (Quotation Output) and V10000 (Order Output) to ZV0000(NSC Quotation Output) and ZV0001(NSC Order Output) respectively.
Then I went to ZV0000(NSC Quotation Output) and ZV0001(NSC Order Output) determination procedures and changed outputtypes to ANSC and BNSC instead of AN00 and BN00.
Now what should i do next?? I went to 'Assign Output determination procedures' but here no new entries can be added and I cant find procedures which I created.
Any ideas please??
Regards,
Aisha Ishrat
ICI Pakistan Ltd.HI,
follow this steps:
1. In assignment u have to assign ur new output to respective documents
eg: Assign ZV0000(NSC Quotation Output) to QT sale doc type
2. After doing this u have to maintain condition record
goto tcode: VV11-> here enter ur condition type which u have defined-> inside fill in the details--> now click the <b>communication</b> ikon in top--> fill in the details
this is solve ur purpose
regards,
Arun prasad -
Output type for HU physical inventory process
Hi All,
During a HU physical inventory process we print the physical inventory
document (the list) by transaction HUINV02.
The customer would like to make a few changes in the layout.
we didnt find the standard form and also not the output type.
is anybody know if there is a form or output type for this list?
Thanks,
Sharon.Ok.
I think you need to create a new output type for this. Because even I did not find it anywhere in NACE.
Here is the print program: RM07IDRU.
As you already have the form name, you can create the output type.
Vishwa. -
How to create output type for GR,GI?
Can any one explain,How to create output type for Goods Receipt,Goods Issue.?
and How to take print out for both?Hi, jayant in standard u have output type for picking list, delivery doc complete, theres no output type seperately for PGI or PGR
I am sure u need the help of tech guy to create the new output type for ur requirement
regards
giri -
Is there a way to change the output type for Email Remittance Program?
Hello,
We are trying to implement Separate Remittance Program.The seeded output type is PDF( I have checked the output type for send separate remittance concurrent program) however the
email which we receive looks like a regular email I mean with a normal text . Is there a way to get the output in different type like excel,attachment,pdf.
Any inputs would be highly appreciated.
Thanks,
SushmaCurrently there is a bug raised
Bug 8208646 : R12 UNABLE TO SEND SEPARATE REMITTANCE ADVICE AS EMAIL ATTACHMENT IN PDF.
If you want to customize this process you need to create data definition,new rtf template and bursting program to send pdf as attachment. -
How to add a new output type in sales order header via ABAP program
Hi All,
I have to add new output type (ex Z001) in sales order header via an ABAP program. please let me know how to do this.
Thank you all in advance.Hi,
You can use the FM ..RV_MESSAGE_UPDATE..
Thanks
Naren
Maybe you are looking for
-
Can you apply keywords and metadata for only some subfolders at import?
I thought I should make a separate thread for my second LR file import question. It seems that LR authors assumed that most users would download single events or projects but that isn't the case with me. I'm just an amateur with a Canon 30D and a 4
-
3G active on iPad but safari & email not working
3G active on iPad but safari not working. It says "safari could not open the page because the server stopped responding". Had the iPad for ages & just suddenly stopped working. It has been almost a week now, tried a few things but nothing is working
-
Hi, We are running 24X7 systems and we take backup through RMAN. I want to test my backups are working or not. How can I do that. Regards MMU
-
Pass Records to Oracle Reports
Hi, Lets say that I've already fetched a set of records on Oracle Form, I want to pass these records to a Report " on the Report I don't wana use range or where clause to give me these records" In other way I just want to pass these records on the re
-
Installing Adobe Flash Player B50-30
When trying to install flash player that requires 64 bit, no matter what I specify, only the 32 bit version keeps coming up. How do I download the 64 bit version ?