smartform-Ausgabe

Getting started ... Alles für einen gelungenen Start.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

smartform-Ausgabe

Beitrag von barbara (ForumUser / 50 / 0 / 0 ) »
Hello,
Offensichtlich übergebe ich dem Prog. die falsch kunnr !? --> Ich erhalte zwar keine Syntaxfehler, kann auch meine Eingaben mit Namen und kunnr machen, jedoch bekomme ich keine Ausgabe.

Das smartform z_customertest_1 sollte richtig sein, nur im Prog. wird die kunnr nicht richtig übergeben, deshalb erhalte ich dann auch keine Ausgabe.

Im smartform wurde bei den Formularschnittstellen unter dem Karteireiter "Tabellen" der Eintrag it_data like ztdata gemacht und bei den globalen Definitionen wurde unter "Globale Daten" der Eintrag wa_data like ztdata gemacht.

Kann mir bitte jemand sagen, wie ich dann die kunnr im Programm richtig übergeben kann?

thx

Code: Alles auswählen.

DATA: h_name  TYPE string,
      h_fname TYPE rs38l_fnam,

      wa_data TYPE ztdata,
      it_data TYPE TABLE OF ztdata.

PARAMETERS:
  p_name  TYPE char20,
  p_kunnr TYPE kna1-kunnr OBLIGATORY.

START-OF-SELECTION.

  h_name  = p_name.
  wa_data-kunnr = p_kunnr.

*  SELECT * FROM kna1 INTO CORRESPONDING FIELDS OF TABLE it_data
*    WHERE kunnr = p_kunnr.

  SELECT v~vbeln v~audat v~netwr v~waerk v~auart k~kunnr
    k~name1 k~stras k~telf1 k~telfx
    INTO CORRESPONDING FIELDS OF TABLE it_data
    FROM vbak AS v INNER JOIN kna1 AS k
      ON v~kunnr = k~kunnr
      WHERE k~kunnr = p_kunnr.

END-OF-SELECTION.

* diesen Funktionsbaustein brauche ich zum Aufrufen d. Smart Forms
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname                 = 'Z_CUSTOMERTEST_1'
*   VARIANT                  = ' '
*   DIRECT_CALL              = ' '
    IMPORTING
      fm_name                  = h_fname
   EXCEPTIONS
     no_form                  = 1
     no_function_module       = 2
     OTHERS                   = 3
            .
  IF sy-subrc <> 0.
    EXIT.
  ENDIF.

  CALL FUNCTION h_fname
    EXPORTING
*   ARCHIVE_INDEX              =
*   ARCHIVE_INDEX_TAB          =
*   ARCHIVE_PARAMETERS         =
*   CONTROL_PARAMETERS         =
*   MAIL_APPL_OBJ              =
*   MAIL_RECIPIENT             =
*   MAIL_SENDER                =
*   OUTPUT_OPTIONS             =
*   USER_SETTINGS              = 'X'
      name                       = h_name
      kunnr                      = wa_data-kunnr
*      i_structure_name           = 'ZTDATA'
* IMPORTING
*   DOCUMENT_OUTPUT_INFO       =
*   JOB_OUTPUT_INFO            =
*   JOB_OUTPUT_OPTIONS         =
    TABLES
      it_data                    = it_data
EXCEPTIONS
 formatting_error           = 1
 internal_error             = 2
 send_error                 = 3
 user_canceled              = 4
 OTHERS                     = 5
            .

  IF sy-subrc <> 0.
    EXIT.
  ENDIF.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von hjstruebig (ForumUser / 49 / 0 / 0 ) »
Hallo Barbara,

hast Du schon Dein Select-Statement überprüft? Denn ich habe keine sy-subrc Prüfung gesehen. Als weiteres Hilfsmittel gibt es noch den Transaktioncode SFTRACE. Denn normalerweise sollte es auf jeden Fall zu einer Ausgabe kommen. Wenn nicht, dann ist auf dem Formular u.U. ein Fensterüberlauf oder sonst etwas schief.

Also am besten mal den SFTRACE sozusagen einschalten, das ganze laufen lassen und danach den SFTRACE auswerten.

Grüsse...
...Jochen

Beitrag von barbara (ForumUser / 50 / 0 / 0 ) »
Hello Jochen,

Danke für deine Antwort!

Bezüglich d. select-statement: Das statement sollte an und für sich funktionieren, da ich im Debugger gesehen habe, dass die it_data komplett richtig befüllt wird, nur es kommt dann halt seltsamerweise zu keiner Ausgabe!? hmmm ...

lg

Re: smartform-Ausgabe

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
Hi barbara,

ist dein wa_data gefüllt?

Du liest zwar alle Daten in it_data. Ich sehe aber keine Stelle wo du wa_data füllst.

Gruß Hendrik

Code: Alles auswählen.

  CALL FUNCTION h_fname
    EXPORTING
      name                       = h_name
*     Wann wird wa_data gefüllt
      kunnr                      = wa_data-kunnr
    TABLES
      it_data                    = it_data
EXCEPTIONS
 formatting_error           = 1
 internal_error             = 2
 send_error                 = 3
 user_canceled              = 4
 OTHERS                     = 5
            .


Beitrag von barbara (ForumUser / 50 / 0 / 0 ) »
Hello Hendrik,

Also ich dachte mir, dass das im smartform im main unter der angelegten Tabelle unter dem Karteireiter "Daten" befüllt. Oder?
Weil da habe ich ja dann erst das loop mit it_data INTO wa_data und als where-Bedingung kunnr = wa_data-kunnr

Muss das (die wa_data) dann auch noch zusätzlich im dazugehörigen Programm befüllt werden. Gell?

liebe Grüsse

Beitrag von barbara (ForumUser / 50 / 0 / 0 ) »
Hello Hendrik :wink:

Zu meiner vorigen Antwort -->
Bzw. im smartforms habe ich dann auch noch eine Programmzeile mit read table it_data into wa_data index 1.

Reicht das nicht aus?
Muss ich die wa_data im Programm auch nochmals befüllen?

thx, lg

Überprüfung ob Du die Daten auch dahin bekommst

Beitrag von hjstruebig (ForumUser / 49 / 0 / 0 ) »
Hallo Barbara,

hast Du schon mal geschaut, ob Du Deine Daten im Smartform im Zugriff hast?

Lege vor der eigentlichen Ausgabe einen Programmzeilen Knoten im Smartform-Knoten an. Als Eingabe- und Ausgabeparameter gibst Du jeweils Deine interne Tabelle it_data an. In den Programmzeilen haust Du einen harten break username rein.

Beim prozessieren solltest Du da eigentlich hinkommen und dann kannst Du im Debug-Mode schauen, ob Deine Daten da sind.

Hope it helps...
...Jochen

PS: Wenn Du dann schon gar nicht an diese Stelle kommst, hast Du noch einen harten Fehler, dem Du nur über die Transaktion SFTRACE auf die Schliche kommst.

Beitrag von barbara (ForumUser / 50 / 0 / 0 ) »
Danke, .. ich probier's mal so aus..
lg

Beitrag von mono (ForumUser / 2 / 0 / 0 ) »
Hallo!

Wie ich das sehe, stimmt etwas mit deinem Selektionskriterium nicht. Du machst:

"erst das loop mit it_data INTO wa_data und als where-Bedingung kunnr = wa_data-kunnr "

Ich würde sagen, Smart Forms kapiert es nicht, dass du wa_data-kunnr als Vergleichswert verwendest.

Versuchs doch mal damit, dass du vor der Tabelle wa_data an einen anderen Arbeitsbereich übergibst und den als Vergleich heranziehst (und sag mir, obs geklappt hat =) ).

Grüßle Sabrina

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1277
Views
Smartform-/SAP-Script-Ausgabe downloaden
von schuessler » 24.09.2007 15:06 • Verfasst in ABAP® Core
7
Antw.
1754
Views
Write-Ausgabe vor Alv-Grid Ausgabe
von L0w-RiDer » 14.08.2019 14:09 • Verfasst in ABAP® für Anfänger
3
Antw.
3283
Views
SmartForm debuggen
von Frank Zet. » 25.08.2008 10:45 • Verfasst in ABAP® Core
2
Antw.
895
Views
BC 2/5 Interleaved in SmartForm
von SAP_ENTWICKLER » 22.07.2013 07:56 • Verfasst in ABAP® Core
3
Antw.
5423
Views
Querformat Smartform
von Jenni » 22.01.2008 14:39 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141