Procedura-ABI_StoreCardsWithMenu

Parametry:

NázevPopisDatový typ
AStoreCard_IDChar(10)

Návratové hodnoty:

NázevPopisDatový typ
OUT_Menu1TextVarChar(30)
OUT_Menu2TextVarChar(30)
OUT_Menu3TextVarChar(30)
OUT_Menu4TextVarChar(30)
OUT_StoreCard_IDChar(10)

Závislosti:

NázevPopisTřída
ABI_StoreMenuLevel_VIEWViews

Tělo:

BEGIN
  for
    select SC.ID, SC.StoreMenuItem_ID, SM.Text from StoreCards SC
                 left join StoreMenu SM on SM.ID = SC.StoreMenuItem_ID
                   where SC.ID = :AStoreCard_ID
      into :OUT_StoreCard_ID, :mStoreMenuItem_ID, :mSMText
  do begin
    /* do menu textu popis odpovidajici polozky */
    OUT_Menu1Text = :mSMText;
    OUT_Menu2Text = :mSMText;
    OUT_Menu3Text = :mSMText;
    OUT_Menu4Text = :mSMText;
    /* vytahnem nadrizena menu serazena dle urovne a prepisem do vystupu prvni 4 - smerem od korene */
    for
      select first 4 sm.Text, smlv.menulevel
        from
          sys$storemenu2 sysm2
          join ABI_StoreMenuLevel_view smlv on smlv.storemenu_id = sysm2.superior_id
          join StoreMenu sm on sm.id = smlv.storemenu_id
        where
          sysm2.ID = :mStoreMenuItem_ID
        order by smlv.menulevel
        into :mSMLevelText, :mMenuLevel
        do begin
          if (:mMenuLevel = 0) then OUT_Menu1Text = :mSMLevelText;
          else if (:mMenuLevel = 1) then OUT_Menu2Text = :mSMLevelText;
          else if (:mMenuLevel = 2) then OUT_Menu3Text = :mSMLevelText;
          else if (:mMenuLevel = 3) then OUT_Menu4Text = :mSMLevelText;
          else break;
        end
    suspend;
  end
END

Generated by ABRA Software a.s. 27.10.2021 16:34:12