Number of SNP tables created during master and work repository creation

Hi All,
I would like to know how many SNP tables are created during Master and work repository creation in
10.1.3.5 v as I remember it was around 147 in earlier version .
Any help will be appreciated
regards,
Palash Chatterjee

Hi Palash ,
ODI master repository have 58 SNP tables
where as work repository have 88 SNP tables
So in total 146 SNP tables are created during Master and work repository creation in
10.1.3.5 .
Thanks,
Sutirtha

Similar Messages

  • How to create a new master and working repository

    We have a working env - with master and working repositories .
    we have solution for this env .
    I want ti create a new environment for a new version - and to create new master and working repository from the old environment .
    I tried several options but with no success .
    Please help me to understand how can this be done ?
    Thanks
    Tamar

    What options have you tried with no success ?
    Do you want to selectively release / migrate code from one env to the new one or will a clone of the working environment be sufficient? If you clone - you wont be able to selectively move updates across.

  • Master and work repository  grouping

    Hi , what is the most efficient and industry standard model of grouping master and work respository.
    . is it good to group master and related work for every technology like DB2 , SQl server etc ?
    or
    is it good to group master and related work repository depending on the project where we can have different technologies grouped in single work repository and multiple work repository for different technologies. ?
    Please share with me with your company standard or views on my above question.
    Thanks
    Dev

    As far as I know it is not recommended solution to create both master and work repositories in one Oracle schema, better create them as separate schemas.

  • Master and work Repository

    Hi,
    Can we create Master and work repository in one oracle schema.
    And can we create work2 respository in oracle schema2.
    Do we find any issues later.
    Please advice

    As far as I know it is not recommended solution to create both master and work repositories in one Oracle schema, better create them as separate schemas.

  • ODI objects import in new Master and Work Repository

    Hi,
    I have created a new master and work repository.
    Now,I need to import rest of the ODI objects which are associated with different Master and Work Repository.
    How do i proceed. I need a proper sequence to import the ODI objects.
    I mean topology,projects,model how to initiate.
    Thanks.

    Hi,
    Is it essential to create a new master and work repository and import the master and work repository xml files.
    Or if we just click on import master repository and give the connection details of where we want it will also work without creating it.
    when I click on new in ODI tool, it shows two options create master repository and import master repository.
    In my case which option should I go for?
    I just need to create development env on new server by importing all the required xml files on my local machine.
    Please guide...
    Thanks.

  • Installing RCU 11.1.1.6 Getting error Unknown Master and Work Repository

    Hi All,
    While installing RCU 11.1.1.6 I am getting error "unknown Master and Work Repository"
    could any one please tell me the solution for this
    Thanks
    Kumar

    make sure you have selected right option under 'select component'.
    If you want only OIM.
    click on (+) sign of Identity Management and then tick the Oracle Identity Manager option.

  • Minimum things required to take master and work repository backup.

    how to backup the master and work repository?

    Hi,
    In 11g, under topology you can click the top-right icon and select export. You'll be able to export the master and the work repositories.
    You can also use OdiExportMaster and OdiExportWork tools in a package/procedure/bash script to schedule a daily backup.
    A last alternative is to backup the database schema(s) containing your master/work reps.
    Hope it helps,
    JeromeFr

  • ODI  Master and Work Repository schema deleted

    Hi,
    I found that the ODI  Master and Work Repository schema were deleted by someone, I want to know if there is a way to detect and find who committed the deletion.
    I will appreciate any idea to help me .
    Thanks.

    Hi, Your left with trying to track the schema deletion at the database level im afraid, without a Master Repos you dont have an ODI Environment so there is nowhere to look.
    If someone 'Detached' a work schema - you might be able to track this from a Master repos but if as you say they have been deleted / dropped then I might check th DB alert log but I dont think it will be registered unless you have Auditing enabled in the DB.
    Last solution would be to use something like logminer to read the DDL from the database logs, see if you can spot the drop that way.
    Rgrds
    Alastair

  • Importing Master Repository and Work Repository

    Hi,
    I need to Import the existing Master and Work repository(XML file) of Production Server on my client ODI.
    How should I work around this.
    Do I need to create a master repository and then import that file.
    Provide a stepwise solution for it.
    What else will be required to import to create the same environment?
    Thanks.

    Hey even if I change the physical server, how it will build all the source and target tables used in server's schema into my schema.
    The thing is I want to replicate the task done on server machine.
    I have all the ODI objects but from where I can manage the database objects from server to my machine.

  • Master and work rep in same schema

    Hi
    What happens when master and work repository are in the same schema. I did all my development only to realize master and work are in the same schema..
    Its working in now.. What happens when I migrate to different environment
    -app

    Do you need to have a development work repository at Test environment?
    That add the risk of something be changed at test and not at the real development....
    Any way, for what you need, you can:
    1) export the work repository
    2) create a new repository from topology in a new database schema
    3) import (from step 1) into this new created repository.
    That will separate.

  • Export and Imoprting Master and Work Repositories:ODI11g

    Hi All,
    I have exported our development master and work repositories from ODI as zip files.
    IDs of Development master and work Repos are 1 and 2 respectively.
    We are NOT using common Master repository across environments,
    In test Environment DB I have created 2 schema for testing master and work repository.
    While importing the master repository FIRST time in to testing ,I followed this :File->New->Master Repository Import wizard.I gave new ID 22 for master repository for testing and proceeded and it has gone through and i am able to see all topology details.
    1)How to import work repository into testing work repository,when i connected with master repository of testing, the designer window is disabled.
    Should i create new work repository manually with same ID as of DEV or with different ID and then import into the work repository?
    Whats the impact if i am going to create work repository with same ID or different ID?
    Please Help me,
    Thanks,
    Kumbar

    Hi Sutirtha,
    thanks for your repply,
    I have created master repository with ID 22 in Test Env, and created testing WORK repository WORKREP11TEST with ID 23 in this master repository and connected with WORKREP11TEST, while importing Dev work repository WORKREPO which has ID 2 into WORKREP11TEST, i am getting a pop up window saying that
    "The work repository 2 is not declared in this master repository ,would you like to declare it?If you refuse, the current import will be cancelled"
    what is this actually, i click OK and went ahead, is any impact of this
    after importing ,i have re-checked the ID of WORKREP11TEST which shows 23 , this seems to be correct i guess,
    please clear me this,
    Thanks,
    Kumbar

  • How to configure to run SNP that creates only PReq and Stock Transfer only?

    Hi all,
    I am very new to SCM.
    Please help me on the scenario like this:
    -There are 3 Distribution Centers (DC): 2400, 2500, 3800 and a Vendor: 1003.
    -Each DC can take products from otherDC. But only DC 2400 can directly send purchase requisition to Vendor  1003 when no stock at all DCs.
    -There is a Forecast released from Demand Planning to SNP, that is 1000 products at Distribution Center 2400.
    -I will run SNP Heuristic (or Capabable to Match or Optimization) to cover this demand.
    -Usually, SNP can create: Purchase Requisition, Stock transfer Requistion, and Planned Order.
                         But I only want the SNP to create Purchase Requisition and Stock Stransfer only.
    The question are:
    1.In which situations (tock situation,u2026) the system can create Requisition and Stock Stransfer only ?
    2.I need create a new Supply Chain  Model (Model) and a new Planning Version from scratch. How can I configure the system (Transportation lanes, Product Master Data, Procurement type in product masteru2026) and make it run to satisfy this scenario?
    3.Do I need setting differently for each SNP method ( Heuristic, Capable to Match, Optimization)?
    Thanks very much for your support.
    XuanDuyen

    Dear Mr. Aparna,
    Thanks for your quick reply.
    Now I haved created a model like the scenario with product T-F204 and can run. ( I do not use vendor 1003. I created the Plant 1000 instead). But as you said, when I run with SNP Heuristic method (Network level), the system alert:
      u201C Error exist in Locationsu2019 processing sequence for product T-F204u201D
    However, I search internet and found a book about CTM. It also discuss about this and the solution as below:
    u201CRecursive Replenishment
    When using complex supply chains, with many locations and various directional
    supply routes, it can be easy to confuse a level-by-level planning tool. In certain
    situations, recursive planning can occur. Recursiveness, is when the planning
    algorithm is thrown into a loop (circular replenishment). Location 1000 can ship
    to location 2400, and location 2400 can ship to location 1000. Situations such as
    this can cause the CTM engine to terminate since it cannot find a starting point.
     The solution: Reduce to number of muximum consecutive transport order chains.
    Within the CTMProfile, Settingsu2192Master Data Settings tab, planners can control
    the sources of supply for External Procurement. With the parameter Maximum
    Number of Consecutive Stock Transfers, you determine how many consecutive
    stock transfers CTM planning can create. This value does not restrict the total
    number of stock transfers for a demand. If you enter a value here, you can prevent
    the system from transporting the receipts for a demand over several locations due
    to the procurement priority. Also, you must have modeled the master data in such
    a way that a direct stock transfer is possible if the system ignores the procurement
    priority. If a direct stock transfer is not possible, CTM cannot fulfill the demand.u201D
    Currently, our system runs only with Heuristic. It could not run CTM and Optimization so I could not check.
    My questions are:
    1.     Is the solution of the book can apply for my bi-direction transportation lanes requirement?
    2.     If it is true, with my scenario, what is the best u201CMaximum Number of Consecutive Stock Transfersu201D I can set?
    3.     How can I model u201Cthe master data in such a way that a direct stock transfer is possible if the system ignores the procurement priorityu201D?
    Please follow the link to download the book (and view page 107 of book (page 117 of Acrobat Reader) as bellow if you want:
    http://www.mediafire.com/?9clag9op3lm0iv9
    Thanks very much for your help!
    Xuanduyen

  • 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>

  • Should Master Repository and Work Repository be of same Technology??

    Hi Experts,
    Is it mandatory to have Master Repository and Work Repository to be in same Database???
    I have created My Master Repository in Oracle and My Work Repository is in MSSQL.
    I am facing some issue while creating Physical Schema.
    Is it because of different technology for master repository or work repository??
    Please let me know how to debug as it is urgent.
    Thanks and Regards,
    Andy

    Hi Andy,
    Once there is no "physical" link between the repositories (like a FK for instance) there is no problemn to have distinct technologies.
    I already done projects in this way. What are the issues that you are facing?

  • Internal number not showing while creating customer master record

    Dear All.
    After creation of account group and doing patner determination procedure, while creating customer master record it is showing all the 4 functions of partner in partner function tab page but the internal number is  not displaying. I have set number range internally.
    Thanks..
    CG Balaji

    > Dear All.
    >
    > After creation of account group and doing patner
    > determination procedure, while creating customer
    > master record it is showing all the 4 functions of
    > partner in partner function tab page but the internal
    > number is  not displaying. I have set number range
    > internally.
    >
    > Thanks..
    >
    > CG Balaji
    Hi,
    In your partner determination procedure for Customer master, apart from assigning a Pratner proc to your A/c grp, you also need to maintain the combination of your a/c group with the partner functions that you have in your procedure.
    On the left side panel, you have a link (i think 5th) saying Account group - Function assignment. In this, maintian the partner functions that you want to your a/c grp.
    This will allow taking INTERNAL numbers during customer creation.
    Thanks and reward points if useful

Maybe you are looking for

  • Artifacts in display with PSE-13

    Downloaded and installed PSE 13. In the photo editor I am getting artifacts when layers are created and when I use the Navigator to show different sections of the photo. In navigator this shows up as red lines as above. In the main display the lines

  • Retrieve iPhoto 08 book file

    I was just about done creating a 20 page book, when my system crashed. Is there anyway to retrieve what I'd done, or do I have to start from scratch?

  • Https blocked in all browsers

    I just wiped my computer, and installed Mountain Lion 10.8.2. Https is blocked on all the browsers (Chrome, Firefox and Safari). When I go to a site, it tells me the certficate can't be authenticated, so I make an exception, but the site it self is s

  • BAPI or FM for VAP1

    Does anyone know a BAPI or an FM which has the same functionality as VAP1? Thx in advance!

  • Error building using Coverity Prevent and Sun Studio 11

    We recently started using a static code-checking tool called Coverity Prevent. When we first started using it, we were on a very old verison of the Forte Compiler (Forte 6 update 2). Builds completed fine through Prevent. In the last month, we've upg