Do not let any software impress you!

Only let it convince your intellect.
Slider img 1
Do not look for a business paradise!

It is a waste of time.
Slider img 2
Only yourself can push you uphill.

There is no easy road to prizes.
Slider img 3
Productivity is the name of the game.

And you have to conquer it.
Slider img 4
As long as you understand it,

you will start to build your know-how.
Slider img 5
We can help with that.

We have the tools and the method.
Slider img 6

Amount
Inv Total
Inv Date
Inv Number
Reason
Currency
Amount
Final Date
Issue Date
Number
Currency
Security Type
Cover Type
Currency
Total Net Value
Covered Invoices
Securities used for the Cover
Date
Number
Event Type
Supplier
Budget

Title : Purchase Cover

Toolbars

call BrowseEditDelete()
call BrowseEditDelete()
call CloseForm(True)
call CloseForm(False)

Buttons

Fields


 (AU_KE_EVENT.AMOUNT)
 (AU_CURRENCY.CCODE)
 (AU_EVENT.REASON2)
 (AU_EVENT.NUMBER)
 (AU_EVENT.DATE)
 (AU_EVENT.TOTAL_AMOUNT)
 (AU_SECUR.AMOUNT)
 (AU_SECUR.FINAL_DATE)
 (AU_SECUR.ISSUE_DATE)
 (AU_SECUR.NUMBER)
 (AU_SECUR_TYPE.AU_SECUR_TYPE_D)
 (AU_CURRENCY.CCODE)
Cover Type (AU_T_PAYMENT.DESCR)
Currency (AU_CURRENCY.CNAME)
Total Net Value (AU_EVENT.AMOUNT)
Date (AU_EVENT.DATE)
Number (AU_EVENT.NUMBER)
Event Type (AU_T_EVENT.DESCR)
Supplier (AU_BUSINESS.TITLE)
Budget (AU_EVENT.BUDGET_FLAG)


AutoScript

lib

proc Form_Start()

     f = TopForm()
     ft = FormTask(f)
     p = PByName(f,"AU_EVENT")
     t = TByName(p,"AU_EVENT")
     pg = PByName(f,"AU_KE_EVENT")
     tg = TByName(pg,"AU_KE_EVENT")
     ps = PByName(f,"AU_KE_SECUR")
     ts = TByName(ps,"AU_KE_SECUR")

     if (ft = ptAppend) then

        str = SelectFrom("SELECT AU_T_EVENT, DESCR, CODE FROM AU_T_EVENT WHERE (CODE='AU_PAYMENT')")
        tevent = GetSQLSelectItem(str,1)
        tevent_descr = GetSQLSelectItem(str,2)
        tevent_code = GetSQLSelectItem(str,3)

        call TEdit(t)
        call TSetFld(t,"AU_T_EVENT",tevent)
        call TSetFld(t,"F_AU_T_EVENT_CODE",tevent_code)
        call TSetFld(t,"F_AU_T_EVENT_DESCR",tevent_descr)
        call TPost(t)

        call ReLoadEditFields(f)

     endif

     {......................................selection lists..............}
     start_sql "DESCR_SEL" "KOSMOS"
       SELECT AU_T_EVENT.DESCR, AU_T_EVENT.AU_T_EVENT
       FROM AU_KEVENT INNER JOIN AU_T_EVENT
       ON AU_KEVENT.AU_KEVENT = AU_T_EVENT.KEVENT1
       WHERE (AU_T_EVENT.KEVENT1=3)
       AND (AU_T_EVENT.DESCR LIKE :E & '%')
       ORDER BY AU_T_EVENT.DESCR
     end_sql
     start_sql "EVENT_SEL" "KOSMOS"
       SELECT AU_EVENT.TOTAL_AMOUNT, Sum(AU_KE_EVENT.AMOUNT) AS SAMOUNT, AU_EVENT.DATE,
       AU_EVENT.NUMBER, AU_EVENT.REASON2,
       (AU_EVENT.TOTAL_AMOUNT-Sum(AU_KE_EVENT.AMOUNT)) AS DIF,
       AU_EVENT.AU_EVENT AS EVENT0
       FROM (AU_T_EVENT INNER JOIN AU_EVENT ON AU_T_EVENT.AU_T_EVENT = AU_EVENT.AU_T_EVENT)
       LEFT JOIN AU_KE_EVENT ON AU_EVENT.AU_EVENT = AU_KE_EVENT.EVENT0
       WHERE (AU_T_EVENT.MOVE_VALUES_FLAG='1')
       AND (AU_EVENT.BUSINESS_FROM=:B)
       AND (AU_EVENT.NUMBER LIKE :E & '%')
       GROUP BY AU_EVENT.TOTAL_AMOUNT, AU_EVENT.DATE, AU_EVENT.NUMBER,
       AU_EVENT.REASON2, AU_EVENT.AU_EVENT
       ORDER BY AU_EVENT.NUMBER
     end_sql

     {......................set fixed values for this minimal parastatiko!!!........}
     if (ft = ptAppend) then

        pevent = __params[6]                 {.......παραγγελια προς προμηθευτη}

        call TEdit(t)
        call TSetFld(t,"EVENT_E",pevent)
        pros_id = LookUpId("AU_EVENT",pevent,"BUSINESS_FROM")
        pros_d = LookUpId("AU_BUSINESS",pros_id,"TITLE")
        call TSetFld(t,"BUSINESS_TO",pros_id)
        call TSetFld(t,"F_BUSINESS_TO_TITLE",pros_d)
        call TPost(t)

        start_sql "*" "KOSMOS"
         SELECT AU_EVENT.TOTAL_AMOUNT, Sum(AU_KE_EVENT.AMOUNT) AS SAMOUNT, AU_EVENT.DATE,
         AU_EVENT.NUMBER, AU_EVENT.REASON2,
         AU_EVENT.AU_EVENT AS EVENT0
         FROM (AU_T_EVENT INNER JOIN AU_EVENT ON AU_T_EVENT.AU_T_EVENT = AU_EVENT.AU_T_EVENT)
         LEFT JOIN AU_KE_EVENT ON AU_EVENT.AU_EVENT = AU_KE_EVENT.EVENT0
         WHERE (AU_T_EVENT.MOVE_VALUES_FLAG='1')
         AND (AU_EVENT.BUSINESS_FROM=:B)
         GROUP BY AU_EVENT.TOTAL_AMOUNT, AU_EVENT.DATE, AU_EVENT.NUMBER,
         AU_EVENT.REASON2, AU_EVENT.AU_EVENT
         ORDER BY AU_EVENT.DATE
        end_sql
        q = QueryByName()
        call TSetParam(q,"B",pros_id)
        call TExecute(q)
        count = TRecordCount(q)

        call TFirst(q)
        for i = 1 to count
         event0 = TGetFld(q,"EVENT0")
         date0 = TGetFld(q,"DATE")
         number0 = TGetFld(q,"NUMBER")
         total0 = TGetFld(q,"TOTAL_AMOUNT")

         call TAppend(tg)
         call TSetFld(tg,"AMOUNT",total0)
         call TSetFld(tg,"EVENT0",event0)
         call TSetFld(tg,"F_EVENT0_DATE",date0)
         call TSetFld(tg,"F_EVENT0_NUMBER",number0)
         call TSetFld(tg,"F_EVENT0_TOTAL_AMOUNT",total0)
         call TPost(tg)

         call TNext(q)
        next
        call FreeEmbSQL(q)

        call ReLoadEditFields(f)
     endif

     call SetCaption("Purchase Cover")

end

{============================== Query Parameters ===================}

proc Select_DESCR_SEL_Params()

   s = GetEditedText()
   call ParamsEmbSQL("DESCR_SEL",s)

end
proc Select_EVENT_SEL_Params()

   s = GetEditedText()
   b = TGetFld(t,"BUSINESS_TO")
   call ParamsEmbSQL("EVENT_SEL",b,s)

end


{============================== get_amount ================================}

fun get_amount()

    rcount = TRecordCount(tg)
    recno = TRecNo(tg)

    total = 0
    call TFirst(tg)
    for i = 1 to rcount
        am = TGetFld(tg,"AMOUNT")

        total = total + am

        call TNext(tg)
    next

    call TGotoCurRow(tg,recno)

    result = total

end


{============================== Form_BeforeClose ==========================}

fun Form_BeforeClose()

    result = 1

    am = TGetFld(t,"AMOUNT")
    call TEdit(t)
    call TSetFld(t,"TOTAL_AMOUNT",am
    call TPost(t)

    call ReLoadEditFields(f)
return
    f     = TopForm()
    fname = GetResName(f)

    tev = TGetFld(t;"AU_T_EVENT")
    diak = LookUp("AU_T_EVENT";"AU_T_EVENT";tev;"DIAK_AXION";"")

    rcount = TRecordCount(tg)
    call TFirst(tg)

    for i = 1 to rcount
        eid = TGetFld(tg;"AU_GOOD")

        pos = TGetFld(tg;"QUANT")
        axi = TGetFld(tg;"AMOUNT")

        if (eid = 0) then
         call message("Move without Good!")
         result = 0
         return
        endif

        if (pos = 0) then
         call message("Move without Quantity!")
         result = 0
         return
        endif

        if (diak = 1) then
         if (axi = 0) then
         call message("Move without Amount!")
         result = 0
         return
         endif
        endif

        call TNext(t)
    next

    endif

end

{===================================== Form_OnSelect ==================================}

proc Form_OnSelect ( table, field, fvalue )

     if (table = "AU_SECUR") then

        id        = LookUpId("AU_SECUR",fvalue,"AU_SECUR_TYPE")
        descr = LookUpId("AU_SECUR_TYPE",id,"AU_SECUR_TYPE_D")
        cur_id = LookUpId("AU_SECUR",fvalue,"AU_CURRENCY")
        cur_descr = LookUpId("AU_CURRENCY",cur_id,"CCODE")

        call TEdit(ts)
        call TSetFld(ts;"AU_SECUR_TYPE";id)
        call TSetFld(ts;"F_AU_SECUR_TYPE_AU_SECUR_TYPE_D";descr)
        call TSetFld(ts;"AU_CURRENCY";cur_id)
        call TSetFld(ts;"F_AU_CURRENCY_CCODE";cur_descr)
        call TPost(ts)

        call LoadEditFields(f)

     endif
end