Visualizzazione post con etichetta ABAP. Mostra tutti i post
Visualizzazione post con etichetta ABAP. Mostra tutti i post

giovedì 30 aprile 2020

SAP: Trovare la % di una condizione IVA.

In SAP la gestione dei codici IVA viene effettuata tramite la transazione FTXP, ma il valore della % IVA viene salvato all'interno di condizioni prezzo e non è proprio semplice da recuperare.

Si può cercare il valore nella tabella delle condizioni KONP con campo Applicazione (KAPPL) = TX, ma è piuttosto complicato.

Ci viene in aiuto il FM GET_TAX_PERCENTAGE che, dato il paese, la data e il codice IVA restituisce una tabella con il valore %.

domenica 29 marzo 2020

SAP EHP8: Velocizzare lettura movimenti magazzino per materiale-data.

Le informazioni relative ai movimenti di magazzino sono contenute in 2 tabelle principali:

MKPF Testata doc. materiale
MSEG Segmento doc. materiale

Prima dell'ultimo aggiornamento a EHP8 c'era questo problema:

La data di registrazione del movimento era contenuta nella tabella di testata, il codice materiale e tutti i dettagli nella tabella "segmento".

Molto spesso però si devono lanciare report o query che interrogano il DB per materiale-data.

sabato 25 gennaio 2020

Gestione Layout di default in liste ALV - Workaround.

Nelle liste di tipo ALV (acronimo di Abap List Viewer...ma viene bene anche come Advance List Viewer) l'utente può, in taluni casi (e vediamo sotto come possono essere pilotati), scegliere il layout da usare come default.

Questa impostazione però non vale per il solo suo utente, ma definisce il default valido per TUTTI gli utenti che lanciano il report. Non ho trovato il modo di definire un layout di visualizzazione in modo che sia default per alcuni utenti, mentre per altri no.

Questo è un workaround a cui ho pensato per poter bypassare il problema.

mercoledì 18 dicembre 2019

SAP: Auto logoff dopo inattività.

Tra i parametri di sistema si può impostare il tempo limite oltre il quale, gli utenti inattivi, vengono automaticamente disconnessi dal sistema.

Il parametro è questo: rdisp/gui_auto_logout

qui le indicazioni.

Questo però vale per tutti gli utenti del sistema, mentre non è possibile impostare dei tempi di inattività differenti per i vari utenti.

Di seguito come impostare un tempo personalizzato a livello di utente.

domenica 15 dicembre 2019

Transazione MB03 Obsoleta.

Sembra che la transazione MB03, visualizzazione documento materiale, stia per essere sostituita dalla MIGO con operazione "A04-Visualizzare".

Infatti se si lancia la transazione MB03 (su un sistema non produttivo), si riceve il messaggio:

domenica 22 settembre 2019

Svuotamento Kanban SAP da Excel.

Per lo svuotamento, o comunque il cambio stato, di un contenitore Kanban di SAP ci sono varie transazioni standard.

Ho pensato che sarebbe stato comodo anche un semplice foglio Excel dove l'operatore inserisce il numero cartellino (ID kanban), letto magari con un barcode-reader, poi un tasto per procedere allo svuotamento, con gestione dei messaggi ed eventuali errori di ritorno.

In questo post la spiegazione di come realizzarlo.

mercoledì 21 agosto 2019

Kanban - FM check cambio stato effettuabile.

Nel kanban di SAP si può impostare un tempo minimo di attesa che deve esserci tra un cambio stato e l'altro di un cartellino.

Questo dovrebbe evitare, per esempio, errori di doppia lettura a breve distanza di tempo con le transazioni che impostano lo stato successivo del cartellino.

Ho cercato un Function Module che, dato l'ID di un cartellino kanban, verificasse se può essere effettuato il cambio stato oppure se si deve attendere che passi il tempo previsto.

Non l'ho trovato per cui ne ho costruito uno io.

venerdì 9 agosto 2019

Gestione tempi di carico nei trasporti.

Si vuole aggiornare in modo semplice la data-ora di inizio e di fine carico nella gestione trasporti di SAP.

L'idea è quella di costruire una nuova transazione molto semplice, da utilizzare nei terminali in radio frequenza, in modo che l'operatore possa registrare facilmente l'inizio dell'operazione di carico del camion e la fine dell'operazione; in questo modo si può avere evidenza del tempo effettivo di carico nei trasporti.

Esiste una BAPI di aggiornamento dei trasporti BAPI_SHIPMENT_CHANGE, non è molto ben documentata e si trovano pochi esempi on-line, per cui sono stati necessari diversi tentativi e test, ma alla fine ho trovato il modo di usarla.

mercoledì 31 luglio 2019

Dopo EHP8 non funziona il rilascio OdA legato al nome utente.

La procedura di rilascio degli Ordini di Acquisto può essere legata allo username dell'utente che ha creato l'ordine, in modo da attivare la richiesta di approvazione solo per determinati utenti mentre per altri no.

Per rendere funzionante questa procedura è necessario attivare una EXIT dove viene aggiornato il campo in questione.

Si tratta della Exit EXIT_SAPLEBND_002 (include ZXM06U22).

Prima dell'aggiornamento a EHP8 tutto funzionava correttamente, dopo l'aggiornamento per nessun ordine scattava il rilascio anche se il nome utente lo prevedeva.

venerdì 21 giugno 2019

FM TRM_POPUP_TEXT_INPUT non esiste più in EHP8.

TRM_POPUP_TEXT_INPUT è una funzione che consente all'utente di inserire un testo libero, con la possibilità di rilevare un testo iniziale inviato come proposta.

L'avevo usata in un report che mostra la lista degli oggetti bloccati e consente di inviare un messaggio all'utente, purtroppo questo FM non esiste più nella versione EHP8.

Dopo l'upgrade a EHP8, infatti, non esiste più il gruppo funzioni STQE che conteneva appunto questo FM.

Ho cercato qualche funzione alternativa, ma nessuna consente di riprendere in modo semplice un testo proposto, per cui ho pensato di costruire un FM Z per copia dall'originale.

venerdì 14 giugno 2019

SMARTFORMS problema con caratteri cinesi.

Si presenta uno strano problema su uno SMARTFORMS con una stringa molto lunga che inizia con caratteri cinesi.

Si deve riportare in stampa un lungo elenco di matricole (numero identificativo degli imballi) separate da spazi, il tutto contenuto in una unica stringa.

Da notare che, come riportato nella nota 485296, Smartforms ha alcune limitazioni:

In Smart Forms, the output length for string fields is restricted to a maximum of 255 characters.

sabato 25 maggio 2019

Test passaggio valori Excel-RFC.

In questo post ho mostrato che, nel trasferimento di numeri in chiamate RFC remote, alcuni campi numerici e per valori molto alti risultavano vuoti.

Per capire meglio il comportamento delle chiamate, con differenti tipi di variabili numeriche, ho costruito un FM che accetta in ingresso un numero e poi lo riporta in output su campi diversi che utilizzano vari tipi di definizione.

Ho preparato quindi un foglio Excel che si collega a SAP, passa il numero, poi lo riprende e lo espone usando i differenti parametri.

mercoledì 24 aprile 2019

Parameter ID e CALL TRANSACTION.

In questo post avevo sollevato qualche perplessità su un comportamento che mi sembrava strano, rispetto ad una chiamata CALL TRANSACTION usando il Parameter ID di un campo nello screen iniziale.

Mi hanno spiegato che non è sufficiente possedere il Parameter ID per poter effettuare correttamente la chiamata CALL TRANSACTION, ma bisogna che il campo abbia anche l'attributo speciale SET.

domenica 7 aprile 2019

Strano problema CALL TRANSACTION a VL33N.

Dopo l'aggiornamento del sistema alla EHP8 ho riscontrato una stranezza utilizzando la CALL TRANSACTION sulla VL33N.

La VL33N è una transazione standard per la visualizzazione del documento di fornitura, presenta in ingresso il solo campo del numero documento di fornitura:

mercoledì 3 aprile 2019

Dump "SINGLE_EXIT_MULTIPLY_ACTIVE".

Dopo l'aggiornamento del sistema a EHP8 diverse transazioni standard della contabilità fornitori (MIRO, FB60, F-03), subito all'avvio, terminavano con un Dump indicando l'errore:

Exception condition "SINGLE_EXIT_MULTIPLY_ACTIVE" triggered

Il problema nasce dal fatto che due BADI hanno delle condizione di attivazione sovrapposte, per cui il sistema non sa quale deve lanciare e termina con l'errore indicato.

Di seguito come ho risolto.

domenica 10 febbraio 2019

Link Fattura SD - Documento FI.

Nella tabella di testata della fattura SD (VBRK) ci sono 2 specifici campi che, almeno a prima vista, dovrebbero riportare il numero di documento FI prodotto dalla fattura.

In pratica però, ho controllato su tutta la tabella, questi campi sono sempre vuoti.

lunedì 24 dicembre 2018

Modifica a standard: Pop-up cercare variante.



In tutti i programmi di tipo report è possibile salvarsi delle varianti di lancio che poi possono essere richiamate premendo l'apposita icona.

Per esempio nella lista materiali MM60,

si preme

venerdì 28 settembre 2018

Previsioni di consumo: settimanali o mensili?

Quando si devono fornire delle previsioni di consumo dei materiali si vorrebbe, nel breve periodo, dare una stima più dettagliata, più avanti invece è preferibile mostrare un dato più aggregato.

Per esempio con fornitori che lavorano in modalità Kanban, nel nostro caso legato a dei Piani di Consegna,  si vuole fornire anche una previsione di consumo dei materiali.

La richiesta era di dare una previsione settimanale per il primo mese, poi un dato aggregato per mese nei periodi successivi.

mercoledì 5 settembre 2018

Storno movimenti di magazzino e MESG.

I movimenti di magazzino vengono memorizzati in 2 tabelle principali:
  • MKPF Testata doc. materiale
  • MSEG Segmento doc. materiale (le posizioni)
Quando si esegue uno storno di una riga di movimento, pensavo, che venisse aggiornato il relativo record con un flag o, magari, con il riferimento al numero documento che va a cancellare la precedente posizione.

Invece il record già scritto resta uguale, nel nuovo record vengono popolati i campi di riferimento con il documento che si è stornato.

domenica 15 luglio 2018

Inserire F4 help per campo data in screen module-pool.

Mi è capitato varie volte di dover gestire un campo in input di tipo DATA su uno screen di un programma module-pool e, ogni volta, ho dovuto cercare in giro per Internet l'how-to su come fare per attivare l'help.

La cosa è piuttosto semplice ma, come ogni cosa che si usa raramente, non facile da ricordarsi.

Qui una rapida guida sui passi da seguire.