Moduli intelligenti dentro SAP ABAP

โšก Riepilogo intelligente

Moduli intelligenti dentro SAP Gli sviluppatori ABAP creano e gestiscono moduli per la stampa in massa, con output verso una stampante, un fax, un'e-mail o Internet. Questa pagina illustra l'architettura, i nodi di Form Builder, le finestre, le tabelle, i modelli, gli stili e il modulo funzione generato.

  • ๐Ÿ–จ๏ธ Scopo principale: Smart Forms consente la produzione di documenti stampati in serie e supporta la stampa, il fax, l'invio tramite e-mail e la pubblicazione su Internet tramite il file XML generato.
  • ๐Ÿ•ฐ๏ธ Origine: SAP ha introdotto Smart Forms nel 1998 per superare i limiti di SAPscript, e sono piรน facili da sviluppare, mantenere e trasportare.
  • ๐Ÿงฑ Progettazione grafica: Nel Form Builder, i nodi vengono disposti tramite trascinamento, consentendo di adattare un modulo senza scrivere una sola riga di codice.
  • โš™๏ธ Modulo generato: L'attivazione di un modulo genera un modulo funzione e il programma di stampa ne ottiene il nome in fase di esecuzione tramite SSF_FUNCTION_MODULE_NAME.
  • ๐ŸชŸ Regola della finestra: Una pagina puรฒ contenere al massimo una finestra principale, che si estende su piรน pagine, mentre ogni finestra secondaria visualizza solo contenuti statici.
  • ๐Ÿ“ Tabella o modello: Una tabella si espande dinamicamente in base ai dati, mentre un modello viene utilizzato quando l'output ha una dimensione fissa, come ad esempio un assegno o un biglietto.
  • ๐ŸŽจ Stili intelligenti: I formati di paragrafo, i formati dei caratteri, i colori e i codici a barre vengono memorizzati in uno stile intelligente e riutilizzati in tutti i moduli.

SAP ABAP Smart Forms

Che cosa sono i moduli intelligenti in SAP ABAP?

SAP Smart Forms viene utilizzato per creare e gestire moduli per la stampa di massa SAP Sistemi.Come mezzo di output SAP Smart Forms supporta una stampante, un fax, una posta elettronica o Internet (utilizzando l'output XML generato).

SAP ha introdotto SmartForms nel 1998 per superare le limitazioni presenti in SAP Script. Gli SmartForm sono piรน facili da sviluppare, mantenere e trasportare rispetto a SAP Script.

Confronto tra Smart Forms e SapScripts

  • In SmartForms sono possibili piรน formati di pagina, ma non รจ questo il caso SAP Script
  • รˆ possibile avere uno SmartForm senza una finestra principale.
  • Le routine possono essere scritte nello strumento SmartForms.
  • SmartForms genera un modulo funzione quando attivato.
  • Le etichette non possono essere create in SmartForms.
Criteri Moduli intelligenti SAPcopione
Formati di pagina Diversi formati di pagina in un unico modulo Formato di una pagina per modulo
Finestra principale Non obbligatorio รˆ necessaria esattamente una finestra principale
Routine Scritto all'interno del modulo stesso Scritto nel programma di stampa separato
Attivazione Genera un modulo funzione Non viene generato alcun modulo funzione
da abbigliamento Non puรฒ essere creato Puรฒ essere creato

Vantaggi dei moduli intelligenti

  • Consentono di adattare i moduli senza alcuna conoscenza di programmazione grazie a un'interfaccia utente interamente grafica.
  • Quando si attiva lo smart form il sistema genera automaticamente il modulo funzione e in fase di runtime .
  • Per apportare eventuali modifiche dobbiamo utilizzare Drag & Drop, Taglia e Incolla. Queste azioni non includono la scrittura di righe di codice o l'utilizzo di un linguaggio di script.
  • Possiamo inserire tabelle statiche e dinamiche. Questi includono l'avanzamento riga nelle singole celle della tabella, l'attivazione di eventi per le intestazioni e i totali parziali della tabella e l'ordinamento dei dati prima dell'output.
  • I moduli intelligenti consentono all'utente di includere grafica, che puรฒ essere visualizzata come parte del modulo o come grafica di sfondo. Durante la stampa l'utente puรฒ sopprimere la grafica di sfondo come e quando necessario.
  • La Pubblicazione Web รจ possibile utilizzando il file generato XML produzione

Architecnica di SAP Forma intelligente

Architecnica di SAP Forma intelligente

Il diagramma architetturale mostra i tre livelli coinvolti. Il modulo viene progettato nel Form Builder, l'attivazione genera il modulo funzione e il programma di stampa richiama tale modulo con i dati dell'applicazione. Di seguito vengono descritti i passaggi di progettazione del primo livello.

Guida agli Smartform

Esaminiamolo SAP sistema-

  1. Inserisci la transazione SMARTFORM nella casella del codice transazione.
  2. Nella schermata successiva, inserisci un nome per il modulo e fai clic su Crea

Guida agli Smartform

La schermata successiva รจ divisa in tre sezioni:

Guida agli Smartform

Finestra di navigazione sono costituiti da nodi e sottonodi. Contengono tutti gli elementi (testo, finestra, ecc.) che appartengono ai moduli SAP

  • Finestra di manutenzione mostra gli attributi degli elementi
  • Stampante per moduli la finestra mostra il layout della pagina

Ogni volta che creiamo moduli intelligenti, SAP crea/genera un modulo funzione. A differenza di SAPscript, SAP I MODULI ti consentono di cambiare lingua.

Nella finestra di navigazione troverai

Dichiarazioni globali sui dati : i dati qui definiti possono essere utilizzati in tutto lo smartform per scopi di codifica.

Modulo interfaccia : Qui vengono definiti tutti i dati che verranno passati allo smartform dal programma Stampa.

Guida agli Smartform

Facendo clic con il tasto destro sulle pagine sarร  possibile creare una nuova pagina, finestra, grafica o indirizzo.

Guida agli Smartform

La stampa avverrร  in base al campo 'pagina successiva'.

Ma l'elaborazione avverrร  secondo la sequenza nella finestra di navigazione!

Guida agli Smartform

Per l'immagine di sfondo e la grafica รจ possibile prelevare immagini bitmap in bianco e nero o a colori e memorizzarle sotto forma di testi standard. Puoi fare una deviazione dalla schermata smartform e aprire la schermata Grafica modulo. Codice transazione: Se78

Guida agli Smartform

Impostazione della grafica nella finestra Smart Form-

Guida agli Smartform

Windows nei moduli intelligenti

Windows nei moduli intelligenti

Ci sono due tipi di Windows

  1. Principale
  2. Secondario

Punti importanti da notare

  • Non puoi avere piรน di 1 finestra principale in una pagina. Puoi avere piรน finestre secondarie
  • Qualunque cosa tu stampi nella finestra secondaria...deve essere statica. (Se hai 20 righe in un PO e c'รจ un vincolo di pagina, le righe vengono riportate alla pagina successiva nella finestra principale. Ad esempio, in un tipo di contenuto predecessore e successore, verranno stampate in sequenza nella finestra principale. Questo non รจ consentito nelle finestre secondarie.

Windows nei moduli intelligenti

All'interno della finestra principale possiamo aggiungere testo come introduzione per personalizzare l'output del modulo.

Windows nei moduli intelligenti

Le opzioni di output su ciascuna finestra determinano la dimensione della linea, la larghezza, i colori e lo sfondo da inserire.

Windows nei moduli intelligenti

Smartforms offre la possibilitร  di fornire il numero di indirizzo che viene mantenuto nella gestione centrale degli indirizzi. L'indirizzo verrร  preso direttamente dalla tabella ADRC e verrร  popolato nel modulo.

Windows nei moduli intelligenti

In Smartforms sono disponibili due diversi editor, vale a dire: Editor normale

Windows nei moduli intelligenti

e l'editor grafico.

Windows nei moduli intelligenti

Questa impostazione puรฒ essere modificata utilizzando l'editor Configura in Utilitร .

Tabelle in una finestra

In Table Painter, puoi disegnare il formato secondo i requisiti del cliente (ad esempio Intestazione, Sottointestazione, Articolo, Totale parziale, Totale generale ecc.)

รˆ possibile utilizzare il layout della tabella per determinare:

  • Il numero di linee e celle
  • L'altezza di ogni riga
  • La larghezza di ogni cella
  • L'allineamento della tabella nella finestra

Windows nei moduli intelligenti

La tabella mostra i diversi tipi di linea che verranno utilizzati nella tabella. I tipi di linea definiscono la dimensione di ciascuna cella e il numero di celle in ciascuna riga.

Windows nei moduli intelligenti

Flusso di programmazione dei moduli intelligenti

Quando un SAP Viene creato il modello Smart Form, un utente crea il layout del modulo, definisce i campi richiesti, le condizioni e le istruzioni di programmazione speciali nel modello Smart Form utilizzando Smart Form Builder.

Una volta completata la progettazione del modulo, il modulo deve essere attivato prima che possa essere testato o accessibile dai programmi di stampa. L'attivazione del modulo avvia la generazione di un modulo funzione che gestisce tutta l'elaborazione del modulo.

Questo modulo funzionale interagisce con il programma applicativo/programma di stampa per creare l'output nel supporto di output definito dall'utente per il dispositivo specificato.

In caso di moduli intelligenti, utilizziamo 2 moduli funzionali per l'elaborazione del modulo intelligente. Al primo function module passiamo il nome dello smart form come parametro di importazione. Questo restituisce quindi il nome del modulo funzione generato dinamicamente che chiamerร  effettivamente lo smartform.

Il nome dello smartform puรฒ essere passato alla funzione Modulo โ€“ 'SSF_FUNCTION_MODULE_NAME'

Flusso di programmazione dei moduli intelligenti

Ciรฒ restituirร  il nome del modulo funzione dello smartform a cui si fa riferimento.

Flusso di programmazione dei moduli intelligenti

Il programma Print chiamerร  la FM 'SSF_FUNCTION_MODULE_NAME' per ottenere il nome del modulo funzione in fase di runtime. Successivamente chiamerร  il modulo Funzione cosรฌ ottenuto per eseguire lo smartform.

Flusso di programmazione dei moduli intelligenti

Come richiamare un modulo intelligente da un programma di stampa

La chiamata in due fasi descritta sopra รจ sempre scritta nello stesso modo. Il programma prima risolve il nome generato, poi lo esegue con i dati dell'applicazione.

  1. Risolvi il nome del modulo funzione: Passa il nome del modulo a SSF_FUNCTION_MODULE_NAME. Il nome generato cambia a seconda del sistema, quindi non deve mai essere inserito in modo statico.
  2. Richiamare dinamicamente il modulo generato: Utilizzare CALL FUNCTION con la variabile che contiene il nome risolto e passare i dati tramite i parametri definiti nell'interfaccia del modulo.
  3. Controllare l'uscita: Compilare la struttura di controllo SSFCTRLOP per sopprimere la finestra di dialogo di stampa o per richiedere un'anteprima, e compilare SSFCOMPOP con il dispositivo di output.
  4. Gestire le eccezioni: Il modulo generato genera errori di formattazione, errori interni, errori di invio e errori utente, quindi รจ necessario controllare SY-SUBRC dopo la chiamata.
DATA: lv_fm_name TYPE rs38l_fnam,
      ls_control TYPE ssfctrlop,
      ls_output  TYPE ssfcompop.

* 1. Get the name of the generated function module
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  EXPORTING
    formname           = 'Z_SMART_INVOICE'
  IMPORTING
    fm_name            = lv_fm_name
  EXCEPTIONS
    no_form            = 1
    no_function_module = 2
    OTHERS             = 3.

IF sy-subrc <> 0.
  MESSAGE e001(zsf).          " Form not found
ENDIF.

* 2. Call the generated module with the form data
ls_control-no_dialog = 'X'.
ls_control-preview   = 'X'.

CALL FUNCTION lv_fm_name
  EXPORTING
    control_parameters = ls_control
    output_options     = ls_output
    is_header          = ls_header
  TABLES
    it_items           = lt_items
  EXCEPTIONS
    formatting_error   = 1
    internal_error     = 2
    send_error         = 3
    user_canceled      = 4
    OTHERS             = 5.

โš ๏ธ Attenzione: Il nome del modulo funzione generato, ad esempio /1BCDWB/SF00000123, รจ diverso in ogni sistema. Risolverlo sempre con SSF_FUNCTION_MODULE_NAME, altrimenti il โ€‹โ€‹programma fallisce dopo il trasporto.

Modelli

รˆ possibile utilizzare un modello quando si conosce la dimensione esatta dell'output o quando l'output รจ in un formato fisso.

Ad esempio, modulo fiscale/assegni/modulo aereo/biglietto ferroviario: tutti questi utilizzano modelli.

La grande differenza tra tabella e template รจ che in una tabella l'altezza cambia dinamicamente. In un template, una riga viene chiamata "linea".

Modelli in SAP ABAP

Stili INTELLIGENTI

Uno stile intelligente contiene:

  • Dati di intestazione contenenti i valori predefiniti di uno stile intelligente
  • Formati di paragrafo inclusi rientri e spaziatura, attributi di carattere, tabulazioni, struttura e numerazione
  • Formati di caratteri inclusi effetti (apice, pedice), codice a barre e attributi dei caratteri
  • Colori e sottolineature per un formato di paragrafo o carattere

รˆ possibile utilizzare la transazione "smartforms" / "smartstyles" per creare uno stile intelligente.

Modelli in SAP ABAP

Suggerimento: Assegna lo stile Smart Style negli attributi del modulo anzichรฉ a ciascun nodo di testo. In questo modo, una singola modifica allo stile si rifletterร  su tutti i paragrafi del modulo.

Questo รจ tutto per questo tutorial

DOMANDE FREQUENTI

Una tabella cresce in base al numero di righe nella tabella interna, quindi la sua altezza cambia in fase di esecuzione. Un modello ha un numero fisso di righe e celle, il che lo rende adatto a un assegno, un biglietto o un modulo fiscale.

Imposta GETTOTF nella struttura di controllo, leggi i dati OTF restituiti dal modulo generato e passali al modulo funzione CONVERT_OTF. Il risultato รจ una tabella binaria che puรฒ essere inviata via e-mail o scaricata.

No. Uno Smart Form รจ indipendente dal client, quindi รจ disponibile in ogni client del sistema dopo l'attivazione. SAPIl formato dello script dipende dal client e deve essere copiato con SCC1.

Gli assistenti IA elaborano il programma di stampa, inclusa la chiamata a SSF_FUNCTION_MODULE_NAME e la gestione delle eccezioni. Il layout stesso viene comunque organizzato nodo per nodo nel Form Builder, poichรฉ si tratta di un oggetto grafico.

Sรฌ. Smart Forms rimane l'impostazione predefinita per la stampa di massa in molti SAP I sistemi di intelligenza artificiale, mentre Adobe Forms si occupa di documenti interattivi. Gli strumenti di intelligenza artificiale velocizzano principalmente le attivitร  correlate, come la lettura di un modulo e la stesura della relativa documentazione.

Riassumi questo post con: