Why should we using ABAP code in RSQ02

Hi,
I want to know why should we using ABAP cobe in RSQ02 ,
while we creating the infoset we writing code using extras icon .
with out abap code we can't creat infoset query in SAPBW?
Regards,
Goodyear.

Hi dear,
this is only an additional possibility to manipulate your data, but this is not due !
Did you know that Marc Bernard wrote a very useful doc about ABAP and BW ?
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/events/bw-and-portals-05/five ways to enhance sap bi backend functionality using abap.pdf
Hope it helps!
Bye,
Roberto

Similar Messages

  • Creating a long text using ABAP code.. fm SAVE_TEXT

    When you create an order via IW31 one of the options is to click on the text button and create a long text. I am basically trying to mimic this action from within my ABAP code.
    The text id details are as follows:
    Text Name       500000015000046  which is (5000000 + order number)
    Language        EN
    Text ID            KOPF         Order header text
    Text Object      AUFK       Order text
    If i manually create the text within the transaction i am then able to view and update it via function modules READ_TEXT and SAVE_TEXT. But if the text has not already been created READ_TEXT obviously returns nothing as it does not exist and SAVE_TEXT does not seem to created it!
    Anyone know how i would go about creating this text using ABAP code?
    Hope this make a bit of sense
    Thanks in advance
    Mart

    I have implemented the code as i think it should be. See below, can any see what is wrong. If i add init_text it makes no difference and adding the commit_text just makes it hang
    DATA: IT_TEXTS type standard table of TLINE,
           wa_texts like line of it_texts,
           wa_txtheader type THEAD.
    wa_txtheader-TDID     = 'KOPF'.
    wa_txtheader-TDSPRAS  = 'EN'.
    wa_txtheader-TDNAME   = '500000015000056'.
    wa_txtheader-TDOBJECT = 'AUFK'.
    wa_texts-tdformat = '*'.
    wa_texts-tdline = 'hello'.
    append wa_texts to it_texts.
    wa_texts-tdformat = '*'.
    wa_texts-tdline = 'hello'.
    append wa_texts to it_texts.
      wa_texts-tdformat = '*'.
    wa_texts-tdline = 'hello'.
    append wa_texts to it_texts.
    wa_texts-tdformat = '*'.
    wa_texts-tdline = 'hello'.
    append wa_texts to it_texts.
    wa_texts-tdformat = '*'.
    wa_texts-tdline = 'hello'.
    append wa_texts to it_texts.
      wa_texts-tdformat = '*'.
    wa_texts-tdline = 'hello'.
    append wa_texts to it_texts.
    CALL FUNCTION 'SAVE_TEXT'
      EXPORTING
        CLIENT                = SY-MANDT
        HEADER                = wa_txtheader
        INSERT                = 'X'
       SAVEMODE_DIRECT       = ' '
       OWNER_SPECIFIED       = 'X'
      LOCAL_CAT             = ' '
    IMPORTING
      FUNCTION              =
      NEWHEADER             =
      TABLES
        LINES                 = IT_TEXTS
    EXCEPTIONS
       ID                    = 1
       LANGUAGE              = 2
       NAME                  = 3
       OBJECT                = 4
       OTHERS                = 5
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

  • How to generate new perner number using Abap Code in pa0002. what is the fu

    how to generate new perner number using Abap Code in pa0002. what is the function Module used.

    hi
    define internal number ranges for ur implementation then when u run PA 40  do not input any employee number , system will generate the employee number automatically.
    Regards
    sameer

  • How to transfer data in change log table of dso to z-table using abap code

    Hi  can you please explain me how to transfer data in change log table of dso to z-table using abap code ,with out using Function module concept

    PROGRAM NAME:   ZBW_DELTA_TO_GSTAR                                 **
    report ZBW_DELTA_TO_GSTAR no standard page heading
                                     line-size 120
                                     line-count 75
                                     message-id ZBW_MSG_CLS.
    tables:   ZGIV_DLTA_EBV_BB,
              ZGIV_DLTA_EM2_BL,
              ZGIV_DLTA_EM2_BK.
    Selection Screen Definitions
    SELECTION-SCREEN: BEGIN OF BLOCK INNER WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN: SKIP 1.
    PARAMETERS:       EBVBB RADIOBUTTON GROUP ROLL,
                      EM2BL RADIOBUTTON GROUP ROLL,
                      EM2BK RADIOBUTTON GROUP ROLL.
    SELECTION-SCREEN: END OF BLOCK INNER.
    Data:  WS_UPDATE_FLAG  Type C,
           UCounter(9)      Type N,
           ICounter(9)      Type N.
    DATA:  T_ZGIV_DLTA_EBV_BB Type Standard Table of ZGIV_DLTA_EBV_BB,
           s_ZGIV_DLTA_EBV_BB LIKE line of T_ZGIV_DLTA_EBV_BB.
    DATA:  T_ZGIV_DLTA_EM2_BK Type Standard Table of ZGIV_DLTA_EM2_BK,
           s_ZGIV_DLTA_EM2_BK LIKE line of T_ZGIV_DLTA_EM2_BK.
    DATA:  T_ZGIV_DLTA_EM2_BL Type Standard Table of ZGIV_DLTA_EM2_BL,
           s_ZGIV_DLTA_EM2_BL LIKE line of T_ZGIV_DLTA_EM2_BL.
    Standard Internal Tables - Describe usage.
    data: begin of i_AEPSD_O0140 occurs 0.
            include structure /BIC/AEPSD_O0140.
    data: end of i_AEPSD_O0140.
    data: begin of i_AEPSD_O0240 occurs 0.
            include structure /BIC/AEPSD_O0240.
    data: end of i_AEPSD_O0240.
    data: begin of i_AEPSD_O0340 occurs 0.
            include structure /BIC/AEPSD_O0340.
    data: end of i_AEPSD_O0340.
    data: begin of i_GIV_DLTA_EBV_BB occurs 0.
            include structure ZGIV_DLTA_EBV_BB.
    data: end of i_GIV_DLTA_EBV_BB.
    data: begin of i_GIV_DLTA_EM2_BK occurs 0.
            include structure ZGIV_DLTA_EM2_BK.
    data: end of i_GIV_DLTA_EM2_BK.
    data: begin of i_GIV_DLTA_EM2_BL occurs 0.
            include structure ZGIV_DLTA_EM2_BL.
    data: end of i_GIV_DLTA_EM2_BL.
    Miscellaneous Program Variables and Constants.
    TOP-OF-PAGE
    top-of-page.
    START-OF-SELECTION
    start-of-selection.
      Clear: i_GIV_DLTA_EBV_BB,
             i_GIV_DLTA_EM2_BK,
             i_GIV_DLTA_EM2_BL,
             UCounter, ICounter.
      IF EBVBB = 'X'.
        PERFORM 100_EXTRACT_EBV_BB_DELTA_RECS.
      ELSEIF EM2BK = 'X'.
        PERFORM 100_EXTRACT_EM2_BK_DELTA_RECS.
      ELSE.
        PERFORM 100_EXTRACT_EM2_BL_DELTA_RECS.
      ENDIF.
    FORM 100_EXTRACT_EBV_BB_DELTA_RECS
    FORM 100_EXTRACT_EBV_BB_DELTA_RECS.
      Refresh:   i_AEPSD_O0140,
                 i_GIV_DLTA_EBV_BB.
      Clear:      UCounter, ICounter, s_ZGIV_DLTA_EBV_BB .
      Select * From /BIC/AEPSD_O0140
        Into TABLE i_AEPSD_O0140.
      IF SY-Subrc = 0.
        LOOP AT i_AEPSD_O0140.
          MOVE-CORRESPONDING i_AEPSD_O0140 TO s_ZGIV_DLTA_EBV_BB.
          MOVE SY-DATUM to s_ZGIV_DLTA_EBV_BB-create_dt.
          INSERT ZGIV_DLTA_EBV_BB FROM s_ZGIV_DLTA_EBV_BB.
          IF SY-Subrc = 0.
            ICounter = ICounter + 1.
          ELSE.
            UPDATE ZGIV_DLTA_EBV_BB FROM  s_ZGIV_DLTA_EBV_BB.
            IF SY-Subrc = 0.
              UCounter = UCounter + 1.
            ELSE.
              Message E067 with SY-DATUM ' ' SY-UZEIT ' '.
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    "100_EXTRACT_EBV_BB_DELTA_RECS
    FORM 100_EXTRACT_EM2_BK_DELTA_RECS
    FORM 100_EXTRACT_EM2_BK_DELTA_RECS.
    Refresh:   i_AEPSD_O0240,
               i_GIV_DLTA_EM2_BK.
      Clear:      UCounter, ICounter, s_ZGIV_DLTA_EM2_BK .
      Select * From /BIC/AEPSD_O0240
        Into TABLE i_AEPSD_O0240.
      IF SY-Subrc = 0.
        LOOP AT i_AEPSD_O0240.
          MOVE-CORRESPONDING i_AEPSD_O0240 TO s_ZGIV_DLTA_EM2_BK.
          MOVE SY-DATUM to s_ZGIV_DLTA_EM2_BK-create_dt.
            INSERT ZGIV_DLTA_EM2_BK FROM s_ZGIV_DLTA_EM2_BK.
          IF SY-Subrc = 0.
            ICounter = ICounter + 1.
          ELSE.
            UPDATE ZGIV_DLTA_EM2_BK FROM  s_ZGIV_DLTA_EM2_BK.
            IF SY-Subrc = 0.
              UCounter = UCounter + 1.
            ELSE.
              Message E067 with SY-DATUM ' ' SY-UZEIT ' '.
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    "100_EXTRACT_EM2_BK_DELTA_RECS
    FORM 100_EXTRACT_EM2_BL_DELTA_RECS
    FORM 100_EXTRACT_EM2_BL_DELTA_RECS.
    Refresh:   i_AEPSD_O0340,
               i_GIV_DLTA_EM2_BL.
      Clear:      UCounter, ICounter, s_ZGIV_DLTA_EM2_BL .
      Select * From /BIC/AEPSD_O0340
        Into TABLE i_AEPSD_O0340.
      IF SY-Subrc = 0.
        LOOP AT i_AEPSD_O0340.
          MOVE-CORRESPONDING i_AEPSD_O0340 TO s_ZGIV_DLTA_EM2_BL.
          MOVE SY-DATUM to s_ZGIV_DLTA_EM2_BL-create_dt.
            INSERT ZGIV_DLTA_EM2_BL FROM s_ZGIV_DLTA_EM2_BL.
          IF SY-Subrc = 0.
            ICounter = ICounter + 1.
          ELSE.
            UPDATE ZGIV_DLTA_EM2_BL FROM  s_ZGIV_DLTA_EM2_BL.
            IF SY-Subrc = 0.
              UCounter = UCounter + 1.
            ELSE.
              Message E067 with SY-DATUM ' ' SY-UZEIT ' '.
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    "100_EXTRACT_EM2_BL_DELTA_RECS
    END-OF-SELECTION
    end-of-selection.
      perform D1000_REPORT_DATA.
    D1000_REPORT_DATA
    form D1000_REPORT_DATA.
    *Display the title of the program
      write: /25 SY-TITLE.
      skip.
    Diaplay the details of the user and time
      write: /1 'Executed by', 15 SY-UNAME, 30 'Date',
      38 SY-DATUM, 53 'Time', 60 SY-UZEIT.
      skip 2.
      write: /  'Delta Records have been extracted  ',
             /   'Updates : ', UCounter,
             /   'Inserts : ', ICounter.
      skip.
      skip 3.
      write: /20 'End of the report'.
    endform.                                           "D1000_REPORT_DATA
    chgeck it out this also may hep you

  • How to extract data from info cube into an internal table using ABAP code

    HI
    Can Anyone plz suggest me
    How to extract data from info cube into an internal table using ABAP code like BAPI's or function modules.
    Thankx in advance
    regds
    AJAY

    HI Dinesh,
    Thankq for ur reply
    but i ahve already tried to use the function module.
    When I try to Use the function module RSDRI_INFOPOV_READ
    I get an information message "ERROR GENERATION TEST FRAME".
    can U plz tell me what could be the problem
    Bye
    AJAY

  • How to Use CMOD and SMOD in SAP using ABAP Code

    Hello anyone,
      Please help me How to use CMOD and SMOD in SAP using ABAP code.
    Give Me Some Sample Example.
    Mail ID: [email protected]
    Thanks,
    Regards,
    S.Muthu,
    SAP Developer.

    Hi,
    User Exits.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    customer exits
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
    Menu Exit.
    http://www.sappoint.com/abap/spmp.pdf
    http://www.sappoint.com/abap/userexit.pdf
    http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm
    http://www.sapdevelopment.co.uk/enhance/enhancehome.htm
    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html

  • Change Prg name in classes using abap code

    Hello Experts,
    I'm having following req:-
    I need to change program name using abap code .
    I have prepared report which changing prg name & also it is replecting target name into T-code & Programes where source prg name is being used.
    My next req is i want to replace sorce prg name in Classes usinf abap coding.
    <Priority normalized by moderator>
    Thanxs in Advance.
    Moderator message : Requirements dumping not allowed, thread locked.
    Edited by: Vinod Kumar on Feb 7, 2012 12:32 PM

    The application name is not necessarily uniqueue! Customers may create two applications with same name in different systems/clients and transport them into the same target system/client!
    You do the mapping with the query:
    CL_FDT_FACTORY=>GET_INSTANCE( )->GET_QUERY()->...
    There are two methods. One for mapping ID to name and one for name to ID.
    There is also a sample report in package SFDT_DEMO_OBJECTS.

  • How to bypass printer setting using abap code?

    Dear All,
    I want to bypass printer setting using abap code?
    I am printing sticker using a code and i dont want to display printer setting .
    I want direct ouput ?
    Regards
    Steve

    Are you using reports or scripts/smart forms? You can use the parameter for no_dialog = space(use the relevant parameter).

  • Why should we use DSO instad of Infocube i BW7.4-SAP BW7.4

    Dear All,
    now I'm working with HCM- Payroll (BWreports) Standard reports, data flow is datasource--->Infocube--->Reports, but my architecture given data flow datasource--->DSO--->Multiprovider-->Reports, this is in SAP BW7.4, could any one explain me why should we use DSO instead of infocube..
    Thanks for your helping...
    Regards,
    Narasimha

    Hi
    In Loading purpose:
    Better to use DSO, becouse it involves 3 tables ie New data table, Active data table and Change log table.
    in case of INFO CUBE, here it involves more than 3  tables ie by default 3 dimension tables are existedby SAP... at least we will create 2 tables ie 1 dimension table and 1 fact table ....here it involves 5 tables.( 3 default+1 dimension+1 Fact table)
    Conclusion: When we create INFO CUBE it will takes more time compared to DSO because it involves 3 table
    Conclusion: Best practice is when we load data to taget, better to use DSO
    In Reporting:
    Cube will give summerised data whyle reporting and it is multi dimensional,ie we can analyse the data in multiple ways.
    DSO will give detailed data whyle reporting and it is 2 dimensional , ie we can analyse the data in 2 dimensional way only
    Conclusion: Best practise is Whyle reporting better to use INFO CUBE
    Regards
    Raj

  • Setting value in a cookie using ABAP code

    Hai All,
    Using ABAP code is it possible to set some value in a cookie.
    Regards,
    H.K.Hayath Basha.

    Hai Durairaj,
    Can you explain how to do that.
    Regards,
    H.K.Hayath Basha.

  • Setting value in cookie using ABAP code

    Hai All,
    Is it possible to set value in a cookie using ABAP code.
    Regards,
    H.K.Hayath Basha.

    Hai Thomas Jung,
    In Enterprise portal SAP has standard functionality to set inactivity timeout. We can set whatever time we want, say for example if we set the time as 15 minutes. If the user is not interacting with the system for 15 minutes then portal will logout the user automatically without any information.
    Our user wants a popup to be shown that the system will be logged out due to inactivity.
    Since Portal logout the user automatically without any information. I want to put in my own framework to handle inactivity timeout.
    What idea I have is, when ever user interacts with any function in portal. I will set current time in a cookie. Someother application will read this cookie at regular interval, if the time difference between the cookie and system is 15, then I will force the user to logout by showing a popup screen.
    In our portal we have three different type of application, they are, Java Webdynpro, ABAP-Webdynpro and BSP.
    I think that from Java Webdynpro and BSP we can call a javascript to set value in a cookie, from ABAP-Webdynpro I don't know how to set a value in cookie.
    This is my business requirement. Is there anyother solution to fullfill this business requirement.
    Thanks & Regards,
    H.K.Hayath Basha.
    Let me tell the business requirement.  Our user want to give a popup message when

  • Trigger Process chain using ABAP code

    Hi All,
    As per my knowledge there are 2 ways to trigger a process chain using ABAP code :
    1) Using FM ‘RSPC_API_CHAIN_START’ and passing process chain name as the parameter
    2)Using FM 'BP_EVENT_RAISE' and passing process event as the parameter, which you can create using SM62 transaction.
    I would like to know which one is better to use, in terms of advantage and disadvantage.
    Thanks,
    Praveena

    Hi praveena,
    check these links ..u .may get some help
    Process Chain
    Process Chain
    How to run a Process Chain
    Process chain-parallel process
    Regards
    BILL

  • Why should I use SQLJ

    Why should I use SQLJ instead of JDBC, is it for faster Acess than JDBC, or for any other reasons

    Why should I use SQLJ instead of JDBC, is it for
    faster Acess than JDBC, or for any other reasonsJust guessing...
    It should be faster - but you should test.
    I would suspect that it is going to be harder to maintain because it is less used (thus less tested), less known (so harder to hire people to maintain) and less 'standard' (thus figuring out what went wrong can be harder.)

  • Why should I use BO BI 4.0 for my existing SAP NetWeaver ?

    Dear Sirs,
    Question about BusinessObjects BI 4.0 & SAP Netweaver 7.0.
    In my company we use NetWeaver for a year. We have some reports on portal, so we have some analysis via www. It seemed to me that this is enough for us.
    Now on the market is available new version of BusinessObjects - version 4.0.
    My question is :
    Why should I use BO BI 4.0 for my SAP BW?
    What will I gain by implementing BO BI 4.0 in conjunction with SAP BW?
    Can I use existing reports on the new platform?
    Can you give some links to documents, presentations and notes to answer these questions?
    Best regards,
    Emmo

    Hi Emmo2000,
    Please see my answers below:
    Why should I use BO BI 4.0 for my SAP BW?
    What will I gain by implementing BO BI 4.0 in conjunction with SAP BW?
    Please see this SDN article which covers a lot of the new features of BI4.0 :
    /people/ingo.hilgefort/blog/2011/03/24/sap-integration-update-9--should-you-start-with-sap-businessobjects-40-or-wait-for-41
    Can I use existing reports on the new platform?
    There is the ability to integrate BexWeb applications via our BI Launchpad. I'm not sure if this is what you are referring to but the following should clarify:
    http://wiki.sdn.sap.com/wiki/display/BOBJ/HowtointegrateBExWebApplicationsintoBI4.x
    Can you give some links to documents, presentations and notes to answer these questions?
    For detailed information on the BI4.0 suite, I would direct you towards our product documentation:
    http://help.sap.com/businessobject/product_guides/
    I hope this is helpful and fully answers your question.
    Kind regards,
    John

  • Why should I use xinetd?

    Im using inetd, but in mandrake I had xinetd, and somewhere I had read that it is better. Is this true?, and if so, ahow do I install it, cause it's not in pacman (i know I cant install it from source, but I wonder if it's hidden somewhere in the distro)

    http://www.xinetd.org/faq.html
    Q. What is xinetd ?
    A. xinetd is a replacement for inetd, the internet services daemon.
    Q: I am not a system administrator; what do I care about an inetd replacement ?
    A: xinetd is not just an inetd replacement. Anybody can use it to start servers that don't require privileged ports because xinetd does not require that the services in its configuration file be listed in /etc/services.
    Q. Is it compatible with inetd ?
    A. No, its configuration file has a different format than inetd's one and it understands different signals. However the signal-to-action assignment can be changed and a program has been included to convert inetd.conf to xinetd.conf.
    Q. Why should I use it ?
    A. Because it is a lot better (IMHO) than inetd. Here are the reasons:
    1) It can do access control on all services based on:
         a. address of remote host
         b. time of access
         c. name of remote host
         d. domain name of remote host
    2) Access control works on all services, whether multi-threaded or single-threaded and for both the TCP and UDP protocols. All UDP packets can be checked as well as all TCP connections.
    3) It provides hard reconfiguration:
         a. kills servers for services that are no longer in the configuration file
         b. kills servers that no longer meet the access control criteria
    4) It can prevent denial-of-access attacks by
         a. placing limits on the number of servers for each service (avoids process table overflows)
         b. placing an upper bound on the number of processes it will fork
         c. placing limits on the size of log files it creates
         d. placing limits on the number of connection a single host can initiate
         e. place limits on the rate of incoming connections
         f. discontinue services if the load exceeds specified limit
    5) Extensive logging abilities:
         a. for every server started it can log:
              i) the time when the server was started
              ii) the remote host address
              iii) who was the remote user (if the other end runs a RFC-931/RFC-1413 server)
              iv) how long the server was running
              (i, ii and iii can be logged for failed attempts too).
         b. for some services, if the access control fails, it can log information about the attempted access (for example, it can log the user name and command for the rsh service)
    6) No limit on number of server arguments
    7) You can bind specifc services to specific IP's on your host machine

Maybe you are looking for

  • Want to remove duplicated data from my iPod

    When I moved from my old PC to my new Mac I attempted to transfer all my iTunes songs across. This didn't work the first time I tried, but did on second go. However, in the colour-coded bar in iTunes which tells you what's on your iPod, I see I have

  • MAC Files are not Visible when logged in on Windows

    HEllo I installed 10.5 with Boot camp and Windows XP successfully on my MAc Mini (1GB RAM). When i log on to MAC i see the Windows partitoned HDD and its contents however when i log on to windows i cant see the MAC Partitoned HDD in windows explorer.

  • Standard table to find all cubes loaded recently

    Hi, Is there any standard table to find out for all cubes in the system when it was loaded recently? Please let me know.... Thanks in advance, Jaya

  • Screen resolution keep switching

    Hello I have a T410s with a Inter HD Graphic (the only one). When I am connected with a beamer and duplicate the display, the screen resolution keep changing back and forth, and a popup from the Intel graphic controller tells me that the resolution i

  • Brush lines uneven. Where is my fault?

    Hello, i'm a Student, using CS4 on the following MacBook. When I use the Brush or Eraser Tool, the created lines don't have straight borders - they are waves. When I select a Brush from the menu, it works fine untill I change the size. Can somebody t