إلحاق السطر الجديد لمخطط ملف ثابت في BizTalk 2006 R2
-
03-07-2019 - |
سؤال
ولدي مخطط ملف ثابت التي تحتوي على رأس والتفاصيل السجلات. يبدو شيئا من هذا القبيل:
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
وأحتاج لإلحاق سطرين فارغة في نهاية الرسالة. الآن، إذا كان لدي سجلات متعددة أحصل على الإخراج التالية:
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
وماذا أريد أن يحدث شيء من هذا القبيل:
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
وأنا يمكن بناء مكون أنابيب مخصصة للقيام بذلك، ولكن أنا أتساءل إذا كان هناك طريقة أسهل للحصول على ما أحتاج إليه؟
المحلول
ويجب أن تكون قادرة على تحقيق ما تريد باستخدام خصائص محدد من مخطط ملف ثابت.
وبناء على ملف المثال الخاص بك أنا خلقت مخطط للهيكل السجل التالي:
<Schema> <Root> <HDRGroup> <HDR> <LIN>
إذا نقرت على عقدة الجذر من المخطط الخاص بك يجب ان ترى قائمة من الخصائص لهذه العقدة الجذر. مقطع واحد خصائص لديه رأس "شقة الملف '. في هذا القسم ملف ثابت الخصائص الثلاثة الأولى يمكنك ان تحدد هي محدد الطفل، الطفل محدد نوع وترتيب الطفل.
وهذا هو المكان الذي تكوين مخطط لإنشاء الأسطر الفارغة (في هذه الحالة CR LF ولكن يمكنك وضع الأمور في نصابها مختلفة ما تحتاج إليه) على سبيل المثال الخاص بك أنا وضعت ما يلي:
Child Delimiter: 0x0D 0x0A 0x0D 0x0A Child Delimiter Type: Hexadecimal Child Order: Infix
و0x0D 0x0A هو سطر تغذية الإرجاع، لذلك ما ورد أعلاه ببساطة يخلق سطرين فارغة، infixed بين كل طفل من عقدة الجذر.
و
Child Delimiter: 0x0D 0x0A Child Delimiter Type: Hexadecimal Child Order: Postfix
و
وهذا مخطط يعمل لشيء يبدو لي مثل ما كنت قد طلبت - هذا النوع من مخطط flatfile وكيف يوزع ملف يعتمد إلى حد كبير من التفاصيل الصغيرة، ومع ذلك، مثل ما هو نوع من فواصل الأسطر هناك و إذا كان هناك فواصل خط في نهاية الملف.
ووprincples من استخدام المحددات ستقف، هل من المحتمل العثور على ما تحتاجه للعب مع الإعدادات.
نصائح أخرى
لأي شخص يهتم، ورضخت في النهاية وكتب مكون أنابيب مخصصة لتحقيق ذلك.