- Dit onderwerp bevat 3 reacties, 2 deelnemers, en is laatst geüpdatet op 5 jaren, 5 maanden geleden door Rolf.
-
AuteurBerichten
-
-
19 maart 2019 om 11:35 #2533Josephine KampGast
Via Designer importeer ik een x-aantal conditierapporten in de database conserveringsbehandelingen. Dat doe ik met een csv bestand en ik laat ook een adapl meelopen.
In principe werkt het allemaal lekker, alleen wil ik de aanmaakdatum van de documenten ook in Adlib krijgen, in de velden begindatum RM en einddatum RG. Omdat de datum van de documenten de dd-mm-yyyy weergave hebben, komen ze verkeerd in Adlib. Is er een manier om in je Adapl de transformatie van dd-mm-yyyy naar yyyy-mm-dd te regelen? -
21 maart 2019 om 22:15 #2535Rolf BlijlevevnGast
Hoi Josephine,
Je kunt in je import-job die datum mappen naar een tijdelijke tag, in onderstaande code is dat %A.
De doeltag geef je op in de adapl, dat is hier di (voor datum invoer).di = right$(%A, 4) + '-' + mid$(%A, 3, 2) + '-' + left$(%A, 2)
%A = NULL
In woorden:
de rechter vier karakters, koppelstreepje, middelste twee karakters vanaf positie drie, meest linkse twee karakters.
Daarna zet je %A op NULL omdat-ie anders onder water in je record blijft bestaan. Dat zou slordig wezen.Ik hoop dat je ermee uit de voeten kunt.
Rolf
-
18 april 2019 om 09:51 #2644josephineGast
Hoi Rolf,
Ik snap de adapl. In de test import ging het alleen niet zo lekker. De adapl heb ik mee laten lopen als after read adapl
RM = right$(%A, 4) + '-' + mid$(%A, 3, 2) + '-' + left$(%A, 2) RG = right$(%D, 4) + '-' + mid$(%D, 3, 2) + '-' + left$(%D, 2)
maar het resultaat in het veld was – –
De data van RM en RG komen uit een csv
Wat ging er mis?groet
-
19 april 2019 om 16:15 #2646RolfSleutelbeheerder
Ha Josephine,
Ik zou hem mee laten lopen als storage adapl. (Ik heb wel eens ruzie gehad met after read adapls, en heb ze verder nooit nodig gehad. Zie hier).
Ik zie trouwens niet waarom je één datum (aanmaakdatum) in twee velden wilt stoppen, maar OK. Stel je CSV ziet er zo uit, | is veldscheidingsteken
sk-c-5|26-01-2016|27-02-2016
sk-c-6|26-01-2018|01-04-2019Merk op: geen header. Dan ziet je mapping er zo uit (klopt?)
01 IN
02 %A
03 %D
| <FS>
0x0d0A <RS>
IN is je update tag. Dan zou jouw code moeten werken. Test met een csv’tje met twee regels. Om te kijken wat er gebeurt kun je dit vlak boven je
%A = null
plakkenerrorm '%A: ' + %A + ' %B: ' + %B + ' RM: ' + RM
Dan krijg je voor elke csv-regel een errorwindowtje met wat er gebeurt. Vandaar twee regels, anders zit je tig keer op zo’n errorwindowtje te klikken.
Succes!
Rolf- Deze reactie is gewijzigd 5 jaren, 5 maanden geleden door Rolf.
-
-
AuteurBerichten
- Je moet ingelogd zijn om een antwoord op dit onderwerp te kunnen geven.