Study flow for abap

Hello,
i have been learning abap for almost 2 months now and I have been doing a lot of in book tutorials. I was wondering are if there were any resources or study flow that needs to be followed. Like in java the persons first program is a hello world print statement , which is followed by loops , data structures, oops , etc. and also there are boat loads of practice exercises on the web . I was just wondering if such a thing or place exists on the web for abap. As I am planning to write the taw10 certification , I just wanted to make sure I  well equipped for the exam and future interviews .
THanks,
venkata

Hi Venkata,
As same as every language, ABAP also have the flow of learning from basic to advance. If you are studying for the certification, I hope you should have four different books in the following order.
SAP/ABAP Basics
ABAP Workbench Fundamentals
Introduction to Dictionary
Data Objects in ABAP Dictionary
Performance when accessing Tables
Input Checks
Object Dependencies
Changing Tables
Views and Maintenance Dialogs
Search Help
Introduction to Screen Programming
Program Interface
Screen Elements for Input/Output
Screen Elements: Subscreen and Tabstrip Controls
OOABAP/ABAP Objects and Application Area
Introduction to Object Oriented Programming
Object Oriented concepts and Programming Techniques
Object Oriented Repository Objects
Exception Handling
Shared Objects
Dynamic Programming
ABAP Objects and Application Area
Changing SAP Standard System
Enhancing Dictionary Elements
Enhancing using Customer Exit
Business Add-Ins
Modifications
Enhancements
Webdynpro - Introduction
Webdynpro - Controllers
User Interface
Controller and Context Programming
Regards
Rajkumar Narasimman

Similar Messages

  • Latest study material for ABAP certification exam code C_TAW12_04

    Hi All,
    Please provide latest study material for ABAP certification-C_TAW12_04 exam. They have changed the syllabus and exam pattern this year. Please provide the information about it.

    Hi All,
    Please provide the required material.

  • Regarding studying for ABAP HANA

    Hello Gurus,
         I have been working as a ABAP SRM techno-Functional Consultant for 5 years. Now I feel like to switch into something new and increase my knowledge. Can someone help me regarding learning of HANA for ABAP. Also can SAP HANA somehow be used in SRM. Will HANA provide me something more towards my carrier.
    Thanks
    Gaurav Gautam

    Hey Jasmin,
         I loved your last line
    Confucius: “You cannot open a book without learning something.” 
    And thanks for this guidance.
    Also would like to share , I found few video tutorial, might help someone
    Video Tutorials about ABAP for SAP HANA
    And I will look forward to learn HANA. And as you mentioned
    yes, yes, and yes .
    an inspiring line with yes ++. we do have application logics but based on business requirement so I can't say on that.But it will surely help me a lot.
    BR
    // Gaurav Gautam

  • Practice exercises for ABAP

    Hello,
    i have been learning abap for almost 2 months now and I have been doing a lot of in book tutorials. I was wondering are if there were any resources or study flow that needs to be followed. Like in java the persons first program is a hello world print statement , which is followed by loops , data structures, oops , etc. and also there are boat loads of practice exercises on the web . I was just wondering if such a thing or place exists on the web for abap. As I am planning to write the taw10 certification , I just wanted to make sure I  well equipped for the exam and future interviews .
    THanks,
    venkata

    Hi Venkata,
    Getting Started with ABAP Application Development as mentioned above is a good place to begin the ABAP.
    You can visit my web-site for some basic help on step by step tutorials with screenshots on specific ABAP topics. It also have separate Question and Answers and Downloads section as you wanted.

  • Using the Execute Preloaded Option for ABAP Dataflows in SAP BODS

    Hello All,
    This is regarding the use of Advanced Option in SAP Application Type (ECC) Datastore settings in SAP BODS 4.2, where there are two options to select from for ABAP Execution Option property: (1)Generate and Execute and (2) Execute Preloaded. Since our ECC client is often locked by BASIS team even on DEV environment, we would like to make use of the second option 'Execute Preloaded' so that we could extract the data from ECC tables without having to ask the BASIS team to unlock the ECC client every time before extraction.
    The problem is that we are getting an error upon generating and uploading the ABAP program to ECC client. I have searched the blogs and so far I have only found that there are certain ABAP programs or function modules that come with SAP BODS which need to be installed by BASIS team on ECC side to allow the ABAP dataflows to be generated and uploaded to ECC server. I would appreciate it if anyone could provide a list of which function modules BASIS needs to install on ECC or a blog that provides details around using this option.
    So far, from the SAP BODS designer, we are performing below steps but getting an error upon generating and uploading the ABAP dataflow program:
    1. Create a test ABAP Dataflow using SAP ECC datastore. Provide the ABAP program options.
    2. Right click, select Generate ABAP Program.
    3. Once the ABAP Program Generation Dialog box appears, check the box "Upload Generated Program".
    4. Upon clicking OK, we are getting the following error:
    The ABAP program <ZRTEST01> for ABAP data flow <RT_TEST_R3> (datastore <R3_DS>) was not uploaded: < RFC CallReceive error <Function /BODS/RFC_ABAP_INSTALL_AND_RUN: RFC_ABAP_MESSAGE- Exception condition "NOT_SUPPORTED_BY_GUI" trigger[SAP NWRFC 720][SAP Partner ### ][clientname][servername][accountname][4103]>. >.
    Any help would be greatly appreciated.
    Thanks,
    Rizwan

    All,
    The BASIS team reviewed steps provided in the BODS document and attempted to install the Function Modules but now none of the BODS jobs would work. All BODS jobs are being terminted with the Syntax Error error when extracting data from ECC using ABAP dataflows:
    17740 16404 R3C-150412 06/17/2014 9:38:46 AM |Data flow RT_DF_TEST_PC207
    17740 16404 R3C-150412 06/17/2014 9:38:46 AM RFC CallReceive error <Function /BODS/RFC_ABAP_INSTALL_AND_RUN: RFC_ABAP_RUNTIME_FAILURE-(Exception_Key: SYNTAX_ERROR)- Syntax
    17740 16404 R3C-150412 06/17/2014 9:38:46 AM error in program /BODS/SAPLBODS                          .[SAP NWRFC 720][SAP Partner 740 ][DEV1][Server][account][4103]>.
    22052 20572 R3C-150412 06/17/2014 9:38:46 AM |Data flow RT_DF_TEST_PC207
    22052 20572 R3C-150412 06/17/2014 9:38:46 AM RFC CallReceive error <Function /BODS/RFC_ABAP_INSTALL_AND_RUN: RFC_ABAP_RUNTIME_FAILURE-(Exception_Key: SYNTAX_ERROR)- Syntax
    22052 20572 R3C-150412 06/17/2014 9:38:46 AM error in program /BODS/SAPLBODS                          .[SAP NWRFC 720][SAP Partner 740 ][DEV1][Server][account][4103]>.

  • How can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.

    how can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.?
    please explain the important questions.

    How to deal with table control / step loop in BDC
    Steploop and table contol is inevitable in certain transactions. When we run BDC for such transactions, we will face the situation: how many visible lines of steploop/tablecontrol are on the screen? Although we can always find certain method to deal with it, such as function code 'NP', 'POPO', considering some extreme situation: there is only one line visible one the screen, our BDC program should display an error message. (See transaction 'ME21', we you resize your screen to let only one row visible, you can not enter mutiple lines on this screen even you use 'NP')
    Now with the help of Poonam on sapfans.com developement forum, I find a method with which we can determine the number of visible lines on Transaction Screen from our Calling BDC program. Maybe it is useless to you, but I think it will give your some idea.
    Demo ABAP code has two purposes:
    1. how to determine number of visible lines and how to calculte page number;
    (the 'calpage' routine has been modify to meet general purpose usage)
    2. using field symbol in BDC program, please pay special attention to the difference in Static ASSIGN and Dynamic ASSIGN.
    Now I begin to describe the step to implement my method:
    (I use transaction 'ME21', screen 121 for sample,
    the method using is Call Transation Using..)
    Step1: go to screen painter to display the screen 121, then we can count the fixed line on this screen, there is 7 lines above the steploop and 2 lines below the steploop, so there are total 9 fixed lines on this screen. This means except these 9 lines, all the other line is for step loop. Then have a look at steploop itselp, one entry of it will occupy two lines.
    (Be careful, for table control, the head and the bottom scroll bar will possess another two fixed lines, and there is a maximum number for table line)
    Now we have : FixedLine = 9
                  LoopLine  = 2(for table control, LoopLine is always equal to 1)
    Step2: go to transaction itself(ME21) to see how it roll page, in ME21, the first line of new page is always occupied by the last line of last page, so it begin with index '02', but in some other case, fisrt line is empty and ready for input.
    Now we have: FirstLine = 0
              or FirstLine = 1 ( in our case, FirstLine is 1 because the first line of new page is fulfilled)
    Step3: write a subroutine calcalculating number of pages
    (here, the name of actual parameter is the same as formal parameter)
    global data:    FixedLine type i, " number of fixed line on a certain screen
                    LoopLine  type i, " the number of lines occupied by one steploop item
                    FirstLine type i, " possbile value 0 or 1, 0 stand for the first line of new                                                               " scrolling screen is empty, otherwise is 1
                    Dataline  type i, " number of items you will use in BDC, using DESCRIBE to get
                    pageno    type i, " you need to scroll screen how many times.
                    line      type i, " number of lines appears on the screen.
                    index(2)  type N, " the screen index for certain item
                    begin     type i, " from parameter of loop
                    end       type i. " to parameter of loop
    *in code sample, the DataTable-linindex stands for the table index number of this line
    form calpage using FixedLine type i (see step 1)
                       LoopLine  type i (see step 1)
                       FirstLine type i (see step 2)
                       DataLine  type i ( this is the item number you will enter in transaction)
              changing pageno    type i (return the number of page, depends on run-time visible                                                                             line in table control/ Step Loop)
              changing line      type i.(visible lines one the screen)
    data: midd type i,
          vline type i, "visible lines
    if DataLine eq 0.
       Message eXXX.
    endif.
    vline = ( sy-srows - FixedLine ) div LoopLine.
    *for table control, you should compare vline with maximum line of
    *table control, then take the small one that is min(vline, maximum)
    *here only illustrate step loop
    if FirstLine eq 0.
            pageno = DataLine div vline.
            if pageno eq 0.
               pageno = pageno + 1.
            endif.
    elseif FirstLine eq 1.
            pageno = ( DataLine - 1 ) div ( vline - 1 ) + 1.
            midd = ( DataLine - 1 ) mod ( vline - 1).
            if midd = 0 and DataLine gt 1.
                    pageno = pageno - 1.
            endif.
    endif.
    line = vline.
    endform.
    Step4 write a subroutine to calculate the line index for each item.
    form calindex using Line type i (visible lines on the screen)
                        FirstLine type i(see step 2)
                        LineIndex type i(item index)
              changing  Index type n.    (index on the screen)
      if  FirstLine = 0.
            index = LineIndex mod Line.
            if index = '00'.
                    index = Line.
            endif.
      elseif FirstLine = 1.
            index = LineIndex mod ( Line - 1 ).
            if ( index between 1 and 0 ) and LineIndex gt 1.
                    index = index + Line - 1.
            endif.
            if Line = 2.
                    index = index + Line - 1.
            endif.
    endif.
    endform.
    Step5 write a subroutine to calculate the loop range.
    form calrange using Line type i ( visible lines on the screen)
                        DataLine type i
                        FirstLine type i
                        loopindex like sy-index
            changing    begin type i
                        end type i.
    If FirstLine = 0.
       if loopindex = 1.
            begin = 1.
            if DataLine <= Line.
                    end = DataLine.
            else.
                    end = Line.
            endif.
       elseif loopindex gt 1.
            begin = Line * ( loopindex - 1 ) + 1.
            end   = Line * loopindex.
            if end gt DataLine.
               end = DataLine.
            endif.
       endif.
    elseif FirstLine = 1.
      if loopindex = 1.
            begin = 1.
            if DataLine <= Line.
                    end = DataLine.
            else.
                    end = Line.
            endif.
      elseif loop index gt 1.
            begin = ( Line - 1 ) * ( loopindex - 1 ) + 2.
            end =   ( Line - 1 ) * ( loopindex - 1 ) + Line.
            if end gt DataLine.
                    end = DataLine.
            endif.
      endif.
    endif.
    endform.
    Step6 using field sysbol in your BDC, for example: in ME21, but you should calculate each item will correponding to which index in steploop/Table Control
    form creat_bdc.
    field-symbols: <material>, <quan>, <indicator>.
    data: name1(14) value 'EKPO-EMATN(XX)',
          name2(14) value 'EKPO-MENGE(XX)',
          name3(15) value 'RM06E-SELKZ(XX)'.
    assign:         name1 to <material>,
                    name2 to <quan>,
                    name3 to <indicator>.
    do pageno times.
    if sy-index gt 1
    *insert scroll page ok_code"
    endif.
            perform calrange using Line DataLine FirstLine sy-index
                             changing begin end.
    loop at DataTable from begin to end.
            perform calindex using Line FirstLine DataTable-LineIndex changing Index.
            name1+11(2) = Index.
            name2+11(2) = Index.
            name3+12(2) = Index.
            perform bdcfield using <material> DataTable-matnr.
            perform bdcfield using <quan>     DataTable-menge.
            perform bdcfield using <indicator> DataTable-indicator.
    endloop.
    enddo.
    An example abap program of handling Table Control during bdc programming.
    REPORT zmm_bdcp_purchaseorderkb02
           NO STANDARD PAGE HEADING LINE-SIZE 255.
                    Declaring internal tables                            *
    *-----Declaring line structure
    DATA : BEGIN OF it_dummy OCCURS 0,
             dummy(255) TYPE c,
           END OF it_dummy.
    *-----Internal table for line items
    DATA :  BEGIN OF it_idata OCCURS 0,
              ematn(18),      "Material Number.
              menge(13),      "Qyantity.
              netpr(11),      "Net Price.
              werks(4),       "Plant.
              ebelp(5),       "Item Number.
            END OF it_idata.
    *-----Deep structure for header data and line items
    DATA  :  BEGIN OF it_me21 OCCURS 0,
               lifnr(10),      "Vendor A/c No.
               bsart(4),       "A/c Type.
               bedat(8),       "Date of creation of PO.
               ekorg(4),       "Purchasing Organisation.
               ekgrp(3),       "Purchasing Group.
               x_data LIKE TABLE OF it_idata,
             END OF it_me21.
    DATA  :  x_idata LIKE LINE OF it_idata.
    DATA  :  v_delimit VALUE ','.
    DATA  :  v_indx(3) TYPE n.
    DATA  :  v_fnam(30) TYPE c.
    DATA  :  v_count TYPE n.
    DATA  :  v_ne TYPE i.
    DATA  :  v_ns TYPE i.
    *include bdcrecx1.
    INCLUDE zmm_incl_purchaseorderkb01.
                    Search help for file                                 *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
        IMPORTING
          file_name     = p_file.
    START-OF-SELECTION.
           To upload the data into line structure                        *
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          filename = p_file
          filetype = 'DAT'
        TABLES
          data_tab = it_dummy.
        Processing the data from line structure to internal tables       *
      REFRESH:it_me21.
      CLEAR  :it_me21.
      LOOP AT it_dummy.
        IF it_dummy-dummy+0(01) = 'H'.
          v_indx = v_indx + 1.
          CLEAR   it_idata.
          REFRESH it_idata.
          CLEAR   it_me21-x_data.
          REFRESH it_me21-x_data.
          SHIFT it_dummy.
          SPLIT it_dummy AT v_delimit INTO it_me21-lifnr
                                           it_me21-bsart
                                           it_me21-bedat
                                           it_me21-ekorg
                                           it_me21-ekgrp.
          APPEND it_me21.
        ELSEIF it_dummy-dummy+0(01) = 'L'.
          SHIFT it_dummy.
          SPLIT it_dummy AT v_delimit INTO it_idata-ematn
                                           it_idata-menge
                                           it_idata-netpr
                                           it_idata-werks
                                           it_idata-ebelp.
          APPEND it_idata TO it_me21-x_data.
          MODIFY it_me21 INDEX v_indx.
        ENDIF.
      ENDLOOP.
                    To open the group                                    *
      PERFORM open_group.
            To populate the bdcdata table for header data                *
      LOOP AT it_me21.
        v_count = v_count + 1.
        REFRESH it_bdcdata.
        PERFORM subr_bdc_table USING:   'X' 'SAPMM06E'    '0100',
                                        ' ' 'BDC_CURSOR'  'EKKO-LIFNR',
                                        ' ' 'BDC_OKCODE'  '/00',
                                        ' ' 'EKKO-LIFNR'  it_me21-lifnr,
                                        ' ' 'RM06E-BSART' it_me21-bsart,
                                        ' ' 'RM06E-BEDAT' it_me21-bedat,
                                        ' ' 'EKKO-EKORG'  it_me21-ekorg,
                                        ' ' 'EKKO-EKGRP'  it_me21-ekgrp,
                                        ' ' 'RM06E-LPEIN' 'T'.
        PERFORM subr_bdc_table USING:   'X' 'SAPMM06E'    '0120',
                                        ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                        ' ' 'BDC_OKCODE'  '/00'.
        MOVE 1 TO v_indx.
    *-----To populate the bdcdata table for line item data
        LOOP AT it_me21-x_data INTO x_idata.
          CONCATENATE 'EKPO-EMATN(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-ematn.
          CONCATENATE 'EKPO-MENGE(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-menge.
          CONCATENATE 'EKPO-NETPR(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-netpr.
          CONCATENATE 'EKPO-WERKS(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-werks.
          v_indx = v_indx + 1.
          PERFORM subr_bdc_table USING:  'X' 'SAPMM06E'    '0120',
                                         ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                         ' ' 'BDC_OKCODE'  '/00'.
        ENDLOOP.
        PERFORM subr_bdc_table USING:    'X' 'SAPMM06E'    '0120',
                                         ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                         ' ' 'BDC_OKCODE'  '=BU'.
        PERFORM bdc_transaction USING 'ME21'.
      ENDLOOP.
      PERFORM close_group.
                      End of selection event                             *
    END-OF-SELECTION.
      IF session NE 'X'.
    *-----To display the successful records
        WRITE :/10  text-001.          "Sucess records
        WRITE :/10  SY-ULINE(20).
        SKIP.
        IF it_sucess IS INITIAL.
          WRITE :/  text-002.
        ELSE.
          WRITE :/   text-008,          "Total number of Succesful records
                  35 v_ns.
          SKIP.
          WRITE:/   text-003,          "Vendor Number
                 17 text-004,          "Record number
                 30 text-005.          "Message
        ENDIF.
        LOOP AT it_sucess.
          WRITE:/4  it_sucess-lifnr,
                 17 it_sucess-tabix CENTERED,
                 30 it_sucess-sucess_rec.
        ENDLOOP.
        SKIP.
    *-----To display the erroneous records
        WRITE:/10   text-006.          "Error Records
        WRITE:/10   SY-ULINE(17).
        SKIP.
        IF it_error IS INITIAL.
          WRITE:/   text-007.          "No error records
        ELSE.
          WRITE:/   text-009,          "Total number of erroneous records
                 35 v_ne.
          SKIP.
          WRITE:/   text-003,          "Vendor Number
                 17 text-004,          "Record number
                 30 text-005.          "Message
        ENDIF.
        LOOP AT it_error.
          WRITE:/4  it_error-lifnr,
                 17 it_error-tabix CENTERED,
                 30 it_error-error_rec.
        ENDLOOP.
        REFRESH it_sucess.
        REFRESH it_error.
      ENDIF.
    CODE IN INCLUDE.
    Include           ZMM_INCL_PURCHASEORDERKB01
    DATA:   it_BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
    DATA:   it_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    DATA:   E_GROUP_OPENED.
    *-----Internal table to store sucess records
    DATA:BEGIN OF it_sucess OCCURS 0,
           msgtyp(1)   TYPE c,
           lifnr  LIKE  ekko-lifnr,
           tabix  LIKE  sy-tabix,
           sucess_rec(125),
         END OF it_sucess.
    DATA: g_mess(125) type c.
    *-----Internal table to store error records
    DATA:BEGIN OF it_error OCCURS 0,
           msgtyp(1)   TYPE c,
           lifnr  LIKE  ekko-lifnr,
           tabix  LIKE  sy-tabix,
           error_rec(125),
         END OF it_error.
           Selection screen
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS session RADIOBUTTON GROUP ctu.  "create session
    SELECTION-SCREEN COMMENT 3(20) text-s07 FOR FIELD session.
    SELECTION-SCREEN POSITION 45.
    PARAMETERS ctu RADIOBUTTON GROUP ctu.     "call transaction
    SELECTION-SCREEN COMMENT 48(20) text-s08 FOR FIELD ctu.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD group.
    SELECTION-SCREEN POSITION 25.
    PARAMETERS group(12).                      "group name of session
    SELECTION-SCREEN COMMENT 48(20) text-s05 FOR FIELD ctumode.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.
    "A: show all dynpros
    "E: show dynpro on error only
    "N: do not display dynpro
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 48(20) text-s06 FOR FIELD cupdate.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'L'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) text-s03 FOR FIELD keep.
    SELECTION-SCREEN POSITION 25.
    PARAMETERS: keep AS CHECKBOX.       "' ' = delete session if finished
    "'X' = keep   session if finished
    SELECTION-SCREEN COMMENT 48(20) text-s09 FOR FIELD e_group.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS e_group(12).             "group name of error-session
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 51(17) text-s03 FOR FIELD e_keep.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS: e_keep AS CHECKBOX.     "' ' = delete session if finished
    "'X' = keep   session if finished
    SELECTION-SCREEN END OF LINE.
    PARAMETERS:p_file LIKE rlgrap-filename.
      at selection screen                                                *
    AT SELECTION-SCREEN.
    group and user must be filled for create session
      IF SESSION = 'X' AND
         GROUP = SPACE. "OR USER = SPACE.
        MESSAGE E613(MS).
      ENDIF.
      create batchinput session                                          *
    FORM OPEN_GROUP.
      IF SESSION = 'X'.
        SKIP.
        WRITE: /(20) 'Create group'(I01), GROUP.
        SKIP.
    *----open batchinput group
        CALL FUNCTION 'BDC_OPEN_GROUP'
          EXPORTING
            CLIENT = SY-MANDT
            GROUP  = GROUP
            USER   = sy-uname.
        WRITE:/(30) 'BDC_OPEN_GROUP'(I02),
                (12) 'returncode:'(I05),
                     SY-SUBRC.
      ENDIF.
    ENDFORM.                    "OPEN_GROUP
      end batchinput session                                             *
    FORM CLOSE_GROUP.
      IF SESSION = 'X'.
    *------close batchinput group
        CALL FUNCTION 'BDC_CLOSE_GROUP'.
        WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),
                (12) 'returncode:'(I05),
                     SY-SUBRC.
      ELSE.
        IF E_GROUP_OPENED = 'X'.
          CALL FUNCTION 'BDC_CLOSE_GROUP'.
          WRITE: /.
          WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).
        ENDIF.
      ENDIF.
    ENDFORM.                    "CLOSE_GROUP
           Start new transaction according to parameters                 *
    FORM BDC_TRANSACTION USING TCODE TYPE ANY.
      DATA: L_SUBRC LIKE SY-SUBRC.
    *------batch input session
      IF SESSION = 'X'.
        CALL FUNCTION 'BDC_INSERT'
          EXPORTING
            TCODE     = TCODE
          TABLES
            DYNPROTAB = it_BDCDATA.
        WRITE: / 'BDC_INSERT'(I03),
                 TCODE,
                 'returncode:'(I05),
                 SY-SUBRC,
                 'RECORD:',
                 SY-INDEX.
      ELSE.
        REFRESH it_MESSTAB.
        CALL TRANSACTION TCODE USING it_BDCDATA
                         MODE   CTUMODE
                         UPDATE CUPDATE
                         MESSAGES INTO it_MESSTAB.
        L_SUBRC = SY-SUBRC.
        WRITE: / 'CALL_TRANSACTION',
                 TCODE,
                 'returncode:'(I05),
                 L_SUBRC,
                 'RECORD:',
                 SY-INDEX.
      ENDIF.
      Message handling for Call Transaction                              *
      perform subr_mess_hand using g_mess.
    *-----Erzeugen fehlermappe
      IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
        IF E_GROUP_OPENED = ' '.
          CALL FUNCTION 'BDC_OPEN_GROUP'
            EXPORTING
              CLIENT = SY-MANDT
              GROUP  = E_GROUP
              USER   = sy-uname
              KEEP   = E_KEEP.
          E_GROUP_OPENED = 'X'.
        ENDIF.
        CALL FUNCTION 'BDC_INSERT'
          EXPORTING
            TCODE     = TCODE
          TABLES
            DYNPROTAB = it_BDCDATA.
      ENDIF.
      REFRESH it_BDCDATA.
    ENDFORM.                    "BDC_TRANSACTION
         Form  subr_bdc_table                                            *
          text
         -->P_0220   text                                                *
         -->P_0221   text                                                *
         -->P_0222   text                                                *
    FORM subr_bdc_table  USING      VALUE(P_0220) TYPE ANY
                                    VALUE(P_0221) TYPE ANY
                                    VALUE(P_0222) TYPE ANY.
      CLEAR it_bdcdata.
      IF P_0220 = ' '.
        CLEAR it_bdcdata.
        it_bdcdata-fnam     = P_0221.
        it_bdcdata-fval     = P_0222.
        APPEND it_bdcdata.
      ELSE.
        it_bdcdata-dynbegin = P_0220.
        it_bdcdata-program  = P_0221.
        it_bdcdata-dynpro   = P_0222.
        APPEND it_bdcdata.
      ENDIF.
    ENDFORM.                    " subr_bdc_table
         Form  subr_mess_hand                                            *
          text                                                           *
         -->P_G_MESS  text                                               *
    FORM subr_mess_hand USING  P_G_MESS TYPE ANY.
      LOOP AT IT_MESSTAB.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            ID     = it_messtab-msgid
            LANG   = it_messtab-msgspra
            NO     = it_messtab-msgnr
            v1     = it_messtab-msgv1
            v2     = it_messtab-msgv2
          IMPORTING
            MSG    = P_G_MESS
          EXCEPTIONS
            OTHERS = 0.
        CASE it_messtab-msgtyp.
          when 'E'.
            it_error-error_rec   =  P_G_MESS.
            it_error-lifnr       =  it_me21-lifnr.
            it_error-tabix       =  v_count.
            APPEND IT_ERROR.
          when 'S'.
            it_sucess-sucess_rec =  P_G_MESS.
            it_sucess-lifnr      =  it_me21-lifnr.
            it_sucess-tabix      =  v_count.
            APPEND IT_SUCESS.
        endcase.
      ENDLOOP.
      Describe table it_sucess lines v_ns.
      Describe table it_error  lines v_ne.
    ENDFORM.                    " subr_mess_hand
    Also refer
    http://sap.ittoolbox.com/groups/technical-functional/sap-dev/bdc-table-control-668404
    and
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    Regards,
    srinivas
    <b>*reward for useful answers*</b>

  • Do we need to be in unicode to use webdynpro for abap in ECC6 ?

    Hello,
    we study migration to SAPR3 46C SR2 to ECC6.
    a question is: Do we need to be in unicode to use webdynpro for abap in ECC6 ?
    Our SAPR3 are in non unicode
    thanks

    The problem, if you backend system is not unicode, can be, that user with the browser accessing the Webdynpro page, can enter data of any codepage (because browser is Unicode), the data will then be stored with a wrong codepage in the system and will be destroyed.
    Additionally all successor versions of ERP will be Unicode only.
    And on top of that, if you plan to use Java components (such as a portal), the backend must be Unicode (see Note 975768 - Deprecation of Java features with non-Unicode Backend).
    Markus

  • Detail business flow for sd and mm

    any body have the business flow for the sd and mm . please give me the link............if other modules also these ple pass the link ......

    link: [http://www.sap-basis-abap.com/sd/sap-sd-processing-flow.htm]
    link: [http://www.sap-basis-abap.com/mm/sap-mm-tables-link.htm]
    link: [www.sap-img.com]
    regards.
    santhosh reddy
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Jan 30, 2008 2:39 PM

  • Functional knowlwdge for abap/xi developer

    hi
    i am new to sap. I am learning abap and xi. I was asked a couple of times what are the modules you are comfortable in. please guide me where i can get the functional overview of the different modules necessary in a abap developer perspective. please send me any documents to my email at
    [email protected]
    thanking you all in anticipation eagerly waiting for help
    pavan

    Go to wwww.google.com ( search flow of SD in SAP ) flow of HR in SAP ) flow of abc module in SAP .
    Don’t mind , but it always good to search your self again first . I mean finding in google.com , and SDN .. Most of the time you’ll definitely get answer .
    Peoples asked about functional knowledge , because if you know the flows you can understand the business process and write good program and also give input . You can also see different angles of 1 view. I must say its not obligatory for ABAP`er but it always a Plus point
    Thanks and Good luck !!
    Saquib

  • Webdynpro for ABAP call non-SAP webservice

    Hi,
    We have a WAS 7.0 ABAP only, Can we use webdynpro for ABAP to call a Notes's webservice or Weblogic's webservice.
    Where can I get the document link?
    Edited by: Jeff Lien on Jan 8, 2008 10:47 AM
    Edited by: Jeff Lien on Jan 8, 2008 10:49 AM

    Hi this will help u.
    Web Dynpro ABAP  
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/db22242d-0701-0010-28a2-aeaa1fefd706
    Hope that the following also helps you.
    Web Dynpro for ABAP (WD4A, WDA) is the SAP standard UI technology for developing Web
    applications in the ABAP environment. It consists of a runtime environment and a graphical
    development environment with special Web Dynpro tools that are integrated in the ABAP
    Workbench (SE80).
    Web Dynpro offers the following advantages for application developers:
    The use of declarative and graphical tools significantly reduces the implementation
    effort
    Web Dynpro supports a structured design process
    Strict separation between layout and business data
    Reuse and better maintainability by using components
    The layout and navigation is easily changed using the Web Dynpro tools
    Stateful applications are supported – that is, if the page is changed and the required
    data remains intact so that you can access it at any time throughout the entire
    application context.
    Note that stateless applications are not possible.
    Automatic data transport using data binding
    Automatic input check
    Automatic operation of the Web Dynpro application using the keyboard
    User interface accessibility is supported
    Full integration in the reliable ABAP development environment
    Web Dynpro Architecture
    Definition
    Web Dynpro is the SAP NetWeaver programming model for user interfaces (UIs).
    The Web Dynpro model is based on the Model View Controller paradigm, and has the
    following features that build on the classic dynpro model:
    Clear separation of business logic and display logic
    Uniform metamodel for all types of user interfaces
    Execution on a number of client platforms.
    Extensive platform independence of interfaces
    Structure
    Metamodel Concept
    Web Dynpro provides support for developing Web representation of a business application.
    You use specific tools to describe the properties of a Web Dynpro application in the form of
    Web Dynpro metadata. The necessary source code is then generated automatically and
    executed at runtime. In addition to the events offered by the framework, you can also define
    your own events for a Web Dynpro application. However, the event handling must always be
    programmed in separate source code areas which are executed automatically when the event
    is triggered at runtime.
    In Web Dynpro, each user interface is always made up of the same basic elements. These
    elements of the metamodel can be statically declared using Web Dynpro tools.
    It is also possible to implement elements of the metamodel at runtime and to change them or
    reintegrate them at runtime. Using these implementations, you can make any changes or
    enhancements to a user interface that has been created by declarative methods by
    generating new interface structures at runtime.
    This means that you can combine declarative processes and the implementation of source
    code.
    Graphical Development Tools
    To support this declarative concept, both the SAP NetWeaver Developer Studio and the
    ABAP Workbench contain a range of Web Dynpro tools. You can therefore generate a large
    proportion of a Web Dynpro application using the tools provided, without having to create your
    own source code. This applies to the following parts of the application:
    Data flow between the front end and back end
    Layout of the user interface
    Properties of user interface elements
    The Web Dynpro tools enable you to create source text areas manually within generated
    source texts. These areas are not changed if the source code is regenerated.
    Separation of Business and Application Logic
    Using Web Dynpro enables a clear separation of business logic and display logic. A Web
    Dynpro application runs on the front end and has local or remote access to the back end
    system via a service. This means that the display logic is contained in the Web Dynpro
    application, while the business logic and the persistence of the business objects run in the
    back end system. The following options are currently available for connecting Web Dynpro
    applications and the back-end system:
    An interface generated using adaptive RFC, through which BAPIs of an SAP system
    can be called
    An interface for calling Web services
    A self-generated interface
    The source code required for connecting the Web Dynpro application can be generated
    from a UML definition of the Web Dynpro interface. A UML definition can be imported
    into the Web Dynpro tools as an XML file.
    Conversion of the Model-View-Controller
    Conversion of the Model-View-Controller Programming Model
    Every Web Dynpro application is structured according to the Model View Controller
    programming model:
    The model forms the interface to the back end system and thus enables the
    Web Dynpro application access to data.
    The view is responsible for the representation of the data in the browser.
    The controller lies between the view and the model. The controller formats
    the model data to be displayed in the view, processes the user entries made by the
    user, and returns them to the model.
    /people/thomas.jung/blog/2006/06/20/web-dynpro-abap-demonstration-videos
    http://help.sap.com/saphelp_nw04s/helpdata/en/77/3545415ea6f523e10000000a155106/frameset.htm
    with regards,
    Hema.
    pls give points if helpful.

  • Comparison between WebDynpro for ABAP vs. WebDynpro for Java ??

    Hi,
       Can someone tell me when should we go for WebDynpro for ABAP and when WebDynpro for Java. Is there any link where SAP recommends the one for the other.
    Thanks in advance
    Regards
    Mukesh

    Hi Mukesh,
    Both are having its own strengths!! )
    I think it all depends on your project requirement and the availabel resources.
    If the developer is good in OOPs ABAP then he must go for Web Dynpro ABAP. But if anyone is good in JAVA then that person should go for Web Dynpro JAVA.
    *In Short almost all Features supported in webdynpro ABAP are also Possible in webdynpro Java.
    1] Webdynpro Java
    Supports,
    webservice
    RFC Models
    Accessing Portal information in Java
    Easy sending E-mail
    Strictly follows MVC architecture which seperate Business logic and Process flow.
    Webdynpro Java is webbased programming model to develop SAP Applications.
    Easy to learn
    Easy to integrate in Enter prise portals.
    Dynanamic Programming
    *Easy access to R/3 Via RFC technology (Models)
    2] Web Dynpro ABAP
    As the name suggests Web Dynpro for ABAP uses exactly the same meta model as its cousin Web Dynpro for Java. A Web Dynpro component, a Web Dynpro view, a Web Dynpro model, a Web Dynpro controller have the same semantics both for ABAP and Java. The main difference is the designtime environment, the development infrastructure and the runtime environment.
    The designtime environment is properly embedded in the ABAP Workbench where Web Dynpro artifacts are simply a new category like BSP applications or classical dynpro based applications before. Also no surprises regarding the development infrastructure. The correction and transport system keeps track on all changes that are done, versions them and helps to propagate the Web Dynpro application from development to production like you would do with ordinary BSP or dynpro-based applications.
    Last not least the execution platform is the ABAP server that produces application content ready to be integrated in the NetWeaver Portal seamlessly. Features like portal eventing can be used between applications written in ABAP or applications developed with Java.
    Hope this helps and solve your Problem
    Cheers,
    Darshna.

  • FICO overveiw docs for ABAP consultants

    hi
    can any one
    send me FICO overview documents, which are very help for ABAP consultants. if any one will send it , i will get a great help from ur side, because
    i am new to the FICO, and iam not the finance background, so iam facing lot of problems
    thanks & regards
    narendra

    FI Financial Accounting
    designed for automated management and external reporting of general ledger, accounts receivable, accounts payable and other sub-ledger accounts with a user defined chart of accounts. As entries are made relating to sales production and payments journal entries are automatically posted. This connection means that the "books" are designed to reflect the real situation.
    The FI module has 8 sub modules:
    FI-GL
    General Ledger Accounting
    FI-LC
    Consolidation
    FI-AP
    Accounts Payable
    FI-AR
    Accounts Receivable
    FI-BL
    Bank Accounting
    FI-AA
    Asset Accounting
    FI-SL
    Special Purpose Ledger
    FI-FM
    Funds Management
    CO Controlling
    represents the company's flow of cost and revenue. It is a management instrument for organizational decisions. It too is automatically updated as events occur.
    The CO module has following sub modules:
    CO-OM
    Overhead Costing (Cost Centers, Activity Based Costing, Internal Order Costing)
    CO-PA
    Profitability Analysis
    CO-PC
    Product Cost Controlling
    for tables check out link..
    http://www.sapgenie.com/abap/tables_fi.htm
    Take a look at this.
    http://www.sap-img.com/sap-fi.htm
    Please chcek this link and go to SAP R/3 Enterprise Application Components ->
    Cross-Application Components -> Financial.
    http://help.sap.com/saphelp_470/helpdata/en/e1/8e51341a06084de10000009b38f83b/frameset.htm

  • Web Dynpro for ABAP: Tutorial 2 - BAPI Usage

    Hi ,
    I am new in  WD for ABAP and i trying to finish tutorials from SDN. The  Second tutorial
    "Web Dynpro for ABAP: Tutorial 2 -BAPI Usage" is giving me headache .I was following the tutorial in a letter ,
    but the table is not filled d after I hit  "search" button. Does someone had same experience and possible solution.
    Thanks
    Chris

    Actually in this application the data that is required is flowing. So I have tried making the import parameters as the controller attributes in spite of context node in the service call. Then it passes the data into the import parameters as WD_THIS->KUNNR.
    But still when I am debugging the data is not coming. What could be the issue.

  • Floor Plan Manager Technique in Web Dynpro for ABAP

    Hi Experts,
    Road map technique and Floor Plan Manager Technique, both are same or different.
    I need to develop a web dynpro application based on Floor Plan Manager Technique. can I develop this application in WebDynpro for ABAP. If so please help me how to use Floor Plan Manager Technique in Web Dynpro for ABAP.
    I don't have knowledge in java, so i cann't develop this application in web dypro for java.
    Please help me.
    Thanks & Regards
    Sridhar

    >Road map technique and Floor Plan Manager Technique, both are same or different.
    They are different. The FloorPlan Manager is a tool for constructing WD applications with a similar layout and user interface.  There are two different floor plans currently - the OIF - Object Instance Floorplan and the GAF - Guided Activity Floorplan.  The OIF is for the editing of a single business object. It allows for things like the nesting of header and item details.  The GAF, on the other hand, uses a road map to walk you through an activity - much like a Guided Procedure.  The FloorPlan Manager is very powerful because it can be configured using component and application configuration - allowing you to plug in different UI Building Blocks (UIBB) as Web Dynpro Components or Views.  You can change the roadmap, for instance, adding a new step by just chaning this configuration and not having to touch the code.  Consistency between applications is also a major stregth of the FloorPlan Manager. 
    The Road Map is just a UI element in WD.  It can be used to create your own custom applications.
    >can I develop this application in WebDynpro for ABAP
    Sure.  The Floorplan manager has been available for WDA since SPS13.  Have a look at the packages APB_FPM_DEMO and ABP_FPM_TEST for examples of how to build components designed for the FloorPlan Manager.
    Admittedly there aren't a whole lot of documents available on the subject yet. Some eLearning is being worked on now.  There are going to be some workshops at TechEd on the subject:
    https://wiki.sdn.sap.com/wiki/display/Community/BringitallTogetherwithFPM%28FloorplanManager%29forWebDynpro+ABAP
    The best thing to do right now is to study the demo applications SAP provides.

  • Home Tuition for ABAP

    Dear Gurus,
    I have been a Junior SAP SD consultant over the past year and wish to extand my knowledge in ABAP to be more independant in my work. I want to be able to create reports/ queries/ and be able to play with other functionalities.
    I can only study from home at the moment as I have limited time due to an ongoing project. I have very limited budget too as I work in one of the poorest country in Europe where salaries are very low.
    Could anyone advise me/ put me in the right direction? Does anyone know/ recommend a specific academy or training center I can contact? I am also whilst home studying, looking for one on one coaching with a tutor/ mentor.
    Your help is greatly appreciated.
    Regards
    Chris

    This is not the correct forum to post this and as said by Keshav post it in [suggestions and comments forum|SCN Support;.

Maybe you are looking for