Need to maintain "Flag" column

Hello,
I am trying to maintain a "Flag" that identifies an address as the primary. The latest updated address for each member_id should be the primary with its primary_flag=Y and all the others for the member_id set to N. I have added a small sample of the data but my table has 2.3 million rows so performance is key. The records are updated and inserted using a MERGE query into my members table from an external table and this works very well.
I am on 11gR1
After my MERGE this is what I might see:
member_id    address_id  primary_flag   last_updated
     12         232          N             1/2/2011
     12         324          Y             2/14/2011
     12         376          N             2/29/2011
     25         256          N             1/13/2011
     28         278          N             1/20/2011
     28         291          Y             1/25/2011
     30         389          Y             3/1/2011What I would like to see:
member_id    address_id  primary_flag   last_updated
     12          232          N             1/2/2011
     12          324          N             2/14/2011
     12          376          Y             2/29/2011
     25          256          Y             1/13/2011
     28          278          N             1/20/2011
     28          291          Y             1/25/2011
     30          389          Y             3/1/2011I have come up with a few 2-Pass (SQL Updates) but I would like to do it in one (It would be real nice if I could do it in the MERGE statement).
Thanks for any help!

Hi,
Thanks for posting the sample data. The results you said you wanted included only 4 columns; don't you want to set the other columns, in particular last_update_date, as well? I included all columns in the INSERT nad UPDATE; you can easily remove them if you don't want them.
This does what I think you want:
merge into
    MEMBER_ADRESS MA
    using (
     WITH     new_data     AS
        select
         NULL                    AS address_id,
            ML.MEMBER_ID,
            SUBSTRB (ML.ADDRESS_1, 1, 30)     AS address_1,
            SUBSTRB (ML.ADDRESS_2, 1, 30)     AS address_2,
            SUBSTRB (ML.CITY,         1, 25)     AS city,
            ML.STATE,
            ML.ZIP_CODE          AS zipcode,
         SYSDATE          AS creation_date,
         SYSDATE          AS last_update_date,
         NULL          AS primary_flag,
            ML.ADDITIONAL_COMPANY_INFO,
            to_number ( regexp_replace ( ML.ADDITIONAL_COMPANY_INFO     ||
                          SUBSTRB (ML.ADDRESS_1, 1, 30)     ||
                          SUBSTRB (ML.ADDRESS_2, 1, 30)     ||
                          SUBSTRB (ML.CITY,     1, 25)     ||
                          ML.STATE                ||
                          ML.ZIP_CODE
                          , '[^[:digit:]]'
                )      as MATCH_VALUE,
         NULL          AS match_cnt
        from MEMBER_LOAD_V2 ML
     ,     primary_flag_y     AS
          SELECT     o.*
          ,     COUNT ( CASE
                        WHEN  o.match_value = n.match_value
                        THEN  1
                    END
                     )  OVER ( PARTITION BY  o.member_id
                          )          AS match_cnt
          FROM     member_adress     o
          JOIN     new_data     n  ON       o.member_id     = n.member_id
          WHERE     o.primary_flag     = 'Y'
     ,     combined_data     AS
          SELECT  *
          FROM     primary_flag_y
          WHERE     match_cnt     = 0
         UNION
          SELECT     *
          FROM     new_data
     SELECT     address_id, member_id, address_1, address_2, city, state
     ,     zipcode, creation_date, last_update_date
     ,     CASE
               WHEN  ROW_NUMBER () OVER ( PARTITION BY  member_id
                                           ORDER BY        last_update_date  DESC
                               ) = 1
               THEN  'Y'
               ELSE  'N'
          END               AS primary_flag
     ,     additional_company_info, match_value
     FROM     combined_data
     ) L
on (MA.MEMBER_ID = L.MEMBER_ID and MA.MATCH_VALUE = L.MATCH_VALUE)
when matched then
update set
    MA.ADDRESS_ID          = L.ADDRESS_ID,
    MA.ADDRESS_1           = L.ADDRESS_1,
    MA.ADDRESS_2           = L.ADDRESS_2,
    MA.CITY                = L.CITY,
    MA.STATE                = L.STATE,
    MA.ZIPCODE                = L.ZIPCODE,
    MA.CREATION_DATE          = L.CREATION_DATE,
    MA.LAST_UPDATE_DATE          = L.LAST_UPDATE_DATE,
    MA.PRIMARY_FLAG           = L.PRIMARY_FLAG,
    MA.ADDITIONAL_COMPANY_INFO      = L.ADDITIONAL_COMPANY_INFO
when not matched then
insert (MA.ADDRESS_ID, MA.MEMBER_ID, MA.ADDRESS_1, MA.ADDRESS_2, MA.CITY, MA.STATE, MA.ZIPCODE,
        MA.CREATION_DATE, MA.LAST_UPDATE_DATE, MA.PRIMARY_FLAG, MA.ADDITIONAL_COMPANY_INFO)
values (
        MEMBER_CNTCT_SEQ.NEXTVAL,
        L.MEMBER_ID,
        L.ADDRESS_1,
        L.ADDRESS_2,
        L.CITY,
        L.STATE,
        L.ZIPCODE,
     L.CREATION_DATE,
     L.LAST_UPDATE_DATE,
        L.PRIMARY_FLAG,
        L.ADDITIONAL_COMPANY_INFO
        );The cruical part is that, for each member_id in the source table, it finds the row with primary_flag='Y' that's already in the table (if a row with with the same member_id and match_value isn't already in the source table), and does a UNION to include those rows, so that an existing primary_flag may get changed from 'Y' to 'N'.
It looks like the address_1, address_2 and city columns are the same length in both tables, so I don't see why you're using SUBSTR. I left it in, in case you have some reason.
You might consider a user-defined function to caluculate match_value, and use that function bioth in the definition of the virtuyal column and in the MERGE. That way, you can be sure it is being computed the same in both places, and if, in the future, you change how match_value is computed, you only need to change it in one place. Match_value looks like just the kind of thing you might refine in the future, For example, you might decide that, on the rare occassions when city or state contains digits, it suits your needs better to ignore those digits.

Similar Messages

  • Add a flag column in the Query based on Cancel date

    hi Guys,
    I have a Characterstic object 0canceldate and it gets the cancellation date of the sales order. Based on that date i need to add a column in the report like if 0canceldate has ahappened or populate then show Yes or No in the coumn like a flag.
    Can anybody help me how i can do that?

    SELECT d.NAME
          FROM
            (SELECT jta.NAME
              FROM apps.jtf_terr_values_all jtva,
              apps.jtf_terr_qual_all jtqa,
              apps.jtf_terr_all jta ,
              apps.hz_party_sites ps,
              apps.hz_locations hl
            WHERE jtva.terr_qual_id     = jtqa.terr_qual_id
            AND jtqa.terr_id            = jta.terr_id
            AND jtva.low_value_char     = hl.postal_code
            AND jtqa.org_id             = jtva.org_id
            AND jta.org_id              = jtqa.org_id
            AND ps.location_id          = hl.location_id
            AND hl.country             in( 'CA', 'US')) D;
            UNION
            SELECT jta.NAME
              FROM apps.jtf_terr_values_all jtva,
              apps.jtf_terr_qual_all jtqa,
              apps.jtf_terr_all jta,
              apps.hz_party_sites ps,
              apps.hz_locations hl
            WHERE jtva.terr_qual_id     = jtqa.terr_qual_id
            AND jtqa.terr_id            = jta.terr_id
            AND ps.location_id          = hl.location_id
            AND jtqa.org_id             = jtva.org_id
            AND jta.org_id              = jtqa.org_id
            AND hl.country              = 'US'
            AND hl.postal_code BETWEEN jtva.low_value_char AND jtva.high_value_char
            )d;

  • Decode of system FLAGS columns?

    I'm looking for a resource/writeup that can tell me what the different values in the FLAGS columns mean. Specifically I'm looking at indpart$.flags and tabpart$.flags and seg$.spare1. If I'm looking in the wrong place please let me know.
    I'm trying to write a (generic) procedure to compress partitions on tables that may or may not have already been compressed. If the table has not been compressed and it has valid bitmap indexes then any attempt to compress will fail with the following error:
    SQL Error: ORA-14646: Specified alter table operation involving compression cannot be performed in the presence of usable bitmap indexes.
    In most cases I can look at the partitions using dba_tab_partitions and check the COMPRESSION column value. However, it's possible to have that column tell you the partition is compressed (COMPRESSION = ENABLED) without the partition actually being compressed. This has been documented elsewhere and I won't go into it.
    Within my procedure I would like to proactively verify the partition(s) to see if they really are compressed. If at least one partition is compressed then there is no need to disable all the bitmap indexes at the table level. I'll disable the bitmap indexes at the table level only if it is absolutely necessary.
    Alternatively, my only other way to make this work is to try the MOVE command and if ORA-14646 is thrown then go back and disable the bitmap indexes an try again.

    Thanks Dan! I think I found some promising values. I'll have to play with them but you put me on the right track.

  • Obtaining comma-separated list of text values associated with bitwise flag column

    In the table msdb.dbo.sysjobsteps, there is a [flags] column, which is a bit array with the following possible values:
    0: Overwrite output file
    2: Append to output file
    4: Write Transact-SQL job step output to step history
    8: Write log to table (overwrite existing history)
    16: Write log to table (append to existing history)
    32: Include step output in history
    64: Create a Windows event to use as a signal for the Cmd jobstep to abort
    I want to display a comma-separated list of the text values for a row. For example, if [flags] = 12, I want to display 'Write Transact-SQL job step output to step history, Write log to table (overwrite existing history)'.
    What is the most efficient way to accomplish this?

    Here is a query that gives the pattern:
    DECLARE @val int = 43
    ;WITH numbers AS (
       SELECT power(2, n) AS exp2 FROM (VALUES(0), (1), (2), (3), (4), (5), (6)) AS n(n)
    ), list(list) AS (
       SELECT
         (SELECT CASE WHEN exp2 = 1  THEN 'First flag'
                      WHEN exp2 = 2  THEN 'Flag 2'
                      WHEN exp2 = 4  THEN 'Third flag'
                      WHEN exp2 = 8  THEN 'IV Flag'
                      WHEN exp2 = 16 THEN 'Flag #5'
                      WHEN exp2 = 32 THEN 'Another flag'
                      WHEN exp2 = 64 THEN 'My lucky flag'
                 END + ', '
          FROM   numbers
          WHERE  exp2 & @val = exp2
          ORDER BY exp2
          FOR XML PATH(''), TYPE).value('.', 'nvarchar(MAX)')
    SELECT substring(list, 1, len(list) - 1)
    FROM   list
    Here I'm creating the numbers on the fly, but it is better to have a table of numbers in your database. It can be used in many places, see here for a short discussion:
    http://www.sommarskog.se/arrays-in-sql-2005.html#numbersasconcept
    (Only read down to the next header.)
    For FOR XML PATH thing is the somewhat obscure way we create concatenated lists. There is not really any using trying to explain how it works; it just works. The one thing to keep in mind is that it adds an extra comma at the end and the final query strips
    it off.
    This query does not handle that 0 has a special meaning - that is left as an exercise to the reader.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • In smartform : in a  table i need to maintain  fixed no of rec

    .2.in smartform in a table i need to maintain  fixed no of records in each page i.e 10 records in each page and after printing 10 records page break has to occur and print them in New page , how to do this can any body help me.in each page i.e 10 records in each page and after printing 10 records page break has to occur and print them in New page , how to do this can any body help me.

    Hi,
    I dont know if there is any direct way of doing so, but ican suggest a turn around solution.
    declare 2 global tables 1. ITAB_10 type ITAB (in which there is ur data)
                                      2. IT_ROW inwhich 2 cloumn (start_pos & end_pos type i)
    Now in intialization.
    Caluculate no of rows in ITAB.
    Say there are 56 rows, then fill table it_row as 1(start_pos) - 10(end_pos), 11-20,...51-56.
    Then in main Window, Create a loop on IT_ROW.
    in that create a CODE under this loop in which fill ur ITAB_10 from ITAB as per start_pos& end_pos in IT_ROW.
    Then create TABLE under the loop, for ITAB_10.
    Regards,
    Vaibhav.

  • Table name input. and output i need  all rows and columns  using procedures

    hi,
    question: table name input. and output i need all rows and columns by using procedures.
    thanks,
    To All

    An example of using DBMS_SQL package to execute dynamic SQL (in this case to generate CSV data in a file)...
    As sys user:
    CREATE OR REPLACE DIRECTORY TEST_DIR AS '\tmp\myfiles'
    GRANT READ, WRITE ON DIRECTORY TEST_DIR TO myuser
    /As myuser:
    CREATE OR REPLACE PROCEDURE run_query(p_sql IN VARCHAR2
                                         ,p_dir IN VARCHAR2
                                         ,p_header_file IN VARCHAR2
                                         ,p_data_file IN VARCHAR2 := NULL) IS
      v_finaltxt  VARCHAR2(4000);
      v_v_val     VARCHAR2(4000);
      v_n_val     NUMBER;
      v_d_val     DATE;
      v_ret       NUMBER;
      c           NUMBER;
      d           NUMBER;
      col_cnt     INTEGER;
      f           BOOLEAN;
      rec_tab     DBMS_SQL.DESC_TAB;
      col_num     NUMBER;
      v_fh        UTL_FILE.FILE_TYPE;
      v_samefile  BOOLEAN := (NVL(p_data_file,p_header_file) = p_header_file);
    BEGIN
      c := DBMS_SQL.OPEN_CURSOR;
      DBMS_SQL.PARSE(c, p_sql, DBMS_SQL.NATIVE);
      d := DBMS_SQL.EXECUTE(c);
      DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
      FOR j in 1..col_cnt
      LOOP
        CASE rec_tab(j).col_type
          WHEN 1 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
          WHEN 2 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_n_val);
          WHEN 12 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_d_val);
        ELSE
          DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
        END CASE;
      END LOOP;
      -- This part outputs the HEADER
      v_fh := UTL_FILE.FOPEN(upper(p_dir),p_header_file,'w',32767);
      FOR j in 1..col_cnt
      LOOP
        v_finaltxt := ltrim(v_finaltxt||','||lower(rec_tab(j).col_name),',');
      END LOOP;
      --  DBMS_OUTPUT.PUT_LINE(v_finaltxt);
      UTL_FILE.PUT_LINE(v_fh, v_finaltxt);
      IF NOT v_samefile THEN
        UTL_FILE.FCLOSE(v_fh);
      END IF;
      -- This part outputs the DATA
      IF NOT v_samefile THEN
        v_fh := UTL_FILE.FOPEN(upper(p_dir),p_data_file,'w',32767);
      END IF;
      LOOP
        v_ret := DBMS_SQL.FETCH_ROWS(c);
        EXIT WHEN v_ret = 0;
        v_finaltxt := NULL;
        FOR j in 1..col_cnt
        LOOP
          CASE rec_tab(j).col_type
            WHEN 1 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_v_val);
                        v_finaltxt := ltrim(v_finaltxt||',"'||v_v_val||'"',',');
            WHEN 2 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_n_val);
                        v_finaltxt := ltrim(v_finaltxt||','||v_n_val,',');
            WHEN 12 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_d_val);
                        v_finaltxt := ltrim(v_finaltxt||','||to_char(v_d_val,'DD/MM/YYYY HH24:MI:SS'),',');
          ELSE
            v_finaltxt := ltrim(v_finaltxt||',"'||v_v_val||'"',',');
          END CASE;
        END LOOP;
      --  DBMS_OUTPUT.PUT_LINE(v_finaltxt);
        UTL_FILE.PUT_LINE(v_fh, v_finaltxt);
      END LOOP;
      UTL_FILE.FCLOSE(v_fh);
      DBMS_SQL.CLOSE_CURSOR(c);
    END;This allows for the header row and the data to be written to seperate files if required.
    e.g.
    SQL> exec run_query('select * from emp','TEST_DIR','output.txt');
    PL/SQL procedure successfully completed.Output.txt file contains:
    empno,ename,job,mgr,hiredate,sal,comm,deptno
    7369,"SMITH","CLERK",7902,17/12/1980 00:00:00,800,,20
    7499,"ALLEN","SALESMAN",7698,20/02/1981 00:00:00,1600,300,30
    7521,"WARD","SALESMAN",7698,22/02/1981 00:00:00,1250,500,30
    7566,"JONES","MANAGER",7839,02/04/1981 00:00:00,2975,,20
    7654,"MARTIN","SALESMAN",7698,28/09/1981 00:00:00,1250,1400,30
    7698,"BLAKE","MANAGER",7839,01/05/1981 00:00:00,2850,,30
    7782,"CLARK","MANAGER",7839,09/06/1981 00:00:00,2450,,10
    7788,"SCOTT","ANALYST",7566,19/04/1987 00:00:00,3000,,20
    7839,"KING","PRESIDENT",,17/11/1981 00:00:00,5000,,10
    7844,"TURNER","SALESMAN",7698,08/09/1981 00:00:00,1500,0,30
    7876,"ADAMS","CLERK",7788,23/05/1987 00:00:00,1100,,20
    7900,"JAMES","CLERK",7698,03/12/1981 00:00:00,950,,30
    7902,"FORD","ANALYST",7566,03/12/1981 00:00:00,3000,,20
    7934,"MILLER","CLERK",7782,23/01/1982 00:00:00,1300,,10The procedure allows for the header and data to go to seperate files if required. Just specifying the "header" filename will put the header and data in the one file.
    Adapt to output different datatypes and styles are required.

  • How to Use COLUMN NOPRINT - need to exclude one column from Select *

    Dear Friends,
    I need to exclude one column from a SELECT * query. Everytime the column data type is BLOB, I dont' want it to be part of my SELECT. After googling I found some info about NOPRINT but it doesn't seem to be working in my case. May be I am using it incorreclty.
    COLUMN FILE_DESC NOPRINT
    SELECT * FROM FILES;
    Where FILE_DESC is of BLOB datatype.Can I use it in my SELECT or it has to be used in Dynamic SQL? Is there any other option to achieve this?
    Thanks in advance.

    Hi,
    COLUMN FILE_DESC NOPRINT
    affects all queries in the same SQL*Plus session (unless you cancel it with a COLUMN FILE_DESC PRINT command.)  It doesn't matter if those queries are static or dynamic.  As mentioned before, COLUMN is a SQL*Plus command.  If you using a different front end, then it may have a different way to hide specific output columns.
    Did you have a poroblem when you tried it?  Post a complete test script that the people who want to help you can use to re-create the problem and test their ideas.
    See the forum FAQ: https://forums.oracle.com/message/9362002

  • In ALV  maintain  one column as color Green

    Hi ,
    In ALV  maintain  one column as color Green
    Thanks,
    Asha

    There are options in ALV grid to color whole row or cell, you want column (bad luck) so you will have to color cells.
    1-Add a field of type LVC_T_SCOL to the internal table.
    2-Fill the internal table with your application data.
    3-Loop once again at the table, add one record into the LVC_T_SCOL field, with the fieldname of the column and the color you want, update every record.
    4-In the layout of the grid, give the extra field name to subfield CTAB_FNAME.
    - Réf: Coloring Cells in ALV Grid Control (BC-SRV-ALV)
    - Sample: Program to color columns , rows and cells of an alv grid(oops)
    Regards,
    Raymond

  • Need to maintain default

    I need to maintain a default delivery block and shipping conditions for a particular sales area for a returns sales document(va01-Z31) which we use
    it should come has a default.
    i need to do the changes for existing returns document type
    to my knowledge it cannot be possible with standard(the default settings in sales doc type. will be of not useful as they apply to all sales areas and i cant maintain a new doc and assign to that sales area)
    pls let meknow your inputs
    regards
    sujan

    hI
    We have a z table we are maintaining in addition feilds to the table which is inserted in program

  • Need to Hide Few Columns In BPM worklist/workspace Inbox View

    Hi Team,
    We want to customize the default inbox view, we need to remove some exiting columns(priority,state, task number and expired) and need add some custom columns.
    We have followed the Customizing Applications in Process Workspace and the Worklist Application - 11g Release 1 (11.1.1.6.3) but did not work.
    Please help on this.
    Thank you,
    Keshav

    Keshav,
    You can acheive this its pretty easy...
    Step1:  Login to Workspace/Worklist as Administrator
    Step2:  Navigate to Admin Page by clicking on Administration link from the Global Links
    Step3:  Click on Public Flex fields/ Protected Flex fields under the Flex Feilds.
    Step 4: Once on the Public Flex Fields screen click on the green + icon to create a new  label .
    Step 5: Now it will be to map this labelwith the simple variable coming as part of the input to the task form.
    Step 6:  We can now create a custom view so that we can also see the column for the Limit Requested column in the inbox. For the same view we will also sort the tasks based on the limit amount so that the users can prioritize it. Go to the Worklist Views heading and click on the green Add icon to create a custom Inbox/View.
    Refer this: Using Flex Fields in Oracle BPM 11g | Oracle Technologies Premier.
    Hope it helps you!!!
    Cheers!!!
    Regards,
    Pavan

  • Do we need to maintain end users in Gateway system when SAP UI5 Application is deployed on Gateway?

    Hi All,
    We are developing a SAP UI5 application and we deploy our components in Gateway System as BSP application.
    The question now is:::
    We have 3 screens.We need to use our application by share point portal.
    we will be giving the respective URL's (i.e index.html) to portal team and they will be integrating it through URL iViews
    At a glance users can only see a single screen once they login to application. through portal
    This will be taken care by Portal Team.
    Do we need to maintain the end users on Gateway system  for accessing the application?
    We have SSO feature.
    Could you please let me know the possible ways?
    Thanks in Advance
    Regards,
    Satya

    Although I will not advise it, you can turn off authentication in SICF. Go to the service node for you application, and "hardcode" a service user.
    Please check if this is compatible with your license agreement, because I seriously doubt it.

  • Issue in Smartform  "need to display dynamic column or cell"

    HI,
    I need some issue with smart form " ITEM Details"
    matnr maktx menge uom
    i have defined all in the inside table so that i have selected frame ?
    now my issue is i should display only matnr maktx uom
    i don't want display Menge column  if it doesn't have vaule ( in clude cell and box also ).
    i need to display  Menge column  if it  has value .
    how to resolve the issue in smartform?
    replas ASAP.
    Thanks

    Hi,
    Kindly check the below links.. hope this will help you.
    Hide table columns in smart form?
    Hiding column in table in smartform
    Regards,
    Booma Ganesan
    Edited by: booma ganesan on Apr 28, 2010 4:05 PM

  • BTXTAXT - Why do we need to maintain this table

    Experts,
    Could anyone explain why do we need to maintain this Tabe (BTXTAXT) when a new Tax type is added.
    I haven't maintained that still taxes are calculated properly for the new tax type87.

    Hi,<br>
    It is for "Tax Category in BSI". This is not to be maintained by us ANY TIME and NEVER should be.
    The tax type already maintained in BSI and in SAP in the T5UTT table.
    This is for SAP to communicate to BSI internally.
    Good luck<br><br>
    Thanks,
    Amosha
    <br><br>"Known is a drop & unknown is an OCEAN!"

  • What is a inforecord? why do we need to maintain that?

    Hello,
    what is a inforecord? why do we need to maintain that?
    is it automatically created or manual?
    Thanks,

    Info Record is used for storing the purchasing information about a vendor and a material as the master data at purchasing organization and plant level. 
    Info Record consists of information that cannot be captured at the general vendor or material master level.  Info record allows buyers to quickly recognize which materials a specific vendor can supplier, and which vendors can supply a specified material.
    Info records are divided into General level and Purchasing Organization level.
         General level:
         Vendor Data u2013 e.g. vendor material number
         Origin data u2013 e.g. country of origin
         Order unit u2013  However, the variable order unit should be activated if there is different purchasing order unit with base unit of measure.
         General level Info Record text
         Purchasing org level
         Control data - planned delivery lead time, standard order quantity, minimum order quantity, shipping instruction, delivery tolerance
         Condition data - price conditions, price UOM, scales etc
         Last Purchase Order Number and date
         Purchasing level Info record text
    Prerequisite master data of setting up info record
    For info record of inventory item, a material master record and vendor master must exist in the system. 
    It is also possible to create info record of non-inventory item, material group and sort string key are required, and this kind of info record is used in external processing, where info record  number will be linked with a production order.
    Info record Category
    - Standard: Specifies that the info record is used in connection with standard purchase order.
    - Subcontracting: Specifies that the info record is used in connection with subcontract order (item category L).  The price should be the value added price which does not include the component value. Consignment: Specific that the info record is used in connection with consignment order (Item category K)
    - Pipeline: Specifies that the info record is used specifically for pipeline withdrawals. 
    Key fields of Info Record
    u2022     Planned Delivery time u2013 This is calendar day including transit lead time.  Note: For Info record of STO, the PDT is transit lead time only. 
    u2022     Standard QTY u2013 Standard Purchase Order QTY
    u2022     Minimum QTY u2013 Supplieru2019s minimum sales QTY
    u2022     Shipping instruction u2013 ship mode of this material from this vendor
    u2022     Confirmation Control key u2013 Indicate if a confirmation (AB) and shipping notification (LA) is expected. 
    u2022     Delivery Tolerance u2013 can be set with certain % to close PO short and allow over deliveries.
    u2022     Purchase Order Text u2013 will be copied over to purchasing document as Info record PO text
    u2022     Tax Code u2013 please do not enter tax code of affiliate info records, otherwise, it will cause error in invoice posting.
    Prashant

  • Need to maintain same data in ECC and MDM

    Hi ,
    Could you please tel me why we need to maintain same data in MDM and ECC seperately.
    Regards
    Ramya

    HI Ramyadixit,
    It is important to understand that MDM and ERP do not replace eachother rather complement each other.
    Using SAPu2019s ERP suite as the foundation technology for an MDM implementation is problematic because, despite all the positives of ERP, flexibility is usually not associated with SAP systems.
    SAP ERP doesnu2019t offer the tools to manage master data in the ways required by todayu2019s complex organizations.SAP ERP isnu2019t designed for active management of critical master data. Specifically, SAPu2019s data matching capabilities are too basic. Its search functions might be good at u201Cexact matchu201D but they are not as strong at the kind of u201Cfuzzy searchingu201D that is so important in uncovering duplicate entries with subtle differences. For the same reason, users are far more likely to create new duplicate customer records in SAP, and thereu2019s no way to create a u201Cgolden copyu201D of master data for use across multiple heterogeneous systems, or to maintain survivorship rules for overlapping data from multiple systems.
    These problems are all compounded when you have more than a single SAP instance, or different ERPs altogether, which is a very real occurrence within large corporations that have grown through mergers & acquisitions. Even without multiple ERP instances, most mid-size and larger national firms are likely to pull data from many different systems. In fact, 10 to 30 source systems is not uncommon, and heterogeneous environments are now the norm. The siloed approach to data management whereby customer-facing data is in one system, product data in another, asset data in a third, and so forth, really complicates the integration of processes, data and workflow.
    A dedicated MDM hub provides a multitude of benefits not attainable with an SAP ERP-based master data approach. First, a dedicated MDM system is just that -- dedicated to delivering the best possible manageability of your master data across the enterprise, and not just within your ERP technology stack. The focus of any high-quality, enterprise-grade MDM hub implementation is going to be on getting master data right; creating a single source of truth, with each distinct customer, product, etc. represented only once in the hub. This means you can maintain accurate, complete, timely and consistent master data through both data governance and hub technology, with robust data quality and matching capabilities.
    MDM and ERP need to coexist for instance as one solution does not replace the other. From an investment perspective, it is important to leverage existing technologies such as data quality, extract-transfer-load (ETL) and data integration tools, middleware, business process management and workflow.
    To summarise, the top five reasons not to master your data in SAP ERP are:
    1. SAP ERP isnu2019t flexible enough.
    2. Master data is different and canu2019t be proactively managed within an SAP ERP system.
    3. SAPu2019s ERP products werenu2019t designed for active management of master data.
    4. Mastering data in an ERP system is much more difficult with more than one instance or when different ERPs are used together.
    5. An MDM hub creates a workspace between an organizationu2019s transactional and analytic systems meaning they fix it once and then extend it for use in back office systems and the data warehouse.
    Hope it helps!
    Thanks,
    Ravi

Maybe you are looking for

  • How to change XML version in outbound XML file generated in XI

    Hi, I am getting following two records in the beginnning of my out bound XML file. <?xml version="1.0" encoding="utf-8" ?> <ns0:MT_WPUUMS01_Salesdata xmlns:ns0="http://ws-sapretail-pos.com/salesdata"> Is there any control in XI to modify these two li

  • Can I store and email files from my iphone? Is there an app?

    Hi, Sorry you've heard this all before. I'm new to apple discussions. I've seen apps that let you transfer files, but how do I email files from my iphone? Thanks

  • Rename attachment filename

    Hi, I have a watched folder that read a pdf file into document variable in a workflow. In the workflow, the document is copy to an attachment. The problem is that, the filename of the attachment is alway "attach0". How can i change the filename befor

  • System Crashed but all Oracle Files Saved

    Hi All, My Live System is Crashed due to some hardware Failure but Fortunately Hard Drive was Saved and all of my Oracle Data (Control, Datafile, Redo Log Files) are saved, Now I'm making a new Instance, Can anybody tell me that If I Paste my all of

  • 'ashost' is missing

    After installing MSS 60.1.5 (System = HP-UX 11.11 ORACLE 9.2.0.5. SAP EP 6.0 ON WEB AS 6.20) and trying to use the the iViews in the MyBudget workset – we are getting the following errors: 'ashost' is missing JCO Client not connected in repository ca