venerdì 2 dicembre 2016

ALV, inserire pulsante e selezionare righe

Recentemente ho incontrato, di nuovo, il problema di aggiungere un pulsante ad un report ALV e di dover gestire la selezione delle righe per eseguire dei comandi particolari. (per la precisione uno spostamento della data scadenza effetti costruito tramite una call transaction della FB09, ma questo è un altro argomento).

Tutte cose che ho già fatto, su cui esiste una tonnellata di materiale on-line, ma che ogni volta mi ritrovo a dover cercare, riguardare e praticamente costruire daccapo.

Vediamo quindi come, in pochi passaggi, è possibile aggiungere un pulsante e gestire la selezione delle righe in una tabella ALV.

giovedì 17 novembre 2016

Creare stampe in formato PDF da un sistema SAP





Esistono diversi modi per produrre stampe PDF in SAP.

Probabilmente il più semplice è avere una stampante virtuale che produce file in formato PDF (tipo PDF995 o ne esistono molti altri) installata come default printer nei PC e poi, da SAP, lanciare la stampa sulla stampante LOCL. Quando si stampa sulla LOCL viene avviato, nel PC frontend, il programmino SAPLPD, che intercetta i dati di stampa e li dirotta sulla stampante di default, quest'ultima infine li converte in formato PDF.

martedì 8 novembre 2016

Scarico magazzino SAP da file Excel

Tramite un foglio Excel è possibile collegarsi ad un sistema SAP e movimentare un magazzino chiamando la BAPI_GOODSMVT_CREATE.

Con questa funzione è possibile infatti registrare dei movimenti magazzino MM in pochi passaggi; ho già usato questa BAPI per costruire dei programmi ABAP da usare con terminali in RF o per dei module-pool semplificati di trasferimento tra magazzini interni.

In questo caso era richiesto di poter eseguire degli scarichi su centro di costo in un magazzino secondario usato da operatori saltuari che, normalmente, non conoscono il gestionale SAP.

giovedì 3 novembre 2016

Aggiornamenti Vmware ESXi 6.0

Fino alla versione Esx 5 di vmware era prevista, dal vcenter, la possibilità di controllare, scaricare e installare direttamente gli aggiornamenti al sistema.

Dalla versione 6 non è più possibile eseguire queste operazioni tramite uno strumento grafico, a meno di installare un sistema "vSphere Update Manager" (VUM) dedicato proprio agli aggiornamenti.

Tuttavia l'installazione delle patches, tramite console di comandi, è cosa relativamente semplice.

mercoledì 26 ottobre 2016

Modifica al report standard Stampa libro magazzino

Come certamente SAPpiamo è possibile personalizzare il sistema fino ad arrivare a modificare il codice sorgente in programmi o funzioni standard.

Normalmente sono sempre contrario ad arrivare a questo punto ma, se sussistono alcune condizioni:

  • modifica delimitata in un punto preciso del programma e non "invasiva"
  • molto ben documentata
  • che porta benefici significativi alla funzionalità
  • che, se disattivata, non comporta particolari problemi

è accettabile, secondo me, procedere attraverso questa strada.

venerdì 21 ottobre 2016

Esempio di Enhancement

L'ambiente SAP è davvero molto flessibile poichè consente una personalizzazione molto spinta attraverso vari strumenti:
  • customizing
  • user-exit
  • BADIs (Business Add-Ins)
  • BTE (Business Transaction Events)
  • BDT (Business Data Tool-set)
  • enhancement point
Dalla ECC 6 SAP ha sviluppato gli enhancement point attraverso l'utilizzo di quelli che vengono chiamati "implicit enhancement". Con gli implicit enhancement possiamo scrivere il nostro codice in un blocco di codifica dentro un programma standard, un function module o un include. Il blocco di codice sarà incluso dentro una sezione Enhancement–Endenhancement.

mercoledì 19 ottobre 2016

Mostra blocchi SAP da file Excel

L'intento è quello di avere un file Excel con un pulsante che consente di collegarsi, tramite macro Vba, ad un sistema SAP, leggere i blocchi attivi (le tabelle bloccate) e riportarle poi nel foglio.

Collegare il pulsante alla macro:
Sub main()
Dim R3 As Object

Set R3 = CreateObject("SAP.Functions")


zlogin R3


readSM12 R3


End Sub