Le problème est d'appeler la fonction avec des arguments mais de ne pas en spécifier lors de la création de la fonction. Donc, vous avez besoin de quelque chose comme (non testé):
CREATE FUNCTION "UpdatePMPM"(nbr_mem_months integer, effectivdate date, some_arg varchar) RETURNS void
LANGUAGE plpgsql
AS
$$
DECLARE
ym varchar := to_char(effectivedate,'YYYYMM');
BEGIN
FOR r IN 1..nbr_mem_months LOOP
UPDATE elan.pmpm set mbrmonths = mbrmonths+1 where yyyyymm = ym;
effectivedate = effectivedate + interval '1 month';
ym=to_char(effectivedate,'YYYYMM');
END LOOP;
RETURN;
END
$$;
D'après l'erreur, il n'est pas clair ce que le troisième argument est censé être, ce sera donc une clarification de votre part.