È passato un po’ di tempo da quando ho implementato il mio primo scenario event-driven in SAP Business One. Da quando ho iniziato, mi sono imbattuto in un “oceano” di possibilità/piattaforme/servizi che offrono più o meno lo stesso approccio su come raggiungere questo obiettivo, ognuno dei quali ha i suoi pro e contro.
Non c’è dubbio che il settore sia ben sviluppato e possa offrire numerosi modi di fare le cose, e io sono un po’ troppo “zelante” quando si tratta di imparare nuove tecnologie (dopo tutto, è il nostro pane e burro). Ma ogni volta che mi siedo a scrivere un progetto, cerco di attenermi all’approccio “One-Stop”, dove la scelta di riutilizzare strumenti e servizi integrati nell’applicazione B1 stessa sarebbe probabilmente in cima alla mia lista.
Questi strumenti sono sempre stati disponibili e sono cresciuti nel corso degli anni e non solo non sono stati deprezzati, ma hanno anche ampliato le loro capacità e prestazioni.
Non fraintendetemi: ritengo che la piattaforma SAP BTP, ad esempio, offra infinite possibilità quando si tratta di consumare servizi Web REST in grado di interagire con i nostri sistemi SAP e consenta anche di riutilizzare alcuni dei connettori più potenti per integrarsi con altri sistemi SAP / non SAP, nonché di estendere le nostre applicazioni e processi aziendali. Il SAP BTP utilizza anche servizi all’avanguardia come gli strumenti AI Builders e Fiori Apps. Lo scopo non è quindi quello di abbattere il SAP BTP, che si è giustamente guadagnato il suo posto, ma semplicemente di affermare che il SAP BTP non è l’unico gioco in città.
Tuttavia, chi ha provato a navigare in questo oceano di dati esposti sulla piattaforma SAP BTP probabilmente si è reso conto che il BTP è molto orientato a S4/HANA e non è specificamente pensato per gli sviluppatori di SAP Business One.
Inoltre, il BTP presenta alcune evidenti carenze:
- Una configurazione lunga e noiosa: l’aggiunta di un abbonamento/istanza/entitlement vi costerà tempo e, nella maggior parte dei casi, non lo farete al primo tentativo.
- I livelli di prezzo non sono adatti alle PMI. Finché si utilizza l’abbonamento “Free” per gli ambienti non produttivi, si dovrebbe essere a posto, ma una volta che si passa ai livelli di abbonamento “Pay-As-You-Go” e si entra in produzione, nella maggior parte dei casi, diventerebbe un “overkill” per qualsiasi progetto basato sulle PMI e anche piuttosto costoso.
- Non ha una consapevolezza incorporata degli oggetti B1. Possiamo usarla e chiamarla come faremmo con qualsiasi altra API per renderla “consapevole” di ciò che stiamo cercando di ottenere.
Come possiamo implementare uno scenario di inoltro eventi e utilizzare le informazioni ottenute per attivare/costruire altre soluzioni relative a B1 senza complicare eccessivamente le cose?
In genere, è necessario eseguire le seguenti operazioni:
- Configurare un’istanza SAP Event Mesh su BTP
- Avere un’applicazione SAP CAP per gestire gli eventi in BTP (di solito utilizzata per la costruzione di un’impresa).
servizi e applicazioni di livello aziendale
-servizi e applicazioni di livello enterprise, il che, ancora una volta, è un “gioco da ragazzi” quando si tratta di SAP B1) - Avremmo bisogno di codificare un passaggio ausiliario per recuperare il token al fine di autenticarci contro l’istanza SAP Event Mesh sulla SAP BTP Platform.
La panoramica architettonica si presenta come segue:
E se vi dicessi che possiamo saltare la parte in cui ci abboniamo al BTP e passare direttamente al nostro framework di integrazione B1 (B1If) per consumare quegli eventi e utilizzarli ulteriormente per estendere il comportamento della nostra applicazione B1 utilizzando Microsoft Azure?
Supponendo che B1iF sia stato installato e configurato correttamente nel vostro ambiente, siete già a buon punto.
Vi consiglio vivamente di prendere in considerazione i seguenti passi per assicurarvi di soddisfare pienamente tutti i prerequisiti:
- Impostazione dell’ambiente di sviluppo B1iF.
- Comprendere le basi del B1iF e la panoramica tecnica.
- Impostazione della configurazione SLD dell’azienda.
- Configurare la connettività al Service Layer B1 (non vogliamo affidarci esclusivamente alla DI-API, che è la “vecchia generazione” di API di estensione per il consumo di dati e servizi di SAP Business One).
** Se si riscontrano problemi con la configurazione del B1iF, non esitate a contattarmi e sarò lieto di fornirvi indicazioni e supporto**.
Infine, vogliamo impostare il nostro mittente di eventi B1iF in modo che inizi ad emettere eventi.
Le migliori pratiche di B1iF ci impongono di aderire a quanto segue:
1)Assicurarsi di accedere a Integration Framework 2.0 anziché 1.0:
Questo comporta diversi vantaggi fondamentali:
- Oltre al quadro di integrazione, tutti i modelli di programmazione possono essere eseguiti contemporaneamente in parallelo.
- Ottimizzato per il cloud computing
- Multi-tenancy incorporata – Maggiore flessibilità nelle implementazioni di scenario
- Costruito per soddisfare tutti gli sviluppatori di integrazione
- Maggiore flessibilità
- Maggiore controllo e trasparenza nello sviluppo dei contenuti di integrazione
- Gli sviluppatori “classici” si sentono più a loro agio grazie al nuovo IDE basato su browser
- Fino a 10 volte più veloce: viene eseguito direttamente sulla piattaforma di integrazione.
- Non sostituisce l’attuale modello di programmazione Non è richiesta la migrazione dei pacchetti di scenario esistenti, a meno che non si voglia utilizzare la multi-tenancy in ambienti cloud.
2. Assicurarsi che tutte le connessioni SLD siano corrette:
L’interruzione di una di queste connessioni compromette il processo e impedisce la comunicazione con il server HANA o il Service Layer in un secondo momento, quindi è bene assicurarsi che siano tutte chiare e, in caso contrario, riconfigurare le stringhe di connessione.
3) Assicurarsi di filtrare gli eventi B1i navigando su Manutenzione -> B1 Event Filter e selezionando “B1i User Filter Switched On” (Filtro utente B1i attivato ), in modo da eliminare tutti gli eventi di sistema che non si desidera ascoltare.
Si noti che è possibile includere questa configurazione anche nella versione 1.X, accedendovi direttamente dalla versione 2.0 (in Strumenti ->Versione 1) e navigando fino alla Procedura guidata mittente eventi.
Qui è necessario includere anche gli ID degli oggetti B1 per tutti gli oggetti per i quali si desidera ottenere gli eventi
L’elenco completo degli oggetti B1 è disponibile alla fine di questa discussione.
In alternativa, è possibile recuperare questo valore direttamente dall’applicazione B1 lanciando il Query Generator e selezionando la colonna “<table_name>”.” ObjType”:
4) Il passo più importante è verificare che i VOSTRI eventi NON vengano filtrati, bensì trasmessi a B1 Event Monitor quando si attiva lo scenario.
Nel mio caso, ho semplicemente creato un Business Partner e aggiornato la visualizzazione per vedere che B1iF era in grado di catturare l’evento:
Nota: l’esecuzione del test avrà successo solo se ci si assicura di aggiungere un nuovo deployment al “Deployment Panel” dello scenario e di assegnare un sistema Sender/Receiver valido dall’SLD; questo riquadro è la nuova (e interessante!) funzione della versione 2.0 che consente di avere un’unica panoramica di tutti gli artefatti dello scenario.
Una volta accertato che il nostro Event Sender elabora correttamente gli eventi, possiamo procedere con la costruzione del nostro scenario in BizFlow.
Ora, è importante comprendere appieno ciò che stiamo cercando di ottenere:
Vogliamo solo che B1iF inoltri ogni evento che soddisfa i nostri criteri di filtraggio a un flusso di lavoro esterno HTTP basato su WebHook, sotto forma di payload XML da cui possiamo analizzare e recuperare i dati.
Non c’è altro da fare!
Se vi chiedete “perché?”, la risposta è piuttosto semplice:
Con
Azure Logic Apps
e il connettore HTTP Webhook integrato, possiamo creare attività e flussi di lavoro automatizzati che si iscrivono a un endpoint di servizio registrando un URL di callback, attendono eventi specifici e vengono eseguiti in base a tali eventi, anziché controllare o eseguire regolarmente il polling dell’endpoint.
Questo è particolarmente utile e vantaggioso nei casi in cui i PaaS (Platforms as a Service) come Microsoft-Azure fanno pagare per ogni esecuzione.
Immaginate quante esecuzioni verranno attivate nell’arco di 24 ore quando un flusso di lavoro è programmato per essere eseguito ogni 15 minuti (96 esecuzioni) contro le 3 esecuzioni per i 3 nuovi Business Partner che avete creato quando il flusso di lavoro è solo attivata subito dopo l’aggiunta del record del Business Partner al database B1.
Ciò influisce direttamente sui consumi e, di conseguenza, sull’importo che vi verrà addebitato alla fine del mese.
Detto questo, nella prossima parte di questo blog tratterò il lato Logic App del nostro progetto.
Per prima cosa, mettiamo a punto il nostro scenario e le fasi dello scenario.
Il nostro diagramma BizFlow sarà relativamente semplice:
Si tratta di una tipica modalità di processo ‘asincrona’, in cui l’evento viene lanciato, recuperato e poi trasmesso all’Atomo in entrata, dove viene trasformato tramite un Atomo XSLT per essere utilizzato nell’Atomo HTTPCall.
Tenere presente che B1iF elabora sempre i dati internamente come XML, quindi, nel nostro caso, desideriamo semplicemente prendere la rappresentazione XML del nostro evento dal sistema mittente (Event Sender) e utilizzarla come parte del nostro corpo di chiamata HTTP.
Un buon modo per analizzare la struttura dei messaggi durante l’esecuzione è utilizzare il B1iF Debugger:
Il nostro Atom di trasformazione XSL dovrà essere adattato solo per recuperare il payload XML in entrata dell’evento B1, dove verrà aggiunta un’espressione XPATH al nostro Atom HTTPCall.
Torneremo al nostro HttpCall Atom dopo aver concluso la discussione sulle Logic App (WebHook) nella seconda parte di questo blog.
Riassumiamo ciò che abbiamo realizzato finora:
- Abbiamo presentato il nostro argomento principale – Creazione e inoltro di eventi in SAP Business One.
- Abbiamo analizzato alcuni dei modi più comuni per gestire gli eventi, illustrando i pro e i contro di ciascun approccio.
- Abbiamo analizzato alcune impostazioni e configurazioni di base di SAP Business One Integration Framework.
- Abbiamo trattato i nuovi miglioramenti della versione 2.0 di B1iF
- Abbiamo avuto una panoramica dettagliata della configurazione di Event Sender e abbiamo imparato a impostare con successo i criteri di filtraggio per gli oggetti B1 per i quali desideriamo ottenere eventi
- Abbiamo imparato a distribuire uno sviluppo tramite il “Deployment Panel” del nostro scenario e ad assegnare un sistema mittente/ricevente SLD.
- Abbiamo discusso dei WebHook HTTP e abbiamo compreso come essi svolgano un ruolo significativo nel ridurre il numero di esecuzioni dei flussi di lavoro che alla fine influiscono sulla fatturazione.
- Abbiamo analizzato le varie fasi dello scenario per ricevere un messaggio in entrata (evento), quindi elaborarlo e trasformarlo e prepararlo per l’HTTPCall Atom.
Unitevi a noi nella pagina del blog della SAP Business One Community per la seconda parte dell’implementazione di un meccanismo di inoltro degli eventi con SAP Business One B1iF e Microsoft Azure.
Elenco dei tipi di oggetti SAP Business One
Tabella | Descrizione della tabella | Chiave primaria | Tipo di oggetto |
OACT | Conti G/L | Codice cliente | 1 |
OCRD | Partner commerciale | Codice della carta | 2 |
ODSC | Codici bancari | AbsEntry | 3 |
OITM | Articoli | Codice articolo | 4 |
OVTG | Definizione di imposta | Codice | 5 |
OPLN | Listini prezzi | Numero elenco | 6 |
OSPP | Prezzi speciali | Codice Carta, Codice Articolo | 7 |
OITG | Proprietà dell’articolo | ItmsTypCod | 8 |
ORTM | Differenze di tasso | Numero linea, IsSysCurr | 9 |
OCRG | Gruppi di carte | Codice Gruppo | 10 |
OCPR | Persone di contatto | Codice Cntct | 11 |
OUSR | Utenti | ID UTENTE | 12 |
OINV | Fattura A/R | DocEntry | 13 |
ORIN | Memo di credito A/R | DocEntry | 14 |
ODLN | Consegna | DocEntry | 15 |
ORDN | Restituzioni | DocEntry | 16 |
ORDR | Ordine di vendita | DocEntry | 17 |
OPCH | Fattura A/P | DocEntry | 18 |
ORPC | Memo di credito A/P | DocEntry | 19 |
OPDN | Ricevuta merci PO | DocEntry | 20 |
ORPD | Restituzione della merce | DocEntry | 21 |
OPOR | Ordine di acquisto | DocEntry | 22 |
OQUT | Preventivo di vendita | DocEntry | 23 |
ORCT | Pagamento in entrata | DocEntry | 24 |
ODPS | Deposito | DeposId | 25 |
OMTH | Storia della riconciliazione | MthAcctCod, IsInternal, MatchNum | 26 |
OCHH | Registro degli assegni | CheckKey | 27 |
OBTF | Registrazione di un voucher di giornale | Numero partita, TransId | 28 |
OBTD | Elenco dei buoni del giornale | Numero di lotto | 29 |
GUDT | Diario di bordo | TransId | 30 |
OITW | Articoli – Magazzino | ItemCode, WhsCode | 31 |
OADP | Preferenze di stampa | StampaId | 32 |
OCLG | Attività | Codice Clg | 33 |
ORCR | Registrazioni ricorrenti | RcurCode, Istanza | 34 |
ONNM | Numerazione dei documenti | ObjectCode, DocSubType | 35 |
OCRC | Carte di credito | Carta di credito | 36 |
OCRN | Codici delle valute | Codice Curr | 37 |
OIDX | Codici CPI | Codice Idex | 38 |
OADM | Amministrazione | Codice | 39 |
OCTG | Termini di pagamento | Numero gruppo | 40 |
OPRF | Preferenze | Numero modulo, Firma utente | 41 |
OBNK | Estratto conto bancario esterno ricevuto | AcctCode, Sequenza | 42 |
OMRC | Produttori | Codice azienda | 43 |
OCQG | Proprietà della scheda | Codice Gruppo | 44 |
OTRC | Codici di registrazione del giornale | Codice Trns | 45 |
OVPM | Pagamenti in uscita | DocEntry | 46 |
OSRL | Numeri di serie | Codice articolo, Numero di serie | 47 |
OALC | Spese di carico | AlcCode | 48 |
OSHP | Tipi di consegna | Codice Trnsp | 49 |
OLGT | Unità di lunghezza | Codice unità | 50 |
OWGT | Unità di peso | Codice unità | 51 |
OITB | Gruppi di articoli | ItmsGrpCod | 52 |
OSLP | Impiegato alle vendite | Codice Slp | 53 |
OFLT | Rapporto – Criteri di selezione | Numero modulo, Firma utente, Nome filtro | 54 |
OTRT | Modelli di pubblicazione | Codice Trt | 55 |
OARG | Gruppi doganali | CstGrpCode | 56 |
OCHO | Assegni di pagamento | CheckKey | 57 |
OINM | Giornale Whse | TransNum, Istanza | 58 |
OIGN | Ricevuta della merce | DocEntry | 59 |
OIGE | Emissione di merci | DocEntry | 60 |
OPRC | Centro di costo | Codice Prc | 61 |
OOCR | Tasso di costo | Codice Ocr | 62 |
OPRJ | Codici di progetto | Codice Prj | 63 |
OWHS | Magazzini | Codice Whs | 64 |
OCOG | Gruppi della Commissione | Codice Gruppo | 65 |
OITT | Albero dei prodotti | Codice | 66 |
OWTR | Trasferimento dell’inventario | DocEntry | 67 |
OWKO | Istruzioni per la produzione | Numero d’ordine | 68 |
OIPF | Costi di sbarco | DocEntry | 69 |
OCRP | Metodi di pagamento | CrTypeCode | 70 |
OCDT | Pagamento con carta di credito | Codice | 71 |
OCRH | Gestione delle carte di credito | AbsId, Istanza | 72 |
OSCN | Cliente/Venditore Cat. No. | Codice articolo, Codice carta, Sostituto | 73 |
OCRV | Pagamenti a credito | AbsId, PayId, Istanza | 74 |
ORTT | Tassi CPI e FC | TassoData, Valuta | 75 |
ODPT | Deposito postdatato | DeposId | 76 |
OBGT | Bilancio | AbsId | 77 |
OBGD | Bilancio Valutazione dei costi. Mthd | Codice Bgd | 78 |
ORCN | Catene di vendita al dettaglio | Codice catena | 79 |
OALT | Modello di avviso | Codice | 80 |
OALR | Avvisi | Codice | 81 |
OAIB | Avvisi ricevuti | Codice di avviso, Firma utente | 82 |
OAOB | Messaggio inviato | Codice di avviso, Firma utente | 83 |
OCLS | Soggetti dell’attività | Codice | 84 |
OSPG | Prezzi speciali per gruppi | CardCode, ObjType, ObjKey | 85 |
SPRG | Inizio applicazione | Numero riga, Codice utente | 86 |
OMLS | Elenco di distribuzione | Codice | 87 |
OENT | Tipi di spedizione | DocEntry | 88 |
OSAL | In uscita | DocEntry | 89 |
OTRA | La transizione | DocEntry | 90 |
OBGS | Scenario di bilancio | AbsId | 91 |
OIRT | Prezzi degli interessi | Numeratore | 92 |
OUDG | Impostazioni predefinite dell’utente | Codice | 93 |
OSRI | Numeri di serie degli articoli | Codice articolo, SysSerial | 94 |
OFRT | Modelli di rapporti finanziari | AbsId | 95 |
OFRC | Categorie di rapporti finanziari | TemplateId, CatId | 96 |
OOPR | Opportunità | OpprId | 97 |
OOIN | Interesse | Num | 98 |
OOIR | Livello di interesse | Num | 99 |
OOSR | Fonte di informazione | Num | 100 |
OOST | Fase di opportunità | Num | 101 |
OOFR | Difetto Causa | Num | 102 |
OCLT | Tipi di attività | Codice | 103 |
OCLO | Luogo delle riunioni | Codice | 104 |
OISR | Chiamate di servizio | Numero richiesta | 105 |
OIBT | Lotto n. per Articolo | ItemCode, BatchNum, WhsCode | 106 |
OALI | Articoli alternativi 2 | OrigItem, AltItem | 107 |
OPRT | Partner | PrtId | 108 |
OCMT | Concorrenti | CompetId | 109 |
OUVV | Convalida dell’utente | IndiceID, NumeroLinea | 110 |
OFPR | Periodo di distacco | AbsEntry | 111 |
ODRF | Bozze | DocEntry | 112 |
OSRD | Lotti e numeri di serie | ItemCode, DocType, DocEntry, DocLineNum | 113 |
OUDC | Display utente Cat. | CodiceID | 114 |
OPVL | Prestatore – Pelecard | Codice | 115 |
ODDT | Gerarchia delle detrazioni per la ritenuta d’acconto | Numeratore | 116 |
ODDG | Gruppi di ritenuta d’acconto | Numeratore | 117 |
OUBR | Rami | Codice | 118 |
OUDP | Dipartimenti | Codice | 119 |
OWST | Livello di conferma | Codice Wst | 120 |
OWTM | Modelli di approvazione | Codice Wtm | 121 |
OWDD | Documenti. per la Conferma | Codice Wdd | 122 |
OCHD | Assegni di pagamento | CheckKey | 123 |
CINF | Informazioni sull’azienda | Versione | 124 |
OEXD | Impostazione del trasporto | Codice di spedizione | 125 |
OSTA | Autorità fiscali per le vendite | Codice, tipo | 126 |
OSTT | Autorità fiscali per le vendite Tipo | AbsId | 127 |
OSTC | Codici delle imposte sulle vendite | Codice | 128 |
OCRY | Paesi | Codice | 129 |
OCST | Stati | Paese, Codice | 130 |
OADF | Formati degli indirizzi | Codice | 131 |
OCIN | Fattura di correzione A/R | DocEntry | 132 |
OCDC | Sconto in contanti | Codice | 133 |
OQCN | Catagorie di query | CategoriaId | 134 |
OIND | Accordo triangolare | Codice | 135 |
ODMW | Migrazione dei dati | Codice | 136 |
OCSTN | ID stazione di lavoro | Codice | 137 |
OIDC | Indicatore | Codice | 138 |
OGSP | Spedizione di merci | Codice | 139 |
OPDF | Bozza di pagamento | DocEntry | 140 |
OQWZ | Query Wizard | Codice | 141 |
OASG | Segmentazione dei conti | AbsId | 142 |
OASC | Categorie di segmentazione dei conti | SegmentId, Codice | 143 |
OLCT | Posizione | Codice | 144 |
OTNN | Moduli 1099 | Codice modulo | 145 |
OCYC | Ciclo | Codice | 146 |
OPYM | Metodi di pagamento per la procedura guidata di pagamento | PayMethCod | 147 |
OTOB | 1099 Saldo iniziale | VendCode, Form1099, Box1099 | 148 |
ORIT | Tasso di interesse di stordimento | Codice | 149 |
OBPP | Priorità della BP | Codice Prio | 150 |
ODUN | Lettere di Dunning | Numero di linea | 151 |
CUFD | Campi utente – Descrizione | TabellaID, CampoID | 152 |
FUORI | Tabelle utente | NomeTabella | 153 |
OCUMI | Le mie voci di menu | UserSign , Id_ | 154 |
OPYD | Esecuzione del pagamento | Codice | 155 |
OPKL | Elenco dei prelievi | AbsEntry | 156 |
OPWZ | Procedura guidata di pagamento | Numero Id | 157 |
OPEX | Tabella dei risultati dei pagamenti | AbsEntry | 158 |
OPYB | Blocco di pagamento | AbsEntry | 159 |
OUQR | Domande | IntrnalKey, Qcategory | 160 |
OCBI | Banca Centrale Ind. | Indicatore | 161 |
OMRV | Rivalutazione del magazzino | DocEntry | 162 |
OCPI | Fattura di correzione A/P | DocEntry | 163 |
OCPV | Correzione A/P Storno di fatture | DocEntry | 164 |
OCSI | Fattura di correzione A/R | DocEntry | 165 |
OCSV | Correzione A/R Storno fatture | DocEntry | 166 |
OSCS | Stati delle chiamate di servizio | statoID | 167 |
OSCT | Tipi di chiamata di servizio | callTypeID | 168 |
OSCP | Tipi di problemi delle chiamate di assistenza | prblmTypID | 169 |
OCTT | Modello di contratto | Nome Tmplt | 170 |
OHEM | I dipendenti | empID | 171 |
OHTY | Tipi di dipendenti | tipoID | 172 |
OHST | Stato dei dipendenti | statoID | 173 |
OHTR | Motivo della cessazione | motivoID | 174 |
OHED | Tipi di istruzione | edType | 175 |
OINS | Scheda apparecchiatura cliente | insID | 176 |
OAGP | Nome dell’agente | Codice agente | 177 |
OWHT | Ritenuta d’acconto | Codice WTC | 178 |
ORFL | Rapporti 347, 349 e WTax già visualizzati | DocEntry, ReportType, DocType, LineNum, TaxCode, OrdinalNum | 179 |
OVTR | Rapporto fiscale | AbsEntry | 180 |
OBOE | Cambiale di pagamento | BoeKey | 181 |
OBOT | Transazione di esportazione | AbsEntry | 182 |
OFRM | Formato del file | AbsEntry | 183 |
OPID | Indicatore di periodo | Indicatore | 184 |
ODORE | Crediti dubbi | AbsEntry | 185 |
OHLD | Tavola delle vacanze | Codice Hld | 186 |
OCRB | BP – Conto bancario | Paese, Codice bancario, Conto, Codice carta | 187 |
OSST | Stati delle soluzioni per le chiamate di servizio | Numero | 188 |
OSLT | Soluzioni per chiamate di servizio | SltCode | 189 |
OCTR | Contratti di servizio | ContrattoID | 190 |
OSCL | Chiamate di servizio | callID | 191 |
OSCO | Origini delle chiamate di servizio | origineID | 192 |
OUKD | Chiave utente Descrizione | NomeTabella, ID Chiave | 193 |
OQUE | Coda | codeID | 194 |
OIWZ | Procedura guidata per l’inflazione | AbsEntry | 195 |
ODUT | Termini di stordimento | Codice Termine | 196 |
ODWZ | Mago di Dunning | WizardId | 197 |
OFCT | Previsioni di vendita | AbsID | 198 |
OMSN | Scenari MRP | AbsEntry | 199 |
OTER | Territori | territorioID | 200 |
OOND | Industrie | Codice Ind | 201 |
OWOR | Ordine di produzione | DocEntry | 202 |
ODPI | Acconto A/R | DocEntry | 203 |
ODPO | Acconto A/P | DocEntry | 204 |
OPKG | Tipi di pacchetti | Codice Pkg | 205 |
OUDO | Oggetto definito dall’utente | Codice | 206 |
ODOW | Proprietà dei dati – Oggetti | Oggetto, sottooggetto | 207 |
ODOX | Proprietà dei dati – Eccezioni | QueryId, Oggetto, Sottooggetto | 208 |
209 | |||
OHPS | Posizione del dipendente | posID | 210 |
OHTM | Squadre di dipendenti | teamID | 211 |
OORL | Relazioni | Codice Orl | 212 |
ORCM | Dati di raccomandazione | DocEntry | 213 |
OUPT | Albero di autorizzazione dell’utente | AbsId | 214 |
OPDT | Testo predefinito | AbsEntry | 215 |
OBOX | Definizione di scatola | BoxCode, ReportType, BosCode | 216 |
OCLA | Stato dell’attività | statoID | 217 |
OCHF | 312 | Nome dell’oggetto | 218 |
OCSHS | Valori definiti dall’utente | IndiceID | 219 |
OACP | Periodi Categoria | AbsEntry | 220 |
OATC | Allegati | AbsEntry | 221 |
OGFL | Filtro a griglia | FormID, GridID, UserCode | 222 |
OLNG | Tabella delle lingue utente | Codice | 223 |
OMLT | Traduzione multilingue | Ingresso | 224 |
OAPA3 | 225 | ||
OAPA4 | 226 | ||
OAPA5 | 227 | ||
SDIS | Interfaccia dinamica (stringhe) | FormId, ItemId, ColumnId, Language | 229 |
OSVR | Riconciliazioni salvate | acctCode | 230 |
DSC1 | Conti bancari della casa | AbsEntry | 231 |
RDOC | Documento | Codice documento | 232 |
ODGP | Set di parametri per la generazione di documenti | AbsEntry | 233 |
OMHD | #740 | Codice di allarme | 234 |
OACG | Categoria del conto | AbsId | 238 |
OBCA | Codici di assegnazione delle spese bancarie | Codice | 239 |
OCFT | Operazioni di flusso di cassa – Righe | CFTId | 241 |
OCFW | Voce del flusso di cassa | CFWId | 242 |
OBPL | Luogo di lavoro | BPLId | 247 |
GUPE | Calendario dell’era locale | Codice | 250 |
ODIM | Dimensione della contabilità dei costi | DimCode | 251 |
OSCD | Tabella dei codici di servizio | AbsEntry | 254 |
OSGP | Gruppo di servizio per il Brasile | AbsEntry | 255 |
OMGP | Gruppo di materiali | AbsEntry | 256 |
ONCM | Codice NCM | AbsEntry | 257 |
OCFP | CFOP per Nota Fiscale | ID | 258 |
OTSC | Codice CST per Nota Fiscale | ID | 259 |
OUSG | Uso della Nota Fiscale | ID | 260 |
OCDP | Data di chiusura Procedura | ClsDateNum | 261 |
ONFN | Nota Fiscale Numerazione | ObjectCode, DocSubType | 263 |
ONFT | Nota fiscale Categoria fiscale (Brasile) | AbsId | 264 |
OCNT | Contee | AbsId | 265 |
OTCD | Determinazione del codice fiscale | AbsId | 266 |
ODTY | Tipo di documento BoE | AbsEntry | 267 |
OPTF | Portafoglio BoE | AbsEntry | 268 |
OIST | Istruzione della BoE | AbsEntry | 269 |
OTPS | Parametro fiscale | AbsId | 271 |
OTFC | Tipo di imposta Combinazione | AbsId | 275 |
OFML | Tabella principale della formula fiscale | AbsId | 276 |
OCNA | Codice CNAE | AbsId | 278 |
OTSI | Fattura relativa all’imposta sulle vendite | DocEntry | 280 |
OTPI | Fattura fiscale di acquisto | DocEntry | 281 |
OCCD | Numeri di dichiarazione doganale del carico | CCDNum | 283 |
ORSC | Risorse | Codice di ripristino | 290 |
ORSG | Proprietà delle risorse | ResTypCod | 291 |
ORSB | ResGrpCod | ResGrpCod | 292 |
RecordSet | 300 | ||
Ponte | 305 | ||
OITR | Riconciliazione interna | ReconNum | 321 |
OPOS | Dati anagrafici POS | EquipaggiamentoNo | 541 |
ODRF | Bozza di trasferimento di azioni | DocEntry | 1179 |
OMSG | Impostazioni del servizio di messaggistica | ID UTENTE | 10000105 |
OBTN | Numeri di lotto Dati anagrafici | AbsEntry | 10000044 |
OSRN | Numeri di serie Dati anagrafici | AbsEntry | 10000045 |
OIVK | Chiavi IVL Vs OINM | TransSeq | 10000062 |
OIQR | Registrazione dell’inventario | DocEntry | 10000071 |
OFYM | Anno finanziario Master | AbsId | 10000073 |
OSEC | Sezioni | AbsId | 10000074 |
OCSN | Serie di certificati | AbsId | 10000075 |
ONOA | Natura del soggetto passivo | AbsId | 10000077 |
RTYP | Elenco dei tipi di documento | CODICE | 10000196 |
OUGP | Gruppo UoM | UgpEntry | 10000197 |
OUOM | Dati anagrafici UoM | UomEntry | 10000199 |
OBFC | Configurazione del campo Bin | AbsEntry | 10000203 |
OBAT | Attributo della posizione del contenitore | AbsEntry | 10000204 |
OBSL | Sottolivello del magazzino | AbsEntry | 10000205 |
OBIN | Posizione del cestino | AbsEntry | 10000206 |
ODNF | Codice DNF | AbsEntry | 140000041 |
OUGR | Gruppo di autorizzazione | GruppoId | 231000000 |
OEGP | Gruppo e-mail | EmlGrpCode | 234000004 |
OGPC | Codice di pagamento governativo | AbsId | 243000001 |
OIQI | Inventario Saldo iniziale | DocEntry | 310000001 |
OBTW | Attributi del lotto nella posizione | AbsEntry | 310000008 |
OLLF | Formato dell’elenco legale | AbsEntry | 410000005 |
OHET | Oggetto: Trasferimento dipendenti HR | TransferID | 480000001 |
OTCX | Determinazione del codice fiscale | DocEntry | 540000005 |
OPQT | Preventivo di acquisto | DocEntry | 540000006 |
ORCP | Modello di transazione ricorrente | AbsEntry | 540000040 |
OCCT | Tipo di centro di costo | Codice Cct | 540000042 |
OACR | Tipo di rateo | Codice | 540000048 |
ONFM | Nota Modello fiscale | AbsEntry | 540000056 |
OBFI | Brasile Indicizzatore di carburante | ID | 540000067 |
OBBI | Indicizzatore di bevande per il Brasile | ID | 540000068 |
OCPT | Tavolo principale del pozzetto | AbsEntry | 1210000000 |
OWTQ | Richiesta di trasferimento dell’inventario | DocEntry | 1250000001 |
OOAT | Accordo globale | AbsID | 1250000025 |
OKPI | Pacchetto di indicatori di prestazione chiave | AbsEntry | 1320000000 |
OTGG | Gruppo target | Codice di destinazione | 1320000002 |
OCPN | Campagna | CpnNo | 1320000012 |
OROC | Codici di funzionamento Retorno | AbsEntry | 1320000028 |
OPSC | Codice sorgente del prodotto | Codice | 1320000039 |
ODTP | Tipi di ammortamento delle immobilizzazioni | Codice | 1470000000 |
OADT | Determinazione del conto delle immobilizzazioni | Codice | 1470000002 |
ODPA | Aree di ammortamento delle immobilizzazioni | Codice | 1470000003 |
ODPP | Tipo di ammortamento Pool | Codice | 1470000004 |
OACS | Classi di attività | Codice | 1470000032 |
OAGS | Gruppi di attività | Codice | 1470000046 |
ODMC | Criteri di determinazione del conto G/L – Inventario | DmcId | 1470000048 |
OACQ | Capitalizzazione | DocEntry | 1470000049 |
OGAR | Regole avanzate del conto G/L | AbsEntry | 1470000057 |
OACD | Memo di credito | DocEntry | 1470000060 |
OBCD | Dati anagrafici dei codici a barre | BcdEntry | 1470000062 |
OINC | Conteggio dell’inventario | DocEntry | 1470000065 |
OEDG | Sconto Gruppi | AbsEntry | 1470000077 |
OCCS | Determinazione del conteggio dei cicli | Codice Whs | 1470000092 |
OPRQ | Richiesta di acquisto | DocEntry | 1470000113 |
GUFI | Flusso di lavoro – Dettagli attività | TaskID | 1620000000 |
Scrivi un commento
Devi accedere, per commentare.