Need help creating custom objects and adding them to an array.

Hi Everyone,
So I'm dinking around in Powershell today and I'm failing at creating an array of custom objects.  I want to create a HTML report that builds out after every MDT image update. To do that, I need to collect my data on what's contained in each build.
Here's my current script in progress -
function Parse-Dependents($fullname){
#PARAMETER SWITCHING
if(!($fullname)){
$dependents = get-dependents
if($fullname){
$dependents = get-dependents -fullname $fullname
#SPIN THROUGH ARRAY OF GUIDS FROM GET-DEPENDENTS
foreach($d in $dependents){
#SPIN THROUGH EACH APP IN APPLICATIONS.XML
foreach ($app in $apps){
#IF MATCH THEN ADD OBJECT WITH PROPERTIES
if($d -match $app.guid){
#ADD APPLICATION MATCH TO THE ARRAY
$applications = @{
'Name' = $app.ShortName;
'GUID' = $app.Guid;
'Version' = $app.Version;
'Last Modified Time' = $app.LastModifiedTime;
'Last Modified By' = $app.LastModifiedBy;
'Install Directory' = [string]'\\my\path\to\MDT\' + $app.WorkingDirectory.TrimStart(".","\")
'CommandLine' = $app.CommandLine;
new-object -typename PSObject -property $applications
#RETURN MATCHED ARRAY
return $applications
It all works great until I look at my output and see that I get my expected properties and array, but at the end it's created additional empty entries for each of my initial properties I assigned.  So I get my list of apps like this :
powershell.ex... OrgChart Plugin  \\my\mdt\server\ XX\user                     9/22/2014 5:... {ffee7497-0c...
And then below it :
                 CommandLine                                                                                    
                 Name                                                                                           
                 Install Direc...                                                                               
                 Last Modified By                                                                               
                 Version                                                                                        
                 Last Modified...                                                                               
                 GUID                                                                                           
And these are all listed under the Name property.  I'm still pretty new to PS (8 months or so now), and rarely have to create a custom object, but this seems like a case for doing so to create a custom html report.  Any ideas would be greatly appreciated.
Ryan

It's not really all that strange.  
If you look at your script, you're not outputting the hash table until both loops finish.  The values are dependent on the properties of the $app objects enumerated in the inner loop, and only outputting an object if the dependent ($d) matches the $app
guid property.
At the end, you're outputting the hash table without that test, so it's going to have values based on the last $app in the loop, regardless of whether the guid matches the dependents or not.
[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "

Similar Messages

  • Urgent help needed in creating customer ship_to and bill_to site id

    Hi,
    I am using an api to create customer ship_to and bill_to address, in Oracle OM R12 but the api does not return values. I am including the code so any suggestion will be helpful.
    declare
    l_num_billing_site_use NUMBER;
    l_num_cust_site_id NUMBER;
    l_rec_cust_site_use apps.Hz_Cust_Account_Site_V2pub.CUST_SITE_USE_REC_TYPE;
    l_rec_customer_profile apps.Hz_Customer_Profile_V2pub.CUSTOMER_PROFILE_REC_TYPE;
    l_chr_retcode VARCHAR2(20);
    l_chr_errbuf VARCHAR2(200);
    l_num_count NUMBER;
    begin
    -- fnd_global.apps_initialize (1885, 21623, 660); -- user id, --resp_id (OM Super User), appl_id
    -- mo_global.init ('AR');
    -- mo_global.set_policy_context ('S', 511);
    l_rec_cust_site_use.site_use_code := 'BILL_TO';
    l_rec_cust_site_use.cust_acct_site_id := 24919;
    l_rec_cust_site_use.primary_flag := 'N';
    l_rec_cust_site_use.created_by_module := 'CONVERSION'; -- Change
    BEGIN
    apps.Hz_Cust_Account_Site_V2pub.create_cust_site_use( p_init_msg_list => FND_API.G_FALSE
    , p_cust_site_use_rec => l_rec_cust_site_use
    , p_customer_profile_rec => NULL --l_rec_customer_profile
    , p_create_profile => FND_API.G_FALSE
    , p_create_profile_amt => FND_API.G_FALSE
    , x_site_use_id => l_num_billing_site_use
    , x_return_status => l_chr_retcode
    , x_msg_count => l_num_count
    , x_msg_data => l_chr_errbuf);
    EXCEPTION
    WHEN OTHERS THEN
    FND_FILE.PUT_LINE(FND_FILE.LOG,' Unexpected error creating customer site for Cust Site Id ' || l_num_cust_site_id || ' due to: ' || SQLERRM);
    END;
    dbms_output.put_line('cust_site_use:'||l_num_billing_site_use);
    end;
    Thanks,
    Srinivas
    Edited by: user2138419 on Feb 14, 2010 4:46 PM

    It might be a crossdomain.xml problem.
    Please make sure that the server hosting the xml allows the domain where the swf is hosted.
    You can start with:
    <?xml version="1.0" encoding="utf-8" ?>
    <cross-domain-policy>
        <allow-access-from domain="*"/>
        <site-control permitted-cross-domain-policies="master-only"/>
    </cross-domain-policy>

  • Need help with Group Headings and showing them on drill down.

    Hi all:
    I think this is a simple question and feel that I should already know the answer but for some reason it eludes me.  What I would like to know is the proper way to hide/display group headings and have them show up on drill down BUT not repeat on each group header.
    What I have for grouping is as follows:
    Group Header #1 u2013 Sales Rep
      Group Header #2 u2013 Customer
        Group Header #3 u2013 Product Class
          Group Header #4 u2013 Stock Code
            Details
          Group Footer #4 u2013 summary calculated on this line
        Group Footer #3  u2013 summary calculated on this line
      Group Footer #2 u2013 summary calculated on this line
    Group Footer #1 u2013 summary calculated on this line
    My goal is to have my report show only the lines listed below by default and allow the user to drill down group by group to the details section:
    Group Header #1 u2013 Sales Rep
      Group Footer #2 u2013 summary calculated on this line
    Group Footer #1 u2013 summary calculated on this line
    If anyone could offer any help it would be greatly appreciated!
    Thanks,
    FatMan

    click section expert, then for example of GH3, highlight it, then click on the formula box for suppression, and put in the code....
    Drilldowngrouplevel < 3
    The result will be that this GH3 is suppressed whenever the report is showing GH1 and 2 but not 3.
    In addition to this, you must Hide(Drill-down ok) GH3. This is also done in the section expert.
    Then just do the same for GF3, and for GH4/GF4 make sure you use...
    Drilldowngrouplevel < 4

  • Photoshop Help | Creating 3D objects and animations (Photoshop CS5 Extended)

    This question was posted in response to the following article: http://helpx.adobe.com/photoshop/using/creating-3d-objects-animations-photoshop.html

    Regarding "Create internal constraints from selections, work paths, or text" -- Is it possible to create a constraint on an object created using a preset such as a cylinder or wine bottle?

  • Need help creating custom .swf skin and exporting for use

    Please, can anyone help...
    I am currently working on a projects that needs to have a custom flash skin player.
    I have tried copying and editing excisting skins, but when I export the swf and fla into the crrect folders, I am able to select it from the skin list- however it doesn;t show in the player.
    Am I exporting/publishing this in the correct way and to the right folders?
    If anyone can give me a tip of how to achieve this that would be great, or a link to somewhere that may have the infor I'd be happy,
    Cheers
    Cliff

    Hi,
    Do you mean skinning FLVPlayback palyer?
    Warm Regards
    Deepanjan Das
    http://deepanjandas.wordpress.com/

  • Help with instantiating objects and validating them please

    Hello,
    im working on an assigment where i have to make a milk tank object that simulates a Milk tanker (one of those things that carrys milk :P)
    It has a specific constructor that you can pass the volume and capacity to it. I was wondering how i could validate this and make it so the object doesnt instantiate and maybe return an error message if the volume of milk exceeds the capacity of the milk tanker?
    basically i just want to make sure an object is valid while it instantiates, otherwise bomb out and return an error..
    Thank you,
    Phill
    PS: im still learning java so some stuff might be over my head, but ive got a book next to me to help me understand :) (yes, ive checked and i cant find anything on this subject)

    public MilkTanker(int volume, int capacity) throws
    InvalidArgumentException
    if (volume > capacity)
    throw new InvalidArgumentException("Volume can't be greater than >capacity");
    this.volume = volume;
    this.capacity = capacity
    }This means that while trying to create a new object of this class you need to handle a possible exception:
    public static void main (String [] args){
       try {
          MilkTanker tank = new MilkTanker(100, 1000);
       catch (InvalidArgumentException _){
          System.err.println(_.getMessage());
    }In the case that an exception is thrown the object of this class will not be created and every line of code you might have after the constructor call (inside the try clause) will not be executed.
    Hope that helped
    afotoglidis

  • Need help creating perfect curves and outlines (CS3, Windows XP)

    Is there a way to make a specific curve that is perfect? It seems that with the pen tool you have to "eyeball" the curve as you drag it. I know that you can use the ellipse tool to make a perfect circle and then use the eraser or scissors tool to cut out a section of it, but that isn't really an ideal method. What I'd like to be able to do is while creating a path with the pen tool place an anchor for the next segment of the path and then specify e.g., a 6" radius, and have it make the path with a perfect 6" radius curve.
    I also have a question about outlining, or more specifically, creating a perfect "floating" outline around curved objects. Using this image as an example - http://farm4.static.flickr.com/3153/2894804973_a6bf492692_o.png - once you have created one of the outlines, is there a way to perfectly create the other two "floating" outlines? I did those manually, and the straight sections are perfect because that's easy; but the curved sections are not perfect; they are "eyeballed".

    [Man after my own heart]
    > Is there a way to make a specific curve that is perfect?
    Not with anything even approaching a sensible, no-nonsense procedure. What do you expect? This is only the top-selling vector drawing program, and it's only been on the market for 20+ years, charging loyal customers a couple hundred dollars for 14 version upgrades so far.
    There are two--count 'em, TWO--Round Corners commands. One is a Filter, the other is an Effect. Both prompt you for a radius. Whether you actually get the value you enter as a radius of the curve is a matter of so many ridiculous caveats that you might as well consider it useless.
    Example:
    Assume your Ruler units are set to inches.
    1. Rectangle Tool: Click. (Don't drag.) In the resulting dialog, enter 1" for both height and width.
    2. White Pointer: click the lower left anchorPoint to select it. Delete. Now you have the most basic of all figures you might want to put a specified radius on, right? A 3-point path forming a right angle. Furher, you know its height and width; both legs of the right angle are 1" in length.
    3. Filter>Stylize>RoundCorners. In the resulting modal dialog, enter .75" for the radius. Click OK.
    4. The corner rounds.
    5. DirecSelect (sigh--white pointer) the rounded segment (not the points, the segment). Copy. PasteInFront.
    6. Look at the Transform Palette and tell me the height and width of the arc (should be equal to the radius, right? Tell me what you get. I get .5".
    Why does Illustrator work this way? The only feedback I ever get when I raise issues like this is something akin to, "James, not everyone wants to do
    technical drawing like you."
    A straightforward user-defined corner radius is too
    technical for the top-selling "professional" vector drawing program.
    So what do you do? A lengthy barrage of cheezy workarounds and inane defenses of the indefensible is sure to follow shortly.
    JET

  • I need help with comparing Objects of an ArrayList

    Hi,
    I am trying to compare a certain variable of objects which are stored in an arrayList.
    for example i have a class called AuctionBid(String bidderID, BitSet itemSet, int bidValue)
    and i have another class called AuctionBidFactory which creates AuctionBid objects and stores them into an arrayList
    I have another Gui class which acts as a user interface where the user can create bids but then i want to compare the itemSet of the AuctionBid which is created by the user to the itemSets of the AuctionBid objects which already exist in the arrayList and if that itemSet does not exist in the arraylist then will add the new AuctionBid to the arrayList.
    I have the following method in the AuctionBidFactory which is supposed to compare the itemSets of the AuctionBids in the arrayList and it does not work:
    public boolean containsItem(AuctionBid auctionBid) {
              if (auctionBids.contains(auctionBid.itemSet)) {
                   return true;
              return false;
    where auctionBids is the arrayList where the AuctionBid objects are stored
    I hope the information above is enough to see where the problem is.
    many thanks

    Amit, unfortunately I dont have a different object for the user bids. Basically I just have the AuctionBid(String bidder,BitSet items, int value) and the reason why im using bitSet is that im modelling a combinatorial auction where the bidder can bid on combination of items.
    now when the user puts a bid that bid is added to an arrayList of ArrayList<AuctionBid>
    then once all the bidings have finished i want to create autoBids for those single items only for which there are no bids. so for example lets say there are 6 items for auction and if there are the following bids in the arrayList:
    AuctionBid(bidder1,{1},5)
    AuctionBid(bidder2,{5},8)
    i want to create autobids as follow:
    AuctionBid(autoBid,{0},0)
    AuctionBid(autoBid,{2},0)
    AuctionBid(autoBid,{3},0)
    AuctionBid(autoBid,{4},0)
    and then i want to add these created bids to the same arrayList where all the bids are.
    but if I use the arrayList.contains() method it will compare the whole objects to each other rather than just comparing the bitSets(items) in each bid.
    so i dont know whether i can still do this without overriding the equals() method in the AuctionBid class or not
    regards
    Arneh

  • I have Pages 09.  I have created custom templates and want to delete them.  How do I delete a template I have created in Pages 09?

    I have Pages 09.  I have created custom templates and want to delete them.  How do I delete a template I have created in Pages 09?

    Pages stores those you created & saved as templates in (your account) > Library > Application Support > iWork > Pages > Templates > My Templates. The door to the user's Library is hidden in Lion but it is easy to open. In Finder, hold down the Option key while clicking on the Go menu & your users Library will appear about halfway down the list.

  • I have 2 children with iPods and I need to create 2 different accounts for them so they can play the same games.  How do I do this?

    I have 2 children with iPods and I need to create 2 different accounts for them so they can play the same games.  How do I do this?

    To restore the classic menu bar, you can do any of these:
    orange Firefox button > Options > Menu Bar
    tap the Alt key > View > Toolbars > Menu Bar
    right-click a blank area of the tab bar or navigation bar > Menu Bar

  • Creating users and adding them to groups programmatically in Portal 902

    What is the correct process and code needed to create a user and add it to a group programmatically in Portal 9.0.2 and how is it different from what it used to be in 309.
    If anyone has an answer, please let me know and all contributions are really appreciated.
    Thanks

    You can use these procedures.
    procedure Create_User(first_name IN VARCHAR2
    ,last_name IN VARCHAR2
    ,password IN VARCHAR2
    ,email IN VARCHAR2
    ,employeenumber IN VARCHAR2
    ,description IN VARCHAR2
    is
    retval PLS_INTEGER;
    emp_session DBMS_LDAP.session;
    emp_dn VARCHAR2(256);
    emp_rdn VARCHAR2(256);
    emp_array DBMS_LDAP.MOD_ARRAY;
    emp_vals DBMS_LDAP.STRING_COLLECTION ;
    ldap_host VARCHAR2(256);
    ldap_port VARCHAR2(256);
    ldap_user VARCHAR2(256);
    ldap_passwd VARCHAR2(256);
    ldap_base VARCHAR2(256);
    BEGIN
    retval := -1;
    ldap_host := '<you_host>';
    ldap_port := '4032';
    ldap_user := 'cn=orcladmin';
    ldap_passwd:= '<orcladmin_password>';
    ldap_base := 'cn=users,dc=<your_compani_name>,dc=com';
    DBMS_LDAP.USE_EXCEPTION := TRUE;
    emp_session := DBMS_LDAP.init(ldap_host, ldap_port);
    -- Bind to the directory
    retval := DBMS_LDAP.simple_bind_s(emp_session,ldap_user, ldap_passwd);
    emp_array := DBMS_LDAP.create_mod_array(14);
    emp_vals(1) := first_name;
    DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD,'cn',emp_vals);
    DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD,'givenname',emp_vals);
    DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD,'uid',emp_vals);
    emp_vals(1) := last_name;
    DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD,'sn',emp_vals);
    emp_vals(1) := employeenumber;
    DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD,'employeenumber',emp_vals);
    emp_vals(1) := description;
    DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD,'description',emp_vals);
    emp_vals(1) := 'top';
    emp_vals(2) := 'person';
    emp_vals(3) := 'organizationalPerson';
    emp_vals(4) := 'inetOrgPerson';
    emp_vals(5) := 'orcluser';
    emp_vals(6) := 'orcluserv2';
    DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD,'objectclass',emp_vals);
    emp_vals.DELETE;
    emp_vals(1) := email;
    DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD,'mail',emp_vals);
    emp_vals(1) := password;
    DBMS_LDAP.populate_mod_array(emp_array,DBMS_LDAP.MOD_ADD,'userPassword',emp_vals);
    emp_dn := 'cn=' || first_name || ',' || ldap_base ;
    retval := DBMS_LDAP.add_s(emp_session,emp_dn,emp_array);
    DBMS_LDAP.free_mod_array(emp_array);
    retval := DBMS_LDAP.unbind_s(emp_session);
    -- Handle Exceptions
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(' Error code : ' || TO_CHAR(SQLCODE));
    DBMS_OUTPUT.PUT_LINE(' Error Message : ' || SQLERRM);
    DBMS_OUTPUT.PUT_LINE(' Exception encountered .. exiting');
    end Create_User;
    create or replace
    procedure Add_User_To_Group(user_name IN VARCHAR2
    ,group_name IN VARCHAR2
    is
    retval PLS_INTEGER;
    ldap_host VARCHAR2(256);
    ldap_port VARCHAR2(256);
    ldap_user VARCHAR2(256);
    ldap_passwd VARCHAR2(256);
    ldap_base VARCHAR2(256);
    my_session DBMS_LDAP.session;
    my_message DBMS_LDAP.message;
    my_entry DBMS_LDAP.message;
    my_array DBMS_LDAP.MOD_ARRAY;
    my_vals DBMS_LDAP.STRING_COLLECTION ;
    group_dn VARCHAR2(256);
    user_dn VARCHAR2(256);
    BEGIN
    retval := -1;
    ldap_host := '<you_host>';
    ldap_port := '4032';
    ldap_user := 'cn=orcladmin';
    ldap_passwd:= '<orcladmin_password>';
    ldap_base := 'cn=users,dc=<your_compani_name>,dc=com';
    DBMS_LDAP.USE_EXCEPTION := TRUE;
    my_session := DBMS_LDAP.init(ldap_host, ldap_port);
    -- Bind to the directory
    retval := DBMS_LDAP.simple_bind_s(my_session,ldap_user, ldap_passwd);
    --Find the user
    my_vals(1) := '1.1';
    retval := DBMS_LDAP.search_s(my_session,
    ldap_base,
    DBMS_LDAP.SCOPE_SUBTREE,
    '(&(objectClass=person)(cn=' || user_name || '))',
    my_vals,
    0,
    my_message);
    my_entry := DBMS_LDAP.first_entry(my_session, my_message);
    IF my_entry IS NOT NULL THEN
    user_dn := DBMS_LDAP.get_dn(my_session, my_entry);
    retval := DBMS_LDAP.search_s(my_session,
    ldap_base,
    DBMS_LDAP.SCOPE_SUBTREE,
    '(&(objectClass=orclGroup)(cn=' || group_name ||'))',
    my_vals,
    0,
    my_message);
    my_entry := DBMS_LDAP.first_entry(my_session, my_message);
    IF my_entry IS NOT NULL THEN
    group_dn := DBMS_LDAP.get_dn(my_session, my_entry);
    my_array := DBMS_LDAP.create_mod_array(1);
    my_vals(1) := user_dn;
    DBMS_LDAP.populate_mod_array(my_array, DBMS_LDAP.MOD_ADD, 'uniqueMember', my_vals);
    retval := DBMS_LDAP.modify_s(my_session, group_dn, my_array);
    DBMS_OUTPUT.PUT_LINE(RPAD('modify_s Returns ',25,' ') || ': '|| TO_CHAR(retval));
    DBMS_LDAP.free_mod_array(my_array);
    END IF;
    END IF;
    my_vals.DELETE;
    retval := DBMS_LDAP.unbind_s(my_session);
    -- Handle Exceptions
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(' Error code : ' || TO_CHAR(SQLCODE));
    DBMS_OUTPUT.PUT_LINE(' Error Message : ' || SQLERRM);
    DBMS_OUTPUT.PUT_LINE(' Exception encountered .. exiting');
    end Add_User_To_Group;

  • Digital Publishing Suite Help | Creating custom viewer apps for the iPad and iPhone

    This question was posted in response to the following article: http://helpx.adobe.com/digital-publishing-suite/help/create-custom-viewer-app-ipad.html

    The Approval Status section is no longer in DPS App Builder, but this reference wasn't removed. You can submit your app to the gallery using this form:
    https://adobeformscentral.com/?f=ozjJFvlBionBofBtd-wjbQ#

  • Error in creating Connection Object and Device Location

    Hi ,
    When i am creating Connection Object and Device Location , system is giving dump . all other object are working fine.
    the error is gievn below :
    Error in reading table TE130.
    i checked this the table , its have no entries ( mainly field ISTYP is blank ) and this is the cause of problem .
    Could you please tell me that how to fill this table before creating Connection object and device location. i think some configuration should be needed for this but i dont know how .
    thanks and regards
    Deepak.

    Hi Deepak,
    You can check standard configuration in client 000.
    Meanwhile you can use this settings:
    ISTYP TPLKZ FLTYP NUMKI NUMKE
    C     AO_GP     A     01     OC
    D     AO_GP     G     02     OC
    This is where you define structure indicator for isu technical location category.
    ISTYP correspond to the type of technical location in ISU, C for connection object and D for device location
    The content of TPLKZ is defined in the following menu in SPRO.
    Plant Maintenance and Customer Service
    Master Data in Plant Maintenance and Customer Service
    Technical Objects
    Functional Locations
    Create Structure Indicator for Reference Locations/Functional Locations
    Hope it helps,
    Regards,
    Daniel Valenzuela
    Edited by: Daniel Valenzuela on Feb 4, 2008 3:22 PM

  • Need help filling this object please!!!

    I need to fill shape 1 with a solid color. Shape 2 is what the object looks like when selected. Shape 3 is what happens when I try to fill it with color. I need it to stay within the boundaries shown on shape 1. Please help, I'm relatively new to Illustrator and cannot seem to find out what it is that is happening. I'm working in Illustrator CC.

    jbizzle,
    However I needed to redraw the object, and instead of lines I had to use rounded rectangles to create it.
    Can you reuse the outer shape that looks like part of an ellipse?
    If you can, you can start by recreating the top one as follows (Smart Guides are your friends):
    1) Select and copy the upper/outer elliptic shape to the front (Ctrl+C+F), then lock the original full shape;
    2) With the Line Segment Tool ClickDrag between the end Anchor Points of 1) (Smart Guides say anchor when you are there), then drag over the H value in the Transform palette and Ctrl+C to copy it;
    3) Click with the Ellipse Tool on the Artboard and insert the value divided by 2 for W and H, then cut it at the top and bottom Anchor Point, then delete the right half;
    4) Move the half circle on top of the lower left half circle shape as closely as possible, then select both the half circle and the outer ellipse, click the outer ellipse again and in the Align palette click Vertical Align Bottom;
    4) Create a copy of the half circle and move it up by its height, then ShiftDrag it to fit the upper right half circle shape as closely as possible;
    Now you should have the curved parts in place, and you only need the straight parts;
    5) With the Direct Selection Tool Click each pair of Anchor Points to be connected by straight segments and Ctrl+J to join them;
    Now you should have one clean path to fill. After that, you can rotate and move a copy.

  • Need to create Customer to multiple sites record in one run.

    Hi all,
    we have one table called (e.g.) Prospect. To this table we can associate three different sites: one the legal
    site, one admin and one for logistic. All the three sites refer to the main Prospect table via the Prospect_id
    and related info are all saved into the same Site_all table (the site type is not stored directly into the site_all
    table but via a use_site_all table, similarly to what happens with some standard OApps tables).
    We need to create the Prospect and associated three sites via an OA Framework page (actually multiple steps).
    So to visually resume:
    _ Site1 ---- use:legal
    Prospect - Site2 -- use:admin
    - Site3 --- use:logistic
    What's the best approach to achieve the creation of the records in the tables ?
    a) to add three EO for the Site table (with related AO) and one big ProspectAllVO view object containing all the fields
    from the three EO ?
    b) to add just one EO for the site and reference it three times while defiing the ProspectAllVO ?
    c) to specify a View Link (but this should be done three times and I'm not sure how to synchronize and manage
    the transaction for the creation ?
    d) AOB ?
    Thanks in advance. Regards.
    Giuseppe Naldi

    is it really just one IDOC?
    I have never seen that SAP just does a part of one IDOC.
    the structure of DEBMAS ist like this:
    E1KNA1M
    --E1KNVVM
    E1KNVPM
    E1KNVDM
    E1KNVIM
    --E1KNB1M
    which means for your example it should be like this
    E1KNA1M
    --E1KNVVM
    E1KNVPM
    E1KNVDM
    E1KNVIM
    --E1KNVVM
    E1KNVPM
    E1KNVDM
    E1KNVIM
    --E1KNB1M
    and in this case I am very certain that it would never just process and create the part for one sales area.
    Maybe your customer already exists from ealier tests with just one sales area.
    Display your IDOC in WE02 or WE05 and make sure you have a value in name1 field

Maybe you are looking for