web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics SL (Archived)

Integrating barcode software with SL

(0) ShareShare
ReportReport
Posted on by 735

Since nobody responded to my earlier post about using IntelliTrack with SL, I'll assume we were the only ones foolish enough to try.  LOL

We are now considering other bar coding solutions that will better fit with SL.  Does anyone have product suggestions?

All we really want to do is automate the input of inventory traffic (issues, transfers, receipts) by our warehouse guys.  Something that would dump from the scanner directly into SL would be perfect.

Thanks in advance!

*This post is locked for comments

I have the same question (0)
  • George Sagen Profile Picture
    1,005 on at

    An associate of mine at a prior employer just finished writing his own inventory traffic and shop order reporting interface. He has bar code readers with Windows CE using web browsers, so he banged out the interface in a Web developer (Adobe) and the back end in Java. By putting the front end in a browser, he was able to do most of his testing right on his PC. You can do something similar for SL. Transaction Import (TI) provides the file layout for dumping the data off the gun, and with TI you get the transactions all validated as if they were directly keyed into SL. Once you get the first app done, and get the hang of moving data between the database and the scanner, other programs are much easier to develop. He said he'd be willing to describe it to you if you are interested. He's the IT Manager at a furniture manufacturing company.

  • toolman Profile Picture
    735 on at

    Thanks for the reply.  I'd certainly be interested in hearing more about your friend's solution.

    You mention TI and I've been trying to use that to move data from a text file into the Transfer screen (10040) for some time now without much success.  I could sure use some onsight if you want to jump in. Here are my DTA, CTL and Log File:

    DTA 

    "level0","","",H,"",""
    "Level1","",JBD1A,"",1,"",DEFAULT,"",TEST,""
    "Level2",CO10050105,"","",4.0000,"","",""  
    "Level2",CO10050115,"","",2.0000,"","",""   
    "Level2",CO10100105,"","",1.0000,"","",""

    CTL 

    '$include: "bsl.dh"
    '10040 Control Macro
    Sub ProcessImportLine( LevelNumber%, Retval% )
      select Case LevelNumber
        case TI_Start

          call AliasConstant( "Level0", "Batch" )

          call AliasConstant( "Level1", "Doc" )

          call AliasConstant( "Level2", "Trans" )

         ' call AliasConstant( "Level3", "LotSer" )

        case 0 ' 0 of 3

        'Level 0 if of Type N
          ' cBatNbrh is a key field for level 0
          ' Field mask is UUUUUU
          serr = SetObjectValue( "cBatNbrh", ImportField(1) )

          ' cPerPost is a Period Field
          ' NOTE  -- This field is a required field
          serr = SetObjectValue( "cPerPost", ImportField(2) )

    'Currently Disabled cStatus

          ' cBatchHandling is an Combo Box
          ' Values are H;Hold,B;Release Later,R;Release Now,N;No Action
          serr = SetObjectValue( "cBatchHandling", ImportField(3) )

          ' Field mask is WWWWWWWWWWWW
          serr = SetObjectValue( "cLotSerFxdVal", ImportField(4) )

          ' Field mask is 9999999999999999999999999
          serr = SetObjectValue( "cLotSerNumVal", ImportField(5) )

    'Currently Disabled INxtLSNbr


        case 1 ' 1 of 3

        'Level 1 if of Type C
          ' cTrnsfrDocNbr is a key field for level 1
          ' Field mask is UUUUUU
          serr = SetObjectValue( "cTrnsfrDocNbr", ImportField(1) )

          ' Field mask is UUUUUUUUUU
          ' NOTE  -- This field is a required field
          serr = SetObjectValue( "cSiteId", ImportField(2) )

          ' Field mask is UUUUUUUUUU
          ' NOTE  -- This field is a required field
          serr = SetObjectValue( "cToSiteId", ImportField(3) )

          ' cTransferType is an Combo Box
          ' Values are 1;1-Step,2:2-Step
          serr = SetObjectValue( "cTransferType", ImportField(4) )

          ' Field mask is XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
         serr = SetObjectValue( "cComment", ImportField(5) )

          ' Field mask is UUUUUUUUUUUUUUU
        '  serr = SetObjectValue( "cShipViaId", ImportField(6) )

          ' cExpectedDate is a Date Field Type
          serr = SetObjectValue( "cExpectedDate", ImportField(7) )

          ' Field mask is UUUUUUUUUU
          ' NOTE  -- This field is a required field
          serr = SetObjectValue( "cRefNbr", ImportField(8) )

          ' cTranDate is a Date Field Type
          ' NOTE  -- This field is a required field
          serr = SetObjectValue( "cTranDate", ImportField(9) )

    'Currently Disabled cRcptNbr

    'Currently Disabled cRcptDate

    'Currently Disabled cTrnsfrdocStatus


        case 2 ' 2 of 3

        'Level 2 if of Type D
          ' Field mask is UUUUUUUUUUUUUUUUUUUU
          ' NOTE  -- This field is a required field
          serr = SetObjectValue( "cInvtId", ImportField(1) )

          ' Field mask is XXXXXXXXXX
          ' NOTE  -- This field is a required field
          serr = SetObjectValue( "cWhseLoc", ImportField(2) )

          ' Field mask is XXXXXXXXXX
          ' NOTE  -- This field is a required field
          serr = SetObjectValue( "cToWhseLoc", ImportField(3) )

          serr = SetObjectValue( "cQty", ImportField(4) )

          ' Field mask is UUUUUU
          ' NOTE  -- This field is a required field
          serr = SetObjectValue( "cunitdesc", ImportField(5) )

          ' Field mask is MMMMMMMMMMMMMMMMMMMMMMMMM
          ' NOTE  -- This field is a required field
          serr = SetObjectValue( "cSpecLotSer", ImportField(6) )

          ' Field mask is UUUUUUUUUUUUUUUUUUUU
          serr = SetObjectValue( "cSpecificCostId", ImportField(7) )


        'case 3 ' 3 of 3

        'Level 3 if of Type D
          ' Field mask is XXXXXXXXXXXXXXXXXXXXXXXXX
          ' NOTE  -- This field is a required field
          'serr = SetObjectValue( "LS_cLotSerNbr", ImportField(1) )

          ' NOTE  -- This field is a required field
        '  serr = SetObjectValue( "LS_cQty", ImportField(2) )

          ' Field mask is UUUUUUUUUUUUUUUUUUUUUUUUU
        '  serr = SetObjectValue( "LS_cMfgrLotSerNbr", ImportField(3) )

          ' cls_expiredate is a Date Field Type
        '  serr = SetObjectValue( "cls_expiredate", ImportField(4) )

          ' Field mask is UUUUUUUUUUUUUUUUUUUU
        '  serr = SetObjectValue( "LS_cShipContCode", ImportField(5) )

    'Currently Disabled LS_cInvtID

    'Currently Disabled LS_cSiteID

    'Currently Disabled LS_cWhseLoc

    'Currently Disabled LS_cToSiteID

    'Currently Disabled LS_cToWhseLoc

          ' Field mask is UUUUU
       '   serr = SetObjectValue( "LS_cLotSerRef", ImportField(6) )

        '  serr = SetObjectValue( "LS_cLineNbr", ImportField(7) )

    'Currently Disabled LS_cbatnbr

    'Currently Disabled LS_cRefNbr

    'Currently Disabled cls_remaining


        case TI_Finish

      End Select
    End Sub
    ' The following shows the correct syntax to
    '  PRESS a button
    ' These object names are specific to this screen.
    '      Button object name LS_ButtonDefaults, Caption Create &New Numbers...
    '      serr = SetObjectValue( "LS_ButtonDefaults", "PRESS" )

    '      Button object name LS_ButtonFinished, Caption &OK
    '      serr = SetObjectValue( "LS_ButtonFinished", "PRESS" )

    '      Button object name LS_ButtonCancel, Caption &Cancel
    '      serr = SetObjectValue( "LS_ButtonCancel", "PRESS" )

    '      Button object name Button01OK, Caption &OK
    '      serr = SetObjectValue( "Button01OK", "PRESS" )

    '      Button object name LS_ButtonCancel1, Caption &Cancel
    '      serr = SetObjectValue( "LS_ButtonCancel1", "PRESS" )

    '      Button object name cmdFindItem, Caption
    '      serr = SetObjectValue( "cmdFindItem", "PRESS" )

    '      Button object name cmdLotSerial, Caption &Lot/Serial
    '      serr = SetObjectValue( "cmdLotSerial", "PRESS" )

     LOG

    'System Message 8000: Start Processing 12:40:07

    'System Message 8043: Transaction Import Processing Update after Successful Edit mode

    'System Message 8040: Database Name TestFosbelApp

    'System Message 8011: ========Begin Processing of a level0 Data Line========

    '"level0","","",H,"",""

    'System Message 8005: New Record Requested

    'System Message 8012: ========Successful Processing of a level0 Data Line========

    'System Message 8011: ========Begin Processing of a Level1 Data Line========

    '"Level1","",JBD1A,"",1,"",DEFAULT,"",TEST,""

    'System Message 8005: New Record Requested

    'System Message 8012: ========Successful Processing of a Level1 Data Line========

    'System Message 8011: ========Begin Processing of a Level2 Data Line========

    '"Level2",CO10050105,"","",4.0000,"","",""

    'System Message 8005: New Record Requested

    'System Message 8012: ========Successful Processing of a Level2 Data Line========

    'System Message 8011: ========Begin Processing of a Level2 Data Line========

    '"Level2",CO10050115,"","",2.0000,"","",""

    'System Message 8005: New Record Requested

    'System Message 8012: ========Successful Processing of a Level2 Data Line========

    'System Message 8011: ========Begin Processing of a Level2 Data Line========

    '"Level2",CO10100105,"","",1.0000,"","",""

    'System Message 8005: New Record Requested

    'System Message 8012: ========Successful Processing of a Level2 Data Line========

    'System Message 8011: ========Begin Processing of a level0 Data Line========

    '"level0","","",H,"",""

    'System Message 8005: New Record Requested

    'System Message 8012: ========Successful Processing of a level0 Data Line========

    'System Message 8011: ========Begin Processing of a Level1 Data Line========

    '"Level1","",JBD1A,"",1,"",DEFAULT,"",TEST,""

    'System Message 8005: New Record Requested

    'System Message 8012: ========Successful Processing of a Level1 Data Line========

    'System Message 8011: ========Begin Processing of a Level2 Data Line========

    '"Level2",CO10050105,"","",4.0000,"","",""

    'System Message 8005: New Record Requested

    'System Message 8012: ========Successful Processing of a Level2 Data Line========

    'System Message 8011: ========Begin Processing of a Level2 Data Line========

    '"Level2",CO10050115,"","",2.0000,"","",""

    'System Message 8005: New Record Requested

    'System Message 8012: ========Successful Processing of a Level2 Data Line========

    'System Message 8011: ========Begin Processing of a Level2 Data Line========

    '"Level2",CO10100105,"","",1.0000,"","",""

    'System Message 8005: New Record Requested

    'System Message 8012: ========Successful Processing of a Level2 Data Line========

    'System Message 2: Data must be entered in this field

    'System Message 8002: Error In Field: cTranDatet Value:

    'System Message 8004: Data File Record/Line Number: 5 Column: 0

    '"level0","","",H,"",""

    "Level1","",JBD1A,"",1,"",DEFAULT,"",TEST,""

    "Level2",CO10050105,"","",4.0000,"","",""

    "Level2",CO10050115,"","",2.0000,"","",""

    "Level2",CO10100105,"","",1.0000,"","",""

    'System Message 8030: The Number of Errors detected was 2

    'System Message 8001: Completed Processing 12:40:08

  • George Sagen Profile Picture
    1,005 on at

    A few comments.

    I don't think you need quotes around the first field (level indicator) in any of the records.

    On the level 2 records, I believe you need double quotes around the Item # field, which is data type upper case character.

    On the level 1 record, I think you need double quotes around the value "DEFAULT" which is an upper case character data type field (and which I assume is already setup in the system as one of your valid Ship Via ID's?). 

    Have you tried providing a transaction date for the last field in the Level 1 record? I think the format is YYMMDD, and I believe the field mask has the slashes in it, so you'd just use 100129 with no quote marks for today's date since it's numeric.

  • George Sagen Profile Picture
    1,005 on at

    If you want to contact my associate regarding the bar-code programming he did, please e-mail me, and I'll get you his contact info. george.sagen@hotmail.com

  • Laura Barber Profile Picture
    on at

    Hi,

    I have used Gulf Stream Bar Coding in the past.  It is fully integrated with Solomon.

     Laura Barber

  • toolman Profile Picture
    735 on at

    Thanks Laura.  They do look the most Solomon ready.

  • Mark Solberg Profile Picture
    10 on at

    Have you taken a look at Gulfstream Bar Coding?

  • Suggested answer
    Community Member Profile Picture
    on at

    Look at Gulftsream, but also take a look at JAAS Systems as their MRP Solution works with Gulfstream and SL.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics SL (Archived)

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans