Need some advice on job prospect

raddradd Member Posts: 2
edited 2006-07-23 in General Chat
You guys seem pretty helpful in other posts, and im hoping you can give me some advice.

I have been presented an opportunity as a navision developer. However i have never had a programming job as a primary responsibility. That is not to say i have not done programming, but just not on a full time professional level. I have been playing with asp almost since its inception. Anyone remember IDC/IDQ pages? :) Anyway i have dabbled in a few languages, vb script, vba, VB4 - VB6, javascript, and a little c# and actionscript.

This prospective employer would like me to be producing usable code within 2-3 weeks.

With that said, I am trying to weigh my current knowlege against what i am up against. The last thing we both want is to waste each others time.
I will post some code below that took me about a week to write, debug, enhance, tune and go live. Im hoping that may shed some light on my skill and whether or not i "Should" be able to make the transition to navision and be useful. I realize this is probably unorthodox, but in reality im not sure how else to size up my ability. I come from an architecture/infrastructure background so this is essentially a career change for me.

Look forward to your responses.

dim usedads(9)' sets up the used ads reference array. This only allows 10 ads per page.
adctr = 0
function getAD (size,section)
dim adDetails(2)

Set objXML = Server.CreateObject("Microsoft.XMLDOM") ' creating an object of XMLDOM

' Locate and load xml file based on passed variable
backupint = ubound(split(request.servervariables("path_info"),"/")) -1
addstr = "../"
do while not backupint = 0
backupstr = backupstr & addstr
backupint = backupint -1
getxml = backupstr & "includes/bannerad_" & section & ".xml"

objXML.Load (Server.MapPath(getxml))

' checking for error on file existance
If objXML.parseError.errorCode <> 0 Then
Response.Write "<p><font color=red>Error loading XML Banner file.</font></p>"
exit function
End If

Set objLst = objXML.getElementsByTagName(size) ' refer to Resource "banner_ad" in the xml file

'randomize ad to be shown and check for start & stop dates, and dont display duplicate ads
arraystr = join(usedads) ' pull already used ads from the array to verify against
killctr = 0 ' set kill ctr to 0
do until startdate <= date and expiredate >= date and usedadstr = "0"

showbanner = int((objLst.length * rnd))
startdate = cdate(objLst.item(showbanner).childNodes(7).text )
expiredate = cdate(objLst.item(showbanner).childNodes(8).text)
adnamestr = objLst.item(showbanner).childNodes(6).text
usedadstr = instr(arraystr,adnamestr) ' usedadstr will return 0 if it is a unique ad, otherwise will return position in which name was found
if killctr = 30 then exit do 'kill loop if i cant find any valid ads. will pick one at random and return. Note: it will be a duplicate.
killctr = killctr + 1
'response.write "startdate is:" & startdate & "end date is: " & expiredate & " current date is: " & date & "<BR>"

Set subLst = objLst.item(showbanner) 'Set the sublist to the parent object

' refer to sub-items of banner_ad|bannersize in the xml file
' sublst.childnodes(0) = <Banner_name> obvious
' sublst.childnodes(1) = <image_path> absolute or relative path to the image
' sublst.childnodes(2) = <to_url> to_url is the redirecting url I.E. exitsite.asp or equivelant
' sublst.childnodes(3) = <dest_url> final url to send the user to
' sublst.childnodes(4) = <alt_text> The images alternate text
' sublst.childnodes(5) = <sourcecode> Not used at this time but could be shortly
' sublst.childnodes(6) = <wtadname> refers to the and value
' sublst.childnodes(7) = <start> the banners start date
' sublst.childnodes(8) = <expire> the banners expiration date

banimg = subLst.childNodes(1).Text
banurl = subLst.childNodes(2).Text
desturl = subLst.childNodes(3).Text
Alttxt = subLst.childNodes(4).Text
bansrccode = subLst.childNodes(5).Text
WTAD = subLst.childNodes(6).Text
'WTADHREF = "<a href=" & banurl & "?wtc=" & WTAD & "&exitcode=" & bansrccode &"&url=" & server.urlencode(desturl) &"><img src=" & banimg &" border=0 alt=""" & alttxt & """></a>"
WTADHREF = "<a href=" & banurl & "?wtc=" & WTAD & "&url=" & server.urlencode(desturl) &"><img src=" & banimg &" border=0 alt=""" & alttxt & """></a>"
adDetails(0) = WTAD
adDetails(1) = WTADHREF
getAd = adDetails
usedads(adctr) = adnamestr
adctr = adctr +1

Set objXML = nothing
Set subLst = nothing
Set objLst = nothing

end function

function displayad(stradnum,size,section)
on error resume next
getsize = size
getsection = section
adnum = stradnum
adfillin = getAd(getsize,getsection)
response.write adfillin(1)
response.write "<meta name="""" content=""" &adfillin(0) & """>"
response.write "<img src=/images/bnr_ad_tag.gif border=0 width=14 height=60>"
end function


  • krikikriki Member, Moderator Posts: 9,079
    Well first question that you should ask yourself:
    Do I want to be a fulltime programmer/developer? If your answer is no, I suppose it is better not to take the opportunity.

    Another question: You have already programmed, you (or others) consider you a good programmer or a bad one (or just inexperienced).
    This because if you already know how to program in some other language, it helps. Navision (=C/AL) is just another language connected to a DB.

    Usable code in 2-3 weeks. What does your prospective employer understand with this?

    1)You will be able to create objects with some code in it. But code that is quite basic and that doesn't use the functional knowledge (on a technical level) [see later for more on this] of Navision. Some examples: a report that shows the customers with their open orders. A card-form (like the item-card) but for info on a course your company sells to persons of other companies.

    2)When you have that feeling, you will be able to program more complicated things because you know the technology (C/AL, object properties, object-triggers) of Navision better. Some examples: a statistical report on which items were sold by which sales person and in which country (or state or city), sorted by sales person, country, item. And I also want filters on items, sales person, customers,... And it has to be fast. This reports needs you to know which tables you need but requires a good technical understanding to get the data fast and how to manipulate the data.

    3)For really good/difficult programming, you will need more time, because you need to know also the functionality of Navision on a technical level. This means:I know how to post an invoice but what happens, which programs are called to do all the work. Some example : A customer follows some course, so you need to input the data in some new form (like the sales order-form) then after the course, this has to be posted and automatically it needs to create a sales invoice, you need to diminish the inventory of ballpoints, paper, manuals,...

    If your employer expects something from category 3, in 3 weeks you wont be able to do it. This takes months.
    Regards,Alain Krikilion
    No PM,please use the forum. || May the <SOLVED>-attribute be in your title!

  • David_CoxDavid_Cox Member Posts: 509
    Also just to expand a bit, it will depend on who your employer is, if they are an end user then what type of licence, if they are an NSC, what type of role are you looking at?

    If they are an end user with basic modules like reports and forms designer then you will be limited to what you can do, and will you be happy having your hands tied by the limited licence, having said that many overlook just how much can be done with these basic modules.

    If they are an NSC then they already know that it takes more than just an understanding of code structures to be a good Dynamics developer.

    So the question is what type of employer and role / position, then the answers wil be better targeted.
    Analyst Developer with over 17 years Navision, Contract Status - Busy
    Mobile: +44(0)7854 842801
    Email: [email protected]
  • Miklos_HollenderMiklos_Hollender Member Posts: 1,597
    2-3 weeks don't sound too much...

    I think it depends on how deep you understand business systems, not really on your programming skills. If a Sales Quote - Order - Shipment - Invoice - Payment business process sounds familiar to you, if you understand that business systems mostly consist of master data and transactions, if you know that transactions generally need to have a pre-posted phase where you can enter and modify them and a posted phase where they usually cannot be modified, if you understand that one of the most important goals of business systems are to provide number for the management which usually constist of decimal fields in transactions summed up and grouped by some other fields and those other fields most of the time have a foreign key relationship (TableRelation in NAV) with master data and so on, then you might be able to produce something useful after 2-3 weeks.

    It also depends on the job. Customization is harder than developing an add-on from the ground up. I have seen an experienced programmer fight for weeks with trying to change NAV's Reservations functionality in a kind of "waiting line" way (when a new purchase gets reserved for the highest priority sales order in the waiting line), and it was a REAL mess. On the other hand, a small, but completely new "module" like f.e. the standard HR functionality, or Resources (without Jobs) functionality in NAV I think it's possilbe to develop stuff like that after 2-3 weeks.

    One advice: always look for a similar feature in the standard and steal ideas from it shamelessly. The goal to NAV success is "Steal with pride, improve to perfection" :)
Sign In or Register to comment.