Dodaj do ulubionych

Dynamiczny CALL FUNCTION

03.03.05, 10:16
Witam
w jaki sposob przekazac nazwy przekazywanych parametrow dynamicznie?
Mam je w zmiennej. Przypisanie do field-symbola nie przynosi rezultatow.

CALL FUNCTION 'Z_EXAMPLE'
EXPORTING
parametr1 = 'aaa'
IMPORTING
parametr2 = 'bbb'.

w jaki sposob zamiast np. parametr1 dac tam zawartosc zmiennej typu C?
Obserwuj wątek
    • jarek.sikora Re: Dynamiczny CALL FUNCTION 03.03.05, 10:57
      Z przedstawionego przez Ciebie przykładu wynika
      że wykorzystanie Field-Symbols jest jak najbardziej
      na miejscu


      Pozdrawiam
      JS www.icg.pl
    • wojtas71 Re: Dynamiczny CALL FUNCTION 03.03.05, 13:17
      wojtas71 napisał:

      > Witam
      > w jaki sposob przekazac nazwy przekazywanych parametrow dynamicznie?
      > Mam je w zmiennej. Przypisanie do field-symbola nie przynosi rezultatow.
      >
      > CALL FUNCTION 'Z_EXAMPLE'
      > EXPORTING
      > parametr1 = 'aaa'
      > IMPORTING
      > parametr2 = 'bbb'.
      >
      > w jaki sposob zamiast np. parametr1 dac tam zawartosc zmiennej typu C?


      CALL FUNCTION 'Z_EXAMPLE'
      EXPORTING
      <fs> = 'aaa'
      IMPORTING
      parametr2 = 'bbb'.

      Jesli chodzi o takie zagranie to wlasnie ze nie dziala :-(
      • jarek.sikora Re: Dynamiczny CALL FUNCTION 03.03.05, 13:22
        Hej
        Jaki masz komunikat błędu
        co to znaczy że nie działa
        <FS> przekazuje Ci nazwę parametru
        to o co chodzi ??
        • wojtas71 Re: Dynamiczny CALL FUNCTION 03.03.05, 13:28
          Zachowuje sie tak ze nie przekazuje po prostu tego parametru do function module.
          Identycznie jakbym wpisal jakas bzdurna nazwe parametru ktora nie jest
          zdefiniiowana w samej funkcji. W definicji CALL FUNCTION jest napisane ze
          rzeczywiscie nazwy parametrow musza byc na sztywno podawane... w takim razie
          konfigurowanie wywolywania funkcji jest chyba niemozliwa. Beznadzieja.
          • jarek.sikora Re: Dynamiczny CALL FUNCTION 03.03.05, 13:39
            Jeżeli Bardzo Ci zależy na rozwiązaniu tego problemu
            to pomyśl o wykonywaniu lini kodu
            z tebeli wewnętrznej
            tam już jesteś w stanie wszystko podstawić

            Pozdrawiam
            • wojtas71 Re: Dynamiczny CALL FUNCTION 03.03.05, 13:44
              Tak wiem, ale wziawszy pod uwage wykonywanie tego kodu np. milion razy dziennie
              i za kazdym razem kod ma byc ponownie kompilowany, i dodawszy ze dane ktore
              nalezy podstawic do parametrow przekazywanych do function module spowoduja
              pojawienie sie np. dziesieciu tysiecy linii kodu, pomysl z dynamicznym
              generowaniem programu odrzucilem po pierwszej wersji ze wzgledu na wydajnosc.

              pozdrawiam i dziekuje
              • krzysztof.kuczek Re: Dynamiczny CALL FUNCTION 07.03.05, 21:39
                Hej
                No to zrob inaczej, generuj includa ktory zainkluduj w miejscu (zamiast) call
                function. Generacje includa uzaleznij od zmiany np konfiguracji ktora to moze
                wpływac na sposob wywolania funkcji, sprawdzaj date wygenrowania programu date
                zmian konfiguracji i juz. bedzie bardzo szybko
                Jesli te wolane funkcje sa jakiejs klasy tzn maja robic jakies tam konkretne
                zeczy do zdefiniuj do nich jeden standardowy interfejs a potem uzyj rzutowania
                wewnatrz na inne zmienne.
                pozdro
                krzysiek

                PS.
                Przemysl moze koncepcje calosci bo wyglada to dosyc dziwnie :)))
          • mcmacpl Re: Dynamiczny CALL FUNCTION 11.03.05, 09:28
            Przecież CALL FUNCTION można wywołać z PARAMETER-TABLE. Tam podajesz właśnie
            dynamicznie parametry. Masz to w dokumentacji.
            • wojtas71 Re: Dynamiczny CALL FUNCTION 11.03.05, 10:37
              czy chodzi Ci o te parametry:


              1. ... EXPORTING p1 = f1 ... pn = fn

              2. ... IMPORTING p1 = f1 ... pn = fn

              3. ... TABLES p1 = itab1 ... pn = itabn

              4. ... CHANGING p1 = f1 ... pn = fn

              5. ... EXCEPTIONS except1 = rc1 ... exceptn = rcn

              ?
              • mcmacpl Re: Dynamiczny CALL FUNCTION 17.03.05, 16:06
                Nie. Chodzi o opcję wywołania CALL FUNCTION. Np:

                CALL FUNCTION 'Z_READ_DATA' PARAMETER-TABLE i_params.
                Tabela wewn. i_params ma okresloną strukturę.
                Ale to chyba pojawiło się w 4.7. A przynajmniej help w 4.6 nie wymienia tej opcji...
Inne wątki na temat:

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka