Instructies voor flexbedrijfsregels en -procedures definiëren

Door Flex SQL-instructies te definiëren kunt u validatieregels vastleggen die specifiek van toepassing zijn voor uw organisatie. U kunt een of meer instructies instellen die moeten worden verwerkt bij gebeurtenissen 'na toevoeging' of 'na bijwerking'.

Het Flex SQL-systeem kan overweg met instructies voor het zoeken (Select) en manipuleren (Insert, Update, Delete) van gegevens. Gebruik instructies van het type Select voor het uitvoeren van een controletoestand.

De SQL-instructie mag zowel hoofdletters als kleine letters bevatten. De identificatie van de rijen moet echter volledig in hoofdletters of volledig in kleine letters zijn opgesteld (bijvoorbeeld :ROWID of :rowid).

Voor elke Flex SQL-instructie is het gebruik van een voorgedefinieerd token :ROWID noodzakelijk. Dit token verwijst naar de identificatie van de databaserij voor de record die in de opgegeven tabel wordt verwerkt. De instructie wordt uitgevoerd voor elke record in de tabel die betrokken is bij een toevoeging of wijziging.

Een instructie kan maximaal 4000 tekens lang zijn. Er is geen speciaal eindteken (;) nodig.

Instructies voor het manipuleren van gegevens zijn toegestaan, maar let erop dat u geen oneindige opeenstapeling van triggerstappen begint. Het is bijvoorbeeld niet verstandig om een Flex SQL-instructie aan te maken waarmee de basistabel wordt bijgewerkt die bij Tabel staat vermeld.

NB

Infor raadt u aan bij het opzetten van uw Flex SQL-procedures nauw samen te werken met uw Infor EAM-adviseur.

  1. Selecteer Beheer > Schermconfiguratie > Flexbedrijfsregels.
  2. Geef de Tabel op waarvoor u Flex SQL-instructies en -procedures wilt definiëren.
  3. Klik op Flex SQL toevoegen.
  4. Geef de volgende gegevens op:
    Volgnummer
    Geef de volgorde van Flex SQL-verwerking op.
    Trigger
    Geef de databasebewerking op waarmee de gebeurtenis wordt geïnitieerd. Triggers 'na toevoeging' en 'na bijwerking' worden ondersteund.
    SQL-instructie
    Geef hier de SQL-instructie op die moet worden uitgevoerd wanneer de opgegeven bewerking voor een tabel plaatsvindt.
    Foutmelding
    Geef hier het bericht op dat moet worden weergegeven wanneer de Flex SQL-instructie mislukt. Een Flex SQL-instructie is geslaagd wanneer een of meer rijen in een tabel worden verwerkt met de instructie. Een Flex SQL-instructie mislukt wanneer er geen rijen worden verwerkt. Als u de foutmelding actief wilt maken, selecteert u Afbreken bij fout.
    Opmerkingen
    Voer hier een omschrijving in van het doel van de Flex SQL-instructie.
  5. Schakel desgewenst het selectievakje Moet bestaan in om de Flex SQL-processor te laten stoppen met de verwerking van opeenvolgende Flex SQL-instructies wanneer er geen rijen worden verwerkt met de huidige instructie.
  6. Schakel desgewenst het selectievakje Afbreken bij fout in om de huidige bewerking te stoppen wanneer er een fout optreedt en om een foutmelding te genereren.
  7. Schakel desgewenst het selectievakje Geretourneerde waarde omdraaien in om de retourstatuscode voor de huidige Flex SQL-instructie om te draaien. Als dit selectievakje wordt ingeschakeld en een of meer rijen met de instructie worden verwerkt, wordt een foutstatus geretourneerd. Als er geen rijen worden verwerkt met de instructie, wordt een successtatus geretourneerd.
  8. Schakel desgewenst het selectievakje Actief in om de Flex SQL-instructie in te schakelen.
  9. Klik op Flex SQL testen om te controleren of de huidige Flex SQL-instructie geldig is. Als de instructie fouten bevat (bijvoorbeeld een ongeldige syntaxis), wordt er een bericht weergegeven.
  10. Klik op Bevestigen.
    Zie de volgende voorbeelden van Flex SQL-definities:
    Voorbeeld 1
    Geef controle-instructies of bewerkingen op die een aanvulling vormen op Infor EAM-standaardverwerking. Zo is de invoer van een waarde voor Kostencode optioneel bij het aanmaken van een inkoopaanvraag in Infor EAM. Als de implementatie afhankelijk is van het gebruik van Kostencode om rekeningsegmentwaarden af te leiden, moet u een controle-instructie definiëren op basis waarvan inkoopaanvragen niet mogen worden bijgewerkt of ingevoegd zonder dat een waarde voor Kostencode is ingevoerd.

    Zie het volgende voorbeeld van een controle-instructie als aanvulling op de standaardverwerking voor het aanmaken van een inkoopaanvraag in Infor EAM:

    • Tabel
      Geef R5REQUISITIONS op.
    • Trigger
      Geef POST-INSERT op.
    • Volgnummer
      Geef 10 op.
    • SQL-instructie
      Geef de volgende uit te voeren SQL-instructie op:
                           SELECT NULL
                           FROM R5REQUISITIONS
                           WHERE ROWID=:ROWID
                           AND REQ_COSTCODE IS NOT NULL
    • Foutmelding
      Geef Voer een waarde in voor kostencode op.
    • Selecteer Moet bestaan.
    • Selecteer Afbreken bij fout.
    Voorbeeld 2
    Maak rijen aan voor items en transacties om te werken met Oracle Financials in de tabel R5ACCOUNTDETAIL van Infor EAM op het scherm Flex SQL.

    Zie het volgende voorbeeld voor het aanmaken van rijen om rekeninggegevens in te voeren met constante standaardwaarden. In deze instructie wordt de controle-instructie in het vorige voorbeeld gevolgd dat waarden voor Kostencode moeten worden ingevoerd bij het aanmaken van inkoopaanvragen. Met het volgnummer wordt de volgorde aangegeven waarin de Flex SQL-instructies worden uitgevoerd.

    • Tabel
      Geef R5REQUISITIONS op.
    • Trigger
      Geef POST-INSERT op.
    • Volgnummer
      Geef 20 op.
    • SQL-instructie
      Geef de volgende uit te voeren SQL-instructie op:
                           INSERT INTO R5ACCOUNTDETAIL
                           (ACD_CODE, ACD_RENTITY, ACD_SEGMENT1, ACD_SEGMENT2, ACD_SEGMENT3,
                           ACD_SEGMENT4)
                           SELECT REQ_ACD, 'REQ',
                           '01',
                           '000',
                           '000',
                           '0000'
                           FROM R5REQUISITIONS                      
                           WHERE ROWID=:ROWID
      
    • Foutmelding
      Geef Fout bij het aanmaken van rekeninggegevens op.
    • Selecteer Moet bestaan.
    • Selecteer Afbreken bij fout.
    • Selecteer Actief.

    In het bovenstaande voorbeeld ziet u de inkoopaanvraagreferentie naar R5ACCOUNTDETAIL waarvoor REQ_ACD al is ingevuld. In Infor EAM wordt de rekeninggegevenssleutel voor de inkoopaanvraag automatisch gegenereerd. U hoeft de waarde van de rekeninggegevenssleutel niet aan te maken met Flex SQL.

    Welke definities voor Flex SQL-instructies moeten worden gebruikt in Infor EAM voor rekeninggegevens, is afhankelijk van welke Infor EAM- en ERP-modules zijn geïntegreerd. Maak eerst een raamwerk voor het gehele bestelproces. Bekijk vervolgens voor elke transactieset of validatie nodig is en of rekeningen moeten worden gegenereerd. U moet dit niet alleen voor elk integratiescenario bepalen, maar ook voor elke klant binnen elk scenario. Daarom is het van groot belang het gehele proces heel zorgvuldig in beschouwing te nemen.