How to populate GR Based IV flag for Po.

Hi,
    We are using Extended Classic scenario.When the Po is getting replicated to Backend R/3.G.R based Invoice flag in Invoice Tab in Me23n is blank.One solution we think of is flagging the G.R IV flag at vendor master level in xk03 (Purchasing data view ).Is there any SPRO level configurations to attain the same.
Thanks.
Rakesh.

No. Vendor master is the way to go in both SRM and ECC. You can adjust some flags in BBP_ECS_PO_OUT_BADI, but than SRM and ECC PO will have differences.
SRM has its own mysterious ways in the way (and mostly when!) it retrieves the flags from the vendor master. If you can manage it don't touch any flags using badi's and keep those flags synchronised in SRM and ECC.
Regards,
Robin

Similar Messages

  • GR Based IV Flag for Limit Shopping carts.

    Hello,
            We are on ECS SRM 3.0,EBP 4.0.There is a requirement to populate GR based Invoice verification flag (GR Based IV flag) for a PO for any  Limit shopping carts raised.For all other shopping carts this flag should not be set.One option we can think is a condition set in the Badi which replicates the PO to backend.Are there any settings to achieve the same.
    Thanks
    Rakesh.

    Hi Rakesh,
    As Dave said the simple way is using BADI BBP_CREATE_BE_PO_NEW.
    There is a way to achive this for Limit shopping carts. Choose 'Confirmation and Invoice' as Follow-on doc in the Limit shopping cart, this will create PO with GR flag active always. But this will not solve your other requirement that all non Limit orders should create PO with no GR flag. In that case you need to use BADI again.
    It is up to you, think and decide which way is better..:)
    Thanks,
    Jagadish

  • How and where to keep deletion flag for existing BP-Prospect

    Hi CRM GURU'S
    Can anybody help me how and where to keep deletion flag for existing BP-Prospect
    how to check duplicate record while creating or maintaining a prospect
    Thanks in advance
    Chandra

    Hi Chandra,
    The Deletion flag for the BP is stored in tabl BUT000. The field is XDELE. In the table, this field has description 'Central Archiving Flag'. You cannot maintain deletion flag from the UI. THe UI only allows you to maintan the Archiving Flag. To maintain the deletion flag,you need to use transaction BUPA_PRE_DA. The selction screen in BUPA_PRE_DA is self explanatory,mark the appropriate flags and execute.
    Archiving flag and deletion flag have the same field on th e UI, but the flags have different INTERNAL STATUS.
    To Check for DUPLICATE records -
    Implement the BADI ADDRESS_SEARCH. You can refer to the SAP provided implementation SIC_ADDRESS_SEARCH also. This does the duplicate check while creating and changing BP's .
    Hope this helps!
    Cheers,
    Rishu.

  • How to populate EIPO-HERKL in VL01N for domestic shipments

    hi experts,
    i am trying to populate the field 'country of origin' (EIPO-HERKL) while creating deliveries using VL01N. the field gets populated for export shipments, but remains blank in case of domestic shipments. i tried user exit EXIT_SAPLV50E_003, but it is not getting hit for domestic shipments. kindly advise other alternatives in terms of user exits / BADIs.
    thanks and regards,
    Gurleen

    Hello, I have the same problem , how to populate EIPO-HERKL in VL01N for domestic shipments ?
    感谢您的协助和持续支持
    Thanks again for your assistance & continued support.
    Fiorenzo Di Marco

  • How to populate VO based ADF tabledynamically in Oracle 11g?

    Hi all
    Is there is any way to dynamically populate the values for the VOIterator in Oracle11g? My Requirement is something like, I have deragged the VO from the Data control to the jspx as a ADF table.Whenever page loaded the table will be populated with the values. The same way when page gets loaded user have the option to import the values from the excel sheet and need to display the imprted values on the same ADF table created based on the VO(View Object). I have the code to extract the data from the excel sheet. I just need to know how to populate those excel sheet data on the ADF table based on some VO.I Hope you got what I mean to say
    Thanks

    Hi Shay
    Thanks for your quick reply.My question is not more on how to extract the data from the excel.
    My concern is How to add the data dynamically to a VOIterator programatically in the backing bean?
    for eg:
    I have dragged a VO on to the screen as ADF Table(So whenever page get loaded the data will be displayed on the screen. This is fine )
    I want to place a button on top of my screen , and when user clicks on that specific button, in my backing bean i need to populate some data to that VOIterator and get it displayed on the same ADF table which created in above step.
    To acomplish this what should I do?
    Thanks
    Edited by: user616296 on Jan 13, 2009 3:28 PM

  • How to populate the ranges using FM for the SELECTs

    Hi,
    I am still working on the FM to create a generic extractor. I went through the debugger but I am still unable to determine how the ranges are populated. RSA3 always gives me zero values for the results.
    There is a RANGE statement in the sample FM and the following statements for SELECTs
      RANGES: L_R_CARRID  FOR SFLIGHT-CARRID,
              L_R_CONNID  FOR SFLIGHT-CONNID.
    and...
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CARRID'.
            MOVE-CORRESPONDING L_S_SELECT TO L_R_CARRID.
            APPEND L_R_CARRID.
          ENDLOOP.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CONNID'.
            MOVE-CORRESPONDING L_S_SELECT TO L_R_CONNID.
            APPEND L_R_CONNID.
          ENDLOOP.
    My question is how is L_R_CONNID and L_R_CARRID populated with low and high values for the SELECT statements? I tried to find the DS 0SAPI_SFLIGHT_SIMPLE to run and see how it is set up but there is no such DS.
    Would someone take the time to say something about this in  several sentences? I have my own code and it seems that it is not populating the values for the SELECTs when I debug from RSA3 when I provide the low and high values.
    Would I normally populate the low and high values from the InfoPackage 'Data Selection' tab once I have implemented in BW or ready to test in BW? That would mean I have to choose those fields as selections from RSO2. Anyway, I think I have asked about this but I am hoping to get an answer to get this going...
    Appreciate any replies.

    Hi
    Here is an example of an extractor that uses
    both method's, if the InfoPackage selection exist's
    it overrides the TVARV selection (which is the default).
    FUNCTION ZBW_TC_FORECAST_SO_EXTRACTOR.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SBIWA_S_INTERFACE-REQUNR
    *"     VALUE(I_DSOURCE) TYPE  SBIWA_S_INTERFACE-ISOURCE OPTIONAL
    *"     VALUE(I_CHABASNM) TYPE  SBIWA_S_INTERFACE-CHABASNM OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SBIWA_S_INTERFACE-INITFLAG OPTIONAL
    *"     VALUE(I_UPDMODE) TYPE  SBIWA_S_INTERFACE-UPDMODE OPTIONAL
    *"     VALUE(I_DATAPAKID) TYPE  SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
    *"     VALUE(I_PRIVATE_MODE) OPTIONAL
    *"     VALUE(I_CALLMODE) TYPE  ROARCHD200-CALLMODE OPTIONAL
    *"  TABLES
    *"      I_T_SELECT TYPE  SBIWA_T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SBIWA_T_FIELDS OPTIONAL
    *"      E_T_DATA STRUCTURE  ZBW_TC_FORECASTING_EXT_STR OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    *"      HIERARCHY_NOT_FOUND
    Change History                                                      *
    Mod. #  |  Date    |  Developer     |  Description                  *
    *RD3K915762|06/21/2005| SRangaraj      | Change selection of open SO   *
             |          |                | data to include deleted matls *
             |          |                | and obsolete items too        *
    RD3K915888|06/29/2005| SRANGARAJ      | Add ext matl grp and lab offce
             |          |                | filters for data-selection    *
    The input parameter I_DATAPAKID is not supported yet !
    Auxiliary Selection criteria structure
      DATA: L_S_SELECT TYPE SBIWA_S_SELECT.
    Maximum number of lines for DB table
      STATICS L_MAXSIZE TYPE SBIWA_S_INTERFACE-MAXSIZE.
    Parameter I_PRIVATE_MODE:
    Some applications might want to use this function module for other
    purposes as well (e.g. data supply for OLTP reporting tools). If the
    processing logic has to be different in this case, use the optional
    parameter I_PRIVATE_MODE (not supplied by BIW !) to distinguish
    between BIW calls (I_PRIVATE_MODE = SPACE) and other calls
    (I_PRIVATE_MODE = X).
    If the message handling has to be different as well, define Your own
    messaging macro which interprets parameter I_PRIVATE_MODE. When
    called by BIW, it should use the LOG_WRITE macro, otherwise do what
    You want.
    Initialization mode (first call by SAPI) or data transfer mode
    (following calls) ?
      IF I_INITFLAG = SBIWA_C_FLAG_ON.
    Initialization: check input parameters
                    buffer input parameters
                    prepare data selection
    The input parameter I_DATAPAKID is not supported yet !
    Invalid second initialization call -> error exit
        IF NOT G_FLAG_INTERFACE_INITIALIZED IS INITIAL.
          IF 1 = 2. MESSAGE E008(R3). ENDIF.
          LOG_WRITE 'E'                    "message type
                    'R3'                   "message class
                    '008'                  "message number
                    ' '                    "message variable 1
                    ' '.                   "message variable 2
          RAISE ERROR_PASSED_TO_MESS_HANDLER.
        ENDIF.
    Check InfoSource validity
        CASE I_DSOURCE.
          WHEN 'ZBW_TC_SO_EXTRACT'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE E009(R3). ENDIF.
            LOG_WRITE 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                      I_DSOURCE            "message variable 1
                      ' '.                 "message variable 2
            RAISE ERROR_PASSED_TO_MESS_HANDLER.
        ENDCASE.
    Check for supported update mode
       CASE I_UPDMODE.
         WHEN 'F'.
         WHEN OTHERS.
           IF 1 = 2. MESSAGE E011(R3). ENDIF.
           LOG_WRITE 'E'                  "message type
                     'R3'                 "message class
                     '011'                "message number
                     I_UPDMODE            "message variable 1
                     ' '.                 "message variable 2
           RAISE ERROR_PASSED_TO_MESS_HANDLER.
       ENDCASE.
    Check for obligatory selection criteria
       READ TABLE I_T_SELECT INTO L_S_SELECT WITH KEY FIELDNM = 'PGMID'.
       IF SY-SUBRC <> 0.
         IF 1 = 2. MESSAGE E010(R3). ENDIF.
         LOG_WRITE 'E'                    "message type
                   'R3'                   "message class
                   '010'                  "message number
                   'PGMID'                "message variable 1
                   ' '.                   "message variable 2
         RAISE ERROR_PASSED_TO_MESS_HANDLER.
       ENDIF.
        APPEND LINES OF I_T_SELECT TO G_T_SELECT.
    Fill parameter buffer for data extraction calls
        G_S_INTERFACE-REQUNR    = I_REQUNR.
        G_S_INTERFACE-ISOURCE   = I_DSOURCE.
        G_S_INTERFACE-MAXSIZE   = I_MAXSIZE.
        G_S_INTERFACE-INITFLAG  = I_INITFLAG.
        G_S_INTERFACE-UPDMODE   = I_UPDMODE.
        G_S_INTERFACE-DATAPAKID = I_DATAPAKID.
        G_FLAG_INTERFACE_INITIALIZED = SBIWA_C_FLAG_ON.
    Fill field list table for an optimized select statement
    (in case that there is no 1:1 relation between InfoSource fields
    and database table fields this may be far from beeing trivial)
        APPEND LINES OF I_T_FIELDS TO G_T_FIELDS.
    Fill range tables for fixed InfoSources. In the case of generated
    InfoSources, the usage of a dynamical SELECT statement might be
    more reasonable. BIW will only pass down simple selection criteria
    of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
        LOOP AT G_T_SELECT INTO L_S_SELECT.
          CASE L_S_SELECT-FIELDNM.
            WHEN 'PRDHA'.
              WGF_PRDHA_LENGTH = STRLEN( L_S_SELECT-LOW ).
              IF WGF_PRDHA_LENGTH = 6.  "PARTIAL PRDHA
                 WGF_PRDHA = L_S_SELECT-LOW.
                 CONCATENATE WGF_PRDHA '%' INTO WGF_PRDHA.
              ELSEIF WGF_PRDHA_LENGTH = 12.  "FULL PRDHA
              MOVE-CORRESPONDING L_S_SELECT TO L_R_PRDHA.
              APPEND L_R_PRDHA.
              ENDIF.
            WHEN 'MATKL'.
              MOVE-CORRESPONDING L_S_SELECT TO L_R_MATKL.
              APPEND L_R_MATKL.
          ENDCASE.
        ENDLOOP.
    reset the index of where we are in the gt_header table
      g_tabix = 0.
      perform populate_default_variables.
      perform get_data.
      perform build_detail.
        EXIT.
      ENDIF.                 "Initialization mode or data extraction ?
    Data transfer: First Call      OPEN CURSOR + FETCH
                   Following Calls FETCH only
    First data package -> OPEN CURSOR
       IF G_COUNTER_DATAPAKID = 0.
    Determine number of database records to be read per FETCH statement
    from input parameter I_MAXSIZE. If there is a one to one relation
    between InfoSource table lines and database entries, this is trivial.
    In other cases, it may be impossible and some estimated value has to
    be determined.
      DESCRIBE TABLE LT_DATA LINES l_count.
      IF g_tabix GE l_count.
        RAISE no_more_data.
      ENDIF.
    *CLEAN UP THE OUTPUT TABLE
      refresh E_T_DATA.
      LOOP AT LT_DATA FROM G_TABIX INTO LS_DATA.
        APPEND LS_DATA TO E_T_DATA.
    Set global counter
        g_tabix = g_tabix + 1.
      ENDLOOP.
       G_COUNTER_DATAPAKID = G_COUNTER_DATAPAKID + 1.
    ENDIF.              "Initialization mode or data extraction ?
    ENDFUNCTION.
    Forms
    ***INCLUDE LZBW_TC_FORECAST_SO_EXTF01 .
    *&      Form  populate_default_variables
          text
    -->  p1        text
    <--  p2        text
    FORM populate_default_variables.
      data: wlf_name like tvarv-name.
      clear: R_prdh3[], wlf_name.
    *get the exclusion range from tvarv for the product hierarchy in
    *question
      concatenate 'ZBW_EXL_' WGF_PRDHA(6) INTO WLF_NAME.
    SELECT LOW FROM TVARV INTO R_prdh3-low WHERE
                                 NAME = WLF_NAME.
      move:  'I'    to R_prdh3-sign,
             'EQ'   to R_prdh3-option.
      append R_prdh3.
      clear R_prdh3.
    ENDSELECT.
    {Start of insert by SRangaraj on June 29, 2005 >>RD3K915888
    CLEAR L_R_LABOR[].
    SELECT LOW FROM TVARV INTO L_R_LABOR-Low WHERE
                                 NAME = 'ZBW_TC_FORECAST_LAB_OFF'.
      move:  'I'    to L_R_LABOR-sign,
             'EQ'   to L_R_LABOR-option.
      append L_R_LABOR.
      clear L_R_LABOR.
    ENDSELECT.
    }End of insert by SRangaraj on June 29, 2005 >>RD3K915888
    ENDFORM.                    " populate_default_variables
    *&      Form  get_data
          text
    -->  p1        text
    <--  p2        text
    FORM get_data.
      data: wlf_lmeng like vbep-lmeng.
    *get all deliveries for date range for either a range of product hrchy
    *or a like value
      refresh int_records1.
      if wgf_prdha ne space.
        select ivbeln iposnr iKLMENG jvkorg i~werks
               imatnr imeins mprdha mmatkl
        from vbap as i
           INNER JOIN VBAK AS j
           ON ( jvbeln = ivbeln
                and j~vbtyp = 'C' )
           INNER JOIN vbuk AS k
           ON ( kvbeln = ivbeln
                and k~lfgsk <> 'C'
                and k~gbstk <> 'C' )
           INNER JOIN vbup AS l
           ON ( lvbeln = ivbeln and
                lposnr = iposnr
                and l~lfgsa <> 'C'
                and l~gbsta <> 'C' )
           INNER JOIN mara AS m
           ON ( mmatnr = imatnr
    {Start of insert by SRangaraj on June 21, 2005 >>RD3K915762
                and m~lvorm eq ' '
                and m~mstae ne '99'
    {Start of insert by SRangaraj on June 29, 2005 >>RD3K915888
                and m~extwg = '080' )
    }End of insert by SRangaraj on June 29, 2005 >>RD3K915888
           INNER JOIN marc AS n
           ON ( nmatnr = imatnr
                and nwerks = iwerks
                and n~lvorm eq ' ' )
    }End of insert by SRangaraj on June 21, 2005 >>RD3K915762
        into table int_records1 where ( i~abgru = '  '
                                     and i~klmeng > 0
                                     and m~prdha like wgf_prdha
                                     and m~matkl in l_r_matkl
    {Start of insert by SRangaraj on June 29, 2005 >>RD3K915888
                                     and m~labor in l_r_labor ).
    }End of insert by SRangaraj on June 29, 2005 >>RD3K915888
      elseif not l_r_prdha[] is initial and wgf_prdha = space.
        select ivbeln iposnr iKLMENG jvkorg i~werks
               imatnr imeins mprdha mmatkl
        from vbap as i
           INNER JOIN VBAK AS j
           ON ( jvbeln = ivbeln
                and j~vbtyp = 'C' )
           INNER JOIN vbuk AS k
           ON ( kvbeln = ivbeln
                and k~lfgsk <> 'C'
                and k~gbstk <> 'C' )
           INNER JOIN vbup AS l
           ON ( lvbeln = ivbeln and
                lposnr = iposnr
                and l~lfgsa <> 'C'
                and l~gbsta <> 'C' )
           INNER JOIN mara AS m
           ON ( mmatnr = imatnr
    {Start of insert by SRangaraj on June 21, 2005 >>RD3K915762
                and m~lvorm eq ' '
                and m~mstae ne '99'
    {Start of insert by SRangaraj on June 29, 2005 >>RD3K915888
                and m~extwg = '080' )
    }End of insert by SRangaraj on June 29, 2005 >>RD3K915888
           INNER JOIN marc AS n
           ON ( nmatnr = imatnr
                and nwerks = iwerks
                and n~lvorm eq ' ' )
    }End of insert by SRangaraj on June 21, 2005 >>RD3K915762
        into table int_records1 where ( i~abgru = '  '
                                     and i~klmeng > 0
                                     and m~prdha in l_r_prdha
                                     and m~matkl in l_r_matkl
    {Start of insert by SRangaraj on June 29, 2005 >>RD3K915888
                                     and m~labor in l_r_labor ).
    }End of insert by SRangaraj on June 29, 2005 >>RD3K915888
    endif.
        sort int_records1 by vbeln posnr.
        delete adjacent duplicates from int_records1 comparing
        vbeln posnr.
    *remove unnecessary records
        if not r_prdh3[] is initial.
        DELETE INT_RECORDS1 WHERE PRDHA+6(3) IN r_prdh3.
        endif.
    *get the schedule lines for all of the above records and
    *get the lowest schedule line date per so line item
         if not int_records1[] is initial.
         refresh int_records3.
         select vbeln posnr etenr mbdat into table int_records3
         from vbep for all entries in int_records1
                           where vbeln = int_records1-vbeln and
                                 posnr = int_records1-posnr and
                                 lmeng > 0.
         sort int_records3 by vbeln posnr etenr mbdat ascending.
         loop at int_Records1.
           loop at int_records3 where vbeln = int_records1-vbeln
                                  and posnr = int_records1-posnr.
             int_records1-mbdat = int_records3-mbdat.
             modify int_records1.
             exit.
            endloop.
         endloop.
         refresh int_records3. free int_records3.
         refresh int_records2.
    *get the deliveries and calculate the open quantities
        select vbelv posnv vbeln posnn rfmng plmin
                    from vbfa into table int_records2
                                  for all entries in int_Records1
                                  where vbelv = int_records1-vbeln
                                    and posnv = int_records1-posnr
                                    and VBTYP_N = 'J'. "Dels
    *calculate open quantities next
         loop at int_records1.
           clear wlf_lmeng.
           clear int_records2.
           loop at int_records2 where vbelv = int_records1-vbeln
                                    and posnv = int_records1-posnr.
           case int_records2-plmin.
             when '-'.
              wlf_lmeng = wlf_lmeng - int_records2-rfmng.
             when others.  "just add
              wlf_lmeng = wlf_lmeng + int_records2-rfmng.
            endcase.
           endloop.
           int_records1-klmeng = int_records1-klmeng - wlf_lmeng.
           int_records1-vbeln_dl = int_records2-vbeln.
           int_records1-posnr_dl = int_records2-posnn.
           modify int_records1.
        endloop.
        endif.
        delete int_records1 where klmeng le 0.
        refresh int_records2. free int_Records2.
    ENDFORM.                    " get_data
    *&      Form  build_detail
          text
    -->  p1        text
    <--  p2        text
    FORM build_detail.
        LOOP AT int_records1.
    *DO INDIVIDUAL MOVES - ITS FASTER THAN MOVE-CORRESPONDING
        move: int_records1-vkorg    to LS_DATA-VKORG,
              int_records1-werks    to LS_DATA-WERKS,
              int_records1-matnr    to LS_DATA-MATNR,
              int_records1-klmeng   to LS_DATA-KLMENG,
              int_records1-mbdat(6) to LS_DATA-YEARMONTH,
              int_records1-meins    TO LS_DATA-MEINS,
              int_records1-vbeln    TO LS_DATA-VGBEL,
              int_records1-posnr    TO LS_DATA-VGPOS,
              int_records1-vbeln_dl TO LS_DATA-VBELN,
              int_records1-posnr_dl TO LS_DATA-POSNR,
              int_records1-mbdat    to LS_DATA-WADAT_IST,
              int_records1-PRDHA    to LS_DATA-PRDHA,
              int_records1-matkl    to LS_DATA-MATKL.
        APPEND LS_DATA TO LT_DATA.
        clear: LS_DATA.
        ENDLOOP.
    ENDFORM.                    " build_detail

  • How to populate the form bean object for multiselect box in struts

    hi, i am using two multi select boxes,one to populate the data by getting from the data base and another to fill the items selected from the first select box to store the values in the database..i need the information (how to declare the select boxes and how to write the form bean getters and setters for this one.) regarding this..

    http://forum.java.sun.com/thread.jspa?threadID=5147813&messageID=9553925#9553925

  • How to populate class based on value of seed class attribute instead of doing reg/script discovery again?

    I have a seed class. I populate that seed class using script discovery and it has attribute 1,2 and 3. Those 3 attributes are all populated via the script discovery too.
    Now I created a new application class which use the seed class as target. The criteria is if attribute 1 equal to a certain value. Here comes the question, how to create this discovery? In authoring console the options are registry discovery, script discovery
    and custom discovery. Since attribute 1 is already populated in seed class using script, I think I can use that instead of doing another script discovery for the new application class. 
    However I didn't find a way to do that. Any suggestions?

    I pasted the base seed MP as following.
    The base MP has two classes: "MyBaseMP.MyApps.Candidates" and "MyBaseMP.MyApps".
    "MyBaseMP.MyApps.Candidates" is created from "Windows.Computer" class. Then it is discovered by "MyBaseMP.MyApps.Candidates.RegDiscvoery". 
     "MyBaseMP.MyApps" is created from "Windows.Local.Application" class. It is then discovered by "MyBaseMP.MyApps.ScriptDiscovery". This script discovery is targeting on "MyBaseMP.MyApps.Candidates" class. The script
    also populated 5 attribute for  "MyBaseMP.MyApps" and they are APPLICATION, LOB, GROUP, ENVIRONMENT and STATE.
    This base MP works as expected.
    Now I want to create a new custom MP. The new MP has a new class "MyFinanceApps" created from  "MyBaseMP.MyApps". The service model is very simple just like following
      <TypeDefinitions>
        <EntityTypes>
          <ClassTypes>
            <ClassType ID="MyFinanceApps" Accessibility="Internal" Abstract="false" Base="MyBaseMP!MyBaseMP.MyApps" Hosted="true" Singleton="false" />
          </ClassTypes>
        </EntityTypes>
      </TypeDefinitions>
    I want to populate this class if LOB attribute echos to "Finance". How to make this discovery then? Sure I can create another script discovery but since those values already discovered in the seed class, is there any way I can use them?
    The MyBaseMP is as following:
    <ManagementPack ContentReadable="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <Manifest>
        <Identity>
          <ID>MyBaseMP</ID>
          <Version>1.0.0.0</Version>
        </Identity>
        <Name>MyBaseMP</Name>
        <References>
          <Reference Alias="SC">
            <ID>Microsoft.SystemCenter.Library</ID>
            <Version>6.1.7221.0</Version>
            <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
          </Reference>
          <Reference Alias="Windows">
            <ID>Microsoft.Windows.Library</ID>
            <Version>6.1.7221.0</Version>
            <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
          </Reference>
          <Reference Alias="Health">
            <ID>System.Health.Library</ID>
            <Version>6.1.7221.0</Version>
            <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
          </Reference>
          <Reference Alias="System">
            <ID>System.Library</ID>
            <Version>6.1.7221.0</Version>
            <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
          </Reference>
        </References>
      </Manifest>
      <TypeDefinitions>
        <EntityTypes>
          <ClassTypes>
            <ClassType ID="MyBaseMP.MyApps" Accessibility="Internal" Abstract="false" Base="Windows!Microsoft.Windows.LocalApplication" Hosted="true" Singleton="false">
              <Property ID="APPLICATION" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
              <Property ID="GROUP" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
              <Property ID="LOB" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
              <Property ID="STATE" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
              <Property ID="APP_TYPE" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
              <Property ID="ENVIRONMENT" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
            </ClassType>
            <ClassType ID="MyBaseMP.MyApps.Candidates" Accessibility="Internal" Abstract="false" Base="Windows!Microsoft.Windows.Computer" Hosted="false" Singleton="false" />
          </ClassTypes>
        </EntityTypes>
      </TypeDefinitions>
      <Monitoring>
        <Discoveries>
          <Discovery ID="MyBaseMP.MyApps.Candidates.RegDiscovery" Enabled="true" Target="Windows!Microsoft.Windows.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal">
            <Category>Discovery</Category>
            <DiscoveryTypes>
              <DiscoveryClass TypeID="MyBaseMP.MyApps.Candidates" />
            </DiscoveryTypes>
            <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.FilteredRegistryDiscoveryProvider">
              <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
              <RegistryAttributeDefinitions>
                <RegistryAttributeDefinition>
                  <AttributeName>FoundAppKey</AttributeName>
                  <Path>SOFTWARE\MyCompany\SystemCenter</Path>
                  <PathType>0</PathType>
                  <AttributeType>0</AttributeType>
                </RegistryAttributeDefinition>
              </RegistryAttributeDefinitions>
              <Frequency>180</Frequency>
              <ClassId>$MPElement[Name="MyBaseMP.MyApps.Candidates"]$</ClassId>
              <InstanceSettings>
                <Settings>
                  <Setting>
                    <Name>$MPElement[Name="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Name>
                    <Value>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Value>
                  </Setting>
                </Settings>
              </InstanceSettings>
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="String">Values/FoundAppKey</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="String">true</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </DataSource>
          </Discovery>
          <Discovery ID="MyBaseMP.MyApps.ScriptDiscovery" Enabled="true" Target="MyBaseMP.MyApps.Candidates" ConfirmDelivery="false" Remotable="true" Priority="Normal">
            <Category>Discovery</Category>
            <DiscoveryTypes>
              <DiscoveryClass TypeID="MyBaseMP.MyApps" />
            </DiscoveryTypes>
            <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
              <IntervalSeconds>300</IntervalSeconds>
              <SyncTime />
              <ScriptName>MyApps.Script.Discovery.vbs</ScriptName>
              <Arguments>$MPElement$ $Target/Id$ $Target/Property[Type="Windows!Microsoft.Windows.Computer"]/DNSName$ $MPElement$</Arguments>
              <ScriptBody><![CDATA[
    Option Explicit
    ' Definitions for Registry Walking
    Const HKEY_LOCAL_MACHINE = &H80000002
    Dim oReg
    Dim arrValues, arrSubKeys
    Dim strComputer, strKeyPath, subkey, strProperty, strArrValue
    ' Define where the App Subkeys are located, strKeyPath MUST end with a slash!
    strKeyPath = "SOFTWARE\MyCompany\SystemCenter\"
    strComputer = "."
    Dim WshShell, bKey
    ' Definitions for SCOM Discovery
    Dim oAPI
    Set oAPI = CreateObject("MOM.ScriptAPI")
    Dim oArgs
    Set oArgs = WScript.Arguments
    ' Check for the required script arguments.
    if oArgs.Count < 3 Then
        ' If the script is called without the required arguments,
        ' create an information event and then quit. 
        Call oAPI.LogScriptEvent(WScript.ScriptName,101,0, _
            "script was called with fewer than three arguments (" & oArgs.Count & " arguments) and was not executed.")
        Wscript.Quit -1
    End If
    Dim SourceID, ManagedEntityId, TargetComputer
    SourceID = oArgs(0) ' The GUID of the discovery object that launched the script.
    ManagedEntityId = oArgs(1) ' The GUID of the computer class targeted by the script.
    TargetComputer = oArgs(2) ' The FQDN of the computer targeted by the script.
    Dim oDiscoveryData, oInst
    Set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceID, ManagedEntityId)
    ' Functions for Registry Walking
    ' Create Shell Object
    Set WshShell = WScript.CreateObject("WScript.Shell")
    ' Create WMI Object, and check for existence
    On Error Resume Next
    Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
        strComputer & "\root\default:StdRegProv")
    Select Case Err.Number
      Case 0:
    'Error Code 0 = 'success'
    'Wscript.Echo "DEBUG:  Opened WMI"
      Case Else
    'Any other error code is a failure code
    Notify("ERROR:  Can not open WMI")
    Wscript.Quit 1
    End Select
    On Error Goto 0 'Turn error reporting back on
    ' Check to ensure first level reg key exists
    If RegistryKeyExists("HKLM\" & strKeyPath) Then
    If oReg.EnumKey(HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys) > 0 Then
    ' We have NO subkeys
    Notify("ERROR: No Subkeys defined")
    Wscript.Quit 1
    End if
    Else
    Notify("DEBUG: Key [" & strKeyPath & "] doesn't exist")
    Wscript.Quit 1
    End If
    'Check size of arrSubKeys for sub keys
    If Not IsArray(arrSubKeys) Then
    ' We have NO subkeys
    Notify("ERROR: No Subkeys defined")
    Wscript.Quit 1
    End If
    For Each subkey In arrSubKeys
    'Wscript.Echo "DEBUG: subkey = " & subkey
    strProperty = ""
    'Check to ensure Subkey Exists
    If RegistryKeyExists("HKLM\" & strKeyPath & "\" & subkey & "\") Then
    'Get Values under each key
    'Wscript.Echo "DEBUG:  Create OBJECT"
    ' Discovered the application. Create the application instance.
    Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='MyBaseMP.MyApps']$")
    ' Define Property
    Call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
    If RegistryValueExists("HKLM\" & strKeyPath & "\" & subkey & "\ENVIRONMENT") Then
    'Wscript.Echo "DEBUG: Value " & strArrValue & " found"
    strProperty = WshShell.RegRead("HKLM\" & strKeyPath & "\" & subkey & "\ENVIRONMENT")
    Else
    'Wscript.Echo "DEBUG: value " & strArrValue & " NOT found"
    strProperty = "NONEXISTANT"
    End If
    Call oInst.AddProperty("$MPElement[Name='MyBaseMP.MyApps']/ENVIRONMENT$", strProperty)
    If RegistryValueExists("HKLM\" & strKeyPath & "\" & subkey & "\STATE") Then
    'Wscript.Echo "DEBUG: Value " & strArrValue & " found"
    strProperty = WshShell.RegRead("HKLM\" & strKeyPath & "\" & subkey & "\STATE")
    Else
    'Wscript.Echo "DEBUG: value " & strArrValue & " NOT found"
    strProperty = "NONEXISTANT"
    End If
    Call oInst.AddProperty("$MPElement[Name='MyBaseMP.MyApps']/STATE$", strProperty)
    If RegistryValueExists("HKLM\" & strKeyPath & "\" & subkey & "\APP_TYPE") Then
    'Wscript.Echo "DEBUG: Value " & strArrValue & " found"
    strProperty = WshShell.RegRead("HKLM\" & strKeyPath & "\" & subkey & "\APP_TYPE")
    Else
    'Wscript.Echo "DEBUG: value " & strArrValue & " NOT found"
    strProperty = "NONEXISTANT"
    End If
    Call oInst.AddProperty("$MPElement[Name='MyBaseMP.MyApps']/APP_TYPE$", strProperty)
    If RegistryValueExists("HKLM\" & strKeyPath & "\" & subkey & "\LOB") Then
    'Wscript.Echo "DEBUG: Value " & strArrValue & " found"
    strProperty = WshShell.RegRead("HKLM\" & strKeyPath & "\" & subkey & "\LOB")
    Else
    'Wscript.Echo "DEBUG: value " & strArrValue & " NOT found"
    strProperty = "NONEXISTANT"
    End If
    Call oInst.AddProperty("$MPElement[Name='MyBaseMP.MyApps']/LOB$", strProperty)
    If RegistryValueExists("HKLM\" & strKeyPath & "\" & subkey & "\GROUP") Then
    'Wscript.Echo "DEBUG: Value " & strArrValue & " found"
    strProperty = WshShell.RegRead("HKLM\" & strKeyPath & "\" & subkey & "\GROUP")
    Else
    'Wscript.Echo "DEBUG: value " & strArrValue & " NOT found"
    strProperty = "NONEXISTANT"
    End If
    Call oInst.AddProperty("$MPElement[Name='MyBaseMP.MyApps']/GROUP$", strProperty)
    'Set Application Name
    'Wscript.Echo "SET APPLICATION NAME: " & subkey
    Call oInst.AddProperty("$MPElement[Name='MyBaseMP.MyApps']/APPLICATION$", subkey)
    'Wscript.Echo "SUBMIT INSTANCE"
       Call oDiscoveryData.AddInstance(oInst)
    Else
    ' Registry Sub Key does not exist
    Notify("ERROR: A found registry subkey, [" & subkey & "] doesn't actually exist")
    End If
    Next
    ' Submit the discovery data for processing.
    Call oAPI.Return(oDiscoveryData) 
    ' A helper function to remove the extension from a file name.
    Function StripExtension (sFile)
    StripExtension = Left(sFile, Len(sFile) -4)
    End Function
    '* Registry Value Exists (Function)
    '* Returns a value (true / false)
    'This function checks to see if a passed registry value exists, and
    'returns true if it does
    'Requirements: The registry value you are looking for (RegistryValue)
    Function RegistryValueExists (RegistryValue)
      'Ensure the last character is NOT a backslash (\) - if it is, we aren't looking for a value
      If (Right(RegistryValue, 1) = "\") Then
        'It's not a registry value we are looking for
    'Wscript.Echo "No slash....returning false"
        RegistryValueExists = false
      Else
        'If there isnt the value when we read it, it will return an error, so we need to resume
        On Error Resume Next
        'Try reading the value
        WshShell.RegRead RegistryValue
        'Catch the error
        Select Case Err.Number
          Case 0:
            'Error Code 0 = 'success'
            RegistryValueExists = true
          Case Else
            'Any other error code is a failure code
            RegistryValueExists = false
        End Select
        'Turn error reporting back on
        On Error Goto 0
      End If
    End Function
    '* Registry Key Exists (Function)
    '* Returns a value (true / false)
    'This function checks to see if a passed registry key exists, and
    'returns true if it does
    'Requirements: The registry key you are looking for (RegistryKey)
    'Note: RegistryKey MUST end in a backslash (\), or FALSE will be returned
    Function RegistryKeyExists (RegistryKey)
       Dim errDescription
      'Ensure the last character is a backslash (\) - if it isn't, we aren't looking for a key
      If (Right(RegistryKey, 1) <> "\") Then
        'It's not a registry key we are looking for
        RegistryKeyExists = false
      Else
        'If there isnt the key when we read it, it will return an error, so we need to resume
        On Error Resume Next
        'Try reading the key
        WshShell.RegRead RegistryKey
        'Catch the error
    ' Wscript.Echo "Err.Number = " & Err.Number
    ' Wscript.Echo "Err.Message = " & Err.Message
        Select Case Err.Number
          'Error Code 0 = 'success'
          Case 0:
            RegistryKeyExists = True
            'Wscript.Echo "DEBUG: Case 0: Key Exists"
          'This checks for the (Default) value existing (but being blank); as well as key's not existing at all (same error code)
          Case &h80070002:
            'Read the error description, removing the registry key from that description
            ErrDescription = Replace(Err.description, RegistryKey, "")
            'Clear the error
            Err.clear
            'Read in a registry entry we know doesn't exist (to create an error description for something that doesnt exist)
            WshShell.RegRead "HKEY_ERROR\"
            'The registry key exists if the error description from the HKEY_ERROR RegRead attempt doesn't match the error
            'description from our RegistryKey RegRead attempt
            If (ErrDescription <> Replace(Err.description, "HKEY_ERROR\", "")) Then
              RegistryKeyExists = true
            Else
              RegistryKeyExists = false
            End If
          'Any other error code is a failure code
          Case Else:
            RegistryKeyExists = false
        End Select
        'Turn error reporting back on
        On Error Goto 0
      End If
    End Function
    Function Notify(strNotifyMessage)
    Call oAPI.LogScriptEvent(Wscript.Name,101,0, strNotifyMessage)
    End Function]]></ScriptBody>
              <TimeoutSeconds>60</TimeoutSeconds>
            </DataSource>
          </Discovery>
        </Discoveries>
      </Monitoring>
      <LanguagePacks>
        <LanguagePack ID="ENU" IsDefault="true">
          <DisplayStrings>
            <DisplayString ElementID="MyBaseMP">
              <Name>MyBaseClass</Name>
            </DisplayString>
            <DisplayString ElementID="MyBaseMP.MyApps">
              <Name>MyBaseMP.MyApps</Name>
            </DisplayString>
            <DisplayString ElementID="MyBaseMP.MyApps" SubElementID="APPLICATION">
              <Name>APPLICATION</Name>
            </DisplayString>
            <DisplayString ElementID="MyBaseMP.MyApps.Candidates">
              <Name>MyBaseMP.MyApps.Candidates</Name>
            </DisplayString>
            <DisplayString ElementID="MyBaseMP.MyApps.Candidates.RegDiscovery">
              <Name>MyBaseMP.MyApps.Candidates.RegDiscovery</Name>
            </DisplayString>
            <DisplayString ElementID="MyBaseMP.MyApps.ScriptDiscovery">
              <Name>MyBaseMP.MyApps.ScriptDiscovery</Name>
              <Description />
            </DisplayString>
          </DisplayStrings>
        </LanguagePack>
      </LanguagePacks>
    </ManagementPack>

  • How to populate cusotom fields using BAPI_GOODSMVT_CREATE  for MIGO

    Hi,
    I was to update custom field using BAPI_GOODSMVT_CREATE for MIGO and store it is MSEG table.
    Please tell me how to proceed.
    Moderator message: last warning, if you continue to post the same thread again, I will submit your user ID for deletion. See my comments in your previous posts.
    Edited by: Thomas Zloch on Jul 14, 2011 4:38 PM

    Hi ANID,
    Thanks for the reply.
    I have checked in the documention of the bapi and no communication structure regarding to the bapi is there so i am not able to figure out where to add the custom field so that it can be added in the MKPF table.
    Regads
    Dipak

  • How to populate cheque number in IDOC for ERP version ECC 6.0

    Hi
    I am using ERP version ECC 6.0. I have created a sequencial cheque lot in FCHI and assign payment method to it. But when i generate a payment run, Idoc is not getting generated. In proposal run log "IDoc type could not be determined for the IDoc" this error occurs.
    Could you suggest why this error is coming. Any other configuration should be done in ERP for that payment method.

    Hi Rajesh,
    I am using PEXR2002 format for Idoc. Problem is i want Cheque number to populate in the Idoc for assigned payment method. For that i have assigned payment method for the cheque lot using t-code FCHI. After this i created proposal and run the payment. Status shows 1 generated, 1 completed. But the Idoc doesn't get created.Whats the problem. Can someone help me in this issue.
    Thanks,
    Shilpa
    Edited by: Shilpa Korad on Jan 20, 2010 9:29 AM
    Edited by: Shilpa Korad on Jan 20, 2010 9:48 AM

  • How to set  Non Cumulative Init flag for Generic datasource

    Hi all,
       I need to create a generic datasource which can be used to initialize the Non Cumulative Cube. Eg. setting the opening balance.
       The STOCKUPD field in the ROOSOURCE should be set to X so that the infopackage will have the "Generate Initial Status" option. But there is no interface available in R/3 pluggin to do this.
    How can this be done? Or is it not allowed for generic datasources as it is only valid of 2LIS_03_BX datasource
    for stock updation.
      Will there be other issues if I change the table entry for STOCKUPD in roosource table for my datasource?
    regs
    Anoop

    Hello,
      any idea on this?
    regs
    Anoop

  • How to populate the billing plan tab for the sales order inbound

    Hi Team,
    I am new to IDOCS, I have a requirement like IDOC extension of the sales order inbound.
    Can anyone explain in brief how can i add billing plan tab in  the IDOC extension for the Sales order inbound.
    Thanks, 
    Barathi

    U need to use the table vbfa or fololow thw link
    [http://www.erpgenie.com/sap-functional/sd/read-sales-document-flow-using-a-function-module]

  • Urgent: How to Populate SETUP table in LO for perticular period

    Hi Expert,
    I want to populate SETUP tables for perticuler period. Which one is the selection field.

    Hi,
    You can not add new selection fields to the selection screen for filling up the set up tables. The fields available for selection actually depends on the application you are referring to.
    If you see in the below transactions for filling up of set up tables for different applications, you will see that a certain date field is available for selection for some of them. Please refer below. You can also check it directly in the system using the transaction.
    Tcode: Application number: Date filed available
    OLI1BW: Application 03(material movements): Posting Date
    OLI3BW: Application 02: Document date
    OLI4BW: Application 04: Created on date
    OLI7BW: Application 11: No date selection possible
    OLI8BW: Application 12: No date selection possible
    OLI9BW: Application 13: No date selection possible
    Hope this helps,
    Regards,
    Shilpa

  • How to Configure Location based Accounts system for a company

    Hi Experts,
    My client using SAP B1 2007B PL13.
    I am configuring the Accounts part. here My client is involved in manufacturing business. so there are 3 locations like
    Location 1: Head Office
    Location 2: Factory1 and Warehouse1.
    Location 3: Factory2 and Warehouse2.
    they are asking the financial report for all three locations to find the expenditure and returns. Under this scenario i am confused to configure the accounts system for them, whether,  i have to create a 1) segmentation accounts 2) Profit center and 3)cost center.
    can anyone guide me to decide and explain a breif work around for my scenario.

    Hi rakesh,
    Yes, I am just started implementation for my client. their requirement is to take the report on location wise.  so initially i have to decide , weather i can use segmentation or profit center ?
    note: number of location will increase in future. so having this in mind , i have to decide the best method to make the process easier to the end user in future times too.
    are am clear?  can u help me out.!!
    Thanks & regards,''
    Dwarak

  • How to create formula based on Sales for each week

    Hi,
    I have a requirement to show Variance in Sales in a separate column. My data in the cube is like this.
    Week         $Sales
    1                  80
    2                 100
    3                 120
    Now I want the report output like this.
    Week      $Sales          Variance
    1              80          
    2             100           1.25 (100 / 80)
    3             120           1.2 (120/100)
    Formula for Variance column for row 2 (Week 2) will be week 2/week1 sales.
    I do not want to use cell editor because this will give fixed rows/columns and also I want to display week in the rows.
    Any help will be greatly appreciated
    Thanks,
    Laxma

    Hi,
    Thank you for your time but probably I misguide you with less data in my example..
    Here is my scenario.
    Data in the cube is stored by week as shown below
    Week         Sales         
    01/2007      45           
    02/2007      65             
    03/2007      55              
    04/2007      80             
    05/2007      95           
    Required output   
    Week        Sales         Build %
    01/2007      45             0
    02/2007      65             1.44
    03/2007      55              0.85
    04/2007      80             1.45
    05/2007      95             1.19
    Formula for Build % = Current Week Sales / Previous Week Sales.
    Example for week 03/2007 (i.e Row 3) build % = 55 / 65 that will give 0.85.
    Any help will be greatly appreciated
    Thanks

Maybe you are looking for

  • HT204053 Can I have 2 apple Id from different countries? How do I do it?

    I live in the UK and I'm trying to purchase an album from Brasil where I come from. I need a second ID but don't know how to do it. Can you help me please? Thank you.

  • Acrobat 9 Pro "Please wait while Windows configures Acrobat..."

    <DIV><FONT face=Arial size=2>My CS4 install went fine on my Vista 32 system and <br />everything's working as it should. However, I'm consistently finding this error <br />message "please wait while windows configures Adobe Acrobat 9" popping up. It

  • Delete blob column in source and rename schema using rule

    Hi I have blob column in source table, which i am deleting while capturing through rule based tranformation and also renaming the schema through the same rule. SET SERVEROUTPUT ON DECLARE v_dml_rule VARCHAR2(80); v_ddl_rule VARCHAR2(80); BEGIN DBMS_S

  • Remove duplicates itunes pc

    I don't even want to think about how many hours it would take me to remove all the duplicate tracks in itunes. Isn't there SOME way to accomplish this without that much effort?  What happened to the 'remove duplicates' option??

  • Button inside an external MC to unload itself

    Hi everyone, The title is pretty self explanatory. I know this subject I've been previously covered but it still unclear with the code I'm using. Please help. This is the code I put on the main movie clip to load it: var request:URLRequest = new URLR