Bara de navigare

DOC. hMARFA - PDF
DOC. hMARFE - PDF

Reguli de licenţiere

hmarfa:x_adap

Adaptarea şi dezvoltarea hMARFE

Adăugarea unui nou fişier de tranzacţie, tip t

Pentru adăugarea unui nou fişier tranzacţie t.. folosiţi HMET2UP:

  • lansaţi:
    hMET2UP DBFE E
    unde DBFE reprezintă baza de date de tip hMARFE, iar E codul aplicaţiei,
  • executaţi: Faza 1: Adaugare/suprascriere fisier Tx
    Indicaţi numărul de ordine al noului fişier care se adaugă.

Adăugarea unui nou fişier de export, tip e

  • DBU3: creaţi fişierul ex.dbf în catalogul IMPEX cu câmpurile:
    NB_UPD, N, 3
    SEx00 , C, 2
  • hUTIL: adăugaţi fişierul ex la Catalogul fişierelor, fără index (câmp: SEx00)
  • hMARFE: adăugaţi în Perioade o înregistrare pentru acest fişier
    deschideţi fereastra articol 10 (ştergeţi <>)
    adăugaţi fereastră fişier, articol, listă şi
    Tip/nr. : INC./SF. / 01
    Denumire: Actiune inaintea prelucrarii
    Actiune : t_period(„<“)
    Tip/nr. : INC./SF. / 02
    Denumire: Actiune dupa prelucrare
    Actiune : t_period(„>“)
    Tip/nr. : OPERATIE / 02
    Denumire: Extragere …
    Explic. : Extrage datele din …
    Formule
    -fisier : ver_ExPerioada().AND.fis_Zstergere().AND.OpExport(…)
    adăugaţi câmpurile
    adăugaţi operaţie export la fişierul din care se extrage.

Funcţia de extragere

Extragerea propriu-zisă a datelor are loc prin intermediul funcţiei fis_extragere(). Funcţia este parametrizabilă şi poate să parcurgă şi să extragă date din fişierele:

  • tran - Receptii;
  • lotm - Loturi intrare/stoc;
  • fac - Facturi/iesiri;
  • facr - Loturi de iesire;
  • inc - Incasari si plati.

Prin conţinutul celui de-al doilea parametru se stabileşte, care dintre aceste fişiere vor fi parcurse în timpul extragerii.

Astfel se recunosc următoarele cuvinte-cheie:

MR - Receptii, MR-R Loturi intrare/stoc, 
MV - Facturi/iesiri, MV-R - Loturi de iesire, 
MI - Incasari si plati.

De exemplu:

fis_extragere (,"MR,MR-R,MV,MV-R") - se extrag date din fişierele 
Receptii, Loturi intrare/stoc, Facturi/iesiri, Loturi de iesire.

Extragerea se referă la o perioadă. Pentru fiecare fişier destinaţie în care se extrag date se poate stabili o perioadă activă, prin opţiunea Initializare/Perioade. Extragerea se va referi la perioada stabilită.

Extragerea poate fi de tip rulaj sau fişă:

  • extragere de tip rulaj - vor fi luate în considerare doar tranzacţiile care
    au avut loc în perioada stabilită;
  • extragere de tip fişă - pe baza tranzacţiilor înregistrate înainte de perioada stabilită
    se calculează soldul precedent, iar tranzacţiile
    din cadrul perioadei active vor fi extrase fiecare.

Primul parametru al funcţiei fis_extragere() poate fi:

R - va iniţia o extragere de tip "rulaj", 
F - se va executa o extragere de tip "fişă".

Câmpurile fişierelor destinaţie în care se extrag datele pot fi câmpuri cu coduri dedicate şi câmpuri cu coduri liber alese.

Câmpurile cu codurile dedicate se încarcă automat, fără să fie necesară definirea unor formule de calcul, în timp ce câmpurile cu codurile liber alese se încarcă cu valorile returnate de formulele de calcul asociate. Astfel, formula ataşată unui câmp liber poate să adreseze direct câmpurile fişierului sursă din care se extrag datele. De exemplu, se extrag loturile de intrare, dar totodată se doreşte şi extragerea stocurilor curente. Pentru stocul curent nu există un câmp dedicat, prin urmare se extrage direct din fişierul de loturi.

Operaţia de extragere se lansează prin comanda:

fis_extragere("R","MR-R")

iar formula asociată câmpului în care se va extrage stocul curent al lotului va fi: lotm→STOCI - lotm→IESIRI

Evaluarea expresiei va fi făcută la executarea funcţiei fis_extragere(), adică în timpul operaţiei de extragere se va iniţia automat operaţia de calcul.

Dacă după operaţia de extragere se mai doreşte parcurgerea fişierului printr-o operaţie de calcul (ex. art_calcul()), va fi necesară ramificarea formulelor ataşate. Considerăm, că fişierul curent este T1, iar câmpul în care s-a calculat stocul este T1K1:

  • în câmpul condiţie se introduce: T1ZZZZ
  • pe ramura MR-R se introduce formula: lotm→STOCI - lotm→IESIRI
  • pe ramura ~~~~ se introduce o altă formulă, care poate fi T1K1 pentru păstrarea valorii extrase
    sau o altă formulă oarecare pentru recalcularea valorii extrase,
  • în momentul extragerii din lotul de intrare valoarea câmpului T1ZZZZ va fi încărcată automat cu „MR-R“.
    Pentru ca la pasul următor, când se execută art_calcul(), acesta să conţină o valoare diferită,
    astfel ca pentru câmpul T1K1 să se execute formula
    din ramura ~~~~, este necesară ştergerea valorii din câmpul T1ZZZZ,
    prin urmare câmpului T1ZZZZ trebuie să i se asocieze formula de calcul „“.

Vezi anexa cu câmpurile dedicate, precum şi modul în care acestea sunt încărcate în cadrul operaţiei de extragere.

Funcţii de gestionare a perioadei

cit_perioada()

Citeşte perioada (data_inc, data_sf, NumePerioada). Pentru o perioadă validă:

  • se şterge conţinutul fişierelor de export Ex pentru care fişierul curent furnizează date,
  • se şterge conţinutul fişierului curent,
  • perioda introdusă se înscrie în perioada corespunzătoare fişierului curent şi fişierelor export implicate,
  • se actualizează linia de informaţii generale de pe ecran.

Poate fi apelat numai pt. T1…T9 şi T_

ver_ExPerioada()

Parcurge perioadele definite pentru fişierele generice care furnizează date pentru fişierul de export curent şi verifică perioadele definite pentru aceste fişiere. Funcţia se termină cu succes, dacă perioadele implicate sunt identice.

Ex. fişierul curent este E2 şi există operaţie de export definită pentru E2 în T1 şi T2. Se verifică, dacă perioadele definite pentru T1 şi T2 sunt identice.

Poate fi apelat numai pentru E1…E9

t_period(„<“)

Afişare pe ecran şi activare Perioada corespunzătoare unui fişier. Se apelează în:

Tip/nr. : INC./SF. / 01
Denumire: Actiune inaintea prelucrarii
Actiune : t_period("<")

t_period(„>“)

Ştergere de pe ecran şi dezactivare Perioada corespunzătoare unui fişier. Se apelează în:

Tip/nr. : INC./SF. / 02
Denumire: Actiune dupa prelucrare
Actiune : t_period(">")

Adăugarea unui utilitar

Se pot adăuga proceduri (script hMET2) pentru executarea unor funcţii ca de exemplu liste speciale, programate cu generatorul de rapoarte hMET.

Vezi exemplu în demo.

Codurile acestor proceduri trebuie să înceapă cu U, ca să poată fi lansate din meniu.

hmarfa/x_adap.txt · Ultima modificare: 2024/11/11 09:00 (editare externă)