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 die de basistabel bijwerkt die bij Tabel staat vermeld.
Het wordt aanbevolen om bij het opzetten van uw Flex SQL-procedures nauw samen te werken met uw HxGN EAM-adviseur.
-
Selecteer Beheer > Schermconfiguratie > Flexbedrijfsregels.
-
Geef de Tabel op waarvoor u Flex SQL-instructies en -procedures wilt definiëren.
-
Klik op Flex SQL toevoegen.
-
Geef de volgende gegevens op:
Volgnummer - Geef hier de volgorde van Flex SQL-verwerking op.
Trigger - Geef hier 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 - Geef hier een omschrijving op van het doel van de Flex SQL-instructie.
-
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.
-
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.
-
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.
-
Schakel desgewenst het selectievakje Actief in om de Flex SQL-instructie in te schakelen.
-
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.
-
Klik op Bevestigen.
Zie de volgende voorbeelden van Flex SQL-definities:
Voorbeeld 1 - Geef controle-instructies of bewerkingen op die een aanvulling vormen op HxGN EAM-standaardverwerking. Zo is de invoer van een waarde voor kostencode optioneel bij het aanmaken van een inkoopaanvraag in HxGN 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 HxGN EAM:
-
Tabel - Geef R5REQUISITIONS op.
-
Trigger - Geef POST-INSERT op.
-
Volgnummer - Geef 10 op.
-
SQL-instructie - Geef de volgende SQL-instructie op die moet worden uitgevoerd:
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 HxGN 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 SQL-instructie op die moet worden uitgevoerd:
INSERT INTO R5ACCOUNTDETAI
(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 HxGN EAM wordt automatisch de sleutel voor de rekeninggegevens van de aanvraag gegenereerd. U hoeft de waarde van de rekeninggegevenssleutel niet aan te maken met Flex SQL.
Het bepalen van de Flex SQL-definities voor gebruik in HxGN EAM voor rekeninggegevens hangt af van de HxGN EAM- en ERP-modules die 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.
-