Welkom! Forums Algemeen Adapl voor datum switch: dd-mm-yyyy > yyyy-mm-dd

Weergave van 3 reactie threads
  • Auteur
    Berichten
    • #2533
      Josephine Kamp
      Gast

      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?

    • #2535
      Rolf Blijlevevn
      Gast

      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

    • #2644
      josephine
      Gast

      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

    • #2646
      Rolf
      Sleutelbeheerder

      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-2019

      Merk 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 plakken

      errorm '%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.
Weergave van 3 reactie threads
  • Je moet ingelogd zijn om een antwoord op dit onderwerp te kunnen geven.
Scroll naar boven