Forum Discussion
Hi @bojanvelevski ,
Just to clarify here are input & output messages:
input:
[
{
"Header": {
"InvoiceNumber": "PRP100418",
"InvoiceDate": "29/04/2022",
"PaymentTermsDescription": "Net 7 days",
"CustomerRef": "C1381"
},
"InvoiceLines": [
{
"LineNumber": "1",
"LineExtAmtExclTax": "7000",
"Employee": "Marlon Mangila",
"LineTax": "700"
},
{
"LineNumber": "2",
"LineExtAmtExclTax": "800",
"Employee": "Elin Joe",
"LineTax": "150"
}
]
}
]
output:
{
"Invoice": {
"InvoiceNumber": {
"@attributeName": "PRP100418",
"$": "C1381"
},
"InvoiceLines": [
{
"LineNumber": {
"@LineExtAmtExclTax": "7000",
"$": "1"
},
"value": "Marlon Mangila"
},
{
"LineNumber": {
"@LineExtAmtExclTax": "8000",
"$": "2"
},
"value": "Elin Joe"
}
]
}
}
Looking forward to your suggestion.
Regards,
Deepak.
Done, check the pipeline and let me know if this works for you. Can be made with multiple mappers or a JSON Schema as well, but this is simpler in terms of snaps usage.
@manojchit When you're working with data integration involving PostgreSQL tables, it's often crucial to load only the necessary columns to optimise performance and maintain data integrity. The BulkLoad snap in SnapLogic provides a convenient way to accomplish this task, offering a 'columns' property that allows you to specify exactly which columns you want to load from your data source into the PostgreSQL table.
By utilising the 'columns' property, you gain control over the data that gets inserted into your PostgreSQL table, enabling you to exclude any columns that are not relevant to your current operation. This selective loading helps streamline your data pipelines and ensures that only the required information is transferred, reducing unnecessary overhead and potential errors.
Refer snap doc link to understand more about columns property: https://docs-snaplogic.atlassian.net/wiki/spaces/SD/pages/853049364/PostgreSQL+-+Bulk+Load
Related Content
- 3 months ago