Avoiding Billing combination on a background processing.

Hi Experts,
When we run back ground processing for the Billing documents,the delivery documents are getting collectively billed.
The delivery documents are getting combined, how can i avoid this.
We intend to avoid delivery combine for billing.(Single billing for single delivery)
Thanks in advance..
Montee

Dear Montee,
The invoice split or combine may takes place based on the copying routine which is maintained at VTFL item level settings.
Go to VTFL transaction then select your invoice type and delivery type then go in to the item level setting by selecting itemcategory here you find field Data VBRK/VBRP maintain this field with proper Routine then check.
If the standard routine not serves your requirement then you can take help of ABAPer to develop the new routine as per your logic through VOFM transaction then assign the routine in VTFL transaction.
I hope this will help you,
Regards,
Murali.

Similar Messages

  • Experience in ABAP OO and heavy background processing?

    Hi,
    we're planning to develop a new application with a (very) high part of background processing. We plan to use the ABAP OO. We also want to make a good OO-Design (with many SETTER and GETTER methods and so on). I'm afraid we will get a lot of "program to program" communication and we will atomize our application. Also it's sounds to me like a conflict with the stuff from the Performance-course BC490.
    Has anybody experience with ABAP 00 and applications that normally designed for a "number cruncher"?
    Thanks and regards,
    Stefan

    Hi Mariana,
    I've started with two technical prototypes that have a very little business logic. One prototype is designed in the "good old" ABAP and one in the ABAP OO and a selfmade OO-framework from our company. This framework is very comforable and offers a lot of methods and superclasses. For vectors there is a own superclass. So for you question: We use a own object to pass the vectors.
    Also we use the software objectif for the OOD. I've learned how important a good OOD is, before I started any coding.
    My prototypes have a very simple business logic. They creates bills for 10.000 invoice recipient. The only feature is, that every recipient can have his own customizing to decide which items should be together on one invoice to a individual invoice date. 
    I must admit that the API in the OO prototype are more understandable, but for the performance I see still the follow bottlenecks with the I/O:
    - When I instance a business object, all attributs are loaded into the memory.  In the old ABAP I use only the required fields. So the "smelly" SELECT *-Statement is back again...
    - A business-class (A) that have dependent business-classes (B1, B2, B3...BN) should instance his dependes objects with the first access the the class (A). When the classes (B1,B2...BN) has also dependent classes, this object should be instances (B1 has C1,C2,C3..CN), too. There is always a "vector"-class between this classes that notice the reference of his objects.In my prototype for example you have a invoice recipient.
    In my prototype for example I have a class invoice recipient (class A). This recipient has a vector of bill-header (class B) and every bill-header has a vector of bill-items (class C). Between every of this classe is a vector-class that manage the references of the objects.
    I've programmed this lazy (hope that this is the correct word that a OO-gurus use). This means I instance only the class A. If there is a call to a method from object A that need the information from the class B-objects, than i look if the reference of the vector-class for the B-Object is already available. When not I instance the vecotr-class and this reads all dependens object B.
    So there is much more I/O than in old ABAP, after all.
    However I'm a OO beginner.
    Therefore I'm waiting that an OO-expert from our company take a look to my prototype coding and improve this for a better performance. I'm looking forward for some good tips. I will let you know when I've good some other nuts and bolts.
    Perhaps SAP needs a OO-database instead a rational database, so that all GET-methods goes directly to the database to avoid a instance with all attributs in the memory of the application-server...
    Many greetings from germany,
    Stefan

  • ATP Re-Run in background processing for sales order

    Hello All,
    In sales order i need to re run the ATP check for the quantity confirmation in background processing.
    Scenario is :
    I have created orders with order quantity 100.
    while creating the order stock for the same material was only 20 so ultimately it will not confirmed the quantity.
    After the some period i m increasing stock of same material by 120. Now, same order which i created before can be confirmed as i need only 100 quantity in that. but for the same I need to manually run the ATP again and then it will confirm the quantity.
    instead of manually re run the ATP again i want to do this activity in background processing so that it will automatically confirmed the stock once inventory increased.
    Is there any provision in sap to avoid this manual task with the help of background processing or any program?
    Thanks and Regards,
    Rasik

    Hi,
    This can be achieved by rescheduling the orders .
    << Moderator message - Cut and paste response from http://help.sap.com/saphelp_470/helpdata/en/93/744c0c546011d1a7020000e829fd11/content.htm removed and points unassigned. Plagiarism is not allowed in SCN >>
    You reach the Sales screen.
    Select Environment ® Backorders ® Rescheduling ® Execute.
    You can  also simulate the backorders for rescheduling before confirming by selecting the simulateevaluate option.
    Prerequisite for rescheduling the line items of the order is that at schedule line you should not flag the  field fixed date and quantity field. Also for ATP you must have defined the scope of check with checking rule BO(i guess) for that particular plant in combination of checking group .
    Hope this will help you.
    Thanks and Regards,
    Atulkumar Dagade
    Edited by: Rob Burbank on Jan 24, 2012 10:16 AM

  • Why may any user leave background processes running at will?

    Hi all,
    yesterday, I encountered a rather strange problem with linux in common, at least
    I think so.
    In my .xinitrc, I'm starting offlineimap - a console-based mail synchronization
    tool - in the background. Being naive, I expected it to be killed along with the
    gui applications started in that file. Yet, that assumption proved wrong and I
    started asking for help on how to kill that process on #archlinux.
    The guys there (again, thanks for your help and patience!) all came up with
    plenty of ideas on how to avoid starting more than once instance of the program,
    but that wasn't really what I was looking for. The only usable option came from
    anrxc, who suggested killing the program from awesome's logout hooks.
    Not fully satisfied with the solutions, I started thinking and came up with the
    following question:
    Why is every user allowed to leave background processes on the machine
    just as he pleases, even if he logs out?
    I even tried this over ssh, where the launched commands have some sort of
    "parent" process, but even in this circumstance it was possbible to leave
    background processes behind after logging out.
    I mean, on my desktop system, this is not a big issue... I shut it down once
    every day at the least and there are no users on it besides my girlfriend and
    me. But this seems like a fundamental problem to me. Why is this allowed at all?
    Does it make sense to do it that way? What are the consequences?
    Let's discuss!

    JohannesSM64 wrote:Really, you need to find a better way to manage offlineimap than starting it in xinitrc. Automatically killing any background processes on any logout will not make linux better.
    Hmm... to me, .xinitrc is the place to start apps which should live just as long
    as the graphical user login lasts. On #archlinux, several other places were
    discussed, but none of them were "the thing":
    .bashrc
    Doesn't work, because a) the process would only get started when I open a shell,
    not when I log in and b) because finding a place to stop the process would be
    even harder.
    .bash-profile
    Only gets executed for a login shell, which I wouldn't account for a graphical
    login at all.
    wm startup script (in this case awesome's rc.lua)
    Possbile, but not much better. Would fork the process all the same, merely
    moving the problem. If X got killed, not even awesome's logout hooks would
    apply.
    Also, this approach isn't wm-agnostic, so trying out / switching to another wm
    would have the problem occur all over again.
    So what do you suggest? Do you have a good idea?
    pseudonomous wrote:
    As to the question of "why" things act this way:
    I believe this is linux display it's heritage as a mulit-user operating system that people used terminals to log into to run program on.  A big place where unix used to be (and is, to some degree, still used) was in universities where a professor or graduate student might have logged onto the system to run some program to process some large set of data.  You wouldn't want to sit around and wait for this program to finish; you'd want to run it in the background, leave, and come back and look at the results a week later, when the program finished running.  One of my friends doing applied math research still does this sort of thing.  I'd imagine it's relatively common.
    Process management was largely handled be systems administrators, and commonly you were being billed for CPU time, so it was in your interest not to leave programs that you didn't want to run running when you logged out.
    Hmmm... that seems like a rational explanation. But in the case that is the
    reason for linux' behavior: Why isn't there some kind of a mode setting? Like
    one which allows any user to keep processes alive and another one that doesn't?

  • Background processing - load distribution guidelines

    Hello,
    We are using the HR module (ESS/MSS type Web application) in an ECC6 system.
    Due to the business needs we need to run heavy interfaces job.
    Basically the interfaces background jobs would turn round the clock and we fear this will impact the end users running the dialog transactions.
    While we can scale up the environment I was wondering if there are any guidelines or best practices from SAP regarding SAP background processing and interfaces. Recommendations like running interfaces background jobs outside businnes hours. Or anything similar that could help us approach the topic in a good way.
    Currently we fell that we will misuse the system and we will generate a big impact on the end-user dialog performance.
    Any hint is greatly appreciated,
    Kind Regards,
    Florin

    you can use logon load balancing in scheduling those background jobs,
    Re: Scheduling background job on Logon group
    Re: Scheduling background job on Logon group
    or you can speficify some particular jobs to be run only on application server so as to avoid the load in CI
    and following also might help you
    http://help.sap.com/saphelp_nw04/helpdata/en/c4/3a7f39505211d189550000e829fbbd/frameset.htm

  • AQ Callbacks - Blocking background processes and best practices.

    We are running several queues within our company and one of them uses pl/sql callback functionnality.
    Basically, several triggers can enqueue a message when underlying tables are updated. The goal of the callback is to "treat" those messages, which means dequeuing the messages and passing them to some procedure (determined through a confguration table and the type of message). I don't know if i'm clear enough on this but it is as important.
    In general the mechanism works perfectly but we noticed in one of our databases that, after a relatively big amount of messages enqueuing (~ 500-1000 in one trasanction), there are numerous background processes blocked on system table SYS.AQ_SRVNTFN_TABLEI. In fact, the queue starts growing and messages are not dequeued anymore by the callback, that doesn't seem to be executed anymore at all.
    We actually were also unable to re-compile the package that holds the callback procedure nor removing/adding the reference of the subscriber to the queue with DBMS_AQ. It would hang there forever...
    We are running Oracle Database 10g Enterprise Edition Release *10.2.0.4.0* and the value of AQ_TM_PROCESSES = 0.
    I don't necesseraly have a complete and clear view of how the queue mechanism works behind the scenes so forgive for some foolish things I could say :-)
    Diagnosis:
    After some research, it seems the backgrounds processes are blocked on the system table SYS.AQ_SRVNTFN_TABLE on some index for MSGID.
    If I understand correctly how the system works, the callback gets executed for a specific MSGID as we use it in the callback procedure to dequeue this message.
    I've also discovered that the default value for the WAIT dequeue option is FOREVER...
    So my idea was that, for some reason, the callback tries to dequeue a message that does not exist in the queue and... waits forever for the message to "appear".
    This at first seemed pretty unlikely to me: why would the callback be executed if no message with provided MSGID exists... then you start doubting :-)
    Attempt to resolve:
    We've decided to alter the WAIT option to not let the dequeue in the callback wait forever.
    We have made some tests (outside the callback) with NO_WAIT and also with a wait of a few seconds. Both solution prooved right so we added a wait of 60s in the callback and added some tracing.
    Since then, no more background processes seems to hang there and we are able to alter the callback procedure normally. But with the added tracing, we noticed an unexplained behavior with the execution of the callback:
    - callback runs
    - ORA-25263: no message in queue QUEUE_OWNER.MULTISRC_NOTIFQ with message ID B4FFD1115523A46EE040007F0100304F
    - callback runs again and message is dequeued and treated correctly
    The first oracle error happens fast, not after 60s as the WAIT option specifies.
    Questions:
    <li>Is the way the callback method is implemented correct (see code below) ?</li>
    <li>Do we need to commit in the callback method ? What implies committing or not ?</li>
    <li>How wouold you explain the behavior of the callback after setting the dequeue WAIT to 60s and why it does not actually wait for 60s ?</li>
    <>
    <>
    <>
    <>
    The configuration of the queue and the callback is as follow:
    - the type of the payload is SYS.ANYDATA
    - an extra index is create on CORRID column
    begin
       -- create queue table
       begin
          DBMS_AQADM.CREATE_QUEUE_TABLE(QUEUE_TABLE        => 'QUEUE_OWNER.MULTISRC_NOTIFTAB'
                                       ,QUEUE_PAYLOAD_TYPE => 'SYS.ANYDATA'
                                       ,MULTIPLE_CONSUMERS => true);
       end;
       -- create and start queue
       begin DBMS_AQADM.CREATE_QUEUE(QUEUE_NAME => 'QUEUE_OWNER.MULTISRC_NOTIFQ', QUEUE_TABLE => 'QUEUE_OWNER.MULTISRC_NOTIFTAB'); end;
       begin DBMS_AQADM.START_QUEUE(QUEUE_NAME => 'QUEUE_OWNER.MULTISRC_NOTIFQ'); end;
       -- grant access to the queue to PDO
       -- add a subscriber to the queue and register the plsql to execute
       begin
          DBMS_AQADM.ADD_SUBSCRIBER(QUEUE_NAME => 'QUEUE_OWNER.MULTISRC_NOTIFQ'
                                   ,SUBSCRIBER => SYS.AQ$_AGENT('MULTISRC_NOTIFSUBSCR', null, null));
          DBMS_AQ.REGISTER(SYS.AQ$_REG_INFO_LIST(SYS.AQ$_REG_INFO('QUEUE_OWNER.MULTISRC_NOTIFQ:MULTISRC_NOTIFSUBSCR'
                                                                 ,DBMS_AQ.NAMESPACE_AQ
                                                                 ,'plsql://PDO.PO_NOTIFY.MULTISRC_NOTIF_SUBSCRIBER?PR=0'
                                                                 ,HEXTORAW('FF')))
                          ,1);
       end;
    end;
    create index queue_owner.multisrcq_corrid on queue_owner.multisrc_notiftab (CORRID)
    The callback procedure is as follow:
    procedure MULTISRC_NOTIF_SUBSCRIBER(context  raw,
                                          REGINFO  SYS.AQ$_REG_INFO,
                                          DESCR    SYS.AQ$_DESCRIPTOR,
                                          PAYLOAD  raw,
                                          PAYLOADL number) is
        L_METHOD constant varchar2(50) := 'MULTISRC_NOTIF_SUBSCRIBER';
        R_DEQUEUE_OPTIONS    DBMS_AQ.DEQUEUE_OPTIONS_T;
        R_MESSAGE_PROPERTIES DBMS_AQ.MESSAGE_PROPERTIES_T;
        V_MESSAGE_HANDLE     raw(16);
        O_PAYLOAD            ANYDATA;
        cursor C_TREATMENTS(P_ENTITY in varchar2) is
          select T.MNOT_PROCEDURE_C
            from TA_GEN.MULTISRC_NOTIF_TREATMENTS T
           where T.MNOT_ENTITY_C = P_ENTITY
             and T.MNOT_BEGIN_D < sysdate
             and ((T.MNOT_END_D > sysdate and T.MNOT_END_D is not null) or
                 (T.MNOT_END_D is null))
           order by T.MNOT_PRIORITY_N asc;
        WK_CORRID    varchar2(128);
        WK_ENTITY    TA_GEN.MULTISRC_NOTIF_TREATMENTS.MNOT_ENTITY_C%type;
        WK_PROCEDURE TA_GEN.MULTISRC_NOTIF_TREATMENTS.MNOT_PROCEDURE_C%type;
        CT_EXEC number(2) := 0;
      begin
        -- DGH: 15.12.11 / added a wait of 60 seconds for dequeue to avoid infinite waiting (default is FOREVER)
        R_DEQUEUE_OPTIONS.WAIT := 60;
        -- dequeue message
        R_DEQUEUE_OPTIONS.MSGID         := DESCR.MSG_ID;
        R_DEQUEUE_OPTIONS.CONSUMER_NAME := DESCR.CONSUMER_NAME;
        DBMS_AQ.DEQUEUE(QUEUE_NAME         => DESCR.QUEUE_NAME,
                        DEQUEUE_OPTIONS    => R_DEQUEUE_OPTIONS,
                        MESSAGE_PROPERTIES => R_MESSAGE_PROPERTIES,
                        PAYLOAD            => O_PAYLOAD,
                        MSGID              => V_MESSAGE_HANDLE);
        -- extract entity name
        WK_CORRID := R_MESSAGE_PROPERTIES.CORRELATION;
        WK_ENTITY := SUBSTR(WK_CORRID,
                            INSTR(WK_CORRID, '##') + 2,
                            (INSTR(WK_CORRID, '##', 1, 2) -
                            INSTR(WK_CORRID, '##')) - 2);
        -- execute treatment(s)
        open C_TREATMENTS(WK_ENTITY);
        loop
          fetch C_TREATMENTS
            into WK_PROCEDURE;
          exit when C_TREATMENTS%notfound;
          execute immediate 'begin ' || WK_PROCEDURE || '(:MSG); end;'
            using O_PAYLOAD;
          CT_EXEC := CT_EXEC + 1;
        end loop;
        close C_TREATMENTS;
      exception
        when others then
          if C_TREATMENTS%isopen then close C_TREATMENTS; end if;
          PO_NOTIFY.TRACE_MULTISRC_NOTIF(L_METHOD,
                                         sqlerrm,
                                         DESCR.MSG_ID,
                                         R_MESSAGE_PROPERTIES.CORRELATION,
                                         WK_ENTITY,
                                         WK_PROCEDURE);
          rollback;
      end MULTISRC_NOTIF_SUBSCRIBER;

    Helping you with the specific issue is going to be difficult without direct access to the servers but given the importance this system seems to have to your business why are you not running on a fully supported version (10.2 has been in extended support for more than 6 months) and even in the current configuration not patched to 10.2.0.5?
    My instinct would be to focus on moving to 11.2.0.3 as quickly as possible with a corresponding change to a current operating system version if your O/S is similarly out of date.

  • How can we use cl_gui_html_viewer      in a background process.

    Hello,
    Refering to this thread: Pie chart using Class cl_igs_chart ??
    How can we use cl_gui_html_viewer     in a background process.
    I want to execute a html code in bakground process in abap program.
    but using cl_gui_html_viewer   I have an error with CNTL_ERROR in the method CONSTRUCTOR;
    Thanks

    Marie,
    I don't know about HTML viewer specifically, but whenever a GUI object is needed to be used in background, there is a standard method to avoid CNTL_ERROR.
    When a program runs in background, there is no "screen" and hence no GUI, and hence a custom control can not be displayed. That is why the program generates an error.
    The trick is to avoid creating the custom control in background.
      if sy-batch = 'X'. "background mode
    *   We don't want to create the custom control
      else. "dialog mode
        create object l_container exporting ...
      endif.
    * We really don't need a container for using CL_GUI_ objects
    * Proceed with the normal coding
      create object l_html_viewer
      exporting
        parent = l_container

  • How to avoid page break up in background

    hi all,
              i have developed new report i don't given page break statement .. in foreground it s coming correct  without any page break..
    when i have  schedule in background page break is coming please let me know how to avoid page break in background process.
    regards ,
    santosh
    Edited by: santosh jajur on Jul 8, 2009 12:16 PM
    Edited by: santosh jajur on Jul 8, 2009 12:46 PM

    Hi,
    When you view the output from the report run in batch you are presumably looking at the spool output.  Because you are viewing a preview of what is sent to the printer the spool applies page breaks based on the printer parameters.  When you run the report in dialog you view the report on the screen, and the spool is not involved, so no page breaks.
    If you print your report in dialog then review the spool you'll find it has the page break just as the background run has.
    Regards,
    Nick

  • User exit during VF04 background process

    Hi ,
    I am creating billing through the background run of VF04.
    Before a billing document is created I have to check the following condition.
    If the payment terms of the relevant billing item not equal to 'X' then system shoudl check the billing date and only create billing document if the date is equal to system date.
    If the payment terms is equal to 'X' then billing document should be created.
    I am plannign to use the userexit RV60AFZC and in there
    FORM USEREXIT_FILL_VBRK_VBRP
    I tried to find out of this user exit was called during background processing of VF04 by putting ina breakpoint. It did not give any pop-up.During creation of billing through VF01 it gave me the breakpoint.
    I want to know if for my requirement this is the right place to put the logic.
    Regards
    BGS

    Hi ,
    We had to change the logic and the user exit because it was not possible to pull the item level data into the VF04 screen.
    We are trying to do the following with variant which looks for all billing items due in next 5 working days
    Before system gets data from VKDFS into VKDFIF we are trying to aplly the logic
    If Payment terms <>  direct debit the include in the list VKDFIF
    If Payment terms <> direct debit
    Check  IF Billing date <= system date
    Yes -include in VKDFIF
    No- Remove entry
    When I call the variant in try to display the billing due list It shows the correct value
    But when we run the same variant in backgorund it fails
    BADI used
    Include LV60AA93
    Badi badi_sd_billing methode:vbrk_vbrp_fill
    CALL METHOD l_sd_billing_item_exit->vbrk_vbrp_fill
    Any help wpuld be appreciated

  • Background process BCTL_** terminated due to missing confirmation

    Hi Experts,
    I have a step in Process chain for activation of a request in DSO. But its failing frequently with error message "Background process BCTL_* terminated due to missing confirmation*". I tried to remove the step from process chain and rebuild it, this avoided the failure for a day. But its failing again at same place.
    Can you please guide if anything can be done to stop this failure in future?
    Regards,
    Nirmal

    Hi,
    I also faced the same issue.
    Error when activate DSO in SAP BI :          "Background process BCTL_*   terminated due to missing confirmation"
    I Resolved  by the following way:
    Steps :
    1.ODS Activation window > Click the button u201CActivate in parallelu201D> Changed    the Number of process  3  to 1-->Save
    2.ODS Activation window >Click the button u201CGet SIDs in parallelu201D> Changed    the Number of process  3  to  1--> Save
    Then start the activation
    Successfully completed.
    Hope it will help.
    Thanks &  Best Regards,
    Hema

  • Front Row launches as background process when running second display

    When I connect a second display, Front Row launches as a background process and hogs upwards of 90% of my CPU cycles. I've tried connecting things in various orders, but had no success in avoiding this.

    try restarting and it will works. it happens to me some of the times or unplug your cable and plug it in again.

  • GUI_DOWNLOAD and background processing

    Hello,
    I have created a process which creates a file. this process uses GUI_DOWNLOAD to put the file on the users C drive or other directory on our network. The user wants to run this process in background and the program is returning a 6  (error unknown) from the GUI_DOWNLOAD FM. I was looking on SDN and found out the GUI_DOWNLOAD only works in foreground. You have to use OPEN and CLOSE DATASET statements to process in background. I am thinking about putting a button to denote foreground/background processing and using the appropriate statements to process the file. I will then have to get the file from the app server to a place will the user can get access to it.
    <b>first question</b> - is there a FM to do a FTP from the app server to a directory on our network for the user to access?
    <b>second question</b> - is this the right approach or is there something else that I should be doing.
    thanks in advance for your help

    Hi,
    Yes, your right, GUI_DOWNLOAD wil not work in background mode, you need to place the file in Application server, here.
    See the below link for a FTP program, use the proper commands(i do not know whether downloading the file is possible through the commands)
    http://www.sap-img.com/ab003.htm
    or else, write a small program which downloads the data from the application server, but it should run in the foreground
    Regards
    Sudheer

  • The request could not be submitted for background processing.

    Post Author: Chriss
    CA Forum: Administration
    It's an BOE XI SR2, on Win2k3 server, with a print cluster with two print spools, handling 3000+ printers. I discovered this error to be intermittent and only on one of the spools. It turned out that the only common factor was an HP4250 print driver. I backed all the 4250s down to 4200 drivers and the intermitent error ("Error in File. The request could not be submitted for background processing.") went from about 100 a day to zero. The other spool had a different version of the HP4250 driver and would on rare occassion cause this error, "Error in File ... Page header or footer longer than a page." but never the background processing error.
    For reference, when I got this error in XI R1, this was the solution for 'the error with one name and many causes':The error "The request could not be submitted for background processing" can be related to a corrupt or wrong versioned crpe32.dll in the Crystal bin folder. Renaming to crpe32.dll_bak and using the repair command in the the "Add/Remove Programs" tool in the "Control Panel" will reinstall the correct dll. Then restart the Crystal services.

    Post Author: krishna.moorthi
    CA Forum: Administration
    For Crystal reports :
    Error : "The request could not be submitted for background processing"
    I think,this was not related to a corrupt or wrong versioned crpe32.dll.
    but the below mentioned is one of the reason for getting this error.
    I got the error when the main report(crystalreports10) having more than 2 subreports not assigned proper tables for the subreports.
    Example: (this code raise the abone mentioned error.)
    rpt.SetDataSource(Exdataset);
    rpt.Subreports&#91;"subreportname1"&#93;.SetDataSource(Exdataset); // Exdatatset.Tables&#91;1&#93;
    rpt.Subreports&#91;"subreportname2"&#93;.SetDataSource(Exdataset);// Exdatatset.Tables&#91;2&#93;

  • How to Create Excel File in Background processing with different colors

    HI All
    I am trying to create Excel file in background & send it to user through e-mail, this i could acheive using fucntion module SO_DOCUMENT_SEND_API1, but here my requirement is i want to put different colors to columns of excel & this should happen in Background processing,
    Initially i completed above requirement by using HTML type of document with attachment type 'ALI'  & formatted output using write statement & used colors, after that i took this o/p using save_list function module & then table compress...etc.
    but i don't know how to achieve same if we need o/p in excel as size of object of excel file is less than that of HTML
    I am thankfull to everybody who will help me.
    Regards
    Lokesh

    Lokesh,
    Iam also trying to populate my text file with colors as an attachment . If you know this please let me know.

  • Data of alv report in  excel file in background processing using open datas

    Hi Experts,
    I have developed report for purchase register . if i execute this report in background process i am not able to get the downloaded file in excel and output is also not coming properly, columns are going to overlap.
    i used open dataset  read dataset and close dataset but still problem is not solved. so if anyone have code with this and also which will have concatenate statement in the code send it.
    Regards,
    Rahul

    Hi Rahul,
    Ur code shud be like below:
    DATA : l_filename2 TYPE string,
                v_extn.
        SPLIT p_filename AT '.xls' INTO l_filename2  v_extn.
        CONCATENATE l_filename2  'downloaded'  INTO l_filename2  SEPARATED BY '_'.
        CONCATENATE l_filename2  'txt'   INTO l_filename2 SEPARATED BY '.'.
        OPEN DATASET l_filename2 IN TEXT MODE FOR OUTPUT ENCODING DEFAULT.
        IF sy-subrc <> 0.
          MESSAGE e499(sy) WITH text-e02.
        ENDIF.
        LOOP AT it_order_number INTO wa_order_number.
          TRANSFER wa_order_number TO l_filename2.
        ENDLOOP.
        CLOSE DATASET l_filename2.
    Now, go to tcode AL11 and check it in the Application server itself.
    Hope this helps,
    Regards,
    Arnab.

Maybe you are looking for

  • I am unable to copy files from my macbook pro to my external hard disk.

    I am unable to copy files from my macbook pro to my external hard disk. I tried to copy a movie 800mb in size to my EDD and  it shows the loading box and it says zero kb loaded out of 800mb and sometimes it loads a a few kb of the file, then after a

  • Monitor sleep problems on G5/1.8DP

    I have just purchased a new LaCie Photon19Vision TFT monitor and connected in to my G5/1.8DP and successfully set it up. My system is set to never sleep or use a screen saver. For two days all was well and then, without any warning, I found that the

  • WL8.1 crashed during deployment of EJB from ear file

    Hello, WL8.1 crashed during deployment of EJB from ear file on SunOs 5.8: error: Invalid class file format in /export/home/bea/j2sdk1.4.1_03/jre/lib/rt.jar(java/lang/AssertionError.class). The major.minor version '48.0' is too recent for this tool to

  • Brush just failed to display in CS5

    When any of the brush sizes reaches a certain limit the edges failed to display and you can't see the complete circle of the brush. This occurred after I checked to allow Open GL Drawing in the preferences but after I unchecked it the problem persist

  • Broken DC ESS, MSS & PCUI

    Hello all, I am having some troubles with NWDI, when I import the SCA I got that many DC are broken, must of this broken DC are consecuence of prior DC. I fopund out one of the main DC an the build log shows: "sap.com/pcui_gp/xsscfg" (variant "defaul