PO with Multiple acc.assmnt..?
hi gurus
can anybody explain about this
"Creating a Standard Purchase Order With Multiple Account Assignment "
Thanks
sap-mm
Hi,
The concept of Creating PO and divide the cost in to different cost objects.Creating PO with multiple account assignment, then the system will force you to have GR-non valuated indicator being flagged which results in the fact there is not any FI document at GR posting.
Create PO line item by selecting the 'Multiple Account Assignment' button in the 'Account Assignment' View of the Item Detail of PO. However, for such multiple account assignment selection, no accounting document will be generated upon GR maintenance. This can only be done during IV .
From the accounting point of view, for one particular single line item, it is possible to split into different cost centers or internal orders. For instance, I have ordered 100 pcs of bearings of which 50 will be charged to Cost Center C1 and the remaining 50 pcs will be posted to cost center C2.
You can do by
1) Use OME9 and flag on the 'IR changeability' indicator of the account assignment category 'K' (since this is for services).
2) When craeting PO, make sure that the GR-non-valuated indicator is flagged.
Regards,
Biju K
Similar Messages
-
Msg SE181 on ML81N/ME21N- PR WITH MULTIPLE SERVICES ITEMS-1 ACC. ASSIGNMENT
Hi,
when trying to create a new order using transaction ME21N or creating an entry sheet on an existing order based on a purchase requisition with multiple items in the tab services , the system gives the error message SE181 .
Debugging , i've discovered that the part of code in wich the system gets stuck , is the following :
PROGRAM DIMP_GENERAL_SAPLMLSP - INCLUDE LMLSPF3W
Check if accounting data is in sync with service data "846124
IF ACC_TOTAL NE COMSRV-NETPR and glob_empty_package NE 'X'.
IF SY-TCODE = 'ML81'.
MESSAGE I181.
EXIT.
ELSE.
IF GLOB_SUBSCREEN_INIT EQ SPACE.
ACT_PACKNO = ESLL-PACKNO.
MESSAGE E181.
ELSE.
perform add_message using comsrv-packno
'E' 'SE' '181' '' '' '
Someways , it risults that the total of the items value inserted in the tab services , is different from the total NETPR in eban .
But that is not true . ACC_TOTAL is the variable in which the values of the multiline services is put ; I thought that maybe finding out how it is populated could help me to fix the issue , but I did'nt manage to do that .
Can somebody help me , please?
Thanks and Regards,Hi,
I have found a note for this error:
1102653 SE181 with correct account assignment data
1159878 ML81N: SE181 is displayed when you delete a entry s
I have also seen many customers with same error that also applied some of the following notes:
1113594 BAPI_PO_CHANGE - No rounding in multiple acc -> SE1
846124 ME21N: Account assignment prompt missing for subite
800471 ML81: Commitments and reference problems
784911 ML81N Problems with account assignment
749021 Service selection with incorrect documents
716030 ML81N: SE001 when copying a new entry sheet
709163 ML81N - Multiple Account Assignments - Postings inc
Best regards,
Arminda Jack -
GR Non-Valuated with multiple account assignment
Hi, gurus;
some knows a user exit or badi that is used to undercheck the flag GR Non-valuated when PO with multiple account assignment is created (ME21N) ? It can have some consequence in later invoice verification?
Thanks in advance
R.Z.gr non valuated is done in case ur procuring the material for direct consumption so at the time of gr no posting to accounts occur but at the time of invoice recipet the system debits the g/l account and crdits the vendor account
this multiple account ***. is also necessary to mark with gr non valuated and gr check box so that u can change the account assignment at the time of invoice and that acc. assg. should also be changebale in backend . -
Error creating a contract with multiple account assignments
Hallo,
I have created a PO agreement with a single account assignment on tr - ME31K.
If I open this agreement and open the account assignments for an item I'm able to press the "Change display" button. In the screen which is showed I'm able to set the distribution to set the distribution to 1 - Distribution on quantity basis. If I do so I get the following error message: " Enter Acc. ***. Block". The only thing I could do is set this indicator!. But when I set this indicator this indicator is resettled and the message appears again.
The thing I want to do is that it is possible to create a contract whit multiple account assignments.
Could any one say what is missing or what is wrong?
My SAP version is 47x110 SR1.
Kind regards,
Richard MeijnError creating a contract with multiple account assignmentsRahul,
The reason why I created a contract with a single Account Assignment is that it was not possible to save the document.
So I created a document for my example and want to change it to a multiple Account assignment. So I did the steps as described.
After adding a extra account line and pressing Enter I get the error message as described: "Enter Acc. ***. Block".
There must be a setting wring in the IMG but I don't know which one?
I have looked ad transaction "OME9" but couldn't see the cause.
Kind Regards,
Richard Meijn -
How can a family with multiple existing accounts use Home Sharing?
I'd like to use the new Home Sharing feature, but it appears to be restricted to families in which all of the family members share a single user account.
We already have separate accounts for each family member. Is there some way for us to use Home Sharing without abandoning most of our existing accounts, along with all of the purchases made by those accounts? I don't think anyone in this situation would be willing to do that.Eh. I am not too sure since I have not messed with it much but I do have a great deal of experience with multiple accounts. Each computer can be authorized for multiple accounts. As can iPods. iPods can sync songs/videos/apps from multiple accounts as long as the computer is authorized with them. What I have set up here, is I buy my stuff I want, my parents buy what they want and so do my brothers. When my bro gets something I want I just move it to my computer. That way all our accounts are separate, but if there is something I want I can get it. Also, since the music no longer has DRM, it won't matter. It will play on any computer. What you should see is if you can just do the shared library with multiple accounts. Then if you don't have videos or such, you can get apps or music. Hope this helps!
-
How do I use your iPhone with multiple iTunes libraries
Hi, I have my music spread out between 3 seperate Itunes libraries on 3 different profiles on my computer. I have the newest generation Ipod Nano, Ipod Shuffle, and Iphone 4s. My Ipod's are both full, so I've decided to start putting music onto my phone. With my Ipod's, I can plug them into one profile on the computer, download the music on the Itunes library that exists on that profile, then do the same with the other profiles with no issue. However when I try to do this with my phone, It asks me to erase the music I have gotten from one Itunes library and sync with the current library, as soon as I plug it in to a different Itunes on one of the other profiles. I have my Iphone configured with the Manually manage music option, and I still haven't found a way to use my Iphone with multiple music libraries. PLEASE HELP
http://support.apple.com/kb/PH12113 - If you use manual syncing, you can sync items from more than one iTunes library to your iPod. (You can sync iPod touch, iPhone, and iPad with only one iTunes library.)
http://support.apple.com/kb/HT1202 - When manually managing content, you can add content from multiple libraries to your iPod or iPad. Even when manually managing music, some content may be available from only one library at time. This includes all content on iPhone and video content on iPod and iPad.
They seem inconsistent as far as the iPad is concerned but in both articles the iPhone appears to only be able to sync to one library at a time.
Troubleshooting Home Sharing - http://support.apple.com/kb/TS2972 -
How to share account with multiple devices?
3 kids with 3 devices - an iPod Touch and two iPads Mini - family shares one account with Apple/iTunes and one library on our family PC. They use FACETIME and MESSAGES with their friends, and they all see each others messages and conversations. How do I fix this? Is there a setting or a way to create sub-accounts off the family account so they can still share the main library for music and video OR do I have to create separate Apple/iTunes accounts for each kid? Is there a setting on their devices that can help? Any help is greatly appreciated. I'm not even sure the right question to ask...
How to use multiple iPods, iPads, or iPhones with one computer
http://support.apple.com/kb/HT1495
How to Share a Family iPad
http://www.macworld.com/article/1163347/how_to_share_a_family_ipad.html
Using iPhone, iPad, or iPod with multiple computers
http://support.apple.com/kb/ht1202
iOS & iCloud Tips: Sharing an Apple ID With Your Family
http://www.macstories.net/stories/ios-5-icloud-tips-sharing-an-apple-id-with-you r-family/
How To Best Use and Share Apple IDs across iPhones, iPads and iPods
http://www.nerdsonsite.com/blog/2012/06/07/help-im-appleid-confused/
Cheers, Tom -
When I clik on weblinks they all open into new windows making it somewhat painful to clik on window in the menu bar to go to each new page. I would rather have a feature that would allow me to merge all of those individual windows into tabs within one page.
== This happened ==
Every time Firefox openedThank you. That worked. I was able to open 1 window with multiple tabs. Thanks cor-el!
-
How can I share only the same music with multiple iTunes accounts
Hello
I hope someone can help. [I am using Windows Vista (Unfortunately J) and iTunes 10]
I am trying to share the same music library with multiple iTunes accounts. Basically, I want to know if there is a way to automatically upload to other libraries when importing new music into my library, vice versa. [Better information below]
Me, my sister and my dad all use iTunes (on different iTunes accounts), and before now we used to have are own music on our own windows user. Due to many duplicates and a loss of hard drive space I have brought an external hard drive and organised all the music.
It was all going well - I first populated all the music onto my iTunes, exported the library, and then imported it on both the other users. However! Because this is only a copy of the library, when I try to import a new CD, it will not show up on there’s until I “Add File to Library”! Originally I thought about using the same library however we each have are own apps etc, that we don’t want to share.
If you need anymore information please ask!
MattHello roaminggnome
Unfortunately the support is down at the moment, I will have a better look later. I did go though the Apple support previously, however I found nothing that worked.
The first thread I came across was “Home Sharing” however no mater what I did, it did not appear in the iTunes sharing list (I did go though the “Show Sharing Networks” support as well)
Secondly, I saw “Using A Single Library With Multiple Accounts On The Same PC” (Something like that) but all this did was let us share the same music location, if I was to rip extra music, it will not show in there library
Matt -
How to configure one TREX host with multiple index servers ?
Hi All,
Does anyone know how to configure TREX on the one host,
with multiple index servers ?
Reason for this is to make better use of resources available on the host server(4 Gig, 4 Processor, Windows2003), to improve the search performance of
our KM content for portal users.
I am using TREX 7 and have not been able to do this,
despite reading the Single and Distributed install
documentation.
Any help would be appreciated.
Regards,
AndresHi Andres,
To make use of the RAM a Server provides you have to run two indexserver processes (each can then consume 2 GB);
Proceed like this:
1. Go to TREXdeamon.ini; check if section [indexserver2] is there (it is already provided, but not active in standard installation)
2. In TREXdeamon.ini go to
[daemon]
references sections below
programs=nameserver,preprocessor1,indexserver1,queueserver,alertserver
and add indexserver2 here. Restart TREX; second porcess is then started; can be checked in TREX monitor in Portal as well
3. To distribute existing indexes to the new process, start TREXadmintool and go to Index: Landscape
Go to the last two columns and move the indexes (move master here/secondary mouse click)
If you don't distribute the indexes the new index server process will be regarded when an new index is created.
Hope this helps!
cheers
Bettina -
ITunes setup on a NAS with multiple windows users - how?
iTunes setup on a NAS with multiple windows users?
I am very confused on what is the best way to handle this setup for my friends family. Any help would be appreciated. Sorry in advance as I know this is a long winded post - I have a feeling this will help others faced with the same issues or questions.
CURRENT SETUP
I have three new Windows 7 machines networked (two desktops and one laptop) that have four users on each - as busy family with children who need the computers for homework, projects, games, etc... The goal of this setup is that any user can log onto any computer and have there documents available to them no matter computer was free to use. I set this up using the library function in Windows 7 and seems to work pretty well.
I have put a Buffalo Linkstation NAS on the system as well. This was going to serve two purposes 1) run some backup software to protect the computers and 2) consolidate the iTunes content in one place for all users. There is also an iPad in the home that I should would be better served by accessing the content on the NAS without requiring any of the computers being on. Dave is thinking about getting some other playback devices like Apple TV so thought a NAS would be a good way to go.
CURRENT ITUNES SETUP - I have created a new iTunes library on the NAS by holding the SHIFT button down while starting iTunes and pointed to that folder on a Share on the NAS. There was no music on the system at the time as we are planning to copy this over from an OLD machine that is now not being used. I have also authorized all the computers and turned on the home sharing feature (although I am not sure what good that does).
This “shift” button trick seesm to also point the default directory there without point to it in the advanced setup tab of iTunes.
I then synced one of the iPods with purchased content on it and synced that to the library after asking me to do so before an update. All the content showed up in the library and was playable - awesome.
I then logged into each user on each machine (yikes) and installed iTunes and used the “shift” trick to connect each users iTunes to the database on the NAS. Everything seems to work - but I have not tested it thoroughly.
SUMMARY
3 new Windwos 7 networked machines
4 identical users on each machine
1 TB Buffalo linkstation
iTunes setup with the folder on a SHARE
all user’s itunes connected to the iTunes folder on the NAS
all computers authorized with home sharing turned on.
one iTunes user account signed in on each machine
multiple iPods and one iPad in the system
QUESTIONS/CONCERNS
Is there a better way to do this on a NAS?
Would home sharing be better in some way?
I understand the NAS should show up under the shared section in iTunes - I assume that would mean that would mean each user has an iTunes library on their documents?
I have read that there may be corruption issues if users on the different machines try to access iTunes at the same time.
Will there be any issues syncing that various iPods with?
Ugh - sorry for the long post and all the questions. I am just trying to find the best way to do this. I wish Apple would put out a best practices document for setups like this. Thanks in advance.This is a user to user support forum. Your fellow users can offer solutions or workarounds based on their experience with the application. If you think it should work differently drop a line to iTunes Feedback.
For reasons unknown Apple haven't chosen to allow iTunes to be suspended in one profile and active in another. My recollection is that this applies even if each profile has a different library, although it is some time since I've committed a personal test.
I'm not sure why my suggestion make less sense that your current approach?. As I understand it currently everybody is either signed into their own account when they can do something other than work with iTunes, or they sign into the special iTunes account where they can't access any of their other stuff. You don't have to disable fast user switching. Follow exactly the same steps, but make sure everyone closes iTunes before turning the computer over to another user. Disabling fast user switching helps to enforce that action.
tt2 -
Using a seagate external drive with multiple macs
i got a 1TB seagate external hard drive for backup and transfer purposes... it had a little program to help set it up and i set it up for use with mac and pc ( only onther option was stricty this computer.) it works on my computer and a pc but when i tried transfering files from another older mac i have it showed that i could only read on that computer...
how can i get it to work with multiple macs...?I have the oldest macbook (1.83. 2 gigs ram, 60 gig internal hard drive)
I have all my logic content on my external maxtor firewire 400 drive (usb 2.0 is actually faster than firewire 400) and everything is fine. the good thing is if your external drive has 7200rpm, but the ones with 5600rpm should do as well.
Once you drag your apple loops to logic from your external drive, logic will remember for the next visit. And when you are opening a project which is on the external drive , just find it with logic finder and all should be fine. -
Error while posting Customer with Multiple sales areas using DEBMAS05.
Dear experts,
We are generating IDOCS vis SAP DS for posting Customer master. The message type used is DEBMAS and basic type is DEBMAS05. we have a requirement to create 1 customer with multiple sales areas. However, we are ending up with a strange error: "Fill all required fields SAPMF02D 0111 ADDR1_DATA-NAME1". Despite the IDOC going into status 51, the customer gets created and the 1st sales area too. the 2nd sales area however is not created! The IDOC data definitely contains Name1, otherwise the customer would not have been created in the first place.
As the error message is related to the Address data, I also explored upon exploring this erorr further on the lines of Central Address management where in the ADRMAS and DEBMAS have to be passed together(IDOC Serialiization). OSS Note (384462) provides further details about this. One Important point from the note is:
"As you have to specify the logical name of the sending system among other things, SAP is not able to make any default settings in the standard systems. When you use the serialization groups delivered as a standard by SAP, the address objects are imported before the master objects.Thus the sequence address data before master objects must only be adhered to if one of the following points applies to your application:
Such fields are set as required entry fields that are only provided by the BAS in the Customizing of the customer or vendor master.
For your customers, contact persons exist to which a private address or a different business address is assigned.".
This is not the case in our situation, as we do not have required entry fields in customizing that are only provided by the BAS, so the error is all the more confusing and I am not too sure what the cause is.
If someone have experienced the same issue before and have found a solution to it, kindly help out.I have found the cause and solution to this problem.
This error ”Fill all required fields SAPMF02D 0111 ADDR1_DATA-NAME1” and other similar errors like “Fill all required fields SAPMF02D 0111 ADDR1_DATA-SORT1“ which occurrs during the IDOC posting when there are more than one sales area or company code occurs when the customer number range is set up for Internal numbering. This means, that the number gets generated only at the time of save and upon debugging the IDOC, we found out that after creating the customer and the first sales area/company code record, the segment E1KNA1M is cleared completely! This is the reason, it throws an error which points to a mandatory KNA1 field as missing. (Like NAME1, SORT1 etc.)
This was resolved by splitting the IDOC into 2.
The solution is to First post only the KNA1 segment and create the customer.
In the second step, pass the IDOC with all other segments along with E1KNA1M, but pass only KUNNR in E1KNA1M and the rest of the fields in E1KNA1M as “/”: you would have got the KUNNR after the first step.
Important note: This requirement to split the IDOCs does not occur when the customer number is known upfront. (Meaning cases where the customer number is externally generated) I also tested this and created a customer with external numbering and I was able to post more than 1 sales area with the same IDOC.
I noticed multiple threads with the same issue, but none of it had a concrete answer. I hope this information will be useful for anyone facing similar problems.
Cheers
Venkat -
Sending mail with multiple attachment
hi.
i want to send mail with multiple attachment.
i m succeed in sending multiple attachment but the second pdf is not open.
its given error like "This file is damaged and could not be open.
pls check my code. and
give the solution....
point should be assured...........
hope all u r understand my problem..
& tell me where is i m missing something.
REPORT YSDPASALE1_MAIL LINE-SIZE 110.
data : year_month(6) type c.
data : from_date like sy-datum,to_date like sy-datum.
INITIALIZATION.
year_month = sy-datum+0(6).
CONCATENATE year_month '01' into from_date.
to_date = sy-datum.
ranges : temp for mkpf-budat.
temp-low = from_date.
temp-high = to_date.
append temp to temp.
DATA: P_JOBCNT LIKE TBTCJOB-JOBCOUNT,
jobname like TBTCJOB-JOBNAME,
L_RELEASE(1) TYPE c.
CONSTANTS : l_c_device(4) VALUE 'LOCL'.
DATA : t type i value 0.
DATA : p_email1 like somlreci1-receiver,
p_sender LIKE somlreci1-receiver.
Data Declaration
DATA: gd_recsize TYPE i,gd_recsize1 TYPE i.
Spool IDs
TYPES: BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA: w_recsize TYPE i.
DATA: gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att1 LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att2 LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_desc1 TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des,
gd_mtitle LIKE sodocchgi1-obj_descr.
Spool to PDF conversions
DATA: gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
CONSTANTS: c_dev LIKE sy-sysid VALUE 'DEV',
c_no(1) TYPE c VALUE ' ',
c_device(4) TYPE c VALUE 'LOCL'.
Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
DATA: BEGIN OF mailstr OCCURS 0,
p_email like somlreci1-receiver,
END OF mailstr.
DATA: mailtab like STANDARD TABLE OF mailstr WITH HEADER LINE.
DATA: ypp18tab like STANDARD TABLE OF mailstr WITH HEADER LINE,
ymis008tab like STANDARD TABLE OF mailstr WITH HEADER LINE,
ysd15tab like STANDARD TABLE OF mailstr WITH HEADER LINE,
ymis10tab like STANDARD TABLE OF mailstr WITH HEADER LINE.
SUBMIT YSDPASALE1 with bdt in temp
to sap-spool
with line-size = '255'
with KEEP_IN_SPOOL = 'X'
with IMMEDIATELY = ' '
WITHOUT SPOOL DYNPRO
AND RETURN
NEW-PAGE PRINT ON
DESTINATION l_c_device
IMMEDIATELY ' '
KEEP IN SPOOL 'X'
NEW LIST IDENTIFICATION 'X'
NO DIALOG.
new-page print off.
IF sy-batch EQ 'X'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
PERFORM convert_spool_to_pdf.
select yemail as p_email into CORRESPONDING FIELDS OF TABLE ymis008tab
from ymail
where ytcode = 'YMIS008'.
ELSE.
SKIP.
WRITE:/ 'Program must be executed in background in-order for spool & mail sending',
'request to be created.'.
ENDIF.
wait up to 3 seconds.
submit YSD_MONTHLY_SALES
USING SELECTION-SET 'MAIL'
to sap-spool
with KEEP_IN_SPOOL = 'X'
with IMMEDIATELY = ' ' "SPACE
WITHOUT SPOOL DYNPRO
AND RETURN
NEW-PAGE PRINT ON
DESTINATION l_c_device
IMMEDIATELY ' '
KEEP IN SPOOL 'X'
NEW LIST IDENTIFICATION 'X'
NO DIALOG.
new-page print off.
IF sy-batch EQ 'X'.
gd_attachment_desc1 = 'YMIS10'.
gd_mtitle = 'Monthly Sales Report'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
PERFORM convert_spool_to_pdf1.
loop at it_mess_att.
move it_mess_att1 to it_mess_att.
APPEND it_mess_att.
endloop.
APPEND LINES OF it_mess_att1 to it_mess_att.
free it_mess_att1.
it_mess_att[] = it_mess_att1[].
insert LINES OF it_mess_att1 into it_mess_att.
APPEND LINES OF it_mess_att2 to it_mess_att .
insert LINES OF it_mess_att1 into it_mess_att.
insert LINES OF it_mess_att2 into it_mess_att.
loop at ymis008tab into mailstr.
p_email1 = mailstr-p_email.
p_email1 = '[email protected]'.
PERFORM process_email.
endloop.
clear mailstr.
wait up to 5 seconds.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ELSE.
SKIP.
ENDIF.
FORM obtain_spool_id *
FORM obtain_spool_id.
CHECK NOT ( gd_jobname IS INITIAL ).
CHECK NOT ( gd_jobcount IS INITIAL ).
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident <> '0000000000'
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
IF sy-subrc = 0.
message s004(zdd) with gd_spool_nr.
gd_spool_nr = wa_tbtcp-listident.
MESSAGE s004(zdd) WITH gd_spool_nr.
ELSE.
MESSAGE s005(zdd).
ENDIF.
ENDFORM.
FORM get_job_details *
FORM get_job_details.
Get current job details
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
ENDFORM.
FORM convert_spool_to_pdf *
FORM convert_spool_to_pdf.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att = gd_buffer.
APPEND it_mess_att.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
FORM convert_spool_to_pdf1.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att1 = gd_buffer.
APPEND it_mess_att1.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
FORM process_email *
FORM process_email.
DESCRIBE TABLE it_mess_att LINES gd_recsize.
DESCRIBE TABLE it_mess_att1 LINES gd_recsize1.
CHECK gd_recsize > 0 or gd_recsize1 > 0.
PERFORM send_email." USING p_email1.
perform send_email using p_email2.
ENDFORM.
FORM send_email *
--> p_email *
FORM send_email." USING p_email.
CHECK NOT ( p_email IS INITIAL ).
REFRESH it_mess_bod.
Default subject matter
gd_subject = 'Subject'.
gd_attachment_desc = gd_attachment_desc1 .
gd_attachment_desc = 'YPP18 - Daily Highlights'.
CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
it_mess_bod = 'Dear Sir,'.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = 'kindly find the attached document'.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = 'Do not reply on this mail, It is generated from SAP'.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = 'Regards,'.
APPEND it_mess_bod.
it_mess_bod = 'Arpit Shah'.
APPEND it_mess_bod.
If no sender specified - default blank
IF p_sender EQ space.
gd_sender_type = space.
ELSE.
gd_sender_type = 'INT'.
ENDIF.
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_mess_bod
it_mess_att
it_mess_att1
using "p_email
gd_mtitle
'Testing mail generated from SAP'
'Daily Highlights Abstract Report - YPP18'
'PDF'
gd_attachment_name
gd_attachment_desc
p_sender
gd_sender_type
changing gd_error
gd_reciever.
ENDFORM.
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
Send email
FORM send_file_as_email_attachment tables it_message
it_attach
it_attach1
using "p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
changing p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
data: t_packing_list like sopcklsti1 occurs 0 with header line,
t_contents like solisti1 occurs 0 with header line,
t_receivers like somlreci1 occurs 0 with header line,
t_attachment like solisti1 occurs 0 with header line,
t_object_header like solisti1 occurs 0 with header line,
w_cnt type i,
w_sent_all(1) type c,
w_doc_data like sodocchgi1,w_doc_data1 like sodocchgi1.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
Fill the document data.
w_doc_data-doc_size = 1.
Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data1-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = it_attach[].
For 2nd Attachments
* Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach1 INDEX w_cnt.
w_doc_data-doc_size = w_doc_data1-doc_size +
( w_cnt - 1 ) * 255 + STRLEN( it_attach1 ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
APPEND LINES OF it_attach1 to t_attachment.
t_attachment[] = it_attach1[].
APPEND LINES OF it_attach1 to t_attachment.
Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
DESCRIBE TABLE it_mess_att LINES t_packing_list-body_num.
DESCRIBE TABLE it_attach LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = 'YMIS008'."ld_attdescription.
t_packing_list-obj_name = 'YMIS008'."ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
clear t_packing_list.
for 2 attachments
data : a type i,b type i.
a = t_packing_list-body_num.
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = a + 1. "1
DESCRIBE TABLE it_mess_att1 LINES t_packing_list-body_num.
DESCRIBE TABLE it_attach1 LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = 'YMIS10'."ld_attdescription.
t_packing_list-obj_name = 'YMIS10'."ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
a = t_packing_list-body_num.
clear t_packing_list.
* Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = a + 1.
t_packing_list-body_num = t_packing_list-body_num + 1.
DESCRIBE TABLE it_mess_att1 LINES t_packing_list-body_num.
t_packing_list-body_num = a + t_packing_list-body_num .
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = 'YMIS10'."ld_attdescription.
t_packing_list-obj_name = 'YMIS10'."ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
loop at ymis008tab into mailstr.
t_receivers-receiver = mailstr-p_email. "ld_email.
t_receivers-receiver = p_email1.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'. "X "Read Acknoledgement
t_receivers-notif_ndel = 'X'.
APPEND t_receivers.
endloop.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
Populate zerror return code
ld_error = sy-subrc.
Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM.
Rgds.
ArpitHi Arpit,
Take a look at the documentation of FM 'SO_DOCUMENT_SEND_API1' for parameter PACKING_LIST. I think you should set t_packing_list-head_num to a different value than 0 for the second attachment.
Regards,
John. -
I have created a PDF form with multiple drop downs, all with the same drop down values. When I select a value from 1 of the drop down fields, it replicates in all of the others - which I do not want. Can I fix this?
I'm fairly new to this, but I think it has to do with the way you have the drop downs named. Did you copy one then keep pasting it in each field? If so, that is the problem. You should rename each one with a different number: Dropdown1, Dropdown2, etc. I think that might solve the issue.
Maybe you are looking for
-
Purchase order and its item number
Hi everybody, I have a problem in my selection screen: I want that when I choose purchase order the item number is selected (like in MIGO) but It doesn't works. SELECTION-SCREEN:BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. PARAMETERS :
-
Help needed in resolving warnings while migrating to flash 4.6
Getting the below error in FlashBuilder 4.6: 1067: Implicit coersion of a value of type mx.controls:Tree to an unrelated type mx.controls:Tree The line of code is below which is there in QueryTreeAs.as: ModelLocator.getInstance().queryTree=queryTree;
-
IPad won't restore photos in camera roll while restoring from iCloud
Hello Apple community, I reseted my iPad after iOS 8.1.2 update and now i'm restoring from a backup, I got my contacts, apps... restored exept my photos, only 5 photos were restored, I can see downloading, my ipad is stuck on this since yesterday. Pl
-
Viewing HDV on an external monitor
Have read some previous posts on this. I have a Sony GV HD 700 deck and using a Sharp 19" HDTV as my monitor. Can log and capture fine . . no issues. But can't view while editing. Need a capture card. Previous suggestions referred to a Black Magic In
-
Exporting text with a semi transparent background that can be changed in PS or PP?
I'm creating a logo with a semi transparent background that I want to place on top of photos in Photoshop and videos in Premiere. 1. I do not see a transparent option when exporting as a .tiff. Is transparent .png my only option from AI? 2. I will ne