Which is better to use in alv functions or oops concept

hi,
actually some people are using function modules
and some are using oops concept
which one is better
could anybody suggest
thanks,
kalyan

I assume you've found TLFTextField in Flash Pro (I can't remember if Flash Builder made a TLFTextField class or not). Anyway, if you're considering using Flash Pro, here's some background on the TLFTextField class:
This class was created primarily for backwards compatibility with Classic Text coding. If you used Flash Pro CS 4 or earlier versions, and you wrote ActionScript for your text objects, you were using TextField objects. So, when you upgraded to CS 5, and you decided to convert all your old Classic text objects to the new TLF objects, all your code would have broken were it not for TLFTextField class. TLFTextField implements the TextField API so that your existing TextField code can be used in the TLF environment.
So, if you're an ActionScript programmer who is already comfortable programming using the TextField API, it certainly makes sense to continue doing so but using TLFTextField objects. However, if you want to take advantage of the new TLF features, the old API doesn't really give you the ability to do that. So, the TLFTextField provided a new API:
function get textFlow():TextFlow;
The TextFlow class is the top level class of the TLF model objects. Using that object, you can then set attributes on your text just as if you were working with TextFlow in Flash Builder. So, in essence, TLFTextField provides backwards compatibility, continued use of the familiar API set, and access to the TextFlow model class.
Another nuance to be aware of is that if you choose to embed fonts, TLF requires the newer "DF4" (for DefineFont4, based on the SWF Tag name) vs. the older "DF3" fonts that TextField requires. For text on the stage, Flash Pro will do all the tricky work for deciding when to embed DF3 and when to embed DF4 fonts, but just be aware that mixing Classic text and TLF text when using embedded fonts can cause a "double tax" on your SWF size because it may embed the same font both as DF3 and DF4.
Good Luck!
Rusty

Similar Messages

  • TLFTextField or TLF, which is better to use in CS5?

    Hi,
    I have been developing content using TLF with CS4 and in Flash Builder. Recently when I switched to CS5, there was this cool TLFTextField. So now I wonder, TLFTextField or TLF, which is better to use in CS5? Almost all of my text will be dynamically generated. Please share your thoughts - possibly with pros and cons.
    ~ Shiyaz

    I assume you've found TLFTextField in Flash Pro (I can't remember if Flash Builder made a TLFTextField class or not). Anyway, if you're considering using Flash Pro, here's some background on the TLFTextField class:
    This class was created primarily for backwards compatibility with Classic Text coding. If you used Flash Pro CS 4 or earlier versions, and you wrote ActionScript for your text objects, you were using TextField objects. So, when you upgraded to CS 5, and you decided to convert all your old Classic text objects to the new TLF objects, all your code would have broken were it not for TLFTextField class. TLFTextField implements the TextField API so that your existing TextField code can be used in the TLF environment.
    So, if you're an ActionScript programmer who is already comfortable programming using the TextField API, it certainly makes sense to continue doing so but using TLFTextField objects. However, if you want to take advantage of the new TLF features, the old API doesn't really give you the ability to do that. So, the TLFTextField provided a new API:
    function get textFlow():TextFlow;
    The TextFlow class is the top level class of the TLF model objects. Using that object, you can then set attributes on your text just as if you were working with TextFlow in Flash Builder. So, in essence, TLFTextField provides backwards compatibility, continued use of the familiar API set, and access to the TextFlow model class.
    Another nuance to be aware of is that if you choose to embed fonts, TLF requires the newer "DF4" (for DefineFont4, based on the SWF Tag name) vs. the older "DF3" fonts that TextField requires. For text on the stage, Flash Pro will do all the tricky work for deciding when to embed DF3 and when to embed DF4 fonts, but just be aware that mixing Classic text and TLF text when using embedded fonts can cause a "double tax" on your SWF size because it may embed the same font both as DF3 and DF4.
    Good Luck!
    Rusty

  • Which is better to use in a corprate enviornment for back up Windows 2008 Vs. Mozy

    Which is better to use in a corprate enviornment for back up Windows 2008 Vs. Mozy

    Hi, 
    Microsoft provide the built-in backup utility Windows Server Backup to backup Windows server 2008. For more detailed information, please refer to the articles below:
    Windows Server Backup Step-by-Step Guide for Windows Server 2008
    http://technet.microsoft.com/en-us/library/cc770266(v=ws.10).aspx
    Save big bucks without risk: Get the most from Windows Server 2008 Backup Utility
    http://www.techrepublic.com/blog/data-center/save-big-bucks-without-risk-get-the-most-from-windows-server-2008-backup-utility/
    Please Note: Since the website is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.
    For Microsoft does not provide any third party software, you need to check with the third party software yourself.
    Regards,
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Why assertion instead of if statement ?  Which is better to use ?

    Why assertion instead of if statement ? Which is better to use ?

    Never assertion instead of if statement. The two have fundamentally different intents. Using assert to control program flow is a bad idea

  • Which is better to use spotlight or finder

    I have been a Mac user for six years. Still, I am unsure how to find things most easily on my computer. I was searching for a folder I knew I had, using its exact name in Finder, and I could not locate it. I used it in Spotlight and found it right away. I've not used Spotlight too much, but should I use that instead of Finder?

    No rule on which is better to use, I suppose it is matter of preferences.
    You can certainly expand or restrict what Spotlight searches (indexes) for you via Spotlight's preferences.
    Here is a good free app that IMHO does a good job, EasyFind, at finding contents along with file names quite well.
    https://itunes.apple.com/us/app/easyfind/id411673888
    from this group
    http://www.devontechnologies.com/download/products.html

  • Which is better in custom self service function SIT or EIT??

    Hi Guru,
    I have requirements of loan request to be through self service,the end of the approval cycle i will use user hook to create loan element entry for the employee.
    I want to know which is better to be used for this function SIT or EIT ?? which is better in validations on submit page level.
    Regards

    Hello,
    Below thread may provide more informations on difference between SIT and EIT.
    Basis of choosing EIT, SIT and Addition Information DFF
    Regards,
    Saurabh

  • Which is better to use: BEx query or Web Application as an iView in portal?

    Hi gurus!
    Are there any experienced opinions, which is better - publish a BEx query in portal or publish a BEx Web Application in portal? Is it easier to alter the layout attributes etc. if I create a BEx Web Application first before publishing?
    What is the way of fixing for example filter item height if I publish BEx query in portal - is there a Web Application that it uses anyhow which I can fix? Or can I use in that case iView -properties in portal?
    Thankful for advice
    Sari

    ok, means i can use jsp:useBean tag for all my
    classes that are not actually bean. so it will be
    instantiated at run time and provide efficiency .No. Jsp:useBean is used for java bean components.
    >
    but when should i use import statement in my jsp and
    it happen at translation time so will it create any
    type of burden for my code if i import multiple
    classes.For non-java beans, you need to import the classes, period.
    It's not a burden, it's a necessity.

  • Which one better to use - jsp:useBean or import statement

    Hi,
    I just want to know that which one is better to use jsp:useBean or import statement .
    I can instantiate and call method of myclass -
    1) by importing the class through import tag in jsp as <%@page import="myclass"%. or
    2). by using <jsp:useBean tag....
    i have these two option to do the same thing. i know that basically useBean is used to call setter and getter method of bean class and but it can be used to call a normal java file that have some logic .
    so what should i used , which one is better and why?
    useBean provides scope and object instance so no need to create object by new operator. and with import you have to create an instance .
    but which tag should i use in my jsp?
    i am confused???

    ok, means i can use jsp:useBean tag for all my
    classes that are not actually bean. so it will be
    instantiated at run time and provide efficiency .No. Jsp:useBean is used for java bean components.
    >
    but when should i use import statement in my jsp and
    it happen at translation time so will it create any
    type of burden for my code if i import multiple
    classes.For non-java beans, you need to import the classes, period.
    It's not a burden, it's a necessity.

  • How to defined which logical database to use in a function module?

    Hey,
    I am trying to do logical database in a function module. I need to know where do i go to define which logical database to use? Becuase i get syntax error on my Get statement. The logical database i am trying to use is HR PNP .
    Any useful help will be appreciated,
    Thanks

    I think we can't assign logical database to FM or FG. Because there isn't any option to put the logical database in the FM or FG's attributes.
    You must have to create a executable report to have the LDB in use.
    Regards,
    Naimesh Patel

  • Which is better to use Store Procedure or Views in Crystal Reports ?

    Hi,
    which one is more better to use Store Procedure or Views in Crystal Reports ?
    Thanks.

    It depeneds on the requirement. Well, but from performance point of view as u know that stored procedures are already compiled on DB side, they would be more efficient. Views are handled differently. Here CR has nothing to do with it.
    But if the stored procedure u r using is having 2 Select statements, CR will only display the results from the first select statement. In that case you need to use Views as one can use more than one views in the report and join them.
    Using a Generic view which is created by the DBA for a larger audience will result in performance issues meaning if a View "V" has 25 fields and View is based on 5 tables  and ur report is using only 5 fields which are coming only from 2 tables inside the view,in this case u will end up in joining 3 more tables unnecessarily.
    Hope this helps!

  • Jsf and applete-which is better to use to design recruitment intranet

    Hi,
    I'm interested in enhancing my skills on developing standard interface for my company.
    Pls, Is it possible to design standard interface like the ones in accounting software with jsf. Or is better to use appletes
    Emeka

    Here's a sample:
    Global Variables
        * Define structure for internal table
        TYPES: BEGIN OF ty_zsd_ds03,
                   doc_number TYPE /bi0/oidoc_number,
                   fiscvarnt TYPE /bi0/oifiscvarnt,
                   ord_reason TYPE /bi0/oiord_reason,
               END OF ty_zsd_ds03.
        * Define internal table
        DATA: t_zsd_ds03 TYPE SORTED TABLE OF ty_zsd_ds03
                  WITH NON-UNIQUE KEY doc_number fiscvarnt.
        * Define work area
        DATA: wa_zsd_ds03 TYPE ty_zsd_ds03.
    Start Routine
        SELECT
            doc_number
            fiscvarnt
            ord_reason
        FROM
            /bic/azsd_ds0300
        INTO TABLE
            t_zsd_ds03
        FOR
            ALL ENTRIES IN source_package
        WHERE
            doc_number = source_package-doc_number
            and fiscvarnt = source_package-fiscvarnt.
        DELETE
            ADJACENT DUPLICATES
        FROM
            t_zsd_ds03
        COMPARING
            doc_number
            fiscvarnt.
    Characteristic Routine
        READ TABLE
            t_zsd_ds03
        INTO
            wa_zsd_ds03
        WITH TABLE KEY
            doc_number = source_fields-doc_number
            fiscvarnt = source_fields-fiscvarnt.
        IF sy-subrc EQ 0.
            result = wa_zsd_ds03-ord_reason.
        ELSE.
            CLEAR result.
        ENDIF.
    If you have multiple targets, then do the READ TABLE statement inside the LOOP AT results_package ASSIGNING <result_fields> statement. If it's successfuly, then you'd populate the wa_zsd_ds03-field, in this example, into <result_fields>-field if successful or CLEAR (initialize) the value in <result_fields>-field.

  • How to use the alv function module

    hi all,
            can  any one help me out how to use reuse_alv_block_list_append function module, what parameters shall i pass  to it, so that i get top of page and end of page events and report data in two blocks, can any one tell how can i didvide the data into block, at a particular line

    hi,
    this is  my simple alv blockedlist programme.go through it.it will definrtley help u.
    REPORT  z50870alv_blocked.
    TYPE-POOLS : slis.
    *&      structure declaration
    TYPES : BEGIN OF st_ekko,
              ebeln TYPE ekko-ebeln,    "Purchasing Document Number
              bstyp TYPE ekko-bstyp,    "Purchasing Document Category
              bsart TYPE ekko-bsart,    "Purchasing Document Type
              aedat TYPE ekko-aedat,    "record created on
              ernam TYPE ekko-ernam,    "Person who Created the Object
            END OF st_ekko.
    TYPES : BEGIN OF st_ekpo,
              ebeln TYPE ekko-ebeln,
              ebelp TYPE ekpo-ebelp,    "Item Number of Purchasing Document
              ematn TYPE ekpo-ematn,    "Material number
              matkl TYPE ekpo-matkl,    "Material group
              netpr TYPE ekpo-netpr,    "Net price in purchasing document
            END OF st_ekpo.
    *&      internal table and work area declaration
    DATA : it_ekpo       TYPE STANDARD TABLE OF st_ekpo,
           it_ekko       TYPE STANDARD TABLE OF st_ekko,
           it_fieldcat1  TYPE slis_t_fieldcat_alv,
           wa_fieldcat1  TYPE slis_fieldcat_alv,
           it_fieldcat2  TYPE slis_t_fieldcat_alv,
           wa_fieldcat2  TYPE slis_fieldcat_alv,
           it_events     Type slis_t_event,
           wa_layout     TYPE slis_layout_alv.
    *&      data declaration
    DATA : v_ebeln TYPE ekko-ebeln.
    *&      selection-screen
      SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-000.
      SELECT-OPTIONS : so_ebeln FOR v_ebeln.
      SELECTION-SCREEN END OF BLOCK a.
    *&      At-selection-screen
    at selection-screen on so_ebeln.
    perform validate_ebeln.
    *&      start-of-selection
    START-OF-SELECTION.
      PERFORM data_retrieval.
    *&      end-of-selection
    END-OF-SELECTION.
      PERFORM initialize_alv_block.
      PERFORM build_fieldcatalog1.
      PERFORM build_fieldcatalog2.
      PERFORM build_layout.
      PERFORM get_events .
      PERFORM append_ekkodata_to_alv_block.
      PERFORM append_ekpodata_to_alv_block.
      PERFORM display_blocked_alv.
    *&     FORM initialize_alv_block
    FORM initialize_alv_block.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
      EXPORTING
        i_callback_program             = sy-repid.
    endform.
    *&     FORM validate_ebeln
    form validate_ebeln.
    select ebeln
       from ekko
       into table it_ekko
       where ebeln in so_ebeln.
      if sy-subrc ne 0.
        message text-003 type 'W'.
      endif.
    endform.
    *&     FORM data_retrieval
    FORM data_retrieval.
    SELECT ebeln bstyp bsart aedat ernam
        FROM ekko
        INTO TABLE it_ekko
        WHERE ebeln IN so_ebeln.
      if sy-subrc ne 0.
       message text-001 type 'I'.
      endif.
    SELECT ebeln ebelp ematn matkl netpr
        FROM ekpo
        INTO TABLE it_ekpo
        WHERE ebeln IN so_ebeln.
      if sy-subrc ne 0.
       message text-002 type 'I'.
      endif.
    endform.
    *&      Form  build_fieldcatalog1
    FORM  build_fieldcatalog1.
      wa_fieldcat1-fieldname   = 'EBELN'.
      wa_fieldcat1-seltext_l   = 'PURCHASE ORDER'.
      wa_fieldcat1-col_pos     = 0.
      APPEND wa_fieldcat1 TO it_fieldcat1.
      wa_fieldcat1-fieldname   = 'BSTYP'.
      wa_fieldcat1-seltext_l   = 'DOCUMENT CATEGORY'.
      wa_fieldcat1-col_pos     = 1.
      APPEND wa_fieldcat1 TO it_fieldcat1.
      wa_fieldcat1-fieldname   = 'BSART'.
      wa_fieldcat1-seltext_l   = 'DOCUMENT TYPE'.
      wa_fieldcat1-col_pos     = 2.
      APPEND wa_fieldcat1 TO it_fieldcat1.
      wa_fieldcat1-fieldname   = 'AEDAT'.
      wa_fieldcat1-seltext_l   = 'DATE'.
      wa_fieldcat1-col_pos     = 3.
      APPEND wa_fieldcat1 TO it_fieldcat1.
      wa_fieldcat1-fieldname   = 'ERNAM'.
      wa_fieldcat1-seltext_l   = 'NAME'.
      wa_fieldcat1-col_pos     = 4.
      APPEND wa_fieldcat1 TO it_fieldcat1.
    ENDFORM.                    "build_fieldcatalog
    *&      Form  build_fieldcatalog2
    FORM  build_fieldcatalog2.
      wa_fieldcat2-fieldname   = 'EBELN'.
      wa_fieldcat2-seltext_l   = 'PURCHASE ORDER'.
      wa_fieldcat2-col_pos     = 0.
      APPEND wa_fieldcat2 TO it_fieldcat2.
      wa_fieldcat2-fieldname   = 'EBELP'.
      wa_fieldcat2-seltext_l   = 'ITEM NUMBER'.
      wa_fieldcat2-col_pos     = 1.
      APPEND wa_fieldcat2 TO it_fieldcat2.
      wa_fieldcat2-fieldname   = 'EMATN'.
      wa_fieldcat2-seltext_l   = 'MATERIAL TYPE'.
      wa_fieldcat2-col_pos     = 2.
      APPEND wa_fieldcat2 TO it_fieldcat2.
      wa_fieldcat2-fieldname   = 'MATKL'.
      wa_fieldcat2-seltext_l   = 'MATERIAL GROUP'.
      wa_fieldcat2-col_pos     = 3.
      APPEND wa_fieldcat2 TO it_fieldcat2.
      wa_fieldcat2-fieldname   = 'NETPR'.
      wa_fieldcat2-seltext_l   = 'NET PRICE'.
      wa_fieldcat2-col_pos     = 4.
      wa_fieldcat2-do_sum      = 'X'.
      APPEND wa_fieldcat2 TO it_fieldcat2.
    ENDFORM.                    "build_fieldcatalog
    *&      form build_layout.
    FORM build_layout.
      wa_layout-zebra ='X'.
      wa_layout-no_vline = 'X'.
      wa_layout-no_hline = 'X'.
      wa_layout-colwidth_optimize = 'X'.
      wa_layout-window_titlebar = 'PURCHASE ORDER HEADER AND ITEM DETAILS'.
    ENDFORM.                    "build_layout
    *&      form append_ekkodata_to_alv_block
    FORM append_ekkodata_to_alv_block.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
      EXPORTING
        is_layout                        = wa_layout
        it_fieldcat                      = it_fieldcat1
        i_tabname                        ='it_ekko'
        it_events                        = it_events[]
      IT_SORT                          = IT_SORT
      I_TEXT                           = ' '
      TABLES
        t_outtab                         = it_ekko
    EXCEPTIONS
       PROGRAM_ERROR                    = 1
       MAXIMUM_OF_APPENDS_REACHED       = 2
       OTHERS                           = 3.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    endform.
    *&      form append_ekpodata_to_alv_block
    FORM append_ekpodata_to_alv_block.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
      EXPORTING
        is_layout                        = wa_layout
        it_fieldcat                      = it_fieldcat2
        i_tabname                        ='it_ekpo'
        it_events                        = it_events[]
      IT_SORT                          = IT_SORT
      I_TEXT                           = ' '
      TABLES
        t_outtab                         = it_ekpo
    EXCEPTIONS
       PROGRAM_ERROR                    = 1
       MAXIMUM_OF_APPENDS_REACHED       = 2
       OTHERS                           = 3.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    endform.
    *&      FORM display_blocked_alv.
    FORM display_blocked_alv.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
    endform.
    *&      Form  GET_EVENTS
    FORM get_events .
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type     = 2
        IMPORTING
          et_events       = it_events[]
        EXCEPTIONS
          list_type_wrong = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " GET_EVENTS\
    regards,
    pavan t.

  • Template or Stationery?  Which is better to use for building pages?

    I'm going to start building my tier 2 and tier 3 pages, and want the nav bar on every page to update with the new tier 2 pages that I add.
    Will a template or stationery page update the nav bar? The content will change on each page, but as I add the tier 2 pages, those will become part of the navigation bar throughout the site. How do I do this, or maybe the better question is...which should I use, a template or stationery?
    I'm using GoLive 6.
    Thanks,
    Kirstyn Sierra

    NAVIGATION AS A COMPONENT:
    Basically, you build your navigation into a separate file that only has the navigation links and save it as a Component. Then, in your site pages, you drop in the Component into the page where needed. Later, if you add a page, you add the link to your Component, which then goes through all the pages you dropped the Component into and updates them to match what you just saved. You then re-upload all your modified files so the copy online matches.
    SITE TEMPLATE:
    You build the entire page design template structure, putting everything where you want. You define "editable" regions in the template for the content that changes with every page (the main body content - basically everything except the basic structure and navigation) and save it into GoLive's Templates folder. You make new pages based on the template, and everything's locked except the part(s) that change on every page. You add the page-specific content to the editable region and save. Later, if you make a change on the master Template file, those changes are copied by GoLive into any page based on that template, but it ignores the "editable" regions so as not to override the page-specific content.
    Either way you go, you'd need to read the manual for your version of GoLive for the specifics on how to set up Templates or Components (and post back here if you run into questions). I don't have a copy of GoLive 6 installed, so can't spout the details off the top of my head :-)

  • Which is better?Using standardised BAPI directly or creating different BAPI

    Hello all
    I need to get a Customer record .Here iam using bapi  BAPI_GETCUSTOMER_DETAIL . So shall i use the standardized
    BAPIi in my programme directly or create a different  RFC  using the standard one.
    Which one is  a better option to follow?
    Thanks in advance

    Hi leo,
    yes you can call bapi's from a java file ..
    Sample code of how to do it can be found on help.sap.com ..
    The link for the same [LINK|http://help.sap.com/saphelp_46c/helpdata/en/76/4a42f4f16d11d1ad15080009b0fb56/content.htm]
    regards
    Manthan.

  • Which tags do i use for these functions...

    Hi guys,
    Im creating an online newspaper/fanzine website. It will
    contain content management system at the backend, all in
    coldfusion.
    Im aiming for it to do the following, and was wondering if
    you guys could tell me which CF tags i need to use for each one
    (it's been a while since i've touched CF!).
    - Front end will display news articles. Back end will need
    to submit articles for front end output. Apart from a text input
    form, i will need the client to be able to add images, of a certain
    size, to each article for display underneath the text. In short -
    an area to upload article + associated image for front end output.
    -A page containing links to download .rar files of the back
    issues of the paper, each file is approx 20mb, there will be around
    10 files available. (are these files going to have to be stored in
    a folder, within the website, and the links will go to the folder,
    and allow the client to download?) The website must be able to
    allow clients to download .rar's of the back issues.
    - Back end page to upload adverts, that will need to be
    trimmed/scaled to fit a specific DIV size at the front end.
    Thats it for now, although i may come up with others.
    Hope someone out there can give me some pointers.
    Cheers in advance guys,
    Dave

    Your question is quite broad, so it's difficult to provide an
    answer that's
    more use than "read the CFWACK".
    However you seem to have a requirement for form processing,
    so read this
    lot:
    http://livedocs.adobe.com/coldfusion/8/htmldocs/dynamicForms_01.html
    And maybe image processing:
    http://livedocs.adobe.com/coldfusion/8/htmldocs/Images_01.html
    And, in general, reviewing the capabilities of CF:
    Tags:
    http://livedocs.adobe.com/coldfusion/8/htmldocs/Tags-pt0_01.html
    Functions:
    http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_01.html
    I recommend at least glancing over all the tag and function
    summaries, so
    you know what CF can do.
    You might also want to think about not reinventing the wheel,
    and look at a
    CMS like FarCry:
    http://www.farcrycore.org/
    Or if you want to be more in a "roll your own" situation,
    then at least
    look at Model-Glue and ColdSpring:
    http://www.model-glue.com/
    http://www.coldspringframework.org/
    And use either Reactor or Transfer for handling your DB tier:
    http://www.reactorframework.com/
    http://www.transfer-orm.com/
    Tranfer seems to be the flavour-of-the-month of these two,
    but it always
    seemed a bit jerry-built to me: I prefer Reactor. Reactor is
    in a bit of a
    developmental hiatus @ present, but it has an active and
    helpful community.
    I strongly, strongly recommend resisting the thought that
    using a framework
    seems like a lot of effort, and you'll probably be all right
    just winging
    it. You'll be wrong. Model-Glue & ColdSpring seem a bit
    daunting at
    first, but really they are not. There's a few decent
    tutorials out there
    to get you up to speed quickly.
    I am purely a maintenance coder at present, so I don't have
    much choice in
    what I'm doing (goddammit! ;-), but I would not undertake any
    project - of
    any size - without using a framework.
    Adam

Maybe you are looking for