SAP Script und se71

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
18 Beiträge • Seite 1 von 2 (current) Nächste
18 Beiträge Seite 1 von 2 (current) Nächste

SAP Script und se71

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hallo,

Ich möchte ein SAP Script - Formular erstellen.

Leider habe ich bis jetzt noch nie mit SAP Script gearbeitet. Die Transaktion se71 habe ich vorhin noch nie gesehen bis jetzt :(

Da ich komplett Neuling in diesem Bereich bin, hätte ich nun folgende Frage(n):
--> Das Druckprogramm habe ich geschrieben (ZMM_DRUMATNR_BB)
(siehe derzeitiger Code)

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  ZMM_DRUMATNR_BB
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zmm_drumatnr_bb.

DATA:
  it_mara TYPE TABLE OF mara,
  wa_mara TYPE mara,
  it_makt TYPE TABLE OF makt,
  wa_makt TYPE makt.

DATA:
  g_zaehler TYPE i.

*** S E L E K T I O N S B I L D ****************************************
SELECTION-SCREEN BEGIN OF BLOCK selektion WITH FRAME TITLE text-001.
SELECT-OPTIONS:
  so_matnr FOR wa_mara-matnr OBLIGATORY.
SELECTION-SCREEN END OF BLOCK selektion.

*** H A U P T V E R A R B E I T U N G **********************************
START-OF-SELECTION.

  CLEAR: it_mara,
         it_makt.

  SELECT * FROM mara INTO TABLE it_mara
    WHERE matnr IN so_matnr.

  SELECT * FROM makt INTO TABLE it_makt
    WHERE matnr IN so_matnr.

  IF sy-subrc <> 0.
    MESSAGE ID 'ZBLOSCHAN' TYPE 'I' NUMBER 000.
  ELSE.

*   open print job
    CALL FUNCTION 'OPEN_FORM'
      EXPORTING
        device   = 'PRINTER'
        form     = 'ZMM_DRUMATNR_BB'
        dialog   = 'X'
      EXCEPTIONS
        canceled = 1
        device   = 2
        form     = 3
        OPTIONS  = 4
        unclosed = 5
        OTHERS   = 6.
    IF sy-subrc <> 0.
      WRITE 'Error in open_form'(001).
      EXIT.
    ENDIF.

    LOOP AT it_mara INTO wa_mara.
      LOOP AT it_makt INTO wa_makt.

        IF wa_mara-matnr = wa_makt-matnr.
*          WRITE: / wa_mara-matnr, wa_makt-maktx, wa_mara-brgew, wa_mara-ntgew, wa_mara-volum, wa_mara-meins.

*         Kopf
          CALL FUNCTION 'START_FORM'
            EXCEPTIONS
              OTHERS = 1.
          IF sy-subrc <> 0.
            WRITE 'Error in start_form'(002).
            EXIT.
          ENDIF.

*         Main
          CALL FUNCTION 'WRITE_FORM'
            EXPORTING
              element  = 'HEADING'
              function = 'SET'
              type     = 'TOP'
              window   = 'MAIN'
            EXCEPTIONS
              OTHERS   = 1.
          IF sy-subrc <> 0.
            WRITE 'Error in write_form printing top element of main'(003).
            EXIT.
          ENDIF.

*         Fuss
          CALL FUNCTION 'END_FORM'
            EXCEPTIONS
              OTHERS = 1.
          IF sy-subrc <> 0.
            WRITE 'Error in end_form'(006).
            EXIT.
          ENDIF.

        ENDIF.

      ENDLOOP.
      g_zaehler = g_zaehler + 1.
    ENDLOOP.

    WRITE: / g_zaehler.

*   close print job
    CALL FUNCTION 'CLOSE_FORM'
      EXCEPTIONS
        OTHERS = 1.
    IF sy-subrc <> 0.
      WRITE 'Error in close_form'(007).
      EXIT.
    ENDIF.

  ENDIF.
Frage: Was fehlt mir noch im Druckprogramm??
Bzw. was habe ich falsch gemacht??
Ergo: Wie macht man es richtig??

Frage 2)
--> meine Vermutung ist, dass ich im se71 noch einiges machen muss, oder??
Kann mir bitte jemand kurz se71 erklären?
Muss ich da diesbez. noch irgendwas einstellen? Oder sonst was dergleichen?
Ich vermute schon, da er beim Ausführen meines Druckprogramms die Errormeldung des OPEN_FORM (siehe screenshot) ausgibt!!
:cry:

D.h. ihn haut es offensichtlich gleich beim ersten Fkt.baustein auf :(
* open print job
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
form = 'ZMM_DRUMATNR_BB'
dialog = 'X'
EXCEPTIONS
canceled = 1
device = 2
form = 3
OPTIONS = 4
unclosed = 5
OTHERS = 6.
IF sy-subrc <> 0.
WRITE 'Error in open_form'(001).
EXIT.
ENDIF.

Oder woran könnte das sonst noch liegen?

Meine Aufgabenstellung wäre nämlich auch folgende:
Das Formular soll sich aus Kopf Main und Fuss zusammensetzen
Kopf: 01. Zeile: Mitte Überschrift: 'Druckliste SAP Materialien'
02. Zeile: links: Systemid, Systemname; rechts: Datum / Zeit
Abschluss: ein Strich
Fuss: Anfang: ein Strich
01. Zeile: links: technischer Name, rechts Seite x von y

Main: folgende Felder: Artikelnummer / Materialkurztext / Bruttogew. / Nettogew. / Volumen / Basismengeneinheit / inaktiv J/N
auf jeder Seite zu Beginn natürlich eine Überschrift

D.h. ich VERMUTE mal, dass das noch alles auf se71 eingestellt gehört!??
Oder??


Bitte um Hilfe!!

Danke!!!

lg

(-> BITTE keine Antworten wie: "mit smartforms wäre es doch leichter", etc. .. , da ich weiß dass es mit smartforms leichter ist ;) , aber jetzt muss ich das mit SAP Script machen!! :wink: ) thx

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


Re: SAP Script und se71

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Da siehst du mal, wie unsinnig unsinnige Fehlermeldungen sind ;)

Erster Schritt: Finde raus, mit welchem sy-subrc der FuBau abbricht. Dann kann man weitersehen - das ist einfacher als wenn jetzt 20 Leute je 10 Minuten das Coding analysieren.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Hi, folgendes Coding klappt bei mir,
wenn das Formular in Sprache "DE" angelegt und
a k t i v i e r t ist.

Gruß M.

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
muggel hat geschrieben:Hi, folgendes Coding
Wo folgt denn das? Ich seh keins. Reinkopieren vergessen?


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Hi, pardon !

*öffnen SAPscript-Formular "ZZT4991"
CALL FUNCTION 'OPEN_FORM'
EXPORTING
application = 'TX'
device = 'PRINTER'
dialog = 'X'
form = 'ZZT4991'
language = sy-langu
EXCEPTIONS
OTHERS = 1.

IF sy-subrc <> 0.
WRITE: / 'Fehler bei OPEN_FORM', sy-subrc.
EXIT.
ENDIF.

Gruß M.

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Hallo, hier noch Programm-Code zum Lesen MARA/MAKT:

report mara_selection1.

tables: mara, makt.

types:
begin of ty_struktur.
include structure mara.
types: maktx type makt-maktx,
end of ty_struktur.

data:
lt_itab type table of ty_struktur,
ls_itab like line of lt_itab.


field-symbols <fs_itab> like line of lt_itab.

selection-screen begin of block 1 with frame title text_001.
select-options: so_matnr for mara-matnr obligatory.
parameters: p_matart like mara-mtart obligatory.
selection-screen end of block 1.

select * from mara into table lt_itab
where mtart = p_matart and matnr in so_matnr.


if sy-subrc = 0.

loop at lt_itab assigning <fs_itab>.
select single maktx from makt into <fs_itab>-maktx
where matnr = <fs_itab>-matnr and spras = 'D'.
endloop.
unassign <fs_itab>.


loop at lt_itab into ls_itab.
write: / '| ' , ls_itab-matnr , ' | ', ls_itab-mtart , ' | ' , ls_itab-ersda , ' | ' , ls_itab-maktx , ' | '.
endloop.
else.
write: / 'Es wurden keine Daten gefunden!'.
endif.

IM Formular sprichst du die Felder z.B. mit &LS_ITAB-MATNR& an!

Gruß M.

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hallo,

Danke, ich werd' das mal ausprobieren ... :?

lg

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Hallo Babsi,

wenn du die Daten mittels SAPscript ausgeben sollst
brauchst du zumindest einen 2-tägigen Überlick-Kurs.
Ein Beispiel für den Bestelldruck ist Formular "ZMEDRUCK".

Den kannst du dir ja mal "reinziehen".

Gruß M.

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
muggel hat geschrieben:wenn du die Daten mittels SAPscript ausgeben sollst
brauchst du zumindest einen 2-tägigen Überlick-Kurs.
Oder Hartnäckigkeit - so war es bei meinem ersten Formular ;)
muggel hat geschrieben:Ein Beispiel für den Bestelldruck ist Formular "ZMEDRUCK".
Den kannst du dir ja mal "reinziehen".
Ihr direkt das komplizierteste Formular, was die SAP mitliefert, aufs Auge zu drücken, finde ich nicht ganz fair ;)

Es gibt sicherlich einfachere Beispiele wie das Rechnungsformular.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Hi Babsy,

Ralf hat vielleicht Recht, das formular ist: RVINVOICE01

Gruß M.

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hallo,

Danke ihr zwei!

Ich habe erst jetzt gesehen, dass mein Formular ja gar nicht aktiviert ist ... :(
, deshalb wird das bei mir mit dem open_form ja gar nicht gehen ...
(da sagt er bei mir : Kopfdaten ZMM_DRUMATNR_BB: Defaultabsatz ist undefiniert) o.k., d.h. da fehlt sowieso noch einiges ... hmm,

Werd' mir mal euer Übungsform reinziehn ..

thx,
lg

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hallo nochmals,

sagt's, wie heißt dann das Druckprogramm zum Formular RVINVOICE01 ?
Oder kann man das in der se71 des RVINVOICE01 wo rauslesen?
:?

thx,
lg

Beitrag von Matthias_L. (Specialist / 226 / 0 / 0 ) »
Druckprogramm: RVADIN01

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hallo Matthias,

Danke!!

lg

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hello nochmals,

Sagt's , gibt's eigentlich auch ein Formular zum Übungsdruckprogramm RSTXEXP1 ???
:?

.. weil das S_EXAMPLE_1 (lt. open_form) das gibt es offensichtlich nicht!?! :shock: :? :(

thx,
lg

Vergleichbare Themen

0
Antw.
963
Views
2D Barcode im Formular (SE71)
von ossi » 26.06.2007 12:37 • Verfasst in ABAP® Core
4
Antw.
3091
Views
SE71 (SAPScript) und ABAP Coding
von astera » 05.12.2006 13:54 • Verfasst in ABAP® Core
4
Antw.
2722
Views
Verwendete Tabellenfelder in allen Formularen (SE71) finden
von Nafetz » 13.07.2011 10:52 • Verfasst in ABAP® für Anfänger
0
Antw.
1267
Views
Sap-Script
von bohne » 07.04.2005 13:57 • Verfasst in SAP - Allgemeines
3
Antw.
1627
Views
SAP Script als pdf
von Abap_neuling » 27.02.2024 22:37 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Regex in where
Gestern von tar 8 / 569
Daten an Tabelle binden
vor 2 Tagen von Bright4.5 3 / 1807
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 463
IT0024 Qualifikationen CP-ID
vor 3 Tagen von DeathAndPain 2 / 696

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.

Aktuelle Forenbeiträge

Regex in where
Gestern von tar 8 / 569
Daten an Tabelle binden
vor 2 Tagen von Bright4.5 3 / 1807
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 463
IT0024 Qualifikationen CP-ID
vor 3 Tagen von DeathAndPain 2 / 696

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Tagen von snooga87 1 / 373
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3563
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 10105