Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Showing posts with label eMail Purchase Order. Show all posts
Showing posts with label eMail Purchase Order. Show all posts

Program to Mass Select Purchase Order and print history

4.6x

* Mass check PO history instead of doing it one at time via transaction ME22N.

report ZPOHISTORY line-size 132 no standard page heading.

tables : ekko,
ekpo,
ekbe,
mseg,
mkpf,
bkpf,
rbkp,
lfa1.

select-options: xebeln for ekko-ebeln memory id bes.

data: wttlqty like ekbe-menge,
wttlamt like ekbe-dmbtr,
wgrqty like ekbe-menge,
wgramt like ekbe-dmbtr,
wirqty like ekbe-menge,
wiramt like ekbe-dmbtr.

data: wtxt1(4),
wrefno like mkpf-xblnr,
wbktxt like mkpf-bktxt.

data: begin of awkey,
belnr like rbkp-belnr,
gjahr like rbkp-gjahr,
end of awkey.

field-groups: header.

insert
ekko-ebeln
ekko-lifnr
ekbe-belnr
ekbe-gjahr
ekbe-ebelp
ekbe-bwart
ekbe-budat
ekbe-menge
ekbe-dmbtr
ekbe-waers
ekbe-bewtp
ekpo-matnr
ekpo-meins
ekpo-txz01
* bkpf-belnr
wbktxt
wrefno
wtxt1
into header.

select * from ekko where ebeln in xebeln.
select * from ekpo where ebeln = ekko-ebeln.
select * from ekbe where ebeln = ekko-ebeln and
ebelp = ekpo-ebelp and
( bewtp = 'R' or
bewtp = 'E' or
bewtp = 'Q' ).
if ekbe-bewtp = 'E'.
wtxt1 = 'GR'.
select single * from mkpf where mblnr = ekbe-belnr and
mjahr = ekbe-gjahr.
if sy-subrc = 0.
wrefno = mkpf-xblnr.
wbktxt = mkpf-bktxt.
endif.
else.
if ekbe-bewtp = 'R'.
select single * from bkpf where BUKRS = '0001' and
BELNR = ekbe-belnr and
gjahr = ekbe-gjahr.
wtxt1 = 'IR'.
wrefno = bkpf-xblnr.
wbktxt = bkpf-bktxt.
else.
select single * from rbkp where belnr = ekbe-belnr and
gjahr = ekbe-gjahr.
wtxt1 = 'IR-L'.
wrefno = rbkp-xblnr.
wbktxt = rbkp-bktxt.
endif.
endif.
if ekbe-shkzg = 'H'.
ekbe-dmbtr = ekbe-dmbtr * -1.
ekbe-menge = ekbe-menge * -1.
endif.
extract header.
clear: wrefno, wbktxt.
endselect.
endselect.
endselect.

sort by ekko-ebeln ekbe-ebelp ekbe-bewtp ekbe-belnr.

loop.
at new ekko-ebeln.
perform po_head.
endat.
at new ekbe-ebelp.
format color col_group inverse.
write:/ '|', ekpo-matnr, ekpo-txz01,
130 '|'.
format inverse off.
endat.
format color col_normal.
shift ekbe-ebelp.
write:/ '|' no-gap,
wtxt1 no-gap, '|' no-gap,
ekbe-belnr no-gap, '|' no-gap,
(4) ekbe-ebelp no-gap, '|' no-gap,
ekbe-bwart no-gap, '|' no-gap,
ekbe-budat dd/mm/yy no-gap, '|' no-gap,
(15) ekbe-menge , ekpo-meins no-gap, '|' no-gap,
(15) ekbe-dmbtr,
* (3) ekbe-waers no-gap, '|' no-gap,
'SGD' no-gap, '|' no-gap,
* bkpf-belnr, '|' no-gap,
wrefno no-gap, '|' no-gap,
wbktxt no-gap, '|' no-gap.
hide: ekbe-belnr, ekbe-gjahr, ekbe-bewtp.
wttlqty = wttlqty + ekbe-menge.
wttlamt = wttlamt + ekbe-dmbtr.
at end of ekbe-bewtp.
format color col_total.
if wtxt1 = 'GR'.
write:/ '|' ,
'Item', ekbe-ebelp, 'Goods Receipts'.
* 25 '|'.
* 130 '|'.
wgrqty = wgrqty + wttlqty.
wgramt = wgramt + wttlamt.
elseif wtxt1 = 'IR' or
wtxt1 = 'IR-L'.
write:/ '|' ,
'Item', ekbe-ebelp, 'Invoices'.
wirqty = wirqty + wttlqty.
wiramt = wiramt + wttlamt.
endif.
write: 35 '|' no-gap,
(15) wttlqty,
' |' no-gap,
(15) wttlamt,
' |' no-gap,
130 '|'.
clear: wttlqty, wttlamt.
endat.
at end of ekbe-ebelp.
uline at /1(130).
endat.
at end of ekko-ebeln.
format color col_positive.
write:/ '|' ,
'Total Goods Receipts',
35 '|' no-gap,
(15) wgrqty,
' |' no-gap,
(15) wgramt,
' |' no-gap,
130 '|'.
write:/ '|' ,
'Total Invoices',
35 '|' no-gap,
(15) wirqty,
' |' no-gap,
(15) wiramt,
' |' no-gap,
130 '|'.
clear: wirqty, wgrqty, wiramt, wgramt.
uline at /1(130).
endat.
endloop.

at line-selection.

if sy-lisel+1(2) = 'GR'.
*if ekbe-bewtp = 'E'.
set parameter id: 'MBN' field ekbe-belnr,
'MJA' field ekbe-gjahr.
call transaction 'MB03'.
elseif sy-lisel+1(4) = 'IR-L'.
set parameter id: 'RBN' field rbkp-belnr,
'GJR' field ekbe-gjahr.
call transaction 'MIR4' and skip first screen.
elseif sy-lisel+1(2) = 'IR'.
* ekbe-bewtp = 'R'.
set parameter id: 'BLN' field ekbe-belnr,
'BUK' field '0001',
'GJR' field ekbe-gjahr.
call transaction 'FB03' and skip first screen.
endif.

*---------------------------------------------------------------------*
* FORM PO_HEAD *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form po_head.
skip.
uline at 1(130).
format color col_key.
select single * from lfa1 where lifnr = ekko-lifnr.
write:/ '|', ekko-ebeln, lfa1-name1, '(', ekko-lifnr, ')',
130 '|'.
uline at /1(130).
format color col_heading.
write:/ '|' no-gap,
'Cat ' no-gap, '|' no-gap,
'Doc No ' no-gap, '|' no-gap,
'Itm', '|' no-gap,
'Mvt' no-gap, '|' no-gap,
'Pstg.dt', '|' no-gap,
' Qty in OUn', '|' no-gap,
'Value in local curr' no-gap, '|' no-gap,
* 'Acc Doc ', '|' no-gap,
'Ref No ', '|' no-gap,
'Doc Text ', '|' no-gap.
uline at /1(130).
endform.

Program to Mass Select Purchase Order and print history

4.6x

* Mass check PO history instead of doing it one at time via transaction ME22N.

report ZPOHISTORY line-size 132 no standard page heading.

tables : ekko,
ekpo,
ekbe,
mseg,
mkpf,
bkpf,
rbkp,
lfa1.

select-options: xebeln for ekko-ebeln memory id bes.

data: wttlqty like ekbe-menge,
wttlamt like ekbe-dmbtr,
wgrqty like ekbe-menge,
wgramt like ekbe-dmbtr,
wirqty like ekbe-menge,
wiramt like ekbe-dmbtr.

data: wtxt1(4),
wrefno like mkpf-xblnr,
wbktxt like mkpf-bktxt.

data: begin of awkey,
belnr like rbkp-belnr,
gjahr like rbkp-gjahr,
end of awkey.

field-groups: header.

insert
ekko-ebeln
ekko-lifnr
ekbe-belnr
ekbe-gjahr
ekbe-ebelp
ekbe-bwart
ekbe-budat
ekbe-menge
ekbe-dmbtr
ekbe-waers
ekbe-bewtp
ekpo-matnr
ekpo-meins
ekpo-txz01
* bkpf-belnr
wbktxt
wrefno
wtxt1
into header.

select * from ekko where ebeln in xebeln.
select * from ekpo where ebeln = ekko-ebeln.
select * from ekbe where ebeln = ekko-ebeln and
ebelp = ekpo-ebelp and
( bewtp = 'R' or
bewtp = 'E' or
bewtp = 'Q' ).
if ekbe-bewtp = 'E'.
wtxt1 = 'GR'.
select single * from mkpf where mblnr = ekbe-belnr and
mjahr = ekbe-gjahr.
if sy-subrc = 0.
wrefno = mkpf-xblnr.
wbktxt = mkpf-bktxt.
endif.
else.
if ekbe-bewtp = 'R'.
select single * from bkpf where BUKRS = '0001' and
BELNR = ekbe-belnr and
gjahr = ekbe-gjahr.
wtxt1 = 'IR'.
wrefno = bkpf-xblnr.
wbktxt = bkpf-bktxt.
else.
select single * from rbkp where belnr = ekbe-belnr and
gjahr = ekbe-gjahr.
wtxt1 = 'IR-L'.
wrefno = rbkp-xblnr.
wbktxt = rbkp-bktxt.
endif.
endif.
if ekbe-shkzg = 'H'.
ekbe-dmbtr = ekbe-dmbtr * -1.
ekbe-menge = ekbe-menge * -1.
endif.
extract header.
clear: wrefno, wbktxt.
endselect.
endselect.
endselect.

sort by ekko-ebeln ekbe-ebelp ekbe-bewtp ekbe-belnr.

loop.
at new ekko-ebeln.
perform po_head.
endat.
at new ekbe-ebelp.
format color col_group inverse.
write:/ '|', ekpo-matnr, ekpo-txz01,
130 '|'.
format inverse off.
endat.
format color col_normal.
shift ekbe-ebelp.
write:/ '|' no-gap,
wtxt1 no-gap, '|' no-gap,
ekbe-belnr no-gap, '|' no-gap,
(4) ekbe-ebelp no-gap, '|' no-gap,
ekbe-bwart no-gap, '|' no-gap,
ekbe-budat dd/mm/yy no-gap, '|' no-gap,
(15) ekbe-menge , ekpo-meins no-gap, '|' no-gap,
(15) ekbe-dmbtr,
* (3) ekbe-waers no-gap, '|' no-gap,
'SGD' no-gap, '|' no-gap,
* bkpf-belnr, '|' no-gap,
wrefno no-gap, '|' no-gap,
wbktxt no-gap, '|' no-gap.
hide: ekbe-belnr, ekbe-gjahr, ekbe-bewtp.
wttlqty = wttlqty + ekbe-menge.
wttlamt = wttlamt + ekbe-dmbtr.
at end of ekbe-bewtp.
format color col_total.
if wtxt1 = 'GR'.
write:/ '|' ,
'Item', ekbe-ebelp, 'Goods Receipts'.
* 25 '|'.
* 130 '|'.
wgrqty = wgrqty + wttlqty.
wgramt = wgramt + wttlamt.
elseif wtxt1 = 'IR' or
wtxt1 = 'IR-L'.
write:/ '|' ,
'Item', ekbe-ebelp, 'Invoices'.
wirqty = wirqty + wttlqty.
wiramt = wiramt + wttlamt.
endif.
write: 35 '|' no-gap,
(15) wttlqty,
' |' no-gap,
(15) wttlamt,
' |' no-gap,
130 '|'.
clear: wttlqty, wttlamt.
endat.
at end of ekbe-ebelp.
uline at /1(130).
endat.
at end of ekko-ebeln.
format color col_positive.
write:/ '|' ,
'Total Goods Receipts',
35 '|' no-gap,
(15) wgrqty,
' |' no-gap,
(15) wgramt,
' |' no-gap,
130 '|'.
write:/ '|' ,
'Total Invoices',
35 '|' no-gap,
(15) wirqty,
' |' no-gap,
(15) wiramt,
' |' no-gap,
130 '|'.
clear: wirqty, wgrqty, wiramt, wgramt.
uline at /1(130).
endat.
endloop.

at line-selection.

if sy-lisel+1(2) = 'GR'.
*if ekbe-bewtp = 'E'.
set parameter id: 'MBN' field ekbe-belnr,
'MJA' field ekbe-gjahr.
call transaction 'MB03'.
elseif sy-lisel+1(4) = 'IR-L'.
set parameter id: 'RBN' field rbkp-belnr,
'GJR' field ekbe-gjahr.
call transaction 'MIR4' and skip first screen.
elseif sy-lisel+1(2) = 'IR'.
* ekbe-bewtp = 'R'.
set parameter id: 'BLN' field ekbe-belnr,
'BUK' field '0001',
'GJR' field ekbe-gjahr.
call transaction 'FB03' and skip first screen.
endif.

*---------------------------------------------------------------------*
* FORM PO_HEAD *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form po_head.
skip.
uline at 1(130).
format color col_key.
select single * from lfa1 where lifnr = ekko-lifnr.
write:/ '|', ekko-ebeln, lfa1-name1, '(', ekko-lifnr, ')',
130 '|'.
uline at /1(130).
format color col_heading.
write:/ '|' no-gap,
'Cat ' no-gap, '|' no-gap,
'Doc No ' no-gap, '|' no-gap,
'Itm', '|' no-gap,
'Mvt' no-gap, '|' no-gap,
'Pstg.dt', '|' no-gap,
' Qty in OUn', '|' no-gap,
'Value in local curr' no-gap, '|' no-gap,
* 'Acc Doc ', '|' no-gap,
'Ref No ', '|' no-gap,
'Doc Text ', '|' no-gap.
uline at /1(130).
endform.

Write BDC Program to Update Source List by Material Group - MM01

The SCREEN SEQUENCE FOLLOWS

4.6x.

***********************************************************************
* Update Source List by Material Group
* Blocking / Unblocking the Vendor
* The Vendor code is retrieve from the Purchasing Info Record
***********************************************************************

REPORT ZSOURCE.
TABLES: EORD,
EINA,
MARC.

* Batch Input Name
PARAMETERS P-BTCHSN(12) DEFAULT 'ME01'.
* Vendor Code
PARAMETERS P-LIFNR LIKE LFA1-LIFNR DEFAULT 'XXXXX'.
* Material Group
PARAMETERS P-MATKL LIKE MARA-MATKL DEFAULT 'XXXXXXX'.
* Plants
PARAMETERS P-WERKS LIKE EORD-WERKS DEFAULT 'XX'.
* Tick Block/Untick Unblock
PARAMETERS P-NOTKZ LIKE EORD-NOTKZ DEFAULT 'X'.
* Auto / Manual run the Batch Input Program
PARAMETERS P-RUN AS CHECKBOX DEFAULT 'X'.

* INTERNAL TABLE FOR DATA
DATA: BEGIN OF ULTAB OCCURS 50,
MATNR LIKE EORD-MATNR, "Material No.
WERKS LIKE EORD-WERKS, "Plants
ZEORD LIKE EORD-ZEORD, "NO
LIFNR LIKE EINA-LIFNR, "Vendor Code
END OF ULTAB.

* INTERNAL TABLE FOR BATCH INPUT DATA
DATA: BEGIN OF IPUTTAB OCCURS 50.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF IPUTTAB.

* INTERNAL TABLE FOR BATCH INPUT ERROR MESSAGE.
DATA: BEGIN OF MESSTAB OCCURS 50.
INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF MESSTAB.

DATA: C_TAXKM LIKE MG03STEUER-TAXKM VALUE '1',
W-LINE-NO TYPE I.

REFRESH ULTAB.
SELECT * FROM EINA WHERE LIFNR = P-LIFNR
AND LOEKZ = SPACE.
SELECT SINGLE * FROM MARC WHERE MATNR = EINA-MATNR
AND WERKS = P-WERKS.
CHECK MARC-LVORM = SPACE.
CLEAR ULTAB.
SELECT * FROM EORD WHERE MATNR = EINA-MATNR
AND WERKS = P-WERKS
AND LIFNR = P-LIFNR.
ULTAB-MATNR = EORD-MATNR.
ULTAB-WERKS = EORD-WERKS.
ULTAB-ZEORD = EORD-ZEORD.
ULTAB-LIFNR = EORD-LIFNR.
APPEND ULTAB.
ENDSELECT.

IF SY-SUBRC = 4.
ULTAB-MATNR = EINA-MATNR.
ULTAB-WERKS = P-WERKS.
ULTAB-ZEORD = ''.
ULTAB-LIFNR = EINA-LIFNR.
APPEND ULTAB.
ENDIF.
ENDSELECT.

* CHECK WHETHER TABLE IS EMPTY
IF ULTAB[] is initial.
WRITE: / 'TABLE EMPTY'.
ENDIF.

* Create Batch session
PERFORM CRE-BATCH-SESS.

** LOOP TABLE TO CREATE SCREEN INPUT
SORT.
LOOP AT ULTAB.
REFRESH IPUTTAB.
PERFORM SCREEN1.
PERFORM SCREEN2.
PERFORM PRN_ULTAB.
PERFORM CLOSE-SESS.
ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

* END OF MAIN PROGRAM

FORM SCREEN1.
* SCREEN #1: INITAL SCREEN FOR MAINTAINING SOURCE LIST
CLEAR IPUTTAB.
IPUTTAB-PROGRAM = 'SAPLMEOR'.
IPUTTAB-DYNPRO = '200'.
IPUTTAB-DYNBEGIN = 'X'.
APPEND IPUTTAB.

* Source List : Material No.
CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-MATNR'.
IPUTTAB-FVAL = ULTAB-MATNR.
APPEND IPUTTAB.

* Source List : Plants.
CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-WERKS'.
IPUTTAB-FVAL = ULTAB-WERKS.
APPEND IPUTTAB.

ENDFORM.
***********************************************************************
* FORM : SCREEN1 *
***********************************************************************
FORM SCREEN2.
* Modify screen for SOURCE LIST
CLEAR IPUTTAB.
IPUTTAB-PROGRAM = 'SAPLMEOR'.
IPUTTAB-DYNPRO = '205'.
IPUTTAB-DYNBEGIN = 'X'.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-VDATU(1)'.
IPUTTAB-FVAL = '01.01.2001'.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-BDATU(1)'.
IPUTTAB-FVAL = '31.12.9999'.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-LIFNR(1)'.
IPUTTAB-FVAL = P-LIFNR.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-EKORG(1)'.
IPUTTAB-FVAL = 'ALL'.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-NOTKZ(1)'.
IPUTTAB-FVAL = P-NOTKZ.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-AUTET(1)'.
IPUTTAB-FVAL = '1'.
APPEND IPUTTAB.

* Specify that we are now done with this screen (Save it with F11)
CLEAR IPUTTAB.
IPUTTAB-FNAM = 'BDC_OKCODE'.
IPUTTAB-FVAL = '/11'.
APPEND IPUTTAB.
ENDFORM.

***********************************************************************
* FORM : CLOSE-SESS *
* DESCRIPTION : CLOSE THE SESSION *
***********************************************************************
FORM CLOSE-SESS.
* closing the session.
IF P-RUN = 'X'.
* Auto run the Batch Input Program
CALL TRANSACTION 'ME01'
USING IPUTTAB
MODE 'E'
UPDATE 'S'
MESSAGES INTO MESSTAB.
ELSE.
* Maual run the Batch Input Program
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'ME01'
TABLES
DYNPROTAB = IPUTTAB.
ENDIF.

ENDFORM.

***********************************************************************
* FORM : PRN-ULTAB *
* DESCRIPTION : PRINT OK TABLE *
***********************************************************************
FORM PRN_ULTAB.
WRITE: / ULTAB-MATNR, ULTAB-WERKS, ULTAB-ZEORD, ULTAB-LIFNR.
W-LINE-NO = W-LINE-NO + 1.
WRITE: ' RECORD# ', W-LINE-NO.
ENDFORM.

***********************************************************************
* FORM : CRE-BATCH-SESS *
* DESCRIPTION : CREATE BATCH SESSION *
***********************************************************************
FORM CRE-BATCH-SESS.
** Create BTCI session **
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = P-BTCHSN
USER = SY-UNAME
KEEP = 'X'.
ENDFORM.

How to use e-mail with ERS Invoice verifcation

Can anyone help me with information on how to use e-mail for sending ERS invoices. I want to sent the ERS invoices to a vendor how performed a service.

The first problem I encounter is that in the Vendor masterdata I can't fill in an e-mailaddress. And therefor I can't assign it to a partnerroll.

Is it also possible to use a distributionlist? That the ERS invoice is sent to that list and from there to email-recipents?

Georg Herder

You can store an email address at the vendor master (address). The fields must have been set to inactive in the configuration.

Please review the settings in the IMG.

Then go to Mat.Management/Logisitc Invoice Verification/Message Determination (IMG)

Here you can maintain the necessary message types ( I used the SAP standard ERS, copied to ZERS),
added Mail title "Automatic Invoice Verification &RBKP-BELNR&",
added Processing routine "5" External Send with program RM08NAST,
form-routine ENTRY_ERS, form MR_PRINT (or whatever copy you like to use),
in partner functions addedd medium "5" (now I have print, fax and email).

In detail of ZERS: Access sequence 0004 etc (all from output type ERS), Replacement of text...program RM08NAST,
Form routine MAILTEXT_REPLACE (to get the doc number into the email title),
Deflt values: "4" (immediate), Medium "5",
Partner function VN (you can use PI if required),
Communication strategy "ANZ" for fax and email, Timing 1 and 4 allowed (1 for RSNAST00, variant for "MR", "ZERS")

Next: Maintain Message Schema: MR0004 ERS Procedure (MRRL)(standard),
step 10 ERS6 (EDI), 20 ZERS (email/fax),
30 ERS (print). This schema is hardcoded!

Then "Maintain Conditions" ( or trans. MRM1, MRM2, MRM3), create the necessary output condition records
for e.g. ZERS for company code with medium "5" and timing "4" or per vendor...depends what you need

((Check what communication strategy is defined in your system)).

Marc

PS: had some trouble setting this up because the output type ERS and scheam MR0004 were only in client 000.
Had to copy the missing entries from 000 by table. ERS: TNATI has language "" which forces trouble when
you use it directly. I adjusted via SE16N (okcode &sap_edit) and transport manually. Also T683S was creating
a dump with SM31, used my own util-prog to copy from 000, transport manually.

Sending mail directly from SAP via Microsoft Exchange

If you want to send your mail directly via Microsoft Exchange, you have to install the SAP Exchange Connector Software on your Microsoft Exchange Server.

The setup program SETUP.EXE is located on the R/3 Presentation CD in the directory :\GUI\WINDOWS\WIN32\SXC.

Then you have to setup :-

  • SM59 - The RFC destination
  • SCOT - SAPconnect

Send SAP Purchase Order with Microsoft Outlook

This is how it work:-

Install the SAP setup program on the SAP Presentation CD-ROM under \GUI\WINDOWS\WIN32
Execute the SAPsetup program and choose the Desktop Interfaces.
Then choose the SAP MAPI Service Provider (select Change Options to display the selection)

Once the SAP MAPI is installed. You can create your logon profile for SAPoffice.
Go into your Control Panel of your windows.
Select the Mail option from the Control Panel to call the MAPI profile manager.
Choose Add to call up the new logon profile setup wizard
Select Add from the Services and select the SAP MAPI Service Provider
Type in the required R/3 information (client, sap user name, password)
The supplied PST file is sapwrk.pst

Now, logon to your Microsoft Outlook and see whether you can access all your SAPoffice folders.

If you send the file using SP01 -> System -> List -> Send, the file will have the extention ALI. Use the Windows Explorer to default open with the Windows Notepad.

Send Purchase Order via Output Determination

Read note 191470 - Purchase order as an e-mail

From release 4.5, you can send your purchase order via output determination. This note have indicate all the requirement and settings necessary to send purchase order via the output determination once your SAP have been connected to an External Mail System.

Sending P.O. By Mail To Vendor

Is there any standard programm for sending P.O.'s by e-mail to vendor's email-id?

You need to do some configuration for this.

- Goto NACE .
- Select EF and click on OUTPUT TYPES.
- Then select Output Type NEU and click on processing routines .
- In that you have to add a new entry - medium 5 .
- Then you need to assign a program, form routine and form.
- You can use the standard program i.e. SAPFM06P, FORM routine is always ENTRY_NEU and standard MEDRUCK.
- Then in PARTNER FUNCTION you need to add a new entry : medium - 5 and function - VN .
- For subject of the mail goto Mail Title and Texts. In title give PO No. &EKKO-EBELN& .
- Under General data -> Replacement of text symbols give programm as SAPMM06E and Form Routine as
TEXT_SYMBOL_REPLACE .
- Now the subject will be PO No. 1800004202.
- You need to maintain your email id in tcode SU01 and also the vendor's email id.
- Now while creating a new purchase order , change the medium to External Send .
- Then goto Communication Method and select CS01 . ALSO make sure that the Cover Page Text has value PO No. &EKKO-EBELN& .
- Goto tcode ME9F .
- Execute.
- Select the checkbox and click on Output Message.
- You will get a message MAII 00000000000001 generated .

If the BASIS guys have made the necessary configuration for sending mail then the mail will go .

You can see the status in tcode SOST.

If you want to use a z-programm and z-form then you need add the functions used in standard programm SAPFM06P for generating mail in your z-programm.

Google
 

Subscribe Here

AddThis Feed Button