Unable to delete Reconciliation Field
Hi
I have a field in Reconciliation Field mapping of my Resource Object. For some reason I want to delete this field. So I removed mapping for this field in Recon Mapping of Process Definition for this Resource Object. But when I try to delete the same from Recon Fields in Resource Object it says "Field cannot be deleted as it is used in Reconciliation Event Data".
In Reconciliation Manager, there are some 10 events which are in "Event Received" state. I closed all the events and then tried to delete the field but still I get same error.
Any workarounds to resolve this error?
You can't delete fields from resource objects which were used even once in mapping. You can leave them as it is, as said above it won't make any harm.
Regards,
GP
Similar Messages
-
Unable to delete Flat Table Field in Products (Main) Table..!!
Hi Friends,
I have created a flat table and assigned it to the main table as a field. Later i added data and also removed. Now , when i am trying to delete that field in the main table then i am getting the below error
"<i><b>The field cannont be deleted until references to in the Family Tree are removed</b></i>"
I checked in the Families, i havent found any entry. I am new to the MDM.. I am unable to find the solution.
Thanks,
RaagsI am able to solve problem. In the datamanager i found that the partition is done on this field. i removed it from family mode.
thanks,
raags -
Unable to Delete Field in RO Recon Fields
Hi,
I am trying to delete a field in the Resource Object > Object Reconciliation > Reconciliation Fields.
It was set up as MultiValue. When I click on the Field and click Delete Field - nothing happens. It is not used in Reconciliation Process Mappings - and I do not receive any error - it just acts like it is processing (a little window pops up briefly that says "Deleting....") but then the Field is still in the list.
I tried changing the Field Type from MultiValue to String and then Deleting - but the same thing happens.
Is there a way to remove this field?
Thanks in advance,
DawnWhat I can presume from your description is that you must have also run reconciliation prior to this. (So may be the reconciliation field is used somewhere in database and the catch is that it's not showing you the error).There would be a simple check to validate this. Just go the same Resource object under 'Reconciliation Fields' tab and try deleting some attribute which is not multi-attributed data. See for the result:
- If this attribute gets deleted then we need to investigate further.
- If this attribute also shows up an error as - 'Field cannot be deleted as it is used in Reconciliation Event Data' then you know what is the problem.
Now if you find that the later result is true in your environment then you can probably try the following to achieve this :
- Take the backup of the following tables in OIM database.
RCA, RCB, RCD, RCP, RCH, RCU, RPC, RCM, RCE
- Once you take the backup delete the contents of these tables in the order specified above because data entries have dependencies between each other.
(Note - This will delete all your reconciliation related stuff, but you anyway have the backup of this data)
- Now you can try deleting your reconciliation field. You should be able to do that.
Regards
Sunny
Edited by: rajsunny on Nov 11, 2009 6:17 PM -
We have a publishing website in SharePoint 2010. There are total 4 environments - Development, Test, Stage and Production. For some enhancements, we had to create some new lists and libraries. When we moved changes from Development to Test environment, everything
worked fine. Relevant lists and libraries in lower environments were saved as templates (in .stp format) including content, imported to higher environment, lists/libraries were created in higher environment using imported templates.
Things worked fine from Development to Test. We did similar exercise from Test to Stage environment. Now in Stage, when we access some pages, we get error message - "One or more field types are not installed
properly. Go to the list settings page to delete these fields.". ULS logs don't tell which exact list has got problems.
On searching for this error, I got many articles that explain how this could happen when we migrate from SharePoint 2007 (MOSS) to 2010. Though our case different (as all our environments are in 2010), we still tried following steps.
De-activate 'SharePoint Server Publishing Infrastructure' Site Collection feature
Go to https://site-name/relationships%20list/allitems.aspx. This is a hidden list. Delete this list.
Re-activate 'SharePoint Server Publishing Infrastructure' Site Collection feature.
Make sure that new hidden list with one item is created at https://site-name/relationships%20list/allitems.aspx
However, this didn't help as we are still getting same error message. Appreciate if someone can suggest how this issue can be resolved.
Following are ULS logs:
Unable to execute query: Error 0x81020014
One or more field types are not installed properly. Go to the list settings page to delete these fields.
System.Runtime.InteropServices.COMException: One or more field types are not installed properly. Go to the list settings page to delete these fields.
at Microsoft.SharePoint.Library.SPRequestInternalClass.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient, String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback,
ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback, ISPDataCallback pFilterLinkCallback, ISPDataCallback pSchemaCallback, ISPDataCallback pRowCountCallback, Boolean& pbMaximalView)
at Microsoft.SharePoint.Library.SPRequest.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient, String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback, ISPDataCallback
pPagingCallback, ISPDataCallback pPagingPrevCallback, ISPDataCallback pFilterLinkCallback, ISPDataCallback pSchemaCallback, ISPDataCallback pRowCountCallback, Boolean& pbMaximalView)
Thanks!Hi Shrishail ,
Some time this issue occurs if you have any custom filed types in the list or library and that field type is not installed on server .
Can you please check that if you are having any custom field types column on the list and library and if that is the case you need to install that field type on the server. sometimes it happens if field types are not properly deployed / Installed then
you have to uninstall that field types (retract solution) and deploy it again.
Thanks,
Ujjwal -
Unable to delete double records from internal table
Hi all,
The internal table is like this
begin of ta_itab1 occurs 0,
mark type c,
cnt_hedg type c,
kunnr like vbak-kunnr,
vbeln like vbak-vbeln,
posnr like vbap-posnr,
matnr like vbap-matnr,
kwmeng like vbap-kwmeng,
h_kwmeng like vbap-kwmeng,
spart like vbap-spart,
werks like vbap-werks,
component like bom_item_api01-component,
comp_qty like bom_item_api01-comp_qty,
comp_qty1 like bom_item_api01-comp_qty,
base_quan like stko_api02-base_quan,
comp_unit like bom_item_api01-comp_unit,
base_unit like bom_item_api01-comp_unit,
bukrs_vf like vbak-bukrs_vf,
end of ta_itab1.
and used the sytax:
sort ta_itab6 by kunnr vbeln.
DELETE ADJACENT DUPLICATES FROM ta_itab6 comparing COMP_QTY COMP_QTY1.
but Im unable to delete duplicate record .
Thank You.
anuHi ,
You need to use the fields in sort statement on whichyiu wnat to perform Delete Adjacent duplicates..
sort ta_itab6 by kunnr vbeln COMP_QTY COMP_QTY1.
DELETE ADJACENT DUPLICATES FROM ta_itab6 comparing COMP_QTY COMP_QTY1. -
Unable to view the Fields inside Segment
Hi,
We are doing IDOC---File scenario
We have one IDOC "WPDWGR01" in R/3 and we imported that into IR.
When we are doing the mapping, that time we are unable to see the fields that inside this "E1WPW02" segment.
We have BEZEICH and VERKNUEPFG fields inside that segment.
We loaded the metadata also freshly by deleting the existing one.And we did the SXI_Cache also
When we Expanded (when we clicked E1WPW02 Seg )on the tree structure of the Imported IDOC from the Imported Objects, it is saying that "Schema for type WPDWGR01.E1WPW02 (category Data Type) not found"
And we are seeing the the Segments in Red color and no fields inside those segments
This is the Standard IDOC only, there is no Enhancements
Regards
Bopanna
Edited by: BOPANNA B on Mar 11, 2008 11:49 AMIt happens in the following case:
1) It was being edited by somebody and you imported the IDoc at the same time. ( some segments were locked and that is why few fields were missing)
2) check if the field level customization is done in that client , try to import it from some other client.
Hope this helps.
Regards.
Jeet -
Unable to delete IMAP mail account in Yosemite
I have set up a number of IMAP mail accounts, but have changed servers. I'm unable to delete the old accounts in the "Accounts" tab of Mail with an "error" dialog referring me to "Internet Accounts" tab of System Preferences. The accounts do NOT exist in this list. The accounts have been unchanged for years and have migrated with each OS & Mail.app upgrade.
I don't necessarily wish to delete the accounts - if I could just edit the server details that would do the job, however that field is greyed-out and can't be edited.I am having the exact same problem. iPhone 5 on 7.1. I try to 'turn off' contacts, the phone requires me to 'delete my account'. I agree to do so, and the phone just 'hangs' at the 'Delete' screen. I have allowed it to continue for over a half hour.
-
Delete Reconciliation fails when a Composite Key is used
Hi Guys ,
Problem Statement :-
I am facing problem in performing delete reconciliation when a composite key is used.It fails whenever we have more than one attribute as key
in reconciliation field mappings.
I am using prepareDeleteReconData() ..etc Api's to perform delete reconciliation. I am not using CreateDeleteReconciliationEvent() as i dont know which users are deleted.
UseCase
For eg . Consider Oracle DataBase UM connector , where you have composite key defined as (UserID and ITResource), it fails to generate a delete reconciliation event.
Have anybody faced this ?? Any workarounds ?
Thanks
Surendra SinghHey Surendra,
This is what you can do to get rid of this problem. I kow you cannot use the 'createDeleetReconciliationEvent' API, but just to let you know that this works absolutely fine. Now The approach which you might be using has the following flow-
- provideDeletionDetectionData()
- getMissingAccounts()
- deleteDetectedAccounts()
Now you must be aware that getMissingAccounts() returns a ResultSet for all the instances which needs to be revoked in OIM. If you see the contents of this ResultSet, here is what it contains (4 columns):
Objects.Key, Objects.Name, Structure Utility.Table Name, Process Instance.Key
Now what I suggest is do not use the deleteDetectedAccounts API as of now. And Revoke the object instance using API call. Follow the following steps:
1) Just iterate through the ResultSet *(deletedUsers)* obtained from 'getMissingAccounts()' to fetch the value 'Process Instance.Key' and store it in an Array.
2) You must be passing the Object Name as a Task Attribute. Use this attribute to fetch the 'Object Key'. Once you get this value, use the 'getAssociatedUsers' API of objectOperationsIntf to find all the users associated with this object. This API will return a ResultSet. Let's name it as *'AssoUsers'*.
3) Iterate the above ResultSet(AssoUsers) and fetch the *'Process Instance.Key'* column from its rows. Compare this value to the already created Array in step-1. If there is a match then you will know that this resource instance needs to be revoked.
4) Now fetch the following two values from the ResultSet(AssoUsers):
- Users.Key
- Object Instance.Key
5) Once you get the User Key, you will have to find its corresponding resources. Do it by using *'getObjects'* API of userOperationsIntf. This will again return a resultSet *(userObjects)*.
6) Iterate through all the rows and check the value of column *'Objects.Name'*. If this value equals to your resource, then fetch the value of column- Users-Object Instance For User.Key from this row.
7) This will give you the 'Object instnace for User key'.
8) Call the revokeObject API of userOperationsIntf interface.
Below is a sample code snippet for your reference.
Array DeletedUsers = {Your Deleted User List Array};
String ObjectName = "Your Object Name as it comes from Task Attribute";
long ObjectKey = 1; // Fetch it from Object Name above using API
HashMap dummy = new HashMap();
tcResultSet AssoUsers = objectOperationsIntf.getAssociatedUsers(ObjectKey, dummy);
for (int i=0 ; i<AssoUsers.getRowCount() ; i++) {
AssoUsers.goToRow(i);
String piKey = AssoUsers.getStringValue("Process Instance.Key");
if("Your Array DeletedUsers contains piKey"){
long userKey = AssoUsers.getLongValue("Users.Key");
long obiKey = AssoUsers.getLongValue("Object Instance.Key");
logger.debug("userKey extracted is : " + userKey);
logger.debug("obiKey extracted is : " + obiKey);
tcResultSet userObjects = userOperationsIntf.getObjects(userKey);
for(int j=0 ; j<userObjects.getRowCount() ; j++) {
userObjects.goToRow(j);
if(ObjectName.equalsIgnoreCase(userObjects.getStringValue("Objects.Name"))) {
long obiuKey = userObjects.getLongValue("Users-Object Instance For User.Key");
userOperationsIntf.revokeObject(userKey, obiuKey);
logger.debug("Resource has been revoked");
This should work. I know this looks quiet complex but have to do it. Give it a try.
Thanks
Sunny -
Unable to delete the list columns due to references - sharepoint 2010
Hello All,
I am unable to delete some list columns due to its reference. Actually I want to delete particular columns and create the same column name newly and I want to change the column type (calculated type) to single line text type
but unable to do the delete or modification due to following error, somebody please help me soon
and please see the snap for reference.
Error: Site columns which are included in content type cannot be deleted. Remove all the references to this site column prior to deleting thisHello,
Is there any data in list? It seems there is content type in list, which is referring this column, that's why you are not able to delete it. Could you please verify. If column added in content type then delete column from content type.
Try this powershell to delete column:
http://peterheibrink.wordpress.com/2011/12/09/powershell-delete-field-and-all-references/
Hemendra:Yesterday is just a memory,Tomorrow we may never see
Please remember to mark the replies as answers if they help and unmark them if they provide no help -
Unable to delete file from trash because it's "in use" not locked.
I'm unable to delete a file from trash. I keep getting the following message: "The operation can’t be completed because the item is in use." I've confirmed the file isn't locked and I've tried renaming it but still no luck. I'm running OSX 10.8.4. Any thoughts?
Check the 'More Like This' discussions on the right hand column. I suspect you may find the answer there.
Ciao. -
Getting Error while deleting a field from the 'Z' Structure
Hi All,
I have created a 'z' structure in which i have 5 fields, now i want to delete one field from the structure, but it is giving me error like Invalid Change.
Its a structure so i cant activate and adjust as we do for Tables.(se14)
So pls help me out asap.
thanks & Regards,
Dhruv ShahThanks for Quick Reply.
I have not used this field in any FM/ Report.
I have tried log off and then log on. but it make no difference.
Now the Other scenario is that i want to change the datatype of this field to TEXT25.
But it is also not allowing me to change because currently datatype is TEXT20.
So now how can i change the length from 20 to 25.
Regards,
Dhruv Shah -
Unable to delete applet.....
Hi all,
I am unable to delete one applet which I have loaded in the card.
There are 2 applets, one is purse and other is loyalty. And am using shareable interface in which loyalty is the server and purse is the client. I can delete the purse applet but i can't delete the loyalty from the card.
Here is my code : There are in all 3 codes, one is purse, second is loyalty code and third is the shareable interface code. Can some one look at the code and tell me what's wrong in this programs.
package com.gemplus.examples.loyalty;
import javacard.framework.*;
import visa.openplatform.*;
public class Loyalty extends javacard.framework.Applet implements TestInterface
static byte points ;
protected Loyalty(byte[] buffer, short offset, byte length)
// data offset is used for application specific parameter.
// initialization with default offset (AID offset).
short dataOffset = offset;
if(length > 9) {
// Install parameter detail. Compliant with OP 2.0.1.
// | size | content
// |------|---------------------------
// | 1 | [AID_Length]
// | 5-16 | [AID_Bytes]
// | 1 | [Privilege_Length]
// | 1-n | [Privilege_Bytes] (normally 1Byte)
// | 1 | [Application_Proprietary_Length]
// | 0-m | [Application_Proprietary_Bytes]
// shift to privilege offset
dataOffset += (short)(1 + buffer[offset]);
// finally shift to Application specific offset
dataOffset += (short)(1 + buffer[dataOffset]);
// checks wrong data length
if(buffer[dataOffset] != 4)
// return received proprietary data length in the reason
ISOException.throwIt((short)(ISO7816.SW_WRONG_LENGTH + offset + length - dataOffset));
// go to proprietary data
dataOffset++;
// points = 0;
// register this instance
register(buffer, (short)(offset + 1), (byte)buffer[offset]);
* Method installing the applet.
* @param bArray the array constaining installation parameters
* @param bOffset the starting offset in bArray
* @param bLength the length in bytes of the data parameter in bArray
public static void install(byte[] bArray, short bOffset, byte bLength) throws ISOException
/* applet instance creation */
new Loyalty (bArray, bOffset, (byte)bLength);
* Select method returning true if applet selection is supported.
* @return boolean status of selection.
public boolean select()
/* return status of selection */
return true;
* Deselect method.
public void deselect()
return;
public void process(APDU apdu) throws ISOException
// check valid Applet state
if(OPSystem.getCardContentState() == OPSystem.APPLET_BLOCKED)
ISOException.throwIt(ISO7816.SW_COMMAND_NOT_ALLOWED);
apdu.setIncomingAndReceive();
byte[] apduBuffer = apdu.getBuffer();
// writes the balance into the APDU buffer after the APDU command part
creditPoints((byte)0x00);
apduBuffer[5] = (byte)(points >> 8) ;
apduBuffer[6] = (byte)points ;
// sends the APDU response
// switches to output mode
apdu.setOutgoing() ;
// 2 bytes to return
apdu.setOutgoingLength((short)2) ;
// offset and length of bytes to return in the APDU buffer
apdu.sendBytes((short)5, (short)2) ;
public void creditPoints(byte pTobeCredited)
points += pTobeCredited;
public Shareable getShareableInterfaceObject(AID client, byte param){
if(param != (byte)0x00)
return null;
return (this);
second code is :
package com.gemplus.examples.oppurse;
* Imported packages
import javacard.framework.*;
import visa.openplatform.*;
import com.gemplus.examples.loyalty.*;
public class OPPurse extends javacard.framework.Applet
// the APDU constants for all the commands.
private final static byte INS_GET_BALANCE = (byte)0x30 ;
private final static byte INS_DEBIT = (byte)0x31 ;
private final static byte INS_CREDIT = (byte)0x32 ;
private final static byte INS_VERIFY_PIN = (byte)0x33 ;
private final static byte INS_SET_NAME = (byte)0x34 ;
private final static byte INS_GET_NAME = (byte)0x35 ;
// the OP/VOP specific instruction set for mutual authentication
private final static byte CLA_INIT_UPDATE = (byte)0x80 ;
private final static byte INS_INIT_UPDATE = (byte)0x50 ;
private final static byte CLA_EXTERNAL_AUTHENTICATE = (byte)0x84 ;
private final static byte INS_EXTERNAL_AUTHENTICATE = (byte)0x82 ;
// the PIN validity flag
private boolean validPIN = false;
// SW bytes for PIN Failed condition
// the last nibble is replaced with the number of remaining tries
private final static short SW_PIN_FAILED = (short)0x63C0;
private final static short SW_FAILED_TO_OBTAIN_SIO = (short)0x63D0;
private final static short SW_LOYALTY_APP_NOT_EXIST = (short)0x63E0;
// the illegal amount value for the exceptions.
private final static short ILLEGAL_AMOUNT = 1;
// the maximum balance in this purse.
private static final short maximumBalance = 10000;
// the current balance in this purse.
private static short balance;
/* byte[] loyaltyAID = new byte[]{ (byte)0xA0,(byte)0x00,(byte)0x00,(byte)0x00,
(byte)0x19,(byte)0xFF,(byte)0x00,(byte)0x00,
(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,
(byte)0x00,(byte)0x00,(byte)0x02,(byte)0x02};*/
/* Security part of declarations */
// the Security Object necessary to credit the purse
private ProviderSecurityDomain securityObject = null;
// the security channel number
byte secureChannel = (byte)0xFF;
// the authentication status
private boolean authenticationDone = false;
// the secure channel status
private boolean channelOpened = false;
private byte[] nameBuffer = new byte[6];
* Only this class's install method should create the applet object.
protected OPPurse(byte[] buffer, short offset, byte length)
// data offset is used for application specific parameter.
// initialization with default offset (AID offset).
short dataOffset = offset;
if(length > 9) {
// Install parameter detail. Compliant with OP 2.0.1.
// | size | content
// |------|---------------------------
// | 1 | [AID_Length]
// | 5-16 | [AID_Bytes]
// | 1 | [Privilege_Length]
// | 1-n | [Privilege_Bytes] (normally 1Byte)
// | 1 | [Application_Proprietary_Length]
// | 0-m | [Application_Proprietary_Bytes]
// shift to privilege offset
dataOffset += (short)( 1 + buffer[offset]);
// finally shift to Application specific offset
dataOffset += (short)( 1 + buffer[dataOffset]);
// checks wrong data length
if(buffer[dataOffset] != 2)
// return received proprietary data length in the reason
ISOException.throwIt((short)(ISO7816.SW_WRONG_LENGTH + offset + length - dataOffset));
// go to proprietary data
dataOffset++;
} else {
// Install parameter compliant with OP 2.0.
if(length != 2)
ISOException.throwIt((short)(ISO7816.SW_WRONG_LENGTH + length));
// retreive the balance value from the APDU buffer
short value = (short)(((buffer[(short)(dataOffset + 1)]) & 0xFF)
| ((buffer[dataOffset] & 0xFF) << 8));
// checks initial balance value
if(value > maximumBalance)
ISOException.throwIt(ISO7816.SW_DATA_INVALID);
// initializes the balance with the APDU buffer contents
balance = value;
// register this instance as an installed Applet
register();
// ask the system for the Security Object associated to the Applet
securityObject = OPSystem.getSecurityDomain();
// applet is personalized and its state can change
OPSystem.setCardContentState(OPSystem.APPLET_PERSONALIZED);
// build the new ATR historical bytes
byte[] newATRHistory = new byte[]
// put "OPPurse" in historical bytes.
(byte)0x4F, (byte)0x50, (byte)0x50, (byte)0x75, (byte)0x72, (byte)0x73, (byte)0x65
// !!! ACTIVATED IF INSTALL PRIVILEGE IS "Default Selected" (0x04). !!!
// change the default ATR to a personalized's one
OPSystem.setATRHistBytes(newATRHistory, (short)0, (byte)newATRHistory.length);
* Method installing the applet.
* @param installparam the array constaining installation parameters
* @param offset the starting offset in installparam
* @param length the length in bytes of the data parameter in installparam
public static void install(byte[] installparam, short offset, byte length )
throws ISOException
// applet instance creation with the initial balance
new OPPurse(installparam, offset, length );
* Select method returning true if applet selection is supported.
* @return boolean status of selection.
public boolean select()
validPIN = false;
// reset security if used.
// In case of reset deselect is not called
reset_security();
// return status of selection
return true;
* Deselect method.
public void deselect()
// reset security if used.
reset_security();
return;
* Method processing an incoming APDU.
* @see APDU
* @param apdu the incoming APDU
* @exception ISOException with the response bytes defined by ISO 7816-4
public void process(APDU apdu) throws ISOException
// get the APDU buffer
// the APDU data is available in 'apduBuffer'
byte[] apduBuffer = apdu.getBuffer();
// the "try" is mandatory because the debit method
// can throw a javacard.framework.UserException
try
switch(apduBuffer[ISO7816.OFFSET_INS])
case INS_VERIFY_PIN :
verifyPIN(apdu);
break ;
case INS_GET_BALANCE :
getBalance(apdu) ;
break ;
case INS_DEBIT :
debit(apdu) ;
break ;
case INS_SET_NAME :
setName(apdu);
break;
case INS_GET_NAME :
getName(apdu);
break ;
case INS_CREDIT :
credit(apdu) ;
break ;
case INS_INIT_UPDATE :
if(apduBuffer[ISO7816.OFFSET_CLA] == CLA_INIT_UPDATE)
// call initialize/update security method
init_update(apdu) ;
else
// wrong CLA received
ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
break ;
case INS_EXTERNAL_AUTHENTICATE :
if(apduBuffer[ISO7816.OFFSET_CLA] == CLA_EXTERNAL_AUTHENTICATE)
// call external/authenticate security method
external_authenticate(apdu) ;
else
// wrong CLA received
ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
break ;
case ISO7816.INS_SELECT :
break ;
default :
// The INS code is not supported by the dispatcher
ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED) ;
break ;
} // end of the switch
} // end of the try
catch(UserException e)
// translates the UserException in an ISOException.
if(e.getReason() == ILLEGAL_AMOUNT)
throw new ISOException ( ISO7816.SW_DATA_INVALID ) ;
//- P R I V A T E M E T H O D S -
* Handles Verify Pin APDU.
* @param apdu APDU object
private void verifyPIN(APDU apdu)
// get APDU data
apdu.setIncomingAndReceive();
// get APDU buffer
byte[] apduBuffer = apdu.getBuffer();
// check that the PIN is not blocked
if(OPSystem.getTriesRemaining() == 0)
OPSystem.setCardContentState(OPSystem.APPLET_BLOCKED);
// Pin format for OP specification
// |type(2),length|nible(1),nible(2)|nible(3),nible(4)|...|nible(n-1),nible(n)|
// get Pin length
byte length = (byte)(apduBuffer[ISO7816.OFFSET_LC] & 0x0F);
// pad the PIN ASCII value
for(byte i=length; i<0x0E; i++)
// only low nibble of padding is used
apduBuffer[ISO7816.OFFSET_CDATA + i] = 0x3F;
// fill header TAG
apduBuffer[0] = (byte)((0x02 << 4) | length);
// parse ASCII Pin code
for(byte i=0; i<0x0E; i++)
// fill bytes with ASCII Pin nibbles
if((i & 0x01) == 0)
// high nibble
apduBuffer[(i >> 1)+1] = (byte)((apduBuffer[ISO7816.OFFSET_CDATA + i] & 0x0F) << 4);
else
// low nibble
apduBuffer[(i >> 1)+1] |= (byte)(apduBuffer[ISO7816.OFFSET_CDATA + i] & 0x0F);
// verify the received PIN
// !!! WARNING PIN HAS TO BE INITIALIZED BEFORE USE !!!
if(OPSystem.verifyPin(apdu, (byte)0))
// set PIN validity flag
validPIN = true;
// if applet state is BLOCKED then restore previous state (PERSONALIZED)
if(OPSystem.getCardContentState() == OPSystem.APPLET_BLOCKED)
OPSystem.setCardContentState(OPSystem.APPLET_PERSONALIZED);
return;
// the last nibble of returned code is the number of remaining tries
ISOException.throwIt((short)(SW_PIN_FAILED + OPSystem.getTriesRemaining()));
* Performs the "getBalance" operation on this counter.
* @param apdu The APDU to process.
private void getBalance( APDU apdu )
// check valid Applet state
if(OPSystem.getCardContentState() == OPSystem.APPLET_BLOCKED)
ISOException.throwIt(ISO7816.SW_COMMAND_NOT_ALLOWED);
// get the APDU buffer
byte[] apduBuffer = apdu.getBuffer();
// writes the balance into the APDU buffer after the APDU command part
apduBuffer[5] = (byte)(balance >> 8) ;
apduBuffer[6] = (byte)balance ;
// sends the APDU response
// switches to output mode
apdu.setOutgoing() ;
// 2 bytes to return
apdu.setOutgoingLength((short)2) ;
// offset and length of bytes to return in the APDU buffer
apdu.sendBytes((short)5, (short)2) ;
private void setName(APDU apdu)
// check valid Applet state
if(OPSystem.getCardContentState() == OPSystem.APPLET_BLOCKED)
ISOException.throwIt(ISO7816.SW_COMMAND_NOT_ALLOWED);
// the operation is allowed only if master pin is validated
if(!validPIN)
ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
byte[] apduBuffer = apdu.getBuffer();
apdu.setIncomingAndReceive();
for(short i=0,k=5;i<6;i++,k++)
nameBuffer[i] = apduBuffer[k];
}//end of setName
private void getName(APDU apdu)
// check valid Applet state
if(OPSystem.getCardContentState() == OPSystem.APPLET_BLOCKED)
ISOException.throwIt(ISO7816.SW_COMMAND_NOT_ALLOWED);
byte[] apduBuffer = apdu.getBuffer();
for(short i=5, k=0;i<11;i++,k++)
apduBuffer=nameBuffer[k];
apdu.setOutgoing();
apdu.setOutgoingLength((short)6);
apdu.sendBytes((short)5,(short)6);
}//end of storeName
* Performs the "debit" operation on this counter.
* @param apdu The APDU to process.
* @exception ISOException If the APDU is invalid.
* @exception UserException If the amount to debit is invalid.
private void debit(APDU apdu) throws ISOException, UserException
// check valid Applet state
if(OPSystem.getCardContentState() == OPSystem.APPLET_BLOCKED)
ISOException.throwIt(ISO7816.SW_COMMAND_NOT_ALLOWED);
// the operation is allowed only if master pin is validated
if(!validPIN)
ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
// get the APDU buffer
byte[] apduBuffer = apdu.getBuffer();
// Gets the length of bytes to recieved from the terminal and receives them
// If does not receive 4 bytes throws an ISO.SW_WRONG_LENGTH exception
if(apduBuffer[4] != 2 || apdu.setIncomingAndReceive() != 2)
ISOException.throwIt(ISO7816.SW_WRONG_LENGTH) ;
// Reads the debit amount from the APDU buffer
// Starts at offset 5 in the APDU buffer since the 5 first bytes
// are used by the APDU command part
short amount = (short)(((apduBuffer[6]) & (short)0x000000FF)
| ((apduBuffer[5] << 8 ) & (short)0x0000FF00));
// tests if the debit is valid
if((balance >= amount) && (amount > 0))
// does the debit operation
balance -= amount ;
// writes the new balance into the APDU buffer
// (writes after the debit amount in the APDU buffer)
apduBuffer[7] = (byte)(balance >> 8) ;
apduBuffer[8] = (byte)balance ;
// sends the APDU response
apdu.setOutgoing() ; // Switches to output mode
apdu.setOutgoingLength((short)2) ; // 2 bytes to return
// offset and length of bytes to return in the APDU buffer
apdu.sendBytes((short)7, (short)2) ;
/*short points = 10;
AID loyaltyID = JCSystem.lookupAID(loyaltyAID, (short)0, (byte)loyaltyAID.length);
if(loyaltyID == null)
ISOException.throwIt((short)(SW_LOYALTY_APP_NOT_EXIST));
TestInterface sio = (TestInterface)(JCSystem.getAppletShareableInterfaceObject(loyaltyID, (byte)0x00));
if(sio == null)
ISOException.throwIt((short)(SW_FAILED_TO_OBTAIN_SIO));
sio.creditPoints(points);*/
else
// throw a UserException with illegal amount as reason
throw new UserException(ILLEGAL_AMOUNT) ;
/* byte points = (byte)0x0A;
//short points = 10;
AID loyaltyID = JCSystem.lookupAID(loyaltyAID, (short)0, (byte)loyaltyAID.length);
if(loyaltyID == null)
ISOException.throwIt((short)(SW_LOYALTY_APP_NOT_EXIST));
TestInterface sio = (TestInterface)JCSystem.getAppletShareableInterfaceObject(loyaltyID, (byte)0x00);
if(sio == null)
ISOException.throwIt((short)(SW_FAILED_TO_OBTAIN_SIO));
sio.creditPoints(points);*/
* Performs the "credit" operation on this counter. The operation is allowed only
* if master pin is validated
* @param apdu The APDU to process.
* @exception ISOException If the APDU is invalid or if the amount to credit
* is invalid.
private void credit(APDU apdu) throws ISOException
// check valid Applet state
if(OPSystem.getCardContentState() == OPSystem.APPLET_BLOCKED)
ISOException.throwIt(ISO7816.SW_COMMAND_NOT_ALLOWED);
// the operation is allowed only if master pin is validated and authentication is done
if (!validPIN || !authenticationDone)
ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
// get the APDU buffer
byte[] apduBuffer = apdu.getBuffer();
// gets the length of bytes to recieved from the terminal and receives them
// if does not receive 2 bytes throws an ISO.SW_WRONG_LENGTH exception
if(apduBuffer[4] != 2 || apdu.setIncomingAndReceive() != 2)
throw new ISOException(ISO7816.SW_WRONG_LENGTH) ;
// reads the credit amount from the APDU buffer
// starts at offset 5 in the APDU buffer since the 5 first bytes
// are used by the APDU command part
short amount = (short)(((apduBuffer[6]) & (short)0x000000FF)
| ((apduBuffer[5] << 8) & (short)0x0000FF00));
// tests if the credit is valid
if(((short)(balance + amount) > maximumBalance) || (amount <= (short)0))
throw new ISOException(ISO7816.SW_DATA_INVALID) ;
else
// does the credit operation
balance += amount ;
* Performs the "init_update" security operation.
* @param apdu The APDU to process.
private void init_update( APDU apdu )
// receives data
apdu.setIncomingAndReceive();
// checks for existing active secure channel
if(channelOpened)
// close the openned security channel
try
securityObject.closeSecureChannel(secureChannel);
catch(CardRuntimeException cre2)
// channel number is invalid. this case is ignored
// set the channel flag to close
channelOpened = false;
try
// open a new security channel
secureChannel = securityObject.openSecureChannel(apdu);
// set the channel flag to open
channelOpened = true;
// get expected length
short expected = apdu.setOutgoing();
// send authentication result
// expected length forced to 0x1C
apdu.setOutgoingLength((byte)0x1C);
apdu.sendBytes(ISO7816.OFFSET_CDATA, (byte)0x1c);
catch(CardRuntimeException cre)
// no available channel or APDU is invalid
ISOException.throwIt(ISO7816.SW_CONDITIONS_NOT_SATISFIED);
* Performs the "external_authenticate" security operation.
* @param apdu The APDU to process.
private void external_authenticate( APDU apdu )
// receives data
apdu.setIncomingAndReceive();
// checks for existing active secure channel
if(channelOpened)
try
// try to authenticate the client
securityObject.verifyExternalAuthenticate(secureChannel, apdu);
// authentication succeed
authenticationDone = true;
catch(CardRuntimeException cre)
// authentication fails
// set authentication flag to fails
authenticationDone = false;
// close the openned security channel
try {
securityObject.closeSecureChannel(secureChannel);
} catch(CardRuntimeException cre2) {
// channel number is invalid. this case is ignored
// set the channel flag to close
channelOpened = false;
// send authentication result
ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
// send authentication result
ISOException.throwIt(ISO7816.SW_NO_ERROR);
else
ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
* The "reset_security" method close an opened secure channel if exist.
* @return void.
public void reset_security()
// close the secure channel if openned.
if(secureChannel != (byte)0xFF)
try
// close the openned security channel
securityObject.closeSecureChannel(secureChannel);
catch(CardRuntimeException cre2)
// channel number is invalid. this case is ignored
// reset security parameters
secureChannel = (byte)0xFF;
channelOpened = false;
authenticationDone = false;
return;
and the 3rd code is:
package com.gemplus.examples.loyalty;
import javacard.framework.Shareable;
public interface TestInterface extends Shareable
// public void creditPoints(byte points) ;
public void creditPoints(byte points) ;
Thanks in advance......Thanks. I know they are not the same thing. A package cannot be deleted if it contains one or more applets.
I tried to delete by typing in the applet AID first, but it just doesn't work. And of course it doesn't work for package AID.
Both the package and applet AID are generated in JBuilder, which looks like this, package AID(6D 79 70 61 63 6B 61 67 31),
applet AID(6D 79 70 61 63 30 30 30 31),
instance AID(6D 79 70 61 63 30 30 30 31)
I've tried those three AIDs, it's not working.
Thanks. -
Unable to capture screen fields in eCATT
Problem description 1 : Unable to capture screen fields in eCATT
Recording using SAP GUI Method.
Problem description 2 :Unable to capture Tab controls while recording
in eCATT using SAP GUI Method.
Thaks for any suggestion you could provide me and once again for your courtesy attention.
Regards,
Eric MonteiroHi Phani,
Please try below code:
*data declaration for reading values given by user in the selection screen field.
DATA: BEGIN OF i_tab OCCURS 0.
INCLUDE STRUCTURE rsselread.
DATA: END OF i_tab.
MOVE: 'LOGSYS' TO i_tab-name,
'P' TO i_tab-kind. u201CP For parameter
APPEND i_tab.
MOVE: 'GP_SIMVE' TO i_tab-name,
'P' TO i_tab-kind. u201CCheck if field is Parameter
APPEND i_tab.
*move program name and screen number into local variable.
l_prog = sy-repid. u201C(Try by directly passing program name also)
l_dynnr = sy-dynnr. u201C(Try by directly passing Screen number also)
*calling function module to get the value given by user.
CALL FUNCTION 'RS_SELECTIONSCREEN_READ'
EXPORTING
program = l_prog
dynnr = l_dynnr
TABLES
fieldvalues = i_tab.
Hope this should slove your issue.
Thanks & Regards,
Gaurav. -
Unable to delete Address Book File
I am unable to delete nor copy over an Address Book file that I have on an external HD connected via Airport Extreme. When I connect the HD directly to my Macbook Pro, I am able to delete the file - but not via Airport Extreme. When I attempt to delete the file, I get a message from Trash as follows: The operation cannot be completed because the item "Metadata" is in use. Same message when I attempt to replace the file with a new file. In other words, I am unable to use AE to transfer my Address Book file to my external HD, unless I change the name of the file. What is going on here?
Hello Bob.
You may be having a problem with some Firefox add-on that is hindering your Firefox's normal behavior. Have you tried disabling all add-ons (just to check), to see if Firefox goes back to normal?
Whenever you have a problem with Firefox, whatever it is, you should make sure it's not coming from one of your installed add-ons, be it an extension, a theme or a plugin. To do that easily and cleanly, run Firefox in [http://support.mozilla.com/en-US/kb/Safe+Mode safe mode] and select ''Disable all add-ons''. If the problem disappears, you know it's from an add-on. Disable them all in normal mode, and enable them one at a time until you find the source of the problem. See [http://support.mozilla.com/en-US/kb/Troubleshooting+extensions+and+themes this article] for information about troubleshooting extensions and theme. You can troubleshoot plugins the same way.
If you want support for one of your add-ons, you'll need to contact its author. -
Hi Team,
I have created Administrator -approved Infopath form template to my site and activated same template in CA.
I have used this template in one of my Form library and i can able to submit the Form with success to the library.
when i click "View Item" or "Edit Item" of the form it throws , "One or more field types are not installed properly. Go to the list settings page to delete these fields." error message.
I have refered my log files also but there is no useful information in that, please find my logs for your reference.
w3wp.exe (0x2D7C)
0x3790
SharePoint Foundation
Logging Correlation Data
xmnv
Medium
Site=/sites/Prototypes
w3wp.exe (0x2D7C)
0x3790
SharePoint Foundation
Monitoring
b4ly
High
Leaving Monitored Scope (PostResolveRequestCacheHandler). Execution Time=8.51588679566816
w3wp.exe (0x2D7C)
0x3790
SharePoint Foundation
General
8kh7
High
One or more field types are not installed properly. Go to the list settings page to delete these fields.
w3wp.exe (0x2D7C)
0x3790
SharePoint Foundation
General
8sl1
High
DelegateControl: Exception thrown while adding control 'ASP._controltemplates_publishingconsole_ascx': One or more field types are not installed properly. Go to the list settings page to delete these fields.
w3wp.exe (0x2D7C)
0x3790
SharePoint Foundation
General
8kh7
High
One or more field types are not installed properly. Go to the list settings page to delete these fields.
w3wp.exe (0x2D7C)
0x3790
SharePoint Foundation
Runtime
tkau
Unexpected
System.Runtime.InteropServices.COMException: One or more field types are not installed properly. Go to the list settings page to delete these fields.
at Microsoft.SharePoint.Library.SPRequestInternalClass.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient, String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback,
ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback, ISPDataCallback pFilterLinkCallback, ISPDataCallback pSchemaCallback, ISPDataCallback pRowCountCallback, Boolean& pbMaximalView)
at Microsoft.SharePoint.Library.SPRequest.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient, String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEA...
w3wp.exe (0x2D7C)
0x3790
SharePoint Foundation
Runtime
tkau
Unexpected
...RRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback, ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback, ISPDataCallback pFilterLinkCallback, ISPDataCallback pSchemaCallback, ISPDataCallback pRowCountCallback, Boolean& pbMaximalView)
w3wp.exe (0x2D7C)
0x3790
SharePoint Foundation
Monitoring
b4ly
Medium
Leaving Monitored Scope (Request (GET:http://test-sharepoint:80/sites/Prototypes/TRT/TRTLibrary/Forms/EditForm.aspx?ID=47&Source=http%3A%2F%2Ftest%2Dsharepoint%2Fsites%2FPrototypes%2FTRT%2FTRTLibrary%2FForms%2FAllItems%2Easpx&RootFolder=%2Fsites%2FPrototypes%2FTRT%2FTRTLibrary&ContentTypeId=0x01010100E7EE25E5A6898C4587A6B52C808EF03300FD54861D587A7E43BA3E2E6D392A3526&IsDlg=1)).
Execution Time=32.443369199158
w3wp.exe (0x08E4)
0x2C58
Access Services
Data Layer
8jg2
Medium
ResourceManager.PerformCleanup: Disk Manager: CurrentSize=0.
w3wp.exe (0x08E4)
0x2C58
Access Services
Data Layer
5pbr
Medium
ResourceManager.EvictUnusedItems: Disk Manager: Going to evict unused items. CurrentSize: 0.
w3wp.exe (0x08E4)
0x2C58
Access Services
Data Layer
5pbs
Medium
ResourceManager.EvictUnusedItems: Disk Manager: After unused items eviction. CurrentSize: 0
Diff:0.
w3wp.exe (0x2D7C)
0x0774
SharePoint Foundation
Topology
e5mc
Medium
WcfSendRequest: RemoteAddress: 'http://test-sharepoint:32843/4ac2daef5ffe4850be08bd7bbebb5ac2/MetadataWebService.svc' Channel: 'Microsoft.SharePoint.Taxonomy.IMetadataWebServiceApplication' Action: 'http://schemas.microsoft.com/sharepoint/taxonomy/soap/IDataAccessReadOnly/GetChanges'
MessageId: 'urn:uuid:dcba94c3-2764-428c-b44f-60e703328ceb'
w3wp.exe (0x08E4)
0x2E24
SharePoint Foundation
Topology
e5mb
Medium
WcfReceiveRequest: LocalAddress: 'http://test-sharepoint.anca.com.au:32843/4ac2daef5ffe4850be08bd7bbebb5ac2/MetadataWebService.svc' Channel: 'System.ServiceModel.Channels.ServiceChannel' Action: 'http://schemas.microsoft.com/sharepoint/taxonomy/soap/IDataAccessReadOnly/GetChanges'
MessageId: 'urn:uuid:dcba94c3-2764-428c-b44f-60e703328ceb'
JeevaHello,
Is there any other content type on library or check if there is any duplicate column? Could you please also show us your library columns detail? (pic is also fine of lib settings page)
If you have any ""Property Promotion" column then SP create those columns as site column and associate them with this template so check "Allow management of content types" for that form library as well.
Hemendra:Yesterday is just a memory,Tomorrow we may never see
Please remember to mark the replies as answers if they help and unmark them if they provide no help
Maybe you are looking for
-
I have a four disks Sonnet set to configure in RAID 1. When configuring it, Disk Utility gives me the option of "Raid spare" or "Raid slice" for each disk. What is the best option ? Slide or Spare ?
-
Hi, I have a third party systems which is sending xml files and i want to use HTTP on the sender side and RFC on the receiver side to connect to SAP. I want to know how can i send xml files from the third party system to HTTP adapter on the integrati
-
Multiple Speaker box shows a locked Apple TV speaker option.
In my Multiple Speaker box under iTunes my Apple TV icon has a small image of a "Lock" in the locked position. I think this is the reason I can't play music through the speakers connected to my Apple TV. How do I unlock this?
-
Why are icons disappearing from my dock even tho I can still use the location to open the app
How do I keep icons from disappearing from my dock - even tho I can click on the emptied location and open the "ghost" application?
-
How to download Whatsapp?
aw cn i dawnload wotsapp 2 my 305 Moderator's Note: We have moved your post and changed the title into a subject-related title. This is to keep the forum organized and let other forum users easily see and respond to this post.