Unix Commands/Notes

This covers topics specifically related to Redback and how it interfaces with ePortal/StoreFront.
These Redback commands are run from Unix. You must be logged in as the Redback Administrator to do these.


Version of Redback

From UNIX, type:
perfrgw -v
See manual: F:\UniData PDFs\Redback\admin.pdf


Redback Designer


The Redback commands coverred here are all run from the Redback Designer from Citrix or locally from your PC.
Note: this has been superceded by U2 Web DE.

Scheduler & Responder ini file on Unix

This is the control file on the Unix box that tells Redback how to connect to each of the web servers and the UniData accounts.
The 1st section [Accounts] simply lists the accounts to be used.
The 2nd section [Default] sets default settings for each account. These can be overwritten per account.
The 3rd section [Default.Environment] simply sets environment variables for the connection.
The remaining sections uniquely define each of the accounts. Each account must have the following defined:

In addition, startbackend must be set to "2" in order for changes in UniBasic programs to take effect. This will cause a noticable decline in response since each web page will need to re-connect to the database. However, if it is not set to "2", the only way for UniBasic changes to take effect is to bounce the Redback Gateway server. Since there is only one Redback Gateway server for all accounts (live and test), bouncing the server will cause all people connected to the web sites to be disconnected.

Note that when a person logs into a Redback enabled web site, and information is passed between the web pages and the database, the user is not actually logging into the UniData system. Instead, Redback has one or more "responders" that are always running that do the communication between the web server and UniData.
Also not that the rgwresp.ini file is only read when the Redback Gateway servers is first started. If changes are made to this file, the Redback Gateway server must be stopped and restarted.


Creating New ECP Objects (Properties)

Based on the name of the data file(s) in Avante, determine the name of the new file. For example, the new object for rental info will be called oRentals, and the new file will be called META_RENTAL.
All ECP Meta Data is defined in a file called ECP_META_DEFS. These records store the field/property definitions, the offset between base (Epicor) properties, and the extraction program.
For this example, META_RENTAL will be used for demonstaration.
1) CREATE.FILE META_RENTAL 5 1 (builds the Dict with a mod of 5)
2) Manually build the initial field definition. This needs to be build as a "B"ase field (see field 8) to get around a bug in their Admin -> META DATA web page.
ED ECP_META_DEFS META_RENTAL
001: DUMMY Place holder
002: 1 Base field #
003: S Single valued
004: Dummy Dict title
005: D2/ Any conversion code (it will be set to null later)
006: 6 Field length
007: R Justification
008: B This is a Base (Epicor) field
009: ECPXRENTALAV The extraction program
010: (null) Not sure
011: 0 Offset to use to access Base (Epicor) fields
012: RENTAL Association (always use this)
3) From the web site, go to Admin, Meta Data, choose the file name from the Meta Data dropdown (META_RENTAL).
4) Click on the field DUMMY (which we just build).
5) Change the Conv Code to be blank (null) and save it. This will update:
  • ECP_META_DEFS
  • build DICT META_RENTAL DUMMY
  • build DICT META_RENTAL RENTAL (the association)
Any new DICT can be built via the web page. However, it will be built as a custom field (not a base). These are all inserted before the base fields, thus the Base fields (in this case "DUMMY") will get a higher and higher field number. Since this is a custom file, we only need the 1 base DICT to get past the bug in the .ASP code (Base are stored as "B" and custom are stored as null - if the last value (in this case the only) is null, .ASP blows up).
6) from Redback Designer, open ECP, then create a new object. Use the system object for inheratence.
7) add the new properties as needed. For those properties that match the fields in the META file (see above), be sure to make the property a type Field and the field equal to the Dict name.


Redback Designer UniData ECPCLASSES File

This following is a screen dump of the MERGE command done against the object (truncated).
Note that field 2 is a multi-valued list of pointers to fields within the record itself.
These point to 4-line sets of data that define either a property or a method.
For ease of reading, the properties are in red, the methods in blue, and the basic Probrams are in BOLD.
Please study the information in the Redback Designer (Properties) screen and the Redback Designer (Methods) screen vs. the information below.
(Note: the funky "ý" symbol is how the brower displays a multi-value mark).
File: ECPCLASSES Key: oUser
1 .: oUser
2 .: 0ý5ü9ü13ü17ü21ü25ü29ü33ü37ü...ü337ü341ü345ü349ü353ü357ü...
3 .: method_listýclass_descriptionýlast_modifiedýrbexplorerýinheritanceýfinal
4 .: ýUserûý12541ü38623ý1ýuObjectý0
5 .: RBOProperty
6 .: 1ýýCurrency
7 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
8 .: ýStringýSF - currency order is placed inýýýýCRWý
9 .: RBOProperty
10 .: 1ýýDescription
11 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
12 .: ýStringýSF - oreorder descriptionýýýýCRWý
13 .: RBOProperty
14 .: 1ýýGUID
15 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
16 .: ýStringýUnique IDýýýýCRWý
17 .: RBOProperty
18 .: 1ýýItemExtPriceList
19 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
20 .: ýmvStringýSF - MV string of extended pricesýýýýCRWý
21 .: RBOProperty
22 .: 1ýýItemIDList
23 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
24 .: ýmvStringýSF - MV string of item ID'sýýýýCRWý
25 .: RBOProperty
26 .: 1ýýItemPriceList
27 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
28 .: ýmvStringýSF - MV sting of item pricesýýýýCRWý
29 .: RBOProperty
30 .: 1ýýItemQtyList
31 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
32 .: ýmvStringýSF - MV string of item quantitiesýýýýCRWý
33 .: RBOProperty
34 .: 1ýýItemSchdDateList
35 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
36 .: ýmvStringýSF - MV string of delivery datesýýýýCRWý
37 .: RBOProperty
38 .: 1ýýItemSchdQtyList
39 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
40 .: ýmvStringýSF - quantities for each schd delivery dateýýýýCRWý

69 .: RBOProperty
70 .: 1ýýaddress1
71 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
72 .: ýFieldýB2C customer addressýADDRESS1ýýýCRWý
73 .: RBOProperty
74 .: 1ýýaddress2
75 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
76 .: ýFieldýB2C customer address line 2ýADDRESS2ýýýCRWý
77 .: RBOProperty
78 .: 1ýýaddress3
79 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
80 .: ýFieldýB2C customer address line 3ýADDRESS3ýýýCRWý
81 .: RBOProperty
82 .: 1ýýadmin_flg
83 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
84 .: ýFieldýAdmin FlagýADMIN_FLAGýýýCRWý
85 .: RBOProperty
86 .: 1ýýall_companies
87 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
88 .: ýmvFieldýAll Company IDsýALL_COMPANIESýýûýCRWý
89 .: RBOProperty
90 .: 1ýýall_customers
91 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
92 .: ýmvFieldýAll Customer IDsýALL_CUSTOMERSýýûýCRWý
93 .: RBOProperty
94 .: 1ýýar_flg
95 .: valueýproperty_typeýdescriptionýfield_nameýinherited_classnameýlong_descr
96 .: ýFieldýAR FlagýAR_FLAGýýýCRWý

337 .: RBOMethod
338 .: 1ýýUpdateLockError
339 .: descriptionýinherited_classnameýlong_description
340 .: Optimistic lock check has failedýuObjectýThis server event is triggered w
341 .: RBOMethod
342 .: 1ýýPostRead
343 .: descriptionýinherited_classnameýlong_description
344 .: Read of database has occurredýuObjectýThis server event is triggered from
345 .: RBOMethod
346 .: 1ýýB2CLogin
347 .: descriptionýprogramýinherited_classnameýlong_descriptionýproperty_diffs
348 .: Sets up an anonymous B2C userýECPB2CLOGINýýý
349 .: RBOMethod
350 .: 1ýýChangePassword
351 .: descriptionýprogramýinherited_classnameýlong_descriptionýproperty_diffs
352 .: Change user passwordýECPCHANGEPWDýýý
353 .: RBOMethod
354 .: 1ýýResetPass
355 .: descriptionýprogramýinherited_classnameýlong_descriptionýproperty_diffs
356 .: Reset user password to system determined passwordýECPRESETPASSýýý
357 .: RBOMethod
358 .: 1ýýClearObject
359 .: descriptionýprogramýinherited_classnameýlong_descriptionýproperty_diffs
360 .: Clear propertiesýECPCLEAROBJECTýýý

...

RB.USERS (TCL Command)

This tool is used to maintain Redback users. It also shows the path for SB (always make sure this is correct).
Login: RBADMIN
Passwd: REDBACK


RB.LICENCE (TCL Command)

This tool is used to maintain the Redback Licence. Use the action (1=Enter) to reset the clock for the license.
Login: RBADMIN
Passwd: REDBACK
Note that you must be in the Redback account (/av1/igi/redback/server/redback/rbdefn) to do this.

To enter a "Clear Code", try F44

Also see the next topic.

Authorizing/Licensing Redback

After logging into RB.LICENSE, you may need to license or re-license the software. If needed, get a "clear code" from Epicor so you can use the tool:

Go to Rocket's authorization web site https://rbc.rocketsoftware.com/authprod.asp and enter the info, then hit [Continue]

Enter the info as needed (note the Redback Serial Number and the Reference Code) and hit [Submit]:

You will get a web page with the needed code:

Go back to Redback and type a "3" to Authorize - enter the code from the prior step and hit [Enter]:



SB

This is the SB+ login/password. It is stored in many places, so if it gets changed, all the other places will need to change as well.
Login: RBADMIN
Passwd: RBADMIN


perfrgw

Continual polling of Redback gateway.
!perfrgw -i1000 -n10