Feb
18
Database entries required for creating a new controller command in WCS 5.6
Posted by | Posted in WebSphere, WebSphere Commerce | Posted on 18-02-2008
Tagged Under : Controller command, WCS, WebSphere, WebSphere Commerce, WebSphere Commerce Server
To create a new controller command we need to make a couple of database entries. i.e., we need to make an entry in URLREG, CMDREG, ACACTION, ACACTDESC, ACACTACTGP, ACRESCGRY, ACRESCGRY, ACRESGPRES tables. For eg: if we want to make a new controller command ‘MyNewCommand’, the database entries for this command to work will be.
INSERT INTO URLREG (URL, STOREENT_ID, INTERFACENAME, HTTPS, DESCRIPTION, AUTHENTICATED, INTERNAL) VALUES ('MyNewCommand', 1000, 'com.mycomp.commands.MyNewCommandCmd', 0, 'My New controller command', 0, 0); INSERT INTO CMDREG (STOREENT_ID, INTERFACENAME, DESCRIPTION, CLASSNAME, TARGET) VALUES (1000, 'com.mycomp.commands.MyNewCommandCmd', 'My new controller command', 'com.mycomp.commands.MyNewCommandCmdImpl', 'Local'); INSERT INTO ACACTION (ACACTION_ID, ACTION) VALUES ((SELECT MAX(ACACTION_ID)+1 FROM ACACTION), 'com.mycomp.commands.MyNewCommandCmd'); INSERT INTO ACACTDESC (ACACTION_ID, DISPLAYNAME, DESCRIPTION, LANGUAGE_ID) VALUES ((SELECT ACACTION_ID FROM ACACTION WHERE ACTION='com.mycomp.commands.MyNewCommandCmd'), 'MyNewCommand', 'My New controller command', -1); INSERT INTO ACACTACTGP(ACACTGRP_ID, ACACTION_ID) VALUES ((SELECT ACACTGRP_ID FROM ACACTGRP WHERE GROUPNAME='AllSiteUsersViews'), (SELECT ACACTION_ID FROM ACACTION WHERE ACTION='com.mycomp.commands.MyNewCommandCmd')); INSERT INTO ACRESCGRY(ACRESCGRY_ID, RESCLASSNAME) VALUES ((SELECT MAX (ACRESCGRY_ID) + 1 FROM ACRESCGRY), 'com.mycomp.commands.MyNewCommandCmd'); INSERT INTO ACRESGPRES(ACRESCGRY_ID, ACRESGRP_ID) VALUES ((SELECT ACRESCGRY_ID FROM ACRESCGRY WHERE RESCLASSNAME='com.mycomp.commands.MyNewCommandCmd'), 10119 ); |
Here the storeId I used is 1000 and the command interface is ‘com.mycomp.commands.MyNewCommandCmd’ and the implementation class is ‘com.mycomp.commands.MyNewCommandCmdImpl’. This is the easiest way of creating a new controller command.


