Enhancing Extract Structure (MC11VA0HDR)

Hi BI Experts,
I have added user-defined fields (beginnig with Z) to extract structure (Sales Order Header - MC11VA0HDR) to be the same name as in the base table and communication structure. The Z fields were added in the sales document table (VBAK) using an append and are also available in the communication structure. After generating extract structure, I then log on to TX LBWE and generated datasource and replicated in BI. When I tested it in TX RSA3, these user-defined fields are blank even though they are populated in base table (VBAK). Could you please help me what steps I need to follow in order to populate them?
Thanks for your help.

Hello,
The values from custom appended field will not get populated automatically.
You will have to write a code in CMOD and in the exits to populate these custom field values.
There are lot of documents in the forum along with sample code which tells you how to write the code in CMOD.
see this blog on how to do it.its for customer data source.
same can be done for LO data source.
https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/b0af763b-066e-2910-a784-dc6731660f46
Regards
Ajeet

Similar Messages

  • Enhance extract structure

    Hi folks ,
            Is there any how to enhance extract structure guide avaialable ? , if so pls give me the short cut.  else If u can share the steps to add a new field from a r3 table to existing extract structure for Plant Maintenance DS it will be great .
             with regards
      siv.

    Hi Sri,
    take a look to this thread:
    /community [original link is broken]
    however, if you are referring to the 2LIS_17_..., you can add fields from the business content in this way:
    LBWE
    click on 'maintenance' for your extractor
    transport from the right side the fields you need to (red light)
    click on '2LIS_17_... to remove or add some flag to the new fields and to generate the datasource (yellow light)
    click on the update control to active the extract structure (green light)...
    if you have to add some fields that are not available from the business content, please follow the previous link and use one of the two procedures described...then you have to fill this field by the specific user exit for BW transactional flow..
    If you want some more info, let me know, but don't forget to assign some points by clickin'on the yellow star for each reply to the contributors that help you !!!
    It's a way to say thanks!!
    Bye,
    Roberto

  • 2LIS_05_Q0ITEM Enhancement / Extract structure

    Hi experts,
    I am trying to enhance a data source and am having an issue adding a field to the extract structure.
    The 2LIS_05_Q0ITEM includes a field called MATNR for the Material Number of the claimed notification (Table MCQMEL) which I don't need (as it is in the Notification Data source).
    What I need is the material number of the replacement part (MATNR / Table MCQMFE). I can't add it in the Extraction Customizing cockpit. (2 fields with the same is not possible and it isn't possible either to remove the MCQMEL/MATNR field).
    I tried to find a workaround using a user exit to enhance the extract structure but couldn't find anything allowing me to retrieve the MATNR from MCQMEL.
    Any clues on how to add this field to the datasources other than doing a select fron the Table in the extract structure?
    Thanks,

    Hi,
    The LO steps are described in:
    http://www.sap-img.com/business/lo-cockpit-step-by-step.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:How_to_do_LO_Extraction
    Go through these weblogs for detailed understanding of LO extraction mechanism. If you have any further queries, post them.
    /people/sap.user72/blog/2004/12/16/logistic-cockpit-delta-mechanism--episode-one-v3-update-the-145serializer146
    /people/sap.user72/blog/2004/12/23/logistic-cockpit-delta-mechanism--episode-two-v3-update-when-some-problems-can-occur
    /people/sap.user72/blog/2005/01/19/logistic-cockpit-delta-mechanism--episode-three-the-new-update-methods
    /people/sap.user72/blog/2005/04/19/logistic-cockpit-a-new-deal-overshadowed-by-the-old-fashioned-lis
    /people/sap.user72/blog/2005/02/14/logistic-cockpit--when-you-need-more--first-option-enhance-it
    /people/sap.user72/blog/2005/09/05/sap-bw-and-business-content-datasources-in-pursuit-of-the-origins
    Bye
    Dinesh

  • Enhancing Extract structure for 2LIA_13_VDITM

    Hi all,
    I have requirement to enhance my billing cube with tax details. At present we have report lik below...
    Sales Org     Comp Cd     Plant     Cntry     Sold-to party     Name 1     Street     City      Region (State)     Postal Code     Country     Ship-to party     Name 1     Street     City      Region (State)     Postal Code     Cntry     Billing type     Doc. cat. Q/O/D/I     Billing Document     Material     Material Description     Country of Origin fo     Ref Delivery Number     Sales document     Doc cur     Calendar     Month     Billed Quantity     Cost     Net value
    In addition with above we need
    Conversion Rate     Tax XR1 GST 5%     Tax XR2 HST/QST     Tax XR3 PST
    So I want to add above 4 fields for my extract structure MC13VD0ITM.  Can any one help be in respect of CMOD coding and append structure?

    Hi ,
    Are the fields present in the structure of the Data source and not there or you want to populate the fields from different tables?
    double click on the extract sructure --> click on append structure --> it will prompt for Append struture name --> enter and click ok -->add the fileds to the append and activate the structure.
    next in implement the logic in CMOD....
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0af763b-066e-2910-a784-dc6731660f46
    Regards
    KP

  • Enhanced  Extract Structure: What should be done on BW side, PLEASE

    Hi all,
       I have 'Enhanced the Extract Structure' (BIW_PROJ) for 0PROJECT_ATTR DataSource with to add a new field 'Project Start Date' (PLFAZ Field of PROJ Table). It has been activated successfully and I could see this new field in 0PROJECT_ATTR DataSource with RSA6. 'Hide' check is cleared.
      This DataSource has been replicated in BW. This new field is not found in the Communication or Transfer Rules. There is no changes in the Communication Structure in BW after 'Append Extract Structure' on R/3 side. Where can I find this new field on BW.
       Did I miss something in this process of 'Enhance the Extract Structure' ? What should I do on BW side, PLEASE?
    Thanks.

    Hi Ganesh,
        1. Define the new InfoObject for the enhanced field.
        2. Add this new InfoObject under 0MATERIAL Attributes.
        3. Now, you could see it in Communication Structure
        4. Double click the Source System under 0MATERIAL InfoSource
            Select 'Transfer Rules' tab.
            On Right side (Assign Info Object field), type the new InfoObject  name
            for the enhanced field.
        5. Select 'DataSource/Trans. Structure' tab.
            Map the DataSource field in the right side to the left side (Transfer Structure).
        6. Activate it.
           You should be fine now.
    Regards.

  • Enhancing extract structure

    Hi all.,
           How will you enhance the extract structure, which is already in the production system without affecting the delta? Can anyone help me.
    Thanks
    Sangeetha

    Hi Sangeetha
    You should do all development related to this enhancement in Dev System and then do testing in QA system and then transport these to Production system.
    For enhancement of extract structure and it's deployment in production system without affecting the delta, Please read my weblog on same subject titled as "How to retain deltas when you change LO extractor in Production system
    " and the link is /people/pradip.patil/blog/2006/06/07/how-to-retain-deltas-when-you-change-lo-extractor-in-production-system
    How to enhance the extract structure-
    <u>If your data source in Non-LO cockpit</u>
    1. Go to RSA6, click on data source and go to extract structure.
    2. In extract structure maintenance you will find Append structure button on upper right corner, click on that.
    3. Name the new append structure, insert required fields.
    4. Activate the structure & also activate the extract structure.
    5. In LBWE go to datasource maintenance and uncheck the Hide check box for newly added fields and Save the data source.
    6. Write code in user exit in CMOD to populate newly added fields.
    <u>If your datasource is LO cockpit datasource</u>
    <u>Option 1- Enhance in LBWE</u>
    1. check in LBWE- Maintenance -> check if your required field is available in pool (right hand side).
    2. If it is available then send it to left hand side.
    3. Save and you will find the new field as part of your extract structure.
    4. In LBWE go to datasource maintenance and uncheck the Hide check box for newly added fields and Save the data source.
    5. No need to write user exit code for these fields.
    <u>Option 2- Append & user exit code</u>
    If your required field is not available in LBWE Manitainance then follow all steps given above in "If your data source in Non-LO cockpit".
    Regards
    Pradip

  • Can I enhance extract structure with standard field?

    Friends,
    Can I enhance the extract structure with standard field.
    Eg. If I want add(append) field PACKNO to Extraction structure MCVGIH. PACKNO is a field from standard table. So Can I do this and populate this without using abap code(customer exit) Should I give foreign key field also in the append stucture.
    Please help me
    Joe

    Hi Joe,
    mostly it works as A.H.P explained, because in the extractor they mostly do a move-corresponding of the fields. Sometimes they don't, specially for newer applications and extractors because the abap statement move-corresponding is on the list of obsolete statements. In that case you need to do some coding.
    So basically I would recommend to add the field, regenerate the datasource and check the result with rsa3.
    regards
    Siggi
    Message was edited by: Siegfried Szameitat

  • Enhance extract structure and deltas

    Hi All,
    We are modifying our first extract structure (well looks like it).  We need to determine a key figure based on lookups and values of other fields.
    Should we enhance the extract structure to pass these fields and then determine the key figure in the update rules to the cube or should we determine the key figure on the SAP side and pass to BW?  If we determine the key figure on the SAP side does it update the delta queue with this value?
    So does the delta queue get updated with this key figure?  Meaning, does the code in the extract structure get executed during the update to the delta queue or do we have to pass the "lookup" values (basically characteristics) to BW and then determine the value of the key figure?
    Thanks so much!

    Hi,
    This can be done at either of the places. This is all dependant on where can we afford to.. in terms of system uitlization. That is, if the look up table is too big in SAP and we have a small volume in BW then its better in BW and the viceversa of it.
    Either in BW or in SAP, the logic is going to take some time to execute and hence the decision relies mostly on this.
    Yes the delta queue would be filled with this logic, if we add the key figure in SAP.
    Hope I am clear.
    Naveen.A

  • Enhance extract structure conflicts with EXIT_SAPLRSAP_001

    Hello All,
    We have many BW projects going on at the same time.  One area we keep bumping into each other is when we need to enhance an extract structure for a datasource.
    What we run into is we have to modify it for one extractor and then for another (let's say both are in the LO Cockpit).  How do you handle this?
    Problem is one project may be ready to move the enhancement and the other not ready.
    This is for transaction data so EXIT_SAPLRSAP_001 is being used.  Should we create multiple include programs to avoid this?
    Thanks!

    I got the question .
    Yes if parallaly many deveopers working on the same task thats modifying the extraxt structure for data source then two ways are there
    A) Select the time frame whose development is moving to quaality first as definately there will
         be the time frame when the development is moving to quality and all .
         So if some one is working on it comment ht ecode andmove to quality .
         Once your transport order realesed the other can uncomment there code and in the next transport
         there code is also transported with your code .
    B) Second is the creation of mulitple includes as there will be no transport order blockage in that .
    I suggest the first in the better optiona as no need to increase the number of INCLUDE as one is already provided by SAP is work fine .
    Assign marks is the best way to appreciate help whoever it is

  • Enhance extract structure and RSA7 (not LIS)

    I have an extractor (not an LIS one) that I have enhanced to have an additional field. This extractor is delta enabled and uses the RSA7 delta queue. I am being told that to implement in production I have to
    1) run a delta load to clear the delta queue
    2) stop all users in R/3 from psoting
    3) transport the change
    It is the step 2) I question - is it really necessary to stop users posting. the argument is that the queue structure will change and may invalidate some delta records. But if I'm just adding a field to the structure I do not think this will mess up the delta's inthe delta queue?
    Anyone know with confidence?

    Hi,
    Yes you have to clear you delta queue; don't forget that you have to run a delta twice since the repeat of a delta needs to be cleared as well.
    At the end you have 0 (LUWs) in RSA7
    You can also check the number of LUWs pending in SMQ1.
    You need to empty your delta queue before transporting your changes.
    Simply because if you have data in the queue and you import your changes not only the structure will change, all related programs as well (internal SAP programs not your extractor itself). When you'll request the next delta, the system may not find your new field for the data or just by checking timestamps and versions of the objects will simple refuse to extract it! And if you can't extract it then you'll have to reinit.
    Since you need to have an empty queue, how could you ensure that it remains empty other than preventing users to post transactions?
    If your point is to NOT disrupt operations and your are able to reload the possible missed transactions, then empty your queue, delete the init, import your changes and then re init your delta; which I think will suits you better.
    In theory you are right, you don't need downtime for postings and we have tested that with no issue for NON LIS sources (the data is stored at posting time); still I don't recommend it.
    In any case, if you are well prepared, the disruption is only 5 or 10 minutes max in the source system during which you stop background processing with BTCTRANS1 (if I remember correctly) and you lock/kick user out (during the night for example).
    We have done that lots of times and are running R/3 with different time zones.... so we always take the opportunity when R/3 guys need a downtime for any parameter changes or DB stuff...
    hope this helps
    Olivier.
    Message was edited by:
            Olivier Cora

  • Enhancing the extract structure of Datasource 0CO_OM_CCA_9

    Hi,
       My requirement goes as, we have a cube already getting populated with the data of 0CO_OM_CCA_9.
    Now I have a accounting doc. available. My issue is we need a corresponding COPA doc.and its customer and produt for this accounting doc.
    My Functional guy says, we can get the corresponding copadoc. and its details from the table CE10010. So now I need to add to fields to my stnd. extract structure and populate these 2. I know how to add them to the structure. My issue is all about populating them.
    I see in RSA2 , that the extractor is a FM, which provides no exit within .
    As far as my knowledge goes, is it sufficient if I write some code in the CMOD to fetch data from CE10010 and then pass it on to the extract structure, or do we have any thing else to be done to populate them.
    Thanks in advance,
    Sudha

    Hi
    Enhancing Extract structure can be achieved through the coding (cmod).
    Or else you can even go for the Generic Data Source to combine both the tables.
    Hope it helps

  • Changes in Logistics DataSource Extract Structure

    Hi All,
    We intend to transport our enhanced extract structure of our Logistics DataSource. We know that extraction queue and delta queue must be emptied first before the transport starts.
    However, we are wondering whether a re-INIT of delta also must be done or not. At this moment, we have delta up and running already.
    Please advice. Thanks.

    Hi Reddy,
    Thanks for your fast reply.
    No, we don't need that historical data. Perhaps, to be more specific, we are wondering whether a Re-INIT without data transfer should be done again or not ?
    We have two cubes. One is old one with up and running delta. The other is new one which we are going to transport soon.
    So, we plan to use same delta infopackage later for these two cubes.
    The concern is now about the delta.
    Please advice again. Thanks.

  • Enhancing the extract structure for 0FI_GL_4,  0FI_AP_4,  0FI_AR_4

    Hi all,
          Does anyone know how to enhance the extraction structures with additional fields for datasources 0FI_GL_4 (General ledger: line item), 0FI_AP_4 (vendors: line item) and 0FI_AR_4 (customers: line item). 
    Thanks,
    Sabrina.

    Hi
        Here are the two scenario's described in the note:
    1. All the fields of the customer enhancement in the customer include are contained in the read structure (see the table above).  Then no additional action is required. The fields of the customer enhancement are filled automatically by the datasource from the assigned read structure via "move-corresponding".
    Example:   The extraction structure DTFIGL_4 for datasource 0FI_GL_4 (General ledger: line item) should be enhanced by the VALUT (value date) field.
               To do this, create structure CI_BSIS in the data dictionary of the R/3 source system and include the VALUT field in it. The data dictionary in the R/3 source system shows that the VALUT field is contained in the read structure of the datasource (table BSIS). For that reason the VALUT field is automatically filled by datasource 0FI_GL_4.
    2. Fields of the customer enhancement in the customer include are not contained in the read structure (see the table above).  In this case you have to program a function module to fill the field of the customer enhancement. To do this, there is a Business Transaction Event available (open FI interface for process 00005021). Create any function module you like and use function module SAMPLE_PROCESS_00005021 as a template for the interface (input parameter, changing parameter).
               Interface of function module SAMPLE_PROCESS_00005021:
                Input-parameter I_OLTPSOURCE: datasource that is currently extracting data from the R/3 source system.
                Changing-Parameter C_STRUCTURE: Extraction structure of the data source currently extracting including fields from the assigned customer include. When you call this customer defined function module, all the fields of the extract structure are transferred filled.
               Check whether the type pool SBIWA is declared in the TOP include of the function group.
    If not, add it with the statement TYPE-POOLS: SBIWA.
               Then maintain table TPS31 with Transaction SM30. Create the following entry:
               PROCS LAND APPLK FUNCT
               00005021 <fname>
               <fname> stands for the customer defined function module.
                By doing so, the function module you defined is called for each extracted record. Note that in this case the performance of the extraction may be reduced significantly regardless of the table read and the complexity of the programmed logic.
               Example:
               You want to enhance the extraction structure DTFIAR_3 for datasource 0FI_AR_4 (customers: line item) by the ORT01 (city) field from the customer master record.
                To do this, create structure CI_BSID in data dictionary of the R/3 source system and include the ORT01 field in that. The data dictionary in the R/3 source system displays that the ORT01 field is NOT contained in the read structure of datasource 0FI_AR_4 (Table BSID).
                Therefore you have to program a function module that reads the customer master in the R/3 system (table KANN1) and fills the ORT01 field of the customer enhancement. In the changing parameter C_STRUCTURE the filled fields of the extraction structure DTFIAR_3 are available to you. With the KUNNR field of extraction structure DTFIAR_3, you can select the respective master data record from table KNA1 and determine field ORT01 of the customer enhancement.
    1. All the fields of the customer enhancement in the customer include are contained in the read structure (see the table above).
               Then no additional action is required. The fields of the customer enhancement are filled automatically by the datasource from the assigned read structure via "move-corresponding".
               Example:
               The extraction structure DTFIGL_4 for datasource 0FI_GL_4 (General ledger: line item) should be enhanced by the VALUT (value date) field.
               To do this, create structure CI_BSIS in the data dictionary of the R/3 source system and include the VALUT field in it. The data dictionary in the R/3 source system shows that the VALUT field is contained in the read structure of the datasource (table BSIS). For that reason the VALUT field is automatically filled by datasource 0FI_GL_4.
               ATTENTION:
               By using Note 430303 you can enhance DataSource 0FI_GL_4 by all fields from table BSEG (instead of BSIS); then the fields are filled automatically in the extractor.
    1. Fields of the customer enhancement in the customer include are not contained in the read structure (see the table above).
                In this case you have to program a function module to fill the field of the customer enhancement. To do this, there is a Business Transaction Event available (open FI interface for process 00005021). Create any function module you like and use function module SAMPLE_PROCESS_00005021 as a template for the interface (input parameter, changing parameter).
               Interface of function module SAMPLE_PROCESS_00005021:
                Input-parameter I_OLTPSOURCE: datasource that is currently extracting data from the R/3 source system.
                Changing-Parameter C_STRUCTURE: Extraction structure of the data source currently extracting including fields from the assigned customer include. When you call this customer defined function module, all the fields of the extract structure are transferred filled.
               Check whether the type pool SBIWA is declared in the TOP include of the function group.
    If not, add it with the statement TYPE-POOLS: SBIWA.
               Then maintain table TPS31 with Transaction SM30. Create the following entry:
               PROCS LAND APPLK FUNCT
               00005021 <fname>
               <fname> stands for the customer defined function module.
                By doing so, the function module you defined is called for each extracted record. Note that in this case the performance of the extraction may be reduced significantly regardless of the table read and the complexity of the programmed logic.
               Example:
               You want to enhance the extraction structure DTFIAR_3 for datasource 0FI_AR_4 (customers: line item) by the ORT01 (city) field from the customer master record.
                To do this, create structure CI_BSID in data dictionary of the R/3 source system and include the ORT01 field in that. The data dictionary in the R/3 source system displays that the ORT01 field is NOT contained in the read structure of datasource 0FI_AR_4 (Table BSID).
                Therefore you have to program a function module that reads the customer master in the R/3 system (table KANN1) and fills the ORT01 field of the customer enhancement. In the changing parameter C_STRUCTURE the filled fields of the extraction structure DTFIAR_3 are available to you. With the KUNNR field of extraction structure DTFIAR_3, you can select the respective master data record from table KNA1 and determine field ORT01 of the customer enhancement.
    After you create the customer include in the R/3 source system you have to post process the accompanying datasource with Transaction RSA6. Select the application component according to the above table and change the datasource that fits the customer include. The "Hide fields" flag should be removed in the field list for the fields of the customer include. Then save the field list.
    If the fields of the customer include is not displayed in Transaction RSA6, refer to note 415530.
    1.  After you create the customer include in the R/3 source system you have to post process the accompanying datasource with Transaction RSA6. Select the application component according to the above table and change the datasource that fits the customer include. The "Hide fields" flag should be removed in the field list for the fields of the customer include. Then save the field list.
    If the fields of the customer include is not displayed in Transaction RSA6, refer to note 415530.
    Please let me know.
    Thanks,
    Sabrina.

  • Need help in ABAP code to Enhance the Extract Structure ?????

    Hi all,
        I want to enhance the extract structure to get KBETR & KBRUE fields of KONP table since it didn’t allow me to add those fields while creating the generic extractor because of currency key problems. I want to read all KONP records into internal table with KNUMH (Key). Next, I want to fill them into ZZKBETR & ZZKBRUE of Extract Structure ZOXUR40065 in loop.
    DATA:
      i_t_zrebate like ZOXUR40065 occurs 0 with header line,
      reb_tabix like sy-tabix.
    TABLES: KONP.
      Could you please help me in completing the ABAP code?
    Thanks,
    Venkat.

    Hello Manga,
        I have included the following code in ZXRSAU01:
    WHEN 'ZREBATE'.
    PERFORM ZREBATE_EXIT TABLES C_T_DATA.
    After Double click on ZREBATE_EXIT on perform statement, it created ZXRSAF01 include and the following code is added in it:
    FORM ZREBATE_EXIT TABLES FP_C_T_DATA STRUCTURE ZOXUR40065.
    DATA:
    i_t_zrebate like ZOXUR40065 occurs 0 with header line,
    reb_tabix like sy-tabix.
    FIELD-SYMBOLS: <l_c_t_data> TYPE ZOXUR40065.
    LOOP AT fp_c_t_data ASSIGNING <l_c_t_data>.
    reb_tabix = sy-tabix.
    select single KBETR KBRUE
    into (<l_c_t_data>-ZZKBETR,
    <l_c_t_data>-ZZKBRUE,
    from KONP
    where KNUMH eq <l_c_t_data>-KNUMH.
    if sy-subrc eq 0.
    MODIFY fp_c_t_data FROM <l_c_t_data> INDEX reb_tabix.
    endif.
    CLEAR:reb_tabix.
    ENDLOOP.
    ENDFORM.
    When I tried to Activate this ZXRSAF01 include, it fails with 'The FORM "ZREBATE_EXIT" does not exist'.
      Should it be FP_C_T  or P_C_T? I found P_C_T in ZXRSAF01 include.
      What is wrong with it, please ?
       Can't I add this whole code in main include ZXRSAU01itself?
      The Extractor ZREBATE is based on KONA, KONH & KONP tables. This Extractor and KONA table have the same 4000 records and KONP has 13000 records. I want to extract KBERT & KBRUE from KONP.
       Thanks in advance.
    Regards,
    Venkat

  • Enhance 0CRM_OPPT_I extract structure

    Friends
    I got a requirement to enhance the extract structure
    The CRM datsource is 0CRM_OPPT_I.
    In that we do not have the requested delivery date.
    Hence i need to enhance the structure.
    Is that we need to follow the same process as that enhancements that we do in R3 or is there any other separate process.
    Regards
    Sundaresan

    Same process
    While replicating the DS in BI ,depending on how you have modelled your cube (3.x or NEW datasource flow) replicate the modified datasource as 3.x or NEW.
    Hope it Helps
    Chetan
    @CP..

Maybe you are looking for

  • How do you make the most of any "free" services/ca...

    I wonder if we can get a consensus of views that could contribute to a sticky on how to get the best value for money from BTBBA (and the other BT services that this is based upon). I'm constantly confused so please excuse my ignorance: Calls: We have

  • IPM11g & EBS Communication

    Hi All, Here i am trying to build a poc in which ipm11g,soa11g & Ebs comes in to picture. i have done all configurations from EBS & BPEL side as given in oracle docs. when i am connecting IPM from EBS suit from zoom menu to get the view list of all B

  • Why does Adobe Reader XI (11.0.4.63) keeps crashing in Win7?

    After a few seconds after opening a PDF document or launching the application, it crashes and provides the error below. I've already uninstallaed and reinstalled the application but the same thing happens. I also followed the step in the community di

  • Can I use a 2A charger to charge my Z1 Compact?

    I was wondering if I could use my 2A tablet charger to charge my Z1 Compact so it will charge faster. It is 5V, same as the original one. I wonder if it is safe for the phone because I don't want to fry it or damage the battery. Thanks in advance! :-

  • Saving PDF for Web?

    Hello! I recently designed a 6-page annual report, meant to be disseminated as a PDF via web and e-mail.  I am having trouble getting the PDF small enough and streamlined enough for this purpose.  The file is under 4MB, but even on my system it is di