Moving from ABAP to ABAP oo

We are currently running on a 4.0 system, but are preparing for an upgrade to ERP '05.
I have looked at OO and have collected a few questions.
1.     A simple ABAP report today in 4.0 looks like this :
Selection-screen
Start-of-selection
Perform read_data
Perform manipulate_data
Perform write_data
As you can see no data is passed between calls using EXPORT/IMPORT…..
If this report had to be re-written in OO is it best practise to pass data/internal tables to the methods – encapsulate ?
2. I have several times heard that screen/dynpro processing should be isolated in Functionsmodules  (when not using WEB Dynpros)
We are having approx 30 RF application (running on radio frequency terminals with 10X20 character based scrrens).
How should the screens be isolated ? One FM pr. Screen ? And what about selection-screens – should only the selection screen be isolated returning the parameters/select-options or should such a FM also read the data based on the selection criteria’s ?

Hi Kim,
add 1:
Leave your reports as they are. ABAPoo is an extension of the ABAP Language and not an replacement. ABAPoo has been designed, because some dev. areas are better handled by an object oriented approach, e.g. graphical UI's.
add 2:
Classes in ABAPoo are technically are not having any global fields. Static attributes are the same concept, but technically handled differently.
If you like see a field on a Dynpro, this field has to be a global field of the Dynpro's Modulepool. As ABAPoo classes do not have such global fields, you have to create a Functionpool to hold this screen work area.
But again as in your 1st question: if you your programs work well today, there is a 99% chance that they also run on a 6.40 kernel. There are some restriction with Unicode, but that can be handled by minor changes and does not force a complete redesing.
If you find my answer useful, please don't forget the reward.
Regards,
Juergen

Similar Messages

  • Moving from Web Dynpro Java timesheet to Web Dynpro ABAP timesheet

    Hi
    We are in the process of moving from Web Dynpro Java ESS timesheet to Web Dynpro ABAP ESS timesheet.  When using Web Dynpro Java ESS timesheet it is possible to enter time using a daily or weekly view. 
    When using the Web Dynpro version and ensuring the period type is set to weekly view for the data entry profile it is only possible to enter time on the weekly view, the tab for the daily view is no longer available.
    Still using the Web Dynpro version and changing the period type to daily view I can enter time using the daily view and the weekly tab also becomes available, but the weekly tab is read only.
    Do you know if it is possible to make daily and weekly timesheet entry for one data entry profile.
    Thanks
    Mark

    Yes you can have only one view ie weekly or daily as per your CATS profile in CAC1.
    but of course you can select multiple profiles
    Configuration
    The application configuration HRESS_AC_CATS_1 is provided by default and allows you to provide default values for the application parameters. It also allows you to specify the layout and appearance of the application.
    The following application parameters are provided:
    HIDE_CLOCK_TIMES_IN_WEEKLY
    Hides the clock times in the weekly view.
    MULTIPLE_PROFILE
    Enables the selection of multiple data entry profiles from the dropdown list

  • Scope of CRM technical when moving from ABAP/4

    Hello Everybody,
    Iam ABAP/4 certified consultant and currentky working in cross applications. Ima intersted in moving into CRM Technical. What would be the scope and job prospect of CRM Technical in India and Abroad as well.
    As i dnt know anything about CRM would it be good move. Kindly suggest me.
    Regards,
    Vidya Roma

    Hi Vidya,
    I was in ABAP for about 2 yrs although I am not a certified ABAP Consultant but have good enough experience in it. I got the opportunity to work in CRM ABAP this Feb ans since then, it has been a great learning experience for me.
    When you're switching from R/3 ABAP to CRM ABAP, one thing you must be knowing that its an Object Oriented Concept in CRM ABAP
    You have to know (or learn it) about BAdI's. There are a lot of BAdI's than can and (probably) will be used for all kinds of business transactions, like service orders, activities, etc. It would be advisable to learn to programming model in CRM which involves several layers like the interaction layer for example.
    There are some very useful reports: CRM_ORDER_READ.
    Function modules: CMR_ORDER_MAINTAIN, CRM_ORDER_SAVE, CRM_ORDER_READ.
    These are 'generic' FM which can be used for 'all' sorts of business transactions.
    One more important thing to know is that most of the screens are composed of (enjoy) sap controls in which BDC programming won't do you no good. But this is not a disadvantage, since the FM above are actually all you need to have.
    Main transaction code would be crmd_order (or crm_order, not quite sure). With this ONE transaction code you can process all business transactions in CRM. The screen can be customized in such a way that per business transaction, the screen will look different although you are still using the same transaction code.
    And there really is a lot more than this, but you will find out eventually. It is a quite powerful module in terms of flexibility, customizing, post processing possibilities. Sounds all a bit abstract right now, but you will learn to love / like it (I hope).
    And if you're asking about the future of this, let me tell you that SAP CRM Consultants have got the highest billing rate comapred with all other modules.
    If any more questions, please get back anytime.
    Thanks
    Vishal

  • How to Print  a PDF file from within a ABAP ( from gui input)

    Hi champions,
    This is Client requirement:
    "We need to print a PDF file from within a ABAP"
    We first need to test whether it is even feasible, and then if it 
    is, then write a small test ABAP which can accept a PDF file
    name as input (from GUI) and then print it to a SAP print
    device (printer).”
    Please Can any body help me on this.......
    It's urgent
    Thanks
    Basu

    Check following blog for PDF output from SAP
    /people/thomas.jung3/blog/2005/04/28/setting-up-an-adobe-writer-for-abap-output
    anya

  • Calling Portal iView from a WebdynPro ABAP application

    Hi ,
    I have a requirement where I need to call an iView in my portal from the Webdynpro application also existing in the portal.
    Can anyone provide me the method with source code( if possible ) to call an iView existing in the portal from the WebDynPro ABAP application.
    Best Regards
    Sid

    Hi Siddharth,
    Well, I think you can go for Portal Navigation concept.
    Please check the required source code in WDR_TEST_PORTAL_NAV Web Dynpro component. That will illustrate both Page based Navigation and Object based Navigation.
    Hope that should solve your problem.
    Regards
    <i><b>Raja Sekhar</b></i>

  • Making a call to a Business Connector Flow Service from within an ABAP prog

    Hello,
    I am trying to make a change to one of the flow services within BUsiness COnnector.
    The way the system is currently set up is that the flow service is called from within an ABAP program via an RFC call.
    A remote FM exists in SAP and this is called by the program and there is a corresponding flo service within Business Connector.
    I have basically copied an existing flow service which works fine and made a few minor tweaks. Within SAP, I have copied the remote FM and again made a few minor tweaks.
    However, when I run the program, it short dumps at the point whee my remote FM is called with th following message :-
    "Unknown Partner and Message Type. Sender: xxxx Receiver: xxxx MsgType:  "
    I am not a Business Connector expert and I guess I am missing a ste but I'm not sure what it is.
    Can anyone advise?
    Thanks,
    Ruby

    Hello,
    I am trying to make a change to one of the flow services within BUsiness COnnector.
    The way the system is currently set up is that the flow service is called from within an ABAP program via an RFC call.
    A remote FM exists in SAP and this is called by the program and there is a corresponding flo service within Business Connector.
    I have basically copied an existing flow service which works fine and made a few minor tweaks. Within SAP, I have copied the remote FM and again made a few minor tweaks.
    However, when I run the program, it short dumps at the point whee my remote FM is called with th following message :-
    "Unknown Partner and Message Type. Sender: xxxx Receiver: xxxx MsgType:  "
    I am not a Business Connector expert and I guess I am missing a ste but I'm not sure what it is.
    Can anyone advise?
    Thanks,
    Ruby

  • Calling adobe form from Web Dynpro ABAP

    Hi Friends,
                        This is the following error, which i got when i tested my application. Calling adobe form from Web Dynpro ABAP.
      WebDynpro Exception: ADS: Request start time: Tue Nov 16 14:00:22 YEKT
      2010(200,101).
                        Can some one tell me how to solve this....
    Regards
    Sankar

    Hi,
    Please refer to this same link in forum
    WebDynpro Exception: ADS: Request start time, start Interactive Form
    WebDynpro Exception: ADS: Request start time
    Thanks
    Pradeep

  • Problem in retriving workitem id from uwl in abap webdynpro

    Hello,
    Curently, I've a problem similar with this post : Problem in retriving workitem id from uwl in abap webdynpro
    But unfortunatelly there is no answer :/
    I've followed this tutorial : http://wiki.sdn.sap.com/wiki/display/WDABAP/IntegratingWebDynproABAPapplicationswithUWLforworkflowin+Portal
    And I have a problem in my WD Abap. The WI_ID field is empty (initial).
    Here is my XML :
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE UWLConfiguration PUBLIC '-//SAP//UWL1.0//EN' 'uwl_configuration.dtd'
      >
    <UWLConfiguration version="1.0">
         <ItemTypes>
              <ItemType name="uwl.task.webflow.TS90000087.ED1CLNT100" connector="WebFlowConnector" defaultView="DefaultView" defaultAction="launchWebDynPro" executionMode="default">
                <ItemTypeCriteria systemId="ED1CLNT100" externalType="TS90000087" connector="WebFlowConnector"/>
                <Actions>
                   <Action name="launchWebDynPro" groupAction="" handler="SAPWebDynproABAPLauncher" returnToDetailViewAllowed="yes" launchInNewWindow="yes" launchNewWindowFeatures="resizable=yes,scrollbars=yes,status=yes,toolbar=no,menubar=no,location=no,directories=no">
                     <Properties>
                        <Property name="WebDynproApplication" value="zps_pnpi"/>
                        <Property name="newWindowFeatures" value="resizable=yes,scrollbars=yes,status=yes,toolbar=no,menubar=no,location=no,directories=no"/>
                        <Property name="DynamicParameter" value="WI_ID1=${item.externalId}"/>
                        <Property name="openInNewWindow" value="yes"/>
                        <Property name="WebDynproNamespace" value="sap"/>
                        <Property name="System" value="ED1CLNT100"/>
                        <Property name="display_order_priority" value="5"/>
                     </Properties>
                     <Descriptions default=""/>
                   </Action>
                </Actions>
              </ItemType>
         </ItemTypes>
    </UWLConfiguration>
    Here are the parameter defined in my application :
    WI_ID     000000000000     SWW_WIID
    WI_ID1     ${item.externalId}     STRING
    And, i've made the test with both the WI_ID and the WI_ID1 in the XML but everytime, no value at all.
    Could you please help me ? It's been three days I'm looking for a solution to get my Workitem ID in my Webdynpro ...

    In fact, it's quite strange, I added the menu and toolbar display and I can see that my url contains the data ...
    http://<begin_of_the_url>DynamicParameter=System%3DED1CLNT100%26wi_id%3D000000629442%26WI_ID%3D000000629442%26WI_ID1%3D000000629442<end_of_the_url>
    So ... how is it possible ?
    And the next question, how can I get the full url so I can parse it myself ?

  • How to pass variable from Java to ABAP in BSPs

    Hello experts,
    taking into account the two environments (browser and server) I need to pass information from Java to ABAP.
    After seen this link: Re: View Refresh
    I have tried the next:
    HTMLB:  <input type="hidden" name="myFlag" value="">
    ABAP:   DATA: lv_height TYPE STRING.
    JAVA:   var intXo = readCookie("XEix");
    JAVA:   if ( intXo == 900 )                
    JAVA:   else if (intXo == 725 )            
    ABAP:   lv_height = request->get_form_field( 'myFlag' ).
    ABAP:   IF lv_height EQ 'X'.
    ABAP:     TRAYTAREAS_P = 'TRUE'.
    ABAP:   ELSE.
    ABAP:     TRAYTAREAS_P = 'FALSE'.
    ABAP:   ENDIF. 
    "document.all.myFlag.value" gets the correct value according the condition, but the ABAP code does not recover this value (lv_height is always initial).
    Can you help me with that? I'm not able to see where is the mistake...
    Exist any alternative way to recover in ABAP an JavaScrip value?
    thanks in advance.
    Arnau
    Message was edited by:
            Arnau Mustieles

    Hi Raja
    I think you are appointing to this posted solution:
    HTMLB: <input type="hidden" name="myFlag" value="">
    ABAP: DATA: lv_height TYPE STRING.
    JAVA: var intXo = readCookie("XEix");
    JAVA: if ( intXo == 900 )
    JAVA: else if (intXo == 725 )
    ABAP: lv_height = request->get_form_field( 'myFlag' ).
    ABAP: IF lv_height EQ 'X'.
    ABAP: TRAYTAREAS_P = 'TRUE'.
    ABAP: ELSE.
    ABAP: TRAYTAREAS_P = 'FALSE'.
    ABAP: ENDIF.
    but it doesn't work. Can you detect if there is any evident error there or the process is right?

  • How to exit from a WebDynpro ABAP application and open another url

    Hi Friends,
    How to exit from a WebDynpro ABAP application and open another url like (www.yahoo.com) in the same window of the WD4 application on click of a Button?
    Regards,
    Xavier

    Hi,
    First of all you should create outbound plug in the window you are trying to exit with plufg type "Exit"
    Then create method handler in the view with this code
            data lo_view_cntr type ref to if_wd_view_controller.
            data lo_win_cntr type ref to if_wd_window_controller.
            data: l_parameter_list type wdr_event_parameter_list,
                  l_parameter type wdr_event_parameter,
                  l_val type ref to data,
                  l_val_url type REF TO data.
            field-symbols: <fs> type any,
                           <fs_url> type any.
            lo_view_cntr  = wd_this->wd_get_api( ).
            lo_win_cntr = lo_view_cntr->get_embedding_window_ctlr( ).
            CREATE DATA l_val type c.
            CREATE DATA l_val_url type string.
            ASSIGN l_val->* to <fs>.
            ASSIGN l_val_url->* to <fs_url>.
            <fs> = 'X'.
            <fs_url> = 'http://your-link.com'.     
            l_parameter-name = 'URL'.
            l_parameter-value = l_val_url.
            INSERT l_parameter INTO TABLE l_parameter_list.
            lo_win_cntr->if_wd_view_controller~fire_plug( EXPORTING plug_name = 'EXIT_PLUG'
                                                                    parameters = l_parameter_list ).
          You can easily change this logic to exit application instead of redirecting to the site
           just changing to
           l_parameter-name = 'CLOSE_WINDOW'.

  • Portal dynamic iView from Web Dynpro ABAP?

    I wish to use a "Dynamic iView" from a Web Dynpro ABAP application, but it appears the API is only available in Web Dynpro Java.  Can this feature be used from Web Dynpro ABAP, or can this be accomplished in another way?
    Scenario: I have two iViews on a page, one Web Dynpro ABAP and another iView whose source I want to change dynamically based on something a user clicks in the Web Dynpro ABAP.
    Dynamic iView:
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/44/a72c155df77038e10000000a422035/frameset.htm

    So you are suggesting the WDA fires an event to a new WDJ that we would need to create that would in turn use the Dynamic iView service mentioned in that help document?

  • Need a call a portal iView from a WebDynPro ABAP Application

    Hi,
    I have to call a portal iView from the WD ABAP application.
    The iView root is e.g.
    folder1/folder2/check_workset1/iView
    How can we call it using Absolute navigation or Relative Navigation.
    I just want to call this path.
    Can anyone provide me with a code snippet.
    Best Regards
    Sid

    Hi ,
    I am calling the following method in my action call of a Webdynpro ABAP View
      CALL METHOD lo_portal_manager->NAVIGATE_ABSOLUTE
      EXPORTING
        NAVIGATION_TARGET   = 'Roles://portal_content/xxxx._and_remuneration'
        NAVIGATION_MODE     = IF_WD_PORTAL_INTEGRATION=>CO_SHOW_EXTERNAL
       WINDOW_FEATURES    =
       WINDOW_NAME        =
       HISTORY_MODE       =
       TARGET_TITLE       =
          CONTEXT_URL       = 'http://xxx.xxx.adsint.biz:50000/irj/portal'
       POST_PARAMETERS    = ABAP_FALSE
       USE_SAP_LAUNCHER   = ABAP_TRUE
       BUSINESS_PARAMETERS =
       LAUNCHER_PARAMETERS =
    But it is still noot opening the page for me from the WD ABAP application.
    Can anyone let me know , what can be the reason.
    Best Regards
    Sid

  • Pass Parameters to an external appl when launched from web dynpro ABAP .

    I want to Pass Paramaters to an external application when launced from Web dynpro ABAP . I have successfully launched an .exe file ( Notepad / eViewHSEditor ) from Web dynpro using the logic from Standard WD_TEST_APPL_ACFEXECUTE component  But I am unable to Pass paramters to the .exe file .
    example :-  I would like to pass parameters  text1 text2 in the arugement list and I expect it opens an untitled notepad and in the file it will have parameters text1 text2 . But it is behaving in a different way . Below are the detailed steps of what I have done .
    The steps that I followed :-
    1)  Right now I have created the white list Configuration for Notepad.exe
    2) I have created 1 and 2 postions both of type string and permission Legal .
    3) The Paramter Value is * for both 1 and 2 .
    4) I activated the whitelist and it generated an .XML file
    5)
              application = 'C:
    WINDOWS
    system32
    notepad.exe'.
              argument = 'text1 text2' .
              co_element :- I am reading the element from the conrtext .
          co_element = wd_context->get_lead_selection( ).
          co_element_stru-attribute_name = 'ERROR'.
          co_element_stru-element = co_element.
          wd_this->acf_method_handler->if_wd_acfexecute~execute( application =  application
                                                                 argumentlist = argument
                                                                 errorinformation = co_element_stru ).
    when i execute  the application , it is trying to launch a notepad with file  'text1  text2.txt'  and it doesn't have one , it is asking do you want to create .  If You yes, it will open notepad with name 'text1 text2.txt' . If you Pass abcd in the arugement list , if the file with name abcd.txt exists , it opens the notepad with that file name .

    You try to open notepad from your PC with the same command, you will the same result.
    start->run->notepad "test1 test2". You get the popup saying that "test1 test2" file is not existing. You can google it to find a way to pass the text while opening notepad and try to fit that in your WebDynpro argument. I doubt if it is possible though.

  • Triggering a background job of class 'A' from within the ABAP program

    Dear All,
    We are implementing SAP ECC 6.0 on IBM System i, i5/OS V5R4,  SAP kernel 7.00, kernel patch level 173.
    Is there a way to control that when a background job is triggered from within an ABAP program using the : CALL FUNCTION 'JOB_OPEN' statement, the background job is of class A ?
    I know that through transaction SM37, the job class for a background job can be changed manually, but the situation is an outsource company did for us some changes in the native SAP ABAP programs related to some SAP native transactions, and those programs trigger at their end some background jobs, each job running with the name of user running the transaction.
    Through SM37, I can't find a template background job, to be changed to have class 'A'
    The following is an excerpt from the ABAP code, bearing the CALL FUNCTION 'JOB_OPEN' statement :
    FUNCTION z_cs_technical_completion.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(AUFNR) TYPE  VBRP-AUFNR
      DATA jobcount TYPE tbtcjob-jobcount.
      CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          jobname                = 'CS_TECH_COMPLETE'
      SDLSTRTDT              = NO_DATE
      SDLSTRTTM              = NO_TIME
      JOBCLASS               =
       IMPORTING
         jobcount               = jobcount
    CHANGING
      RET                    =
       EXCEPTIONS
         cant_create_job        = 1
         invalid_job_data       = 2
         jobname_missing        = 3
         OTHERS                 = 4
      SUBMIT zcs_technical_completion
              WITH p_aufnr EQ aufnr
                AND RETURN
              VIA JOB 'CS_TECH_COMPLETE'
              NUMBER jobcount.
      CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
          jobcount             = jobcount
          jobname              = 'CS_TECH_COMPLETE'
          strtimmed            = 'X'
        EXCEPTIONS
          cant_start_immediate = 1
          invalid_startdate    = 2
          jobname_missing      = 3
          job_close_failed     = 4
          job_nosteps          = 5
          job_notex            = 6
          lock_failed          = 7
          invalid_target       = 8
          OTHERS               = 9.
    ENDFUNCTION.
    Thank you in advance for your cooperation.
    Best regards.
    Reda Khalifa

    Dear Darren,
    Thank you very much for your cooperation and for your prompt reply.
    Could you please explain to me how to find out the template background job that was first used, or in other words, how things were set up in the first place, i.e. when first the ABAP program was written and executed, there had to be at least one background job created through transaction SM36 ?
    Thank you in advance for your cooperation.
    Best regards.
    Reda Khalifa

  • Read Data From DSO - In ABAP Program

    HI Friends,
    Can any one tell how to read Data from a DSO in a Abap Program on BI System itself......
    Which is the better way to read data from DSO in Abap Program... Is it
    1. Reading Data Directly From the Active Table Of the DSO ... or
    2. Reading Data From DSO....
    In case of reading data from DSO.... Which function module is used to do this work....When i searched the forum i came across 2 function Modules.... BAPI_ODSO_READ_DATA_UC and RSDRI_INFOPROV_READ..... Please let me know which one should be used....
    Regards,
    Shyam.

    Hi Shyam,
    The active content of any ods will be stored in the database tables( SE11) with the naming convention /BIC/A<odsname>00 for Custom-defined DSO and /BI0/A<odsname>00 for Business content delivered DSO.
    For example if the technical name of the ods is TEST , then the active content table name in SE11 will be /BIC/ATEST00.
    You can write your own program to read the contents of this database table.
    Regards,
    Krishna.

  • Connect one JAVA ADS instance to multiple clients from the same ABAP system

    Hi,
    Does anyone know whether it is possible to connect multplie clients from the same ABAP system to a JAVA instance running ADS?
    If so how do you setup the java destinations in Visual Admin and SM59 RFC connections?
    Any help is appreciated,
    Sander

    Dear Sander,
    this is always the case if you arrange the ADS connection.
    You have to set up the RFC connection 'ADS' in ABAP side and this connection/destination is client independent. So you can use this from all clients of your abap system.
    On Java side you have to arrange the already mentioned FP_ICF_DATA_<SID> destination. On the ABAP system and client (you specify in this destination) you have to maintain the user ADS_AGENT and your templates should also exist on this client. If there is no client defined, the default client will be used.
    Regards
    Istvan

Maybe you are looking for

  • Assigning Header Row and Column

    I've imported a couple of very large spreadsheets from Excel. Can I assign the first row and columns as headers or do I need to click on the "Add top row for column names" or the corresponding row names button and then cut and paste my existing first

  • Is NI-DAQ 5.0 compatible with Windows XP Pro?

    I am using NI-DAQ version 5.0. Can I use it under Windows XP Profressional?

  • Need help with Loop Statements!!!

    Hi im a student just starting to learn Java. I have an assignment but am stuck on the folowing question: "Describe the operation of the 'for' loop Flow Control statement explaining the function of the initialisation, conditional and iteration parts.

  • HT4260 Is there an airport utility 6.0 tutorial?

    Just neede to see if there is a 6.0 tutorial for this setup, thanks!

  • Attachments into e mails

    how to avoid embedding attachments into e mails - having to ask again as I lost the original thread