Thie process has the following Rules. The Key field that I am trying to make is Product_Price.CLIN_Number
rResetProcessVariables
LoggedInRegularUser.ApplicationVariable_CLIN_Index1=1
LoggedInRegularUser.ApplicationVariable_CLIN_Index2=0
LoggedInRegularUser.ApplicationVariable_CLIN_Index3=0
LoggedInRegularUser.ApplicationVariable_CLIN_Title=''
rPickSchedule
PICK FROM 'qPROCESS - pCreateProductPriceWithCLINNumbersAssigned PRICESCHEDULE'
rFindCurrentProducts
FIND 'qPROCESS - pCreateProductPriceWithCLINNumbersAssigned PRODUCT'
rCreateProductPrice
CREATE Product_Price FOR EACH Product WITH Product_Price.Price=ThisPrice_Schedule.Rate*Product.List_Price,Product_Price.Price_Schedule_ID=ThisPrice_Schedule.ID,Product_Price.Title=Price_Schedule.Title,Product_Price.X_Product=Product,Product_Price.CLIN_Description=Product.X_Ref_Product_Family.CLIN_Title
*** Note I broke the creating of the Product_Price as a first step. I wanted to assign the CLIN_Number as part of the creation of the Product_Price, but couldn't figure out how to have IF statements and the logic below embedded with in the rCreateProductPrice
rFindProduct_Price
FIND Product_Price WHERE Product_Price.Title=ThisPrice_Schedule.Title ORDER BY Product_Price.Product_Family ASC, Product_Price.Product_Part_Number ASC
rCheckIndexFamily
If ThisProduct_Price.X_Product.Family<>LoggedInRegularUser.ApplicationVariable_CLIN_Title Then LoggedInRegularUser.ApplicationVariable_CLIN_Title=ThisProduct_Price.X_Product.Family
LoggedInRegularUser.ApplicationVariable_CLIN_Index3=0
rIncrementIndexes
LoggedInRegularUser.ApplicationVariable_CLIN_Index2=LoggedInRegularUser.ApplicationVariable_CLIN_Index2+1
LoggedInRegularUser.ApplicationVariable_CLIN_Index3=LoggedInRegularUser.ApplicationVariable_CLIN_Index3+1
rCheckIndex
If LoggedInRegularUser.ApplicationVariable_CLIN_Index2>26 Then
LoggedInRegularUser.ApplicationVariable_CLIN_Index1=LoggedInRegularUser.ApplicationVariable_CLIN_Index1+1
LoggedInRegularUser.ApplicationVariable_CLIN_Index2=1
rSetCLINNumber
Product_Price.CLIN_Number='00'+CHARS_FROM_RIGHT(CHARS_FROM_LEFT('ABCDEFGHIJKLMNOPQRSTUVWXYZ',LoggedInRegularUser.ApplicationVariable_CLIN_Index1),1)+CHARS_FROM_RIGHT(CHARS_FROM_LEFT('ABCDEFGHIJKLMNOPQRSTUVWXYZ',LoggedInRegularUser.ApplicationVariable_CLIN_Index2),1)+CHARS_FROM_RIGHT('000'+AS_STRING(LoggedInRegularUser.ApplicationVariable_CLIN_Index3),3)