How to create Authorization policy using OIM 11g API
Hi,
Could you please let me know how to create Authorization policy using OIM 11g API.
Thanks
Constructing A Policy Programmatically
http://docs.oracle.com/cd/E27559_01/dev.1112/e27154/cons_policy_prog.htm#CHDHACBF
api ref for PolicyStore
http://docs.oracle.com/cd/E21764_01/apirefs.1111/e22649/oracle/security/jps/service/policystore/PolicyStore.html#createApplicationPolicy_java_lang_String_
something like below code to start with
try {
JpsContextFactory ctxFact;
ctxFact = JpsContextFactory.getContextFactory();
JpsContext ctx;
ctx = ctxFact.getContext();
PolicyStore ps = ctx.getServiceInstance(PolicyStore.class);
if (ps == null) {
// if no policy store instance configured in jps-config.xml
System.out.println("no policy store instance configured");
return;
ApplicationPolicy ap = ps.createApplicationPolicy("Trading", "Trading
Application","Trading Application.");
} catch (JpsException e) {
}
Similar Messages
-
Error while creating authorisation policy using OIM 11g API
Hi,
We have a requirement to create ‘Authorization Policies’ (assign Data Constraints, Permissions & Assignments) using OIM 11g API’s. I am using ‘oracle.iam.authzpolicydefn.api.PolicyDefinitionService & oracle.iam.authzpolicydefn.vo.AuthzPolicy’. But when I am trying to attach Entity/Feature (User Management) to authorisation policy, it is throwing exception. Below is the code snippet which I am trying to implement.
Line1: PolicyDefinitionService policyService = oimClient.getService(PolicyDefinitionService.class);
Line2: AuthzPolicy authPolicy = new AuthzPolicy();
Line3: authPolicy.setName("Test Authz Policy");
Line4: authPolicy.setDisplayName("Test Authz Policy Dsp Name");
Line5: authPolicy.setDescription("Test Authz Policy Description");
Line6: Feature feature = oimClient.getService(Feature.class);
Line7: Action featureAction = feature.getAction(FeatureManagerConstants.Features.USER_MGMT.getId());
Line8: List<Action> actions = new ArrayList<Action>();
Line9: actions.add(featureAction);
Line10: authPolicy.setActions(actions);
Line11: policyService.createPolicy(authPolicy);
Exception: oracle.iam.platform.utils.NoSuchServiceException: java.lang.ClassNotFoundException: oracle.iam.authzpolicydefn.api.FeatureDelegate
The above exception is throwing at Line6.
Let me know if anyone implemented.
- Kalyan MutyaIf you are using JDeveloper , can you able to get class after giving "." .If yes no than it is the problem with the jar file you are using .Check whether you can able to import oracle.iam.authzpolicydefn.api.Feature.
Thanks ,
Animesh anand -
Creating access policy using OIM 11g APIs
Is there a way to create an access policy using API? I see that there is AccessPolicyService but it only supports evalutePoliciesForUser. I need a way to add and modify policies.
I'm using OIM 11.1.1.5
Edited by: DJ on May 21, 2012 11:53 AMFYI, I hope the following links might be helpful, if you did not come across them before:
OIM API for Create Access Policy:
http://otndnld.oracle.co.jp/document/products/id_mgmt/idm_904/doc_cd/javadocs/operations/Thor/API/Operations/tcAccessPolicyOperationsIntf.html
Example Code for OIM API Creation of Access Policy
http://learnidm.blogspot.co.uk/2011_08_01_archive.html
Thanks,
Krish. -
Error in creating approval policy in OIM 11g
hi...
i am trying to create approval policy in OIM 11g. But after giving the details for first step, it gives the following error-
"Approval policy validation failed with oracle.iam.request.exception. ApprovalPolicyServiceException:An error occured while searching request model <policy name>"
Please let me know the coz of this error and the way to resolve it.If you are using JDeveloper , can you able to get class after giving "." .If yes no than it is the problem with the jar file you are using .Check whether you can able to import oracle.iam.authzpolicydefn.api.Feature.
Thanks ,
Animesh anand -
Creating a Request via OIM 11g API
I'm trying to create a request in OIM using the API. I found this post ( OIM 11g - Setting Process Form Data through Request API ) which has the code to do it but I'm getting an error:
Here is what I have
OIMClient client = getOIMClient(url, username, password);
long resKey = 0L;
String str = null;
String resourceKey = null;
Map<String, String> searchMap = new HashMap<String, String>();
tcResultSet resultSet = null;
RequestData requestData = null;
Beneficiary beneficiary = null;
RequestBeneficiaryEntity entity = null;
List<Beneficiary> beneficiaryList = new ArrayList<Beneficiary>();
List<RequestBeneficiaryEntity> entityList = null;
List<RequestBeneficiaryEntityAttribute> entityAttrList = null;
String RESOURCE = "TESTRESOURCE_GTC";
tcITResourceInstanceOperationsIntf operations = client.getService(tcITResourceInstanceOperationsIntf.class);
Map<String, String> conditions = new HashMap<String, String>();
conditions.put("IT Resources.Name", "TESTRESOURCE_GTC");
resultSet = operations.findITResourceInstances(conditions);
resKey = resultSet.getLongValue("IT Resource.Key");
resourceKey = Long.toString(resKey);
RequestBeneficiaryEntityAttribute parantAttr = new RequestBeneficiaryEntityAttribute();
parantAttr.setType(TYPE.String);
parantAttr.setName("Title");
parantAttr.setValue("Mr.");
entityAttrList = new ArrayList<RequestBeneficiaryEntityAttribute>();
entityAttrList.add(parantAttr);
entity = new RequestBeneficiaryEntity();
entity.setEntityKey(resourceKey);
entity.setEntityType(RequestConstants.RESOURCE);
entity.setEntitySubType(RESOURCE);
entity.setEntityData(entityAttrList);
entityList = new ArrayList<RequestBeneficiaryEntity>();
entityList.add(entity);
System.out.println("*********** USR KEY" + usrKey);
beneficiary = new Beneficiary();
beneficiary.setBeneficiaryType(Beneficiary.USER_BENEFICIARY);
beneficiary.setBeneficiaryKey(usrKey);
beneficiary.setTargetEntities(entityList);
beneficiaryList.add(beneficiary);
requestData = new RequestData();
requestData.setRequestTemplateName("Self-Request Resource");
requestData.setJustification("Test");
requestData.setBeneficiaries(beneficiaryList);
UnauthenticatedRequestService reqsrvc = client.getService(UnauthenticatedRequestService.class);
str = reqsrvc.submitRequest(requestData);
System.out.println("Value from submitRequest : '" + (str != null ? str : null) + "'");I'm getting
<Feb 14, 2012 4:53:24 PM EST> <Error> <oracle.iam.request.impl> <IAM-2050128> <Invalid beneficiary key was specified for Self-Request. >
oracle.iam.request.exception.InvalidRequestDataException: IAM-2050128:Invalid beneficiary key was specified for Self-Request.
I can see that USER KEY is getting populated.
Edited by: DJ on Feb 14, 2012 4:59 PM
Edited by: DJ on Feb 14, 2012 5:00 PMWhile creating a request to provision iPlanet User one of the errors I was getting:
oracle.iam.request.exception.RequestServiceException: IAM-2050061:Type mismatch for the attribute Server. The type passed is String, but the corresponding type in the data set is Long.:Server:String:Long
So I replaced the value of the attribute Server to the IT Resource.Key which is 5. After making the changes, it goes through approvals with no problems, but when I approve all the work items, it errors out with an error:
Error occurred while provisioning resource with key 45 to user 5
User Key is 45 and Resource Key is 5. I'm not sure why it swapped it.
Here is the code I'm using:
public static void createRequest(String userLogin, String templateName, String resourceName, HashMap<String, Object> attrs, OIMClient client) {
try {
String usrKey = searchUserByLogin(userLogin, client).get(0).getId();
long resKey = 0L;
String str = null;
String resourceKey = null;
Map<String, String> searchMap = new HashMap<String, String>();
tcResultSet resultSet = null;
RequestData requestData = null;
Beneficiary beneficiary = null;
RequestBeneficiaryEntity entity = null;
List<Beneficiary> beneficiaryList = new ArrayList<Beneficiary>();
List<RequestBeneficiaryEntity> entityList = null;
List<RequestBeneficiaryEntityAttribute> entityAttrList = new ArrayList<RequestBeneficiaryEntityAttribute>();
tcITResourceInstanceOperationsIntf operations = client == null ? Platform.getService(tcITResourceInstanceOperationsIntf.class) : client.getService(tcITResourceInstanceOperationsIntf.class);
Map<String, String> conditions = new HashMap<String, String>();
conditions.put("IT Resources.Name", resourceName);
resultSet = operations.findITResourceInstances(conditions);
resKey = resultSet.getLongValue("IT Resource.Key");
resourceKey = Long.toString(resKey);
for (String attr : attrs.keySet()) {
RequestBeneficiaryEntityAttribute parantAttr = new RequestBeneficiaryEntityAttribute();
if (attrs.get(attr) instanceof String) {
parantAttr.setType(TYPE.String);
parantAttr.setName(attr);
parantAttr.setValue(String.valueOf(attrs.get(attr)));
entityAttrList.add(parantAttr);
} else if (attrs.get(attr) instanceof Long) {
parantAttr.setType(TYPE.Long);
parantAttr.setName(attr);
parantAttr.setValue(String.valueOf(attrs.get(attr)));
entityAttrList.add(parantAttr);
} else {
// do nothing
entity = new RequestBeneficiaryEntity();
entity.setEntityKey(resourceKey);
entity.setEntityType(RequestConstants.RESOURCE);
entity.setEntitySubType(resourceName);
entity.setEntityData(entityAttrList);
entityList = new ArrayList<RequestBeneficiaryEntity>();
entityList.add(entity);
beneficiary = new Beneficiary();
beneficiary.setBeneficiaryType(Beneficiary.USER_BENEFICIARY);
beneficiary.setBeneficiaryKey(usrKey);
beneficiary.setTargetEntities(entityList);
beneficiaryList.add(beneficiary);
requestData = new RequestData();
requestData.setRequestTemplateName(templateName);
requestData.setJustification("Test");
requestData.setBeneficiaries(beneficiaryList);
System.out.println("Resource Keys " + resKey + " " + resourceKey);
System.out.println("User Key " + usrKey);
RequestService reqsrvc = client == null ? Platform.getService(RequestService.class) : client.getService(RequestService.class);
str = reqsrvc.submitRequest(requestData);
System.out.println("Value from submitRequest : '" + (str != null ? str : null) + "'");
} catch (Throwable t) {
t.printStackTrace();
}Edited by: DJ on Feb 16, 2012 5:01 PM -
Approving OIM/SOA requests using OIM 11g APIs
I'm creating a SOA request using createRequest method in RequestService OIM API. I would like to approve/reject the work items using the API as well but I don't see any methods to approve/reject the tasks. Is this something I would have to use SOA's webservices to do it?
ThanksYou need to use BPEL worklist API for the same.
http://technology.amis.nl/blog/1496/invoking-bpel-worklist-api-from-remote-server-with-java
http://docs.oracle.com/cd/E12839_01/integration.1111/e10224/bp_worklistcust.htm
-Bikash -
How can I o create, modify or delete users using OIM 11g web services?
Hi,
I have a requirement to create, modify or delete users using OIM 11g web services.
The end users will be signing on to the online application, a user interface to request ids online. The user interface is the home grown application to request ids.
I want to integrate this user interface with OIM 11g. I generated the java classes using the out of the box wsdl file as mentioned in the Developer’s Guide for Oracle Identity Manager 11g. But I need to know how to create users using web server client from a given wsdl file? Is there a sample web service client program to create a user in OIM?
If you know of any document which I can follow or if you can give any details I really appreciate.
Thanks and Regards,
VirafHi Chong,
Were you able to figure out the approach? I am facing the same issue like this. I have created a web service where the input values are no. of days to extend user's end date and user's employee ID. Output will be true or false. But I am getting error while searching user in OIM DB. I think my web service is not to query OIM DB
Please let me know if you have worked on this senario.
Thanks,
Kalpana. -
How to pass the value from DB in Approval Policy Rule OIM 11g R2
Hi,
I need to get the value of rule condition in Approval policy from DB.
Please let me know how to achieve this. I am using OIM 11g R2.
ThanksHow to passing the textbox value within the jsp page
without using javascript or reload the page.No, jsp executes on the remoter server, the text box is on a client machine, you need to send information to the server over the network, http does this with a request, which will reload the page..................... -
How to obtain Role name in OIM 11g using API's
Hello,
I have a scenario in which I create Role/Group in OIM 11g & it gets provisioned in AD [=works fine] & other part is when i delete role in OIM 11g then it should
get deleted from AD.I have written postprocess event handler to achieve this.
In role creation part i get all parameters using "orchestration.getParameters();" , but when i delete role then "orchestration.getParameters();" is empty,so i am
not able to get role name.
Is there a way to get role name while deleting roles using API ?
Thanks,
Rahul ShahHi Raghav,
Following is my code :
tcRODetails = orgOpInterface.getObjects(organizationKey);
for(int i = 0;i < tcRODetails.getRowCount();i++){
tcRODetails.goToRow(i);
// resourceName=AD Group
if(resourceName.equalsIgnoreCase(tcRODetails.getStringValue("Objects.Name"))&&
tcRODetails.getStringValue("Objects.Object Status.Status").equalsIgnoreCase("Provisioned")||
tcRODetails.getStringValue("Objects.Object Status.Status").equalsIgnoreCase("Enabled")) {
System.out.println("<<<FOUND>>>");
processKey = tcRODetails.getLongValue("Process Instance.Key");
provisionObjectKey = tcRODetails.getLongValue("Objects.Key");
tcProcessSet = oimFormUtility.getProcessFormData(processKey);
for(int j=0;j<tcProcessSet.getRowCount();j++){
tcProcessSet.goToRow(j);
if(grpName.equalsIgnoreCase(tcProcessSet.getStringValue("UD_ADGRP_NAME"))){
System.out.println("MATCH FOUND!!!!!");
orgOpInterface.removeObjectAllowed(organizationKey,provisionObjectKey);
break;
& i get following error :
<Mar 22, 2012 1:54:43 PM IST> <Error> <XELLERATE.APIS> <BEA-000000> <Class/Method: tcOrganizationOperationsBean/removeObjectAllowed encounter some problems: Object with key=7 is not already set as an allowed object for Organization with key=1>
Thanks
Rahul Shah -
Restricting administrator tab to user created with default role OIM 11g R2
Hi,
I have a query, if we create a user in OIM 11g R2 without any admin role and then login to Self Service screen (Identity) with the newly created user, we can see the Administration Tab is visible to the user.
Is this mean that by default user is having admin role assigned to him to do some of the admin activities.
Please let me know how to control this behavior and not to show the Administration tab to the user until and unless he is having some admin roles assigned to him.
Please help.You can hide Administration tab for normal users using EL's. By default users will get this tab when they login to identity console even though admin role is not assigned to them. But if you do any operation on any users, request will be raised accordingly.
Check this link to configure EL's http://docs.oracle.com/cd/E27559_01/dev.1112/e27150/uicust.htm#autoId18 -
How to create authorization role for just displaying query prefix Q and X.
Hi Expert,
I hope someone can help me on how to create authorization role for just displaying and executing BEX Queries prefix Q and X. I'm currently using SAP BI 7.1.
Actually, I already created one role called : Z_FORINDO_ONLYDISPLAY_QX
where I only put in the Authorization Component (in the Role Maintenance - Tcode 'pfcg'):
-->Manually Business Information Warehouse
--> Manually Business Explorer - Components
Activity : Display, Execute, Enter, Include, Assign
InfoArea : *
InfoCube : *
Name(ID) of a reporting component : *
Type of a reporting component : Calculated key figure, Restricted key figure, Template structure
--> Manually Business Explorer - Components
Activity : Display, Execute
InfoArea : *
InfoCube : *
Name(ID) of a reporting component : Q* , X*
Type of a reporting component : Query
But, the problem is I still can make changes on that queries (Q* and X*). Even, I still can run query with prefix Z. I use S_RS_RREPU Tamplete for Query Display and execution.
Please assist. Very much appreciate your help. Thanks.
Edited by: nadiyah salleh on Mar 18, 2008 11:22 AMQuestion close. This issue has been resolved.
-
How to Create authorization WAD template for BW3.5?
Hi All
How To create Authorization for a Web template in Bw 3.5 ?
I have a requirement to restrict a particular Web templated in bw 3.5 So that all the end users should not be able to access that template only a particular user should be allowed to view the template?
I cant find any authorization object for the WAD template in bw 3.5 ?
Can anyone tell me the procedure to include the WAD template authorization?
Should i include the authorization template in the Menu - in pfcg??? . i have added the template in the Menu in the PFCG but still it didnt work.
ThanksAs you said, the authorizations for the WAD templates should be given in PFCG roles.
But you have to include the access/authorization details in the authorization objects. WAD templates have been created with including info/multiprovider, info cubes right.. first you have to include these objects inside the Role in PFCG.
S_RS_COMP,S_RS_COMP1,S_RS_MPRO,S_RS_ICUBE.
just assigning WAD template in the menu of the roles is to display when you login with the userid.
Please request your BASIS folks to do the same.
Hope this would help you. -
How to create purchase order using VA01 for BAPI?
how to create purchase order using VA01 for BAPI?
Hi Arun,
Please check this link
Example Program for BAPI_PO_CREATE1
Re: BAPI_PO_CREATE1
Questions in BAPI_PO_CREATE1
Problem with BAPI_PO_CREATE1
*& Report BAPI_PO_CREATE *
REPORT bapi_po_create.
Input File Declaration
TYPES: BEGIN OF ty_input_file,
column1 TYPE char50,
column2 TYPE char50,
column3 TYPE char50,
column4 TYPE char50,
column5 TYPE char50,
column6 TYPE char50,
column7 TYPE char50,
column8 TYPE char50,
column9 TYPE char50,
column10 TYPE char50,
column11 TYPE char50,
column12 TYPE char50,
column13 TYPE char50,
column14 TYPE char50,
column15 TYPE char50,
column16 TYPE char50,
column17 TYPE char50,
column18 TYPE char50,
END OF ty_input_file.
DATA: i_input_file TYPE STANDARD TABLE OF ty_input_file,
wa_input_file TYPE ty_input_file.
CONSTANTS: c_path TYPE char20 VALUE 'C:\',
c_mask TYPE char9 VALUE ',.,..',
c_mode TYPE char1 VALUE 'O',
c_filetype TYPE char10 VALUE 'ASC',
c_x TYPE char01 VALUE 'X'.
PARAMETERS : p_fname LIKE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
Browse Presentation Server
PERFORM f4_presentation_file.
START-OF-SELECTION..
Read presentation server file
PERFORM f1003_upload_file.
IF NOT i_input_file[] IS INITIAL.
PERFORM split_data.
ENDIF.
*& Form f4_presentation_file
*& F4 Help for presentation server
FORM f4_presentation_file .
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = c_path
mask = c_mask
mode = c_mode
title = text-001
IMPORTING
filename = p_fname
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
IF sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " f4_presentation_file
*& Form f1003_upload_file
*& Upload File
FORM f1003_upload_file .
DATA: lcl_filename TYPE string.
lcl_filename = p_fname.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lcl_filename
filetype = c_filetype
has_field_separator = c_x
TABLES
data_tab = i_input_file
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
EXIT.
ENDIF.
ENDFORM. " f1003_upload_file
*& Form split_data
Collect data for creating Purchase Order
FORM split_data .
DATA: i_poitem TYPE STANDARD TABLE OF bapimepoitem,
i_poitemx TYPE STANDARD TABLE OF bapimepoitemx,
i_poitem_sch TYPE STANDARD TABLE OF bapimeposchedule,
i_poitem_schx TYPE STANDARD TABLE OF bapimeposchedulx,
i_acct_*** TYPE STANDARD TABLE OF bapimepoaccount,
i_acct_assx TYPE STANDARD TABLE OF bapimepoaccountx,
i_services TYPE STANDARD TABLE OF bapiesllc ,
i_srvacc TYPE STANDARD TABLE OF bapiesklc,
i_return TYPE STANDARD TABLE OF bapiret2,
wa_header TYPE bapimepoheader,
wa_headerx TYPE bapimepoheaderx,
wa_poitem TYPE bapimepoitem,
wa_poitemx TYPE bapimepoitemx,
wa_poitem_sch TYPE bapimeposchedule,
wa_poitem_schx TYPE bapimeposchedulx,
wa_acct_*** TYPE bapimepoaccount,
wa_acct_assx TYPE bapimepoaccountx,
wa_services TYPE bapiesllc,
wa_srvacc TYPE bapiesklc,
wa_return TYPE bapiret2,
ws_po TYPE bapimepoheader-po_number.
break gbpra8.
wa_services-pckg_no = 10.
wa_services-line_no = 1.
wa_services-outl_no = '0'.
wa_services-outl_ind = c_x.
wa_services-subpckg_no = 20.
APPEND wa_services TO i_services.
wa_srvacc-pckg_no = 10.
wa_srvacc-line_no = 1.
wa_srvacc-serno_line = 01.
wa_srvacc-serial_no = 01.
wa_srvacc-percentage = 100.
APPEND wa_srvacc TO i_srvacc.
LOOP AT i_input_file INTO wa_input_file.
IF wa_input_file-column2 EQ 'HD'.
wa_header-doc_type = wa_input_file-column3.
wa_header-creat_date = sy-datum.
wa_header-created_by = sy-uname.
wa_header-vendor = wa_input_file-column4.
PERFORM conversion_output USING wa_header-vendor
CHANGING wa_header-vendor.
wa_header-comp_code = 'DE03'.
wa_header-purch_org = 'DE03'.
wa_header-pur_group = 'DE1'.
wa_header-vper_start = wa_input_file-column9.
wa_header-vper_end = wa_input_file-column10.
wa_headerx-comp_code = c_x.
wa_headerx-doc_type = c_x.
wa_headerx-creat_date = c_x.
wa_headerx-created_by = c_x.
wa_headerx-vendor = c_x.
wa_headerx-purch_org = c_x.
wa_headerx-pur_group = c_x.
wa_headerx-vper_start = c_x.
wa_headerx-vper_end = c_x.
ENDIF.
IF wa_input_file-column2 EQ 'IT'.
wa_poitem-po_item = wa_input_file-column3.
wa_poitem-short_text = wa_input_file-column6.
wa_poitem-plant = wa_input_file-column8.
wa_poitem-quantity = '1'.
wa_poitem-tax_code = 'V0'.
wa_poitem-item_cat = 'D'.
wa_poitem-acctasscat = 'K'.
wa_poitem-matl_group = wa_input_file-column7.
wa_poitem-pckg_no = '10'.
APPEND wa_poitem TO i_poitem .
wa_poitemx-po_item = wa_input_file-column3.
wa_poitemx-po_itemx = c_x.
wa_poitemx-short_text = c_x.
wa_poitemx-plant = c_x.
wa_poitemx-quantity = c_x.
wa_poitemx-tax_code = c_x.
wa_poitemx-item_cat = c_x.
wa_poitemx-acctasscat = c_x.
wa_poitemx-matl_group = c_x.
wa_poitemx-pckg_no = c_x.
APPEND wa_poitemx TO i_poitemx.
wa_poitem_sch-po_item = wa_input_file-column3.
wa_poitem_sch-delivery_date = sy-datum.
APPEND wa_poitem_sch TO i_poitem_sch.
wa_poitem_schx-po_item = wa_input_file-column3.
wa_poitem_schx-po_itemx = c_x.
wa_poitem_schx-delivery_date = c_x.
APPEND wa_poitem_schx TO i_poitem_schx.
wa_acct_***-po_item = 10.
wa_acct_***-serial_no = 01.
wa_acct_***-gl_account = '0006360100'.
wa_acct_***-co_area = '1000'.
wa_acct_***-costcenter = 'KC010000'.
APPEND wa_acct_*** TO i_acct_***.
wa_acct_***-po_item = 10.
wa_acct_***-serial_no = 02.
wa_acct_***-gl_account = '0006360100'.
wa_acct_***-co_area = '1000'.
wa_acct_***-costcenter = 'KC010000'.
APPEND wa_acct_*** TO i_acct_***.
wa_acct_assx-po_item = 10.
wa_acct_assx-serial_no = 01.
wa_acct_assx-po_itemx = c_x.
wa_acct_assx-serial_nox = c_x.
wa_acct_assx-gl_account = c_x.
wa_acct_assx-co_area = c_x.
wa_acct_assx-costcenter = c_x.
APPEND wa_acct_assx TO i_acct_assx.
wa_acct_assx-po_item = 10.
wa_acct_assx-serial_no = 02.
wa_acct_assx-po_itemx = c_x.
wa_acct_assx-serial_nox = c_x.
wa_acct_assx-gl_account = c_x.
wa_acct_assx-co_area = c_x.
wa_acct_assx-costcenter = c_x.
APPEND wa_acct_assx TO i_acct_assx.
wa_services-pckg_no = 20.
wa_services-line_no = 2.
wa_services-service = wa_input_file-column9.
wa_services-quantity = '100'.
wa_services-gr_price = '100'.
wa_services-userf1_txt = wa_input_file-column13.
APPEND wa_services TO i_services.
wa_srvacc-pckg_no = 20.
wa_srvacc-line_no = 1.
wa_srvacc-serno_line = 02.
wa_srvacc-serial_no = 02.
wa_srvacc-percentage = 100.
APPEND wa_srvacc TO i_srvacc.
ENDIF.
ENDLOOP.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = wa_header
poheaderx = wa_headerx
POADDRVENDOR =
TESTRUN =
MEMORY_UNCOMPLETE =
MEMORY_COMPLETE =
POEXPIMPHEADER =
POEXPIMPHEADERX =
VERSIONS =
NO_MESSAGING =
NO_MESSAGE_REQ =
NO_AUTHORITY =
NO_PRICE_FROM_PO =
IMPORTING
exppurchaseorder = ws_po
EXPHEADER =
EXPPOEXPIMPHEADER =
TABLES
return = i_return
poitem = i_poitem
poitemx = i_poitemx
POADDRDELIVERY =
poschedule = i_poitem_sch
poschedulex = i_poitem_schx
poaccount = i_acct_***
POACCOUNTPROFITSEGMENT =
poaccountx = i_acct_assx
POCONDHEADER =
POCONDHEADERX =
POCOND =
POCONDX =
POLIMITS =
POCONTRACTLIMITS =
poservices = i_services
posrvaccessvalues = i_srvacc
POSERVICESTEXT =
EXTENSIONIN =
EXTENSIONOUT =
POEXPIMPITEM =
POEXPIMPITEMX =
POTEXTHEADER =
POTEXTITEM =
ALLVERSIONS =
POPARTNER =
break gbpra8.
LOOP AT i_return INTO wa_return.
ENDLOOP.
ENDFORM. " split_data
*& Form conversion_output
Conversion exit input
FORM conversion_output USING p_ip
CHANGING p_op.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = p_ip
IMPORTING
output = p_op.
ENDFORM. " conversion_output
Best regards,
raam -
How to Create Shared Storage using VM-Server 2.1 Red Hat Enterprise Linux 5
Thanks in advance.
Describe in sequence how to create shared storage for a two guest/node Red Hat Linux Enterprise using Oracle 2.1 VM Server on Red Hat Linux Enterprise 5 using command line or appropriate interface.
How to create Shared Storage using Oracle 2.1 VM Server?
How to configure Network for two node cluster (oracle clusterware)?Hi Suresh Kumar,
Oracle Application Server 10g Release 2, Patch Set 3 (10.1.2.3) is required to be fully certified on OEL 5.x or RHEL 5.x.
Oracle Application Server 10g Release 2 10.1.2.0.0 or 10.1.2.0.1 versions are not supported with Oracle Enterprise Linux (OEL) 5.0 or Red Hat Enterprise Linux (RHEL) 5.0. It is recommended that version 10.1.2.0.2 be obtained and installed.
Which implies Oracle AS 10.1.2.x is some what certified on RHEL 5.x
I think it would be better if you get in touch with Oracle Support regarding this .
Sorry , I am not aware of any document on migration from Sun Solaris to RH Linux 5.2 .
Thanks,
Sutirtha -
How to create an array using reflection.
How to create an array using reflection.
I want to achive something like this,Object o;
o = (Object)(new TestClass[10]);but by use of reflection.
To create a single object is simple:Object o;
o = Class.forName("TestClass").newInstance();But how do I create an array of objects, when the class of objects is known only by name? (Can't use Object[] because even though an Object[] array can be filled with "TestClass" elements only, it Cannot be casted to a TestClass[] array)
Anybody knows?":-)
Ragnvald Barth
Software enigneerFound it!
the java.lang.reflect.Array class solves it!
Yes !!!
Maybe you are looking for
-
How can I use screen share of my mac mini? Problems validating
I recently purchased a mac mini to act as my home media server for audio as my airport express was not playing nicely with my Peachtree DAC. Anyway, I have set up sharing on the mac mini and can't figure out how to connect from my wife's Macbook, or
-
How to pass Itab to "BAPI_SALESORDER_CHANGE"
Requirment : We cancel sales order that have been created but not fulfilled within 7 days. At present, we do this manually. Can we configure to have the system auto cancel the sales order after the said period? selection screen u2022 Sales orga
-
Weird problem how to delete a file in the cloud
Hello there, I'm now a proud member of the Adobe Creative Cloud. Once signed in everything looks normal and I can upload a file simply by dragging and droppping. Now the problem: i'm not able to DELETE a file; there is no trash icon like in the onlin
-
I can't get rid of layer names from the Ultiboard PCB properties-General layers tab
A bunch of DXF layer names were erroneously entered into Ultiboard 10.1 a few years ago during a DXF importing operation. I upgraded to 12.0 recently and hoped that the old layers would be eliminated. I have been wanting to get rid of them for a long
-
1)http://radar.weather.gov/radar.php?product=N0R&rid=FWS&loop=yes<br /> 2)http://www.adobe.com/software/flash/about/<br /> 3)My DSL bandwidth & speed are very adequate.<br /> 4)By the way, your silly Submit Feedback button in your silly "Firefox Made