API SegmentHandler : incluse dans le périmètre
Include de script fournissant une API chaînée pour générer une charge utile IDoc pour une opération spécifique.
Cet include de script nécessite l’application Connecteur zéro copie pour ERP (com.sn_erp_integration) store et est fourni dans l’espace de noms sn_erp_integration. Pour plus d'informations, référez-vous à Zero Copy Connector for ERP.
Rôle requis : sn_erp_integration.erp_user
- Possède l’objet de données racine et le schéma de segment IDoc.
- Permet de créer des segments de niveau supérieur. Par exemple,
E1EDK01,E1EDP01, etc.
Voir aussi API sn_erp_integration : incluse dans le périmètre, globale.
SegmentHandler : SegmentHandler(String operationId)
Instancier un nouvel objet SegmentHandler lié à une opération IDoc.
| Nom | Type | Description |
|---|---|---|
| ID de l’opération | Chaîne | La sys_id d’une opération de modèle ERP configurée. Table : opération de modèle ERP [sn_erp_integration_model_operation] |
L’exemple suivant montre comment créer un en-tête et un élément avec des segments imbriqués dans une chaîne fluente. La structure dépend du schéma configuré. Le modèle de schéma est constitué de tableaux de segments avec des tableaux imbriqués.
let obj = new sn_erp_integration.SegmentHandler('460d3ff2ff5de210d3a2fffffffffff8');
obj.addSegment("E1EDK01")
.addField("BELNR", "1000")
.addField("CURCY", "USD")
.endSegment()
.addSegment("E1EDP01")
.addField("MENGE", "50")
.addField("POSEX", "0010")
.addSegment("E1EDP20")
.addField("AMENG", "10")
.addField("WMENG", "5")
.addSegment("E1EDP19")
.addField("IDTNR", "MAT01")
.endSegment()
.endSegment()
.endSegment();
gs.info(JSON.stringify(obj.getData(), null, 2));
Sortie :
{
"data": {
"E1EDK01": [{
"BELNR": "1000",
"CURCY": "USD"
}],
"E1EDP01": [{
"MENGE": "50",
"POSEX": "0010",
"E1EDP20": [{
"AMENG": "10",
"WMENG": "5",
"E1EDP19": [{
"IDTNR": "MAT01"
}]
}]
}]
}
}
SegmentHandler : addSegment(String segmentName, Valeurs d’objet)
Ajoute un segment de niveau supérieur prédéfini de type segmentName à la charge utile.
| Nom | Type | Description |
|---|---|---|
| Nom du segment | Chaîne | Nom du segment de niveau supérieur. |
| valeurs | Objet | Implémentation facultative à la place de la méthode addField( ). |
| Type | Description |
|---|---|
| Objet | SegmentHandle pour la nouvelle instance de segment. |
L’exemple suivant montre comment créer un en-tête et un élément avec des segments imbriqués dans une chaîne fluente. La structure dépend du schéma configuré. Le modèle de schéma est constitué de tableaux de segments avec des tableaux imbriqués.
let obj = new sn_erp_integration.SegmentHandler('460d3ff2ff5de210d3a2fffffffffff8');
obj.addSegment("E1EDK01")
.addField("BELNR", "1000")
.addField("CURCY", "USD")
.endSegment()
.addSegment("E1EDP01")
.addField("MENGE", "50")
.addField("POSEX", "0010")
.addSegment("E1EDP20")
.addField("AMENG", "10")
.addField("WMENG", "5")
.addSegment("E1EDP19")
.addField("IDTNR", "MAT01")
.endSegment()
.endSegment()
.endSegment();
gs.info(JSON.stringify(obj.getData(), null, 2));
Sortie :
{
"data": {
"E1EDK01": [{
"BELNR": "1000",
"CURCY": "USD"
}],
"E1EDP01": [{
"MENGE": "50",
"POSEX": "0010",
"E1EDP20": [{
"AMENG": "10",
"WMENG": "5",
"E1EDP19": [{
"IDTNR": "MAT01"
}]
}]
}]
}
}
SegmentHandler : getData()
Obtient la charge utile du segment créé.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Objet | Objet contenant des données de segment. |
| données | Couche de l’objet de charge utile contenant tous les segments de niveau supérieur et imbriqués.
La structure exacte dépend du schéma configuré, mais le modèle (tableaux de segments avec des tableaux imbriqués) est le même. Type de données : objet |
L’exemple suivant montre comment créer un en-tête et un élément avec des segments imbriqués dans une chaîne fluente. La structure dépend du schéma configuré. Le modèle de schéma est constitué de tableaux de segments avec des tableaux imbriqués.
let obj = new sn_erp_integration.SegmentHandler('460d3ff2ff5de210d3a2fffffffffff8');
obj.addSegment("E1EDK01")
.addField("BELNR", "1000")
.addField("CURCY", "USD")
.endSegment()
.addSegment("E1EDP01")
.addField("MENGE", "50")
.addField("POSEX", "0010")
.addSegment("E1EDP20")
.addField("AMENG", "10")
.addField("WMENG", "5")
.addSegment("E1EDP19")
.addField("IDTNR", "MAT01")
.endSegment()
.endSegment()
.endSegment();
gs.info(JSON.stringify(obj.getData(), null, 2));
Sortie :
{
"data": {
"E1EDK01": [{
"BELNR": "1000",
"CURCY": "USD"
}],
"E1EDP01": [{
"MENGE": "50",
"POSEX": "0010",
"E1EDP20": [{
"AMENG": "10",
"WMENG": "5",
"E1EDP19": [{
"IDTNR": "MAT01"
}]
}]
}]
}
}