cancel
Showing results for 
Search instead for 
Did you mean: 

Location of COMPREHENSIVE documentation on Directory API?

brian_arthern2
Participant
0 Kudos

Hi,

Does anyone know if there is some proper and comprehensive documentation on the Directory API. I have found one weblog which provides some clue, but I need something more.

My requirement is to be able to retrieve the ID of an existing ChangeList under which Communication Channels are assigned (e.g. after a TPZ import) and then be able to change the Communication Channel settings and activate the ChangeList.

Could anyone provide detailed steps/classes needed to do this?

thanks

Brian

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

If you are 7.0 this is a good place to start.

http://help.sap.com/saphelp_nwpi71/helpdata/EN/46/6dca42e5c269dfe10000000a11466f/frameset.htm

if you are on 7.1 tough luck... am also stuck.. see my issue @

I think you will need the change list id as a place to start with.

GetObjectIdentifiers is the method you need to call to get the objects but you need to create a change list object in the first place(with in your main class to get the flow going) and that would mean, you need to know the change list id.

Can't find a way to read all the change lists in the system, loop through all of them, looking for a particular communication channel name or something like that... though I can see where your requirement comes from

brian_arthern2
Participant
0 Kudos

Just an update to my question.

After digging through Java code, analysing the Java DB tables and experimenting, I have managed to determine how to locate open changel lists.

The easiest solution is to create a servlet or EJB that accesses a SQL DataSource and read data from the tables directly.

A query along the following lines works:

"select a.OWNERNAME, b.SHORTTEXT,a.VERSIONSETID from XI_QCHANGELIST a, XI_QVERSIONSET b where a.OBJSTATE = 1 and a.VERSIONSETID = b.VERSIONSETID";

OBJSTATE = 1 selects only the open changelists.

VersionSETID is the changlist ID

Remember the field is BINARY so you need to convert from binary to string:

ResultSet rs = stmt.executeQuery(lastSQLStmt);

clID = binaryToString(rs, 3);

private String binaryToString(ResultSet rs, int colNo) throws Exception

{

InputStream bis = rs.getBinaryStream(colNo);

StringBuffer hexString = new StringBuffer();

byte[] b = new byte[999];

arrayLength = bis.read(b);

bis.close();

for (int i=0; i<arrayLength; i++)

hexString.append(hexArray[0xFF & b<i>]);

return hexString.toString();

}

private String[] hexArray = { "00","01","02","03","04","05","06","07","08","09","0A","0B","0C",

"0D","0E","0F","10","11","12","13","14","15","16","17","18","19",

"1A","1B","1C","1D","1E","1F","20","21","22","23","24","25","26",

"27","28","29","2A","2B","2C","2D","2E","2F","30","31","32","33",

"34","35","36","37","38","39","3A","3B","3C","3D","3E","3F","40",

"41","42","43","44","45","46","47","48","49","4A","4B","4C","4D",

"4E","4F","50","51","52","53","54","55","56","57","58","59","5A",

"5B","5C","5D","5E","5F","60","61","62","63","64","65","66","67",

"68","69","6A","6B","6C","6D","6E","6F","70","71","72","73","74",

"75","76","77","78","79","7A","7B","7C","7D","7E","7F","80","81",

"82","83","84","85","86","87","88","89","8A","8B","8C","8D","8E",

"8F","90","91","92","93","94","95","96","97","98","99","9A","9B",

"9C","9D","9E","9F","A0","A1","A2","A3","A4","A5","A6","A7","A8",

"A9","AA","AB","AC","AD","AE","AF","B0","B1","B2","B3","B4","B5",

"B6","B7","B8","B9","BA","BB","BC","BD","BE","BF","C0","C1","C2",

"C3","C4","C5","C6","C7","C8","C9","CA","CB","CC","CD","CE","CF",

"D0","D1","D2","D3","D4","D5","D6","D7","D8","D9","DA","DB","DC",

"DD","DE","DF","E0","E1","E2","E3","E4","E5","E6","E7","E8","E9",

"EA","EB","EC","ED","EE","EF","F0","F1","F2","F3","F4","F5","F6",

"F7","F8","F9","FA","FB","FC","FD","FE","FF"};

Former Member
0 Kudos