[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
Solved

# Change my ASP Function

Posted on 2014-12-15
Medium Priority
155 Views
Public Function Logic

IF WarehouseID = 1 Then Len(ProductID) < 8 Then ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = "ARP" & ProductID
elseif

WarehouseID = 2 Then Len(ProductID) < 8 Then ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = "ELI" & ProductID

My current fuction is just

``````Public Function FormatTEDProductID (ProductID)
If Len(ProductID) < 8 Then ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = "ARP" & ProductID
End Function
``````

The table has both ProductID and WarehouseID

How would I go about doing this?
0
Question by:FreerTool
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 8
• 6
• 5

LVL 33

Accepted Solution

Big Monty earned 2000 total points
ID: 40500799
try:

``````Public Function FormatTEDProductID (ProductID, WarehouseID)
If WarehouseID = 1 and Len(ProductID) < 8  Then
ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = "ARP" & ProductID
elseif WarehouseID = 2 and Len(ProductID) < 8 Then
ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = "ELI" & ProductID
end if
End Function
``````

note the 2nd parameter of WarehouseID in your function
0

LVL 33

Expert Comment

ID: 40500810
this assumes both of your values are of valid INT types. You may want to check that before the if statement:

Public Function FormatTEDProductID (ProductID, WarehouseID)
if not isNumeric( ProductID ) then
ProductID = 0
else
ProductID = CInt( ProductID )
end if
if not isNumeric( WarehouseID ) then
WarehouseID = 0
else
WarehouseID = CInt( WarehouseID )
end if

If WarehouseID = 1 and Len(ProductID) < 8  Then
ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = "ARP" & ProductID
elseif WarehouseID = 2 and Len(ProductID) < 8 Then
ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = "ELI" & ProductID
end if
End Function
0

Author Comment

ID: 40500844

with both and yes they are both  integers.
0

LVL 33

Expert Comment

ID: 40500848
0

LVL 33

Expert Comment

ID: 40500882
I just stuck the code below in a blank asp page and got the appropriate results. If you're getting  an error, it has to do with the values you're passing into the function

``````<%
Public Function FormatTEDProductID (ProductID, WarehouseID)
if not isNumeric( ProductID ) then
ProductID = 0
else
ProductID = CInt( ProductID )
end if
if not isNumeric( WarehouseID ) then
WarehouseID = 0
else
WarehouseID = CInt( WarehouseID )
end if

If WarehouseID = 1 and Len(ProductID) < 8  Then
ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = "ARP" & ProductID
elseif WarehouseID = 2 and Len(ProductID) < 8 Then
ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = "ELI" & ProductID
end if
End Function

Response.Write FormatTEDProductID( 4, 1 ) & "<br/></br>"
Response.Write FormatTEDProductID( 4, 2 )

%>
``````
0

LVL 60

Expert Comment

ID: 40500941
here it is:

``````Public Function FormatTEDProductID (WarehouseID , ProductID)
If Len(ProductID) < 8 Then ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = iif(WarehouseID = 1, "ARP", "ELI") & ProductID
End Function
``````

pass WarehouseID , ProductID to the function...
0

Author Comment

ID: 40500974
I think thats my problem is that i am not passing the warehouseID properly to the function.

<p class="listProductPartNumber"><b>Product Number:</b> <%=FormatTEDProductID(RsProduct("ProductID").Value)%>

Is where I am Formatting my ProductID   I am just trying to figure how i pass it to the function here.
0

LVL 60

Expert Comment

ID: 40500982
use function i posted above with this:

<p class="listProductPartNumber"><b>Product Number:</b> <%=FormatTEDProductID(RsProduct("WarehouseID").Value, RsProduct("ProductID").Value)%>
0

LVL 60

Expert Comment

ID: 40500988
remember, the function I posted above assumes, you have only 1 or 2 as WarehouseID

0

LVL 33

Assisted Solution

Big Monty earned 2000 total points
ID: 40501025
assuming WarehouseID is from your recordset, you would do:

``````<p class="listProductPartNumber"><b>Product Number:</b> <%=FormatTEDProductID(RsProduct("ProductID").Value, RsProduct("WarehouseID").Value)%>
``````

Using the function I gave does an error check for you, if your ProductIDs and WarehouseID's are empty, or not int values, it makes sure no error is produced.

also, sometimes values from a recordset are treated as strings, even if they are numbers, so it's a good idea to convert them (using CInt()) to make sure the if statement works properly
0

Author Comment

ID: 40501205
Yeah i have troubleshoot some more but neither of your guys code is working for me.  I must not be passing the WarehouseID properly. I get a blank white page when i update.
0

LVL 33

Expert Comment

ID: 40501210
where is WarehouseID coming from, the recordset? can you confirm there is ALWAYS a WarehouseID in the data set coming back from the database?

if you hard code values in the function, does it work then?
0

LVL 60

Expert Comment

ID: 40501223
this should work fine

<p class="listProductPartNumber"><b>Product Number:</b> <%=FormatTEDProductID(RsProduct("WarehouseID").Value, RsProduct("ProductID").Value)%>

with this code

``````Public Function FormatTEDProductID (WarehouseID , ProductID)
If Len(ProductID) < 8 Then ProductID = Right(String(8, "0") & ProductID, 8)
FormatTEDProductID = iif(WarehouseID = 1, "ARP", "ELI") & ProductID
End Function
``````

what do you get here?

Product Number: ??????

if you do not get any error, warehouseid is not coming from db correctly, o/w you get error!

try passing 1 as hardcoded value and try

<p class="listProductPartNumber"><b>Product Number:</b> <%=FormatTEDProductID(1, RsProduct("ProductID").Value)%>
0

Author Comment

ID: 40501251
so I am checking all my pages that have the warehouseID  that i need to pass.  for example.

http://www.automationrecovery.com/categories/Automation-Surplus/
0

LVL 33

Assisted Solution

Big Monty earned 2000 total points
ID: 40501268
and did you try hard coding the IDs like I suggested? are there ALWAYS productIDs as well?
0

LVL 33

Expert Comment

ID: 40501284
it looks like product number is displaying properly as I see it shown in your page.

it looks like your link is not correct, can you post the code for it and what you expect to happen on the next page along with its code?
0

Author Comment

ID: 40501319
sorry take a look at it now.
0

Author Comment

ID: 40501363
Its working fine now, thanks for your assistance Big Monty
0

LVL 60

Expert Comment

ID: 40501386
and what is the solution & why I did not get any share?
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Data architecture is an important aspect in Software as a Service (SaaS) delivery model. This article is a study on the database of a single-tenant application that could be extended to support multiple tenants. The application is web-based developeâ€¦
When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increasedâ€¦
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a qâ€¦
###### Suggested Courses
Course of the Month13 days, 4 hours left to enroll