Assign entry.attr(counter1).attrval(counter2) to var issue

Hi Friends,
we create a register procedure in OID PROVISIONING.
however. i got an error message as ORA-06502: PL/SQL: numeric or value error: NULL index table key value.
After debuging, we found that issue result assign null value .
when we assign as
user_vals(counter2) := entry.attr(counter1).attrval(counter2);
or l_xxx := entry.attr(counter1).attrval(counter2); again
It seems that that we can not assign entry.attr(counter1).attrval(counter2) to other var two time in procedure.
It is server configuration issue or code issue.
Thanks
*********************** Code
PROCEDURE pre_add (     ldapplugincontext IN ODS.plugincontext,
               dn IN VARCHAR2,
               entry IN ODS.entryobj,
               rc OUT INTEGER,
               errormsg OUT VARCHAR2
IS
ret                INTEGER;
l_portal_user      wwsec_person.USER_NAME%type;
l_first_name      wwsec_person.FIRST_NAME%type;
l_last_name      wwsec_person.LAST_NAME%type;
l_email      wwsec_person.EMAIL%type;
l_work_phone      wwsec_person.WORK_PHONE%type;
l_mobile      wwsec_person.MOBILE_PHONE%type;
counter1           pls_integer;
counter2           pls_integer;
retval                pls_integer := -1;
s                integer;
user_session           DBMS_LDAP.session;
user_dn           varchar(256);
user_array           DBMS_LDAP.mod_array;
user_vals           DBMS_LDAP.string_collection;
user_binvals           DBMS_LDAP.blob_collection;
indx                number := 1;
BEGIN
l_portal_user      :=null;
l_first_name      :=null;
l_last_name      :=null;
l_email      :=null;
l_work_phone      :=null;
l_mobile      :=null;
l_description      :=null;
rc := 0;
errormsg :=null;
-- Create a mod_array
user_array := dbms_ldap.create_mod_array(entry.binattr.count + entry.attr.count);
-- Create a user_dn
user_dn := substr(dn,1,instr(dn,',',1,1))||'cn=users,dc=e-hms,dc=net';
FOR l_counter1 IN 1..entry.attr.COUNT LOOP
     FOR l_counter2 IN 1..entry.attr(l_counter1).attrval.COUNT LOOP
     ckerror('second loop get value--'|| entry.attr(l_counter1).attrname || '[' || l_counter1 || ']' ||'.val[' || l_counter2 || '] = ' ||entry.attr(l_counter1).attrval(l_counter2));                                   
if entry.attr(l_counter1).attrval(l_counter2)     is null then
ckerror('handle null attribule ');
else                    
-- get value
          ckerror('get value2'||entry.attr(l_counter1).attrname);
IF entry.attr(l_counter1).attrname ='givenname' then           
               l_first_name :=entry.attr(l_counter1).attrval(l_counter2);
               ckerror('givename/firstname--'||l_first_name);
     elsif entry.attr(l_counter1).attrname ='sn' then           
               l_last_name :=entry.attr(l_counter1).attrval(l_counter2);
               ckerror('sn/lastname--'||l_last_name);
          elsif entry.attr(l_counter1).attrname ='mail' then
               l_email := entry.attr(l_counter1).attrval(l_counter2);
               ckerror(' email--'||l_email);
          elsif entry.attr(l_counter1).attrname ='mobile' then           
               l_mobile :=entry.attr(l_counter1).attrval(l_counter2);
               ckerror('mobile--'||l_mobile);
          elsif entry.attr(l_counter1).attrname ='telephonenumber' then           
               l_work_phone :=entry.attr(l_counter1).attrval(l_counter2);
               ckerror('work telphone--'||l_work_phone);
          elsif entry.attr(l_counter1).attrname ='cn' then           
               l_portal_user :=entry.attr(l_counter1).attrval(l_counter2);
               ckerror('cn/username--'||l_portal_user);
          elsif entry.attr(l_counter1).attrname ='description' then           
               l_description :=entry.attr(l_counter1).attrval(l_counter2);
               ckerror('description--'||l_description );
          else
          ckerror('handle other entry name--'||     entry.attr(l_counter1).attrname);
          ckerror('handle other entry--'||entry.attr(l_counter1).attrval(l_counter2) );
          end if;
end if;
ckerror('end compare at second loop');
ckerror('NULL ASSIGN ISSUE FOR 72 --'||entry.attr(counter1).attrval(counter2));
user_vals(counter2) := entry.attr(counter1).attrval(counter2);
END LOOP;
ckerror('end first loop');
--- put ldap
dbms_ldap.populate_mod_array(user_array,DBMS_LDAP.MOD_ADD, entry.attr(counter1).attrname,user_vals);
user_vals.delete;
END LOOP;
processs other (l_firstname...) vars in SQL sataement
EXCEPTION
WHEN OTHERS THEN
ckerror( 'Exception in PRE_ADD plugin. Error code is ' || TO_CHAR(SQLCODE));
ckerror( ' ' || Sqlerrm);
rc := 909;
errormsg := 'Error code:'|| rc||' exception: pre_add data';
END;

Del,
You can distinguish dynamically generated Column headers by following option,
Distinguish categories of columns based on Restrictions (Actuals, Plan, Variance etc) and Concatenate those fields with Text Variables ("Jan 2008" + 'Actuals').
Try it out and let me know your inputs.
-Prakash Patil

Similar Messages

  • Calender Assignment entries go missing!

    Hi All,
    T090Z is the table containing Calender Assignment entries used by period controls.  You can access this through OAVH.
    Everytime I configure a new company code in FA, the custom entries (counting about 3000) in table T090Z go missing!  If anyone had similar experience or anyone knows why this is happening, please help.
    Thanks
    Muru

    Hi,
    For your information, this issue was referred to SAP.  Their response is that if custom period controls were defined without prefixing X,Y,Z then the system will not be able generate period control rules.  Hence, the custom entries in calender assignments go missing.
    Thanks
    Muru

  • Number of entries in the list industry sector varies (Transaction MM01)

    Hell friends
    I have 2 different ECC servers. When I try to create a material using transaction MM01, I see different lists on them.
    Both of them were installed recently and so everything available there are standard SAP created data.
    When I enter transaction code MM01 and select the list Industry Sector on the first server, I see a huge list starting with AgriculturalServices, AutoRepairServicesParking, BldgMaterialsHWGardenSupp etc. (More than 25 in number).
    However, I try the same thing on the second server I see only 5 of them. I am looking for Finished product on this second server and I don't see that, which is a standard industry sector according to what I have read.
    Could some one please let me know why this difference and also how to see all the entries in the list?
    Your response will be highly appreciated.
    Tks
    Ram

    Hi,
    Check table V137 in both servers and also
    check ENHANCEMENT patch level of both the servers
    Thanks
    Diwakar

  • Record assigned entry different for service requests and incidents

    Hi
    I've noticed something recently when using/implementing service manager that the record assignment formats are different depending on if you are assigning an incident or service request.
    For example when assigning an incident the record assignment shows the display names of the user being assigned (eg the incident is assigned to Joe Bloggs) however for a service request it shows as assigned to domain\jbloggs.
    Is there any reason for the difference between the 2 and can it be standardised as we use the work item action log to send assignment notifications to the affected users and while it's great for incidents it doesn't look good for service requests

    Unfortunately, this is just a text property and this different behaviour is hard-coded into SCSM and cannot be changed. Different people worked on the IR and SR forms and there are many inconsistencies. You could try raising a support case for it I suppose
    but I would not think it likely to be changed.
    Rob Ford scsmnz.net
    Cireson www.cireson.com
    For a free SCSM 2012 Notify Analyst app click
    here

  • Runtim assign child attr to parent attr on getLeadSelection action of Table

    Hi all,,,I want to add child attr's to to parent attr at runtime at the action of getLeadSelection of the table control so that all the columns values entered during runtime shud be made as child to the first column to create the tree structure of that row..
    the parent value shud in the first row and its child attr's in their respective columns in the table so to create tree structure dynamically..
    If anybody knows how to achive plz share or provide information on the same..
    Anxiously waiting for reply..
    Thanx in advance.
    Regards:
    Hanif.

    Hi Shaikh,
       I believe you are using TreeByNestedTableColumn as mentioned in your other posts in this forum. For showing a hierarchy in a table first you need a homogeneous node. I guess these are the attribute that you need to show in the hierarchy. ProjectName,ProjectTask,ProjectUser,ProjectStartDate,ProjectEndDate. From your previous [post|Go to new Row in table;. And project name is the root of the hierarchy. So your hierarchy would look like this.
    ProjectName       ProjectTask      ProjectUser      ProjectStartDate  ProjectEndDate
    ProjectA
                         Task1          User1           date1                  date2
                         Task2          User3           date1                  date2
    ProjectB
                         Task1          User1           date1                  date2
                         Task2          User3           date1                  date2
       If this is correct then you need to create a context node (Parent) with all the attributes above. Below that node create a recursive node (Child).
    //For creating a parent node use the following code.
    IPrivateParentNodeElement parent = wdContext.nodeParent().createParentElement();
    //Now you can set the value for the parent.
    patent.setProjectName("ProjectA");
    wdContext.nodeParent().addElement(parent);
    IPrivateParentNode childNode = parent.nodeChild();
    //Now you can create the child nodes.
    IPrivateParentNodeElement child1 = childNode.createParentElement();
    child1.setProjectTask("Task1");
    child1.setProjectUser("User1");
    childNode.addElement(child1);
    You can also do this at runtime.
    IPrivateParentNodeElement parent = (IPrivateParentNodeElement)wdContext.nodeParent().getElementAt(1);
    IPrivateParentNode childNode = parent.nodeChild();
    //Now you can create the child nodes.
    IPrivateParentNodeElement child1 = childNode.createParentElement();
    child1.setProjectTask("Task1");
    child1.setProjectUser("User1");
    childNode.addElement(child1)
    Let me know if this helps.
    PS: The code was hand written so it might have syntax errors
    Sanyev

  • Missing user rights assignment entries for many security policies in list exported via secedit

    Hello,
    First of all, I posted this same question on The Official Scripting Guys Forum! but didn't get the answer to this exact question (even though I received a lot of useful relevant info). That is why I am posting here. This is a more appropriate
    forum for the question. (Also posted on Windows Server 2012 General two days ago and didn't get a response at all).
    OK, question time:
    I want to modify the user rights assignment for a local security policy. In the GUI, find User Rights Assignment as follows: Win+R -> Enter "secpol.msc" -> Go to Local Policies -> Go to User Rights Assignment.
    So, to modify a particular use rights assignment via a script, I need to export the INF file using secedit, modify it and then configure using the modified file using secedit. To export the INF file, I am using:
    secedit /export /db C:\Windows\security\database\secedit.sdb /mergedpolicy /cfg SecPolicy
    Now, the problem is that the INF file exported doesn't have all the user rights assignments that I see in the GUI. For example, the policy "Restore files and directories" has users/groups in its settings but it doesn't show up in the INF file.
    In fact, most don't. Only five do and all these five have a different symbol next to them in the GUI. How are these policies different? What do I need to do to export all the policies?
    EDIT: Adding screenshot of what I see:
    Thanks!
    -Rohan.

    On Fri, 11 Apr 2014 18:26:50 +0000, Rohan PN wrote:
    Now, the problem is that the INF file exported doesn't have all the user rights assignments that I see in the GUI. For example, the policy "Restore files and directories" has users/groups in its settings but it doesn't show up in the INF
    file. In fact, most don't. Only five do and all these five have a different symbol next to them in the GUI. How are these policies different? What do I need to do to export all the policies?
    Can you post a screen shot? My guess is that what you're seeing is that
    secpol is only exporting the local settings and not ones that are set by a
    GPO in AD and that will also be the difference between the icons.
    Paul Adare - FIM CM MVP
    Although the Buddhists will tell you that desire is the root of suffering,
    my personal experience leads me to point the finger at system
    administration.
    -- Philip Greenspun

  • Assigning a variant string to a function pointer issue?

    Hello,
    This is a little complex for me to describe, so I will try my best to explain !
    I don't know if this is doable in C?
    Basically, I need a function pointer to hold the name of a function coming form a character array!
    From the examples I have seen, it seems that what I am trying to do is not the conventional way of doing function pointers, but I don't see any other way of doing what I need to do.
    In one instance, the function pointer in my code, will require to be assigned a function name like this:
    _g_BlkFuncs_ =_BUF_FUNC_PTR_ParseBlockStatus;
    and at other instances, the same function pointer needs to be assigned to a function called:
    _g_BlkFuncs_ =_INV_FUNC_PTR_ParseBlockStatus;
    and at other instances:
    _g_BlkFuncs_ =_AND_FUNC_PTR_ParseBlockStatus;
    or
    _g_BlkFuncs_ =_OR_FUNC_PTR_ParseBlockStatus;
    etc....
    The only time I will know which function to assign is when I will retrieve the first part of the function name from a table called
    _x_UserPrgBlock_. The first part being the name differentiator such as "_BUF_", "_INV_", "_AND_", "_OR_" and so forth which
    is initially stored in the one of the table members called m_LogicElement_ residing in the _x_UserPrgBlock_ table or struct.
    In the example below, I made it simple by hard coding the assigning of the m_LogicElement_ member as "_BUF_" (see the line commented as "Manual assignment line" below). In reality the  m_LogicElement_ member is assigned from
    a user defined string which will vary from time to time. 
    Here is the sample snippet which shows the issue.
    ================================STRUCT.h
    #ifndef STRUCT_H
    #define STRUCT_H
    typedef struct USR_PRG_CNV{ // User program converter table
    char m_LogicElement_[2][knst_BUF_LOGIC_ELEM]; // Name of the logic block
    } User_Prg_Block;
    #endif
    =================================_BUF.h
    #ifndef BUF_H
    #define BUF_H
    void _BUF_FUNC_PTR_ParseBlockStatus(void);
    #endif
    ================================_BUF.c
    void _BUF_FUNC_PTR_ParseBlockStatus(void){
    int i = 0;
    i = 10;
    ===============================UPC.h
    #ifndef UPC_H
    #define UPC_H
    void AssignmentFunc();
    #endif
    ===============================UPC.c
    User_Prg_Block _x_UserPrgBlock_[2];
    void AssignmentFunc(){
    strcpy(_x_UserPrgBlock_[0].m_LogicElement_, "_BUF_"); // Manual assignment line
    ===============================DFP.c
    #include "_BUF.h"
    void (*_g_BlkFuncs_) (void);
    char volatile _g_FuncPtrStrVariant_[35];
    void SomeFunction(){
    strcpy(_g_FuncPtrStrVariant_, _x_UserPrgBlock_[0].m_LogicElement_); // Get "_BUF_"
    strcat(_g_FuncPtrStrVariant_, "FUNC_PTR_ParseBlockStatus"); // Complete the function name
    // Now try to assign the full function name to the function pointer
    //_g_BlkFuncs_ = _BUF_FUNC_PTR_ParseBlockStatus;
    //_g_BlkFuncs_ = &_g_FuncPtrStrVariant_;
    _g_BlkFuncs_ = _g_FuncPtrStrVariant_; // ???
    ==============================Main.c
    void main(){
    AssignmentFunc();
    SomeFunction();
    In reference to the following line listed above:
    _g_BlkFuncs_ = _g_FuncPtrStrVariant_;
    I do realize that conventionally, it should be:
    _g_BlkFuncs_ =_BUF_FUNC_PTR_ParseBlockStatus;
    The problem I find myself faced with is that the function that "_g_BlkFuncs_" points to, has to vary in accordance to the name of the function stored in the _g_FuncPtrStrVariant_ character array! The reason is that the _g_FuncPtrStrVariant_
    array is actually built up to the name of the function based on the current contents of m_LogicElement_ residing in the _x_UserPrgBlock_ table.
    I think!!!!! that even if I use an array of function pointers, it won't solve the issue.
    In summary, in C, is there a way to assign a name of a function built from a character array to a function pointer?
    All help sincerely appreciated!
    Thanks

    I am interpreting your question a little different than Brian.
    If I understand you correctly you are asking:  "Given the name of a function as a string, how do I get a pointer to that function".
    The unfortunately fact is that C++ does not support reflection, so getting a function by name is not possible.  By the time the linker has done its thing, the function name has been stripped from code.
    This means if you need to support string lookup of a function name you need to support an alternate mechanism to handle this.  If you were using C++, a map would be an ideal mechanism.  C can still do this, but the mechanism is a lot uglier
    due to the lack of data structures like std::string and std::map.

  • Serial numbers assigned to booked stock but irrelevant at goods issue point

    Can anyone help me get a better understanding of material serial numbers?
    I am exploring this area  using SAP standard configuration:
    i)     I have created a material that that has assigned to it serial number profile 0001 which includes:
    a.     SDAU     Serial numbers in SD order 01 (No)
    b.     SDCC     Completeness check for delivery 03 (Mandatory)
    c.     SDLS     Maintain delivery 02 (Optional)
    ii)     I have used MIGO to place 2 items in stock (GR 561 u2013 initial stock balance) and as expected the serial number tab opened up and I assigned 2 unique serial numbers to each of my pieces of stock: Serial_Test_1 & Serial_Test_2
    iii)     I then created a sales order (OR) for one item and again as expected, the item was scheduled for immediate delivery from stock without reference to the relevant serial number
    iv)     The problem was that I then managed to create a delivery and pick it without being prompted for a serial number (mandatory completeness check?)
    v)     I then went back into the delivery and assigned a serial number via Item u2013 Serial Numbers but it let me input and serial number that wasnu2019t associated with any item I had in stock (e.g.  Serial_Test_3) which I then PGIu2019d!
    vi)     Going back to my stock overview, I now only had 1 item (good) but both serial numbers were present (bad .. I think)?
    Am I missing something here? Is there a prerequisite action I must take to get the system to insist on a particular stock item to be specified before it can be issued and that the stock overview will only show serial numbers for items that are in stock? My system at present appears corrupt to me as I only have one item in stock but 2 serial number?
    Any help or insight much appreciated.

    Hi,
    You posted qty 2 with serial number's
    Now you have stock of 2 qty with serial number
    when you do delivery, you have to assign serial number which is already in stock.then it will show status properly
    Remain qty 1 and 1 serail number.
    Kapil

  • Not able to down load from I books; will get double book entries,neither will download. Have had issue with this since December.

    Would appreciate any suggestions as to why I am not able to down load books from IBooks. Had worked fine until December.

    How much free space is on the C: drive?

  • Var. issue

    Guys,
              In my report, I am restricting a char. with a variable but when I try to run the report after building my query, the variable does not show up.  I am selecting a total of 5 variables and only 4 of them show up.  any suggestions?
    Thanks,
    RG

    Hi Ram,
    Check if you have personalized the variable value.
    If personalized only for the particular user the vaiable will not be visible.
    If this is case with all the users check if the variable definbed is of type ready for input. Only in such case will we be able to see the variable input screen.
    Naveen.A

  • Collection assign issue in OID provisioning environment

    Hy Tom,
    I am interested in LDAP with OID PROVISIONING in portal 10g application.
    we create a register procedure.
    however. i got an error message as ORA-06502: PL/SQL: numeric or value error: NULL index table key value.
    After debuging, we found that issue result assign null value .
    when we assign as
    user_vals(counter2) := entry.attr(counter1).attrval(counter2);
    It seems that that we can not assign entry.attr(counter1).attrval(counter2) to other var two time in procedure.
    It is server configuration issue or code issue.
    Thanks
    Newweber
    *********************** Code
    PROCEDURE pre_add (     ldapplugincontext IN ODS.plugincontext,
                   dn IN VARCHAR2,
                   entry IN ODS.entryobj,
                   rc OUT INTEGER,
                   errormsg OUT VARCHAR2
    IS
    ret                INTEGER;
    l_portal_user      wwsec_person.USER_NAME%type;
    l_first_name      wwsec_person.FIRST_NAME%type;
    l_last_name      wwsec_person.LAST_NAME%type;
    l_email      wwsec_person.EMAIL%type;
    l_work_phone      wwsec_person.WORK_PHONE%type;
    l_mobile      wwsec_person.MOBILE_PHONE%type;
    counter1           pls_integer;
    counter2           pls_integer;
    retval                pls_integer := -1;
    s                integer;
    user_session           DBMS_LDAP.session;
    user_dn           varchar(256);
    user_array           DBMS_LDAP.mod_array;
    user_vals           DBMS_LDAP.string_collection;
    user_binvals           DBMS_LDAP.blob_collection;
    indx                number := 1;
    BEGIN
    l_portal_user      :=null;
    l_first_name      :=null;
    l_last_name      :=null;
    l_email      :=null;
    l_work_phone      :=null;
    l_mobile      :=null;
    l_description      :=null;
    rc := 0;
    errormsg :=null;
    -- Create a mod_array
    user_array := dbms_ldap.create_mod_array(entry.binattr.count + entry.attr.count);
    -- Create a user_dn
    user_dn := substr(dn,1,instr(dn,',',1,1))||'cn=users,dc=e-hms,dc=net';
    FOR l_counter1 IN 1..entry.attr.COUNT LOOP
         FOR l_counter2 IN 1..entry.attr(l_counter1).attrval.COUNT LOOP
         ckerror('second loop get value--'|| entry.attr(l_counter1).attrname || '[' || l_counter1 || ']' ||'.val[' || l_counter2 || '] = ' ||entry.attr(l_counter1).attrval(l_counter2));                                   
    if entry.attr(l_counter1).attrval(l_counter2)     is null then
    ckerror('handle null attribule ');
    else                    
    -- get value
              ckerror('get value2'||entry.attr(l_counter1).attrname);
    IF entry.attr(l_counter1).attrname ='givenname' then           
                   l_first_name :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('givename/firstname--'||l_first_name);
         elsif entry.attr(l_counter1).attrname ='sn' then           
                   l_last_name :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('sn/lastname--'||l_last_name);
              elsif entry.attr(l_counter1).attrname ='mail' then
                   l_email := entry.attr(l_counter1).attrval(l_counter2);
                   ckerror(' email--'||l_email);
              elsif entry.attr(l_counter1).attrname ='mobile' then           
                   l_mobile :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('mobile--'||l_mobile);
              elsif entry.attr(l_counter1).attrname ='telephonenumber' then           
                   l_work_phone :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('work telphone--'||l_work_phone);
              elsif entry.attr(l_counter1).attrname ='cn' then           
                   l_portal_user :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('cn/username--'||l_portal_user);
              elsif entry.attr(l_counter1).attrname ='description' then           
                   l_description :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('description--'||l_description );
              else
              ckerror('handle other entry name--'||     entry.attr(l_counter1).attrname);
              ckerror('handle other entry--'||entry.attr(l_counter1).attrval(l_counter2) );
              end if;
    end if;
    ckerror('end compare at second loop');
    ckerror('NULL ASSIGN ISSUE FOR 72 --'||entry.attr(counter1).attrval(counter2));
    user_vals(counter2) := entry.attr(counter1).attrval(counter2);
    END LOOP;
    ckerror('end first loop');
    --- put ldap
    dbms_ldap.populate_mod_array(user_array,DBMS_LDAP.MOD_ADD, entry.attr(counter1).attrname,user_vals);
    user_vals.delete;
    END LOOP;
    processs other (l_firstname...) vars in SQL sataement
    EXCEPTION
    WHEN OTHERS THEN
    ckerror( 'Exception in PRE_ADD plugin. Error code is ' || TO_CHAR(SQLCODE));
    ckerror( ' ' || Sqlerrm);
    rc := 909;
    errormsg := 'Error code:'|| rc||' exception: pre_add data';
    END;

    Hy Tom,
    I am interested in LDAP with OID PROVISIONING in portal 10g application.
    we create a register procedure.
    however. i got an error message as ORA-06502: PL/SQL: numeric or value error: NULL index table key value.
    After debuging, we found that issue result assign null value .
    when we assign as
    user_vals(counter2) := entry.attr(counter1).attrval(counter2);
    It seems that that we can not assign entry.attr(counter1).attrval(counter2) to other var two time in procedure.
    It is server configuration issue or code issue.
    Thanks
    Newweber
    *********************** Code
    PROCEDURE pre_add (     ldapplugincontext IN ODS.plugincontext,
                   dn IN VARCHAR2,
                   entry IN ODS.entryobj,
                   rc OUT INTEGER,
                   errormsg OUT VARCHAR2
    IS
    ret                INTEGER;
    l_portal_user      wwsec_person.USER_NAME%type;
    l_first_name      wwsec_person.FIRST_NAME%type;
    l_last_name      wwsec_person.LAST_NAME%type;
    l_email      wwsec_person.EMAIL%type;
    l_work_phone      wwsec_person.WORK_PHONE%type;
    l_mobile      wwsec_person.MOBILE_PHONE%type;
    counter1           pls_integer;
    counter2           pls_integer;
    retval                pls_integer := -1;
    s                integer;
    user_session           DBMS_LDAP.session;
    user_dn           varchar(256);
    user_array           DBMS_LDAP.mod_array;
    user_vals           DBMS_LDAP.string_collection;
    user_binvals           DBMS_LDAP.blob_collection;
    indx                number := 1;
    BEGIN
    l_portal_user      :=null;
    l_first_name      :=null;
    l_last_name      :=null;
    l_email      :=null;
    l_work_phone      :=null;
    l_mobile      :=null;
    l_description      :=null;
    rc := 0;
    errormsg :=null;
    -- Create a mod_array
    user_array := dbms_ldap.create_mod_array(entry.binattr.count + entry.attr.count);
    -- Create a user_dn
    user_dn := substr(dn,1,instr(dn,',',1,1))||'cn=users,dc=e-hms,dc=net';
    FOR l_counter1 IN 1..entry.attr.COUNT LOOP
         FOR l_counter2 IN 1..entry.attr(l_counter1).attrval.COUNT LOOP
         ckerror('second loop get value--'|| entry.attr(l_counter1).attrname || '[' || l_counter1 || ']' ||'.val[' || l_counter2 || '] = ' ||entry.attr(l_counter1).attrval(l_counter2));                                   
    if entry.attr(l_counter1).attrval(l_counter2)     is null then
    ckerror('handle null attribule ');
    else                    
    -- get value
              ckerror('get value2'||entry.attr(l_counter1).attrname);
    IF entry.attr(l_counter1).attrname ='givenname' then           
                   l_first_name :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('givename/firstname--'||l_first_name);
         elsif entry.attr(l_counter1).attrname ='sn' then           
                   l_last_name :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('sn/lastname--'||l_last_name);
              elsif entry.attr(l_counter1).attrname ='mail' then
                   l_email := entry.attr(l_counter1).attrval(l_counter2);
                   ckerror(' email--'||l_email);
              elsif entry.attr(l_counter1).attrname ='mobile' then           
                   l_mobile :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('mobile--'||l_mobile);
              elsif entry.attr(l_counter1).attrname ='telephonenumber' then           
                   l_work_phone :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('work telphone--'||l_work_phone);
              elsif entry.attr(l_counter1).attrname ='cn' then           
                   l_portal_user :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('cn/username--'||l_portal_user);
              elsif entry.attr(l_counter1).attrname ='description' then           
                   l_description :=entry.attr(l_counter1).attrval(l_counter2);
                   ckerror('description--'||l_description );
              else
              ckerror('handle other entry name--'||     entry.attr(l_counter1).attrname);
              ckerror('handle other entry--'||entry.attr(l_counter1).attrval(l_counter2) );
              end if;
    end if;
    ckerror('end compare at second loop');
    ckerror('NULL ASSIGN ISSUE FOR 72 --'||entry.attr(counter1).attrval(counter2));
    user_vals(counter2) := entry.attr(counter1).attrval(counter2);
    END LOOP;
    ckerror('end first loop');
    --- put ldap
    dbms_ldap.populate_mod_array(user_array,DBMS_LDAP.MOD_ADD, entry.attr(counter1).attrname,user_vals);
    user_vals.delete;
    END LOOP;
    processs other (l_firstname...) vars in SQL sataement
    EXCEPTION
    WHEN OTHERS THEN
    ckerror( 'Exception in PRE_ADD plugin. Error code is ' || TO_CHAR(SQLCODE));
    ckerror( ' ' || Sqlerrm);
    rc := 909;
    errormsg := 'Error code:'|| rc||' exception: pre_add data';
    END;

  • How can identify those entries which is assigned in wrong Valuation Class

    Hi,
    In our Material Master Data, we have maintained wrong Valuation Class against Material Group. Now consumption and all things related to those material's going in wrong GL.
    Now, we have total number of wrongly created Material number according to Material Group and correct Valuation class.
    Please tell me how can we identify those entries which is related to wrong assigned valuation class. ....
    Pleas guide...

    Thanks dear...
    Please confirm that in Tcode MR51, contains only wrongly assigned entries...
    Also in MR51 output, valuation class not showing... Is it possible to add in it...
    Regards.

  • Flex Table Add Row Issue with Dynamic Entry Lists in Visual Composer

    All,
    Your help would be kindly appreciated in resolving an 'Add Row'-issue within a Flex Table that uses Dynamic Entry Lists in Visual Composer. The issue here is as follows :
    When I use a [Local Dynamic Entry List |http://www.postyourimage.com/view_image.php?img_id=O5hrG2aMxWZ84Mu1211193041]to populate a row field, the initial row and all next rows are emptied upon 'insert row', they loose their selected values and also the entry list values ('pull-down menus') are lost. Please also see [screenshot|http://www.postyourimage.com/view_image.php?img_id=FPLr2cABcgiHRou1211192889].
    The initial row does [show the entry list values |http://www.postyourimage.com/view_image.php?img_id=2HybmEHAuQYs9cg1211192766]from the Local Dynamic Entry List based on the dynamically assigned input value; upon 'insert row' the entry lists are lost. Please also see [screenshot|http://www.postyourimage.com/view_image.php?img_id=FPLr2cABcgiHRou1211192889].
    When using a [Global Dynamic Entry List |http://www.postyourimage.com/view_image.php?img_id=m5p2KYuBb442dTq1211193501]to populate the row fields the Flex-table behaves normally as expected. Unfortunately with a Global Entry List it is not possible to dynamically assign a input value. Please also see [screenshot|http://www.postyourimage.com/view_image.php?img_id=U96V0zENCCyO3gA1211193157].
    Please also see the [issue summary image|http://www.postyourimage.com/view_image.php?img_id=06xti08tIEfely1211195178] I made to visualize the issue.  What I basically would like to know is whether this is a 'known issue' or not, or that it is an issue that can be fixed or whether there is an alternative workaround available ... I'm using Visual Composer 7.0 and the Portal is at SP 13.
    Many thanks,
    Freek

    Hi,
    you should be able to assign a dynamic value with global entry lists as well. If you say @myParam as dynamic value. VC will indicate in red letters, that the field @myParam is unknown. However, it will work, as long as @myParam is known in the form or table where you use the entry list.
    I have never heard of the problem that entry lists are emptied after "insert"-event.
    Kindes Regards,
    Benni

  • Unable to assign Chart of Depreciation to Company Code

    Dear Experts,
    I am trying to assign newly created chart of depreciation to my company code but system is not allowing me giving the following error message:
    "You cannot process company code ****, it contains assets".
    When I go for F1, then further it says:
    Message no. AC507
    Diagnosis
    You want to delete company code **** or assign company code **** to a different chart of depreciation.
    However, at least one asset exists in company code ****.
    System Response
    The action cannot be carried out.
    Procedure
    Check the company code entry. You may have to reset the assets in this company code, if it is not in production operation.
    Please note that I had previously created few assets and asset classes but asset classes have been deleted due to some reason.
    I have now recreated asset classes but can't proceed to assign COD to company code because of above issue.
    If I must delete existing assets within my company code then how to do it with minimum required steps.    
    Looking for resolve.
    Regards

    Dear all who responded,
    Thanks for your effort, advise & valuable time.
    Issue has been solved finally.
    Key point was to delete all assets one by one using AS06 and then try to assign to COD to company code.
    Within AS06 when you enter asset code & company code and then click "Delete Asset" button on top, system gives error message in tray. Here when I re-clicked "Delete Asset" button (ignoring error message) it worked and next screen appeared.  
    Then it was a usual activity to choose "Delete asset physically" button and save the transaction.
    After deleting all assets one by one I was able to execute the primary purpose which was: "to assign the COD to my Company Code".
    Regards

  • WLC 5508: 802.1 AAA override; Authenication success no dynamic vlan assignment

    WLC 5508: software version 7.0.98.0
    Windows 7 Client
    Radius Server:  Fedora Core 13 / Freeradius with LDAP storage backend
    I have followed the guide at http://www.cisco.com/en/US/tech/tk722/tk809/technologies_configuration_example09186a008076317c.shtml with respective to building the LDAP and free radius server.  802.1x authorization and authenication correctly work.  The session keys are returned from the radius server and the wlc send the appropriate information for the client to generate the WEP key.
    However, the WLC does not override the VLAN assignment, even though I was to believe I set everything up correctly.  From the packet capture, you can see that verfication of client is authorized to use the WLAN returns the needed attributes:
    AVP: l=4  t=Tunnel-Private-Group-Id(81): 10
    AVP: l=6  t=Tunnel-Medium-Type(65): IEEE-802(6)
    AVP: l=6  t=Tunnel-Type(64): VLAN(13)
    I attached a packet capture and wlc config, any guidance toward the attributes that may be missing or not set correctly in the config would be most appreciated.

    Yes good catch, so I had one setting left off in freeradius that allowed the inner reply attributes back to the outer tunneled accept.  I wrote up a medium high level config for any future viewers of this thread:
    The following was tested and verified on a fedora 13 installation.   This is a minimal setup; not meant for a "live" network (security issues  with cleartext passwords, ldap not indexed properly for performance)
    Install Packages
    1.  Install needed packages.
    yum install openldap*
    yum install freeradius*
    2.  Set the services to automatically start of system startup
    chkconfig --level 2345 slapd on
    chkconfig --level 2345 radiusd on
    Configure and start LDAP
    1.  Copy the needed ladp schemas for radius.  Your path may vary a bit
    cp /usr/share/doc/freeradius*/examples/openldap.schema /etc/openldap/schema/radius.schema
    2.  Create a admin password for slapd.  Record this password for later use when configuring the slapd.conf file
    slappasswd
    3.  Add the ldap user and group; if it doesn't exisit.  Depending on the install rpm, it may have been created
    useradd ldap
    groupadd ldap
    4.  Create the directory and assign permissions for the database files
    mkdir /var/lib/ldap
    chmod 700 /var/lib/ldap
    chown ldap:ldap /var/lib/ldap
    5.  Edit the slapd.conf file.
    cd /etc/openldap
    vi slapd.conf
    # See slapd.conf(5) for details on configuration options.
    # This file should NOT be world readable.
    #Default needed schemas
    include        /etc/openldap/schema/corba.schema
    include        /etc/openldap/schema/core.schema
    include        /etc/openldap/schema/cosine.schema
    include        /etc/openldap/schema/duaconf.schema
    include        /etc/openldap/schema/dyngroup.schema
    include        /etc/openldap/schema/inetorgperson.schema
    include        /etc/openldap/schema/java.schema
    include        /etc/openldap/schema/misc.schema
    include        /etc/openldap/schema/nis.schema
    include        /etc/openldap/schema/openldap.schema
    include        /etc/openldap/schema/ppolicy.schema
    include        /etc/openldap/schema/collective.schema
    #Radius include
    include        /etc/openldap/schema/radius.schema
    #Samba include
    #include        /etc/openldap/schema/samba.schema
    # Allow LDAPv2 client connections.  This is NOT the default.
    allow bind_v2
    # Do not enable referrals until AFTER you have a working directory
    # service AND an understanding of referrals.
    #referral    ldap://root.openldap.org
    pidfile        /var/run/openldap/slapd.pid
    argsfile    /var/run/openldap/slapd.args
    # ldbm and/or bdb database definitions
    #Use the berkely database
    database    bdb
    #dn suffix, domain components read in order
    suffix        "dc=cisco,dc=com"
    checkpoint    1024 15
    #root container node defined
    rootdn        "cn=Manager,dc=cisco,dc=com"
    # Cleartext passwords, especially for the rootdn, should
    # be avoided.  See slappasswd(8) and slapd.conf(5) for details.
    # Use of strong authentication encouraged.
    # rootpw        secret
    rootpw      
    {SSHA}
    cVV/4zKquR4IraFEU7NTG/PIESw8l4JI  
    # The database directory MUST exist prior to running slapd AND
    # should only be accessible by the slapd and slap tools. (chown ldap:ldap)
    # Mode 700 recommended.
    directory    /var/lib/ldap
    # Indices to maintain for this database
    index objectClass                       eq,pres
    index uid,memberUid                     eq,pres,sub
    # enable monitoring
    database monitor
    # allow onlu rootdn to read the monitor
    access to *
             by dn.exact="cn=Manager,dc=cisco,dc=com" read
             by * none
    6.  Remove the slapd.d directory
    cd /etc/openldap
    rm -rf slapd.d
    7.  Hopefully if everything is correct, should be able to start up slapd with no problem
    service slapd start
    8.  Create the initial database in a text file called /tmp/initial.ldif
    dn: dc=cisco,dc=com
    objectClass: dcobject
    objectClass: organization
    o: cisco
    dc: cisco
    dn: ou=people,dc=cisco,dc=com
    objectClass: organizationalunit
    ou: people
    description: people
    dn: uid=jonatstr,ou=people,dc=cisco,dc=com
    objectClass: top
    objectClass: radiusprofile
    objectClass: inetOrgPerson
    cn: jonatstr
    sn: jonatstr
    uid: jonatstr
    description: user Jonathan Strickland
    radiusTunnelType: VLAN
    radiusTunnelMediumType: 802
    radiusTunnelPrivateGroupId: 10
    userPassword: ggsg
    9.  Add the file to the database
    ldapadd -h localhost -W -D "cn=Manager, dc=cisco,dc=com" -f /tmp/initial.ldif
    10.  Issue a basic query to the ldap db, makes sure that we can request and receive results back
    ldapsearch -h localhost -W -D cn=Manager,dc=cisco,dc=com -b dc=cisco,dc=com -s sub "objectClass=*"
    Configure and Start FreeRadius
    1. Configure ldap.attrmap, if needed.  This step is only needed if we  need to map and pass attributes back to the authenicator (dynamic vlan  assignments as an example).  Below is an example for dynamic vlan  addresses
    cd /etc/raddb
    vi ldap.attrmap
    For dynamic vlan assignments, verify the follow lines exist:
    replyItem    Tunnel-Type                                   radiusTunnelType
    replyItem    Tunnel-Medium-Type                   radiusTunnelMediumType
    replyItem    Tunnel-Private-Group-Id              radiusTunnelPrivateGroupId
    Since we are planning to use the userpassword, we will let the mschap  module perform the NT translations for us.  Add the follow line to  check ldap object for userpassword and store as Cleartext-Password:
    checkItem    Cleartext-Password    userPassword
    2.  Configure eap.conf.  The following sections attributes below  should be verified.  You may change other attributes as needed, they are  just not covered in this document.
    eap
    {      default_eap_type = peap      .....  }
    tls {
        #I will not go into details here as this is beyond scope of  setting up freeradisu.  The defaults will work, as freeradius comes with  generated self signed certificates.
    peap {
        default_eap_type = mschapv2
        #you will have to set this to allowed the inner tls tunnel  attributes into the final accept message
        use_tunneled_reply = yes
    3.  Change the authenication and authorization modules and order.
    cd /etc/raddb/sites-enabled
    vi default
    For the authorize section, uncomment the ldap module.
    For the authenicate section, uncomment the ldap module
    vi inner-tunnel
    Very importants, for the authorize section, ensure the ldap module is first, before mschap.  Thus authorize will look like:
    authorize
    {      ldap      mschap      ......  }
    4.  Configure ldap module
    cd /etc/raddb/modules
    ldap
    {        server=localhost       identify = "cn=Manager,dc=cisco,dc=com"        password=admin       basedn="dc=cisco,dc=com"       base_filter =  "(objectclass=radiusprofile)"       access_attr="uid"       ............   }
    5.  Start up radius in debug mode on another console
    radiusd -X
    6.  radtest localhost 12 testing123
    You should get a Access-Accept back
    7.  Now to perform an EAP-PEAP test.  This will require a wpa_supplicant test libarary called eapol_test
    First install openssl support libraries, required to compile
    yum install openssl*
    yum install gcc
    wget http://hostap.epitest.fi/releases/wpa_supplicant-0.6.10.tar.gz 
    tar xvf wpa_supplicant-0.6.10.tar.gz
    cd wpa_supplicant-0.6.10/wpa_supplicant
    vi defconfig
    Uncomment CONFIG_EAPOL_TEST = y and save/exit
    cp defconfig .config
    make eapol_test
    cp eapol_test /usr/local/bin
    chmod 755 /usr/local/bin/eapol_test
    8.  Create a test config file named eapol_test.conf.peap
    network=
    {   eap=PEAP  eapol_flags=0  key_mgmt=IEEE8021X  identity="jonatstr"   password="ggsg"  \#If you want to verify the Server certificate the  below would be needed   \#ca_cert="/root/ca.pem"  phase2="auth=MSCAHPV2"   }
    9.  Run the test
    eapol_test -c ~/eapol_test.conf.peap -a 127.0.0.1 -p 1812 -s testing123

Maybe you are looking for

  • Can find my podcast and listen to it, but can't download or subscribe to it

    I submitted my first podcast last week and it was approved. I noticed that I can search for it in ITunes and find it no problem. I can also listen to it no problem. But when I hit "subscribe" nothing happens, when I hit "download" nothing happens and

  • DELETE FROM Subquery Question

    When having to delete form a subquery (based on two unique identifiers) I concantenate the two columns to make them unique to an entry. Are there issues w/ this method and can any suggest something different (if any). delete from ACCT_TEMP a where up

  • I designed my website to have email links and now the work in other browsers but not Firefox

    HTML code href="mailto:[email protected]?subject=Web Site Inquiry" This should open the email client but nothing happens in Firefox. It works in other browsers. How can I fix this?

  • Checkpoint file is not deleting automatically on re-run of SSIS

    I have SSIS where chepoint file is implemented. When package runs, it creates Checpoint file and upon its completion it deletes that file. In case of failure it doesnt delete CP file. Now when I re-run the same SSIS, it runs from where it was left of

  • Creative cloud/photoshop help please!

    hi, i recently downloaded the trial of photoshop cs6 and it included creative cloud. today by accident  i uninstalled photoshop and every time i go on the adobe website to download a freee version it opens up a box saying ''update creative cloud'' ,