• The RETURN value of a stored procedure is kinda reserved for the error status. 0 means no error, any other number means an error occurred. Check the stored procedure for an OUTPUT variable or result set.

    Incidentally, you can load your variables in a single statement rather than reading the same table (and row) three times:

    SELECT

    @dpNumber = CONVERT(NVARCHAR,bintDriver),

    @amounttobepaid = CONVERT(NVARCHAR,decAmountPaid),

    @paymentdate = CONVERT(VARCHAR,dtDeliveryDate,101)

    FROM tblDeliveryListAmount

    WHERE bintDriver = @bintDriver

    AND bintShipment = @bintShipment

    “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    For fast, accurate and documented assistance in answering your questions, please read this article.
    Understanding and using APPLY, (I) and (II) Paul White
    Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden