Check specific attributes from common  views

Is there a was to only checkout certain attributes from a common view?
For example if I am only interested in checking out the lastLogon , userAccountControl and Description (AD) attributes from the "user" view. How would I do so with out checking out the entire "user" view?
During a workflow I wish to check out the specific attributes and then make my changes and then check the object back in.
Please let me know if this is possible.
Another example)
Currently if i wanted to unlock all acount from a workflow I would use the following code. But I am really only using the "account locked" attribute so if there were a way to limit the view checkout to the "accountlocked" attribute then I could probably streamline the process.
<Activity id='3' name='UnlockAD'>
        <Comments>&#xA;          On Success do a global unlock .&#xA;        </Comments>
        <Action id='0' application='com.waveset.session.WorkflowServices'>
          <Argument name='op' value='checkoutView'/>
          <Argument name='type' value='Unlock'/>
          <Argument name='id' value='$(accountId)'/>
          <Argument name='subject' value='admin_user'/>
          <Argument name='authorized' value='true'/>
          <Return from='view' to='uview'/>
        </Action>
        <Action id='1'>
          <expression>
            <block>
              <set>
                <ref>uview.global.accountLocked</ref>
                <s>false</s>
              </set>
            </block>
          </expression>
        </Action>
        <Action id='2' application='com.waveset.session.WorkflowServices'>
          <Argument name='op' value='checkinView'/>
          <Argument name='subject' value='admin_user'/>
          <Argument name='authorized' value='true'/>
          <Argument name='view' value='$(myview)'/>
        </Action>
        <Transition to='Notify User'/>
      </Activity>

sec_tk wrote:
Checking out a user view will always get you the whole view, you cannot get a partial view. What would be possible is coding your own view, but that requires a lot of hacking and I don't think it's worth the effort.Sorry to jump in late but just for clarification of others who happen to stumble on this by a search you most definitely can checkout a view with only partial data returned. It's one of the optimization techniques recommended to speed up workflows.
See [http://docs.sun.com/app/docs/doc/820-5823/ahyci?l=en&a=view&q=TargetResources] and use the TargetResources argument when checking out a view.So your checkout view action would look like this:
<Action application='com.waveset.session.WorkflowServices'>
    <Variable name='view'/>
    <Argument name='op' value='checkoutView'/>
    <Argument name='type' value='User'/>
    <Argument name='id' value='$(WF_CASE_OWNER)'/>
    <Argument name='Form' value='Empty Form'/>
    <Argument name='TargetResources'>
        <list>
            <String>Resource 1</String>
            <String>Resource 2</String>
        </list>
    </Argument>
    <Return from='view' to='user'/>
</Action>

Similar Messages

  • Dataflow to one attribute from multiple views doesn't work

    I have an oracle database, of which I use two tables. Each table has its own view in the meta directory.
    The first view contains a table which consists of a uid generated by another system and three other non-important columns. This uid is the only column I need, this should be the naming (rdn) for use with my directory entries.
    The second view contains almost all the other data, such as adresses, (full) names, mail etc.
    I've configured the first view with a join rule, dn mapping rule and attribute flow rule to sync a new entry from my oracle database view 1 to the metaview.
    Point is that at that time I'm missing information such as givenName, sn, cn etc. As those are required by the objectClass, I configured my attribute flow rule to also flow het uid from database into them.
    So that's that. I've got my new entry with the uid I want.
    The second view is configured with an attribute flow rule and a join rule so it matches the entry created by the rules above.
    Here's the thing: any attribute (such as mail facsimiletelephonenumber, etc) configured in my attribute flow rule from view 2 is synched to the metaview entry, except for those attributes that already are flown from view1.
    No matter what attribute I try, for instance givenName, no attribute is never overwritten with a suitable value from my oracle database view 2. It still has the value of uid from my view 1.
    Is there a way to fix this or am I missing some settings here? I've fiddled around a bit with the options in the capabilities and configuration tabs with very little success.

    AFter some experimentation, discovered the following:
    Go to Quiz > Quiz Preferences. Under Settings, there is a
    "Allow user to review quiz" check box. Under Pass or Fail, there is
    an "Infinite attempts" check box. I had both of these unselected.
    Here's what happens when you select or deselect one or both:
    Review + 1 attempt: User starts to answer questions, and then
    backs up. User can go forward again. Answered questions still
    display the answers. Once reaches unanswered questions, they are
    now locked.
    Review + Infinite: User starts to answer questions, and then
    backs up. User can go forward again. All answers to questions
    erased and user can answer all questions.
    No Review + 1 attempt: User starts to answer questions, and
    then backs up. User can't go forward again. (This was the situation
    encountered.)
    No Review + Infinite: Same as Review + Infinite.

  • Calling comp controller attribute from iinside view

    HI all,
    I want to know how to call a component controller attribute from inside a View's method?
    any sampe coding..?
    Regards,
    Shanthi

    Well, you can use the wizard. Just call any method from the component controller. The wizard will create you the code including the line how you will get a reference to the component controller, which is the point here.
    After you have the reference to the component controller, let's say lo_component_controller, you can access its attributes like this:
    lo_component_controller->your_attribute
    Then of course delete the unnecessary lines of code.
    Regards,
    Karri

  • How to pass the check box values from one view to another view

    Hi Experts,
    I have a selection screen view which consists of check boxes.
    WBS System status.
    Release                      Completed                  Closed as 3 check boxes.
    Note : The above ones are check boxes.
    Based on the selection made by the user, those values needs to be passed to second view which retrieves the data and
    displays the data accordingly.
    At the same time if the user does not make any selection, then WBS System status should contain Released, Completed and Closed values and that needs to be sent to Second view.
    Kindly advise.
    Regards,
    Chitrasen

    hi ,
    make a attribute of type WDY_BOOLEAN to achieve this functionality
    u need to follow these steps :
    1 in side ur component controller , under the ATTRIBUTES tab , make 3 attributes say attr1 , attr2 and attr3 of type WDY_BOOLEAN
    2 create a context node , cn_check and 3 context attribute ca_check1 , ca_check2 and ca_check3 in ur first view for
    release , complete and close check boxes
    3 inside the DOINIT of ur 1st view , set the attributes attr1 , attr2 and attr3 to blank
    wd_comp_controller->attr1 = ' '
    wd_comp_controller->attr2 = ' '
    wd_comp_controller->attr3 = ' '
    4 inside the method , where u r validating , if the check boxes are checked or not , read the attributes ca_check1 , ca_check2 and
    ca_check3
      DATA lo_nd_cn_check TYPE REF TO if_wd_context_node.
        DATA lo_el_cn_check TYPE REF TO if_wd_context_element.
        DATA ls_cn_check TYPE wd_this->element_cn_check.
        DATA lv_ca_check1 LIKE ls_cn_check-ca_check1.
    *   navigate from <CONTEXT> to <CN_CHECK> via lead selection
        lo_nd_cn_check = wd_context->get_child_node( name = wd_this->wdctx_cn_check ).
    *   get element via lead selection
        lo_el_cn_check = lo_nd_cn_check->get_element(  ).
    *   get single attribute
        lo_el_cn_check->get_attribute(
          EXPORTING
            name =  `CA_CHECK`
          IMPORTING
            value = lv_ca_check1 ).
    IF lv_ca_check1 EQ 'X' .
    wd_comp_controller->attr1 = ' X'
    wd_comp_controller->attr2 = 'X '
    wd_comp_controller->attr3 = ' X'

  • HOW TO ACCESS ATTRIBUTES FROM DIFFERENT VIEW SET

    Hi Experts,
    How i can  access the variables declared in context class from component controller class
    and vice-versa.
    Thanks & Regards
    Ansal

    Hi Ansal
    You can bind your context node of view to component controller context node and then you can access the data.
    You can do this binding by inserting following statements in create_context_node method of your _ctxt class.
    owner->do_context_node_binding( iv_controller_type = cl_bsp_wd_controller=>co_type_component
       iv_target_node_name = 'BUILHEADER'  
       iv_node_2_bind = builheader ).
    Regards,
    Rashmi

  • Add photos to a specific Collection from Survey view?

    When I'm doing my edit from a shoot, I often use the Survey view to look at groups of images. Also, I use collections as a way to store selections into future use categories like Contests 2010, Portfolio, etc. In Survey, it seems only possible to add photos to a Quick Collection or view it in an existing collection, but I want to be able to add it to other collections either via drag & drop or by contextual menu. Is this possible to do this and if not, is this something other users find useful enough to add as a feature request?

    I think the drag and drop would be difficult to implement as all the images in Survey View have to be targeted.
    However, if one had the ability to set more than one target collection rather than a single collection or the Quick Collection I think that could be useful for organizing while in Survey View. Just as we can change the meaning of the color labels we could be able to select say, five different collections and assign a target shortcut to them. So whie in survey view (or any view for that matter) I could hit 22 and the image)s) would be added to any collection I deemed to have a target of 22. Add the shift key so as not to confuse with Ratings.
    Currently I cannot suggest a simpler way for you since you state that you are in Survey View. A feature request? Sure go ahead and make one.

  • Accessing Adapter Specific Attributes from ABAP proxy

    Hi,
    Now i have a scenario from where i take a file from FTP and send it to ERP by proxy. While taking the file i am taking also the file name by setting adapter-specefic message attributes -> File Name. So the file name appears inside the SOAP Header. Now how i am going to use the file name in my ABAP code on the SAP side.
    Thanks.
    Arman

    Hi Arman,
    Follow this link:
    The specified item was not found.
    Your case is very similar to that one. Extract file Name from SOAP Header and then map it into any
    field of your proxy.
    Carlos

  • IXML - Reading a specific tag/specific attribute

    Hi,
    I'm trying to get out a specific tag ans specific attribute from an xml string.
    I built my method based on BCCIIXMLT2 & BCCIIXMLT11 and Parsing XML file to Internal table., however it doesn't seem to work.
    I already tried 2 approach, none of them worked
    The loops are ended before the get_attributes method is called.
    My code:
    METHOD /eby/if_xml_output_writer~finish_element.
    * Based on program BCCIIXMLT2 & BCCIIXMLT11
    * \\ ======= iXML =======
      DATA:
        lr_ixml           TYPE REF TO if_ixml,
        lr_xml_doc        TYPE REF TO if_ixml_document,
        lr_node           TYPE REF TO if_ixml_node,
    *    lr_iterator       TYPE REF TO if_ixml_inline_iterator,
        lr_iterator       TYPE REF TO if_ixml_node_iterator,
        lr_nodemap        TYPE REF TO if_ixml_named_node_map,
        lr_stream_factory TYPE REF TO if_ixml_stream_factory,
        lr_istream        TYPE REF TO if_ixml_istream,
        lr_parser         TYPE REF TO if_ixml_parser,
        lr_nnmap          TYPE REF TO if_ixml_named_node_map,
        lr_attr           TYPE REF TO if_ixml_node,
        lc_name           TYPE string,
        lc_value          TYPE string,
        lc_prefix         TYPE string,
        li_type           TYPE i,
        li_indent         TYPE i,
        li_index          TYPE i,
        li_count          TYPE i.
    * // ======= iXML =======
    *=======================================================================
      CLASS     cl_ixml          DEFINITION LOAD.
    *=======================================================================
      CHECK i_parent IS INITIAL.
    *-- Create the main factory
      lr_ixml = cl_ixml=>create( ).
    *-- Create the initial document
      lr_xml_doc = lr_ixml->create_document( ).
    *-- Create the stream factory
      lr_stream_factory = lr_ixml->create_stream_factory( ).
    *-- Create a stream for the input (string)
      lr_istream = lr_stream_factory->create_istream_cstring( i_input ).
    *-- Create the parser
    lr_parser = lr_ixml->create_parser( stream_factory = lr_stream_factory
                                         istream        = lr_istream
                                         document       = lr_xml_doc ).
    *-- We don't need the stream any more, so let's close it...
      lr_istream->close( ).
    * 1st attempt
    *  lr_node = lr_xml_doc.
    *  lr_iterator = lr_node->create_inline_iterator( ).
    *  li_type     = lr_iterator->get_type( ).
    *  WHILE li_type NE 0.
    *    li_indent = lr_iterator->get_height( ) * 2.
    *    CASE li_type.
    *      WHEN if_ixml_node=>co_node_element.
    *        lr_nnmap = lr_iterator->get_attributes( ).
    *        li_index = 0.
    *        li_count  = lr_nnmap->get_length( ).
    *        WHILE li_index < li_count.
    *          lr_attr  = lr_nnmap->get_item( li_index ).
    *          lc_name  = lr_attr->get_name( ).
    *          lc_value = lr_attr->get_value( ).
    *          li_index = li_index + 1.
    *        ENDWHILE.
    *    ENDCASE.
    *    li_type = lr_iterator->advance( ).
    *  ENDWHILE.
    * 2nd attempt
      lr_node ?= lr_xml_doc.
    * Create a node iterator
      lr_iterator = lr_node->create_iterator( ).
    * Get current node
      lr_node = lr_iterator->get_next( ).
    * Loop over all nodes
      WHILE NOT lr_node IS INITIAL.
        li_indent = lr_node->get_height( ) * 2.
        li_indent = li_indent + 20.
        CASE lr_node->get_type( ).
          WHEN if_ixml_node=>co_node_element.
    *       Element node
            lc_name = lr_node->get_name( ).
            lr_nodemap = lr_node->get_attributes( ).
            IF NOT lr_nodemap IS INITIAL.
    *         Attributes
              li_count = lr_nodemap->get_length( ).
              DO li_count TIMES.
                li_index  = sy-index - 1.
                lr_attr   = lr_nodemap->get_item( li_index ).
                lc_name   = lr_attr->get_name( ).
                lc_prefix = lr_attr->get_namespace_prefix( ).
                lc_value  = lr_attr->get_value( ).
              ENDDO.
            ENDIF.
          WHEN if_ixml_node=>co_node_text OR
               if_ixml_node=>co_node_cdata_section.
    *       Text node
            lc_value = lr_node->get_value( ).
        ENDCASE.
    *   Advance to next node
        lr_node = lr_iterator->get_next( ).
      ENDWHILE.
    ENDMETHOD.
    Any idea what could be wrong?
    Thanks in advance,
    Peter

    Thanks!
    Unfortunately my code should also work on 46C, so XLST is not an option. Anyway I used some code from SAPLink  and it works fine now.
    *-- Create the main factory
      lr_ixml = cl_ixml=>create( ).
    *-- Create the initial document
      lr_xml_doc = lr_ixml->create_document( ).
    *-- Create the stream factory
      lr_stream_factory = lr_ixml->create_stream_factory( ).
    *-- Create a stream for the input (string)
      lr_istream = lr_stream_factory->create_istream_cstring( i_input ).
    *-- Create the parser
      lr_parser = lr_ixml->create_parser(
                          stream_factory = lr_stream_factory
                          istream        = lr_istream
                          document       = lr_xml_doc ).
    *-- Parse the stream
      lr_parser->parse( ).
    *-- We don't need the stream any more, so let's close it...
      CLEAR lr_istream.
    * Find the tag
      lr_rootnode = lr_xml_doc->find_from_name( c_tag_structureddocument ).
      lr_attributelist = lr_rootnode->get_attributes( ).
      lr_nodeiterator  = lr_attributelist->create_iterator( ).
      lr_attributenode = lr_nodeiterator->get_next( ).
    * Find the attribute
      WHILE lr_attributenode IS NOT INITIAL.
        lc_name = lr_attributenode->get_name( ).
        IF lc_name = c_attribute_id.
          lc_value = lr_attributenode->get_value( ).
          EXIT.
        ENDIF.
        lr_attributenode = lr_nodeiterator->get_next( ).
      ENDWHILE.
      mc_output = lc_value.

  • Getting User Attributes from an Active Directory LDAP

    Hello all.
    I want to extract attributes assigned to a user in the Active Directory LDAP and make them available through the getPropertyValue property in Javascript. I know that a user's System Attributes can be accessed with getPropertyValue but I have not found a way to get specific attributes from the LDAP and make them available as specific attributes in xMII. System attributes like "EmailAddress1" seem to transfer from the LDAP but others don't. Anyone have any ideas?
    Thanks.
    ...Sparks

    Sparks,
    If you're using 11.5 or 12 actually they should all map into the system as session properties.  You can use the following URL to verify your session properties:
    http://<xMIIServer>/Lighthammer/PropertyAccessServlet?Mode=List
    If you are not seeing the attributes you expect then your Attribute Query for User or Role is incorrect for your LDAP system and you need to change the LDAP configuration queries.
    -Sam

  • Reading Attributes from different context nodes in the same view

    Hi,
    I have added a new field as part of an enhancement for Trade Promotions. This field is a checkbox and part of the context node TRADE in the view TPMOE/HeaderEOF. This field will be checked or unchecked using a logic in the background.
    The logic will be based on an attribute (Fund Plan ID) which is part of another context node FUNDPLAN in the same view.
    How can I read the attribute of FUNDPLAN context node in TRADE context node?
    A sample code will be quite helpful as I am new to CRM 2007.
    Thanks,
    Abhishek
    Edited by: Abhishek  Periwal on Oct 16, 2008 2:35 PM

    Hi Abhishek,
    If I understand your question correctly, you would like to access the Fund plan ID (in a different context node) in the getter setter methods of the check box attribute which you have added.
    The code snippet mentioend by sudeep works perfectly fine when you are making any checks in the view implementation class. But since you are in the getter setter methods of the context class, this doesnot work as "me" always refers to the class instance in which you are present.
    Now in this case what you need to do is :
    1)  create an attribute <view_controller> in your context class. Here the context is TRADE. The type of this attribute wud be same as the view controller class CL_TPMOE_HEADEREOF0_IMPL
    2) Go to the view controller class and redefine the method
    DO_VIEW_INIT_ON_ACTIVATION. This method is called only once when the view is loaded for the first time.
    3) In this method, put the following code
    me->typed_context->(Trade)->[view_controller] = me.
    by the above code, you are setting the newly created attribute to the view controller instance.
    4) The next step would be, go back to your getter setter methods or what ever it may be, try referring to the Fund plan ID by the code snippet mentioned below
    data: lr_entity type ref to cl_crm_bol_entity.
    lr_entity ?= me->[view_controller]->typed_context->[the context node in which the fund plan id is present]->get_current().
    lv_field_value = lr_entity->get_property_as_String( **pass the field name here ).
    This should definitely resolve the problem.
    Thanks,
    Vinay

  • How to switch from different views when a common button is clicked on using View states concept

    Hi
    i have  made a single form for both Login Screen and Registration screen with two states :
    1. BaseState which is the curret state of  state of My application
    2.registrationstate 
    I have a common button for changing from one view to another view .(Not related to any of the state)
    At first the Login screen is loaded , and when the common  button is clicked , i want to switch to Registration Screen .
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
        <![CDATA[
    // Logic for common button needed .
        public function handleMe(event:MouseEvent):void
        ]]>
    </mx:Script>
        <mx:states>
            <mx:State name="registrationstate">
                <mx:SetProperty target="{formitem1}" name="label" value="Email"/>
                <mx:SetProperty target="{button1}" name="label" value="Change state to Login"/>
            </mx:State>
        </mx:states>
        <mx:Form x="248" y="158">
            <mx:FormItem label="User Name" fontWeight="bold" id="formitem1">
                <mx:TextInput/>
            </mx:FormItem>
        </mx:Form>
    <!-- This is my coomon button-->
        <mx:Button
            click="handleMe(event)"  
            x="297" y="261" label="Change state to Registration" id="button1"/>
    </mx:Application>

    Originally I could not get that to work, but now I have it working:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
      <mx:Script>
        <![CDATA[
          import mx.controls.Alert;
          public function handleMe(event:MouseEvent):void{  
            trace(this.currentState); 
            if(currentState=="" || currentState == null){
              mx.controls.Alert.show("base state");
              currentState = "registrationstate"; 
            }else if(currentState=="registrationstate"){
              mx.controls.Alert.show("registrationstate");
              currentState = ""; 
        ]]>
      </mx:Script>
      <mx:states>
        <mx:State name="registrationstate">
          <mx:SetProperty target="{formitem1}" name="label" value="Email"/>
          <mx:SetProperty target="{button1}" name="label" value="Change state to Login"/>
        </mx:State>
      </mx:states>
      <mx:Form x="248" y="158">
        <mx:FormItem label="User Name" fontWeight="bold" id="formitem1">
          <mx:TextInput/>
        </mx:FormItem>
      </mx:Form>
      <mx:Button click="handleMe(event)" x="297" y="261"
        label="Change state to Registration" id="button1"/>
    </mx:Application>
    If this post answers your question or helps, please mark it as such.
    Greg Lafrance - Flex 2 and 3 ACE certified
    www.ChikaraDev.com
    Flex / AIR Development, Training, and Support Services

  • Check In From CAD VIEW

    Hi Gurus,
    In SAP PLM integrated to ProE, I have opened an assembly in proe and through CAD VIEW from SAP PLM, I have created DIR for the assembly and its dependent components. If I try to check in the assembly (Originals-Check in Originals) in CAD VIEW, it will take the dependent files also and asks the Storasge location. After specifying the storage location, it starts check in process but comes out with the error saying "Error while checking in and storing: C:\ProSAP_Directintegration\ProSAP_Directintegrati"
    If I try to open the DIR and then from the originals If I attach the file and try to checkin and save, it works. But this is not something which am looking as I need CAD VIEW to be used to check in the Assembly/drawing along with it's associateed components.
    Can anyone help me understand how to solve this and help me check in any files from the CAD View.
    Regards,
    SM

    Hi SM,
      Can you elorate "ensure working directory is well defined" ?
    In the integration configuration files you will have to define the PATH AND DIRECTORY * PATH AND DIRECTORY * PATH AND DIRECTORY * PATH in the ProSAP.cfg file.  Please look at te example given and ensure you define your directories well.
    I tried checking in one part from CAD VIEW, even this is not possible.
    So this tells me there is some thing wrong in the way you have defined your work directories.
    or
    But I can check out from CAD VIEW. I can check in from the DIR i.e on tab originals-checkin and then saving DIR.
    The last thing I can think of is the file name. Ensure that your file name is consistent through out. This happens quite often with ProE as it  uses its own version numbering at times.
    I'm hoping one of the above will solve your problem. keep us posted how it goes!
    regards
    N K

  • How to use attributes from different context nodes in one view?

    I am VERY new to the concept of CRM and currently working on creating an alternate version of the BP_HEAD_SEARCH. With help from SAPPRESSs book 'SAP CRM Web Client' i was ble to create my own simple Z-component.
    However after going back and forth the book and the forum (including this [article|https://wiki.sdn.sap.com/wiki/display/CRM/Howtoaddanexistingfieldtoasearchpageofadifferent+component]) i was not able to find a solution to my problem. My current search uses BuilHeaderAdvancedSearch as context node for searching. But the search should also be able to use attributes from BuilActivity, which is directly related to BuilHeader. I can't seem to find a way to get attributes from BuilActivity into the search window of my component without having to change SAP-Standard.
    Is this really the only way? Please advise on possible code and insertion point.

    Any suggestions?

  • Removing the dynamic attributes from view context

    Hi,
    I have added an attribute dynamically using the following line of code in wdDoModifyView():
    wdThis.wdGetContext().getContext().getRootNodeInfo ().addAttribute(<attributename>, <datatype>);
    Now I want to remove the dynamically created attribute from the context.
    Pls suggest me in this regard.
    Regards,
    Ramesh.

    Hi Ramesh,
    You can use the following code to remove the attribute dynamically:
    Iterator itr = wdContext.node<NodeName>().getNodeInfo().iterateAttributes();
    <i>// If the node where you are making these attributes is a context node then just do:</i>
    // <b>wdContext.getNodeInfo().iterateAttributes()</b>, <i>for iterator</i>
    while(itr.hasNext()){
         IWDAttributeInfo attrInfo = (IWDAttributeInfo)itr.next();
         attrInfo.remove();
    This will solve your problem.
    Regards
    Pravesh
    PS: Please consider rewarding points if helpful and solved.

  • How to set value from one view to other view's context node attr b4 save

    HI all,
    My requirement is as below:
    There are two views in component BP_CONT.
    BP_CONT/ContactDetails    IMPL class
    BP_CONT/SalesEmployee   SALESEMPLOYEE    STRUCT.SALESEMPLOYEE
    I want to set value from first view to second view's context node's attribute.
    i get Sales Employee BP number in ContactDetails view, from here i want to set that value in to STRUCT.SALESEMPLOYEE
    of second view in the same component.
    please send me code snippet for doing the same.
    Thanks in advance.
    seema

    Hi Seema
    You can access the fields from different views by either using custom controllers or by using component controllers, in your case you can access the Sales employee BP number from the Component controller.
    first access the component controller  as below in BP_CONT/SalesEmployee  (in do_prepare_output method) or in (specific setter method)
    lv_compcontroller type ref to CL_BP_CONT_BSPWDCOMPONENT_IMPL,
    lv_partner type ref to cl_crm_bol_entity,
    lv_role type string,
    lv_partner_no type string.
    lv_employee TYPE REF TO if_bol_bo_property_access,
    lv_compcontroller  = me->COMP_CONTROLLER.
    lv_partner ?= lv_compcontroller  ->typed_context->-partner->collection_wrapper->get_current( ).
    lv_role = lv_partner->get_property( iv_attr_name = 'BP_ROLE' )
    IF LV_ROLE = 'SALESEMPLOYEE'
      lv_partner_no ?= lv_current->get_property( iv_attr_name = 'BP_NUMBER' ).
    endif.
    now set the value
    lv_employee ?= me->typed_context->salesemployee->collection_wrapper->get_current( )
    CHECK lv_employee IS BOUND.
        lv_employee->set_property( iv_attr_name = 'SALESEMPLOYEE' iv_value =  lv_partner_no  )
    Thanks & Regards
    Raj

Maybe you are looking for